@phystack/cli 4.5.34-dev → 4.5.42-dev

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.
@@ -46,35 +46,6 @@ async function startSingleVm(name, options) {
46
46
  process.exit(1);
47
47
  }
48
48
  }
49
- // --- Linux macvtap bridged networking setup ---
50
- let macvtapResult = null;
51
- if (process.platform === 'linux') {
52
- const isRoot = process.getuid && process.getuid() === 0;
53
- const hostInterface = getDefaultLinuxInterface();
54
- if (hostInterface) {
55
- // Check if interface is wireless (bridging doesn't work over WiFi)
56
- const isWifi = hostInterface.startsWith('wlan') || hostInterface.startsWith('wlp');
57
- if (isWifi) {
58
- console.log(chalk_1.default.yellow('Default interface is WiFi — bridged networking not supported over WiFi.'));
59
- console.log(chalk_1.default.yellow('Using user-mode networking (NAT). VM will get 10.0.x.x address.'));
60
- }
61
- else if (!isRoot) {
62
- // Need root for macvtap creation
63
- console.log(chalk_1.default.yellow('Bridged networking on Linux requires root privileges. Re-running with sudo...'));
64
- (0, vm_1.relaunchWithSudo)(process.argv.slice(2));
65
- return;
66
- }
67
- else {
68
- macvtapResult = createMacvtapDevice(name, hostInterface);
69
- if (!macvtapResult) {
70
- console.log(chalk_1.default.yellow('macvtap setup failed. Falling back to user-mode networking (NAT).'));
71
- }
72
- }
73
- }
74
- else {
75
- console.log(chalk_1.default.yellow('Could not detect default network interface. Using user-mode networking.'));
76
- }
77
- }
78
49
  // Check if VM exists (do this *after* potential sudo relaunch)
79
50
  if (!(0, vm_1.vmExists)(name)) {
80
51
  throw new Error(`VM "${name}" not found`);
@@ -159,10 +130,7 @@ async function startSingleVm(name, options) {
159
130
  }
160
131
  }
161
132
  // Build QEMU command arguments - must exactly match the bash script format
162
- // macvtap fd will be fd 3 in the child process (after stdin=0, stdout=1, stderr=2)
163
- const macvtapFdNum = macvtapResult ? 3 : null;
164
- const macvtapMac = macvtapResult ? macvtapResult.macAddress : null;
165
- const args = buildExactQemuArgs(config.arch, imageFile, diskFile, initramfsFile, memory, serialNumber, headless, null, macvtapFdNum, macvtapMac);
133
+ const args = buildExactQemuArgs(config.arch, imageFile, diskFile, initramfsFile, memory, serialNumber, headless, null);
166
134
  console.log(chalk_1.default.blue(`Starting PhyOS VM "${name}"...`));
167
135
  console.log(chalk_1.default.blue(`Memory allocation: ${memory}MB`));
168
136
  if (isEmulated) {
@@ -196,59 +164,23 @@ async function startSingleVm(name, options) {
196
164
  // Add startup timestamp to log
197
165
  fs_1.default.writeSync(logFile, `\n\n========== Starting VM at ${timestamp} ==========\n\n`);
198
166
  fs_1.default.writeSync(logFile, `Command: ${qemuBin} ${args.join(' ')}\n\n`);
199
- // Socket paths match the ones used in buildExactQemuArgs (VM-name-only, no PID)
200
- // These may be reassigned later with PID-based paths once QEMU starts
201
- let vmName = path_1.default.basename(path_1.default.dirname(imageFile || '.'));
202
- let monitorSocketPath = `/tmp/qemu-monitor-${vmName}.sock`;
203
- let serialSocketPath = `/tmp/qemu-serial-${vmName}.sock`;
204
- // Clean up old socket files BEFORE spawning QEMU so it can create fresh ones
205
- try {
206
- if (fs_1.default.existsSync(serialSocketPath)) {
207
- fs_1.default.unlinkSync(serialSocketPath);
208
- }
209
- if (fs_1.default.existsSync(monitorSocketPath)) {
210
- fs_1.default.unlinkSync(monitorSocketPath);
211
- }
212
- }
213
- catch (error) {
214
- console.log(chalk_1.default.yellow(`Warning when cleaning up old socket files: ${error.message}`));
215
- }
216
167
  // Create temporary file to capture error output
217
168
  const errorLogPath = path_1.default.join((0, vm_1.getVmDir)(name), 'error.log');
218
169
  const errorLogFile = fs_1.default.openSync(errorLogPath, 'w');
219
- // Track if the process exits early (crash detection)
220
- let earlyExit = false;
221
- let earlyExitCode = null;
222
170
  // Spawn QEMU process in detached mode, but capture stderr to help with debugging
223
- let qemuProcess;
224
- if (macvtapResult) {
225
- // Use bash with exec fd redirection for macvtap — this is the standard
226
- // documented way to pass a macvtap tap device to QEMU
227
- const qemuCmd = `exec 3<>${macvtapResult.tapDevPath} && ${qemuBin} ${args.map(a => `'${a.replace(/'/g, "'\\''")}'`).join(' ')}`;
228
- qemuProcess = (0, child_process_1.spawn)('bash', ['-c', qemuCmd], {
229
- detached: true,
230
- stdio: ['ignore', logFile, errorLogFile]
231
- });
232
- }
233
- else {
234
- qemuProcess = (0, child_process_1.spawn)(qemuBin, args, {
235
- detached: true,
236
- stdio: ['ignore', logFile, errorLogFile]
237
- });
238
- }
171
+ const qemuProcess = (0, child_process_1.spawn)(qemuBin, args, {
172
+ detached: true,
173
+ stdio: ['ignore', logFile, errorLogFile]
174
+ });
239
175
  // Handle process startup errors
240
176
  qemuProcess.on('error', (err) => {
241
177
  fs_1.default.writeSync(errorLogFile, `Process startup error: ${err.message}\n`);
242
178
  console.error(chalk_1.default.red(`Failed to start QEMU: ${err.message}`));
243
- });
244
- // Listen for early exit to detect crashes
245
- qemuProcess.on('exit', (code) => {
246
- earlyExit = true;
247
- earlyExitCode = code;
179
+ throw err;
248
180
  });
249
181
  // Wait briefly to see if process starts successfully
250
182
  await new Promise(resolve => setTimeout(resolve, 500));
251
- // Check if process returned a PID
183
+ // Check if process is still running
252
184
  const pid = qemuProcess.pid;
253
185
  if (!pid) {
254
186
  // Read any error output to diagnose the issue
@@ -270,42 +202,6 @@ async function startSingleVm(name, options) {
270
202
  throw new Error('Failed to start VM process - no PID returned. Check if QEMU is properly installed.');
271
203
  }
272
204
  }
273
- // Verify the process is actually alive (not just that spawn returned a PID)
274
- if (earlyExit) {
275
- let errorOutput = '';
276
- try {
277
- fs_1.default.closeSync(errorLogFile);
278
- if (fs_1.default.existsSync(errorLogPath)) {
279
- errorOutput = fs_1.default.readFileSync(errorLogPath, 'utf8').trim();
280
- }
281
- }
282
- catch (e) {
283
- // Ignore errors reading the error log
284
- }
285
- const details = errorOutput
286
- ? `\nQEMU error output:\n${errorOutput}`
287
- : '\nNo error output captured. Check VM logs for details.';
288
- throw new Error(`QEMU process exited immediately with code ${earlyExitCode}.${details}`);
289
- }
290
- try {
291
- process.kill(pid, 0);
292
- }
293
- catch (e) {
294
- let errorOutput = '';
295
- try {
296
- fs_1.default.closeSync(errorLogFile);
297
- if (fs_1.default.existsSync(errorLogPath)) {
298
- errorOutput = fs_1.default.readFileSync(errorLogPath, 'utf8').trim();
299
- }
300
- }
301
- catch (readErr) {
302
- // Ignore errors reading the error log
303
- }
304
- const details = errorOutput
305
- ? `\nQEMU error output:\n${errorOutput}`
306
- : '\nNo error output captured. Check VM logs for details.';
307
- throw new Error(`QEMU process (PID ${pid}) is not running after spawn.${details}`);
308
- }
309
205
  // Save PID to file atomically
310
206
  const pidPath = (0, vm_1.getVmPidPath)(name);
311
207
  const tempPidPath = `${pidPath}.tmp`;
@@ -387,16 +283,16 @@ async function startSingleVm(name, options) {
387
283
  }
388
284
  }
389
285
  // Now that we have the PID, generate the real args with proper socket paths
390
- const finalArgs = buildExactQemuArgs(config.arch, imageFile, diskFile, initramfsFile, memory, serialNumber, headless, pid, macvtapFdNum, macvtapMac);
286
+ const finalArgs = buildExactQemuArgs(config.arch, imageFile, diskFile, initramfsFile, memory, serialNumber, headless, pid);
391
287
  // Log the actual command that should be used for debugging
392
288
  const actualCommand = `${qemuBin} ${finalArgs.join(' ')}`;
393
289
  fs_1.default.writeSync(logFile, `Actual command (with PID): ${actualCommand}\n\n`);
394
- // Update socket paths with actual PID (not placeholder) and VM name
290
+ // Create socket paths with actual PID (not placeholder) and VM name
395
291
  // Ensure pid is a valid value before using it
396
292
  const safePid = pid || 'temp';
397
- vmName = path_1.default.basename(path_1.default.dirname(imageFile || '.'));
398
- monitorSocketPath = pid ? `/tmp/qemu-monitor-${vmName}-${safePid}.sock` : `/tmp/qemu-monitor-${vmName}-temp.sock`;
399
- serialSocketPath = pid ? `/tmp/qemu-serial-${vmName}-${safePid}.sock` : `/tmp/qemu-serial-${vmName}-temp.sock`;
293
+ const vmName = path_1.default.basename(path_1.default.dirname(imageFile || '.'));
294
+ const monitorSocketPath = pid ? `/tmp/qemu-monitor-${vmName}-${safePid}.sock` : `/tmp/qemu-monitor-${vmName}-temp.sock`;
295
+ const serialSocketPath = pid ? `/tmp/qemu-serial-${vmName}-${safePid}.sock` : `/tmp/qemu-serial-${vmName}-temp.sock`;
400
296
  // Unref the process so it can run in the background
