roku-debug 0.9.2 → 0.10.0

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.
Files changed (65) hide show
  1. package/CHANGELOG.md +50 -52
  2. package/LICENSE +21 -0
  3. package/README.md +6 -6
  4. package/dist/adapters/DebugProtocolAdapter.d.ts +18 -8
  5. package/dist/adapters/DebugProtocolAdapter.js +137 -94
  6. package/dist/adapters/DebugProtocolAdapter.js.map +1 -1
  7. package/dist/adapters/TelnetAdapter.d.ts +6 -1
  8. package/dist/adapters/TelnetAdapter.js +8 -1
  9. package/dist/adapters/TelnetAdapter.js.map +1 -1
  10. package/dist/debugProtocol/Constants.d.ts +57 -52
  11. package/dist/debugProtocol/Constants.js +74 -50
  12. package/dist/debugProtocol/Constants.js.map +1 -1
  13. package/dist/debugProtocol/Debugger.d.ts +11 -7
  14. package/dist/debugProtocol/Debugger.js +154 -114
  15. package/dist/debugProtocol/Debugger.js.map +1 -1
  16. package/dist/debugProtocol/responses/ConnectIOPortResponse.d.ts +2 -2
  17. package/dist/debugProtocol/responses/ConnectIOPortResponse.js +5 -3
  18. package/dist/debugProtocol/responses/ConnectIOPortResponse.js.map +1 -1
  19. package/dist/debugProtocol/responses/ExecuteResponseV3.d.ts +23 -0
  20. package/dist/debugProtocol/responses/ExecuteResponseV3.js +54 -0
  21. package/dist/debugProtocol/responses/ExecuteResponseV3.js.map +1 -0
  22. package/dist/debugProtocol/responses/HandshakeResponse.d.ts +2 -0
  23. package/dist/debugProtocol/responses/HandshakeResponse.js +8 -0
  24. package/dist/debugProtocol/responses/HandshakeResponse.js.map +1 -1
  25. package/dist/debugProtocol/responses/HandshakeResponseV3.d.ts +14 -0
  26. package/dist/debugProtocol/responses/HandshakeResponseV3.js +47 -0
  27. package/dist/debugProtocol/responses/HandshakeResponseV3.js.map +1 -0
  28. package/dist/debugProtocol/responses/{Response.d.ts → ProtocolEvent.d.ts} +4 -2
  29. package/dist/debugProtocol/responses/{Response.js → ProtocolEvent.js} +13 -7
  30. package/dist/debugProtocol/responses/ProtocolEvent.js.map +1 -0
  31. package/dist/debugProtocol/responses/ProtocolEventV3.d.ts +11 -0
  32. package/dist/debugProtocol/responses/ProtocolEventV3.js +42 -0
  33. package/dist/debugProtocol/responses/ProtocolEventV3.js.map +1 -0
  34. package/dist/debugProtocol/responses/StackTraceResponse.d.ts +1 -1
  35. package/dist/debugProtocol/responses/StackTraceResponse.js +2 -2
  36. package/dist/debugProtocol/responses/StackTraceResponse.js.map +1 -1
  37. package/dist/debugProtocol/responses/StackTraceResponseV3.d.ts +18 -0
  38. package/dist/debugProtocol/responses/StackTraceResponseV3.js +58 -0
  39. package/dist/debugProtocol/responses/StackTraceResponseV3.js.map +1 -0
  40. package/dist/debugProtocol/responses/ThreadsResponse.d.ts +1 -1
  41. package/dist/debugProtocol/responses/ThreadsResponse.js +2 -1
  42. package/dist/debugProtocol/responses/ThreadsResponse.js.map +1 -1
  43. package/dist/debugProtocol/responses/UndefinedResponse.d.ts +2 -2
  44. package/dist/debugProtocol/responses/UndefinedResponse.js +5 -3
  45. package/dist/debugProtocol/responses/UndefinedResponse.js.map +1 -1
  46. package/dist/debugProtocol/responses/UpdateThreadsResponse.d.ts +2 -2
  47. package/dist/debugProtocol/responses/UpdateThreadsResponse.js +26 -6
  48. package/dist/debugProtocol/responses/UpdateThreadsResponse.js.map +1 -1
  49. package/dist/debugProtocol/responses/VariableResponse.d.ts +1 -1
  50. package/dist/debugProtocol/responses/VariableResponse.js +16 -8
  51. package/dist/debugProtocol/responses/VariableResponse.js.map +1 -1
  52. package/dist/debugProtocol/responses/index.d.ts +4 -1
  53. package/dist/debugProtocol/responses/index.js +4 -1
  54. package/dist/debugProtocol/responses/index.js.map +1 -1
  55. package/dist/debugSession/BrightScriptDebugSession.d.ts +8 -2
  56. package/dist/debugSession/BrightScriptDebugSession.js +87 -62
  57. package/dist/debugSession/BrightScriptDebugSession.js.map +1 -1
  58. package/dist/interfaces.d.ts +4 -0
  59. package/dist/util.d.ts +10 -7
  60. package/dist/util.js +71 -0
  61. package/dist/util.js.map +1 -1
  62. package/package.json +5 -4
  63. package/roku-debug-0.10.0.tgz +0 -0
  64. package/dist/debugProtocol/responses/Response.js.map +0 -1
  65. package/roku-debug-0.9.2.tgz +0 -0
@@ -7,8 +7,10 @@ const net_1 = require("net");
7
7
  const CompileErrorProcessor_1 = require("../CompileErrorProcessor");
8
8
  const RendezvousTracker_1 = require("../RendezvousTracker");
9
9
  const ChanperfTracker_1 = require("../ChanperfTracker");
10
+ const Constants_1 = require("../debugProtocol/Constants");
10
11
  const util_1 = require("../util");
11
12
  const logging_1 = require("../logging");
13
+ const semver = require("semver");
12
14
  /**
13
15
  * A class that connects to a Roku device over telnet debugger port and provides a standardized way of interacting with it.
14
16
  */
@@ -17,6 +19,11 @@ class DebugProtocolAdapter {
17
19
  this.host = host;
18
20
  this.stopOnEntry = stopOnEntry;
19
21
  this.logger = logging_1.logger.createLogger(`[${DebugProtocolAdapter.name}]`);
22
+ /**
23
+ * 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.
24
+ * If that fails we retry in lower case. This flag is used to drive that logic switching
25
+ */
26
+ this.enableVariablesLowerCaseRetry = true;
20
27
  this.nextFrameId = 1;
21
28
  this.stackFramesCache = {};
22
29
  this.cache = {};
@@ -43,6 +50,13 @@ class DebugProtocolAdapter {
43
50
  this.emit('rendezvous', output);
44
51
  });
45
52
  }
