@n8n/workflow-sdk 0.20.1 → 0.21.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/ast-interpreter/validators.js +1 -0
- package/dist/ast-interpreter/validators.js.map +1 -1
- package/dist/build.tsbuildinfo +1 -1
- package/dist/codegen/code-generator.js +14 -0
- package/dist/codegen/code-generator.js.map +1 -1
- package/dist/generate-types/generate-types.d.ts +29 -8
- package/dist/generate-types/generate-types.js.map +1 -1
- package/dist/generate-types/generate-zod-schemas.d.ts +1 -1
- package/dist/generate-types/generate-zod-schemas.js +119 -86
- package/dist/generate-types/generate-zod-schemas.js.map +1 -1
- package/dist/prompts/node-guidance/parameter-guides/http-request.js +20 -2
- package/dist/prompts/node-guidance/parameter-guides/http-request.js.map +1 -1
- package/dist/prompts/sdk-reference/sdk-language.js +20 -0
- package/dist/prompts/sdk-reference/sdk-language.js.map +1 -1
- package/dist/prompts/sdk-reference/workflow-rules.d.ts +1 -1
- package/dist/prompts/sdk-reference/workflow-rules.js +8 -2
- package/dist/prompts/sdk-reference/workflow-rules.js.map +1 -1
- package/dist/types/base.d.ts +7 -2
- package/dist/types/base.js.map +1 -1
- package/dist/validation/index.js +4 -6
- package/dist/validation/index.js.map +1 -1
- package/dist/workflow-builder/plugins/serializers/json-serializer.js +10 -0
- package/dist/workflow-builder/plugins/serializers/json-serializer.js.map +1 -1
- package/dist/workflow-builder/plugins/types.d.ts +6 -0
- package/dist/workflow-builder/plugins/validators/http-request-validator.js +33 -0
- package/dist/workflow-builder/plugins/validators/http-request-validator.js.map +1 -1
- package/dist/workflow-builder/plugins/validators/memory-session-key-validator.js +2 -4
- package/dist/workflow-builder/plugins/validators/memory-session-key-validator.js.map +1 -1
- package/dist/workflow-builder/plugins/validators/set-node-validator.js +4 -6
- package/dist/workflow-builder/plugins/validators/set-node-validator.js.map +1 -1
- package/dist/workflow-builder/string-utils.d.ts +1 -0
- package/dist/workflow-builder/string-utils.js +9 -5
- package/dist/workflow-builder/string-utils.js.map +1 -1
- package/dist/workflow-builder/workflow-import.d.ts +6 -1
- package/dist/workflow-builder/workflow-import.js +14 -0
- package/dist/workflow-builder/workflow-import.js.map +1 -1
- package/dist/workflow-builder.js +27 -4
- package/dist/workflow-builder.js.map +1 -1
- package/package.json +7 -5
|
@@ -7,10 +7,10 @@ exports.generateSchemaPropertyLine = generateSchemaPropertyLine;
|
|
|
7
7
|
exports.stripDiscriminatorKeysFromDisplayOptions = stripDiscriminatorKeysFromDisplayOptions;
|
|
8
8
|
exports.mergeDisplayOptions = mergeDisplayOptions;
|
|
9
9
|
exports.mergePropertiesByName = mergePropertiesByName;
|
|
10
|
-
exports.generateConditionalSchemaLine = generateConditionalSchemaLine;
|
|
11
10
|
exports.collectDeclarationsByName = collectDeclarationsByName;
|
|
12
11
|
exports.generateOneOfSchemaLine = generateOneOfSchemaLine;
|
|
13
12
|
exports.generateMergedSchemaLine = generateMergedSchemaLine;
|
|
13
|
+
exports.generateConditionalSchemaLine = generateConditionalSchemaLine;
|
|
14
14
|
exports.generateSubnodeConfigSchemaCode = generateSubnodeConfigSchemaCode;
|
|
15
15
|
exports.getSubnodeSchemaImports = getSubnodeSchemaImports;
|
|
16
16
|
exports.generateSingleVersionSchemaFile = generateSingleVersionSchemaFile;
|
|
@@ -348,17 +348,7 @@ function generateFixedCollectionZodSchema(prop) {
|
|
|
348
348
|
continue;
|
|
349
349
|
}
|
|
350
350
|
const groupName = quotePropertyName(group.name);
|
|
351
|
-
const nestedProps =
|
|
352
|
-
for (const nestedProp of group.values) {
|
|
353
|
-
if (DISPLAY_ONLY_PROPERTY_TYPES.has(nestedProp.type)) {
|
|
354
|
-
continue;
|
|
355
|
-
}
|
|
356
|
-
const nestedSchema = mapNestedPropertyToZodSchema(nestedProp);
|
|
357
|
-
if (nestedSchema) {
|
|
358
|
-
const quotedName = quotePropertyName(nestedProp.name);
|
|
359
|
-
nestedProps.push(`${quotedName}: ${nestedSchema}.optional()`);
|
|
360
|
-
}
|
|
361
|
-
}
|
|
351
|
+
const nestedProps = generateNestedSchemaPropertyLines(group.values);
|
|
362
352
|
if (nestedProps.length > 0) {
|
|
363
353
|
const innerSchema = `z.object({ ${nestedProps.join(', ')} })`;
|
|
364
354
|
const minRequired = prop.typeOptions?.minRequiredFields;
|
|
@@ -391,25 +381,40 @@ function generateCollectionZodSchema(prop) {
|
|
|
391
381
|
if (!prop.options || prop.options.length === 0) {
|
|
392
382
|
return 'z.record(z.string(), z.unknown())';
|
|
393
383
|
}
|
|
394
|
-
const
|
|
395
|
-
|
|
396
|
-
|
|
384
|
+
const nestedOptionProps = prop.options
|
|
385
|
+
.filter((nestedProp) => nestedProp.values === undefined)
|
|
386
|
+
.map((nestedProp) => nestedProp);
|
|
387
|
+
const nestedProps = generateNestedSchemaPropertyLines(nestedOptionProps);
|
|
388
|
+
if (nestedProps.length === 0) {
|
|
389
|
+
return 'z.record(z.string(), z.unknown())';
|
|
390
|
+
}
|
|
391
|
+
return `z.object({ ${nestedProps.join(', ')} })`;
|
|
392
|
+
}
|
|
393
|
+
function combineSchemaAlternatives(schemas) {
|
|
394
|
+
const uniqueSchemas = Array.from(new Set(schemas));
|
|
395
|
+
if (uniqueSchemas.length === 1) {
|
|
396
|
+
return uniqueSchemas[0];
|
|
397
|
+
}
|
|
398
|
+
return `z.union([${uniqueSchemas.join(', ')}])`;
|
|
399
|
+
}
|
|
400
|
+
function generateNestedSchemaPropertyLines(properties) {
|
|
401
|
+
const schemasByName = new Map();
|
|
402
|
+
for (const nestedProp of properties) {
|
|
403
|
+
if (DISPLAY_ONLY_PROPERTY_TYPES.has(nestedProp.type)) {
|
|
397
404
|
continue;
|
|
398
405
|
}
|
|
399
|
-
const
|
|
400
|
-
if (
|
|
406
|
+
const nestedSchema = mapNestedPropertyToZodSchema(nestedProp);
|
|
407
|
+
if (!nestedSchema) {
|
|
401
408
|
continue;
|
|
402
409
|
}
|
|
403
|
-
const
|
|
404
|
-
|
|
405
|
-
|
|
406
|
-
nestedProps.push(`${quotedName}: ${nestedSchema}.optional()`);
|
|
407
|
-
}
|
|
410
|
+
const schemas = schemasByName.get(nestedProp.name) ?? [];
|
|
411
|
+
schemas.push(nestedSchema);
|
|
412
|
+
schemasByName.set(nestedProp.name, schemas);
|
|
408
413
|
}
|
|
409
|
-
|
|
410
|
-
|
|
411
|
-
|
|
412
|
-
|
|
414
|
+
return Array.from(schemasByName.entries()).map(([name, schemas]) => {
|
|
415
|
+
const quotedName = quotePropertyName(name);
|
|
416
|
+
return `${quotedName}: ${combineSchemaAlternatives(schemas)}.optional()`;
|
|
417
|
+
});
|
|
413
418
|
}
|
|
414
419
|
function mapPropertyToZodSchema(prop) {
|
|
415
420
|
const result = mapPropertyToZodSchemaInner(prop, !prop.noDataExpression);
|
|
@@ -532,21 +537,23 @@ function stripDiscriminatorKeysFromDisplayOptions(displayOptions, discriminatorK
|
|
|
532
537
|
}
|
|
533
538
|
return result;
|
|
534
539
|
}
|
|
535
|
-
function
|
|
536
|
-
|
|
537
|
-
|
|
538
|
-
|
|
539
|
-
|
|
540
|
-
|
|
540
|
+
function cloneConditionMap(conditions) {
|
|
541
|
+
if (!conditions)
|
|
542
|
+
return undefined;
|
|
543
|
+
return Object.fromEntries(Object.entries(conditions).map(([key, values]) => [key, [...values]]));
|
|
544
|
+
}
|
|
545
|
+
function cloneDisplayOptions(displayOptions) {
|
|
546
|
+
const cloned = {};
|
|
547
|
+
const show = cloneConditionMap(displayOptions.show);
|
|
548
|
+
const hide = cloneConditionMap(displayOptions.hide);
|
|
549
|
+
if (show)
|
|
550
|
+
cloned.show = show;
|
|
551
|
+
if (hide)
|
|
552
|
+
cloned.hide = hide;
|
|
553
|
+
return cloned;
|
|
541
554
|
}
|
|
542
555
|
function mergeDisplayOptions(existing, incoming) {
|
|
543
|
-
const merged =
|
|
544
|
-
if (existing.show) {
|
|
545
|
-
merged.show = cloneDisplayOptionsValues(existing.show);
|
|
546
|
-
}
|
|
547
|
-
if (existing.hide) {
|
|
548
|
-
merged.hide = cloneDisplayOptionsValues(existing.hide);
|
|
549
|
-
}
|
|
556
|
+
const merged = cloneDisplayOptions(existing);
|
|
550
557
|
if (incoming.show) {
|
|
551
558
|
merged.show = merged.show ?? {};
|
|
552
559
|
for (const [key, values] of Object.entries(incoming.show)) {
|
|
@@ -602,41 +609,27 @@ function mergePropertiesByName(properties) {
|
|
|
602
609
|
}
|
|
603
610
|
}
|
|
604
611
|
else {
|
|
605
|
-
|
|
612
|
+
const propCopy = {
|
|
606
613
|
...prop,
|
|
607
614
|
options: prop.options ? [...prop.options] : undefined,
|
|
608
|
-
}
|
|
615
|
+
};
|
|
616
|
+
if (prop.displayOptions) {
|
|
617
|
+
propCopy.displayOptions = cloneDisplayOptions(prop.displayOptions);
|
|
618
|
+
}
|
|
619
|
+
propsByName.set(prop.name, propCopy);
|
|
609
620
|
}
|
|
610
621
|
}
|
|
611
622
|
return propsByName;
|
|
612
623
|
}
|
|
613
|
-
function generateConditionalSchemaLine(prop, allProperties = []) {
|
|
614
|
-
const zodSchema = mapPropertyToZodSchema(prop);
|
|
615
|
-
if (!zodSchema) {
|
|
616
|
-
return '';
|
|
617
|
-
}
|
|
618
|
-
const propName = quotePropertyName(prop.name);
|
|
619
|
-
const required = !isPropertyOptional(prop);
|
|
620
|
-
const displayOptionsStr = JSON.stringify(prop.displayOptions);
|
|
621
|
-
const defaults = prop.displayOptions
|
|
622
|
-
? extractDefaultsForDisplayOptions(prop.displayOptions, allProperties)
|
|
623
|
-
: {};
|
|
624
|
-
const defaultsStr = Object.keys(defaults).length > 0 ? `, defaults: ${JSON.stringify(defaults)}` : '';
|
|
625
|
-
return `${INDENT}${propName}: resolveSchema({ parameters, schema: ${zodSchema}, required: ${required}, displayOptions: ${displayOptionsStr}${defaultsStr} }),`;
|
|
626
|
-
}
|
|
627
624
|
function collectDeclarationsByName(properties) {
|
|
628
625
|
const byName = new Map();
|
|
629
626
|
for (const prop of properties) {
|
|
630
627
|
if (DISPLAY_ONLY_PROPERTY_TYPES.has(prop.type)) {
|
|
631
628
|
continue;
|
|
632
629
|
}
|
|
633
|
-
const
|
|
634
|
-
|
|
635
|
-
|
|
636
|
-
}
|
|
637
|
-
else {
|
|
638
|
-
byName.set(prop.name, [prop]);
|
|
639
|
-
}
|
|
630
|
+
const declarations = byName.get(prop.name) ?? [];
|
|
631
|
+
declarations.push(prop);
|
|
632
|
+
byName.set(prop.name, declarations);
|
|
640
633
|
}
|
|
641
634
|
return byName;
|
|
642
635
|
}
|
|
@@ -656,46 +649,78 @@ function generateOneOfSchemaLine(variants, allProperties = []) {
|
|
|
656
649
|
}
|
|
657
650
|
return `${INDENT}${propName}: resolveOneOfSchemas({ parameters, variants: [${variantStrs.join(', ')}] }),`;
|
|
658
651
|
}
|
|
659
|
-
function
|
|
652
|
+
function getSchemaVariantsForDuplicateDeclarations(declarations, keysToStrip) {
|
|
660
653
|
const variants = [];
|
|
661
654
|
let allConditional = true;
|
|
662
|
-
for (const
|
|
663
|
-
const { displayOptions
|
|
655
|
+
for (const declaration of declarations) {
|
|
656
|
+
const { displayOptions, fullyDisabled } = (0, generate_types_1.narrowDisplayOptionsByDisabled)(declaration);
|
|
664
657
|
if (fullyDisabled) {
|
|
665
658
|
continue;
|
|
666
659
|
}
|
|
667
|
-
|
|
660
|
+
const strippedDisplayOptions = displayOptions
|
|
661
|
+
? stripDiscriminatorKeysFromDisplayOptions(displayOptions, keysToStrip)
|
|
662
|
+
: undefined;
|
|
663
|
+
if (!strippedDisplayOptions) {
|
|
668
664
|
allConditional = false;
|
|
669
665
|
break;
|
|
670
666
|
}
|
|
671
|
-
|
|
672
|
-
|
|
673
|
-
|
|
674
|
-
|
|
675
|
-
}
|
|
676
|
-
variants.push({ prop: decl, displayOptions: stripped });
|
|
667
|
+
variants.push({
|
|
668
|
+
prop: declaration,
|
|
669
|
+
displayOptions: strippedDisplayOptions,
|
|
670
|
+
});
|
|
677
671
|
}
|
|
678
|
-
|
|
679
|
-
|
|
680
|
-
|
|
681
|
-
|
|
672
|
+
return { allConditional, variants };
|
|
673
|
+
}
|
|
674
|
+
function hasDuplicateConditionalDeclarations(properties, keysToStrip) {
|
|
675
|
+
for (const declarations of collectDeclarationsByName(properties).values()) {
|
|
676
|
+
if (declarations.length < 2) {
|
|
677
|
+
continue;
|
|
682
678
|
}
|
|
683
|
-
|
|
684
|
-
|
|
685
|
-
|
|
686
|
-
const line = generateConditionalSchemaLine({ ...prop, displayOptions }, allProperties);
|
|
687
|
-
if (line) {
|
|
688
|
-
return line;
|
|
679
|
+
const { allConditional, variants } = getSchemaVariantsForDuplicateDeclarations(declarations, keysToStrip);
|
|
680
|
+
if (allConditional && variants.length >= 2) {
|
|
681
|
+
return true;
|
|
689
682
|
}
|
|
690
683
|
}
|
|
691
|
-
|
|
692
|
-
|
|
693
|
-
|
|
694
|
-
|
|
684
|
+
return false;
|
|
685
|
+
}
|
|
686
|
+
function generateMergedSchemaLine(mergedProp, declarations, allProperties, keysToStrip) {
|
|
687
|
+
if (declarations.length > 1) {
|
|
688
|
+
const { allConditional, variants } = getSchemaVariantsForDuplicateDeclarations(declarations, keysToStrip);
|
|
689
|
+
if (allConditional) {
|
|
690
|
+
if (variants.length >= 2) {
|
|
691
|
+
const line = generateOneOfSchemaLine(variants, allProperties);
|
|
692
|
+
if (line) {
|
|
693
|
+
return line;
|
|
694
|
+
}
|
|
695
|
+
}
|
|
696
|
+
if (variants.length === 1) {
|
|
697
|
+
return generateConditionalSchemaLine({ ...variants[0].prop, displayOptions: variants[0].displayOptions }, allProperties);
|
|
698
|
+
}
|
|
699
|
+
return '';
|
|
695
700
|
}
|
|
696
701
|
}
|
|
702
|
+
const strippedDisplayOptions = mergedProp.displayOptions
|
|
703
|
+
? stripDiscriminatorKeysFromDisplayOptions(mergedProp.displayOptions, keysToStrip)
|
|
704
|
+
: undefined;
|
|
705
|
+
if (strippedDisplayOptions) {
|
|
706
|
+
return generateConditionalSchemaLine({ ...mergedProp, displayOptions: strippedDisplayOptions }, allProperties);
|
|
707
|
+
}
|
|
697
708
|
return generateSchemaPropertyLine(mergedProp, isPropertyOptional(mergedProp));
|
|
698
709
|
}
|
|
710
|
+
function generateConditionalSchemaLine(prop, allProperties = []) {
|
|
711
|
+
const zodSchema = mapPropertyToZodSchema(prop);
|
|
712
|
+
if (!zodSchema) {
|
|
713
|
+
return '';
|
|
714
|
+
}
|
|
715
|
+
const propName = quotePropertyName(prop.name);
|
|
716
|
+
const required = !isPropertyOptional(prop);
|
|
717
|
+
const displayOptionsStr = JSON.stringify(prop.displayOptions);
|
|
718
|
+
const defaults = prop.displayOptions
|
|
719
|
+
? extractDefaultsForDisplayOptions(prop.displayOptions, allProperties)
|
|
720
|
+
: {};
|
|
721
|
+
const defaultsStr = Object.keys(defaults).length > 0 ? `, defaults: ${JSON.stringify(defaults)}` : '';
|
|
722
|
+
return `${INDENT}${propName}: resolveSchema({ parameters, schema: ${zodSchema}, required: ${required}, displayOptions: ${displayOptionsStr}${defaultsStr} }),`;
|
|
723
|
+
}
|
|
699
724
|
function generateSubnodeConfigSchemaCode(aiInputTypes, schemaName, allProperties) {
|
|
700
725
|
if (aiInputTypes.length === 0) {
|
|
701
726
|
return null;
|
|
@@ -778,6 +803,9 @@ function generateSingleVersionSchemaFile(node, specificVersion) {
|
|
|
778
803
|
const hasAiInputs = aiInputTypes.length > 0;
|
|
779
804
|
const needsResolveSchema = hasDisplayOptions(filteredProperties) ||
|
|
780
805
|
(hasAiInputs && hasConditionalSubnodeFields(aiInputTypes));
|
|
806
|
+
const needsResolveOneOfSchema = hasDuplicateConditionalDeclarations(filteredProperties, [
|
|
807
|
+
'@version',
|
|
808
|
+
]);
|
|
781
809
|
const lines = [];
|
|
782
810
|
const helpers = [
|
|
783
811
|
'z',
|
|
@@ -793,6 +821,8 @@ function generateSingleVersionSchemaFile(node, specificVersion) {
|
|
|
793
821
|
];
|
|
794
822
|
if (needsResolveSchema) {
|
|
795
823
|
helpers.push('resolveSchema');
|
|
824
|
+
}
|
|
825
|
+
if (needsResolveSchema || needsResolveOneOfSchema) {
|
|
796
826
|
helpers.push('resolveOneOfSchemas');
|
|
797
827
|
}
|
|
798
828
|
for (const schemaImport of subnodeSchemaImports) {
|
|
@@ -932,6 +962,7 @@ function generateDiscriminatorSchemaFile(node, version, combo, props, _importDep
|
|
|
932
962
|
return stripped !== undefined;
|
|
933
963
|
});
|
|
934
964
|
const hasConditionalAiInputs = hasAiInputs && hasConditionalSubnodeFields(aiInputTypes);
|
|
965
|
+
const needsResolveOneOfSchema = hasDuplicateConditionalDeclarations(props, discriminatorKeys);
|
|
935
966
|
const lines = [];
|
|
936
967
|
const comboDesc = Object.entries(combo)
|
|
937
968
|
.filter(([_, v]) => v !== undefined)
|
|
@@ -951,6 +982,8 @@ function generateDiscriminatorSchemaFile(node, version, combo, props, _importDep
|
|
|
951
982
|
];
|
|
952
983
|
if (hasRemainingDisplayOptions || hasConditionalAiInputs) {
|
|
953
984
|
helpers.push('resolveSchema');
|
|
985
|
+
}
|
|
986
|
+
if (hasRemainingDisplayOptions || hasConditionalAiInputs || needsResolveOneOfSchema) {
|
|
954
987
|
helpers.push('resolveOneOfSchemas');
|
|
955
988
|
}
|
|
956
989
|
if (hasAiInputs) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generate-zod-schemas.js","sourceRoot":"","sources":["../../src/generate-types/generate-zod-schemas.ts"],"names":[],"mappings":";;AAqOA,gDAcC;AAkGD,4EAuCC;AAoRD,wDAGC;AAiHD,gEASC;AAWD,4FAkCC;AA0BD,kDAkDC;AAUD,sDA2CC;AAUD,sEAqBC;AASD,8DAcC;AAwBD,0DAuBC;AAqBD,4DAwDC;AA2CD,0EA2EC;AASD,0DAWC;AAgBD,0EAiLC;AASD,0DAmBC;AAqBD,0EA2MC;AAaD,0EAiEC;AAaD,kFAmFC;AAaD,kEA0FC;AAr7DD,qDAO0B;AAO1B,MAAM,MAAM,GAAG,IAAI,CAAC;AAGpB,MAAM,mBAAmB,GAAG,qBAAqB,CAAC;AAElD,SAAS,eAAe,CAAC,SAAiB;IACzC,OAAO,SAAS,KAAK,mBAAmB,CAAC;AAC1C,CAAC;AAQD,MAAM,2BAA2B,GAAG,IAAI,GAAG,CAAC,CAAC,QAAQ,EAAE,YAAY,EAAE,aAAa,EAAE,SAAS,CAAC,CAAC,CAAC;AAMhG,MAAM,eAAe,GACpB,yFAAyF,CAAC;AAQ3F,MAAM,4BAA4B,GACjC,kPAAkP,CAAC;AAKpP,MAAM,wBAAwB,GAAG;IAChC,eAAe;IACf,gBAAgB;IAChB,gBAAgB;IAChB,gBAAgB;IAChB,eAAe;IACf,gBAAgB;IAChB,WAAW;IACX,WAAW;CACF,CAAC;AAKX,MAAM,cAAc,GAAG,IAAI,GAAG,CAAC;IAC9B,OAAO;IACP,MAAM;IACN,OAAO;IACP,OAAO;IACP,OAAO;IACP,UAAU;IACV,UAAU;IACV,SAAS;IACT,QAAQ;IACR,IAAI;IACJ,MAAM;IACN,MAAM;IACN,QAAQ;IACR,SAAS;IACT,OAAO;IACP,SAAS;IACT,KAAK;IACL,UAAU;IACV,IAAI;IACJ,QAAQ;IACR,IAAI;IACJ,YAAY;IACZ,KAAK;IACL,MAAM;IACN,QAAQ;IACR,OAAO;IACP,QAAQ;IACR,MAAM;IACN,OAAO;IACP,MAAM;IACN,KAAK;IACL,QAAQ;IACR,KAAK;IACL,MAAM;IACN,OAAO;IACP,MAAM;IACN,OAAO;CACP,CAAC,CAAC;AAMH,MAAM,uBAAuB,GAQzB;IACH,gBAAgB,EAAE;QACjB,SAAS,EAAE,OAAO;QAClB,UAAU,EAAE,6BAA6B;QACzC,OAAO,EAAE,KAAK;QACd,aAAa,EAAE,IAAI;KACnB;IACD,SAAS,EAAE;QACV,SAAS,EAAE,QAAQ;QACnB,UAAU,EAAE,sBAAsB;QAClC,OAAO,EAAE,KAAK;QACd,aAAa,EAAE,KAAK;KACpB;IACD,OAAO,EAAE;QACR,SAAS,EAAE,OAAO;QAClB,UAAU,EAAE,oBAAoB;QAChC,OAAO,EAAE,IAAI;QACb,aAAa,EAAE,KAAK;KACpB;IACD,eAAe,EAAE;QAChB,SAAS,EAAE,cAAc;QACzB,UAAU,EAAE,4BAA4B;QACxC,OAAO,EAAE,KAAK;QACd,aAAa,EAAE,KAAK;KACpB;IACD,YAAY,EAAE;QACb,SAAS,EAAE,WAAW;QACtB,UAAU,EAAE,yBAAyB;QACrC,OAAO,EAAE,KAAK;QACd,aAAa,EAAE,IAAI;KACnB;IACD,cAAc,EAAE;QACf,SAAS,EAAE,aAAa;QACxB,UAAU,EAAE,2BAA2B;QACvC,OAAO,EAAE,KAAK;QACd,aAAa,EAAE,KAAK;KACpB;IACD,YAAY,EAAE;QACb,SAAS,EAAE,WAAW;QACtB,UAAU,EAAE,yBAAyB;QACrC,OAAO,EAAE,KAAK;QACd,aAAa,EAAE,KAAK;KACpB;IACD,WAAW,EAAE;QACZ,SAAS,EAAE,gBAAgB;QAC3B,UAAU,EAAE,8BAA8B;QAC1C,OAAO,EAAE,KAAK;QACd,aAAa,EAAE,IAAI;KACnB;IACD,eAAe,EAAE;QAChB,SAAS,EAAE,cAAc;QACzB,UAAU,EAAE,4BAA4B;QACxC,OAAO,EAAE,KAAK;QACd,aAAa,EAAE,KAAK;KACpB;IACD,WAAW,EAAE;QACZ,SAAS,EAAE,UAAU;QACrB,UAAU,EAAE,wBAAwB;QACpC,OAAO,EAAE,KAAK;QACd,aAAa,EAAE,KAAK;KACpB;CACD,CAAC;AAWF,SAAS,wBAAwB,CAAC,IAAkB;IACnD,IAAI,CAAC,CAAC,SAAS,IAAI,IAAI,CAAC,IAAI,IAAI,CAAC,OAAO,KAAK,SAAS;QAAE,OAAO,KAAK,CAAC;IAErE,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC;QACnB,KAAK,QAAQ,CAAC;QACd,KAAK,SAAS,CAAC;QACf,KAAK,UAAU;YACd,OAAO,IAAI,CAAC,OAAO,KAAK,EAAE,CAAC;QAC5B,KAAK,cAAc;YAClB,OAAO,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC;QACpE;YACC,OAAO,IAAI,CAAC;IACd,CAAC;AACF,CAAC;AAQD,SAAgB,kBAAkB,CAAC,IAAkB;IAIpD,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,EAAE,iBAAiB,CAAC;IACxD,IACC,IAAI,CAAC,IAAI,KAAK,iBAAiB;QAC/B,IAAI,CAAC,WAAW,EAAE,cAAc,KAAK,IAAI;QACzC,OAAO,WAAW,KAAK,QAAQ;QAC/B,WAAW,GAAG,CAAC,EACd,CAAC;QACF,OAAO,KAAK,CAAC;IACd,CAAC;IACD,OAAO,CAAC,IAAI,CAAC,QAAQ,IAAI,wBAAwB,CAAC,IAAI,CAAC,CAAC;AACzD,CAAC;AAQD,SAAS,wBAAwB,CAAC,YAA+B;IAChE,OAAO,YAAY,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;AAC9E,CAAC;AAMD,SAAS,2BAA2B,CAAC,YAA+B;IACnE,OAAO,YAAY,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;AAC3D,CAAC;AAOD,SAAS,iBAAiB,CAAC,UAA0B;IACpD,OAAO,UAAU,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE;QAC/B,IAAI,CAAC,IAAI,CAAC,cAAc;YAAE,OAAO,KAAK,CAAC;QAEvC,MAAM,QAAQ,GAAG,wCAAwC,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC;QAC7F,OAAO,QAAQ,KAAK,SAAS,CAAC;IAC/B,CAAC,CAAC,CAAC;AACJ,CAAC;AAKD,SAAS,YAAY,CAAC,GAAW;IAChC,OAAO,GAAG;SACR,OAAO,CAAC,QAAQ,EAAE,GAAG,CAAC;SACtB,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC;SACnB,KAAK,CAAC,GAAG,CAAC;SACV,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;SAC3D,IAAI,CAAC,EAAE,CAAC,CAAC;AACZ,CAAC;AAMD,SAAS,WAAW,CAAC,GAAW;IAC/B,OAAO,GAAG;SACR,OAAO,CAAC,UAAU,EAAE,KAAK,CAAC;SAC1B,WAAW,EAAE;SACb,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC;SACjB,OAAO,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;AAC3B,CAAC;AAKD,SAAS,gBAAgB,CAAC,KAAc;IACvC,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAE/B,MAAM,OAAO,GAAG,KAAK;aACnB,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC;aACtB,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC;aACpB,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC;aACrB,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC;aACrB,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QACxB,OAAO,IAAI,OAAO,GAAG,CAAC;IACvB,CAAC;IACD,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,KAAK,KAAK,SAAS,EAAE,CAAC;QAC7D,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC;IACtB,CAAC;IACD,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;AAC9B,CAAC;AAKD,SAAS,iBAAiB,CAAC,IAAY;IACtC,MAAM,YAAY,GAAG,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,4BAA4B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1F,IAAI,YAAY,EAAE,CAAC;QAClB,OAAO,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,GAAG,CAAC;IACzC,CAAC;IACD,OAAO,IAAI,CAAC;AACb,CAAC;AAWD,SAAgB,gCAAgC,CAC/C,cAAsF,EACtF,aAA6B;IAE7B,MAAM,QAAQ,GAA4B,EAAE,CAAC;IAC7C,MAAM,eAAe,GAAG,IAAI,GAAG,EAAU,CAAC;IAG1C,IAAI,cAAc,CAAC,IAAI,EAAE,CAAC;QACzB,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC;YAEpD,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;gBAElD,MAAM,QAAQ,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;gBACnC,eAAe,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YAC/B,CAAC;QACF,CAAC;IACF,CAAC;IAGD,IAAI,cAAc,CAAC,IAAI,EAAE,CAAC;QACzB,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC;YAEpD,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;gBAClD,MAAM,QAAQ,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;gBACnC,eAAe,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YAC/B,CAAC;QACF,CAAC;IACF,CAAC;IAGD,KAAK,MAAM,QAAQ,IAAI,eAAe,EAAE,CAAC;QACxC,MAAM,IAAI,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC;QAC5D,IAAI,IAAI,IAAI,IAAI,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;YACxC,QAAQ,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC;QACnC,CAAC;IACF,CAAC;IAED,OAAO,QAAQ,CAAC;AACjB,CAAC;AAUD,SAAS,gCAAgC,CAAC,IAAkB;IAC3D,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACzC,MAAM,UAAU,GACf,IAAI,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC;YACtB,CAAC,CAAC,cAAc,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI;YACtC,CAAC,CAAC,YAAY,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,cAAc,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;QAC/E,MAAM,YAAY,GAAG,2CAA2C,UAAU,gIAAgI,CAAC;QAE3M,OAAO,YAAY,YAAY,sBAAsB,CAAC;IACvD,CAAC;IAED,OAAO,4BAA4B,CAAC;AACrC,CAAC;AAQD,SAAS,gBAAgB,CAAC,IAAqC,EAAE,eAAwB;IACxF,IAAI,IAAI,KAAK,QAAQ;QAAE,OAAO,eAAe,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,YAAY,CAAC;IACpF,IAAI,IAAI,KAAK,QAAQ;QAAE,OAAO,eAAe,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,YAAY,CAAC;IACpF,OAAO,eAAe,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,aAAa,CAAC;AAChE,CAAC;AAQD,SAAS,kBAAkB,CAC1B,aAAqB,EACrB,gBAAyB,EACzB,gBAAyB;IAEzB,IAAI,CAAC,gBAAgB;QAAE,OAAO,aAAa,CAAC;IAC5C,OAAO,WAAW,aAAa,GAAG,CAAC;AACpC,CAAC;AAGD,SAAS,YAAY,CAAC,QAAkB,EAAE,eAAwB;IACjE,MAAM,KAAK,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC,GAAG,QAAQ,EAAE,kBAAkB,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;IAC7E,OAAO,YAAY,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;AACzC,CAAC;AAOD,SAAS,4BAA4B,CAAC,IAAkB;IACvD,OAAO,iCAAiC,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;AACxE,CAAC;AAED,SAAS,iCAAiC,CAAC,IAAkB,EAAE,eAAwB;IAEtF,IAAI,2BAA2B,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QAChD,OAAO,EAAE,CAAC;IACX,CAAC;IAGD,IAAI,IAAI,CAAC,IAAI,KAAK,iBAAiB,EAAE,CAAC;QACrC,OAAO,gCAAgC,CAAC,IAAI,CAAC,CAAC;IAC/C,CAAC;IAGD,IAAI,IAAI,CAAC,IAAI,KAAK,gBAAgB,EAAE,CAAC;QACpC,OAAO,2BAA2B,CAAC;IACpC,CAAC;IAED,MAAM,gBAAgB,GAAG,IAAI,CAAC,WAAW,EAAE,cAAc,KAAK,IAAI,CAAC;IAGnE,IAAI,IAAI,CAAC,WAAW,EAAE,iBAAiB,IAAI,IAAI,CAAC,WAAW,EAAE,oBAAoB,EAAE,CAAC;QACnF,IAAI,IAAI,CAAC,IAAI,KAAK,cAAc,EAAE,CAAC;YAClC,OAAO,qBAAqB,CAAC;QAC9B,CAAC;QACD,OAAO,kBAAkB,CACxB,gBAAgB,CAAC,QAAQ,EAAE,eAAe,CAAC,EAC3C,gBAAgB,EAChB,eAAe,CACf,CAAC;IACH,CAAC;IAED,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC;QACnB,KAAK,QAAQ,CAAC;QACd,KAAK,UAAU,CAAC;QAChB,KAAK,OAAO,CAAC;QACb,KAAK,mBAAmB;YACvB,OAAO,kBAAkB,CACxB,gBAAgB,CAAC,QAAQ,EAAE,eAAe,CAAC,EAC3C,gBAAgB,EAChB,eAAe,CACf,CAAC;QAEH,KAAK,QAAQ;YACZ,OAAO,kBAAkB,CACxB,gBAAgB,CAAC,QAAQ,EAAE,eAAe,CAAC,EAC3C,gBAAgB,EAChB,eAAe,CACf,CAAC;QAEH,KAAK,SAAS;YACb,OAAO,gBAAgB,CAAC,SAAS,EAAE,eAAe,CAAC,CAAC;QAErD,KAAK,SAAS,CAAC,CAAC,CAAC;YAChB,MAAM,QAAQ,GAAG,CAAC,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC;iBACnC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,KAAK,KAAK,SAAS,CAAC;iBACxC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,aAAa,gBAAgB,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAC5D,MAAM,aAAa,GAClB,QAAQ,CAAC,MAAM,GAAG,CAAC;gBAClB,CAAC,CAAC,YAAY,CAAC,QAAQ,EAAE,eAAe,CAAC;gBACzC,CAAC,CAAC,gBAAgB,CAAC,QAAQ,EAAE,eAAe,CAAC,CAAC;YAChD,OAAO,kBAAkB,CAAC,aAAa,EAAE,gBAAgB,EAAE,eAAe,CAAC,CAAC;QAC7E,CAAC;QAED,KAAK,cAAc,CAAC,CAAC,CAAC;YACrB,MAAM,QAAQ,GAAG,CAAC,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC;iBACnC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,KAAK,KAAK,SAAS,CAAC;iBACxC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,aAAa,gBAAgB,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAC5D,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACzB,OAAO,oBAAoB,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;YACrD,CAAC;YACD,OAAO,qBAAqB,CAAC;QAC9B,CAAC;QAED,KAAK,MAAM;YACV,OAAO,0CAA0C,CAAC;QAEnD,KAAK,QAAQ;YACZ,OAAO,mBAAmB,CAAC;QAE5B,KAAK,sBAAsB;YAC1B,OAAO,iCAAiC,CAAC;QAE1C,KAAK,iBAAiB;YACrB,OAAO,gCAAgC,CAAC,IAAI,CAAC,CAAC;QAE/C,KAAK,YAAY;YAChB,OAAO,2BAA2B,CAAC,IAAI,CAAC,CAAC;QAE1C,KAAK,QAAQ;YACZ,OAAO,gBAAgB,CAAC,QAAQ,EAAE,eAAe,CAAC,CAAC;QAEpD,KAAK,MAAM;YACV,OAAO,eAAe,CAAC;QAExB,KAAK,kBAAkB;YACtB,OAAO,4BAA4B,CAAC;QAErC,KAAK,QAAQ;YACZ,OAAO,aAAa,CAAC;QAEtB;YACC,OAAO,aAAa,CAAC;IACvB,CAAC;AACF,CAAC;AAKD,SAAS,gCAAgC,CAAC,IAAkB;IAC3D,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAChD,OAAO,mCAAmC,CAAC;IAC5C,CAAC;IAED,MAAM,gBAAgB,GAAG,IAAI,CAAC,WAAW,EAAE,cAAc,KAAK,IAAI,CAAC;IACnE,MAAM,MAAM,GAAa,EAAE,CAAC;IAE5B,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;QAElC,IAAI,KAAK,CAAC,KAAK,KAAK,SAAS,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;YAChD,SAAS;QACV,CAAC;QAED,MAAM,SAAS,GAAG,iBAAiB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAChD,MAAM,WAAW,GAAa,EAAE,CAAC;QAEjC,KAAK,MAAM,UAAU,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;YACvC,IAAI,2BAA2B,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;gBACtD,SAAS;YACV,CAAC;YAED,MAAM,YAAY,GAAG,4BAA4B,CAAC,UAAU,CAAC,CAAC;YAC9D,IAAI,YAAY,EAAE,CAAC;gBAClB,MAAM,UAAU,GAAG,iBAAiB,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;gBACtD,WAAW,CAAC,IAAI,CAAC,GAAG,UAAU,KAAK,YAAY,aAAa,CAAC,CAAC;YAC/D,CAAC;QACF,CAAC;QAED,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC5B,MAAM,WAAW,GAAG,cAAc,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;YAC9D,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,EAAE,iBAAiB,CAAC;YACxD,MAAM,cAAc,GAAG,OAAO,WAAW,KAAK,QAAQ,IAAI,WAAW,GAAG,CAAC,CAAC;YAC1E,IAAI,WAAmB,CAAC;YACxB,IAAI,gBAAgB,EAAE,CAAC;gBACtB,MAAM,UAAU,GAAG,IAAI,CAAC,WAAW,EAAE,gBAAgB,CAAC;gBACtD,IAAI,WAAW,GAAG,WAAW,WAAW,GAAG,CAAC;gBAC5C,IAAI,cAAc,EAAE,CAAC;oBACpB,WAAW,IAAI,QAAQ,WAAW,GAAG,CAAC;gBACvC,CAAC;gBACD,IAAI,OAAO,UAAU,KAAK,QAAQ,IAAI,UAAU,GAAG,CAAC,EAAE,CAAC;oBACtD,WAAW,IAAI,QAAQ,UAAU,GAAG,CAAC;gBACtC,CAAC;gBACD,WAAW,GAAG,WAAW,CAAC;YAC3B,CAAC;iBAAM,CAAC;gBACP,WAAW,GAAG,WAAW,CAAC;YAC3B,CAAC;YACD,MAAM,WAAW,GAAG,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC;YACxD,MAAM,CAAC,IAAI,CAAC,GAAG,SAAS,KAAK,WAAW,GAAG,WAAW,EAAE,CAAC,CAAC;QAC3D,CAAC;IACF,CAAC;IAED,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzB,OAAO,mCAAmC,CAAC;IAC5C,CAAC;IAED,OAAO,cAAc,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;AAC7C,CAAC;AAKD,SAAS,2BAA2B,CAAC,IAAkB;IACtD,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAChD,OAAO,mCAAmC,CAAC;IAC5C,CAAC;IAED,MAAM,WAAW,GAAa,EAAE,CAAC;IAEjC,KAAK,MAAM,UAAU,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;QAEvC,IAAI,UAAU,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YACrC,SAAS;QACV,CAAC;QAGD,MAAM,UAAU,GAAG,UAAqC,CAAC;QACzD,IAAI,2BAA2B,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;YACtD,SAAS;QACV,CAAC;QAED,MAAM,YAAY,GAAG,4BAA4B,CAAC,UAAU,CAAC,CAAC;QAC9D,IAAI,YAAY,EAAE,CAAC;YAClB,MAAM,UAAU,GAAG,iBAAiB,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;YACtD,WAAW,CAAC,IAAI,CAAC,GAAG,UAAU,KAAK,YAAY,aAAa,CAAC,CAAC;QAC/D,CAAC;IACF,CAAC;IAED,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC9B,OAAO,mCAAmC,CAAC;IAC5C,CAAC;IAED,OAAO,cAAc,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;AAClD,CAAC;AAUD,SAAgB,sBAAsB,CAAC,IAAkB;IACxD,MAAM,MAAM,GAAG,2BAA2B,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;IACzE,OAAO,2BAA2B,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;AAClD,CAAC;AAED,SAAS,2BAA2B,CAAC,IAAkB,EAAE,MAAc;IACtE,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,IAAI,KAAK,iBAAiB,IAAI,IAAI,CAAC,IAAI,KAAK,cAAc,EAAE,CAAC;QAChF,OAAO,MAAM,CAAC;IACf,CAAC;IACD,OAAO,IAAI,CAAC,WAAW,EAAE,cAAc,KAAK,IAAI,CAAC,CAAC,CAAC,WAAW,MAAM,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC;AAClF,CAAC;AAED,SAAS,2BAA2B,CAAC,IAAkB,EAAE,eAAwB;IAEhF,IAAI,2BAA2B,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QAChD,OAAO,EAAE,CAAC;IACX,CAAC;IAGD,IAAI,IAAI,CAAC,IAAI,KAAK,mBAAmB,IAAI,IAAI,CAAC,IAAI,KAAK,iBAAiB,EAAE,CAAC;QAC1E,MAAM,QAAQ,GAAG,wBAAwB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;QAC1E,OAAO,YAAY,CAAC,QAAQ,EAAE,eAAe,CAAC,CAAC;IAChD,CAAC;IAGD,IAAI,IAAI,CAAC,IAAI,KAAK,iBAAiB,EAAE,CAAC;QACrC,OAAO,gCAAgC,CAAC,IAAI,CAAC,CAAC;IAC/C,CAAC;IAGD,IAAI,IAAI,CAAC,IAAI,KAAK,gBAAgB,EAAE,CAAC;QACpC,OAAO,2BAA2B,CAAC;IACpC,CAAC;IAGD,IAAI,IAAI,CAAC,WAAW,EAAE,iBAAiB,IAAI,IAAI,CAAC,WAAW,EAAE,oBAAoB,EAAE,CAAC;QACnF,IAAI,IAAI,CAAC,IAAI,KAAK,cAAc;YAAE,OAAO,qBAAqB,CAAC;QAC/D,OAAO,gBAAgB,CAAC,QAAQ,EAAE,eAAe,CAAC,CAAC;IACpD,CAAC;IAED,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC;QACnB,KAAK,QAAQ,CAAC;QACd,KAAK,UAAU,CAAC;QAChB,KAAK,OAAO,CAAC;QACb,KAAK,mBAAmB;YACvB,OAAO,gBAAgB,CAAC,QAAQ,EAAE,eAAe,CAAC,CAAC;QAEpD,KAAK,QAAQ;YACZ,OAAO,gBAAgB,CAAC,QAAQ,EAAE,eAAe,CAAC,CAAC;QAEpD,KAAK,SAAS;YACb,OAAO,gBAAgB,CAAC,SAAS,EAAE,eAAe,CAAC,CAAC;QAErD,KAAK,SAAS,CAAC,CAAC,CAAC;YAChB,MAAM,QAAQ,GAAG,CAAC,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC;iBACnC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,KAAK,KAAK,SAAS,CAAC;iBACxC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,aAAa,gBAAgB,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAC5D,OAAO,QAAQ,CAAC,MAAM,GAAG,CAAC;gBACzB,CAAC,CAAC,YAAY,CAAC,QAAQ,EAAE,eAAe,CAAC;gBACzC,CAAC,CAAC,gBAAgB,CAAC,QAAQ,EAAE,eAAe,CAAC,CAAC;QAChD,CAAC;QAED,KAAK,cAAc,CAAC,CAAC,CAAC;YACrB,MAAM,QAAQ,GAAG,CAAC,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC;iBACnC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,KAAK,KAAK,SAAS,CAAC;iBACxC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,aAAa,gBAAgB,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAC5D,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACzB,OAAO,oBAAoB,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;YACrD,CAAC;YACD,OAAO,qBAAqB,CAAC;QAC9B,CAAC;QAED,KAAK,MAAM;YACV,OAAO,0CAA0C,CAAC;QAEnD,KAAK,QAAQ;YACZ,OAAO,mBAAmB,CAAC;QAE5B,KAAK,sBAAsB;YAC1B,OAAO,iCAAiC,CAAC;QAE1C,KAAK,iBAAiB;YACrB,OAAO,gCAAgC,CAAC,IAAI,CAAC,CAAC;QAE/C,KAAK,YAAY;YAChB,OAAO,2BAA2B,CAAC,IAAI,CAAC,CAAC;QAE1C,KAAK,QAAQ;YAIZ,OAAO,gBAAgB,CAAC,QAAQ,EAAE,eAAe,CAAC,CAAC;QAEpD,KAAK,MAAM;YACV,OAAO,eAAe,CAAC;QAExB,KAAK,kBAAkB;YACtB,OAAO,4BAA4B,CAAC;QAErC,KAAK,QAAQ;YACZ,OAAO,aAAa,CAAC;QAEtB,KAAK,QAAQ,CAAC;QACd,KAAK,YAAY,CAAC;QAClB,KAAK,aAAa,CAAC;QACnB,KAAK,SAAS;YACb,OAAO,EAAE,CAAC;QAEX;YACC,OAAO,aAAa,CAAC;IACvB,CAAC;AACF,CAAC;AAKD,SAAgB,0BAA0B,CAAC,IAAkB,EAAE,QAAiB;IAC/E,MAAM,SAAS,GAAG,sBAAsB,CAAC,IAAI,CAAC,CAAC;IAC/C,IAAI,CAAC,SAAS,EAAE,CAAC;QAChB,OAAO,EAAE,CAAC;IACX,CAAC;IAED,MAAM,QAAQ,GAAG,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC9C,MAAM,MAAM,GAAG,QAAQ,CAAC,CAAC,CAAC,GAAG,SAAS,aAAa,CAAC,CAAC,CAAC,SAAS,CAAC;IAChE,OAAO,GAAG,MAAM,GAAG,QAAQ,KAAK,MAAM,GAAG,CAAC;AAC3C,CAAC;AAWD,SAAgB,wCAAwC,CACvD,cAAsF,EACtF,iBAA2B;IAE3B,MAAM,MAAM,GAA2E,EAAE,CAAC;IAE1F,IAAI,cAAc,CAAC,IAAI,EAAE,CAAC;QACzB,MAAM,WAAW,GAA8B,EAAE,CAAC;QAClD,KAAK,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC;YACjE,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;gBACtC,WAAW,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC;YAC3B,CAAC;QACF,CAAC;QACD,IAAI,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACzC,MAAM,CAAC,IAAI,GAAG,WAAW,CAAC;QAC3B,CAAC;IACF,CAAC;IAED,IAAI,cAAc,CAAC,IAAI,EAAE,CAAC;QACzB,MAAM,WAAW,GAA8B,EAAE,CAAC;QAClD,KAAK,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC;YACjE,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;gBACtC,WAAW,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC;YAC3B,CAAC;QACF,CAAC;QACD,IAAI,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACzC,MAAM,CAAC,IAAI,GAAG,WAAW,CAAC;QAC3B,CAAC;IACF,CAAC;IAED,IAAI,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;QAClC,OAAO,SAAS,CAAC;IAClB,CAAC;IACD,OAAO,MAAM,CAAC;AACf,CAAC;AAUD,SAAS,yBAAyB,CAAC,MAAiC;IACnE,MAAM,KAAK,GAA8B,EAAE,CAAC;IAC5C,KAAK,MAAM,CAAC,GAAG,EAAE,YAAY,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QAC1D,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,YAAY,CAAC,CAAC;IAChC,CAAC;IACD,OAAO,KAAK,CAAC;AACd,CAAC;AAUD,SAAgB,mBAAmB,CAClC,QAAiC,EACjC,QAAiC;IAEjC,MAAM,MAAM,GAA4B,EAAE,CAAC;IAC3C,IAAI,QAAQ,CAAC,IAAI,EAAE,CAAC;QACnB,MAAM,CAAC,IAAI,GAAG,yBAAyB,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IACxD,CAAC;IACD,IAAI,QAAQ,CAAC,IAAI,EAAE,CAAC;QACnB,MAAM,CAAC,IAAI,GAAG,yBAAyB,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IACxD,CAAC;IAGD,IAAI,QAAQ,CAAC,IAAI,EAAE,CAAC;QACnB,MAAM,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC;QAChC,KAAK,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;YAC3D,MAAM,cAAc,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;YAE9C,MAAM,QAAQ,GAAG,CAAC,GAAG,cAAc,CAAC,CAAC;YACrC,KAAK,MAAM,GAAG,IAAI,MAAM,EAAE,CAAC;gBAC1B,MAAM,WAAW,GAAG,QAAQ,CAAC,IAAI,CAChC,CAAC,WAAW,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CACpE,CAAC;gBACF,IAAI,CAAC,WAAW,EAAE,CAAC;oBAClB,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBACpB,CAAC;YACF,CAAC;YACD,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC;QAC7B,CAAC;IACF,CAAC;IAGD,IAAI,QAAQ,CAAC,IAAI,EAAE,CAAC;QACnB,MAAM,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC;QAChC,KAAK,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;YAC3D,MAAM,cAAc,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;YAC9C,MAAM,QAAQ,GAAG,CAAC,GAAG,cAAc,CAAC,CAAC;YACrC,KAAK,MAAM,GAAG,IAAI,MAAM,EAAE,CAAC;gBAC1B,MAAM,WAAW,GAAG,QAAQ,CAAC,IAAI,CAChC,CAAC,WAAW,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CACpE,CAAC;gBACF,IAAI,CAAC,WAAW,EAAE,CAAC;oBAClB,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBACpB,CAAC;YACF,CAAC;YACD,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC;QAC7B,CAAC;IACF,CAAC;IAED,OAAO,MAAM,CAAC;AACf,CAAC;AAUD,SAAgB,qBAAqB,CAAC,UAA0B;IAC/D,MAAM,WAAW,GAAG,IAAI,GAAG,EAAwB,CAAC;IAEpD,KAAK,MAAM,IAAI,IAAI,UAAU,EAAE,CAAC;QAE/B,IAAI,2BAA2B,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YAChD,SAAS;QACV,CAAC;QAED,MAAM,QAAQ,GAAG,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC5C,IAAI,QAAQ,EAAE,CAAC;YAEd,IAAI,IAAI,CAAC,cAAc,IAAI,QAAQ,CAAC,cAAc,EAAE,CAAC;gBACpD,QAAQ,CAAC,cAAc,GAAG,mBAAmB,CAAC,QAAQ,CAAC,cAAc,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;YAC7F,CAAC;iBAAM,IAAI,IAAI,CAAC,cAAc,IAAI,CAAC,QAAQ,CAAC,cAAc,EAAE,CAAC;YAG7D,CAAC;YAGD,IACC,CAAC,IAAI,CAAC,IAAI,KAAK,YAAY,IAAI,IAAI,CAAC,IAAI,KAAK,iBAAiB,CAAC;gBAC/D,IAAI,CAAC,OAAO;gBACZ,QAAQ,CAAC,OAAO,EACf,CAAC;gBACF,MAAM,mBAAmB,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;gBACzE,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;oBAChC,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;wBACxC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;oBAC5B,CAAC;gBACF,CAAC;YACF,CAAC;QAEF,CAAC;aAAM,CAAC;YAEP,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE;gBAC1B,GAAG,IAAI;gBACP,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS;aACrD,CAAC,CAAC;QACJ,CAAC;IACF,CAAC;IAED,OAAO,WAAW,CAAC;AACpB,CAAC;AAUD,SAAgB,6BAA6B,CAC5C,IAAkB,EAClB,gBAAgC,EAAE;IAElC,MAAM,SAAS,GAAG,sBAAsB,CAAC,IAAI,CAAC,CAAC;IAC/C,IAAI,CAAC,SAAS,EAAE,CAAC;QAChB,OAAO,EAAE,CAAC;IACX,CAAC;IAED,MAAM,QAAQ,GAAG,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC9C,MAAM,QAAQ,GAAG,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;IAC3C,MAAM,iBAAiB,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;IAG9D,MAAM,QAAQ,GAAG,IAAI,CAAC,cAAc;QACnC,CAAC,CAAC,gCAAgC,CAAC,IAAI,CAAC,cAAc,EAAE,aAAa,CAAC;QACtE,CAAC,CAAC,EAAE,CAAC;IACN,MAAM,WAAW,GAChB,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,eAAe,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAEnF,OAAO,GAAG,MAAM,GAAG,QAAQ,yCAAyC,SAAS,eAAe,QAAQ,qBAAqB,iBAAiB,GAAG,WAAW,MAAM,CAAC;AAChK,CAAC;AASD,SAAgB,yBAAyB,CAAC,UAA0B;IACnE,MAAM,MAAM,GAAG,IAAI,GAAG,EAA0B,CAAC;IACjD,KAAK,MAAM,IAAI,IAAI,UAAU,EAAE,CAAC;QAC/B,IAAI,2BAA2B,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YAChD,SAAS;QACV,CAAC;QACD,MAAM,IAAI,GAAG,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACnC,IAAI,IAAI,EAAE,CAAC;YACV,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACjB,CAAC;aAAM,CAAC;YACP,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;QAC/B,CAAC;IACF,CAAC;IACD,OAAO,MAAM,CAAC;AACf,CAAC;AAwBD,SAAgB,uBAAuB,CACtC,QAAyB,EACzB,gBAAgC,EAAE;IAElC,MAAM,QAAQ,GAAG,iBAAiB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAE1D,MAAM,WAAW,GAAa,EAAE,CAAC;IACjC,KAAK,MAAM,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,QAAQ,EAAE,CAAC;QACjD,MAAM,SAAS,GAAG,sBAAsB,CAAC,IAAI,CAAC,CAAC;QAC/C,IAAI,CAAC,SAAS,EAAE,CAAC;YAChB,OAAO,EAAE,CAAC;QACX,CAAC;QACD,MAAM,QAAQ,GAAG,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;QAC3C,MAAM,iBAAiB,GAAG,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;QACzD,MAAM,QAAQ,GAAG,gCAAgC,CAAC,cAAc,EAAE,aAAa,CAAC,CAAC;QACjF,MAAM,WAAW,GAChB,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,eAAe,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACnF,WAAW,CAAC,IAAI,CACf,aAAa,SAAS,eAAe,QAAQ,qBAAqB,iBAAiB,GAAG,WAAW,IAAI,CACrG,CAAC;IACH,CAAC;IAED,OAAO,GAAG,MAAM,GAAG,QAAQ,kDAAkD,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC;AAC5G,CAAC;AAqBD,SAAgB,wBAAwB,CACvC,UAAwB,EACxB,YAA4B,EAC5B,aAA6B,EAC7B,WAAqB;IAErB,MAAM,QAAQ,GAAoB,EAAE,CAAC;IACrC,IAAI,cAAc,GAAG,IAAI,CAAC;IAC1B,KAAK,MAAM,IAAI,IAAI,YAAY,EAAE,CAAC;QACjC,MAAM,EAAE,cAAc,EAAE,QAAQ,EAAE,aAAa,EAAE,GAAG,IAAA,+CAA8B,EAAC,IAAI,CAAC,CAAC;QACzF,IAAI,aAAa,EAAE,CAAC;YAEnB,SAAS;QACV,CAAC;QACD,IAAI,CAAC,QAAQ,EAAE,CAAC;YACf,cAAc,GAAG,KAAK,CAAC;YACvB,MAAM;QACP,CAAC;QACD,MAAM,QAAQ,GAAG,wCAAwC,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;QACjF,IAAI,CAAC,QAAQ,EAAE,CAAC;YAEf,cAAc,GAAG,KAAK,CAAC;YACvB,MAAM;QACP,CAAC;QACD,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,CAAC,CAAC;IACzD,CAAC;IAED,IAAI,cAAc,IAAI,QAAQ,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;QAC5C,MAAM,IAAI,GAAG,uBAAuB,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC;QAC9D,IAAI,IAAI,EAAE,CAAC;YACV,OAAO,IAAI,CAAC;QACb,CAAC;IACF,CAAC;IAED,IAAI,cAAc,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACxE,MAAM,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC,GAAG,QAAQ,CAAC;QAC5C,MAAM,IAAI,GAAG,6BAA6B,CAAC,EAAE,GAAG,IAAI,EAAE,cAAc,EAAE,EAAE,aAAa,CAAC,CAAC;QACvF,IAAI,IAAI,EAAE,CAAC;YACV,OAAO,IAAI,CAAC;QACb,CAAC;IACF,CAAC;IAGD,IAAI,UAAU,CAAC,cAAc,EAAE,CAAC;QAC/B,MAAM,QAAQ,GAAG,wCAAwC,CACxD,UAAU,CAAC,cAAc,EACzB,WAAW,CACX,CAAC;QACF,IAAI,QAAQ,EAAE,CAAC;YACd,OAAO,6BAA6B,CACnC,EAAE,GAAG,UAAU,EAAE,cAAc,EAAE,QAAQ,EAAE,EAC3C,aAAa,CACb,CAAC;QACH,CAAC;IACF,CAAC;IACD,OAAO,0BAA0B,CAAC,UAAU,EAAE,kBAAkB,CAAC,UAAU,CAAC,CAAC,CAAC;AAC/E,CAAC;AA2CD,SAAgB,+BAA+B,CAC9C,YAA+B,EAC/B,UAAkB,EAClB,aAA8B;IAE9B,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC/B,OAAO,IAAI,CAAC;IACb,CAAC;IAED,MAAM,cAAc,GAAG,2BAA2B,CAAC,YAAY,CAAC,CAAC;IACjE,MAAM,KAAK,GAAa,EAAE,CAAC;IAE3B,IAAI,cAAc,EAAE,CAAC;QAEpB,KAAK,CAAC,IAAI,CAAC,eAAe,UAAU,sDAAsD,CAAC,CAAC;QAC5F,KAAK,CAAC,IAAI,CAAC,GAAG,MAAM,mBAAmB,CAAC,CAAC;IAC1C,CAAC;SAAM,CAAC;QAEP,KAAK,CAAC,IAAI,CAAC,SAAS,UAAU,kCAAkC,CAAC,CAAC;IACnE,CAAC;IAED,KAAK,MAAM,OAAO,IAAI,YAAY,EAAE,CAAC;QACpC,MAAM,SAAS,GAAG,uBAAuB,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACxD,IAAI,CAAC,SAAS,EAAE,CAAC;YAChB,SAAS;QACV,CAAC;QAED,IAAI,SAAiB,CAAC;QACtB,IAAI,SAAS,CAAC,OAAO,EAAE,CAAC;YAEvB,SAAS,GAAG,WAAW,SAAS,CAAC,UAAU,GAAG,CAAC;QAChD,CAAC;aAAM,IAAI,SAAS,CAAC,aAAa,EAAE,CAAC;YAEpC,SAAS,GAAG,YAAY,SAAS,CAAC,UAAU,aAAa,SAAS,CAAC,UAAU,KAAK,CAAC;QACpF,CAAC;aAAM,CAAC;YAEP,SAAS,GAAG,SAAS,CAAC,UAAU,CAAC;QAClC,CAAC;QAED,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC;YAE5B,MAAM,iBAAiB,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;YACjE,MAAM,MAAM,GAAG,cAAc,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;YAE1D,IAAI,WAAW,GAAG,EAAE,CAAC;YACrB,IAAI,aAAa,EAAE,CAAC;gBACnB,MAAM,QAAQ,GAAG,gCAAgC,CAAC,OAAO,CAAC,cAAc,EAAE,aAAa,CAAC,CAAC;gBACzF,IAAI,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACtC,WAAW,GAAG,eAAe,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACzD,CAAC;YACF,CAAC;YACD,KAAK,CAAC,IAAI,CACT,GAAG,MAAM,GAAG,SAAS,CAAC,SAAS,yCAAyC,SAAS,eAAe,OAAO,CAAC,QAAQ,qBAAqB,iBAAiB,GAAG,WAAW,MAAM,CAC1K,CAAC;QACH,CAAC;aAAM,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;YAC9B,MAAM,MAAM,GAAG,cAAc,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;YAC1D,KAAK,CAAC,IAAI,CAAC,GAAG,MAAM,GAAG,SAAS,CAAC,SAAS,KAAK,SAAS,cAAc,CAAC,CAAC;QACzE,CAAC;aAAM,CAAC;YACP,MAAM,MAAM,GAAG,cAAc,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;YAC1D,KAAK,CAAC,IAAI,CAAC,GAAG,MAAM,GAAG,SAAS,CAAC,SAAS,KAAK,SAAS,GAAG,CAAC,CAAC;QAC9D,CAAC;IACF,CAAC;IAED,IAAI,cAAc,EAAE,CAAC;QACpB,KAAK,CAAC,IAAI,CAAC,GAAG,MAAM,KAAK,CAAC,CAAC;QAC3B,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAChB,KAAK,CAAC,IAAI,CACT,cAAc,UAAU,4BAA4B,UAAU,sBAAsB,CACpF,CAAC;IACH,CAAC;SAAM,CAAC;QACP,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAClB,KAAK,CAAC,IAAI,CAAC,WAAW,UAAU,yBAAyB,UAAU,sBAAsB,CAAC,CAAC;IAC5F,CAAC;IAED,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACzB,CAAC;AASD,SAAgB,uBAAuB,CAAC,YAA+B;IACtE,MAAM,OAAO,GAAa,EAAE,CAAC;IAE7B,KAAK,MAAM,OAAO,IAAI,YAAY,EAAE,CAAC;QACpC,MAAM,SAAS,GAAG,uBAAuB,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACxD,IAAI,SAAS,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,UAAU,CAAC,EAAE,CAAC;YAC1D,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;QACpC,CAAC;IACF,CAAC;IAED,OAAO,OAAO,CAAC;AAChB,CAAC;AAgBD,SAAgB,+BAA+B,CAC9C,IAAyB,EACzB,eAAuB;IAGvB,MAAM,kBAAkB,GAAG,IAAA,2CAA0B,EAAC,IAAI,CAAC,UAAU,EAAE,eAAe,CAAC,CAAC;IAGxF,MAAM,YAAY,GAAwB;QACzC,GAAG,IAAI;QACP,UAAU,EAAE,kBAAkB;QAC9B,OAAO,EAAE,eAAe;KACxB,CAAC;IAGF,MAAM,YAAY,GAAG,IAAA,mDAAkC,EAAC,YAAY,CAAC,CAAC;IACtE,MAAM,oBAAoB,GAAG,uBAAuB,CAAC,YAAY,CAAC,CAAC;IACnE,MAAM,WAAW,GAAG,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC;IAG5C,MAAM,kBAAkB,GACvB,iBAAiB,CAAC,kBAAkB,CAAC;QACrC,CAAC,WAAW,IAAI,2BAA2B,CAAC,YAAY,CAAC,CAAC,CAAC;IAE5D,MAAM,KAAK,GAAa,EAAE,CAAC;IAG3B,MAAM,OAAO,GAAG;QACf,GAAG;QACH,kBAAkB;QAClB,oBAAoB;QACpB,oBAAoB;QACpB,qBAAqB;QACrB,4BAA4B;QAC5B,2BAA2B;QAC3B,mBAAmB;QACnB,iCAAiC;QACjC,mBAAmB;KACnB,CAAC;IAGF,IAAI,kBAAkB,EAAE,CAAC;QACxB,OAAO,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QAC9B,OAAO,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;IACrC,CAAC;IAGD,KAAK,MAAM,YAAY,IAAI,oBAAoB,EAAE,CAAC;QACjD,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IAC5B,CAAC;IAGD,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAClB,KAAK,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,WAAW,mBAAmB,eAAe,2BAA2B,CAAC,CAAC;IAChG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACjB,KAAK,CAAC,IAAI,CAAC,0DAA0D,CAAC,CAAC;IACvE,KAAK,CAAC,IAAI,CAAC,2EAA2E,CAAC,CAAC;IACxF,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACjB,KAAK,CAAC,IAAI,CAAC,wEAAwE,CAAC,CAAC;IACrF,KAAK,CAAC,IAAI,CAAC,+DAA+D,CAAC,CAAC;IAC5E,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACjB,KAAK,CAAC,IAAI,CAAC,yDAAyD,CAAC,CAAC;IACtE,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAClB,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAGf,KAAK,CAAC,IAAI,CAAC,qDAAqD,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAG3F,IAAI,WAAW,IAAI,2BAA2B,CAAC,YAAY,CAAC,EAAE,CAAC;QAC9D,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACf,KAAK,CAAC,IAAI,CAAC,GAAG,MAAM,mDAAmD,CAAC,CAAC;QACzE,KAAK,CAAC,IAAI,CAAC,GAAG,MAAM,gCAAgC,CAAC,CAAC;QACtD,KAAK,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC;QACnD,KAAK,MAAM,OAAO,IAAI,YAAY,EAAE,CAAC;YACpC,MAAM,SAAS,GAAG,uBAAuB,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YACxD,IAAI,CAAC,SAAS;gBAAE,SAAS;YAEzB,IAAI,SAAiB,CAAC;YACtB,IAAI,SAAS,CAAC,OAAO,EAAE,CAAC;gBACvB,SAAS,GAAG,WAAW,SAAS,CAAC,UAAU,GAAG,CAAC;YAChD,CAAC;iBAAM,IAAI,SAAS,CAAC,aAAa,EAAE,CAAC;gBACpC,SAAS,GAAG,YAAY,SAAS,CAAC,UAAU,aAAa,SAAS,CAAC,UAAU,KAAK,CAAC;YACpF,CAAC;iBAAM,CAAC;gBACP,SAAS,GAAG,SAAS,CAAC,UAAU,CAAC;YAClC,CAAC;YAED,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC;gBAC5B,MAAM,iBAAiB,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;gBACjE,MAAM,QAAQ,GAAG,gCAAgC,CAChD,OAAO,CAAC,cAAc,EACtB,kBAAkB,CAClB,CAAC;gBACF,MAAM,WAAW,GAChB,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,eAAe,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACnF,KAAK,CAAC,IAAI,CACT,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,SAAS,yCAAyC,SAAS,eAAe,OAAO,CAAC,QAAQ,qBAAqB,iBAAiB,GAAG,WAAW,MAAM,CACpL,CAAC;YACH,CAAC;iBAAM,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;gBAC9B,KAAK,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,SAAS,KAAK,SAAS,cAAc,CAAC,CAAC;YACnF,CAAC;iBAAM,CAAC;gBACP,KAAK,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,SAAS,KAAK,SAAS,GAAG,CAAC,CAAC;YACxE,CAAC;QACF,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC;QAC9C,KAAK,CAAC,IAAI,CAAC,GAAG,MAAM,GAAG,CAAC,CAAC;IAC1B,CAAC;IAGD,IAAI,WAAW,IAAI,CAAC,2BAA2B,CAAC,YAAY,CAAC,EAAE,CAAC;QAC/D,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACf,KAAK,CAAC,IAAI,CAAC,GAAG,MAAM,0BAA0B,CAAC,CAAC;QAChD,KAAK,CAAC,IAAI,CAAC,GAAG,MAAM,mCAAmC,CAAC,CAAC;QACzD,KAAK,MAAM,OAAO,IAAI,YAAY,EAAE,CAAC;YACpC,MAAM,SAAS,GAAG,uBAAuB,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YACxD,IAAI,CAAC,SAAS;gBAAE,SAAS;YAEzB,IAAI,SAAiB,CAAC;YACtB,IAAI,SAAS,CAAC,OAAO,EAAE,CAAC;gBACvB,SAAS,GAAG,WAAW,SAAS,CAAC,UAAU,GAAG,CAAC;YAChD,CAAC;iBAAM,IAAI,SAAS,CAAC,aAAa,EAAE,CAAC;gBACpC,SAAS,GAAG,YAAY,SAAS,CAAC,UAAU,aAAa,SAAS,CAAC,UAAU,KAAK,CAAC;YACpF,CAAC;iBAAM,CAAC;gBACP,SAAS,GAAG,SAAS,CAAC,UAAU,CAAC;YAClC,CAAC;YAED,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;gBACvB,KAAK,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,SAAS,KAAK,SAAS,cAAc,CAAC,CAAC;YACnF,CAAC;iBAAM,CAAC;gBACP,KAAK,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,SAAS,KAAK,SAAS,GAAG,CAAC,CAAC;YACxE,CAAC;QACF,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,GAAG,MAAM,cAAc,CAAC,CAAC;IACrC,CAAC;IAGD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACf,KAAK,CAAC,IAAI,CAAC,GAAG,MAAM,sBAAsB,CAAC,CAAC;IAC5C,KAAK,CAAC,IAAI,CAAC,GAAG,MAAM,qCAAqC,CAAC,CAAC;IAG3D,MAAM,WAAW,GAAG,qBAAqB,CAAC,kBAAkB,CAAC,CAAC;IAC9D,MAAM,aAAa,GAAG,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC,CAAC;IAEvD,MAAM,kBAAkB,GAAG,yBAAyB,CAAC,kBAAkB,CAAC,CAAC;IAEzE,KAAK,MAAM,IAAI,IAAI,aAAa,EAAE,CAAC;QAClC,MAAM,YAAY,GAAG,kBAAkB,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACjE,MAAM,QAAQ,GAAG,wBAAwB,CAAC,IAAI,EAAE,YAAY,EAAE,aAAa,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC;QAC3F,IAAI,QAAQ,EAAE,CAAC;YACd,KAAK,CAAC,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAC,CAAC;QAC/B,CAAC;IACF,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,GAAG,MAAM,KAAK,CAAC,CAAC;IAG3B,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACf,KAAK,CAAC,IAAI,CAAC,GAAG,MAAM,kCAAkC,CAAC,CAAC;IACxD,KAAK,CAAC,IAAI,CAAC,GAAG,MAAM,mBAAmB,CAAC,CAAC;IACzC,KAAK,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,qDAAqD,CAAC,CAAC;IACrF,IAAI,WAAW,EAAE,CAAC;QACjB,MAAM,gBAAgB,GAAG,CAAC,wBAAwB,CAAC,YAAY,CAAC,CAAC;QACjE,IAAI,2BAA2B,CAAC,YAAY,CAAC,EAAE,CAAC;YAC/C,KAAK,CAAC,IAAI,CACT,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,gCAAgC,gBAAgB,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,GAAG,CAC3F,CAAC;QACH,CAAC;aAAM,CAAC;YACP,KAAK,CAAC,IAAI,CACT,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,2BAA2B,gBAAgB,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,GAAG,CACtF,CAAC;QACH,CAAC;IACF,CAAC;IACD,KAAK,CAAC,IAAI,CAAC,GAAG,MAAM,KAAK,CAAC,CAAC;IAC3B,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAEjB,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACzB,CAAC;AASD,SAAgB,uBAAuB,CAAC,IAAyB,EAAE,QAAkB;IACpF,MAAM,cAAc,GAAG,CAAC,GAAG,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IAE3D,MAAM,KAAK,GAAa,EAAE,CAAC;IAE3B,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAClB,KAAK,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,WAAW,eAAe,CAAC,CAAC;IAClD,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACjB,KAAK,CAAC,IAAI,CAAC,4DAA4D,CAAC,CAAC;IACzE,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAClB,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAGf,KAAK,MAAM,OAAO,IAAI,cAAc,EAAE,CAAC;QACtC,MAAM,QAAQ,GAAG,IAAI,MAAM,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,CAAC;QACxD,KAAK,CAAC,IAAI,CAAC,oBAAoB,QAAQ,WAAW,CAAC,CAAC;IACrD,CAAC;IAED,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACzB,CAAC;AAqBD,SAAgB,+BAA+B,CAC9C,IAAyB,EACzB,OAAe,EACf,KAA+B,EAC/B,KAAqB,EACrB,YAAoB,EACpB,eAAkC,EAAE;IAEpC,MAAM,WAAW,GAAG,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC;IAI5C,MAAM,iBAAiB,GAAG;QACzB,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,SAAS,CAAC;QAC3D,UAAU;KACV,CAAC;IAGF,MAAM,0BAA0B,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE;QACtD,IAAI,CAAC,IAAI,CAAC,cAAc;YAAE,OAAO,KAAK,CAAC;QACvC,MAAM,QAAQ,GAAG,wCAAwC,CACxD,IAAI,CAAC,cAAc,EACnB,iBAAiB,CACjB,CAAC;QACF,OAAO,QAAQ,KAAK,SAAS,CAAC;IAC/B,CAAC,CAAC,CAAC;IAGH,MAAM,sBAAsB,GAAG,WAAW,IAAI,2BAA2B,CAAC,YAAY,CAAC,CAAC;IAExF,MAAM,KAAK,GAAa,EAAE,CAAC;IAG3B,MAAM,SAAS,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC;SACrC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,SAAS,CAAC;SACnC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;SAC5B,IAAI,CAAC,IAAI,CAAC,CAAC;IAGb,MAAM,OAAO,GAAG;QACf,GAAG;QACH,kBAAkB;QAClB,oBAAoB;QACpB,oBAAoB;QACpB,qBAAqB;QACrB,4BAA4B;QAC5B,2BAA2B;QAC3B,mBAAmB;QACnB,iCAAiC;QACjC,mBAAmB;KACnB,CAAC;IAGF,IAAI,0BAA0B,IAAI,sBAAsB,EAAE,CAAC;QAC1D,OAAO,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QAC9B,OAAO,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;IACrC,CAAC;IAGD,IAAI,WAAW,EAAE,CAAC;QACjB,MAAM,cAAc,GAAG,uBAAuB,CAAC,YAAY,CAAC,CAAC;QAC7D,KAAK,MAAM,YAAY,IAAI,cAAc,EAAE,CAAC;YAC3C,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAC5B,CAAC;IACF,CAAC;IAGD,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAClB,KAAK,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,WAAW,mBAAmB,OAAO,eAAe,CAAC,CAAC;IAC5E,KAAK,CAAC,IAAI,CAAC,qBAAqB,SAAS,EAAE,CAAC,CAAC;IAC7C,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACjB,KAAK,CAAC,IAAI,CAAC,2EAA2E,CAAC,CAAC;IACxF,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACjB,KAAK,CAAC,IAAI,CAAC,wEAAwE,CAAC,CAAC;IACrF,KAAK,CAAC,IAAI,CAAC,+DAA+D,CAAC,CAAC;IAC5E,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACjB,KAAK,CAAC,IAAI,CAAC,yDAAyD,CAAC,CAAC;IACtE,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAClB,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAGf,KAAK,CAAC,IAAI,CAAC,qDAAqD,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAG3F,IAAI,sBAAsB,EAAE,CAAC;QAC5B,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACf,KAAK,CAAC,IAAI,CAAC,GAAG,MAAM,mDAAmD,CAAC,CAAC;QACzE,KAAK,CAAC,IAAI,CAAC,GAAG,MAAM,gCAAgC,CAAC,CAAC;QACtD,KAAK,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC;QACnD,KAAK,MAAM,OAAO,IAAI,YAAY,EAAE,CAAC;YACpC,MAAM,SAAS,GAAG,uBAAuB,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YACxD,IAAI,CAAC,SAAS;gBAAE,SAAS;YAEzB,IAAI,SAAiB,CAAC;YACtB,IAAI,SAAS,CAAC,OAAO,EAAE,CAAC;gBACvB,SAAS,GAAG,WAAW,SAAS,CAAC,UAAU,GAAG,CAAC;YAChD,CAAC;iBAAM,IAAI,SAAS,CAAC,aAAa,EAAE,CAAC;gBACpC,SAAS,GAAG,YAAY,SAAS,CAAC,UAAU,aAAa,SAAS,CAAC,UAAU,KAAK,CAAC;YACpF,CAAC;iBAAM,CAAC;gBACP,SAAS,GAAG,SAAS,CAAC,UAAU,CAAC;YAClC,CAAC;YAED,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC;gBAC5B,MAAM,iBAAiB,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;gBACjE,MAAM,QAAQ,GAAG,gCAAgC,CAAC,OAAO,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC;gBACjF,MAAM,WAAW,GAChB,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,eAAe,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACnF,KAAK,CAAC,IAAI,CACT,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,SAAS,yCAAyC,SAAS,eAAe,OAAO,CAAC,QAAQ,qBAAqB,iBAAiB,GAAG,WAAW,MAAM,CACpL,CAAC;YACH,CAAC;iBAAM,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;gBAC9B,KAAK,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,SAAS,KAAK,SAAS,cAAc,CAAC,CAAC;YACnF,CAAC;iBAAM,CAAC;gBACP,KAAK,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,SAAS,KAAK,SAAS,GAAG,CAAC,CAAC;YACxE,CAAC;QACF,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC;QAC9C,KAAK,CAAC,IAAI,CAAC,GAAG,MAAM,GAAG,CAAC,CAAC;IAC1B,CAAC;IAGD,IAAI,WAAW,IAAI,CAAC,sBAAsB,EAAE,CAAC;QAC5C,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACf,KAAK,CAAC,IAAI,CAAC,GAAG,MAAM,0BAA0B,CAAC,CAAC;QAChD,KAAK,CAAC,IAAI,CAAC,GAAG,MAAM,mCAAmC,CAAC,CAAC;QACzD,KAAK,MAAM,OAAO,IAAI,YAAY,EAAE,CAAC;YACpC,MAAM,SAAS,GAAG,uBAAuB,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YACxD,IAAI,CAAC,SAAS;gBAAE,SAAS;YAEzB,IAAI,SAAiB,CAAC;YACtB,IAAI,SAAS,CAAC,OAAO,EAAE,CAAC;gBACvB,SAAS,GAAG,WAAW,SAAS,CAAC,UAAU,GAAG,CAAC;YAChD,CAAC;iBAAM,IAAI,SAAS,CAAC,aAAa,EAAE,CAAC;gBACpC,SAAS,GAAG,YAAY,SAAS,CAAC,UAAU,aAAa,SAAS,CAAC,UAAU,KAAK,CAAC;YACpF,CAAC;iBAAM,CAAC;gBACP,SAAS,GAAG,SAAS,CAAC,UAAU,CAAC;YAClC,CAAC;YAED,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;gBACvB,KAAK,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,SAAS,KAAK,SAAS,cAAc,CAAC,CAAC;YACnF,CAAC;iBAAM,CAAC;gBACP,KAAK,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,SAAS,KAAK,SAAS,GAAG,CAAC,CAAC;YACxE,CAAC;QACF,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,GAAG,MAAM,cAAc,CAAC,CAAC;IACrC,CAAC;IAGD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACf,KAAK,CAAC,IAAI,CAAC,GAAG,MAAM,mBAAmB,CAAC,CAAC;IACzC,KAAK,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,wBAAwB,CAAC,CAAC;IAGxD,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QAClD,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YAEzB,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,GAAG,CAAC,CAAC;YAC9D,MAAM,kBAAkB,GAAG,QAAQ,EAAE,OAAO,KAAK,KAAK,CAAC;YAEvD,IAAI,kBAAkB,EAAE,CAAC;gBAExB,KAAK,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,GAAG,gBAAgB,KAAK,eAAe,KAAK,KAAK,CAAC,CAAC;YACrF,CAAC;iBAAM,CAAC;gBAEP,KAAK,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,GAAG,gBAAgB,KAAK,KAAK,CAAC,CAAC;YACjE,CAAC;QACF,CAAC;IACF,CAAC;IAGD,MAAM,WAAW,GAAG,qBAAqB,CAAC,KAAK,CAAC,CAAC;IAIjD,MAAM,aAAa,GAAG,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC,CAAC;IACvD,MAAM,kBAAkB,GAAG,yBAAyB,CAAC,KAAK,CAAC,CAAC;IAC5D,KAAK,MAAM,IAAI,IAAI,aAAa,EAAE,CAAC;QAClC,MAAM,YAAY,GAAG,kBAAkB,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACjE,MAAM,QAAQ,GAAG,wBAAwB,CAAC,IAAI,EAAE,YAAY,EAAE,aAAa,EAAE,iBAAiB,CAAC,CAAC;QAChG,IAAI,QAAQ,EAAE,CAAC;YACd,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC;QACzC,CAAC;IACF,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC;IAEhD,IAAI,WAAW,EAAE,CAAC;QACjB,MAAM,gBAAgB,GAAG,CAAC,wBAAwB,CAAC,YAAY,CAAC,CAAC;QACjE,IAAI,sBAAsB,EAAE,CAAC;YAC5B,KAAK,CAAC,IAAI,CACT,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,gCAAgC,gBAAgB,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,GAAG,CAC3F,CAAC;QACH,CAAC;aAAM,CAAC;YACP,KAAK,CAAC,IAAI,CACT,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,2BAA2B,gBAAgB,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,GAAG,CACtF,CAAC;QACH,CAAC;IACF,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,GAAG,MAAM,KAAK,CAAC,CAAC;IAC3B,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAEjB,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACzB,CAAC;AAaD,SAAgB,+BAA+B,CAC9C,IAAyB,EACzB,QAAgB,EAChB,QAAgB,EAChB,UAAoB;IAEpB,MAAM,KAAK,GAAa,EAAE,CAAC;IAE3B,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAClB,KAAK,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,WAAW,MAAM,YAAY,CAAC,QAAQ,CAAC,gCAAgC,CAAC,CAAC;IAC/F,KAAK,CAAC,IAAI,CAAC,2EAA2E,CAAC,CAAC;IACxF,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACjB,KAAK,CAAC,IAAI,CAAC,wEAAwE,CAAC,CAAC;IACrF,KAAK,CAAC,IAAI,CAAC,+DAA+D,CAAC,CAAC;IAC5E,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACjB,KAAK,CAAC,IAAI,CAAC,yDAAyD,CAAC,CAAC;IACtE,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAClB,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAGf,KAAK,MAAM,EAAE,IAAI,UAAU,CAAC,IAAI,EAAE,EAAE,CAAC;QACpC,MAAM,QAAQ,GAAG,aAAa,WAAW,CAAC,EAAE,CAAC,SAAS,CAAC;QACvD,MAAM,UAAU,GAAG,MAAM,YAAY,CAAC,EAAE,CAAC,QAAQ,CAAC;QAClD,KAAK,CAAC,IAAI,CAAC,SAAS,UAAU,iBAAiB,QAAQ,KAAK,CAAC,CAAC;IAC/D,CAAC;IACD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAGf,MAAM,aAAa,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,WAAW,CAAC,CAAC;IAC1E,MAAM,gBAAgB,GAAG,aAAa,EAAE,OAAO,CAAC;IAGhD,KAAK,CAAC,IAAI,CAAC,gDAAgD,CAAC,CAAC;IAC7D,KAAK,CAAC,IAAI,CAAC,GAAG,MAAM,oCAAoC,CAAC,CAAC;IAG1D,IAAI,gBAAgB,KAAK,SAAS,EAAE,CAAC;QACpC,MAAM,eAAe,GACpB,OAAO,gBAAgB,KAAK,QAAQ;YACnC,CAAC,CAAC,IAAI,gBAAgB,GAAG;YACzB,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC;QACrC,KAAK,CAAC,IAAI,CAAC,GAAG,MAAM,uCAAuC,CAAC,CAAC;QAC7D,KAAK,CAAC,IAAI,CACT,GAAG,MAAM,4FAA4F,eAAe,kBAAkB,CACtI,CAAC;IACH,CAAC;IAED,MAAM,SAAS,GAAG,gBAAgB,KAAK,SAAS,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,YAAY,CAAC;IACpF,MAAM,UAAU,GACf,gBAAgB,KAAK,SAAS,CAAC,CAAC,CAAC,6BAA6B,SAAS,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;IAEzF,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC7B,MAAM,UAAU,GAAG,MAAM,YAAY,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;QAC7D,KAAK,CAAC,IAAI,CAAC,GAAG,MAAM,UAAU,UAAU,IAAI,UAAU,IAAI,CAAC,CAAC;IAC7D,CAAC;SAAM,CAAC;QACP,KAAK,CAAC,IAAI,CAAC,GAAG,MAAM,kBAAkB,CAAC,CAAC;QACxC,KAAK,MAAM,EAAE,IAAI,UAAU,CAAC,IAAI,EAAE,EAAE,CAAC;YACpC,MAAM,UAAU,GAAG,MAAM,YAAY,CAAC,EAAE,CAAC,QAAQ,CAAC;YAClD,KAAK,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,UAAU,IAAI,UAAU,IAAI,CAAC,CAAC;QAChE,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,GAAG,MAAM,KAAK,CAAC,CAAC;IAC5B,CAAC;IACD,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAEjB,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACzB,CAAC;AAaD,SAAgB,mCAAmC,CAClD,IAAyB,EACzB,OAAe,EACf,IAAuB;IAEvB,MAAM,KAAK,GAAa,EAAE,CAAC;IAE3B,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAClB,KAAK,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,WAAW,mBAAmB,OAAO,uBAAuB,CAAC,CAAC;IACpF,KAAK,CAAC,IAAI,CAAC,6DAA6D,CAAC,CAAC;IAC1E,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACjB,KAAK,CAAC,IAAI,CAAC,wEAAwE,CAAC,CAAC;IACrF,KAAK,CAAC,IAAI,CAAC,+DAA+D,CAAC,CAAC;IAC5E,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACjB,KAAK,CAAC,IAAI,CAAC,yDAAyD,CAAC,CAAC;IACtE,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAClB,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAGf,MAAM,WAAW,GAAa,EAAE,CAAC;IACjC,IAAI,oBAAkE,CAAC;IAEvE,IAAI,IAAI,CAAC,IAAI,KAAK,oBAAoB,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;QAC1D,KAAK,MAAM,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACzC,MAAM,WAAW,GAAG,YAAY,WAAW,CAAC,QAAQ,CAAC,EAAE,CAAC;YACxD,MAAM,UAAU,GAAG,MAAM,YAAY,CAAC,QAAQ,CAAC,QAAQ,CAAC;YACxD,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YAC7B,KAAK,CAAC,IAAI,CAAC,SAAS,UAAU,iBAAiB,WAAW,kBAAkB,CAAC,CAAC;QAC/E,CAAC;QAED,MAAM,YAAY,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC;QACxE,IAAI,YAAY,EAAE,OAAO,KAAK,SAAS,EAAE,CAAC;YACzC,oBAAoB,GAAG,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,YAAY,CAAC,OAAO,EAAE,CAAC;QAC1E,CAAC;IACF,CAAC;SAAM,IAAI,IAAI,CAAC,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,iBAAiB,IAAI,IAAI,CAAC,mBAAmB,EAAE,CAAC;QACzF,MAAM,QAAQ,GAAG,IAAI,CAAC,iBAAiB,CAAC;QACxC,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,mBAAmB,CAAC,IAAI,EAAE,EAAE,CAAC;YACrD,MAAM,QAAQ,GAAG,GAAG,QAAQ,IAAI,WAAW,CAAC,KAAK,CAAC,SAAS,CAAC;YAC5D,MAAM,UAAU,GAAG,MAAM,YAAY,CAAC,KAAK,CAAC,QAAQ,CAAC;YACrD,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YAC7B,KAAK,CAAC,IAAI,CAAC,SAAS,UAAU,iBAAiB,QAAQ,KAAK,CAAC,CAAC;QAC/D,CAAC;QAED,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC;QAClE,IAAI,QAAQ,EAAE,OAAO,KAAK,SAAS,EAAE,CAAC;YACrC,oBAAoB,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,CAAC,OAAO,EAAE,CAAC;QACpE,CAAC;IACF,CAAC;IACD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAGf,KAAK,CAAC,IAAI,CAAC,gDAAgD,CAAC,CAAC;IAC7D,KAAK,CAAC,IAAI,CAAC,GAAG,MAAM,oCAAoC,CAAC,CAAC;IAG1D,IAAI,oBAAoB,EAAE,CAAC;QAC1B,MAAM,eAAe,GACpB,OAAO,oBAAoB,CAAC,KAAK,KAAK,QAAQ;YAC7C,CAAC,CAAC,IAAI,oBAAoB,CAAC,KAAK,GAAG;YACnC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC;QAC/C,KAAK,CAAC,IAAI,CAAC,GAAG,MAAM,2CAA2C,CAAC,CAAC;QACjE,KAAK,CAAC,IAAI,CACT,GAAG,MAAM,sCAAsC,oBAAoB,CAAC,IAAI,qCAAqC,oBAAoB,CAAC,IAAI,KAAK,eAAe,kBAAkB,CAC5K,CAAC;IACH,CAAC;IAED,MAAM,SAAS,GAAG,oBAAoB,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,YAAY,CAAC;IAC1E,MAAM,UAAU,GAAG,oBAAoB,CAAC,CAAC,CAAC,6BAA6B,SAAS,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;IAEjG,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC9B,KAAK,CAAC,IAAI,CAAC,GAAG,MAAM,UAAU,WAAW,CAAC,CAAC,CAAC,IAAI,UAAU,IAAI,CAAC,CAAC;IACjE,CAAC;SAAM,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACnC,KAAK,CAAC,IAAI,CAAC,GAAG,MAAM,kBAAkB,CAAC,CAAC;QACxC,KAAK,MAAM,UAAU,IAAI,WAAW,EAAE,CAAC;YACtC,KAAK,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,UAAU,IAAI,UAAU,IAAI,CAAC,CAAC;QAChE,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,GAAG,MAAM,KAAK,CAAC,CAAC;IAC5B,CAAC;SAAM,CAAC;QACP,KAAK,CAAC,IAAI,CAAC,GAAG,MAAM,sBAAsB,CAAC,CAAC;IAC7C,CAAC;IACD,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAEjB,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACzB,CAAC;AAaD,SAAgB,2BAA2B,CAC1C,IAAyB,EACzB,OAAe;IAEf,MAAM,KAAK,GAAG,IAAI,GAAG,EAAkB,CAAC;IAGxC,MAAM,YAAY,GAAG,IAAA,iDAAgC,EAAC,IAAI,CAAC,CAAC;IAC5D,MAAM,IAAI,GAAG,IAAA,uCAAsB,EAAC,YAAY,CAAC,CAAC;IAGlD,MAAM,mBAAmB,GAAwB;QAChD,GAAG,IAAI;QACP,UAAU,EAAE,IAAA,2CAA0B,EAAC,IAAI,CAAC,UAAU,EAAE,OAAO,CAAC;QAChE,OAAO;KACP,CAAC;IAEF,IAAI,IAAI,CAAC,IAAI,KAAK,oBAAoB,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;QAE1D,KAAK,MAAM,CAAC,QAAQ,EAAE,UAAU,CAAC,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACrD,MAAM,WAAW,GAAG,YAAY,WAAW,CAAC,QAAQ,CAAC,EAAE,CAAC;YAGxD,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;gBAEpC,IAAI,eAAe,CAAC,SAAS,CAAC;oBAAE,SAAS;gBAEzC,MAAM,KAAK,GAAG,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC;gBACtC,MAAM,oBAAoB,GAAG,IAAA,2CAA0B,EAAC,IAAI,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;gBAClF,MAAM,kBAAkB,GAAG,EAAE,GAAG,IAAI,EAAE,UAAU,EAAE,oBAAoB,EAAE,CAAC;gBACzE,MAAM,KAAK,GAAG,IAAA,4CAA2B,EAAC,kBAAkB,EAAE,KAAK,CAAC,CAAC;gBACrE,MAAM,QAAQ,GAAG,aAAa,WAAW,CAAC,SAAS,CAAC,YAAY,CAAC;gBACjE,MAAM,QAAQ,GAAG,GAAG,WAAW,IAAI,QAAQ,EAAE,CAAC;gBAG9C,MAAM,iBAAiB,GAAG,IAAA,mDAAkC,EAAC,mBAAmB,EAAE,KAAK,CAAC,CAAC;gBAGzF,MAAM,OAAO,GAAG,+BAA+B,CAC9C,IAAI,EACJ,OAAO,EACP,KAAK,EACL,KAAK,EACL,CAAC,EACD,iBAAiB,CACjB,CAAC;gBACF,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;YAC9B,CAAC;YAGD,MAAM,kBAAkB,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC,CAAC;YAC3E,MAAM,oBAAoB,GAAG,+BAA+B,CAC3D,IAAI,EACJ,OAAO,EACP,QAAQ,EACR,kBAAkB,CAClB,CAAC;YACF,KAAK,CAAC,GAAG,CAAC,GAAG,WAAW,kBAAkB,EAAE,oBAAoB,CAAC,CAAC;QACnE,CAAC;IACF,CAAC;SAAM,IAAI,IAAI,CAAC,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,iBAAiB,IAAI,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAEzF,MAAM,QAAQ,GAAG,IAAI,CAAC,iBAAiB,CAAC;QAExC,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,mBAAmB,EAAE,CAAC;YAC9C,MAAM,KAAK,GAA6B,EAAE,CAAC,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC;YAC9D,MAAM,oBAAoB,GAAG,IAAA,2CAA0B,EAAC,IAAI,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;YAClF,MAAM,kBAAkB,GAAG,EAAE,GAAG,IAAI,EAAE,UAAU,EAAE,oBAAoB,EAAE,CAAC;YACzE,MAAM,KAAK,GAAG,IAAA,4CAA2B,EAAC,kBAAkB,EAAE,KAAK,CAAC,CAAC;YACrE,MAAM,QAAQ,GAAG,GAAG,QAAQ,IAAI,WAAW,CAAC,KAAK,CAAC,YAAY,CAAC;YAG/D,MAAM,iBAAiB,GAAG,IAAA,mDAAkC,EAAC,mBAAmB,EAAE,KAAK,CAAC,CAAC;YAGzF,MAAM,OAAO,GAAG,+BAA+B,CAC9C,IAAI,EACJ,OAAO,EACP,KAAK,EACL,KAAK,EACL,CAAC,EACD,iBAAiB,CACjB,CAAC;YACF,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QAC9B,CAAC;IACF,CAAC;IAGD,KAAK,CAAC,GAAG,CAAC,iBAAiB,EAAE,mCAAmC,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC;IAEvF,OAAO,KAAK,CAAC;AACd,CAAC"}
|
|
1
|
+
{"version":3,"file":"generate-zod-schemas.js","sourceRoot":"","sources":["../../src/generate-types/generate-zod-schemas.ts"],"names":[],"mappings":"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"}
|
|
@@ -66,6 +66,23 @@ Instead, ALWAYS use n8n's built-in credential system:
|
|
|
66
66
|
}
|
|
67
67
|
}
|
|
68
68
|
|
|
69
|
+
#### Body Structure (Raw XML/SOAP/Text)
|
|
70
|
+
For XML, SOAP, CSV, or plain-text payloads, do not use JSON body parameters.
|
|
71
|
+
{
|
|
72
|
+
"sendBody": true,
|
|
73
|
+
"contentType": "raw",
|
|
74
|
+
"body": "<?xml version='1.0'?><soap:Envelope>...</soap:Envelope>",
|
|
75
|
+
"rawContentType": "text/xml"
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
Rules:
|
|
79
|
+
- Use \`contentType: "raw"\` for XML, SOAP, CSV, or plain-text request bodies
|
|
80
|
+
- Put the payload directly in \`body\`
|
|
81
|
+
- Set \`rawContentType\` to the actual media type, for example \`"text/xml"\` or \`"application/xml"\`
|
|
82
|
+
- Do NOT set \`specifyBody\`, \`jsonBody\`, or \`bodyParameters\` for raw payloads
|
|
83
|
+
- Never put XML or SOAP strings in \`jsonBody\`; \`jsonBody\` must contain valid JSON only
|
|
84
|
+
- If a previous Code or Set node creates a field like \`soapBody\` or \`xmlBody\`, reference it from the HTTP Request \`body\` field with \`contentType: "raw"\`; do not use \`jsonBody: "={{ $json.soapBody }}"\`
|
|
85
|
+
|
|
69
86
|
#### Authentication Options
|
|
70
87
|
- **none**: No authentication
|
|
71
88
|
- **genericCredentialType**: Use stored credentials
|
|
@@ -79,8 +96,9 @@ Instead, ALWAYS use n8n's built-in credential system:
|
|
|
79
96
|
|
|
80
97
|
2. **Setting Request Body**:
|
|
81
98
|
- Enable sendBody
|
|
82
|
-
- Set contentType
|
|
83
|
-
-
|
|
99
|
+
- Set contentType to "json" for JSON payloads, or "raw" for XML/SOAP/text payloads
|
|
100
|
+
- For JSON, add parameters to bodyParameters.parameters array
|
|
101
|
+
- For raw XML/SOAP/text, put the payload in body and set rawContentType
|
|
84
102
|
|
|
85
103
|
3. **Dynamic URLs**:
|
|
86
104
|
- Can use expressions: "=https://api.example.com/{{ $('Set').item.json.endpoint }}"
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"http-request.js","sourceRoot":"","sources":["../../../../src/prompts/node-guidance/parameter-guides/http-request.ts"],"names":[],"mappings":";;;AAEa,QAAA,kBAAkB,GAAkB;IAChD,QAAQ,EAAE,CAAC,4BAA4B,EAAE,wBAAwB,CAAC;IAClE,OAAO,EAAE
|
|
1
|
+
{"version":3,"file":"http-request.js","sourceRoot":"","sources":["../../../../src/prompts/node-guidance/parameter-guides/http-request.ts"],"names":[],"mappings":";;;AAEa,QAAA,kBAAkB,GAAkB;IAChD,QAAQ,EAAE,CAAC,4BAA4B,EAAE,wBAAwB,CAAC;IAClE,OAAO,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4EAqJkE;CAC3E,CAAC"}
|
|
@@ -45,6 +45,26 @@ ${renderMethodLines()}
|
|
|
45
45
|
|
|
46
46
|
${SAFE_METHODS_SENTENCE}
|
|
47
47
|
|
|
48
|
+
## Node groups
|
|
49
|
+
|
|
50
|
+
A node group is a named, visual grouping of nodes (a frame on the canvas).
|
|
51
|
+
Declare one with \`.group(name, members)\` on the workflow. Members are the node
|
|
52
|
+
handles (the \`const\` from \`node(...)\`) — the same way connections reference nodes:
|
|
53
|
+
|
|
54
|
+
\`\`\`typescript
|
|
55
|
+
const fetch = node({ /* ... name: 'Fetch data' */ });
|
|
56
|
+
const transform = node({ /* ... name: 'Transform' */ });
|
|
57
|
+
export default workflow('id', 'My workflow')
|
|
58
|
+
.add(fetch)
|
|
59
|
+
.to(transform)
|
|
60
|
+
.group('Ingestion', [fetch, transform]);
|
|
61
|
+
\`\`\`
|
|
62
|
+
|
|
63
|
+
When editing an existing workflow, **keep the \`.group(...)\` calls intact** unless
|
|
64
|
+
the change is specifically about grouping. Group members must form a single
|
|
65
|
+
connected section of the graph and cannot be trigger nodes; an invalid group is
|
|
66
|
+
rejected on save.
|
|
67
|
+
|
|
48
68
|
## Forbidden constructs
|
|
49
69
|
|
|
50
70
|
${renderForbiddenLines()}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sdk-language.js","sourceRoot":"","sources":["../../../src/prompts/sdk-reference/sdk-language.ts"],"names":[],"mappings":";;;AAIA,2DAQ+B;AAE/B,MAAM,YAAY,GAAwD;IACzE,QAAQ,EAAE,kBAAkB;IAC5B,IAAI,EAAE,cAAc;IACpB,cAAc,EAAE,cAAc;IAC9B,UAAU,EAAE,YAAY;CACxB,CAAC;AAEF,MAAM,cAAc,GAAG,6BAAW,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;AAE3D,SAAS,iBAAiB;IACzB,OAAQ,MAAM,CAAC,IAAI,CAAC,YAAY,CAAsC;SACpE,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;QACd,MAAM,KAAK,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC;QAC7F,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,YAAY,CAAC,KAAK,CAAC,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAChF,CAAC,CAAC;SACD,MAAM,CAAC,OAAO,CAAC;SACf,IAAI,CAAC,IAAI,CAAC,CAAC;AACd,CAAC;AAED,SAAS,oBAAoB;IAC5B,OAAO,MAAM,CAAC,MAAM,CAAC,sCAAoB,CAAC;SACxC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,KAAK,OAAO,EAAE,CAAC;SAChC,IAAI,CAAC,IAAI,CAAC,CAAC;AACd,CAAC;AAED,SAAS,yBAAyB;IACjC,OAAO,yCAAuB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CACxC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,OAAO,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,IAAI,CACvE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACd,CAAC;AAED,SAAS,2BAA2B;IACnC,OAAO,wCAAsB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC/D,CAAC;AAED,MAAM,qBAAqB,GAC1B,8CAA8C,wCAAsB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG;IAC9G,0BAA0B,0CAAwB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI;IAC3F,sHAAsH,CAAC;AAG3G,QAAA,sBAAsB,GAAG;;;;;;;;;EASpC,iBAAiB,EAAE;;EAEnB,qBAAqB
|
|
1
|
+
{"version":3,"file":"sdk-language.js","sourceRoot":"","sources":["../../../src/prompts/sdk-reference/sdk-language.ts"],"names":[],"mappings":";;;AAIA,2DAQ+B;AAE/B,MAAM,YAAY,GAAwD;IACzE,QAAQ,EAAE,kBAAkB;IAC5B,IAAI,EAAE,cAAc;IACpB,cAAc,EAAE,cAAc;IAC9B,UAAU,EAAE,YAAY;CACxB,CAAC;AAEF,MAAM,cAAc,GAAG,6BAAW,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;AAE3D,SAAS,iBAAiB;IACzB,OAAQ,MAAM,CAAC,IAAI,CAAC,YAAY,CAAsC;SACpE,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;QACd,MAAM,KAAK,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC;QAC7F,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,YAAY,CAAC,KAAK,CAAC,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAChF,CAAC,CAAC;SACD,MAAM,CAAC,OAAO,CAAC;SACf,IAAI,CAAC,IAAI,CAAC,CAAC;AACd,CAAC;AAED,SAAS,oBAAoB;IAC5B,OAAO,MAAM,CAAC,MAAM,CAAC,sCAAoB,CAAC;SACxC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,KAAK,OAAO,EAAE,CAAC;SAChC,IAAI,CAAC,IAAI,CAAC,CAAC;AACd,CAAC;AAED,SAAS,yBAAyB;IACjC,OAAO,yCAAuB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CACxC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,OAAO,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,IAAI,CACvE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACd,CAAC;AAED,SAAS,2BAA2B;IACnC,OAAO,wCAAsB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC/D,CAAC;AAED,MAAM,qBAAqB,GAC1B,8CAA8C,wCAAsB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG;IAC9G,0BAA0B,0CAAwB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI;IAC3F,sHAAsH,CAAC;AAG3G,QAAA,sBAAsB,GAAG;;;;;;;;;EASpC,iBAAiB,EAAE;;EAEnB,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;EAwBrB,oBAAoB,EAAE;;;;EAItB,2BAA2B,EAAE;;;;;;EAM7B,yBAAyB,EAAE;;;;;;;;;;;CAW5B,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare const WORKFLOW_RULES = "Follow these rules strictly when generating workflows:\n\n1. **Always use newCredential() for authentication**\n - When a node needs credentials, always use `newCredential('Name')` in the credentials config\n - NEVER use placeholder strings, fake API keys, or hardcoded auth values\n - Never synthesize credential IDs. Do not invent raw IDs such as `WHATSAPP_CREDENTIAL_ID`, `mock-gmail-oauth2`, or any `mock-*` value\n - If `availableCredentials` is provided, treat it as an allow-list: copy an existing credential ID exactly or use `newCredential('Name')` without an ID\n - Example: `credentials: { slackApi: newCredential('Slack Bot') }`\n - The credential type must match what the node expects\n\n2. **Trust empty item lists \u2014 don't synthesize fake items**\n - When a query returns 0 items, downstream nodes simply don't run for that execution. For scheduled or polling triggers this is the correct \"nothing to do this round\" signal \u2014 the next run will execute normally when data appears.\n - DO NOT add `alwaysOutputData: true` just to \"keep the chain alive.\" Forcing an empty `{}` item downstream is what causes `undefined` reads, failed HTTP calls to `GET undefined`, and Code-node crashes on missing fields.\n - DO NOT add an IF gate before a loop to check \"has items?\" \u2014 loops (`splitInBatches`, per-item nodes, `filter`) already no-op on empty input. The gate is redundant and adds a failure surface.\n - `alwaysOutputData: true` is only correct when you specifically need a downstream branch to run on the \"empty\" case \u2014 e.g. a dedicated \"no matches found\" notification path. In that case, pair it with an `IF` that explicitly checks for the empty case and routes accordingly. Never use it as a default.\n - To drop invalid items mid-pipeline, use a `filter` node. A `filter` that rejects everything emits 0 items and the chain correctly stops \u2014 no `IF` + `splitInBatches` composition needed.\n\n3. **Use `executeOnce: true` for single-execution nodes**\n - When a node receives N items but should only execute once (not N times), set `executeOnce: true`\n - Common cases: sending a summary notification, generating a report, calling an API that doesn't need per-item execution\n - If a node fetches shared context independently but is chained after a multi-item source, set `executeOnce: true` so it does not run once per incoming item\n - Duplicate notifications, duplicate API calls, or repeated shared-context fetches usually mean a downstream node is missing `executeOnce: true` or should be on a parallel branch\n - Example: `config: { ..., executeOnce: true }`\n\n4. **Pick the right control-flow primitive**\n - **Per-item loop with side effects (fetch, embed, write)** \u2192 `splitInBatches` with `batchSize: 1` feeding the per-item work, loop back via `nextBatch`. No `IF` gate before it.\n - **Drop items that don't match a predicate** \u2192 `filter`. It emits 0 items when nothing matches, and the chain stops cleanly.\n - **Two mutually exclusive paths that both do real work** \u2192 `IF` (`onTrue` / `onFalse`).\n - **Many mutually exclusive paths keyed off a value** \u2192 `switch` (`onCase`).\n - A Filter or IF only selects items; it does not perform a requested side effect. If the user asks to archive, update, delete, send, or create only matching items, wire the corresponding action node on the matching path.\n - Nested control flow is supported: `ifNode.onTrue(loopBuilder)`, `switchNode.onCase(0, loopBuilder)`, and `splitInBatches(sib).onEachBatch(ifElseBuilder)` all compile and wire correctly. Use them when the semantics genuinely call for it, not as a workaround for empty-list handling.\n\
|
|
1
|
+
export declare const WORKFLOW_RULES = "Follow these rules strictly when generating workflows:\n\n1. **Always use newCredential() for authentication**\n - When a node needs credentials, always use `newCredential('Name')` in the credentials config\n - NEVER use placeholder strings, fake API keys, or hardcoded auth values\n - Never synthesize credential IDs. Do not invent raw IDs such as `WHATSAPP_CREDENTIAL_ID`, `mock-gmail-oauth2`, or any `mock-*` value\n - If `availableCredentials` is provided, treat it as an allow-list: copy an existing credential ID exactly or use `newCredential('Name')` without an ID\n - Example: `credentials: { slackApi: newCredential('Slack Bot') }`\n - The credential type must match what the node expects\n\n2. **Trust empty item lists \u2014 don't synthesize fake items**\n - When a query returns 0 items, downstream nodes simply don't run for that execution. For scheduled or polling triggers this is the correct \"nothing to do this round\" signal \u2014 the next run will execute normally when data appears.\n - DO NOT add `alwaysOutputData: true` just to \"keep the chain alive.\" Forcing an empty `{}` item downstream is what causes `undefined` reads, failed HTTP calls to `GET undefined`, and Code-node crashes on missing fields.\n - DO NOT add an IF gate before a loop to check \"has items?\" \u2014 loops (`splitInBatches`, per-item nodes, `filter`) already no-op on empty input. The gate is redundant and adds a failure surface.\n - `alwaysOutputData: true` is only correct when you specifically need a downstream branch to run on the \"empty\" case \u2014 e.g. a dedicated \"no matches found\" notification path. In that case, pair it with an `IF` that explicitly checks for the empty case and routes accordingly. Never use it as a default.\n - To drop invalid items mid-pipeline, use a `filter` node. A `filter` that rejects everything emits 0 items and the chain correctly stops \u2014 no `IF` + `splitInBatches` composition needed.\n\n3. **Use `executeOnce: true` for single-execution nodes**\n - When a node receives N items but should only execute once (not N times), set `executeOnce: true`\n - Common cases: sending a summary notification, generating a report, calling an API that doesn't need per-item execution\n - If a node fetches shared context independently but is chained after a multi-item source, set `executeOnce: true` so it does not run once per incoming item\n - Duplicate notifications, duplicate API calls, or repeated shared-context fetches usually mean a downstream node is missing `executeOnce: true` or should be on a parallel branch\n - Example: `config: { ..., executeOnce: true }`\n\n4. **Use raw HTTP bodies for XML, SOAP, and plain-text payloads**\n - For HTTP Request nodes that send XML, SOAP, CSV, or plain text, set `sendBody: true`, `contentType: 'raw'`, put the payload in `body`, and set `rawContentType` to the matching media type such as `'text/xml'` or `'application/xml'`.\n - Do NOT set `specifyBody`, `jsonBody`, or `bodyParameters` for raw payloads.\n - Use `contentType: 'json'` and `specifyBody: 'json'` only when the request body is valid JSON. Never put XML or SOAP strings in `jsonBody`.\n - This still applies when a previous Code or Set node builds the XML string: do NOT set `jsonBody: expr('{{ $json.soapBody }}')` or similar. Reference that value from the HTTP Request `body` field with `contentType: 'raw'`.\n\n5. **Pick the right control-flow primitive**\n - **Per-item loop with side effects (fetch, embed, write)** \u2192 `splitInBatches` with `batchSize: 1` feeding the per-item work, loop back via `nextBatch`. No `IF` gate before it.\n - **Drop items that don't match a predicate** \u2192 `filter`. It emits 0 items when nothing matches, and the chain stops cleanly.\n - **Two mutually exclusive paths that both do real work** \u2192 `IF` (`onTrue` / `onFalse`).\n - **Many mutually exclusive paths keyed off a value** \u2192 `switch` (`onCase`).\n - A Filter or IF only selects items; it does not perform a requested side effect. If the user asks to archive, update, delete, send, or create only matching items, wire the corresponding action node on the matching path.\n - Nested control flow is supported: `ifNode.onTrue(loopBuilder)`, `switchNode.onCase(0, loopBuilder)`, and `splitInBatches(sib).onEachBatch(ifElseBuilder)` all compile and wire correctly. Use them when the semantics genuinely call for it, not as a workaround for empty-list handling.\n\n6. **Input and output indices are 0-based \u2014 `.input(0)` is the FIRST input**\n - `.input(0)` and `.output(0)` refer to the **first** input/output. `.input(1)` and `.output(1)` refer to the **second**. `.input(1)` is NOT the first input \u2014 it is the second one.\n - This applies everywhere indices are passed: `.input(n)`, `.output(n)`, `.onCase(n, ...)` for switch outputs, and any `outputIndex` argument.\n - When wiring N branches to a Merge node, the indices are `0, 1, ..., N-1` \u2014 never `1, 2, ..., N`.\n - Counter-examples to AVOID:\n - WRONG: `sourceA.to(merge.input(1))` followed by `sourceB.to(merge.input(2))` \u2014 this skips input 0 entirely; the first branch is silently dropped.\n - CORRECT: `sourceA.to(merge.input(0))` followed by `sourceB.to(merge.input(1))`.";
|