node-av 6.1.1 → 6.2.0-beta.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +29 -0
- package/dist/api/audio-frame-buffer.d.ts +73 -1
- package/dist/api/audio-frame-buffer.js +127 -1
- package/dist/api/audio-frame-buffer.js.map +1 -1
- package/dist/api/bitstream-filter.d.ts +82 -4
- package/dist/api/bitstream-filter.js +197 -100
- package/dist/api/bitstream-filter.js.map +1 -1
- package/dist/api/decoder.d.ts +5 -0
- package/dist/api/decoder.js +12 -5
- package/dist/api/decoder.js.map +1 -1
- package/dist/api/demuxer.d.ts +10 -1
- package/dist/api/demuxer.js +114 -31
- package/dist/api/demuxer.js.map +1 -1
- package/dist/api/encoder-pool.d.ts +43 -1
- package/dist/api/encoder-pool.js +113 -9
- package/dist/api/encoder-pool.js.map +1 -1
- package/dist/api/encoder.d.ts +2 -0
- package/dist/api/encoder.js +105 -41
- package/dist/api/encoder.js.map +1 -1
- package/dist/api/filter-complex.d.ts +16 -10
- package/dist/api/filter-complex.js +129 -81
- package/dist/api/filter-complex.js.map +1 -1
- package/dist/api/filter-presets.d.ts +15 -1
- package/dist/api/filter-presets.js +23 -5
- package/dist/api/filter-presets.js.map +1 -1
- package/dist/api/filter.js +15 -6
- package/dist/api/filter.js.map +1 -1
- package/dist/api/fmp4-stream.d.ts +211 -4
- package/dist/api/fmp4-stream.js +550 -84
- package/dist/api/fmp4-stream.js.map +1 -1
- package/dist/api/hardware.js +4 -3
- package/dist/api/hardware.js.map +1 -1
- package/dist/api/index.d.ts +1 -0
- package/dist/api/index.js.map +1 -1
- package/dist/api/io-stream.js +61 -5
- package/dist/api/io-stream.js.map +1 -1
- package/dist/api/muxer.d.ts +13 -0
- package/dist/api/muxer.js +82 -19
- package/dist/api/muxer.js.map +1 -1
- package/dist/api/pipeline.d.ts +122 -0
- package/dist/api/pipeline.js +25 -7
- package/dist/api/pipeline.js.map +1 -1
- package/dist/api/rtp-stream.d.ts +146 -1
- package/dist/api/rtp-stream.js +533 -125
- package/dist/api/rtp-stream.js.map +1 -1
- package/dist/api/scaler.d.ts +102 -16
- package/dist/api/scaler.js +316 -106
- package/dist/api/scaler.js.map +1 -1
- package/dist/api/types.d.ts +17 -0
- package/dist/api/types.js +2 -0
- package/dist/api/types.js.map +1 -0
- package/dist/api/utilities/async-queue.d.ts +3 -0
- package/dist/api/utilities/async-queue.js +8 -0
- package/dist/api/utilities/async-queue.js.map +1 -1
- package/dist/api/webrtc-stream.d.ts +17 -10
- package/dist/api/webrtc-stream.js +117 -24
- package/dist/api/webrtc-stream.js.map +1 -1
- package/dist/api/whisper.d.ts +2 -0
- package/dist/api/whisper.js +63 -23
- package/dist/api/whisper.js.map +1 -1
- package/dist/ffmpeg/install.js +115 -29
- package/dist/ffmpeg/install.js.map +1 -1
- package/dist/lib/binding.d.ts +1 -0
- package/dist/lib/binding.js.map +1 -1
- package/dist/lib/codec-context.d.ts +0 -2
- package/dist/lib/codec-context.js +4 -22
- package/dist/lib/codec-context.js.map +1 -1
- package/dist/lib/filter-context.d.ts +0 -1
- package/dist/lib/filter-context.js +2 -11
- package/dist/lib/filter-context.js.map +1 -1
- package/dist/lib/format-context.d.ts +45 -4
- package/dist/lib/format-context.js +50 -16
- package/dist/lib/format-context.js.map +1 -1
- package/dist/lib/frame.d.ts +12 -12
- package/dist/lib/frame.js +13 -20
- package/dist/lib/frame.js.map +1 -1
- package/dist/lib/hardware-frames-context.d.ts +0 -1
- package/dist/lib/hardware-frames-context.js +2 -8
- package/dist/lib/hardware-frames-context.js.map +1 -1
- package/dist/lib/native-types.d.ts +2 -2
- package/dist/lib/option.d.ts +26 -0
- package/dist/lib/option.js +42 -18
- package/dist/lib/option.js.map +1 -1
- package/dist/lib/packet.d.ts +7 -1
- package/dist/lib/packet.js +9 -2
- package/dist/lib/packet.js.map +1 -1
- package/dist/lib/stream.d.ts +3 -4
- package/dist/lib/stream.js +17 -24
- package/dist/lib/stream.js.map +1 -1
- package/dist/webrtc/index.d.ts +1 -0
- package/dist/webrtc/index.js.map +1 -1
- package/install/check.js +26 -63
- package/package.json +36 -19
- package/build_mac_local.sh +0 -69
|
@@ -377,13 +377,17 @@ export class FilterComplexAPI {
|
|
|
377
377
|
* Process frame streams from multiple inputs and yield frames from specified output.
|
|
378
378
|
*
|
|
379
379
|
* High-level async generator for multi-input filtering.
|
|
380
|
-
*
|
|
380
|
+
* Inputs may end at different times - shorter inputs are flushed individually
|
|
381
|
+
* while the remaining inputs keep flowing, matching ffmpeg CLI behaviour.
|
|
381
382
|
*
|
|
382
383
|
* **EOF Handling:**
|
|
383
|
-
* -
|
|
384
|
-
*
|
|
385
|
-
*
|
|
386
|
-
* -
|
|
384
|
+
* - EOF (null) from one input flushes only that input; the others continue.
|
|
385
|
+
* The filter decides what happens (e.g. overlay's `eof_action`, default
|
|
386
|
+
* `repeat`, keeps compositing the last overlay frame)
|
|
387
|
+
* - When ALL inputs have ended and at least one signaled EOF, the graph is
|
|
388
|
+
* finalized and the generator yields null
|
|
389
|
+
* - Iterator completion without null does not trigger a flush - the filter
|
|
390
|
+
* stays open until EOF or close()
|
|
387
391
|
*
|
|
388
392
|
* @param outLabel - Output label to receive frames from
|
|
389
393
|
*
|
|
@@ -460,10 +464,8 @@ export class FilterComplexAPI {
|
|
|
460
464
|
throw new Error(`Input '${label}' not found in filter complex configuration`);
|
|
461
465
|
}
|
|
462
466
|
}
|
|
463
|
-
// Helper to
|
|
464
|
-
const
|
|
465
|
-
await this.process(label, frame);
|
|
466
|
-
// Try to receive output frames
|
|
467
|
+
// Helper to drain all currently available output frames
|
|
468
|
+
const drainOutput = async function* () {
|
|
467
469
|
while (true) {
|
|
468
470
|
const outFrame = await this.receive(outLabel);
|
|
469
471
|
if (!outFrame || outFrame === EOF) {
|
|
@@ -472,6 +474,11 @@ export class FilterComplexAPI {
|
|
|
472
474
|
yield outFrame;
|
|
473
475
|
}
|
|
474
476
|
}.bind(this);
|
|
477
|
+
// Helper to process a single frame and yield output
|
|
478
|
+
const processFrame = async function* (label, frame) {
|
|
479
|
+
await this.process(label, frame);
|
|
480
|
+
yield* drainOutput();
|
|
481
|
+
}.bind(this);
|
|
475
482
|
// Helper to finalize (flush all inputs and yield remaining frames)
|
|
476
483
|
const finalize = async function* () {
|
|
477
484
|
for await (const frame of this.flushFrames(outLabel)) {
|
|
@@ -519,60 +526,85 @@ export class FilterComplexAPI {
|
|
|
519
526
|
}
|
|
520
527
|
// Track which inputs have finished
|
|
521
528
|
const finishedInputs = new Set();
|
|
522
|
-
let
|
|
523
|
-
//
|
|
524
|
-
|
|
525
|
-
|
|
526
|
-
|
|
527
|
-
|
|
528
|
-
|
|
529
|
-
|
|
530
|
-
|
|
531
|
-
|
|
532
|
-
|
|
533
|
-
|
|
534
|
-
|
|
535
|
-
|
|
536
|
-
|
|
537
|
-
|
|
538
|
-
|
|
539
|
-
if (result.done) {
|
|
540
|
-
// Iterator finished without explicit null - no automatic flush
|
|
541
|
-
finishedInputs.add(label);
|
|
542
|
-
continue;
|
|
543
|
-
}
|
|
544
|
-
const frame = result.value;
|
|
545
|
-
if (frame === null) {
|
|
546
|
-
// Explicit null from input stream - flush this input
|
|
547
|
-
await this.flush(label);
|
|
548
|
-
shouldFinalize = true;
|
|
549
|
-
finishedInputs.add(label);
|
|
529
|
+
let sawEof = flushInputs.size > 0; // True once any input signaled EOF (null)
|
|
530
|
+
// Inputs given as explicit null: signal EOF on that leg right away.
|
|
531
|
+
for (const label of flushInputs) {
|
|
532
|
+
await this.flush(label);
|
|
533
|
+
}
|
|
534
|
+
try {
|
|
535
|
+
// Process frames from iterable inputs in parallel
|
|
536
|
+
while (finishedInputs.size < iterableInputs.size) {
|
|
537
|
+
// Read one frame from each active input
|
|
538
|
+
const readPromises = [];
|
|
539
|
+
for (const [label, iterator] of iterableInputs) {
|
|
540
|
+
if (!finishedInputs.has(label)) {
|
|
541
|
+
readPromises.push(iterator.next().then((result) => ({
|
|
542
|
+
label,
|
|
543
|
+
result,
|
|
544
|
+
})));
|
|
545
|
+
}
|
|
550
546
|
}
|
|
551
|
-
|
|
552
|
-
|
|
553
|
-
|
|
547
|
+
// Wait for all reads to complete
|
|
548
|
+
const results = await Promise.all(readPromises);
|
|
549
|
+
// Process each result
|
|
550
|
+
for (const { label, result } of results) {
|
|
551
|
+
if (result.done) {
|
|
552
|
+
// Iterator finished without explicit null - no automatic flush
|
|
553
|
+
finishedInputs.add(label);
|
|
554
|
+
continue;
|
|
555
|
+
}
|
|
556
|
+
const frame = result.value;
|
|
557
|
+
if (frame === null) {
|
|
558
|
+
// EOF for THIS input only: signal it downstream and keep the other
|
|
559
|
+
// inputs flowing. What happens next is the filter's decision - e.g.
|
|
560
|
+
// overlay's eof_action (default `repeat`) keeps compositing the last
|
|
561
|
+
// overlay frame while the main input continues (matches ffmpeg CLI).
|
|
562
|
+
await this.flush(label);
|
|
563
|
+
sawEof = true;
|
|
564
|
+
finishedInputs.add(label);
|
|
565
|
+
yield* drainOutput();
|
|
566
|
+
}
|
|
567
|
+
else {
|
|
568
|
+
// Send frame to input
|
|
569
|
+
yield* processFrame(label, frame);
|
|
570
|
+
}
|
|
554
571
|
}
|
|
555
572
|
}
|
|
556
|
-
// If
|
|
557
|
-
|
|
573
|
+
// All inputs ended. If any signaled EOF explicitly, finalize the graph
|
|
574
|
+
// (flush remaining legs, drain buffered output) and yield null. Iterators
|
|
575
|
+
// that merely completed without a null do not trigger a flush.
|
|
576
|
+
if (sawEof) {
|
|
558
577
|
yield* finalize();
|
|
559
|
-
return;
|
|
560
578
|
}
|
|
561
579
|
}
|
|
562
|
-
|
|
580
|
+
finally {
|
|
581
|
+
// Close input iterators that are still open. The inputs are driven via
|
|
582
|
+
// manual iterators (not for-await), so an early consumer stop
|
|
583
|
+
// (generator.return) would otherwise leave the upstream generators
|
|
584
|
+
// (decoders, demuxer packet queues) registered and running - a full
|
|
585
|
+
// demuxer queue then blocks the shared read loop and starves the other
|
|
586
|
+
// stream's consumers (teardown deadlock).
|
|
587
|
+
for (const [label, iterator] of iterableInputs) {
|
|
588
|
+
if (!finishedInputs.has(label)) {
|
|
589
|
+
await iterator.return?.(undefined);
|
|
590
|
+
}
|
|
591
|
+
}
|
|
592
|
+
}
|
|
563
593
|
}
|
|
564
594
|
/**
|
|
565
595
|
* Process frame streams from multiple inputs and yield frames from specified output synchronously.
|
|
566
596
|
* Synchronous version of frames.
|
|
567
597
|
*
|
|
568
598
|
* High-level sync generator for multi-input filtering.
|
|
569
|
-
*
|
|
599
|
+
* Inputs may end at different times - shorter inputs are flushed individually
|
|
600
|
+
* while the remaining inputs keep flowing, matching ffmpeg CLI behaviour.
|
|
570
601
|
*
|
|
571
602
|
* **EOF Handling:**
|
|
572
|
-
* -
|
|
573
|
-
* -
|
|
574
|
-
*
|
|
575
|
-
* - Iterator completion without null does not trigger flush
|
|
603
|
+
* - EOF (null) from one input flushes only that input; the others continue
|
|
604
|
+
* - When ALL inputs have ended and at least one signaled EOF, the graph is
|
|
605
|
+
* finalized and the generator yields null
|
|
606
|
+
* - Iterator completion without null does not trigger a flush - the filter
|
|
607
|
+
* stays open until EOF or close()
|
|
576
608
|
*
|
|
577
609
|
* @param outLabel - Output label to receive frames from
|
|
578
610
|
*
|
|
@@ -645,10 +677,8 @@ export class FilterComplexAPI {
|
|
|
645
677
|
if (!this.initialized) {
|
|
646
678
|
throw new Error('FilterComplexAPI not initialized. Use async frames() method for lazy initialization.');
|
|
647
679
|
}
|
|
648
|
-
// Helper to
|
|
649
|
-
const
|
|
650
|
-
this.processSync(label, frame);
|
|
651
|
-
// Try to receive output frames
|
|
680
|
+
// Helper to drain all currently available output frames
|
|
681
|
+
const drainOutput = function* () {
|
|
652
682
|
while (true) {
|
|
653
683
|
const outFrame = this.receiveSync(outLabel);
|
|
654
684
|
if (!outFrame || outFrame === EOF) {
|
|
@@ -657,6 +687,11 @@ export class FilterComplexAPI {
|
|
|
657
687
|
yield outFrame;
|
|
658
688
|
}
|
|
659
689
|
}.bind(this);
|
|
690
|
+
// Helper to process a single frame and yield output
|
|
691
|
+
const processFrame = function* (label, frame) {
|
|
692
|
+
this.processSync(label, frame);
|
|
693
|
+
yield* drainOutput();
|
|
694
|
+
}.bind(this);
|
|
660
695
|
// Helper to finalize (flush all inputs and yield remaining frames)
|
|
661
696
|
const finalize = function* () {
|
|
662
697
|
for (const frame of this.flushFramesSync(outLabel)) {
|
|
@@ -704,39 +739,52 @@ export class FilterComplexAPI {
|
|
|
704
739
|
}
|
|
705
740
|
// Track which inputs have finished
|
|
706
741
|
const finishedInputs = new Set();
|
|
707
|
-
let
|
|
708
|
-
//
|
|
709
|
-
|
|
710
|
-
|
|
711
|
-
|
|
712
|
-
|
|
713
|
-
|
|
714
|
-
|
|
715
|
-
|
|
716
|
-
|
|
717
|
-
|
|
718
|
-
|
|
719
|
-
|
|
720
|
-
|
|
721
|
-
|
|
722
|
-
|
|
723
|
-
|
|
724
|
-
|
|
725
|
-
|
|
726
|
-
|
|
727
|
-
|
|
728
|
-
|
|
729
|
-
|
|
730
|
-
|
|
742
|
+
let sawEof = flushInputs.size > 0; // True once any input signaled EOF (null)
|
|
743
|
+
// Inputs given as explicit null: signal EOF on that leg right away.
|
|
744
|
+
for (const label of flushInputs) {
|
|
745
|
+
this.flushSync(label);
|
|
746
|
+
}
|
|
747
|
+
try {
|
|
748
|
+
// Process frames from iterable inputs in round-robin fashion
|
|
749
|
+
while (finishedInputs.size < iterableInputs.size) {
|
|
750
|
+
// Read one frame from each active input
|
|
751
|
+
for (const [label, iterator] of iterableInputs) {
|
|
752
|
+
if (finishedInputs.has(label)) {
|
|
753
|
+
continue;
|
|
754
|
+
}
|
|
755
|
+
const result = iterator.next();
|
|
756
|
+
if (result.done) {
|
|
757
|
+
// Iterator finished without explicit null - no automatic flush
|
|
758
|
+
finishedInputs.add(label);
|
|
759
|
+
continue;
|
|
760
|
+
}
|
|
761
|
+
const frame = result.value;
|
|
762
|
+
if (frame === null) {
|
|
763
|
+
// EOF for THIS input only - see frames() for the semantics.
|
|
764
|
+
this.flushSync(label);
|
|
765
|
+
sawEof = true;
|
|
766
|
+
finishedInputs.add(label);
|
|
767
|
+
yield* drainOutput();
|
|
768
|
+
}
|
|
769
|
+
else {
|
|
770
|
+
// Send frame to input
|
|
771
|
+
yield* processFrame(label, frame);
|
|
772
|
+
}
|
|
731
773
|
}
|
|
732
774
|
}
|
|
733
|
-
//
|
|
734
|
-
if (
|
|
775
|
+
// All inputs ended - finalize only if any input signaled EOF explicitly.
|
|
776
|
+
if (sawEof) {
|
|
735
777
|
yield* finalize();
|
|
736
|
-
return;
|
|
737
778
|
}
|
|
738
779
|
}
|
|
739
|
-
|
|
780
|
+
finally {
|
|
781
|
+
// Close input iterators that are still open - see frames() for why.
|
|
782
|
+
for (const [label, iterator] of iterableInputs) {
|
|
783
|
+
if (!finishedInputs.has(label)) {
|
|
784
|
+
iterator.return?.(undefined);
|
|
785
|
+
}
|
|
786
|
+
}
|
|
787
|
+
}
|
|
740
788
|
}
|
|
741
789
|
/**
|
|
742
790
|
* Flush input(s) and signal end-of-stream.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"filter-complex.js","sourceRoot":"","sources":["../../src/api/filter-complex.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"filter-complex.js","sourceRoot":"","sources":["../../src/api/filter-complex.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,0BAA0B,EAC1B,sBAAsB,EACtB,cAAc,EACd,WAAW,EACX,sBAAsB,EACtB,kBAAkB,EAClB,GAAG,GACJ,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC1C,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AACxC,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,kBAAkB,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAC7E,OAAO,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AAqGrE;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,MAAM,OAAO,gBAAgB;IACnB,KAAK,CAAc;IACnB,WAAW,CAAS;IACpB,OAAO,CAAuB;IAEtC,qBAAqB;IACb,MAAM,GAAG,IAAI,GAAG,EAAsB,CAAC;IACvC,OAAO,GAAG,IAAI,GAAG,EAAuB,CAAC;IAEjD,uBAAuB;IACf,WAAW,GAAG,KAAK,CAAC;IACpB,QAAQ,GAAG,KAAK,CAAC;IACjB,iBAAiB,GAAyB,IAAI,CAAC;IAEvD,wCAAwC;IAChC,KAAK,GAAU,IAAI,KAAK,EAAE,CAAC;IAEnC;;;;;;;;OAQG;IACH,YAAoB,KAAkB,EAAE,WAAmB,EAAE,OAA6B;QACxF,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAmCG;IACH,MAAM,CAAC,MAAM,CAAC,WAAwC,EAAE,OAA6B;QACnF,6EAA6E;QAC7E,MAAM,iBAAiB,GAAG,OAAO,WAAW,KAAK,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,KAAK,EAAE,CAAC;QAE9F,8BAA8B;QAC9B,IAAI,CAAC,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACnD,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;QACpD,CAAC;QAED,IAAI,CAAC,OAAO,CAAC,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACrD,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;QACrD,CAAC;QAED,mCAAmC;QACnC,MAAM,WAAW,GAAG,IAAI,GAAG,EAAU,CAAC;QACtC,KAAK,MAAM,KAAK,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;YACnC,IAAI,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;gBACjC,MAAM,IAAI,KAAK,CAAC,0BAA0B,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC;YAC3D,CAAC;YACD,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAC/B,CAAC;QAED,oCAAoC;QACpC,MAAM,YAAY,GAAG,IAAI,GAAG,EAAU,CAAC;QACvC,KAAK,MAAM,MAAM,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;YACrC,IAAI,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;gBACnC,MAAM,IAAI,KAAK,CAAC,2BAA2B,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;YAC7D,CAAC;YACD,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACjC,CAAC;QAED,eAAe;QACf,MAAM,KAAK,GAAG,IAAI,WAAW,EAAE,CAAC;QAChC,KAAK,CAAC,KAAK,EAAE,CAAC;QAEd,sBAAsB;QACtB,IAAI,OAAO,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;YAClC,KAAK,CAAC,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC;QACpC,CAAC;QAED,MAAM,QAAQ,GAAG,IAAI,gBAAgB,CAAC,KAAK,EAAE,iBAAiB,EAAE,OAAO,CAAC,CAAC;QAEzE,0BAA0B;QAC1B,KAAK,MAAM,KAAK,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;YACnC,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,EAAE;gBAC/B,KAAK,EAAE,KAAK,CAAC,KAAK;gBAClB,SAAS,EAAE,IAAI;gBACf,YAAY,EAAE,EAAE;aACjB,CAAC,CAAC;QACL,CAAC;QAED,2BAA2B;QAC3B,KAAK,MAAM,MAAM,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;YACrC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,EAAE;gBACjC,KAAK,EAAE,MAAM,CAAC,KAAK;gBACnB,UAAU,EAAE,IAAI;aACjB,CAAC,CAAC;QACL,CAAC;QAED,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED;;;;;;;;;;;OAWG;IACH,IAAI,MAAM;QACR,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC;IACxB,CAAC;IAED;;;;;;;;;;;;;OAaG;IACH,IAAI,aAAa;QACf,OAAO,IAAI,CAAC,WAAW,CAAC;IAC1B,CAAC;IAED;;;;;;;;;;;;;;;;;OAiBG;IACH,IAAI,SAAS;QACX,IAAI,CAAC,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;YACjD,OAAO,IAAI,CAAC;QACd,CAAC;QAED,mCAAmC;QACnC,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC;QACvD,IAAI,CAAC,WAAW,EAAE,UAAU,EAAE,CAAC;YAC7B,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,EAAE,GAAG,WAAW,CAAC,UAAU,CAAC,sBAAsB,EAAE,CAAC;QAC3D,oDAAoD;QACpD,IAAI,EAAE,CAAC,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC;YAC/B,OAAO,IAAI,CAAC;QACd,CAAC;QACD,OAAO,EAAE,CAAC;IACZ,CAAC;IAED;;;;;;;;;;;;;;;;;OAiBG;IACH,IAAI,QAAQ;QACV,IAAI,CAAC,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;YACjD,OAAO,IAAI,CAAC;QACd,CAAC;QAED,kCAAkC;QAClC,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC;QACvD,IAAI,CAAC,WAAW,EAAE,UAAU,EAAE,CAAC;YAC7B,OAAO,IAAI,CAAC;QACd,CAAC;QAED,OAAO,WAAW,CAAC,UAAU,CAAC,qBAAqB,EAAE,CAAC;IACxD,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA4BG;IACH,KAAK,CAAC,OAAO,CAAC,OAAe,EAAE,KAAY;QACzC,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClB,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;QACxD,CAAC;QAED,kBAAkB;QAClB,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAC5C,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,MAAM,IAAI,KAAK,CAAC,UAAU,OAAO,aAAa,CAAC,CAAC;QAClD,CAAC;QAED,wDAAwD;QACxD,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;YACtB,MAAM,MAAM,GAAG,KAAK,CAAC,KAAK,EAAE,CAAC;YAC7B,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;YACvD,CAAC;YACD,UAAU,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAErC,8CAA8C;YAC9C,IAAI,IAAI,CAAC,kBAAkB,EAAE,EAAE,CAAC;gBAC9B,gEAAgE;gBAChE,IAAI,CAAC,iBAAiB,KAAK,IAAI,CAAC,0BAA0B,EAAE,CAAC;gBAC7D,MAAM,IAAI,CAAC,iBAAiB,CAAC;YAC/B,CAAC;YAED,OAAO;QACT,CAAC;QAED,4CAA4C;QAC5C,IAAI,CAAC,UAAU,CAAC,SAAS,IAAI,CAAC,UAAU,CAAC,kBAAkB,EAAE,CAAC;YAC5D,MAAM,IAAI,KAAK,CAAC,UAAU,OAAO,6BAA6B,CAAC,CAAC;QAClE,CAAC;QAED,kCAAkC;QAClC,IAAI,CAAC,sBAAsB,CAAC,KAAK,EAAE,UAAU,CAAC,kBAAkB,CAAC,CAAC;QAElE,0BAA0B;QAC1B,uFAAuF;QACvF,MAAM,GAAG,GAAG,MAAM,UAAU,CAAC,SAAS,CAAC,iBAAiB,CAAC,KAAK,EAAE,CAAC,sBAAsB,GAAG,0BAA0B,CAAoB,CAAC,CAAC;QAC1I,WAAW,CAAC,YAAY,CAAC,GAAG,EAAE,iCAAiC,OAAO,EAAE,CAAC,CAAC;IAC5E,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA6BG;IACH,WAAW,CAAC,OAAe,EAAE,KAAY;QACvC,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClB,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;QACxD,CAAC;QAED,kBAAkB;QAClB,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAC5C,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,MAAM,IAAI,KAAK,CAAC,UAAU,OAAO,aAAa,CAAC,CAAC;QAClD,CAAC;QAED,wDAAwD;QACxD,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;YACtB,MAAM,MAAM,GAAG,KAAK,CAAC,KAAK,EAAE,CAAC;YAC7B,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;YACvD,CAAC;YACD,UAAU,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAErC,8CAA8C;YAC9C,IAAI,IAAI,CAAC,kBAAkB,EAAE,EAAE,CAAC;gBAC9B,8EAA8E;gBAC9E,IAAI,CAAC,8BAA8B,EAAE,CAAC;YACxC,CAAC;YAED,OAAO;QACT,CAAC;QAED,4CAA4C;QAC5C,IAAI,CAAC,UAAU,CAAC,SAAS,IAAI,CAAC,UAAU,CAAC,kBAAkB,EAAE,CAAC;YAC5D,MAAM,IAAI,KAAK,CAAC,UAAU,OAAO,6BAA6B,CAAC,CAAC;QAClE,CAAC;QAED,kCAAkC;QAClC,IAAI,CAAC,sBAAsB,CAAC,KAAK,EAAE,UAAU,CAAC,kBAAkB,CAAC,CAAC;QAElE,0BAA0B;QAC1B,uFAAuF;QACvF,MAAM,GAAG,GAAG,UAAU,CAAC,SAAS,CAAC,qBAAqB,CAAC,KAAK,EAAE,CAAC,sBAAsB,GAAG,0BAA0B,CAAoB,CAAC,CAAC;QACxI,WAAW,CAAC,YAAY,CAAC,GAAG,EAAE,iCAAiC,OAAO,EAAE,CAAC,CAAC;IAC5E,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA+EG;IACH,KAAK,CAAC,CAAC,MAAM,CAAC,QAAgB,EAAE,MAAkE;QAChG,wBAAwB;QACxB,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;YAChC,MAAM,IAAI,KAAK,CAAC,WAAW,QAAQ,aAAa,CAAC,CAAC;QACpD,CAAC;QAED,kCAAkC;QAClC,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;YACxC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC5B,MAAM,IAAI,KAAK,CAAC,UAAU,KAAK,6CAA6C,CAAC,CAAC;YAChF,CAAC;QACH,CAAC;QAED,wDAAwD;QACxD,MAAM,WAAW,GAAG,KAAK,SAAS,CAAC;YACjC,OAAO,IAAI,EAAE,CAAC;gBACZ,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;gBAC9C,IAAI,CAAC,QAAQ,IAAI,QAAQ,KAAK,GAAG,EAAE,CAAC;oBAClC,MAAM;gBACR,CAAC;gBACD,MAAM,QAAQ,CAAC;YACjB,CAAC;QACH,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEb,oDAAoD;QACpD,MAAM,YAAY,GAAG,KAAK,SAAS,CAAC,EAA0B,KAAa,EAAE,KAAY;YACvF,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;YACjC,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC;QACvB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEb,mEAAmE;QACnE,MAAM,QAAQ,GAAG,KAAK,SAAS,CAAC;YAC9B,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACrD,MAAM,KAAK,CAAC;YACd,CAAC;YACD,MAAM,IAAI,CAAC;QACb,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEb,0BAA0B;QAC1B,MAAM,cAAc,GAAG,IAAI,GAAG,EAAuC,CAAC;QACtE,MAAM,iBAAiB,GAAsC,EAAE,CAAC;QAChE,MAAM,WAAW,GAAG,IAAI,GAAG,EAAU,CAAC,CAAC,8BAA8B;QAErE,KAAK,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;YACrD,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;gBACpB,0BAA0B;gBAC1B,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YACzB,CAAC;iBAAM,IAAI,MAAM,YAAY,KAAK,EAAE,CAAC;gBACnC,eAAe;gBACf,iBAAiB,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;YACnD,CAAC;iBAAM,CAAC;gBACN,gBAAgB;gBAChB,cAAc,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;YAC5D,CAAC;QACH,CAAC;QAED,+CAA+C;QAC/C,IAAI,cAAc,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;YAC9B,wBAAwB;YACxB,KAAK,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,iBAAiB,EAAE,CAAC;gBACjD,KAAK,CAAC,CAAC,YAAY,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;YACpC,CAAC;YAED,8BAA8B;YAC9B,KAAK,MAAM,KAAK,IAAI,WAAW,EAAE,CAAC;gBAChC,MAAM,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YAC1B,CAAC;YAED,yCAAyC;YACzC,IAAI,WAAW,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;gBACzB,KAAK,CAAC,CAAC,QAAQ,EAAE,CAAC;YACpB,CAAC;YACD,OAAO;QACT,CAAC;QAED,8BAA8B;QAC9B,KAAK,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,iBAAiB,EAAE,CAAC;YACjD,KAAK,CAAC,CAAC,YAAY,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QACpC,CAAC;QAED,mCAAmC;QACnC,MAAM,cAAc,GAAG,IAAI,GAAG,EAAU,CAAC;QACzC,IAAI,MAAM,GAAG,WAAW,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,0CAA0C;QAE7E,oEAAoE;QACpE,KAAK,MAAM,KAAK,IAAI,WAAW,EAAE,CAAC;YAChC,MAAM,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAC1B,CAAC;QAED,IAAI,CAAC;YACH,kDAAkD;YAClD,OAAO,cAAc,CAAC,IAAI,GAAG,cAAc,CAAC,IAAI,EAAE,CAAC;gBACjD,wCAAwC;gBACxC,MAAM,YAAY,GAAuE,EAAE,CAAC;gBAE5F,KAAK,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,IAAI,cAAc,EAAE,CAAC;oBAC/C,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;wBAC/B,YAAY,CAAC,IAAI,CACf,QAAQ,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;4BAChC,KAAK;4BACL,MAAM;yBACP,CAAC,CAAC,CACJ,CAAC;oBACJ,CAAC;gBACH,CAAC;gBAED,iCAAiC;gBACjC,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;gBAEhD,sBAAsB;gBACtB,KAAK,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,OAAO,EAAE,CAAC;oBACxC,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;wBAChB,+DAA+D;wBAC/D,cAAc,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;wBAC1B,SAAS;oBACX,CAAC;oBAED,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;oBAE3B,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;wBACnB,mEAAmE;wBACnE,oEAAoE;wBACpE,qEAAqE;wBACrE,qEAAqE;wBACrE,MAAM,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;wBACxB,MAAM,GAAG,IAAI,CAAC;wBACd,cAAc,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;wBAC1B,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC;oBACvB,CAAC;yBAAM,CAAC;wBACN,sBAAsB;wBACtB,KAAK,CAAC,CAAC,YAAY,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;oBACpC,CAAC;gBACH,CAAC;YACH,CAAC;YAED,uEAAuE;YACvE,0EAA0E;YAC1E,+DAA+D;YAC/D,IAAI,MAAM,EAAE,CAAC;gBACX,KAAK,CAAC,CAAC,QAAQ,EAAE,CAAC;YACpB,CAAC;QACH,CAAC;gBAAS,CAAC;YACT,uEAAuE;YACvE,8DAA8D;YAC9D,mEAAmE;YACnE,oEAAoE;YACpE,uEAAuE;YACvE,0CAA0C;YAC1C,KAAK,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,IAAI,cAAc,EAAE,CAAC;gBAC/C,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;oBAC/B,MAAM,QAAQ,CAAC,MAAM,EAAE,CAAC,SAAS,CAAC,CAAC;gBACrC,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAsEG;IACH,CAAC,UAAU,CAAC,QAAgB,EAAE,MAA6D;QACzF,wBAAwB;QACxB,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;YAChC,MAAM,IAAI,KAAK,CAAC,WAAW,QAAQ,aAAa,CAAC,CAAC;QACpD,CAAC;QAED,kCAAkC;QAClC,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;YACxC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC5B,MAAM,IAAI,KAAK,CAAC,UAAU,KAAK,6CAA6C,CAAC,CAAC;YAChF,CAAC;QACH,CAAC;QAED,yDAAyD;QACzD,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;YACtB,MAAM,IAAI,KAAK,CAAC,sFAAsF,CAAC,CAAC;QAC1G,CAAC;QAED,wDAAwD;QACxD,MAAM,WAAW,GAAG,QAAQ,CAAC;YAC3B,OAAO,IAAI,EAAE,CAAC;gBACZ,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;gBAC5C,IAAI,CAAC,QAAQ,IAAI,QAAQ,KAAK,GAAG,EAAE,CAAC;oBAClC,MAAM;gBACR,CAAC;gBACD,MAAM,QAAQ,CAAC;YACjB,CAAC;QACH,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEb,oDAAoD;QACpD,MAAM,YAAY,GAAG,QAAQ,CAAC,EAA0B,KAAa,EAAE,KAAY;YACjF,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;YAC/B,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC;QACvB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEb,mEAAmE;QACnE,MAAM,QAAQ,GAAG,QAAQ,CAAC;YACxB,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACnD,MAAM,KAAK,CAAC;YACd,CAAC;YACD,MAAM,IAAI,CAAC;QACb,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEb,0BAA0B;QAC1B,MAAM,cAAc,GAAG,IAAI,GAAG,EAAkC,CAAC;QACjE,MAAM,iBAAiB,GAAsC,EAAE,CAAC;QAChE,MAAM,WAAW,GAAG,IAAI,GAAG,EAAU,CAAC,CAAC,8BAA8B;QAErE,KAAK,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;YACrD,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;gBACpB,0BAA0B;gBAC1B,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YACzB,CAAC;iBAAM,IAAI,MAAM,YAAY,KAAK,EAAE,CAAC;gBACnC,eAAe;gBACf,iBAAiB,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;YACnD,CAAC;iBAAM,CAAC;gBACN,WAAW;gBACX,cAAc,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YACvD,CAAC;QACH,CAAC;QAED,+CAA+C;QAC/C,IAAI,cAAc,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;YAC9B,wBAAwB;YACxB,KAAK,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,iBAAiB,EAAE,CAAC;gBACjD,KAAK,CAAC,CAAC,YAAY,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;YACpC,CAAC;YAED,8BAA8B;YAC9B,KAAK,MAAM,KAAK,IAAI,WAAW,EAAE,CAAC;gBAChC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;YACxB,CAAC;YAED,yCAAyC;YACzC,IAAI,WAAW,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;gBACzB,KAAK,CAAC,CAAC,QAAQ,EAAE,CAAC;YACpB,CAAC;YACD,OAAO;QACT,CAAC;QAED,8BAA8B;QAC9B,KAAK,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,iBAAiB,EAAE,CAAC;YACjD,KAAK,CAAC,CAAC,YAAY,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QACpC,CAAC;QAED,mCAAmC;QACnC,MAAM,cAAc,GAAG,IAAI,GAAG,EAAU,CAAC;QACzC,IAAI,MAAM,GAAG,WAAW,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,0CAA0C;QAE7E,oEAAoE;QACpE,KAAK,MAAM,KAAK,IAAI,WAAW,EAAE,CAAC;YAChC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QACxB,CAAC;QAED,IAAI,CAAC;YACH,6DAA6D;YAC7D,OAAO,cAAc,CAAC,IAAI,GAAG,cAAc,CAAC,IAAI,EAAE,CAAC;gBACjD,wCAAwC;gBACxC,KAAK,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,IAAI,cAAc,EAAE,CAAC;oBAC/C,IAAI,cAAc,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;wBAC9B,SAAS;oBACX,CAAC;oBAED,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,EAAE,CAAC;oBAE/B,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;wBAChB,+DAA+D;wBAC/D,cAAc,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;wBAC1B,SAAS;oBACX,CAAC;oBAED,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;oBAE3B,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;wBACnB,4DAA4D;wBAC5D,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;wBACtB,MAAM,GAAG,IAAI,CAAC;wBACd,cAAc,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;wBAC1B,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC;oBACvB,CAAC;yBAAM,CAAC;wBACN,sBAAsB;wBACtB,KAAK,CAAC,CAAC,YAAY,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;oBACpC,CAAC;gBACH,CAAC;YACH,CAAC;YAED,yEAAyE;YACzE,IAAI,MAAM,EAAE,CAAC;gBACX,KAAK,CAAC,CAAC,QAAQ,EAAE,CAAC;YACpB,CAAC;QACH,CAAC;gBAAS,CAAC;YACT,oEAAoE;YACpE,KAAK,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,IAAI,cAAc,EAAE,CAAC;gBAC/C,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;oBAC/B,QAAQ,CAAC,MAAM,EAAE,CAAC,SAAS,CAAC,CAAC;gBAC/B,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAiCG;IACH,KAAK,CAAC,KAAK,CAAC,OAAgB;QAC1B,IAAI,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;YACvC,OAAO;QACT,CAAC;QAED,IAAI,OAAO,EAAE,CAAC;YACZ,uBAAuB;YACvB,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YAC5C,IAAI,CAAC,UAAU,EAAE,CAAC;gBAChB,MAAM,IAAI,KAAK,CAAC,UAAU,OAAO,aAAa,CAAC,CAAC;YAClD,CAAC;YAED,IAAI,UAAU,CAAC,SAAS,EAAE,CAAC;gBACzB,MAAM,GAAG,GAAG,MAAM,UAAU,CAAC,SAAS,CAAC,iBAAiB,CAAC,IAAI,EAAE,sBAAsB,CAAC,CAAC;gBACvF,IAAI,GAAG,GAAG,CAAC,IAAI,GAAG,KAAK,WAAW,EAAE,CAAC;oBACnC,WAAW,CAAC,YAAY,CAAC,GAAG,EAAE,yBAAyB,OAAO,EAAE,CAAC,CAAC;gBACpE,CAAC;YACH,CAAC;QACH,CAAC;aAAM,CAAC;YACN,mBAAmB;YACnB,KAAK,MAAM,UAAU,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC;gBAC9C,IAAI,CAAC,UAAU,CAAC,SAAS;oBAAE,SAAS;gBAEpC,MAAM,GAAG,GAAG,MAAM,UAAU,CAAC,SAAS,CAAC,iBAAiB,CAAC,IAAI,EAAE,sBAAsB,CAAC,CAAC;gBACvF,IAAI,GAAG,GAAG,CAAC,IAAI,GAAG,KAAK,WAAW,EAAE,CAAC;oBACnC,WAAW,CAAC,YAAY,CAAC,GAAG,EAAE,yBAAyB,UAAU,CAAC,KAAK,EAAE,CAAC,CAAC;gBAC7E,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAkCG;IACH,SAAS,CAAC,OAAgB;QACxB,IAAI,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;YACvC,OAAO;QACT,CAAC;QAED,IAAI,OAAO,EAAE,CAAC;YACZ,uBAAuB;YACvB,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YAC5C,IAAI,CAAC,UAAU,EAAE,CAAC;gBAChB,MAAM,IAAI,KAAK,CAAC,UAAU,OAAO,aAAa,CAAC,CAAC;YAClD,CAAC;YAED,IAAI,UAAU,CAAC,SAAS,EAAE,CAAC;gBACzB,MAAM,GAAG,GAAG,UAAU,CAAC,SAAS,CAAC,qBAAqB,CAAC,IAAI,EAAE,sBAAsB,CAAC,CAAC;gBACrF,IAAI,GAAG,GAAG,CAAC,IAAI,GAAG,KAAK,WAAW,EAAE,CAAC;oBACnC,WAAW,CAAC,YAAY,CAAC,GAAG,EAAE,yBAAyB,OAAO,EAAE,CAAC,CAAC;gBACpE,CAAC;YACH,CAAC;QACH,CAAC;aAAM,CAAC;YACN,mBAAmB;YACnB,KAAK,MAAM,UAAU,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC;gBAC9C,IAAI,CAAC,UAAU,CAAC,SAAS;oBAAE,SAAS;gBAEpC,MAAM,GAAG,GAAG,UAAU,CAAC,SAAS,CAAC,qBAAqB,CAAC,IAAI,EAAE,sBAAsB,CAAC,CAAC;gBACrF,IAAI,GAAG,GAAG,CAAC,IAAI,GAAG,KAAK,WAAW,EAAE,CAAC;oBACnC,WAAW,CAAC,YAAY,CAAC,GAAG,EAAE,yBAAyB,UAAU,CAAC,KAAK,EAAE,CAAC,CAAC;gBAC7E,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAkCG;IACH,KAAK,CAAC,CAAC,WAAW,CAAC,QAAgB;QACjC,mBAAmB;QACnB,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC;QAEnB,yCAAyC;QACzC,OAAO,IAAI,EAAE,CAAC;YACZ,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;YAC3C,IAAI,CAAC,KAAK,IAAI,KAAK,KAAK,GAAG,EAAE,CAAC;gBAC5B,MAAM;YACR,CAAC;YACD,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAmCG;IACH,CAAC,eAAe,CAAC,QAAgB;QAC/B,mBAAmB;QACnB,IAAI,CAAC,SAAS,EAAE,CAAC;QAEjB,yCAAyC;QACzC,OAAO,IAAI,EAAE,CAAC;YACZ,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;YACzC,IAAI,CAAC,KAAK,IAAI,KAAK,KAAK,GAAG,EAAE,CAAC;gBAC5B,MAAM;YACR,CAAC;YACD,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAoCG;IACH,KAAK,CAAC,OAAO,CAAC,QAAgB;QAC5B,IAAI,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;YACvC,OAAO,IAAI,CAAC;QACd,CAAC;QAED,mBAAmB;QACnB,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC/C,IAAI,CAAC,WAAW,EAAE,UAAU,EAAE,CAAC;YAC7B,MAAM,IAAI,KAAK,CAAC,WAAW,QAAQ,gCAAgC,CAAC,CAAC;QACvE,CAAC;QAED,+BAA+B;QAC/B,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;QAEnB,MAAM,GAAG,GAAG,MAAM,WAAW,CAAC,UAAU,CAAC,kBAAkB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAExE,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC;YACb,4CAA4C;YAC5C,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,KAAK,EAAE,WAAW,CAAC,UAAU,CAAC,CAAC;YAChE,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;YAClC,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;YAClD,CAAC;YACD,OAAO,MAAM,CAAC;QAChB,CAAC;aAAM,IAAI,GAAG,KAAK,cAAc,EAAE,CAAC;YAClC,kBAAkB;YAClB,OAAO,IAAI,CAAC;QACd,CAAC;aAAM,IAAI,GAAG,KAAK,WAAW,EAAE,CAAC;YAC/B,gBAAgB;YAChB,OAAO,GAAG,CAAC;QACb,CAAC;aAAM,CAAC;YACN,mBAAmB;YACnB,WAAW,CAAC,YAAY,CAAC,GAAG,EAAE,gCAAgC,QAAQ,EAAE,CAAC,CAAC;YAC1E,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAqCG;IACH,WAAW,CAAC,QAAgB;QAC1B,IAAI,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;YACvC,OAAO,IAAI,CAAC;QACd,CAAC;QAED,mBAAmB;QACnB,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC/C,IAAI,CAAC,WAAW,EAAE,UAAU,EAAE,CAAC;YAC7B,MAAM,IAAI,KAAK,CAAC,WAAW,QAAQ,gCAAgC,CAAC,CAAC;QACvE,CAAC;QAED,+BAA+B;QAC/B,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;QAEnB,MAAM,GAAG,GAAG,WAAW,CAAC,UAAU,CAAC,sBAAsB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAEtE,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC;YACb,4CAA4C;YAC5C,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,KAAK,EAAE,WAAW,CAAC,UAAU,CAAC,CAAC;YAChE,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;YAClC,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;YAClD,CAAC;YACD,OAAO,MAAM,CAAC;QAChB,CAAC;aAAM,IAAI,GAAG,KAAK,cAAc,EAAE,CAAC;YAClC,kBAAkB;YAClB,OAAO,IAAI,CAAC;QACd,CAAC;aAAM,IAAI,GAAG,KAAK,WAAW,EAAE,CAAC;YAC/B,gBAAgB;YAChB,OAAO,GAAG,CAAC;QACb,CAAC;aAAM,CAAC;YACN,mBAAmB;YACnB,WAAW,CAAC,YAAY,CAAC,GAAG,EAAE,gCAAgC,QAAQ,EAAE,CAAC,CAAC;YAC1E,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAED;;;;;;OAMG;IACK,kBAAkB;QACxB,KAAK,MAAM,UAAU,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC;YAC9C,iFAAiF;YACjF,IAAI,UAAU,CAAC,YAAY,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE,CAAC;gBAClE,OAAO,KAAK,CAAC;YACf,CAAC;QACH,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;;;;;;;;;;;OAeG;IACK,KAAK,CAAC,0BAA0B;QACtC,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClB,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;QACxD,CAAC;QAED,2DAA2D;QAC3D,KAAK,MAAM,CAAC,KAAK,EAAE,UAAU,CAAC,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAC9C,IAAI,UAAU,CAAC,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACzC,MAAM,IAAI,KAAK,CAAC,UAAU,KAAK,2CAA2C,CAAC,CAAC;YAC9E,CAAC;YAED,MAAM,UAAU,GAAG,UAAU,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;YAE9C,qDAAqD;YACrD,UAAU,CAAC,kBAAkB,GAAG,IAAI,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAC;YAEnE,sDAAsD;YACtD,UAAU,CAAC,cAAc,GAAG;gBAC1B,MAAM,EAAE,UAAU,CAAC,MAAM;gBACzB,KAAK,EAAE,UAAU,CAAC,KAAK;gBACvB,MAAM,EAAE,UAAU,CAAC,MAAM;gBACzB,UAAU,EAAE,UAAU,CAAC,UAAU;gBACjC,QAAQ,EAAE,UAAU,CAAC,aAAa,EAAE,UAAU,IAAI,CAAC;aACpD,CAAC;YAEF,0BAA0B;YAC1B,MAAM,SAAS,GAAG,IAAI,CAAC,kBAAkB,CAAC,KAAK,EAAE,UAAU,EAAE,UAAU,CAAC,kBAAkB,CAAC,CAAC;YAC5F,UAAU,CAAC,SAAS,GAAG,SAAS,CAAC;QACnC,CAAC;QAED,2CAA2C;QAC3C,IAAI,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC;YAC9B,IAAI,CAAC,KAAK,CAAC,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC;QACtD,CAAC;QAED,IAAI,IAAI,CAAC,OAAO,CAAC,iBAAiB,EAAE,CAAC;YACnC,IAAI,CAAC,KAAK,CAAC,gBAAgB,GAAG,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC;QAC/D,CAAC;QAED,iEAAiE;QACjE,IAAI,CAAC,sBAAsB,EAAE,CAAC;QAE9B,mBAAmB,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QACpD,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAErC,8BAA8B;QAC9B,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;QACtC,WAAW,CAAC,YAAY,CAAC,GAAG,EAAE,0CAA0C,CAAC,CAAC;QAE1E,8CAA8C;QAC9C,KAAK,MAAM,CAAC,KAAK,EAAE,UAAU,CAAC,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAC9C,IAAI,CAAC,UAAU,CAAC,SAAS,IAAI,CAAC,UAAU,CAAC,kBAAkB,EAAE,CAAC;gBAC5D,SAAS;YACX,CAAC;YAED,2CAA2C;YAC3C,KAAK,MAAM,KAAK,IAAI,UAAU,CAAC,YAAY,EAAE,CAAC;gBAC5C,kCAAkC;gBAClC,IAAI,CAAC,sBAAsB,CAAC,KAAK,EAAE,UAAU,CAAC,kBAAkB,CAAC,CAAC;gBAElE,oBAAoB;gBACpB,uFAAuF;gBACvF,MAAM,GAAG,GAAG,MAAM,UAAU,CAAC,SAAS,CAAC,iBAAiB,CAAC,KAAK,EAAE,CAAC,sBAAsB,GAAG,0BAA0B,CAAoB,CAAC,CAAC;gBAC1I,WAAW,CAAC,YAAY,CAAC,GAAG,EAAE,kCAAkC,KAAK,EAAE,CAAC,CAAC;gBAEzE,iBAAiB;gBACjB,KAAK,CAAC,IAAI,EAAE,CAAC;YACf,CAAC;YAED,mCAAmC;YACnC,UAAU,CAAC,YAAY,GAAG,EAAE,CAAC;QAC/B,CAAC;QAED,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;IAC1B,CAAC;IAED;;;;;;;;;OASG;IACK,8BAA8B;QACpC,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClB,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;QACxD,CAAC;QAED,2DAA2D;QAC3D,KAAK,MAAM,CAAC,KAAK,EAAE,UAAU,CAAC,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAC9C,IAAI,UAAU,CAAC,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACzC,MAAM,IAAI,KAAK,CAAC,UAAU,KAAK,2CAA2C,CAAC,CAAC;YAC9E,CAAC;YAED,MAAM,UAAU,GAAG,UAAU,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;YAE9C,qDAAqD;YACrD,UAAU,CAAC,kBAAkB,GAAG,IAAI,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAC;YAEnE,sDAAsD;YACtD,UAAU,CAAC,cAAc,GAAG;gBAC1B,MAAM,EAAE,UAAU,CAAC,MAAM;gBACzB,KAAK,EAAE,UAAU,CAAC,KAAK;gBACvB,MAAM,EAAE,UAAU,CAAC,MAAM;gBACzB,UAAU,EAAE,UAAU,CAAC,UAAU;gBACjC,QAAQ,EAAE,UAAU,CAAC,aAAa,EAAE,UAAU,IAAI,CAAC;aACpD,CAAC;YAEF,0BAA0B;YAC1B,MAAM,SAAS,GAAG,IAAI,CAAC,kBAAkB,CAAC,KAAK,EAAE,UAAU,EAAE,UAAU,CAAC,kBAAkB,CAAC,CAAC;YAC5F,UAAU,CAAC,SAAS,GAAG,SAAS,CAAC;QACnC,CAAC;QAED,2CAA2C;QAC3C,IAAI,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC;YAC9B,IAAI,CAAC,KAAK,CAAC,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC;QACtD,CAAC;QAED,IAAI,IAAI,CAAC,OAAO,CAAC,iBAAiB,EAAE,CAAC;YACnC,IAAI,CAAC,KAAK,CAAC,gBAAgB,GAAG,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC;QAC/D,CAAC;QAED,iEAAiE;QACjE,IAAI,CAAC,sBAAsB,EAAE,CAAC;QAE9B,mBAAmB,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QACpD,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAErC,8BAA8B;QAC9B,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,CAAC;QACpC,WAAW,CAAC,YAAY,CAAC,GAAG,EAAE,0CAA0C,CAAC,CAAC;QAE1E,8CAA8C;QAC9C,KAAK,MAAM,CAAC,KAAK,EAAE,UAAU,CAAC,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAC9C,IAAI,CAAC,UAAU,CAAC,SAAS,IAAI,CAAC,UAAU,CAAC,kBAAkB,EAAE,CAAC;gBAC5D,SAAS;YACX,CAAC;YAED,2CAA2C;YAC3C,KAAK,MAAM,KAAK,IAAI,UAAU,CAAC,YAAY,EAAE,CAAC;gBAC5C,kCAAkC;gBAClC,IAAI,CAAC,sBAAsB,CAAC,KAAK,EAAE,UAAU,CAAC,kBAAkB,CAAC,CAAC;gBAElE,oBAAoB;gBACpB,uFAAuF;gBACvF,MAAM,GAAG,GAAG,UAAU,CAAC,SAAS,CAAC,qBAAqB,CAAC,KAAK,EAAE,CAAC,sBAAsB,GAAG,0BAA0B,CAAoB,CAAC,CAAC;gBACxI,WAAW,CAAC,YAAY,CAAC,GAAG,EAAE,kCAAkC,KAAK,EAAE,CAAC,CAAC;gBAEzE,iBAAiB;gBACjB,KAAK,CAAC,IAAI,EAAE,CAAC;YACf,CAAC;YAED,mCAAmC;YACnC,UAAU,CAAC,YAAY,GAAG,EAAE,CAAC;QAC/B,CAAC;QAED,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;IAC1B,CAAC;IAED;;;;;;;;;;;;;OAaG;IACK,iBAAiB,CAAC,KAAY;QACpC,IAAI,KAAK,CAAC,OAAO,EAAE,EAAE,CAAC;YACpB,mCAAmC;YACnC,OAAO,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,KAAK,CAAC,UAAU,EAAE,CAAC;QAC3C,CAAC;aAAM,CAAC;YACN,wBAAwB;YACxB,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;gBACrB,wDAAwD;gBACxD,kEAAkE;gBAClE,OAAO,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,SAAU,CAAC,CAAC;YACzC,CAAC;iBAAM,CAAC;gBACN,iCAAiC;gBACjC,OAAO,KAAK,CAAC,QAAQ,CAAC;YACxB,CAAC;QACH,CAAC;IACH,CAAC;IAED;;;;;;;;;;;OAWG;IACK,sBAAsB,CAAC,KAAY,EAAE,kBAA6B;QACxE,MAAM,gBAAgB,GAAG,KAAK,CAAC,QAAQ,CAAC;QACxC,KAAK,CAAC,GAAG,GAAG,UAAU,CAAC,KAAK,CAAC,GAAG,EAAE,gBAAgB,EAAE,kBAAkB,CAAC,CAAC;QACxE,KAAK,CAAC,QAAQ,GAAG,UAAU,CAAC,KAAK,CAAC,QAAQ,EAAE,gBAAgB,EAAE,kBAAkB,CAAC,CAAC;QAClF,KAAK,CAAC,QAAQ,GAAG,IAAI,QAAQ,CAAC,kBAAkB,CAAC,GAAG,EAAE,kBAAkB,CAAC,GAAG,CAAC,CAAC;IAChF,CAAC;IAED;;;;;;;;;;;;;;OAcG;IACK,kBAAkB,CAAC,KAAa,EAAE,KAAY,EAAE,QAAmB;QACzE,MAAM,UAAU,GAAG,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC;QAC1D,MAAM,YAAY,GAAG,MAAM,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;QAClD,IAAI,CAAC,YAAY,EAAE,CAAC;YAClB,MAAM,IAAI,KAAK,CAAC,GAAG,UAAU,mBAAmB,CAAC,CAAC;QACpD,CAAC;QAED,IAAI,YAAkC,CAAC;QAEvC,IAAI,KAAK,CAAC,OAAO,EAAE,EAAE,CAAC;YACpB,mCAAmC;YACnC,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,YAAY,EAAE,MAAM,KAAK,EAAE,CAAC,CAAC;YACnE,IAAI,CAAC,YAAY,EAAE,CAAC;gBAClB,MAAM,IAAI,KAAK,CAAC,wCAAwC,KAAK,EAAE,CAAC,CAAC;YACnE,CAAC;YAED,MAAM,GAAG,GAAG,YAAY,CAAC,sBAAsB,CAAC;gBAC9C,KAAK,EAAE,KAAK,CAAC,KAAK;gBAClB,MAAM,EAAE,KAAK,CAAC,MAAM;gBACpB,MAAM,EAAE,KAAK,CAAC,MAAM;gBACpB,QAAQ,EAAE,QAAQ;gBAClB,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,SAAS;gBACjC,iBAAiB,EAAE,KAAK,CAAC,iBAAiB;gBAC1C,UAAU,EAAE,KAAK,CAAC,UAAU;gBAC5B,UAAU,EAAE,KAAK,CAAC,UAAU;gBAC5B,WAAW,EAAE,KAAK,CAAC,WAAW;aAC/B,CAAC,CAAC;YACH,WAAW,CAAC,YAAY,CAAC,GAAG,EAAE,8CAA8C,KAAK,EAAE,CAAC,CAAC;YAErF,MAAM,OAAO,GAAG,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACxC,WAAW,CAAC,YAAY,CAAC,OAAO,EAAE,0CAA0C,KAAK,EAAE,CAAC,CAAC;QACvF,CAAC;aAAM,CAAC;YACN,iCAAiC;YACjC,MAAM,UAAU,GAAG,kBAAkB,CAAC,KAAK,CAAC,MAAwB,CAAC,CAAC;YACtE,MAAM,aAAa,GAAG,KAAK,CAAC,aAAa,CAAC,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,aAAa,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACnI,MAAM,IAAI,GAAG,aAAa,QAAQ,CAAC,GAAG,IAAI,QAAQ,CAAC,GAAG,gBAAgB,KAAK,CAAC,UAAU,eAAe,UAAU,mBAAmB,aAAa,EAAE,CAAC;YAElJ,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,YAAY,EAAE,MAAM,KAAK,EAAE,EAAE,IAAI,CAAC,CAAC;YAC1E,IAAI,CAAC,YAAY,EAAE,CAAC;gBAClB,MAAM,IAAI,KAAK,CAAC,4CAA4C,KAAK,EAAE,CAAC,CAAC;YACvE,CAAC;QACH,CAAC;QAED,OAAO,YAAY,CAAC;IACtB,CAAC;IAED;;;;;;;;;;;;OAYG;IACK,gBAAgB,CAAC,KAAa,EAAE,OAAgB;QACtD,MAAM,UAAU,GAAG,OAAO,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,aAAa,CAAC;QAC1D,MAAM,UAAU,GAAG,MAAM,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;QAChD,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,MAAM,IAAI,KAAK,CAAC,GAAG,UAAU,mBAAmB,CAAC,CAAC;QACpD,CAAC;QAED,MAAM,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,UAAU,EAAE,OAAO,KAAK,EAAE,EAAE,IAAI,CAAC,CAAC;QAChF,IAAI,CAAC,aAAa,EAAE,CAAC;YACnB,MAAM,IAAI,KAAK,CAAC,oCAAoC,KAAK,EAAE,CAAC,CAAC;QAC/D,CAAC;QAED,OAAO,aAAa,CAAC;IACvB,CAAC;IAED;;;;;;;;OAQG;IACK,sBAAsB;QAC5B,sDAAsD;QACtD,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAC1D,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;QACpD,CAAC;QAED,IAAI,MAA+B,CAAC;QACpC,IAAI,OAAgC,CAAC;QAErC,IAAI,CAAC;YACH,6DAA6D;YAC7D,IAAI,GAAG,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC;YAClC,WAAW,CAAC,YAAY,CAAC,GAAG,EAAE,qCAAqC,CAAC,CAAC;YAErE,0EAA0E;YAC1E,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC;YACnC,IAAI,OAAO,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;gBACrC,KAAK,MAAM,SAAS,IAAI,OAAO,EAAE,CAAC;oBAChC,MAAM,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC;oBAChC,IAAI,MAAM,EAAE,QAAQ,CAAC,sBAAsB,CAAC,EAAE,CAAC;wBAC7C,SAAS,CAAC,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC;wBAE5D,mCAAmC;wBACnC,IAAI,IAAI,CAAC,OAAO,CAAC,aAAa,KAAK,SAAS,IAAI,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,CAAC,EAAE,CAAC;4BAC/E,SAAS,CAAC,aAAa,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC;wBACvD,CAAC;oBACH,CAAC;gBACH,CAAC;YACH,CAAC;YAED,mCAAmC;YACnC,GAAG,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC;YAC1B,WAAW,CAAC,YAAY,CAAC,GAAG,EAAE,oCAAoC,CAAC,CAAC;YAEpE,qDAAqD;YACrD,MAAM,GAAG,IAAI,WAAW,EAAE,CAAC;YAC3B,OAAO,GAAG,IAAI,WAAW,EAAE,CAAC;YAE5B,GAAG,GAAG,OAAO,CAAC,KAAK,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;YACrC,WAAW,CAAC,YAAY,CAAC,GAAG,EAAE,yBAAyB,CAAC,CAAC;YAEzD,mDAAmD;YACnD,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;YAE/B,qDAAqD;YACrD,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;QAChC,CAAC;gBAAS,CAAC;YACT,2EAA2E;YAC3E,2EAA2E;YAC3E,MAAM,EAAE,IAAI,EAAE,CAAC;YACf,OAAO,EAAE,IAAI,EAAE,CAAC;YAChB,OAAO,CAAC,IAAI,EAAE,CAAC;QACjB,CAAC;IACH,CAAC;IAED;;;;;;;;;;OAUG;IACK,iBAAiB,CAAC,MAAmB;QAC3C,IAAI,OAAO,GAAuB,MAAM,CAAC;QAEzC,OAAO,OAAO,EAAE,IAAI,EAAE,CAAC;YACrB,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC;YAC3B,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YAE1C,IAAI,CAAC,UAAU,EAAE,SAAS,EAAE,CAAC;gBAC3B,MAAM,IAAI,KAAK,CAAC,uCAAuC,KAAK,GAAG,CAAC,CAAC;YACnE,CAAC;YAED,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC;gBACvB,MAAM,IAAI,KAAK,CAAC,0CAA0C,KAAK,GAAG,CAAC,CAAC;YACtE,CAAC;YAED,iCAAiC;YACjC,MAAM,GAAG,GAAG,UAAU,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,EAAE,OAAO,CAAC,SAAS,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;YAC5E,WAAW,CAAC,YAAY,CAAC,GAAG,EAAE,6BAA6B,KAAK,cAAc,CAAC,CAAC;YAEhF,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;QACzB,CAAC;IACH,CAAC;IAED;;;;;;;;;;OAUG;IACK,eAAe,CAAC,OAAoB;QAC1C,IAAI,OAAO,GAAuB,OAAO,CAAC;QAE1C,6CAA6C;QAC7C,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC;QACrD,MAAM,cAAc,GAAG,UAAU,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,KAAK,QAAQ,CAAC,CAAC,sCAAsC;QAE/G,OAAO,OAAO,EAAE,IAAI,EAAE,CAAC;YACrB,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC;YAC3B,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YAE5C,IAAI,CAAC,WAAW,EAAE,CAAC;gBACjB,MAAM,IAAI,KAAK,CAAC,oCAAoC,KAAK,GAAG,CAAC,CAAC;YAChE,CAAC;YAED,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC;gBACvB,MAAM,IAAI,KAAK,CAAC,2CAA2C,KAAK,GAAG,CAAC,CAAC;YACvE,CAAC;YAED,yEAAyE;YACzE,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,KAAK,CAAC,CAAC;YACzE,IAAI,OAAO,GAAG,cAAc,CAAC;YAE7B,IAAI,YAAY,EAAE,SAAS,KAAK,SAAS,EAAE,CAAC;gBAC1C,OAAO,GAAG,YAAY,CAAC,SAAS,KAAK,kBAAkB,CAAC;YAC1D,CAAC;YAED,2BAA2B;YAC3B,MAAM,UAAU,GAAG,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;YACzD,WAAW,CAAC,UAAU,GAAG,UAAU,CAAC;YAEpC,mCAAmC;YACnC,MAAM,GAAG,GAAG,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC;YAClE,WAAW,CAAC,YAAY,CAAC,GAAG,EAAE,yCAAyC,KAAK,GAAG,CAAC,CAAC;YAEjF,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;QACzB,CAAC;IACH,CAAC;IAED;;;;;;;;;;;;;;OAcG;IACK,sBAAsB,CAAC,KAAY,EAAE,UAAyB;QACpE,oFAAoF;QACpF,6EAA6E;QAC7E,KAAK,CAAC,QAAQ,GAAG,UAAU,CAAC,qBAAqB,EAAE,CAAC;QAEpD,IAAI,KAAK,CAAC,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;YACvC,MAAM,SAAS,GAAG,UAAU,CAAC,sBAAsB,EAAE,CAAC;YACtD,IAAI,SAAS,CAAC,GAAG,GAAG,CAAC,IAAI,SAAS,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC;gBAC3C,KAAK,CAAC,QAAQ,GAAG,UAAU,CAAC,CAAC,EAAE,MAAM,CAAC,SAAS,CAAC,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC;YACpE,CAAC;QACH,CAAC;IACH,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;OAqBG;IACH,KAAK;QACH,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClB,OAAO;QACT,CAAC;QAED,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QAErB,KAAK,MAAM,UAAU,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC;YAC9C,KAAK,MAAM,KAAK,IAAI,UAAU,CAAC,YAAY,EAAE,CAAC;gBAC5C,KAAK,CAAC,IAAI,EAAE,CAAC;YACf,CAAC;YACD,UAAU,CAAC,YAAY,GAAG,EAAE,CAAC;YAC7B,UAAU,CAAC,SAAS,EAAE,IAAI,EAAE,CAAC;YAC7B,UAAU,CAAC,SAAS,GAAG,IAAI,CAAC;QAC9B,CAAC;QAED,KAAK,MAAM,WAAW,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;YAChD,WAAW,CAAC,UAAU,EAAE,IAAI,EAAE,CAAC;YAC/B,WAAW,CAAC,UAAU,GAAG,IAAI,CAAC;QAChC,CAAC;QAED,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;QACpB,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;QAErB,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;QAClB,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;QAElB,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;QACzB,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;IAChC,CAAC;IAED;;;;;;;;;;;;;;OAcG;IACH,CAAC,MAAM,CAAC,OAAO,CAAC;QACd,IAAI,CAAC,KAAK,EAAE,CAAC;IACf,CAAC;CACF"}
|
|
@@ -685,17 +685,31 @@ export type FilterComplexLabels = string | string[];
|
|
|
685
685
|
*/
|
|
686
686
|
export declare class FilterComplexGraph {
|
|
687
687
|
private chains;
|
|
688
|
+
private hardware?;
|
|
688
689
|
/**
|
|
689
690
|
* Create a new filter-complex graph builder.
|
|
690
691
|
*
|
|
692
|
+
* @param hardware - Optional hardware context. Each {@link chain} then builds
|
|
693
|
+
* with hardware-aware filter selection (e.g. `scale` → `scale_vaapi`,
|
|
694
|
+
* `overlay` → `overlay_vaapi`), like {@link FilterPreset.chain}.
|
|
695
|
+
*
|
|
691
696
|
* @returns A new builder instance
|
|
692
697
|
*
|
|
693
698
|
* @example
|
|
694
699
|
* ```typescript
|
|
695
700
|
* const graph = FilterComplexGraph.create();
|
|
696
701
|
* ```
|
|
702
|
+
*
|
|
703
|
+
* @example
|
|
704
|
+
* ```typescript
|
|
705
|
+
* // Hardware-aware graph (scale_vaapi / overlay_vaapi etc.)
|
|
706
|
+
* const hw = HardwareContext.auto();
|
|
707
|
+
* const graph = FilterComplexGraph.create(hw)
|
|
708
|
+
* .chain({ inputs: '1:v', outputs: 'pip' }, (c) => c.scale(320, 240))
|
|
709
|
+
* .chain({ inputs: ['0:v', 'pip'], outputs: 'out' }, (c) => c.overlay(10, 10));
|
|
710
|
+
* ```
|
|
697
711
|
*/
|
|
698
|
-
static create(): FilterComplexGraph;
|
|
712
|
+
static create(hardware?: HardwareContext | null): FilterComplexGraph;
|
|
699
713
|
/**
|
|
700
714
|
* Add a labeled filter chain to the graph.
|
|
701
715
|
*
|
|
@@ -734,7 +734,9 @@ export class FilterPreset {
|
|
|
734
734
|
if (this.hardware) {
|
|
735
735
|
// Special handling for RKMPP which uses RGA
|
|
736
736
|
const filterName = this.hardware.deviceType === AV_HWDEVICE_TYPE_RKMPP ? 'overlay_rkrga' : `overlay_${this.hardware.deviceTypeName}`;
|
|
737
|
-
|
|
737
|
+
// Use named options: some hardware overlays (overlay_videotoolbox) accept
|
|
738
|
+
// no positional shorthand, and x=/y= is valid for every overlay variant.
|
|
739
|
+
let filter = `${filterName}=x=${x}:y=${y}`;
|
|
738
740
|
if (options) {
|
|
739
741
|
for (const [key, value] of Object.entries(options)) {
|
|
740
742
|
filter += `:${key}=${value}`;
|
|
@@ -743,7 +745,7 @@ export class FilterPreset {
|
|
|
743
745
|
this.add(filter);
|
|
744
746
|
}
|
|
745
747
|
else {
|
|
746
|
-
let filter = `overlay=${x}
|
|
748
|
+
let filter = `overlay=x=${x}:y=${y}`;
|
|
747
749
|
if (options) {
|
|
748
750
|
for (const [key, value] of Object.entries(options)) {
|
|
749
751
|
filter += `:${key}=${value}`;
|
|
@@ -1381,18 +1383,34 @@ export class FilterPreset {
|
|
|
1381
1383
|
*/
|
|
1382
1384
|
export class FilterComplexGraph {
|
|
1383
1385
|
chains = [];
|
|
1386
|
+
hardware;
|
|
1384
1387
|
/**
|
|
1385
1388
|
* Create a new filter-complex graph builder.
|
|
1386
1389
|
*
|
|
1390
|
+
* @param hardware - Optional hardware context. Each {@link chain} then builds
|
|
1391
|
+
* with hardware-aware filter selection (e.g. `scale` → `scale_vaapi`,
|
|
1392
|
+
* `overlay` → `overlay_vaapi`), like {@link FilterPreset.chain}.
|
|
1393
|
+
*
|
|
1387
1394
|
* @returns A new builder instance
|
|
1388
1395
|
*
|
|
1389
1396
|
* @example
|
|
1390
1397
|
* ```typescript
|
|
1391
1398
|
* const graph = FilterComplexGraph.create();
|
|
1392
1399
|
* ```
|
|
1400
|
+
*
|
|
1401
|
+
* @example
|
|
1402
|
+
* ```typescript
|
|
1403
|
+
* // Hardware-aware graph (scale_vaapi / overlay_vaapi etc.)
|
|
1404
|
+
* const hw = HardwareContext.auto();
|
|
1405
|
+
* const graph = FilterComplexGraph.create(hw)
|
|
1406
|
+
* .chain({ inputs: '1:v', outputs: 'pip' }, (c) => c.scale(320, 240))
|
|
1407
|
+
* .chain({ inputs: ['0:v', 'pip'], outputs: 'out' }, (c) => c.overlay(10, 10));
|
|
1408
|
+
* ```
|
|
1393
1409
|
*/
|
|
1394
|
-
static create() {
|
|
1395
|
-
|
|
1410
|
+
static create(hardware) {
|
|
1411
|
+
const graph = new FilterComplexGraph();
|
|
1412
|
+
graph.hardware = hardware;
|
|
1413
|
+
return graph;
|
|
1396
1414
|
}
|
|
1397
1415
|
/**
|
|
1398
1416
|
* Add a labeled filter chain to the graph.
|
|
@@ -1418,7 +1436,7 @@ export class FilterComplexGraph {
|
|
|
1418
1436
|
* ```
|
|
1419
1437
|
*/
|
|
1420
1438
|
chain(labels, build) {
|
|
1421
|
-
const preset = FilterPreset.chain();
|
|
1439
|
+
const preset = FilterPreset.chain(this.hardware);
|
|
1422
1440
|
const filterString = build(preset).build();
|
|
1423
1441
|
this.chains.push(`${this.renderLabels(labels.inputs)}${filterString}${this.renderLabels(labels.outputs)}`);
|
|
1424
1442
|
return this;
|