53
+ /**
54
+ * Get the version of the protocol for the Roku device we're currently connected to.
55
+ */
56
+ get activeProtocolVersion() {
57
+ var _a;
58
+ return (_a = this.socketDebugger) === null || _a === void 0 ? void 0 : _a.protocolVersion;
59
+ }
46
60
  on(eventName, handler) {
47
61
  this.emitter.on(eventName, handler);
48
62
  return () => {
@@ -124,7 +138,7 @@ class DebugProtocolAdapter {
124
138
  // Emit IO from the debugger.
125
139
  // eslint-disable-next-line @typescript-eslint/no-misused-promises
126
140
  this.socketDebugger.on('io-output', async (responseText) => {
127
- if (responseText) {
141
+ if (typeof responseText === 'string') {
128
142
  responseText = this.chanperfTracker.processLog(responseText);
129
143
  responseText = await this.rendezvousTracker.processLog(responseText);
130
144
  this.emit('unhandled-console-output', responseText);
@@ -133,17 +147,24 @@ class DebugProtocolAdapter {
133
147
  });
134
148
  // Emit IO from the debugger.
135
149
  this.socketDebugger.on('protocol-version', (data) => {
136
- if (data.errorCode === 1 /* SUPPORTED */) {
150
+ if (data.errorCode === Constants_1.PROTOCOL_ERROR_CODES.SUPPORTED) {
137
151
  this.emit('console-output', data.message);
138
152
  }
139
- else if (data.errorCode === 0 /* NOT_TESTED */) {
153
+ else if (data.errorCode === Constants_1.PROTOCOL_ERROR_CODES.NOT_TESTED) {
140
154
  this.emit('unhandled-console-output', data.message);
141
155
  this.emit('console-output', data.message);
142
156
  }
143
- else if (data.errorCode === 2 /* NOT_SUPPORTED */) {
157
+ else if (data.errorCode === Constants_1.PROTOCOL_ERROR_CODES.NOT_SUPPORTED) {
144
158
  this.emit('unhandled-console-output', data.message);
145
159
  this.emit('console-output', data.message);
146
160
  }
161
+ // TODO: Update once we know the exact version of the debug protocol this issue was fixed in.
162
+ // Due to casing issues with variables on protocol version <FUTURE_VERSION> and under we first need to try the request in the supplied case.
163
+ // If that fails we retry in lower case.
164
+ this.enableVariablesLowerCaseRetry = semver.satisfies(this.activeProtocolVersion, '*');
165
+ // While execute was added as a command in 2.1.0. It has shortcoming that prevented us for leveraging the command.
166
+ // This was mostly addressed in the 3.0.0 release to the point where we were comfortable adding support for the command.
167
+ this.supportsExecuteCommand = semver.satisfies(this.activeProtocolVersion, '>=3.0.0');
147
168
  });
148
169
  // Listen for the close event
149
170
  this.socketDebugger.on('close', () => {
@@ -164,6 +185,7 @@ class DebugProtocolAdapter {
164
185
  this.emit('app-exit');
165
186
  });
166
187
  this.socketDebugger.on('suspend', (data) => {
188
+ this.clearCache();
167
189
  this.emit('suspend', data);
168
190
  });
169
191
  this.socketDebugger.on('runtime-error', (data) => {
@@ -278,13 +300,40 @@ class DebugProtocolAdapter {
278
300
  /**
279
301
  * Execute a command directly on the roku. Returns the output of the command
280
302
  * @param command
303
+ * @returns the output of the command (if possible)
281
304
  */
282
305
  async evaluate(command, frameId = this.socketDebugger.primaryThread) {
283
- if (!this.isAtDebuggerPrompt) {
284
- throw new Error('Cannot run evaluate: debugger is not paused');
306
+ var _a, _b, _c;
307
+ if (this.supportsExecuteCommand) {
308
+ if (!this.isAtDebuggerPrompt) {
309
+ throw new Error('Cannot run evaluate: debugger is not paused');
310
+ }
311
+ let stackFrame = this.getStackFrameById(frameId);
312
+ if (!stackFrame) {
313
+ throw new Error('Cannot execute command without a corresponding frame');
314
+ }
315
+ this.logger.log('evaluate ', { command, frameId });
316
+ const response = await this.socketDebugger.executeCommand(command, stackFrame.frameIndex, stackFrame.threadIndex);
317
+ this.logger.info('evaluate response', { command, response });
318
+ if (response.executeSuccess) {
319
+ return {
320
+ message: undefined,
321
+ type: 'message'
322
+ };
323
+ }
324
+ else {
325
+ return {
326
+ message: (_c = (_b = (_a = response.compileErrors.messages[0]) !== null && _a !== void 0 ? _a : response.runtimeErrors.messages[0]) !== null && _b !== void 0 ? _b : response.otherErrors.messages[0]) !== null && _c !== void 0 ? _c : 'Unknown error executing command',
327
+ type: 'error'
328
+ };
329
+ }
330
+ }
331
+ else {
332
+ return {
333
+ message: `Execute commands are not supported on debug protocol: ${this.activeProtocolVersion}, v3.0.0 or greater is required.`,
334
+ type: 'error'
335
+ };
285
336
  }
286
- // Pipe all evaluate requests though as a variable request as evaluate is not available at the moment.
287
- return this.getVariable(command, frameId);
288
337
  }
289
338
  async getStackTrace(threadId = this.socketDebugger.primaryThread) {
290
339
  if (!this.isAtDebuggerPrompt) {
@@ -296,7 +345,7 @@ class DebugProtocolAdapter {
296
345
  let stackTraceData = await this.socketDebugger.stackTrace(threadId);
297
346
  for (let i = 0; i < stackTraceData.stackSize; i++) {
298
347
  let frameData = stackTraceData.entries[i];
299
- let frame = {
348
+ let stackFrame = {
300
349
  frameId: this.nextFrameId++,
301
350
  frameIndex: stackTraceData.stackSize - i - 1,
302
351
  threadIndex: threadId,
@@ -306,13 +355,13 @@ class DebugProtocolAdapter {
306
355
  // eslint-disable-next-line no-nested-ternary
307
356
  functionIdentifier: this.cleanUpFunctionName(i === 0 ? (frameData.functionName) ? frameData.functionName : thread.functionName : frameData.functionName)
308
357
  };
309
- this.stackFramesCache[frame.frameId] = frame;
310
- frames.push(frame);
358
+ this.stackFramesCache[stackFrame.frameId] = stackFrame;
359
+ frames.push(stackFrame);
311
360
  }
312
361
  return frames;
313
362
  });
314
363
  }
315
- getStackTraceById(frameId) {
364
+ getStackFrameById(frameId) {
316
365
  return this.stackFramesCache[frameId];
317
366
  }
318
367
  cleanUpFunctionName(functionName) {
@@ -328,99 +377,92 @@ class DebugProtocolAdapter {
328
377
  if (!this.isAtDebuggerPrompt) {
329
378
  throw new Error('Cannot resolve variable: debugger is not paused');
330
379
  }
331
- let frame = this.getStackTraceById(frameId);
380
+ let frame = this.getStackFrameById(frameId);
332
381
  if (!frame) {
333
382
  throw new Error('Cannot request variable without a corresponding frame');
334
383
  }
335
- return this.resolve(`variable: ${expression} ${frame.frameIndex} ${frame.threadIndex} `, async () => {
336
- let variablePath = this.getVariablePath(expression);
337
- let response = await this.socketDebugger.getVariables(variablePath, withChildren, frame.frameIndex, frame.threadIndex);
338
- if (response.errorCode === 'OK') {
339
- let mainContainer;
340
- let children = [];
341
- let firstHandled = false;
342
- for (let variable of response.variables) {
343
- let value;
344
- let variableType = variable.variableType;
345
- if (variable.value === null) {
346
- value = 'roInvalid';
384
+ logger.log(`Expression:`, expression);
385
+ let variablePath = expression === '' ? [] : util_1.util.getVariablePath(expression);
386
+ // Temporary workaround related to casing issues over the protocol
387
+ if (this.enableVariablesLowerCaseRetry && (variablePath === null || variablePath === void 0 ? void 0 : variablePath.length) > 0) {
388
+ variablePath[0] = variablePath[0].toLowerCase();
389
+ }
390
+ let response = await this.socketDebugger.getVariables(variablePath, withChildren, frame.frameIndex, frame.threadIndex);
391
+ if (this.enableVariablesLowerCaseRetry && response.errorCode !== Constants_1.ERROR_CODES.OK) {
392
+ // Temporary workaround related to casing issues over the protocol
393
+ logger.log(`Retrying expression as lower case:`, expression);
394
+ variablePath = expression === '' ? [] : util_1.util.getVariablePath(expression === null || expression === void 0 ? void 0 : expression.toLowerCase());
395
+ response = await this.socketDebugger.getVariables(variablePath, withChildren, frame.frameIndex, frame.threadIndex);
396
+ }
397
+ if (response.errorCode === Constants_1.ERROR_CODES.OK) {
398
+ let mainContainer;
399
+ let children = [];
400
+ let firstHandled = false;
401
+ for (let variable of response.variables) {
402
+ let value;
403
+ let variableType = variable.variableType;
404
+ if (variable.value === null) {
405
+ value = 'roInvalid';
406
+ }
407
+ else if (variableType === 'String') {
408
+ value = `\"${variable.value}\"`;
409
+ }
410
+ else {
411
+ value = variable.value;
412
+ }
413
+ if (variableType === 'Subtyped_Object') {
414
+ let parts = variable.value.split('; ');
415
+ variableType = `${parts[0]} (${parts[1]})`;
416
+ }
417
+ else if (variableType === 'AA') {
418
+ variableType = 'AssociativeArray';
419
+ }
420
+ let container = {
421
+ name: expression,
422
+ evaluateName: expression,
423
+ variablePath: variablePath,
424
+ type: variableType,
425
+ value: value,
426
+ keyType: variable.keyType,
427
+ elementCount: variable.elementCount
428
+ };
429
+ if (!firstHandled && variablePath.length > 0) {
430
+ firstHandled = true;
431
+ mainContainer = container;
432
+ }
433
+ else {
434
+ if (!firstHandled && variablePath.length === 0) {
435
+ // If this is a scope request there will be no entries in the variable path
436
+ // We will need to create a fake mainContainer
437
+ firstHandled = true;
438
+ mainContainer = {
439
+ name: expression,
440
+ evaluateName: expression,
441
+ variablePath: variablePath,
442
+ type: '',
443
+ value: null,
444
+ keyType: 'String',
445
+ elementCount: response.numVariables
446
+ };
347
447
  }
348
- else if (variableType === 'String') {
349
- value = `\"${variable.value}\"`;
448
+ let pathAddition = mainContainer.keyType === 'Integer' ? children.length : variable.name;
449
+ container.name = pathAddition.toString();
450
+ if (mainContainer.evaluateName) {
451
+ container.evaluateName = `${mainContainer.evaluateName}["${pathAddition}"]`;
350
452
  }
351
453
  else {
352
- value = variable.value;
454
+ container.evaluateName = pathAddition.toString();
353
455
  }
354
- if (variableType === 'Subtyped_Object') {
355
- let parts = variable.value.split('; ');
356
- variableType = `${parts[0]} (${parts[1]})`;
357
- }
358
- else if (variableType === 'AA') {
359
- variableType = 'AssociativeArray';
360
- }
361
- let container = {
362
- name: expression,
363
- evaluateName: expression,
364
- variablePath: variablePath,
365
- type: variableType,
366
- value: value,
367
- keyType: variable.keyType,
368
- elementCount: variable.elementCount
369
- };
370
- if (!firstHandled && variablePath.length > 0) {
371
- firstHandled = true;
372
- mainContainer = container;
373
- }
374
- else {
375
- if (!firstHandled && variablePath.length === 0) {
376
- // If this is a scope request there will be no entries in the variable path
377
- // We will need to create a fake mainContainer
378
- firstHandled = true;
379
- mainContainer = {
380
- name: expression,
381
- evaluateName: expression,
382
- variablePath: variablePath,
383
- type: '',
384
- value: null,
385
- keyType: 'String',
386
- elementCount: response.numVariables
387
- };
388
- }
389
- let pathAddition = mainContainer.keyType === 'Integer' ? children.length : variable.name;
390
- container.name = pathAddition.toString();
391
- if (mainContainer.evaluateName) {
392
- container.evaluateName = `${mainContainer.evaluateName}.${pathAddition}`;
393
- }
394
- else {
395
- container.evaluateName = pathAddition.toString();
396
- }
397
- container.variablePath = [].concat(container.variablePath, [pathAddition.toString()]);
398
- if (container.keyType) {
399
- container.children = [];
400
- }
401
- children.push(container);
456
+ container.variablePath = [].concat(container.variablePath, [pathAddition.toString()]);
457
+ if (container.keyType) {
458
+ container.children = [];
402
459
  }
460
+ children.push(container);
403
461
  }
404
- mainContainer.children = children;
405
- return mainContainer;
406
462
  }
407
- });
408
- }
409
- getVariablePath(expression) {
410
- var _a, _b, _c;
411
- // Regex 101 link for match examples: https://regex101.com/r/KNKfHP/8
412
- let regexp = /(?:\[\"(.*?)\"\]|([a-z_][a-z0-9_\$%!#]*)|\[([0-9]*)\]|\.([0-9]+))/gi;
413
- let match;
414
- let variablePath = [];
415
- // eslint-disable-next-line no-cond-assign
416
- while (match = regexp.exec(expression)) {
417
- // match 1: strings between quotes - this["that"]
418
- // match 2: any valid brightscript viable format
419
- // match 3: array/list access via index - this[0]
420
- // match 3: array/list access via dot notation (not valid in code but returned as part of the VS Code flow) - this.0
421
- variablePath.push((_c = (_b = (_a = match[1]) !== null && _a !== void 0 ? _a : match[2]) !== null && _b !== void 0 ? _b : match[3]) !== null && _c !== void 0 ? _c : match[4]);
463
+ mainContainer.children = children;
464
+ return mainContainer;
422
465
  }
423
- return variablePath;
424
466
  }
425
467
  /**
426
468
  * Cache items by a unique key
@@ -429,6 +471,7 @@ class DebugProtocolAdapter {
429
471
  */
430
472
  resolve(key, factory) {
431
473
  if (this.cache[key]) {
474
+ this.logger.log('return cashed response', key, this.cache[key]);
432
475
  return this.cache[key];
433
476
  }
434
477
  this.cache[key] = Promise.resolve(factory());
@@ -1 +1 @@
1
- {"version":3,"file":"DebugProtocolAdapter.js","sourceRoot":"","sources":["../../src/adapters/DebugProtocolAdapter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DebugProtocolAdapter.js","sourceRoot":"","sources":["../../src/adapters/DebugProtocolAdapter.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  import type { RendezvousHistory } from '../RendezvousTracker';
2
2
  import type { ChanperfData } from '../ChanperfTracker';
3
3
  import type { SourceLocation } from '../managers/LocationManager';
4
+ import type { RokuAdapterEvaluateResponse } from '../interfaces';
4
5
  import { HighLevelType } from '../interfaces';
5
6
  import { TelnetRequestPipeline } from './TelnetRequestPipeline';
6
7
  /**
@@ -23,6 +24,10 @@ export declare class TelnetAdapter {
23
24
  private rendezvousTracker;
24
25
  private cache;
25
26
  readonly supportsMultipleRuns = true;
27
+ /**
28
+ * Does this adapter support the `execute` command (known as `eval` in telnet)
29
+ */
30
+ supportsExecute: boolean;
26
31
  /**
27
32
  * Subscribe to various events
28
33
  * @param eventName
@@ -106,7 +111,7 @@ export declare class TelnetAdapter {
106
111
  * Execute a command directly on the roku. Returns the output of the command.
107
112
  * @param command the command to execute. If the command does not start with `print` the command will be prefixed with `print ` because
108
113
  */
109
- evaluate(command: string): Promise<string>;
114
+ evaluate(command: string): Promise<RokuAdapterEvaluateResponse>;
110
115
  getStackTrace(): Promise<StackFrame[]>;
111
116
  /**
112
117
  * Runs a regex to check if the target is an object and get the type if it is
@@ -24,6 +24,10 @@ class TelnetAdapter {
24
24
  this.isNextBreakpointSkipped = false;
25
25
  this.cache = {};
26
26
  this.supportsMultipleRuns = true;
27
+ /**
28
+ * Does this adapter support the `execute` command (known as `eval` in telnet)
29
+ */
30
+ this.supportsExecute = true;
27
31
  /**
28
32
  * The debugger needs to tell us when to be active (i.e. when the package was deployed)
29
33
  */
@@ -364,7 +368,10 @@ class TelnetAdapter {
364
368
  let responseText = await this.requestPipeline.executeCommand(command, { waitForPrompt: true });
365
369
  //we know that if we got a response, we are back at a debugger prompt
366
370
  this.isAtDebuggerPrompt = true;
367
- return responseText;
371
+ return {
372
+ message: responseText,
373
+ type: 'message'
374
+ };
368
375
  }
369
376
  async getStackTrace() {
370
377
  this.logger.log(TelnetAdapter.prototype.getStackTrace.name);
@@ -1 +1 @@
1
- {"version":3,"file":"TelnetAdapter.js","sourceRoot":"","sources":["../../src/adapters/TelnetAdapter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"TelnetAdapter.js","sourceRoot":"","sources":["../../src/adapters/TelnetAdapter.ts"],"names":[],"mappings":";;;AAAA,qDAA0C;AAC1C,8CAA8C;AAC9C,6BAA6B;AAC7B,0CAA0C;AAC1C,gEAA6D;AAC7D,oEAAiE;AAEjE,4DAAyD;AAEzD,wDAAqD;AAErD,kCAAsC;AACtC,wCAAoC;AAEpC,8CAA8C;AAC9C,mEAAgE;AAEhE;;GAEG;AACH,MAAa,aAAa;IACtB,YACY,IAAY,EACZ,6BAAsC,KAAK;QAD3C,SAAI,GAAJ,IAAI,CAAQ;QACZ,+BAA0B,GAA1B,0BAA0B,CAAiB;QAqBhD,WAAM,GAAG,gBAAM,CAAC,YAAY,CAAC,IAAI,aAAa,CAAC,IAAI,GAAG,CAAC,CAAC;QAMvD,4BAAuB,GAAG,KAAK,CAAC;QAOhC,UAAK,GAAG,EAAE,CAAC;QAEH,yBAAoB,GAAG,IAAI,CAAC;QAE5C;;WAEG;QACI,oBAAe,GAAG,IAAI,CAAC;QAuD9B;;WAEG;QACI,gBAAW,GAAG,KAAK,CAAC;QAE3B;;;WAGG;QACI,iBAAY,GAAG,KAAK,CAAC;QAC5B;;;WAGG;QACI,uBAAkB,GAAG,KAAK,CAAC;QA5G9B,IAAI,CAAC,OAAO,GAAG,IAAI,YAAY,EAAE,CAAC;QAClC,IAAI,CAAC,eAAe,GAAG,iCAAiC,CAAC;QACzD,IAAI,CAAC,aAAa,GAAG,0BAA0B,CAAC;QAChD,IAAI,CAAC,eAAe,GAAG,IAAI,iCAAe,EAAE,CAAC;QAC7C,IAAI,CAAC,iBAAiB,GAAG,IAAI,qCAAiB,EAAE,CAAC;QACjD,IAAI,CAAC,qBAAqB,GAAG,IAAI,6CAAqB,EAAE,CAAC;QAGzD,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;QAEH,8BAA8B;QAC9B,IAAI,CAAC,iBAAiB,CAAC,EAAE,CAAC,YAAY,EAAE,CAAC,MAAM,EAAE,EAAE;YAC/C,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;QACpC,CAAC,CAAC,CAAC;IACP,CAAC;IAyCM,EAAE,CAAC,SAAiB,EAAE,OAA+B;QACxD,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QACpC,OAAO,GAAG,EAAE;YACR,IAAI,IAAI,CAAC,OAAO,KAAK,SAAS,EAAE;gBAC5B,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;aACnD;QACL,CAAC,CAAC;IACN,CAAC;IAEO,IAAI;IACR,8CAA8C;IAC9C,SAY8B;IAC9B,6CAA6C;IAC7C,IAAK;QAEL,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;IAkBM,KAAK,CAAC,QAAQ;QACjB,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC;QAC1C,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QACxB,MAAM,IAAI,CAAC,oBAAoB,EAAE,CAAC;IACtC,CAAC;IAEM,KAAK,CAAC,UAAU;QACnB,MAAM,IAAI,CAAC,qBAAqB,CAAC,UAAU,EAAE,CAAC;IAClD,CAAC;IAEO,KAAK,CAAC,oBAAoB;;QAC9B,IAAI,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,YAAY,EAAE;YACvC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;YACpC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAEnB,0FAA0F;YAC1F,0FAA0F;YAC1F,wCAAwC;YACxC,IAAI,IAAI,CAAC,kBAAkB,KAAK,IAAI,EAAE;gBAClC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,iDAAiD,CAAC,CAAC;gBACnE,IAAI,OAAO,GAAG,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC;gBACtC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,MAAA,OAAO,CAAC,CAAC,CAAC,0CAAE,QAAQ,CAAC,CAAC;aAC9C;SACJ;IACL,CAAC;IAED;;;;;OAKG;IACK,MAAM,CAAC,MAAc,EAAE,IAAY,EAAE,mBAAmB,GAAG,GAAG;QAClE,MAAM,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC;QAC7B,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,qCAAqC,CAAC,CAAC;QACvD,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;YAC3B,IAAI,SAAS,GAAG,CAAC,CAAC,CAAC;YAEnB,MAAM,OAAO,GAAG,GAAG,EAAE;gBACjB,SAAS,EAAE,CAAC;gBACZ,IAAI,WAAW,GAAG,SAAS,CAAC;gBAC5B,UAAU,CAAC,GAAG,EAAE;oBACZ,2FAA2F;oBAC3F,IAAI,WAAW,KAAK,SAAS,EAAE;wBAC3B,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;wBACrC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,mCAAmC,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,GAAG,SAAS,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC;wBAC9G,OAAO,CAAC,SAAS,CAAC,CAAC;qBACtB;gBACL,CAAC,EAAE,mBAAmB,CAAC,CAAC;YAC5B,CAAC,CAAC;YAEF,MAAM,CAAC,WAAW,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;YAClC,mDAAmD;YACnD,OAAO,EAAE,CAAC;QACd,CAAC,CAAC,CAAC;IACP,CAAC;IAEO,kBAAkB,CAAC,IAAY;QACnC,IAAI,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QACpC,KAAK,MAAM,IAAI,IAAI,QAAQ,EAAE;YACzB,yBAAyB;YACzB,IAAI,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;gBACjC,2BAA2B;gBAC3B,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;gBAC9B,IAAI,CAAC,uBAAuB,GAAG,KAAK,CAAC;aACxC;iBAAM,IAAI,IAAI,CAAC,iBAAiB,IAAI,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;gBAChE,2BAA2B;gBAC3B,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC;aAClC;iBAAM,IAAI,IAAI,CAAC,iBAAiB,EAAE;gBAC/B,IAAI,IAAI,CAAC,0BAA0B,IAAI,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE;oBACjE,oCAAoC;oBACpC,IAAI,CAAC,uBAAuB,GAAG,IAAI,CAAC;iBACvC;aACJ;SACJ;IACL,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,OAAO;QAChB,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,gCAAgC,CAAC,CAAC;QAClD,IAAI,QAAQ,GAAG,IAAA,YAAK,GAAE,CAAC;QACvB,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC;QAC/B,IAAI,CAAC,uBAAuB,GAAG,KAAK,CAAC;QACrC,IAAI;YACA,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC;YACxC,iJAAiJ;YACjJ,MAAM,UAAU,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC5C,IAAI,MAAM,GAAW,IAAI,YAAM,EAAE,CAAC;YAElC,4BAA4B;YAC5B,MAAM,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE;gBACtC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACvB,CAAC,CAAC,CAAC;YAEH,qDAAqD;YACrD,MAAM,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE;gBAChC,QAAQ,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,6BAA6B,IAAI,CAAC,IAAI,SAAS,GAAG,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC;YAC9F,CAAC,CAAC,CAAC;YAEH,MAAM,aAAa,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;YAClD,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,GAAG,EAAE;gBACjC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,oCAAoC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;gBACjE,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;gBACtB,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;YAC3C,CAAC,CAAC,CAAC;YAEH,MAAM,aAAa,CAAC;YAEpB,oCAAoC;YACpC,IAAI,CAAC,eAAe,GAAG,IAAI,6CAAqB,CAAC,MAAM,CAAC,CAAC;YACzD,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE,CAAC;YAE/B,gCAAgC;YAChC,IAAI,CAAC,eAAe,CAAC,EAAE,CAAC,gBAAgB,EAAE,CAAC,MAAM,EAAE,EAAE;gBACjD,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC;gBAChC,IAAI,MAAM,EAAE;oBACR,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,MAAM,CAAC,CAAC;iBACvC;YACL,CAAC,CAAC,CAAC;YAEH,+BAA+B;YAC/B,IAAI,CAAC,qBAAqB,CAAC,EAAE,CAAC,gBAAgB,EAAE,CAAC,MAAM,EAAE,EAAE;gBACvD,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,MAAM,CAAC,CAAC;YACxC,CAAC,CAAC,CAAC;YAEH,oFAAoF;YACpF,kEAAkE;YAClE,IAAI,CAAC,eAAe,CAAC,EAAE,CAAC,0BAA0B,EAAE,KAAK,EAAE,YAAoB,EAAE,EAAE;gBAC/E,yCAAyC;gBACzC,IAAI,eAAe,GAAG,IAAI,CAAC,oBAAoB,CAAC,YAAY,CAAC,CAAC;gBAE9D,YAAY,GAAG,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;gBAC7D,YAAY,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;gBACrE,sCAAsC;gBACtC,IAAI,CAAC,kBAAkB,CAAC,YAAY,CAAC,CAAC;gBACtC,IAAI,YAAY,EAAE;oBACd,IAAI,CAAC,IAAI,CAAC,0BAA0B,EAAE,YAAY,CAAC,CAAC;iBACvD;gBAED,iEAAiE;gBACjE,IAAI,eAAe,EAAE;oBACjB,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,kCAAkC,EAAE,EAAE,YAAY,EAAE,CAAC,CAAC;oBACtE,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;oBAC/B,OAAO;iBACV;gBAED,IAAI,CAAC,qBAAqB,CAAC,qBAAqB,CAAC,YAAY,CAAC,CAAC;gBAC/D,IAAI,KAAK,CAAC;gBAEV,IAAI,IAAI,CAAC,kBAAkB,CAAC,YAAY,CAAC,EAAE;oBACvC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC;oBACzC,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;oBAC/B,OAAO;iBACV;gBAED,IAAI,IAAI,CAAC,WAAW,EAAE;oBAClB,oCAAoC;oBACpC,0CAA0C;oBAC1C,IAAI,KAAK,GAAG,0BAA0B,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC,EAAE;wBAC9D,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;wBACzB,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,yBAAyB,EAAE,EAAE,YAAY,EAAE,CAAC,CAAC;wBAC7D,KAAK,IAAI,CAAC,oBAAoB,EAAE,CAAC;qBACpC;oBAED,kCAAkC;oBAClC,0CAA0C;oBAC1C,IAAI,KAAK,GAAG,sCAAsC,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC,EAAE;wBAC1E,IAAI,CAAC,YAAY,EAAE,CAAC;qBACvB;oBAED,kCAAkC;oBAClC,IAAI,WAAI,CAAC,sBAAsB,CAAC,YAAY,CAAC,EAAE;wBAC3C,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,6BAA6B,EAAE,EAAE,YAAY,EAAE,CAAC,CAAC;wBAEjE,wGAAwG;wBACxG,IAAI,IAAI,CAAC,uBAAuB,EAAE;4BAC9B,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,wCAAwC,CAAC,CAAC;4BAC1D,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC;4BAC/B,IAAI,CAAC,uBAAuB,GAAG,KAAK,CAAC;4BACrC,KAAK,IAAI,CAAC,eAAe,CAAC,cAAc,CAAC,GAAG,EAAE,EAAE,aAAa,EAAE,KAAK,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;yBAChG;6BAAM;4BACH,IAAI,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,kBAAkB,KAAK,KAAK,EAAE;gCACvD,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;gCAC/B,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,2CAA2C,CAAC,CAAC;gCAC7D,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;6BACxB;iCAAM;gCACH,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,2DAA2D,CAAC,CAAC;gCAC7E,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;6BAClC;yBACJ;qBACJ;yBAAM;wBACH,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,4EAA4E,EAAE,EAAE,YAAY,EAAE,CAAC,CAAC;wBAClH,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC;qBACnC;iBACJ;YACL,CAAC,CAAC,CAAC;YAEH,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,MAAM,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;QACtC,IAAI,CAAC,qBAAqB,CAAC,iBAAiB,GAAG,UAAU,CAAC,GAAG,EAAE;YAC3D,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;YACtC,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;YAC1B,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAC1B,CAAC,EAAE,GAAG,CAAC,CAAC;IACZ,CAAC;IAED;;;OAGG;IACK,kBAAkB,CAAC,YAAoB;QAC3C,IAAI,qBAAqB,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC,EAAE;YACjD,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;YAC7B,OAAO,IAAI,CAAC;SACf;aAAM;YACH,OAAO,KAAK,CAAC;SAChB;IACL,CAAC;IAED;;;OAGG;IACK,oBAAoB,CAAC,YAAoB;QAC7C,IAAI,KAAK,GAAG,uCAAuC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QACvE,IAAI,KAAK,EAAE;YACP,IAAI,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;YAC9B,IAAI,SAAS,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;YAC9C,yEAAyE;YACzE,IAAI,SAAS,KAAK,MAAM,IAAI,SAAS,KAAK,MAAM,EAAE;gBAC9C,OAAO,KAAK,CAAC;aAChB;YACD,IAAI,CAAC,IAAI,CAAC,eAAe,EAA4B;gBACjD,OAAO,EAAE,OAAO;gBAChB,SAAS,EAAE,SAAS;aACvB,CAAC,CAAC;YACH,OAAO,IAAI,CAAC;SACf;aAAM;YACH,OAAO,KAAK,CAAC;SAChB;IACL,CAAC;IAED;;OAEG;IACI,QAAQ;QACX,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QAC5B,IAAI,CAAC,UAAU,EAAE,CAAC;QAClB,OAAO,IAAI,CAAC,eAAe,CAAC,cAAc,CAAC,MAAM,EAAE,EAAE,aAAa,EAAE,KAAK,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;IACtG,CAAC;IAEM,QAAQ;QACX,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QAC5B,IAAI,CAAC,UAAU,EAAE,CAAC;QAClB,OAAO,IAAI,CAAC,eAAe,CAAC,cAAc,CAAC,MAAM,EAAE,EAAE,aAAa,EAAE,KAAK,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;IACtG,CAAC;IAEM,OAAO;QACV,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAC3B,IAAI,CAAC,UAAU,EAAE,CAAC;QAClB,OAAO,IAAI,CAAC,eAAe,CAAC,cAAc,CAAC,KAAK,EAAE,EAAE,aAAa,EAAE,KAAK,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;IAErG,CAAC;IAED;;OAEG;IACI,QAAQ;QACX,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QAC5B,IAAI,CAAC,UAAU,EAAE,CAAC;QAClB,OAAO,IAAI,CAAC,eAAe,CAAC,cAAc,CAAC,GAAG,EAAE,EAAE,aAAa,EAAE,KAAK,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;IACnG,CAAC;IAED;;OAEG;IACI,KAAK;QACR,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QACzB,IAAI,CAAC,UAAU,EAAE,CAAC;QAClB,6HAA6H;QAC7H,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IACxC,CAAC;IAED;;OAEG;IACI,UAAU;QACb,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAC;QACjD,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;QAChB,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC;IACpC,CAAC;IAED;;;OAGG;IACI,KAAK,CAAC,QAAQ,CAAC,OAAe;QACjC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,WAAW,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;QAC1C,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE;YAC1B,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC;SAClE;QACD,+DAA+D;QAC/D,IAAI,CAAC,UAAU,EAAE,CAAC;QAClB,yEAAyE;QACzE,IAAI,YAAY,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,cAAc,CAAC,OAAO,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;QAC/F,qEAAqE;QACrE,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;QAC/B,OAAO;YACH,OAAO,EAAE,YAAY;YACrB,IAAI,EAAE,SAAS;SAClB,CAAC;IACN,CAAC;IAEM,KAAK,CAAC,aAAa;QACtB,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,aAAa,CAAC,SAAS,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;QAC5D,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE;YAC1B,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAC;SACrE;QACD,OAAO,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,KAAK,IAAI,EAAE;YACzC,2CAA2C;YAC3C,IAAI,YAAY,GAAG,CAAC,MAAM,IAAI,CAAC,eAAe,CAAC,cAAc,CAAC,IAAI,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;YACrG,IAAI,MAAM,GAAG,2EAA2E,CAAC;YACzF,IAAI,OAAwB,CAAC;YAC7B,IAAI,MAAM,GAAiB,EAAE,CAAC;YAC9B,0CAA0C;YAC1C,OAAO,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE;gBACxC,qCAAqC;gBACrC,qCAAqC;gBACrC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE;oBACxC,IAAI,CAAC,GAAG,CAAC,CAAC;oBACV,IAAI,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;oBACnC,IAAI,kBAAkB,GAAG,OAAO,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;oBAC1C,IAAI,QAAQ,GAAG,OAAO,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;oBAChC,IAAI,UAAU,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;oBAC5C,IAAI,KAAK,GAAe;wBACpB,OAAO,EAAE,OAAO;wBAChB,QAAQ,EAAE,QAAQ;wBAClB,UAAU,EAAE,UAAU;wBACtB,kBAAkB,EAAE,kBAAkB;qBACzC,CAAC;oBACF,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;iBACtB;aACJ;YACD,uEAAuE;YACvE,OAAO,MAAM,CAAC;QAClB,CAAC,CAAC,CAAC;IACP,CAAC;IAED;;;OAGG;IACK,aAAa,CAAC,KAAa;QAC/B,MAAM,KAAK,GAAG,kCAAkC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC7D,IAAI,KAAK,EAAE;YACP,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC;SACnB;aAAM;YACH,OAAO,IAAI,CAAC;SACf;IACL,CAAC;IAED;;;OAGG;IACK,YAAY,CAAC,KAAa;QAC9B,OAAO,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACxC,CAAC;IAED;;;OAGG;IACI,KAAK,CAAC,iBAAiB,CAAC,KAAc;QACzC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,mBAAmB,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;QAChD,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE;YAC1B,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAC;SACtE;QACD,OAAO,IAAI,CAAC,OAAO,CAAC,iBAAiB,EAAE,KAAK,IAAI,EAAE;YAC9C,IAAI,IAAY,CAAC;YACjB,IAAI,IAAI,GAAG,EAAc,CAAC;YAE1B,IAAI,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,cAAc,CAAC,KAAK,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;YACjF,IAAI,SAAS,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAExC,KAAK,MAAM,IAAI,IAAI,SAAS,EAAE;gBAC1B,IAAI,KAAsB,CAAC;gBAC3B,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,uBAAuB,CAAC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,EAAE;oBAC9E,0FAA0F;oBAC1F,mDAAmD;oBACnD,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,QAAQ,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE;wBAChD,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;qBACvB;iBACJ;aACJ;YACD,OAAO,IAAI,CAAC;QAChB,CAAC,CAAC,CAAC;IACP,CAAC;IAED;;;OAGG;IACI,KAAK,CAAC,WAAW,CAAC,UAAkB;QACvC,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;QACD,IAAI,cAAc,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC;QAE5D,IAAI,mBAAmB,GAAG,cAAc,CAAC,CAAC,CAAC,cAAc,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;QAE/E,IAAI,IAAY,CAAC;QACjB,yJAAyJ;QACzJ,IAAI,mBAAmB,KAAK,QAAQ,IAAI,mBAAmB,KAAK,UAAU,EAAE;YACxE,IAAI,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,cAAc,CAAC,6BAA6B,UAAU,sBAAsB,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;YAEzI,oIAAoI;SACvI;aAAM,IAAI,CAAC,SAAS,EAAE,QAAQ,EAAE,WAAW,EAAE,aAAa,CAAC,CAAC,QAAQ,CAAC,mBAAmB,CAAC,EAAE;YACxF,MAAM,OAAO,GAAG;gBACZ,8BAA8B,UAAU,WAAW;oBACnD,uEAAuE;gBACvE,+EAA+E;gBAC/E,qBAAqB;oBACrB,UAAU;aACb,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACZ,IAAI,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,cAAc,CAAC,OAAO,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;SACtF;aAAM,IAAI,CAAC,oBAAoB,EAAE,UAAU,CAAC,CAAC,QAAQ,CAAC,mBAAmB,CAAC,EAAE;YACzE,MAAM,OAAO,GAAG;gBACZ,6BAA6B,UAAU,gBAAgB;oBACvD,8DAA8D;gBAC9D,kCAAkC,UAAU,yCAAyC;gBACrF,oDAAoD,UAAU,+BAA+B;gBAC7F,MAAM,UAAU,mBAAmB;oBACnC,UAAU;aACb,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACZ,IAAI,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,cAAc,CAAC,OAAO,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;SACtF;aAAM;YACH,IAAI,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,cAAc,CAAC,SAAS,UAAU,EAAE,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;SACpG;QAED,MAAM,CAAC,IAAI,CAAC,oBAAoB,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;QAC5C,0BAA0B;QAC1B,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;QACnB,IAAI,mBAAmB,KAAK,QAAQ,IAAI,mBAAmB,KAAK,UAAU,EAAE;YACxE,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,kBAAkB,EAAE,EAAE,CAAC,CAAC;YACnD,yDAAyD;YACzD,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;YACjC,gDAAgD;YAChD,IAAI,GAAG,GAAG,GAAG,IAAI,GAAG,GAAG,CAAC;SAC3B;QACD,IAAI,aAAa,GAAG,IAAI,CAAC,gBAAgB,CAAC,cAAc,CAAC,CAAC;QAE1D,IAAI,QAA6B,CAAC;QAClC,IAAI,aAAa,KAAK,0BAAa,CAAC,KAAK,IAAI,CAAC,oBAAoB,EAAE,UAAU,EAAE,WAAW,EAAE,aAAa,CAAC,CAAC,QAAQ,CAAC,mBAAmB,CAAC,EAAE;YACvI,yEAAyE;YACzE,IAAI,GAAG,WAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC;YACxC,4EAA4E;YAC5E,QAAQ,GAAG,IAAI,CAAC,yBAAyB,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;YAC5D,QAAQ,CAAC,IAAI,CAAC;gBACV,IAAI,EAAE,WAAW;gBACjB,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,QAAQ,EAAE;gBACjC,IAAI,EAAE,SAAS;gBACf,aAAa,EAAE,0BAAa,CAAC,SAAS;gBACtC,YAAY,EAAE,QAAQ,CAAC,MAAM,CAAC,QAAQ,EAAE;gBACxC,gBAAgB,EAAE,SAAS;gBAC3B,OAAO,EAAE,OAAO,CAAC,MAAM;gBACvB,QAAQ,EAAE,SAAS;aACD,CAAC,CAAC;SAC3B;aAAM,IAAI,aAAa,KAAK,0BAAa,CAAC,MAAM,EAAE;YAC/C,QAAQ,GAAG,IAAI,CAAC,iBAAiB,CAAC,UAAU,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;SAC9D;aAAM,IAAI,aAAa,KAAK,0BAAa,CAAC,OAAO,EAAE;YAChD,MAAM,CAAC,IAAI,CAAC,6CAA6C,EAAE,EAAE,UAAU,EAAE,CAAC,CAAC;YAC3E,IAAI,GAAG,WAAW,CAAC;SACtB;QAED,IAAI,CAAC,UAAU,EAAE,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,SAAS,EAAE,UAAU,EAAE,WAAW,EAAE,mBAAmB,CAAC,CAAC,QAAQ,CAAC,mBAAmB,CAAC,EAAE;YAC5I,OAAO;gBACH,IAAI,EAAE,UAAU;gBAChB,KAAK,EAAE,WAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC;gBACvC,IAAI,EAAE,cAAc;gBACpB,aAAa,EAAE,0BAAa,CAAC,SAAS;gBACtC,YAAY,EAAE,UAAU;gBACxB,QAAQ,EAAE,EAAE;aACM,CAAC;SAC1B;QAED,4EAA4E;QAC5E,IAAI,mBAAmB,KAAK,UAAU,EAAE;YACpC,IAAI,YAAY,GAAsB;gBAClC,IAAI,EAAE,cAAc;gBACpB,IAAI,EAAE,SAAS;gBACf,aAAa,EAAE,OAAO;gBACtB,gBAAgB,EAAE,SAAS;gBAC3B,YAAY,EAAE,GAAG,UAAU,qBAAqB;gBAChD,QAAQ,EAAE,EAAE;aACf,CAAC;YACF,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;SAC/B;QAED,iFAAiF;QACjF,IAAI,mBAAmB,KAAK,cAAc,EAAE;YACxC,QAAQ,CAAC,IAAI,CAAC;gBACV,qCAAqC;gBACrC,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,GAAG,UAAU,YAAY,CAAC;gBACpD,IAAI,EAAE,UAAU;gBAChB,gBAAgB,EAAE,SAAS;aAC9B,CAAC,CAAC;YAEH,QAAQ,CAAC,IAAI,CAAC;gBACV,IAAI,EAAE,gBAAgB;gBACtB,IAAI,EAAE,oBAAoB;gBAC1B,aAAa,EAAE,0BAAa,CAAC,KAAK;gBAClC,YAAY,EAAE,GAAG,UAAU,kBAAkB;gBAC7C,gBAAgB,EAAE,SAAS;gBAC3B,QAAQ,EAAE,EAAE;aACM,CAAC,CAAC;YAExB,6EAA6E;YAC7E,QAAQ,CAAC,IAAI,CAAC;gBACV,IAAI,EAAE,cAAc;gBACpB,IAAI,EAAE,SAAS;gBACf,aAAa,EAAE,0BAAa,CAAC,KAAK;gBAClC,YAAY,EAAE,GAAG,UAAU,kBAAkB;gBAC7C,gBAAgB,EAAE,SAAS;gBAC3B,QAAQ,EAAE,EAAE;aAEM,CAAC,CAAC;SAC3B;QAED,+EAA+E;QAC/E,IAAI,aAAa,KAAK,0BAAa,CAAC,KAAK,EAAE;YACvC,gHAAgH;YAChH,2CAA2C;SAC9C;QAED,IAAI,SAAS,GAAsB;YAC/B,IAAI,EAAE,UAAU;YAChB,YAAY,EAAE,UAAU;YACxB,IAAI,EAAE,cAAc;YACpB,KAAK,EAAE,IAAI,CAAC,IAAI,EAAE;YAClB,aAAa,EAAE,aAAa;YAC5B,QAAQ,EAAE,QAAQ;SACrB,CAAC;QACF,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,SAAS,EAAE,CAAC,CAAC;QAClC,OAAO,SAAS,CAAC;IACrB,CAAC;IAED;;;OAGG;IACK,yBAAyB,CAAC,UAAkB,EAAE,IAAY;QAC9D,IAAI,QAAQ,GAAG,EAAyB,CAAC;QACzC,IAAI,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QACjC,sDAAsD;QACtD,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;YAC9C,OAAO,QAAQ,CAAC;SACnB;QACD,KAAK,IAAI,SAAS,GAAG,CAAC,EAAE,SAAS,GAAG,KAAK,CAAC,MAAM,EAAE,SAAS,EAAE,EAAE;YAC3D,IAAI,IAAI,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC;YAE5B,IAAI,eAAe,GAAG,mBAAmB,CAAC;YAC1C,IAAI,cAAc,GAAG,mBAAmB,CAAC;YAEzC,IAAI,KAAK,GAAsB;gBAC3B,QAAQ,EAAE,EAAE;aACf,CAAC;YAEF,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;YAClD,mCAAmC;YACnC,IAAI,WAAW,GAAG,CAAC,CAAC,EAAE;gBAClB,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,WAAW,GAAG,eAAe,CAAC,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC;gBAChG,KAAK,CAAC,YAAY,GAAG,GAAG,UAAU,KAAK,KAAK,CAAC,IAAI,IAAI,CAAC;gBAEtD,yBAAyB;gBACzB,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC;aAE/E;iBAAM;gBACH,KAAK,CAAC,IAAI,GAAG,QAAQ,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;gBACxC,KAAK,CAAC,YAAY,GAAG,GAAG,UAAU,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC;aAC5D;YAED,qBAAqB;YACrB,IAAI,gBAAgB,GAAG,oBAAoB,CAAC;YAC5C,IAAI,eAAe,GAAG,oBAAoB,CAAC;YAC3C,IAAI,IAAY,CAAC;YAEjB,MAAM,cAAc,GAAG,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;YACtD,oCAAoC;YACpC,IAAI,cAAc,GAAG,CAAC,CAAC,EAAE;gBACrB,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,cAAc,GAAG,gBAAgB,CAAC,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC;gBAE/F,0BAA0B;gBAC1B,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC;aACjF;YAED,IAAI,IAAI,CAAC,QAAQ,CAAC,uBAAuB,CAAC,EAAE;gBACxC,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,uBAAuB,EAAE,EAAE,CAAC,CAAC;gBACjD,4BAA4B;gBAC5B,IAAI,WAAW,GAAG,CAAC,IAAI,CAAC,CAAC;gBAEzB,mFAAmF;gBACnF,KAAK,SAAS,EAAE,SAAS,GAAG,KAAK,CAAC,MAAM,EAAE,SAAS,EAAE,EAAE;oBACnD,uGAAuG;oBACvG,wCAAwC;oBACxC,IAAI,QAAQ,GAAG,KAAK,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC;oBACpC,IAAI,QAAQ,KAAK,SAAS,IAAI,CAAC,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,QAAQ,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC,EAAE;wBACxE,MAAM;qBACT;yBAAM;wBACH,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;qBAC9B;iBACJ;gBACD,IAAI,GAAG,GAAG,GAAG,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC;aAC7C;iBAAM;gBACH,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,wBAAwB,EAAE,EAAE,CAAC,CAAC;aACrD;YAED,kBAAkB;YAClB,IAAI,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;gBACpB,SAAS;aACZ;YAED,MAAM,UAAU,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;YAC5C,MAAM,UAAU,GAAG,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,UAAU,CAAC,UAAU,CAAC,CAAC;YACtD,oBAAoB;YACpB,IAAI,CAAC,QAAQ,EAAE,SAAS,EAAE,oBAAoB,EAAE,aAAa,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,UAAU,EAAE;gBAC/F,IAAI,aAA8B,CAAC;gBACnC,IAAI,IAAI,CAAC,QAAQ,CAAC,qBAAqB,CAAC,EAAE;oBACtC,aAAa,GAAG,GAAG,CAAC;oBACpB,KAAK,CAAC,aAAa,GAAG,0BAAa,CAAC,KAAK,CAAC;oBAC1C,KAAK,CAAC,IAAI,GAAG,UAAU,CAAC;iBAC3B;qBAAM,IAAI,IAAI,CAAC,QAAQ,CAAC,sBAAsB,CAAC,EAAE;oBAC9C,aAAa,GAAG,GAAG,CAAC;oBACpB,KAAK,CAAC,aAAa,GAAG,0BAAa,CAAC,KAAK,CAAC;oBAC1C,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;iBACzC;qBAAM,IAAI,IAAI,CAAC,QAAQ,CAAC,0BAA0B,CAAC,EAAE;oBAClD,aAAa,GAAG,GAAG,CAAC;oBACpB,KAAK,CAAC,aAAa,GAAG,0BAAa,CAAC,KAAK,CAAC;oBAC1C,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;iBACzC;qBAAM,IAAI,IAAI,CAAC,QAAQ,CAAC,iCAAiC,CAAC,IAAI,UAAU,EAAE;oBACvE,aAAa,GAAG,GAAG,CAAC;oBACpB,KAAK,CAAC,aAAa,GAAG,0BAAa,CAAC,MAAM,CAAC;oBAC3C,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;iBACzC;gBAED,IAAI,kBAAkB,GAAG,CAAC,IAAI,CAAC,CAAC;gBAChC,KAAK,SAAS,IAAI,CAAC,EAAE,SAAS,GAAG,KAAK,CAAC,MAAM,EAAE,SAAS,EAAE,EAAE;oBACxD,IAAI,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC;oBAEjC,kBAAkB,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC;oBAE1C,uBAAuB;oBACvB,IAAI,SAAS,CAAC,IAAI,EAAE,KAAK,aAAa,EAAE;wBACpC,MAAM;qBACT;iBACJ;gBACD,iIAAiI;gBACjI,KAAK,CAAC,QAAQ,GAAG,EAAE,CAAC;gBAEpB,8GAA8G;aACjH;iBAAM,IAAI,UAAU,KAAK,WAAW,EAAE;gBACnC,KAAK,CAAC,aAAa,GAAG,0BAAa,CAAC,aAAa,CAAC;gBAClD,KAAK,CAAC,IAAI,GAAG,WAAW,CAAC;gBACzB,KAAK,CAAC,KAAK,GAAG,WAAW,CAAC;gBAC1B,KAAK,CAAC,QAAQ,GAAG,SAAS,CAAC;aAE9B;iBAAM,IAAI,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE;gBACrC,0BAA0B;gBAC1B,KAAK,CAAC,aAAa,GAAG,0BAAa,CAAC,MAAM,CAAC;gBAC3C,KAAK,CAAC,IAAI,GAAG,UAAU,CAAC;aAE3B;iBAAM;gBACH,wBAAwB;gBACxB,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC;gBAClB,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;gBAC1B,KAAK,CAAC,aAAa,GAAG,0BAAa,CAAC,SAAS,CAAC;gBAC9C,KAAK,CAAC,QAAQ,GAAG,SAAS,CAAC;aAC9B;YACD,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;SACxB;QACD,IAAI,cAAc,GAAG,IAAA,yBAAO,EAAC,QAAQ,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;QACjD,OAAO,cAAc,CAAC;IAC1B,CAAC;IAED;;OAEG;IACK,sBAAsB,CAAC,UAAkB,EAAE,IAAY;QAC3D,IAAI,aAAqB,CAAC;QAE1B,sFAAsF;QACtF,IAAI,IAAI,CAAC,UAAU,CAAC,qBAAqB,CAAC,EAAE;YACxC,aAAa,GAAG,GAAG,CAAC;YAEpB,OAAO;SACV;aAAM;YACH,aAAa,GAAG,GAAG,CAAC;SACvB;QACD,IAAI,QAAQ,GAAG,EAAyB,CAAC;QACzC,uDAAuD;QACvD,IAAI,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QACjC,IAAI,UAAU,GAAG,CAAC,CAAC;QACnB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACnC,IAAI,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;YAC3B,IAAI,IAAI,KAAK,aAAa,EAAE;gBACxB,OAAO,QAAQ,CAAC;aACnB;YACD,IAAI,KAAK,GAAsB;gBAC3B,IAAI,EAAE,UAAU,CAAC,QAAQ,EAAE;gBAC3B,YAAY,EAAE,GAAG,UAAU,IAAI,UAAU,GAAG;gBAC5C,QAAQ,EAAE,EAAE;aACf,CAAC;YAEF,6CAA6C;YAC7C,IAAI,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;YACrC,IAAI,KAAK,EAAE;gBACP,IAAI,IAAI,GAAG,KAAK,CAAC;gBACjB,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC;gBAClB,KAAK,CAAC,aAAa,GAAG,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;gBAClD,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC;aACtB;iBAAM;gBACH,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC,yBAAyB,CAAC,IAAI,CAAC,CAAC;gBAClD,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC;gBACnB,KAAK,CAAC,aAAa,GAAG,0BAAa,CAAC,SAAS,CAAC;aACjD;YACD,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACrB,UAAU,EAAE,CAAC;SAChB;QACD,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;IAC1D,CAAC;IAEO,yBAAyB,CAAC,KAAa;QAC3C,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC;QAC5C,IAAI,CAAC,KAAK,IAAI,KAAK,KAAK,SAAS,EAAE;YAC/B,OAAO,aAAa,CAAC,OAAO,CAAC;SAChC;QACD,IAAI,KAAK,KAAK,MAAM,IAAI,KAAK,KAAK,OAAO,EAAE;YACvC,OAAO,aAAa,CAAC,OAAO,CAAC;SAChC;QACD,IAAI,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;YACrB,OAAO,aAAa,CAAC,MAAM,CAAC;SAC/B;QACD,IAAI,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE;YAC7B,OAAO,aAAa,CAAC,OAAO,CAAC;SAChC;aAAM;YACH,OAAO,aAAa,CAAC,KAAK,CAAC;SAC9B;IAEL,CAAC;IAEO,iBAAiB,CAAC,UAAkB,EAAE,IAAY;QACtD,IAAI;YACA,IAAI,QAAQ,GAAwB,EAAE,CAAC;YACvC,wDAAwD;YACxD,IAAI,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;YACjC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBACnC,IAAI,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;gBACpB,IAAI,WAAW,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;gBAE9B,6EAA6E;gBAC7E,IAAI,WAAW,KAAK,GAAG,EAAE;oBACrB,OAAO,QAAQ,CAAC;iBACnB;gBACD,IAAI,KAAwB,CAAC;gBAC7B,sDAAsD;gBACtD,IAAI,eAAe,GAAG,IAAI,yCAAmB,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC;gBAC3D,IAAI,CAAC,eAAe,EAAE;oBAClB,gFAAgF;oBAChF,KAAK,GAAG;wBACJ,IAAI,EAAE,IAAI;wBACV,IAAI,EAAE,SAAS;wBACf,aAAa,EAAE,0BAAa,CAAC,aAAa;wBAC1C,YAAY,EAAE,SAAS;wBACvB,YAAY,EAAE,EAAE;wBAChB,YAAY,EAAE,CAAC,CAAC;wBAChB,KAAK,EAAE,SAAS;wBAChB,OAAO,EAAE,OAAO,CAAC,MAAM;wBACvB,QAAQ,EAAE,EAAE;qBACf,CAAC;iBACL;qBAAM;oBACH,KAAK,GAAsB;wBACvB,IAAI,EAAE,eAAe,CAAC,GAAG;wBACzB,YAAY,EAAE,GAAG,UAAU,IAAI,eAAe,CAAC,GAAG,EAAE;wBACpD,QAAQ,EAAE,EAAE;qBACf,CAAC;oBAEF,MAAM,IAAI,GAAG,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC;oBAC7C,6CAA6C;oBAC7C,IAAI,IAAI,EAAE;wBACN,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC;wBAClB,KAAK,CAAC,aAAa,GAAG,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;wBAClD,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC;qBACtB;yBAAM;wBACH,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC,yBAAyB,CAAC,WAAW,CAAC,CAAC;wBACzD,KAAK,CAAC,KAAK,GAAG,eAAe,CAAC,KAAK,CAAC;wBACpC,KAAK,CAAC,aAAa,GAAG,0BAAa,CAAC,SAAS,CAAC;qBACjD;iBACJ;gBAED,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;aACxB;YACD,OAAO,QAAQ,CAAC;SACnB;QAAC,OAAO,CAAC,EAAE;YACR,MAAM,IAAI,KAAK,CAAC,wCAAwC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC;SACvG;IACL,CAAC;IAED;;;OAGG;IACK,gBAAgB,CAAC,cAAsB;QAC3C,IAAI,CAAC,cAAc,EAAE;YACjB,OAAO,0BAAa,CAAC,OAAO,CAAC;SAChC;QAED,cAAc,GAAG,cAAc,CAAC,WAAW,EAAE,CAAC;QAC9C,IAAI,cAAc,GAAG,CAAC,SAAS,EAAE,SAAS,EAAE,aAAa,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,UAAU,EAAE,SAAS,CAAC,CAAC;QAC/G,IAAI,cAAc,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE;YACzC,OAAO,0BAAa,CAAC,SAAS,CAAC;SAClC;aAAM,IAAI,cAAc,KAAK,SAAS,IAAI,cAAc,KAAK,QAAQ,EAAE;YACpE,OAAO,0BAAa,CAAC,KAAK,CAAC;SAC9B;aAAM,IAAI,cAAc,KAAK,UAAU,EAAE;YACtC,OAAO,0BAAa,CAAC,QAAQ,CAAC;SACjC;aAAM,IAAI,cAAc,KAAK,iBAAiB,EAAE;YAC7C,OAAO,0BAAa,CAAC,aAAa,CAAC;SACtC;aAAM;YACH,OAAO,0BAAa,CAAC,MAAM,CAAC;SAC/B;IACL,CAAC;IAED;;;OAGG;IACI,KAAK,CAAC,eAAe,CAAC,UAAkB;QAC3C,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE;YAC1B,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC;SACvE;QACD,UAAU,GAAG,QAAQ,UAAU,GAAG,CAAC;QACnC,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,UAAU,EAAE,EAAE,KAAK,IAAI,EAAE;;YAC5C,IAAI,IAAI,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,cAAc,CAAC,SAAS,UAAU,EAAE,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;YAErG,mBAAmB;YACnB,OAAO,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,IAAI,EAAE,mCAAI,IAAI,CAAC;QAChC,CAAC,CAAC,CAAC;IACP,CAAC;IAED;;;;OAIG;IACK,OAAO,CAAI,GAAW,EAAE,OAA8B;QAC1D,IAAI;YACA,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE;gBACjB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,kBAAkB,GAAG,mBAAmB,CAAC,CAAC;gBAC5D,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;aAC1B;iBAAM;gBACH,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,kBAAkB,GAAG,oBAAoB,CAAC,CAAC;gBAC7D,MAAM,MAAM,GAAG,OAAO,EAAE,CAAC;gBACzB,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,OAAO,CAAI,MAAM,CAAC,CAAC;gBAC7C,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;aAC1B;SACJ;QAAC,OAAO,CAAC,EAAE;YACR,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;SAC5B;IACL,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,UAAU;QACnB,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;QAC9B,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE;YAC1B,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,4CAA4C,CAAC,CAAC;YAC9D,OAAO,EAAE,CAAC;SACb;QACD,OAAO,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,KAAK,IAAI,EAAE;YACtC,IAAI,IAAI,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,cAAc,CAAC,SAAS,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;YAEzF,IAAI,UAAU,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,CAAC;YACxC,IAAI,OAAO,GAAG,sCAAsC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YACtE,IAAI,OAAO,GAAa,EAAE,CAAC;YAC3B,IAAI,OAAO,EAAE;gBACT,4CAA4C;gBAC5C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE;oBACxC,IAAI,QAAQ,GAAW,OAAO,CAAC,CAAC,CAAC,CAAC;oBAClC,IAAI,MAAM,GAAW;wBACjB,UAAU,EAAE,KAAK;wBACjB,QAAQ,EAAE,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC;wBACxB,UAAU,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;wBACpC,YAAY,EAAE,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC;qBAC/B,CAAC;oBACF,IAAI,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;wBACxB,MAAM,CAAC,UAAU,GAAG,IAAI,CAAC;wBACzB,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;qBACxC;oBACD,MAAM,CAAC,QAAQ,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC;oBACrC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;iBACxB;gBACD,6CAA6C;gBAC7C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;oBAClB,OAAO,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBACjC,CAAC,CAAC,CAAC;aACN;YACD,OAAO,OAAO,CAAC;QACnB,CAAC,CAAC,CAAC;IACP,CAAC;IAED;;OAEG;IACI,OAAO;QACV,IAAI,IAAI,CAAC,eAAe,EAAE;YACtB,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE,CAAC;SAClC;QAED,IAAI,CAAC,eAAe,GAAG,SAAS,CAAC;QACjC,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC;QACvB,IAAI,IAAI,CAAC,OAAO,EAAE;YACd,IAAI,CAAC,OAAO,CAAC,kBAAkB,EAAE,CAAC;SACrC;QACD,IAAI,CAAC,OAAO,GAAG,SAAS,CAAC;QACzB,oEAAoE;QACpE,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC7B,CAAC;IAED,mDAAmD;IACnD;;OAEG;IACI,qBAAqB,CAAC,aAAoF;QAC7G,IAAI,CAAC,iBAAiB,CAAC,qBAAqB,CAAC,aAAa,CAAC,CAAC;IAChE,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;CAEJ;AA9jCD,sCA8jCC;AASD,IAAY,SAEX;AAFD,WAAY,SAAS;IACjB,gCAAmB,CAAA;AACvB,CAAC,EAFW,SAAS,GAAT,iBAAS,KAAT,iBAAS,QAEpB;AAeD,IAAY,OAIX;AAJD,WAAY,OAAO;IACf,4BAAiB,CAAA;IACjB,8BAAmB,CAAA;IACnB,4BAAiB,CAAA;AACrB,CAAC,EAJW,OAAO,GAAP,eAAO,KAAP,eAAO,QAIlB;AAUD,IAAY,aAMX;AAND,WAAY,aAAa;IACrB,oCAAmB,CAAA;IACnB,oCAAmB,CAAA;IACnB,kCAAiB,CAAA;IACjB,oCAAmB,CAAA;IACnB,gCAAe,CAAA;AACnB,CAAC,EANW,aAAa,GAAb,qBAAa,KAAb,qBAAa,QAMxB"}