401
297
  qemuProcess.unref();
402
298
  // Log the actual socket paths for debugging
@@ -405,44 +301,24 @@ async function startSingleVm(name, options) {
405
301
  // Log troubleshooting info
406
302
  fs_1.default.writeSync(logFile, `To connect to this VM: phy vm shell ${name}\n`);
407
303
  fs_1.default.writeSync(logFile, `Socket must exist at: ${serialSocketPath}\n\n`);
408
- // Wait for QEMU to initialize and create its sockets
409
- console.log(chalk_1.default.blue(`Waiting for VM to initialize...`));
410
- await new Promise(resolve => setTimeout(resolve, 2000));
411
- // Verify the process is still alive after initialization wait
304
+ // Remove the existing dummy file creation that causes "Socket operation on non-socket" error
305
+ // QEMU will create the proper socket files when it starts up
412
306
  try {
413
- process.kill(pid, 0);
414
- }
415
- catch (e) {
416
- let errorOutput = '';
417
- try {
418
- if (fs_1.default.existsSync(errorLogPath)) {
419
- errorOutput = fs_1.default.readFileSync(errorLogPath, 'utf8').trim();
420
- }
421
- }
422
- catch (readErr) {
423
- // Ignore
307
+ // If dummy socket files already exist from a previous run, delete them first
308
+ if (fs_1.default.existsSync(serialSocketPath)) {
309
+ fs_1.default.unlinkSync(serialSocketPath);
424
310
  }
425
- const details = errorOutput
426
- ? `\nQEMU error output:\n${errorOutput}`
427
- : '\nNo error output captured. Check VM logs for details.';
428
- throw new Error(`QEMU process (PID ${pid}) crashed during initialization.${details}`);
429
- }
430
- // Verify that QEMU created the serial socket
431
- let socketReady = false;
432
- try {
433
- if (fs_1.default.existsSync(serialSocketPath) && fs_1.default.statSync(serialSocketPath).isSocket()) {
434
- socketReady = true;
311
+ if (fs_1.default.existsSync(monitorSocketPath)) {
312
+ fs_1.default.unlinkSync(monitorSocketPath);
435
313
  }
314
+ // Wait briefly for QEMU to start and potentially create the socket
315
+ console.log(chalk_1.default.blue(`Waiting for VM to initialize...`));
316
+ await new Promise(resolve => setTimeout(resolve, 2000));
436
317
  }
437
- catch (e) {
438
- // Ignore stat errors
439
- }
440
- if (!socketReady) {
441
- console.log(chalk_1.default.yellow(`Warning: Serial socket not found at ${serialSocketPath}`));
442
- console.log(chalk_1.default.yellow(`QEMU process is running (PID ${pid}) but sockets may not be ready yet.`));
443
- console.log(chalk_1.default.yellow(`Shell access may be delayed. Try 'phy vm shell ${name}' in a few seconds.`));
318
+ catch (error) {
319
+ console.log(chalk_1.default.yellow(`Warning when cleaning up socket files: ${error.message}`));
444
320
  }
445
- console.log(chalk_1.default.green(`VM "${name}" started successfully (PID ${pid})`));
321
+ console.log(chalk_1.default.green(`VM "${name}" started successfully`));
446
322
  console.log(`To view logs: ${chalk_1.default.blue('phy vm logs')} ${name}`);
447
323
  console.log(`To stop VM: ${chalk_1.default.blue('phy vm stop')} ${name}`);
448
324
  // If headless, inform about shell access
@@ -491,93 +367,22 @@ function getDefaultMacInterface() {
491
367
  return null;
492
368
  }
493
369
  }
494
- /**
495
- * Gets the default network interface name on Linux
496
- */
497
- function getDefaultLinuxInterface() {
498
- if (process.platform !== 'linux') {
499
- return null;
500
- }
501
- try {
502
- const output = (0, child_process_1.execSync)('ip route show default', { encoding: 'utf8' });
503
- const match = output.match(/default\s+via\s+\S+\s+dev\s+(\S+)/);
504
- if (match && match[1]) {
505
- console.log(chalk_1.default.blue(`Detected default network interface: ${match[1]}`));
506
- return match[1];
507
- }
508
- console.log(chalk_1.default.yellow('Warning: Could not parse default interface from ip route.'));
509
- return null;
510
- }
511
- catch (error) {
512
- console.log(chalk_1.default.yellow(`Warning: Failed to get default interface: ${error.message}`));
513
- return null;
514
- }
515
- }
516
- /**
517
- * Creates a macvtap device for bridged networking on Linux.
518
- * The macvtap device attaches directly to the host's physical interface,
519
- * giving the VM an IP on the host's subnet without modifying host networking.
520
- * Returns the opened fd and device name, or null on failure.
521
- */
522
- function createMacvtapDevice(vmName, hostInterface) {
523
- // Linux interface name max 15 chars: "mcvt-" (5) + up to 10 chars
524
- const sanitized = vmName.replace(/[^a-zA-Z0-9]/g, '').slice(0, 10);
525
- const deviceName = `mcvt-${sanitized}`;
526
- try {
527
- // Remove stale device if exists
528
- try {
529
- (0, child_process_1.execSync)(`ip link del ${deviceName} 2>/dev/null`);
530
- console.log(chalk_1.default.gray(`Removed stale macvtap device: ${deviceName}`));
531
- }
532
- catch (e) {
533
- // Device doesn't exist yet, proceeding with creation
534
- }
535
- // Create macvtap device in bridge mode
536
- (0, child_process_1.execSync)(`ip link add link ${hostInterface} name ${deviceName} type macvtap mode bridge`);
537
- (0, child_process_1.execSync)(`ip link set ${deviceName} up`);
538
- // Enable promiscuous mode on the physical interface so it accepts
539
- // unicast packets addressed to the VM's MAC (not just its own MAC)
540
- (0, child_process_1.execSync)(`ip link set ${hostInterface} promisc on`);
541
- // Get the ifindex to find the /dev/tapN device
542
- const ifindex = (0, child_process_1.execSync)(`cat /sys/class/net/${deviceName}/ifindex`, { encoding: 'utf8' }).trim();
543
- const tapDevPath = `/dev/tap${ifindex}`;
544
- // Verify the tap device exists
545
- if (!fs_1.default.existsSync(tapDevPath)) {
546
- throw new Error(`Tap device ${tapDevPath} not found`);
547
- }
548
- // Read the macvtap's MAC address — the VM must use this same MAC so that
549
- // unicast replies from the network are delivered to the macvtap device
550
- const macAddress = (0, child_process_1.execSync)(`cat /sys/class/net/${deviceName}/address`, { encoding: 'utf8' }).trim();
551
- console.log(chalk_1.default.blue(`Created macvtap device: ${deviceName} (${tapDevPath}) MAC: ${macAddress}`));
552
- return { tapDevPath, deviceName, macAddress };
553
- }
554
- catch (error) {
555
- console.log(chalk_1.default.yellow(`Warning: Failed to create macvtap device: ${error.message}`));
556
- // Clean up on failure
557
- try {
558
- (0, child_process_1.execSync)(`ip link del ${deviceName} 2>/dev/null`);
559
- console.log(chalk_1.default.gray(`Cleaned up failed macvtap device: ${deviceName}`));
560
- }
561
- catch (e) {
562
- console.log(chalk_1.default.gray(`No macvtap device to clean up: ${deviceName}`));
563
- }
564
- return null;
565
- }
566
- }
567
370
  /**
568
371
  * Builds QEMU command arguments to exactly match the original bash script
569
372
  * Important: Each argument must be a separate array element without quotes
570
373
  * Adds cross-architecture emulation support
571
374
  */
572
- function buildExactQemuArgs(arch, imageFile, diskFile, initramfsFile, memory, serialNumber, headless, pid, macvtapFd, macvtapMac) {
375
+ function buildExactQemuArgs(arch, imageFile, diskFile, initramfsFile, memory, serialNumber, headless, pid) {
573
376
  const hostArch = getHostArch();
574
377
  const isEmulated = arch !== hostArch;
575
378
  const runningOnMac = isMacOS();
576
379
  // Get VM name from the image file path
577
380
  const vmName = path_1.default.basename(path_1.default.dirname(imageFile || '.'));
578
- // Use VM-name-only socket paths (no PID needed since only one instance can run at a time)
579
- const monitorSocketPath = `/tmp/qemu-monitor-${vmName}.sock`;
580
- const serialSocketPath = `/tmp/qemu-serial-${vmName}.sock`;
381
+ // Create socket paths with actual PID (not placeholder) and VM name
382
+ // Ensure pid is a valid value before using it
383
+ const safePid = pid || 'temp';
384
+ const monitorSocketPath = pid ? `/tmp/qemu-monitor-${vmName}-${safePid}.sock` : `/tmp/qemu-monitor-${vmName}-temp.sock`;
385
+ const serialSocketPath = pid ? `/tmp/qemu-serial-${vmName}-${safePid}.sock` : `/tmp/qemu-serial-${vmName}-temp.sock`;
581
386
  // Ensure memory is valid and convert to string
582
387
  const memoryStr = memory ? String(memory) : '2048';
583
388
  // Function to generate network arguments based on platform
@@ -599,18 +404,8 @@ function buildExactQemuArgs(arch, imageFile, diskFile, initramfsFile, memory, se
599
404
  ];
600
405
  }
601
406
  }
602
- else if (process.platform === 'linux' && macvtapFd != null) {
603
- // Bridged networking via macvtap on Linux
604
- // Use the macvtap's MAC address so unicast replies from the network reach the VM
605
- const macOpt = macvtapMac ? `,mac=${macvtapMac}` : '';
606
- console.log(chalk_1.default.blue(`Using macvtap bridged networking (fd=${macvtapFd}, mac=${macvtapMac || 'default'})`));
607
- return [
608
- '-netdev', `tap,id=net0,fd=${macvtapFd}`,
609
- '-device', `virtio-net-pci,netdev=net0${macOpt}`
610
- ];
611
- }
612
407
  else {
613
- // Fallback: user-mode networking (NAT) on other platforms
408
+ // Use user-mode networking on other platforms
614
409
  return [
615
410
  '-netdev', 'user,id=net0',
616
411
  '-device', 'virtio-net-pci,netdev=net0'
@@ -652,10 +447,6 @@ function buildExactQemuArgs(arch, imageFile, diskFile, initramfsFile, memory, se
652
447
  args.push('-monitor', `unix:${monitorSocketPath},server,nowait`);
653
448
  args.push('-serial', `unix:${serialSocketPath},server,nowait`);
654
449
  if (headless) {
655
- if (!runningOnMac) {
656
- // On Linux, provide a KMS-capable GPU for Sway/wlroots inside the guest
657
- args.push('-vga', 'none', '-device', 'virtio-gpu-pci');
658
- }
659
450
  args.push('-display', 'none', '-nographic');
660
451
  }
661
452
  else {
@@ -666,20 +457,12 @@ function buildExactQemuArgs(arch, imageFile, diskFile, initramfsFile, memory, se
666
457
  args.push('-display', 'cocoa');
667
458
  }
668
459
  else {
669
- // For Linux, add virtio-gpu-pci for KMS support (required by Sway/wlroots)
670
- args.push('-vga', 'none', '-device', 'virtio-gpu-pci');
460
+ // For Linux and other platforms, try SDL
671
461
  args.push('-display', 'sdl');
672
462
  }
673
463
  }
674
464
  else {
675
- if (runningOnMac) {
676
- args.push('-display', 'cocoa', '-device', 'virtio-gpu-pci');
677
- }
678
- else {
679
- // Add virtio-gpu-pci for KMS support (required by Sway/wlroots)
680
- args.push('-vga', 'none', '-device', 'virtio-gpu-pci');
681
- args.push('-display', 'gtk');
682
- }
465
+ args.push('-display', 'sdl', '-device', 'virtio-gpu-pci');
683
466
  }
684
467
  }
685
468
  // Always add device controllers
@@ -713,10 +496,6 @@ function buildExactQemuArgs(arch, imageFile, diskFile, initramfsFile, memory, se
713
496
  args.push('-monitor', `unix:${monitorSocketPath},server,nowait`);
714
497
  args.push('-serial', `unix:${serialSocketPath},server,nowait`);
715
498
  if (headless) {
716
- if (!runningOnMac) {
717
- // On Linux, provide a KMS-capable GPU for Sway/wlroots inside the guest
718
- args.push('-device', 'virtio-gpu-pci');
719
- }
720
499
  args.push('-display', 'none', '-nographic');
721
500
  }
722
501
  else {
@@ -1 +1 @@
1
- {"version":3,"file":"start.js","sourceRoot":"","sources":["../../../src/commands/vm/start.ts"],"names":[],"mappings":";;;;;AAiiCA,0BA4HC;AA7pCD,4CAAoB;AACpB,gDAAwB;AACxB,kDAA0B;AAC1B,iDAAsD;AACtD,uCAYwB;AACxB,wDAAgC;AAOhC;;GAEG;AACH,KAAK,UAAU,aAAa,CAAC,IAAY,EAAE,OAAqB;IAE9D,MAAM,YAAY,GAAG,OAAO,EAAE,CAAC;IAC/B,MAAM,SAAS,GAAG,YAAY,IAAI,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IAE3E,+FAA+F;IAC/F,IAAI,SAAS,EAAE,CAAC;QACd,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,MAAM,CAAC,yFAAyF,CAAC,CAAC,CAAC;QAErH,uDAAuD;QACvD,oEAAoE;QACpE,oCAAoC;QACpC,MAAM,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,8CAA8C;QAC1F,MAAM,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,wCAAwC;QAE5E,MAAM,QAAQ,GAAa,CAAC,UAAU,EAAE,GAAG,YAAY,CAAC,CAAC,CAAC,yBAAyB;QAEnF,IAAI,CAAC;YACH,kDAAkD;YAClD,MAAM,WAAW,GAAG,IAAA,qBAAK,EAAC,MAAM,EAAE,QAAQ,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;YAElE,WAAW,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE;gBAC9B,OAAO,CAAC,KAAK,CAAC,eAAK,CAAC,GAAG,CAAC,2BAA2B,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;gBACnE,OAAO,CAAC,KAAK,CAAC,eAAK,CAAC,GAAG,CAAC,qFAAqF,CAAC,CAAC,CAAC;gBAChH,OAAO,CAAC,KAAK,CAAC,eAAK,CAAC,IAAI,CAAC,cAAc,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAA;gBACjE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC,CAAC,CAAC;YAEH,4EAA4E;YAC5E,WAAW,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE;gBAC/B,OAAO,CAAC,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YACzC,CAAC,CAAC,CAAC;YAEH,+CAA+C;YAC/C,OAAO;QAET,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,OAAO,CAAC,KAAK,CAAC,eAAK,CAAC,GAAG,CAAC,mCAAmC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;YAC7E,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACpB,CAAC;IACH,CAAC;IAED,iDAAiD;IACjD,IAAI,aAAa,GAA0E,IAAI,CAAC;IAEhG,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;QACjC,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QACxD,MAAM,aAAa,GAAG,wBAAwB,EAAE,CAAC;QAEjD,IAAI,aAAa,EAAE,CAAC;YAClB,mEAAmE;YACnE,MAAM,MAAM,GAAG,aAAa,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,aAAa,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;YACnF,IAAI,MAAM,EAAE,CAAC;gBACX,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,MAAM,CAAC,yEAAyE,CAAC,CAAC,CAAC;gBACrG,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,MAAM,CAAC,iEAAiE,CAAC,CAAC,CAAC;YAC/F,CAAC;iBAAM,IAAI,CAAC,MAAM,EAAE,CAAC;gBACnB,iCAAiC;gBACjC,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,MAAM,CAAC,+EAA+E,CAAC,CAAC,CAAC;gBAC3G,IAAA,qBAAgB,EAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;gBACxC,OAAO;YACT,CAAC;iBAAM,CAAC;gBACN,aAAa,GAAG,mBAAmB,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC;gBACzD,IAAI,CAAC,aAAa,EAAE,CAAC;oBACnB,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,MAAM,CAAC,mEAAmE,CAAC,CAAC,CAAC;gBACjG,CAAC;YACH,CAAC;QACH,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,MAAM,CAAC,yEAAyE,CAAC,CAAC,CAAC;QACvG,CAAC;IACH,CAAC;IAED,+DAA+D;IAC/D,IAAI,CAAC,IAAA,aAAQ,EAAC,IAAI,CAAC,EAAE,CAAC;QACpB,MAAM,IAAI,KAAK,CAAC,OAAO,IAAI,aAAa,CAAC,CAAC;IAC5C,CAAC;IAED,iCAAiC;IACjC,IAAI,IAAA,gBAAW,EAAC,IAAI,CAAC,EAAE,CAAC;QACtB,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,MAAM,CAAC,OAAO,IAAI,sBAAsB,CAAC,CAAC,CAAC;QAC7D,OAAO;IACT,CAAC;IAED,qCAAqC;IACrC,MAAM,MAAM,GAAG,IAAA,iBAAY,EAAC,IAAI,CAAC,CAAC;IAClC,MAAM,QAAQ,GAAG,IAAA,mBAAc,EAAC,IAAI,CAAC,CAAC;IACtC,MAAM,KAAK,GAAG,IAAA,aAAQ,EAAC,IAAI,CAAC,CAAC;IAE7B,mFAAmF;IACnF,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM;QAC3B,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;QAC9B,CAAC,CAAC,QAAQ,CAAC,MAAM;YACf,CAAC,CAAC,QAAQ,CAAC,MAAM;YACjB,CAAC,CAAC,MAAM,CAAC,MAAM,IAAI,IAAI,CAAC;IAE5B,sDAAsD;IACtD,MAAM,QAAQ,GAAG,WAAW,EAAE,CAAC;IAC/B,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,KAAK,QAAQ,CAAC;IAE5C,mFAAmF;IACnF,IAAI,QAAQ,GAAG,OAAO,CAAC,QAAQ,KAAK,SAAS;QAC3C,CAAC,CAAC,OAAO,CAAC,QAAQ;QAClB,CAAC,CAAC,QAAQ,CAAC,QAAQ,IAAI,KAAK,CAAC;IAE/B,yEAAyE;IACzE,IAAI,UAAU,IAAI,CAAC,CAAC,MAAM,CAAC,IAAI,KAAK,OAAO,IAAI,QAAQ,KAAK,OAAO,CAAC;QACjD,CAAC,MAAM,CAAC,IAAI,KAAK,OAAO,IAAI,QAAQ,KAAK,OAAO,CAAC,CAAC,EAAE,CAAC;QACtE,MAAM,WAAW,GAAG,QAAQ,CAAC;QAC7B,QAAQ,GAAG,IAAI,CAAC,CAAC,sBAAsB;QAEvC,8DAA8D;QAC9D,IAAI,OAAO,CAAC,QAAQ,KAAK,KAAK,IAAI,CAAC,CAAC,OAAO,CAAC,QAAQ,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC5E,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,MAAM,CAAC,eAAe,MAAM,CAAC,IAAI,UAAU,QAAQ,sCAAsC,CAAC,CAAC,CAAC;YAC9G,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,MAAM,CAAC,kEAAkE,CAAC,CAAC,CAAC;YAC9F,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,wBAAwB,IAAI,yBAAyB,CAAC,CAAC,CAAC;QACjF,CAAC;IACH,CAAC;IAED,sCAAsC;IACtC,MAAM,SAAS,GAAG,cAAI,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;IACjD,MAAM,QAAQ,GAAG,cAAI,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;IAC/C,4DAA4D;IAC5D,MAAM,aAAa,GAAG,MAAM,CAAC,SAAS;QACpC,CAAC,CAAC,cAAI,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,SAAS,CAAC;QACpC,CAAC,CAAC,SAAS,CAAC;IAEd,sCAAsC;IACtC,IAAI,CAAC,YAAE,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,CAAC,YAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC1D,MAAM,IAAI,KAAK,CAAC,wCAAwC,IAAI,GAAG,CAAC,CAAC;IACnE,CAAC;IACD,mDAAmD;IACnD,IAAI,MAAM,CAAC,SAAS,IAAI,CAAC,YAAE,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC;QACtD,MAAM,IAAI,KAAK,CAAC,oCAAoC,IAAI,MAAM,aAAa,EAAE,CAAC,CAAC;IACjF,CAAC;IAED,gFAAgF;IAChF,IAAI,YAAY,GAAG,QAAQ,CAAC,MAAM,CAAC;IAEnC,kFAAkF;IAClF,IAAI,CAAC,YAAY,EAAE,CAAC;QAClB,MAAM,UAAU,GAAG,IAAA,oBAAe,EAAC,IAAI,CAAC,CAAC;QACzC,IAAI,YAAE,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;YAC9B,YAAY,GAAG,YAAE,CAAC,YAAY,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC;QAC5D,CAAC;IACH,CAAC;IAED,IAAI,YAAY,EAAE,CAAC;QACjB,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,wBAAwB,YAAY,EAAE,CAAC,CAAC,CAAC;IAClE,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,MAAM,CAAC,kCAAkC,IAAI,GAAG,CAAC,CAAC,CAAC;IACvE,CAAC;IAED,8CAA8C;IAC9C,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,KAAK,OAAO;QACrC,CAAC,CAAC,oBAAoB;QACtB,CAAC,CAAC,qBAAqB,CAAC;IAE1B,mCAAmC;IACnC,IAAI,CAAC;QACH,MAAM,kBAAkB,CAAC,OAAO,CAAC,CAAC;IACpC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,wCAAwC;QACxC,MAAM,SAAS,GAAG,MAAM,kBAAkB,CAAC,OAAO,CAAC,CAAC;QACpD,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CAAC,gBAAgB,OAAO,qCAAqC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;QAC/F,CAAC;IACH,CAAC;IAED,2EAA2E;IAC3E,mFAAmF;IACnF,MAAM,YAAY,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAC9C,MAAM,UAAU,GAAG,aAAa,CAAC,CAAC,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC;IACnE,MAAM,IAAI,GAAG,kBAAkB,CAAC,MAAM,CAAC,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,EAAE,YAAY,EAAE,QAAQ,EAAE,IAAI,EAAE,YAAY,EAAE,UAAU,CAAC,CAAC;IAEjJ,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,sBAAsB,IAAI,MAAM,CAAC,CAAC,CAAC;IAC1D,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,sBAAsB,MAAM,IAAI,CAAC,CAAC,CAAC;IAE1D,IAAI,UAAU,EAAE,CAAC;QACf,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,MAAM,CAAC,iDAAiD,MAAM,CAAC,IAAI,UAAU,QAAQ,OAAO,CAAC,CAAC,CAAC;QAEjH,IAAI,OAAO,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;YAClC,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,MAAM,CAAC,sFAAsF,CAAC,CAAC,CAAC;YAElH,IAAI,MAAM,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;gBAC5B,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,MAAM,CAAC,qFAAqF,CAAC,CAAC,CAAC;YACnH,CAAC;QACH,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,MAAM,CAAC,oDAAoD,CAAC,CAAC,CAAC;QAClF,CAAC;IACH,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,qCAAqC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;IAC/E,CAAC;IAED,kCAAkC;IAClC,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,YAAY,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;IAEjE,uBAAuB;IACvB,IAAI,QAAQ,EAAE,CAAC;QACb,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,2CAA2C,CAAC,CAAC,CAAC;IACvE,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC,CAAC;IACtD,CAAC;IAED,4BAA4B;IAC5B,MAAM,OAAO,GAAG,IAAA,iBAAY,EAAC,IAAI,CAAC,CAAC;IACnC,MAAM,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAC3C,MAAM,OAAO,GAAG,YAAE,CAAC,QAAQ,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;IAE1C,+BAA+B;IAC/B,YAAE,CAAC,SAAS,CAAC,OAAO,EAAE,iCAAiC,SAAS,iBAAiB,CAAC,CAAC;IACnF,YAAE,CAAC,SAAS,CAAC,OAAO,EAAE,YAAY,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAEnE,gFAAgF;IAChF,sEAAsE;IACtE,IAAI,MAAM,GAAG,cAAI,CAAC,QAAQ,CAAC,cAAI,CAAC,OAAO,CAAC,SAAS,IAAI,GAAG,CAAC,CAAC,CAAC;IAC3D,IAAI,iBAAiB,GAAG,qBAAqB,MAAM,OAAO,CAAC;IAC3D,IAAI,gBAAgB,GAAG,oBAAoB,MAAM,OAAO,CAAC;IAEzD,6EAA6E;IAC7E,IAAI,CAAC;QACH,IAAI,YAAE,CAAC,UAAU,CAAC,gBAAgB,CAAC,EAAE,CAAC;YACpC,YAAE,CAAC,UAAU,CAAC,gBAAgB,CAAC,CAAC;QAClC,CAAC;QACD,IAAI,YAAE,CAAC,UAAU,CAAC,iBAAiB,CAAC,EAAE,CAAC;YACrC,YAAE,CAAC,UAAU,CAAC,iBAAiB,CAAC,CAAC;QACnC,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,MAAM,CAAC,8CAA8C,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;IAC3F,CAAC;IAED,gDAAgD;IAChD,MAAM,YAAY,GAAG,cAAI,CAAC,IAAI,CAAC,IAAA,aAAQ,EAAC,IAAI,CAAC,EAAE,WAAW,CAAC,CAAC;IAC5D,MAAM,YAAY,GAAG,YAAE,CAAC,QAAQ,CAAC,YAAY,EAAE,GAAG,CAAC,CAAC;IAEpD,qDAAqD;IACrD,IAAI,SAAS,GAAG,KAAK,CAAC;IACtB,IAAI,aAAa,GAAkB,IAAI,CAAC;IAExC,iFAAiF;IACjF,IAAI,WAAW,CAAC;IAChB,IAAI,aAAa,EAAE,CAAC;QAClB,uEAAuE;QACvE,sDAAsD;QACtD,MAAM,OAAO,GAAG,WAAW,aAAa,CAAC,UAAU,OAAO,OAAO,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;QAChI,WAAW,GAAG,IAAA,qBAAK,EAAC,MAAM,EAAE,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE;YAC3C,QAAQ,EAAE,IAAI;YACd,KAAK,EAAE,CAAC,QAAQ,EAAE,OAAO,EAAE,YAAY,CAAC;SACzC,CAAC,CAAC;IACL,CAAC;SAAM,CAAC;QACN,WAAW,GAAG,IAAA,qBAAK,EAAC,OAAO,EAAE,IAAI,EAAE;YACjC,QAAQ,EAAE,IAAI;YACd,KAAK,EAAE,CAAC,QAAQ,EAAE,OAAO,EAAE,YAAY,CAAC;SACzC,CAAC,CAAC;IACL,CAAC;IAED,gCAAgC;IAChC,WAAW,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE;QAC9B,YAAE,CAAC,SAAS,CAAC,YAAY,EAAE,0BAA0B,GAAG,CAAC,OAAO,IAAI,CAAC,CAAC;QACtE,OAAO,CAAC,KAAK,CAAC,eAAK,CAAC,GAAG,CAAC,yBAAyB,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;IACnE,CAAC,CAAC,CAAC;IAEH,0CAA0C;IAC1C,WAAW,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE;QAC9B,SAAS,GAAG,IAAI,CAAC;QACjB,aAAa,GAAG,IAAI,CAAC;IACvB,CAAC,CAAC,CAAC;IAEH,qDAAqD;IACrD,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC;IAEvD,kCAAkC;IAClC,MAAM,GAAG,GAAG,WAAW,CAAC,GAAG,CAAC;IAC5B,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,8CAA8C;QAC9C,IAAI,WAAW,GAAG,EAAE,CAAC;QACrB,IAAI,CAAC;YACH,YAAE,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;YAC3B,IAAI,YAAE,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;gBAChC,WAAW,GAAG,YAAE,CAAC,YAAY,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;YACtD,CAAC;QACH,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,sCAAsC;QACxC,CAAC;QAED,IAAI,WAAW,EAAE,CAAC;YAChB,OAAO,CAAC,KAAK,CAAC,eAAK,CAAC,GAAG,CAAC,sBAAsB,WAAW,EAAE,CAAC,CAAC,CAAC;YAC9D,MAAM,IAAI,KAAK,CAAC,2CAA2C,WAAW,EAAE,CAAC,CAAC;QAC5E,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,KAAK,CAAC,oFAAoF,CAAC,CAAC;QACxG,CAAC;IACH,CAAC;IAED,4EAA4E;IAC5E,IAAI,SAAS,EAAE,CAAC;QACd,IAAI,WAAW,GAAG,EAAE,CAAC;QACrB,IAAI,CAAC;YACH,YAAE,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;YAC3B,IAAI,YAAE,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;gBAChC,WAAW,GAAG,YAAE,CAAC,YAAY,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC;YAC7D,CAAC;QACH,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,sCAAsC;QACxC,CAAC;QAED,MAAM,OAAO,GAAG,WAAW;YACzB,CAAC,CAAC,yBAAyB,WAAW,EAAE;YACxC,CAAC,CAAC,wDAAwD,CAAC;QAC7D,MAAM,IAAI,KAAK,CAAC,6CAA6C,aAAa,IAAI,OAAO,EAAE,CAAC,CAAC;IAC3F,CAAC;IAED,IAAI,CAAC;QACH,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;IACvB,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,IAAI,WAAW,GAAG,EAAE,CAAC;QACrB,IAAI,CAAC;YACH,YAAE,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;YAC3B,IAAI,YAAE,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;gBAChC,WAAW,GAAG,YAAE,CAAC,YAAY,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC;YAC7D,CAAC;QACH,CAAC;QAAC,OAAO,OAAO,EAAE,CAAC;YACjB,sCAAsC;QACxC,CAAC;QAED,MAAM,OAAO,GAAG,WAAW;YACzB,CAAC,CAAC,yBAAyB,WAAW,EAAE;YACxC,CAAC,CAAC,wDAAwD,CAAC;QAC7D,MAAM,IAAI,KAAK,CAAC,qBAAqB,GAAG,gCAAgC,OAAO,EAAE,CAAC,CAAC;IACrF,CAAC;IAED,8BAA8B;IAC9B,MAAM,OAAO,GAAG,IAAA,iBAAY,EAAC,IAAI,CAAC,CAAC;IACnC,MAAM,WAAW,GAAG,GAAG,OAAO,MAAM,CAAC;IACrC,IAAI,CAAC;QACH,kCAAkC;QAClC,YAAE,CAAC,aAAa,CAAC,WAAW,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;QAE3C,4CAA4C;QAC5C,IAAI,CAAC,YAAE,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;YAChC,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;QACzD,CAAC;QAED,6DAA6D;QAC7D,MAAM,MAAM,GAAG,YAAE,CAAC,QAAQ,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC;QAC7C,YAAE,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QACrB,YAAE,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QAErB,yDAAyD;QACzD,YAAE,CAAC,UAAU,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;IACtC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,kCAAkC;QAClC,IAAI,CAAC;YACH,IAAI,YAAE,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;gBAC/B,YAAE,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;YAC7B,CAAC;QACH,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,wBAAwB;QAC1B,CAAC;QAED,4FAA4F;QAC5F,IAAI,YAAE,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;YAC3B,IAAI,CAAC;gBACH,MAAM,WAAW,GAAG,QAAQ,CAAC,YAAE,CAAC,YAAY,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;gBAC1E,2CAA2C;gBAC3C,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;gBAC7B,yFAAyF;gBACzF,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,MAAM,CAAC,OAAO,IAAI,8BAA8B,WAAW,GAAG,CAAC,CAAC,CAAC;gBACnF,OAAO;YACT,CAAC;YAAC,OAAO,QAAQ,EAAE,CAAC;gBAClB,0DAA0D;gBAC1D,IAAI,CAAC;oBACH,YAAE,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;oBACvB,kCAAkC;oBAClC,YAAE,CAAC,aAAa,CAAC,WAAW,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;oBAE3C,mCAAmC;oBACnC,IAAI,CAAC,YAAE,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;wBAChC,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAC;oBAClE,CAAC;oBAED,MAAM,MAAM,GAAG,YAAE,CAAC,QAAQ,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC;oBAC7C,YAAE,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;oBACrB,YAAE,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;oBACrB,YAAE,CAAC,UAAU,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;gBACtC,CAAC;gBAAC,OAAO,UAAU,EAAE,CAAC;oBACpB,oEAAoE;oBACpE,qCAAqC;oBACrC,IAAI,CAAC;wBACH,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;wBACrB,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,MAAM,CAAC,OAAO,IAAI,0DAA0D,CAAC,CAAC,CAAC;wBACjG,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,MAAM,CAAC,gCAAgC,GAAG,EAAE,CAAC,CAAC,CAAC;wBACjE,OAAO;oBACT,CAAC;oBAAC,OAAO,SAAS,EAAE,CAAC;wBACnB,MAAM,IAAI,KAAK,CAAC,2CAA2C,UAAU,CAAC,OAAO,EAAE,CAAC,CAAC;oBACnF,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;aAAM,CAAC;YACN,mFAAmF;YACnF,IAAI,CAAC;gBACH,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;gBACrB,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,MAAM,CAAC,OAAO,IAAI,0DAA0D,CAAC,CAAC,CAAC;gBACjG,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,MAAM,CAAC,gCAAgC,GAAG,EAAE,CAAC,CAAC,CAAC;gBACjE,OAAO;YACT,CAAC;YAAC,OAAO,SAAS,EAAE,CAAC;gBACnB,MAAM,IAAI,KAAK,CAAC,6BAA6B,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;YAChE,CAAC;QACH,CAAC;IACH,CAAC;IAED,4EAA4E;IAC5E,MAAM,SAAS,GAAG,kBAAkB,CAAC,MAAM,CAAC,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,EAAE,YAAY,EAAE,QAAQ,EAAE,GAAG,EAAE,YAAY,EAAE,UAAU,CAAC,CAAC;IAErJ,2DAA2D;IAC3D,MAAM,aAAa,GAAG,GAAG,OAAO,IAAI,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;IAC1D,YAAE,CAAC,SAAS,CAAC,OAAO,EAAE,8BAA8B,aAAa,MAAM,CAAC,CAAC;IAEzE,oEAAoE;IACpE,8CAA8C;IAC9C,MAAM,OAAO,GAAG,GAAG,IAAI,MAAM,CAAC;IAC9B,MAAM,GAAG,cAAI,CAAC,QAAQ,CAAC,cAAI,CAAC,OAAO,CAAC,SAAS,IAAI,GAAG,CAAC,CAAC,CAAC;IACvD,iBAAiB,GAAG,GAAG,CAAC,CAAC,CAAC,qBAAqB,MAAM,IAAI,OAAO,OAAO,CAAC,CAAC,CAAC,qBAAqB,MAAM,YAAY,CAAC;IAClH,gBAAgB,GAAG,GAAG,CAAC,CAAC,CAAC,oBAAoB,MAAM,IAAI,OAAO,OAAO,CAAC,CAAC,CAAC,oBAAoB,MAAM,YAAY,CAAC;IAE/G,oDAAoD;IACpD,WAAW,CAAC,KAAK,EAAE,CAAC;IAEpB,4CAA4C;IAC5C,YAAE,CAAC,SAAS,CAAC,OAAO,EAAE,mBAAmB,iBAAiB,IAAI,CAAC,CAAC;IAChE,YAAE,CAAC,SAAS,CAAC,OAAO,EAAE,kBAAkB,gBAAgB,MAAM,CAAC,CAAC;IAEhE,2BAA2B;IAC3B,YAAE,CAAC,SAAS,CAAC,OAAO,EAAE,uCAAuC,IAAI,IAAI,CAAC,CAAC;IACvE,YAAE,CAAC,SAAS,CAAC,OAAO,EAAE,yBAAyB,gBAAgB,MAAM,CAAC,CAAC;IAEvE,qDAAqD;IACrD,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,iCAAiC,CAAC,CAAC,CAAC;IAC3D,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC;IAExD,8DAA8D;IAC9D,IAAI,CAAC;QACH,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;IACvB,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,IAAI,WAAW,GAAG,EAAE,CAAC;QACrB,IAAI,CAAC;YACH,IAAI,YAAE,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;gBAChC,WAAW,GAAG,YAAE,CAAC,YAAY,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC;YAC7D,CAAC;QACH,CAAC;QAAC,OAAO,OAAO,EAAE,CAAC;YACjB,SAAS;QACX,CAAC;QAED,MAAM,OAAO,GAAG,WAAW;YACzB,CAAC,CAAC,yBAAyB,WAAW,EAAE;YACxC,CAAC,CAAC,wDAAwD,CAAC;QAC7D,MAAM,IAAI,KAAK,CAAC,qBAAqB,GAAG,mCAAmC,OAAO,EAAE,CAAC,CAAC;IACxF,CAAC;IAED,6CAA6C;IAC7C,IAAI,WAAW,GAAG,KAAK,CAAC;IACxB,IAAI,CAAC;QACH,IAAI,YAAE,CAAC,UAAU,CAAC,gBAAgB,CAAC,IAAI,YAAE,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC;YAChF,WAAW,GAAG,IAAI,CAAC;QACrB,CAAC;IACH,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,qBAAqB;IACvB,CAAC;IAED,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,MAAM,CAAC,uCAAuC,gBAAgB,EAAE,CAAC,CAAC,CAAC;QACrF,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,MAAM,CAAC,gCAAgC,GAAG,qCAAqC,CAAC,CAAC,CAAC;QACpG,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,MAAM,CAAC,kDAAkD,IAAI,qBAAqB,CAAC,CAAC,CAAC;IACzG,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,OAAO,IAAI,+BAA+B,GAAG,GAAG,CAAC,CAAC,CAAC;IAC3E,OAAO,CAAC,GAAG,CAAC,iBAAiB,eAAK,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;IAClE,OAAO,CAAC,GAAG,CAAC,eAAe,eAAK,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;IAEhE,yCAAyC;IACzC,IAAI,QAAQ,EAAE,CAAC;QACb,OAAO,CAAC,GAAG,CAAC,0BAA0B,eAAK,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;IAC9E,CAAC;AACH,CAAC;AAED;;GAEG;AACH,SAAS,WAAW;IAClB,MAAM,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IAChC,IAAI,UAAU,KAAK,KAAK;QAAE,OAAO,OAAO,CAAC;IACzC,IAAI,UAAU,KAAK,OAAO;QAAE,OAAO,OAAO,CAAC;IAC3C,OAAO,OAAO,CAAC,CAAC,mBAAmB;AACrC,CAAC;AAED;;GAEG;AACH,SAAS,OAAO;IACd,OAAO,OAAO,CAAC,QAAQ,KAAK,QAAQ,CAAC;AACvC,CAAC;AAED;;GAEG;AACH,SAAS,sBAAsB;IAC7B,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC;QACf,OAAO,IAAI,CAAC,CAAC,2BAA2B;IAC1C,CAAC;IACD,IAAI,CAAC;QACH,2CAA2C;QAC3C,MAAM,MAAM,GAAG,IAAA,wBAAQ,EAAC,wCAAwC,CAAC,CAAC,QAAQ,EAAE,CAAC;QAC7E,8CAA8C;QAC9C,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC;QACjD,IAAI,KAAK,IAAI,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;YACtB,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,uCAAuC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YAC3E,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,MAAM,CAAC,gEAAgE,CAAC,CAAC,CAAC;QAC5F,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,MAAM,CAAC,6CAA6C,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;QACxF,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED;;GAEG;AACH,SAAS,wBAAwB;IAC/B,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;QACjC,OAAO,IAAI,CAAC;IACd,CAAC;IACD,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,IAAA,wBAAQ,EAAC,uBAAuB,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC;QACvE,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,mCAAmC,CAAC,CAAC;QAChE,IAAI,KAAK,IAAI,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;YACtB,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,uCAAuC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YAC3E,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,MAAM,CAAC,2DAA2D,CAAC,CAAC,CAAC;QACvF,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,MAAM,CAAC,6CAA6C,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;QACxF,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED;;;;;GAKG;AACH,SAAS,mBAAmB,CAAC,MAAc,EAAE,aAAqB;IAChE,kEAAkE;IAClE,MAAM,SAAS,GAAG,MAAM,CAAC,OAAO,CAAC,eAAe,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACnE,MAAM,UAAU,GAAG,QAAQ,SAAS,EAAE,CAAC;IAEvC,IAAI,CAAC;QACH,gCAAgC;QAChC,IAAI,CAAC;YACH,IAAA,wBAAQ,EAAC,eAAe,UAAU,cAAc,CAAC,CAAC;YAClD,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,iCAAiC,UAAU,EAAE,CAAC,CAAC,CAAC;QACzE,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,qDAAqD;QACvD,CAAC;QAED,uCAAuC;QACvC,IAAA,wBAAQ,EAAC,oBAAoB,aAAa,SAAS,UAAU,2BAA2B,CAAC,CAAC;QAC1F,IAAA,wBAAQ,EAAC,eAAe,UAAU,KAAK,CAAC,CAAC;QAEzC,kEAAkE;QAClE,mEAAmE;QACnE,IAAA,wBAAQ,EAAC,eAAe,aAAa,aAAa,CAAC,CAAC;QAEpD,+CAA+C;QAC/C,MAAM,OAAO,GAAG,IAAA,wBAAQ,EAAC,sBAAsB,UAAU,UAAU,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QAClG,MAAM,UAAU,GAAG,WAAW,OAAO,EAAE,CAAC;QAExC,+BAA+B;QAC/B,IAAI,CAAC,YAAE,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;YAC/B,MAAM,IAAI,KAAK,CAAC,cAAc,UAAU,YAAY,CAAC,CAAC;QACxD,CAAC;QAED,yEAAyE;QACzE,uEAAuE;QACvE,MAAM,UAAU,GAAG,IAAA,wBAAQ,EAAC,sBAAsB,UAAU,UAAU,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QAErG,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,2BAA2B,UAAU,KAAK,UAAU,UAAU,UAAU,EAAE,CAAC,CAAC,CAAC;QACpG,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,CAAC;IAChD,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,MAAM,CAAC,6CAA6C,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;QACxF,sBAAsB;QACtB,IAAI,CAAC;YACH,IAAA,wBAAQ,EAAC,eAAe,UAAU,cAAc,CAAC,CAAC;YAClD,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,qCAAqC,UAAU,EAAE,CAAC,CAAC,CAAC;QAC7E,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,kCAAkC,UAAU,EAAE,CAAC,CAAC,CAAC;QAC1E,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,SAAS,kBAAkB,CACzB,IAAY,EACZ,SAAiB,EACjB,QAAgB,EAChB,aAAiC,EACjC,MAA0B,EAC1B,YAAqB,EACrB,QAAkB,EAClB,GAAmB,EACnB,SAAyB,EACzB,UAA0B;IAE1B,MAAM,QAAQ,GAAG,WAAW,EAAE,CAAC;IAC/B,MAAM,UAAU,GAAG,IAAI,KAAK,QAAQ,CAAC;IACrC,MAAM,YAAY,GAAG,OAAO,EAAE,CAAC;IAE/B,uCAAuC;IACvC,MAAM,MAAM,GAAG,cAAI,CAAC,QAAQ,CAAC,cAAI,CAAC,OAAO,CAAC,SAAS,IAAI,GAAG,CAAC,CAAC,CAAC;IAE7D,0FAA0F;IAC1F,MAAM,iBAAiB,GAAG,qBAAqB,MAAM,OAAO,CAAC;IAC7D,MAAM,gBAAgB,GAAG,oBAAoB,MAAM,OAAO,CAAC;IAE3D,+CAA+C;IAC/C,MAAM,SAAS,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;IAEnD,2DAA2D;IAC3D,MAAM,cAAc,GAAG,GAAa,EAAE;QACpC,IAAI,YAAY,EAAE,CAAC;YACjB,MAAM,gBAAgB,GAAG,sBAAsB,EAAE,CAAC;YAClD,IAAI,gBAAgB,EAAE,CAAC;gBACrB,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,uCAAuC,gBAAgB,EAAE,CAAC,CAAC,CAAC;gBACnF,OAAO;oBACL,SAAS,EAAE,gCAAgC,gBAAgB,EAAE;oBAC7D,SAAS,EAAE,4BAA4B;iBACxC,CAAC;YACJ,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,MAAM,CAAC,iFAAiF,CAAC,CAAC,CAAC;gBAC7G,OAAO;oBACL,SAAS,EAAE,uBAAuB;oBAClC,SAAS,EAAE,4BAA4B;iBACxC,CAAC;YACJ,CAAC;QACH,CAAC;aAAM,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,IAAI,SAAS,IAAI,IAAI,EAAE,CAAC;YAC7D,0CAA0C;YAC1C,iFAAiF;YACjF,MAAM,MAAM,GAAG,UAAU,CAAC,CAAC,CAAC,QAAQ,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACtD,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,wCAAwC,SAAS,SAAS,UAAU,IAAI,SAAS,GAAG,CAAC,CAAC,CAAC;YAC9G,OAAO;gBACL,SAAS,EAAE,kBAAkB,SAAS,EAAE;gBACxC,SAAS,EAAE,6BAA6B,MAAM,EAAE;aACjD,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,0DAA0D;YAC1D,OAAO;gBACL,SAAS,EAAE,cAAc;gBACzB,SAAS,EAAE,4BAA4B;aACxC,CAAC;QACJ,CAAC;IACH,CAAC,CAAC;IAEF,IAAI,IAAI,KAAK,OAAO,EAAE,CAAC;QACrB,sBAAsB;QACtB,MAAM,IAAI,GAAG;YACX,UAAU,EAAE,KAAK;YACjB,MAAM,EAAE,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM;YACnC,IAAI,EAAE,SAAS;YACf,MAAM,EAAE,GAAG;YACX,SAAS,EAAE,SAAS;YACpB,QAAQ,EAAE,gBAAgB,QAAQ,oBAAoB;YACtD,SAAS,EAAE,0BAA0B;YACrC,GAAG,cAAc,EAAE,EAAE,mBAAmB;YACxC,SAAS,EAAE,gCAAgC;SAC5C,CAAC;QAEF,yDAAyD;QACzD,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;YACjC,gEAAgE;YAChE,MAAM,cAAc,GAAG,YAAE,CAAC,UAAU,CAAC,qBAAqB,CAAC;gBACpC,YAAE,CAAC,UAAU,CAAC,kBAAkB,CAAC;gBACjC,OAAO,CAAC,GAAG,CAAC,UAAU,KAAK,QAAQ,CAAC;YAE3D,IAAI,cAAc,EAAE,CAAC;gBACnB,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;YAC3B,CAAC;QACH,CAAC;QAED,6BAA6B;QAC7B,IAAI,aAAa,EAAE,CAAC;YAClB,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;QACtC,CAAC;QAED,iCAAiC;QACjC,IAAI,YAAY,EAAE,CAAC;YACjB,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,iBAAiB,YAAY,EAAE,CAAC,CAAC;QACxD,CAAC;QAED,mDAAmD;QACnD,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,QAAQ,iBAAiB,gBAAgB,CAAC,CAAC;QACjE,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,QAAQ,gBAAgB,gBAAgB,CAAC,CAAC;QAE/D,IAAI,QAAQ,EAAE,CAAC;YACb,IAAI,CAAC,YAAY,EAAE,CAAC;gBAClB,wEAAwE;gBACxE,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,gBAAgB,CAAC,CAAC;YACzD,CAAC;YACD,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,MAAM,EAAE,YAAY,CAAC,CAAC;QAC9C,CAAC;aAAM,CAAC;YACN,2CAA2C;YAC3C,IAAI,UAAU,EAAE,CAAC;gBACf,IAAI,YAAY,EAAE,CAAC;oBACjB,+BAA+B;oBAC/B,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;gBACjC,CAAC;qBAAM,CAAC;oBACN,2EAA2E;oBAC3E,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,gBAAgB,CAAC,CAAC;oBACvD,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;gBAC/B,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,IAAI,YAAY,EAAE,CAAC;oBACjB,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,OAAO,EAAE,SAAS,EAAE,gBAAgB,CAAC,CAAC;gBAC9D,CAAC;qBAAM,CAAC;oBACN,gEAAgE;oBAChE,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,gBAAgB,CAAC,CAAC;oBACvD,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;gBAC/B,CAAC;YACH,CAAC;QACH,CAAC;QAED,gCAAgC;QAChC,IAAI,CAAC,IAAI,CACP,SAAS,EAAE,WAAW,EACtB,SAAS,EAAE,YAAY,EACvB,SAAS,EAAE,SAAS,CACrB,CAAC;QAEF,OAAO,IAAI,CAAC;IACd,CAAC;SAAM,CAAC,CAAC,QAAQ;QACf,sCAAsC;QACtC,IAAI,YAAY,GAAG,kCAAkC,CAAC;QACtD,IAAI,YAAY,EAAE,CAAC;YACjB,YAAY,IAAI,mBAAmB,YAAY,EAAE,CAAC;QACpD,CAAC;QAED,MAAM,IAAI,GAAG;YACX,UAAU,EAAE,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,4BAA4B;YAC9D,MAAM,EAAE,UAAU,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,MAAM;YAC1C,IAAI,EAAE,SAAS;YACf,MAAM,EAAE,GAAG;YACX,SAAS,EAAE,SAAS;YACpB,SAAS,EAAE,aAAa;YACxB,QAAQ,EAAE,gBAAgB,QAAQ,oBAAoB;YACtD,SAAS,EAAE,0BAA0B;YACrC,GAAG,cAAc,EAAE,EAAE,mBAAmB;YACxC,SAAS,EAAE,YAAY;SACxB,CAAC;QAEF,mGAAmG;QACnG,yEAAyE;QACzE,IAAI,YAAY,EAAE,CAAC;YACjB,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,iBAAiB,YAAY,EAAE,CAAC,CAAC;QACxD,CAAC;QAED,mDAAmD;QACnD,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,QAAQ,iBAAiB,gBAAgB,CAAC,CAAC;QACjE,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,QAAQ,gBAAgB,gBAAgB,CAAC,CAAC;QAE/D,IAAI,QAAQ,EAAE,CAAC;YACb,IAAI,CAAC,YAAY,EAAE,CAAC;gBAClB,wEAAwE;gBACxE,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,gBAAgB,CAAC,CAAC;YACzC,CAAC;YACD,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,MAAM,EAAE,YAAY,CAAC,CAAC;QAC9C,CAAC;aAAM,CAAC;YACN,8DAA8D;YAC9D,IAAI,UAAU,EAAE,CAAC;gBACf,IAAI,YAAY,EAAE,CAAC;oBACjB,6CAA6C;oBAC7C,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,OAAO,EAAE,SAAS,EAAE,gBAAgB,CAAC,CAAC;gBAC9D,CAAC;qBAAM,CAAC;oBACN,gCAAgC;oBAChC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,KAAK,EAAE,SAAS,EAAE,gBAAgB,CAAC,CAAC;gBAC5D,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,IAAI,CACP,SAAS,EAAE,mBAAmB,EAC9B,UAAU,EAAE,aAAa,EACzB,SAAS,EAAE,gBAAgB,CAC5B,CAAC;YACJ,CAAC;QACH,CAAC;QAED,IAAI,CAAC,IAAI,CACP,SAAS,EAAE,WAAW,EACtB,SAAS,EAAE,YAAY,EACvB,SAAS,EAAE,SAAS,CACrB,CAAC;QAEF,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,kBAAkB,CAAC,OAAe;IAE/C,IAAI,OAAO,KAAK,qBAAqB,IAAI,OAAO,EAAE,EAAE,CAAC;QACnD,0DAA0D;QAC1D,IAAI,CAAC;YACH,uCAAuC;YACvC,IAAA,yBAAoB,EAAC,CAAC,IAAI,EAAE,YAAY,EAAE,+BAA+B,CAAC,CAAC,CAAC;YAC5E,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,gDAAgD,CAAC,CAAC,CAAC;YAC3E,OAAO,IAAI,CAAC;QACd,CAAC;QAAC,OAAO,YAAY,EAAE,CAAC;YACtB,oFAAoF;YACpF,IAAI,CAAC;gBACH,uCAAuC;gBACvC,IAAA,yBAAoB,EAAC,CAAC,IAAI,EAAE,YAAY,EAAE,MAAM,CAAC,CAAC,CAAC;gBACnD,0DAA0D;gBAC1D,IAAI,CAAC;oBACH,MAAM,WAAW,CAAC,SAAS,OAAO,EAAE,CAAC,CAAC,CAAC,wCAAwC;oBAC/E,iEAAiE;oBACjE,MAAM,IAAI,KAAK,CAAC,8CAA8C,OAAO,iHAAiH,CAAC,CAAC;gBAC1L,CAAC;gBAAC,OAAO,UAAU,EAAE,CAAC;oBACpB,yFAAyF;gBAC3F,CAAC;YACH,CAAC;YAAC,OAAO,iBAAiB,EAAE,CAAC;gBAC3B,6CAA6C;YAC/C,CAAC;QACH,CAAC;IACH,CAAC;IAED,sEAAsE;IACtE,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACrC,IAAA,oBAAI,EAAC,SAAS,OAAO,EAAE,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE;YACjD,IAAI,KAAK,EAAE,CAAC;gBACV,IAAI,OAAO,GAAG,GAAG,OAAO,mCAAmC,CAAC;gBAC5D,IAAI,OAAO,KAAK,qBAAqB,IAAI,OAAO,EAAE,EAAE,CAAC;oBACjD,OAAO,IAAI,oEAAoE,CAAC;gBACpF,CAAC;gBACD,MAAM,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;gBAC3B,OAAO;YACT,CAAC;YACD,IAAI,CAAC,CAAC,OAAO,KAAK,qBAAqB,IAAI,OAAO,EAAE,CAAC,EAAE,CAAC;gBACnD,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,SAAS,OAAO,QAAQ,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC;YACvE,CAAC;YACD,OAAO,CAAC,IAAI,CAAC,CAAC;QAChB,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,kBAAkB,CAAC,OAAe;IAC/C,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;IAClC,IAAI,iBAAqC,CAAC;IAC1C,IAAI,gBAAgB,GAAG,KAAK,CAAC;IAC7B,IAAI,yBAAyB,GAAG,kBAAkB,OAAO,YAAY,CAAC;IAEtE,IAAI,QAAQ,KAAK,OAAO,EAAE,CAAC;QACxB,uDAAuD;QACvD,IAAI,CAAC;YACH,MAAM,WAAW,CAAC,eAAe,CAAC,CAAC;YACnC,IAAI,OAAO,KAAK,oBAAoB,EAAE,CAAC;gBACrC,iBAAiB,GAAG,iBAAiB,CAAC;YACxC,CAAC;iBAAM,CAAC;gBACN,iBAAiB,GAAG,sDAAsD,CAAC;YAC7E,CAAC;YACD,yBAAyB,GAAG,kDAAkD,iBAAiB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;QACzH,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,IAAI,CAAC;gBACH,MAAM,WAAW,CAAC,WAAW,CAAC,CAAC;gBAC/B,IAAI,OAAO,KAAK,oBAAoB,EAAE,CAAC;oBACrC,iBAAiB,GAAG,iBAAiB,CAAC;gBACxC,CAAC;qBAAM,CAAC;oBACN,iBAAiB,GAAG,qBAAqB,CAAC;gBAC5C,CAAC;gBACD,yBAAyB,GAAG,uBAAuB,iBAAiB,EAAE,CAAC;YACzE,CAAC;YAAC,OAAO,EAAE,EAAE,CAAC;gBACZ,IAAI,CAAC;oBACH,MAAM,WAAW,CAAC,cAAc,CAAC,CAAC;oBAClC,iBAAiB,GAAG,MAAM,CAAC;oBAC3B,yBAAyB,GAAG,kBAAkB,iBAAiB,EAAE,CAAC;gBACpE,CAAC;gBAAC,OAAO,EAAE,EAAE,CAAC;oBACZ,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,MAAM,CAAC,mEAAmE,CAAC,CAAC,CAAC;oBAC/F,OAAO,KAAK,CAAC;gBACf,CAAC;YACH,CAAC;QACH,CAAC;IACJ,CAAC;SAAM,IAAI,QAAQ,KAAK,QAAQ,EAAE,CAAC;QACjC,8DAA8D;QAC9D,IAAI,CAAC;YACH,MAAM,WAAW,CAAC,YAAY,CAAC,CAAC;YAChC,IAAI,OAAO,KAAK,qBAAqB,EAAE,CAAC;gBACtC,iBAAiB,GAAG,+BAA+B,CAAC;gBACpD,gBAAgB,GAAG,IAAI,CAAC;gBACxB,yBAAyB,GAAG,mDAAmD,iBAAiB,EAAE,CAAC;gBACnG,sCAAsC;gBACtC,IAAI,CAAC;oBACH,IAAA,yBAAoB,EAAC,CAAC,IAAI,EAAE,YAAY,EAAE,MAAM,CAAC,CAAC,CAAC;oBACnD,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,MAAM,CAAC,uEAAuE,CAAC,CAAC,CAAC;oBACnG,MAAM,EAAE,gBAAgB,EAAE,GAAG,MAAM,kBAAQ,CAAC,MAAM,CAAC,CAAC;4BAChD,IAAI,EAAE,SAAS;4BACf,IAAI,EAAE,kBAAkB;4BACxB,OAAO,EAAE,cAAc,iBAAiB,gFAAgF;4BACxH,OAAO,EAAE,KAAK;yBACjB,CAAC,CAAC,CAAC;oBACJ,IAAI,gBAAgB,EAAE,CAAC;wBACrB,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,yCAAyC,CAAC,CAAC,CAAC;wBACnE,IAAA,yBAAoB,EAAC,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC,CAAC;wBAC5C,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,4BAA4B,CAAC,CAAC,CAAC;oBACzD,CAAC;yBAAM,CAAC;wBACN,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,GAAG,CAAC,yDAAyD,CAAC,CAAC,CAAC;wBAClF,OAAO,KAAK,CAAC;oBACf,CAAC;gBACH,CAAC;gBAAC,OAAO,CAAC,EAAE,CAAC,CAAC,qCAAqC,CAAC,CAAC;YACvD,CAAC;iBAAM,CAAC,CAAC,kBAAkB;gBACzB,iBAAiB,GAAG,MAAM,CAAC;gBAC3B,yBAAyB,GAAG,gBAAgB,iBAAiB,EAAE,CAAC;YAClE,CAAC;QACH,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACV,qCAAqC;YACrC,IAAI,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,4BAA4B,CAAC,EAAE,CAAC;gBAChE,OAAO,CAAC,KAAK,CAAC,eAAK,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;YAClE,CAAC;iBAAM,CAAC;gBACJ,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,MAAM,CAAC,kFAAkF,CAAC,CAAC,CAAC;gBAC9G,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC,CAAC;YACrD,CAAC;YACF,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,MAAM,CAAC,2CAA2C,QAAQ,GAAG,CAAC,CAAC,CAAC;QAClF,OAAO,KAAK,CAAC;IACf,CAAC;IAED,sCAAsC;IACtC,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACrB,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,GAAG,CAAC,oEAAoE,CAAC,CAAC,CAAC;QAC7F,OAAO,KAAK,CAAC;IACjB,CAAC;IAED,iCAAiC;IACjC,MAAM,EAAE,cAAc,EAAE,GAAG,MAAM,kBAAQ,CAAC,MAAM,CAAC,CAAC;YAChD,IAAI,EAAE,SAAS;YACf,IAAI,EAAE,gBAAgB;YACtB,OAAO,EAAE,GAAG,iBAAiB,8CAA8C;YAC3E,OAAO,EAAE,IAAI;SACd,CAAC,CAAC,CAAC;IAEJ,IAAI,CAAC,cAAc,EAAE,CAAC;QACpB,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,MAAM,CAAC,iCAAiC,CAAC,CAAC,CAAC;QAC7D,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,wBAAwB,yBAAyB,EAAE,CAAC,CAAC,CAAC;QAC7E,OAAO,KAAK,CAAC;IACf,CAAC;IAED,2BAA2B;IAC3B,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,yBAAyB,iBAAiB,KAAK,CAAC,CAAC,CAAC;IACzE,IAAI,CAAC;QACH,IAAI,QAAQ,KAAK,QAAQ,EAAE,CAAC;YAC1B,oCAAoC;YACpC,IAAI,gBAAgB,EAAE,CAAC;gBACrB,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,gDAAgD,CAAC,CAAC,CAAC;gBAC1E,IAAA,yBAAoB,EAAC,CAAC,KAAK,EAAE,oBAAoB,CAAC,CAAC,CAAC;YACtD,CAAC;YACD,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,yBAAyB,iBAAiB,YAAY,CAAC,CAAC,CAAC;YAChF,IAAA,yBAAoB,EAAC,CAAC,SAAS,EAAE,iBAAiB,CAAC,CAAC,CAAC;QACvD,CAAC;aAAM,CAAC;YACN,8CAA8C;YAC9C,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,YAAY,yBAAyB,EAAE,CAAC,CAAC,CAAC;YACjE,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;gBAClC,iDAAiD;gBACjD,MAAM,YAAY,GAAG,IAAA,qBAAK,EAAC,yBAAyB,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;gBACzF,YAAY,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,iCAAiC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;gBAC5H,YAAY,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;YACrC,CAAC,CAAC,CAAC;QACL,CAAC;QAED,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,2CAA2C,iBAAiB,EAAE,CAAC,CAAC,CAAC;QAEzF,6DAA6D;QAC7D,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC,CAAC;QACrD,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,cAAc;QACvE,IAAI,CAAC;YACH,MAAM,kBAAkB,CAAC,OAAO,CAAC,CAAC;YAClC,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAC,CAAC;YACrD,OAAO,IAAI,CAAC;QACd,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,GAAG,CAAC,0BAA0B,OAAO,uBAAuB,CAAC,CAAC,CAAC;YACjF,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,IAAI,6BAA6B,CAAC,CAAC,CAAC;YACtE,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,MAAM,CAAC,kDAAkD,CAAC,CAAC,CAAC;YAC9E,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,GAAG,CAAC,qBAAqB,iBAAiB,KAAK,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;QACnF,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,MAAM,CAAC,2CAA2C,CAAC,CAAC,CAAC;QACvE,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC,CAAC;QACnD,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED;;GAEG;AACH,SAAS,WAAW,CAAC,OAAe;IAClC,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACrC,IAAA,oBAAI,EAAC,OAAO,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE;YACtC,IAAI,KAAK,EAAE,CAAC;gBACV,sCAAsC;gBACtC,IAAI,MAAM,EAAE,CAAC;oBACX,yEAAyE;gBAC3E,CAAC;gBACD,MAAM,CAAC,KAAK,CAAC,CAAC;gBACd,OAAO;YACT,CAAC;YACD,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;QACzB,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;GAEG;AACY,KAAK,UAAU,OAAO,CAAC,KAAwB,EAAE,OAAqB;IACnF,kDAAkD;IAClD,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;IAEvD,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzB,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;IACtD,CAAC;IAED,wCAAwC;IACxC,MAAM,WAAW,GAAa,EAAE,CAAC;IACjC,MAAM,UAAU,GAAa,EAAE,CAAC;IAChC,MAAM,iBAAiB,GAAa,EAAE,CAAC;IAEvC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;QACrB,IAAI,CAAC,IAAA,aAAQ,EAAC,IAAI,CAAC,EAAE,CAAC;YACpB,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACxB,CAAC;aAAM,IAAI,IAAA,gBAAW,EAAC,IAAI,CAAC,EAAE,CAAC;YAC7B,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC/B,CAAC;aAAM,CAAC;YACN,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACzB,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,gBAAgB;IAChB,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC1B,OAAO,CAAC,KAAK,CAAC,eAAK,CAAC,GAAG,CAAC,wCAAwC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;IAC5F,CAAC;IAED,IAAI,iBAAiB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACjC,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,MAAM,CAAC,8CAA8C,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;IAC1G,CAAC;IAED,2BAA2B;IAC3B,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC7B,IAAI,iBAAiB,CAAC,MAAM,GAAG,CAAC,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC5D,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,uCAAuC,CAAC,CAAC,CAAC;YAClE,OAAO;QACT,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC;IAC3C,CAAC;IAED,4BAA4B;IAC5B,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,YAAY,WAAW,CAAC,MAAM,MAAM,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,KAAK,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;IAE5H,qDAAqD;IACrD,MAAM,UAAU,GAAa,EAAE,CAAC;IAChC,MAAM,SAAS,GAAsC,EAAE,CAAC;IAExD,KAAK,MAAM,IAAI,IAAI,WAAW,EAAE,CAAC;QAC/B,IAAI,CAAC;YACH,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,MAAM,UAAU,CAAC,MAAM,GAAG,SAAS,CAAC,MAAM,GAAG,iBAAiB,CAAC,MAAM,GAAG,CAAC,IAAI,WAAW,CAAC,MAAM,kBAAkB,IAAI,EAAE,CAAC,CAAC,CAAC;YAEjJ,4FAA4F;YAC5F,IAAI,IAAA,gBAAW,EAAC,IAAI,CAAC,EAAE,CAAC;gBACtB,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,MAAM,CAAC,OAAO,IAAI,sBAAsB,CAAC,CAAC,CAAC;gBAC7D,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAC7B,SAAS;YACX,CAAC;YAED,MAAM,aAAa,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;YACnC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACtB,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,SAAS,IAAI,wBAAwB,CAAC,CAAC,CAAC;QAClE,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,yEAAyE;YACzE,IAAI,IAAA,gBAAW,EAAC,IAAI,CAAC,EAAE,CAAC;gBACtB,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,MAAM,CAAC,OAAO,IAAI,qDAAqD,CAAC,CAAC,CAAC;gBAC5F,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC/B,CAAC;iBAAM,CAAC;gBACN,2EAA2E;gBAC3E,qFAAqF;gBACrF,IAAI,CAAC;oBACH,MAAM,MAAM,GAAG,IAAA,iBAAY,EAAC,IAAI,CAAC,CAAC;oBAClC,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,qBAAqB,CAAC;oBAEvF,6DAA6D;oBAC7D,MAAM,QAAQ,GAAG,IAAA,wBAAQ,EAAC,kBAAkB,OAAO,aAAa,IAAI,kBAAkB,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC;oBAC9G,IAAI,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC;wBACpB,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,MAAM,CAAC,OAAO,IAAI,kEAAkE,CAAC,CAAC,CAAC;wBACzG,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,MAAM,CAAC,6DAA6D,CAAC,CAAC,CAAC;wBAEzF,sCAAsC;wBACtC,IAAI,IAAA,8BAAyB,EAAC,IAAI,CAAC,EAAE,CAAC;4BACpC,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,2CAA2C,IAAI,GAAG,CAAC,CAAC,CAAC;wBAC/E,CAAC;6BAAM,CAAC;4BACN,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,MAAM,CAAC,yCAAyC,IAAI,mCAAmC,CAAC,CAAC,CAAC;wBAC9G,CAAC;wBAED,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBAC/B,CAAC;yBAAM,CAAC;wBACN,OAAO,CAAC,KAAK,CAAC,eAAK,CAAC,GAAG,CAAC,0BAA0B,IAAI,MAAM,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;wBAC9E,SAAS,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;oBACjD,CAAC;gBACH,CAAC;gBAAC,OAAO,OAAO,EAAE,CAAC;oBACjB,sEAAsE;oBACtE,OAAO,CAAC,KAAK,CAAC,eAAK,CAAC,GAAG,CAAC,0BAA0B,IAAI,MAAM,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;oBAC9E,SAAS,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;gBACjD,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED,UAAU;IACV,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC;IAEzC,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC1B,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,0BAA0B,UAAU,CAAC,MAAM,MAAM,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,KAAK,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;IAC1I,CAAC;IAED,IAAI,iBAAiB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACjC,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,MAAM,CAAC,wBAAwB,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;IACpF,CAAC;IAED,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACzB,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,GAAG,CAAC,qBAAqB,SAAS,CAAC,MAAM,MAAM,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,KAAK,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;IACjJ,CAAC;IAED,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC1B,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,MAAM,CAAC,sBAAsB,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;IAC3E,CAAC;IAED,uCAAuC;IACvC,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAClD,MAAM,IAAI,KAAK,CAAC,uDAAuD,CAAC,CAAC;IAC3E,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"start.js","sourceRoot":"","sources":["../../../src/commands/vm/start.ts"],"names":[],"mappings":"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"}
@@ -8,29 +8,13 @@ const fs_1 = __importDefault(require("fs"));
8
8
  const chalk_1 = __importDefault(require("chalk"));
9
9
  const vm_1 = require("../../utils/vm");
10
10
  const child_process_1 = require("child_process");
11
- /**
12
- * Destroys a macvtap device associated with a VM (Linux only)
13
- */
14
- function destroyMacvtapDevice(vmName) {
15
- const sanitized = vmName.replace(/[^a-zA-Z0-9]/g, '').slice(0, 10);
16
- const deviceName = `mcvt-${sanitized}`;
17
- try {
18
- (0, child_process_1.execSync)(`ip link del ${deviceName} 2>/dev/null`);
19
- console.log(chalk_1.default.gray(`Removed macvtap device: ${deviceName}`));
20
- }
21
- catch (e) {
22
- console.log(chalk_1.default.gray(`No macvtap device to remove for VM: ${vmName}`));
23
- }
24
- }
25
11
  /**
26
12
  * Clean up socket files associated with a VM
27
13
  */
28
14
  function cleanupSocketFiles(name, pid) {
29
15
  try {
30
- // Try to clean up socket files with all naming formats (current, legacy with PID, old legacy)
16
+ // Try to clean up socket files with both new and old naming formats
31
17
  const socketPaths = [
32
- `/tmp/qemu-serial-${name}.sock`,
33
- `/tmp/qemu-monitor-${name}.sock`,
34
18
  `/tmp/qemu-serial-${name}-${pid}.sock`,
35
19
  `/tmp/qemu-monitor-${name}-${pid}.sock`,
36
20
  `/tmp/qemu-serial-${pid}.sock`,
@@ -113,10 +97,6 @@ async function stopSingleVm(name, options = {}) {
113
97
  }
114
98
  // Clean up socket files
115
99
  cleanupSocketFiles(name, pid);
116
- // Clean up macvtap device (Linux only)
117
- if (process.platform === 'linux') {
118
- destroyMacvtapDevice(name);
119
- }
120
100
  console.log(chalk_1.default.green(`VM "${name}" stopped successfully`));
121
101
  }
122
102
  catch (error) {
@@ -130,10 +110,6 @@ async function stopSingleVm(name, options = {}) {
130
110
  }
131
111
  // Still try to clean up socket files
132
112
  cleanupSocketFiles(name, pid);
133
- // Clean up macvtap device (Linux only)
134
- if (process.platform === 'linux') {
135
- destroyMacvtapDevice(name);
136
- }
137
113
  }
138
114
  catch (e) {
139
115
  // Ignore errors when removing PID file