@memberjunction/react-test-harness 2.76.0 → 2.78.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.
|
@@ -20,6 +20,7 @@ export declare class ComponentLinter {
|
|
|
20
20
|
private static universalComponentRules;
|
|
21
21
|
static lintComponent(code: string, componentName: string, componentSpec?: any): Promise<LintResult>;
|
|
22
22
|
private static validateDataRequirements;
|
|
23
|
+
private static getFunctionName;
|
|
23
24
|
private static generateFixSuggestions;
|
|
24
25
|
}
|
|
25
26
|
//# sourceMappingURL=component-linter.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"component-linter.d.ts","sourceRoot":"","sources":["../../src/lib/component-linter.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,EAAE,SAAS,EAAE,CAAC;IACxB,WAAW,EAAE,aAAa,EAAE,CAAC;CAC9B;AAED,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,OAAO,GAAG,SAAS,CAAC;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,aAAa;IAC5B,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAOD,qBAAa,eAAe;IAE1B,OAAO,CAAC,MAAM,CAAC,uBAAuB,
|
|
1
|
+
{"version":3,"file":"component-linter.d.ts","sourceRoot":"","sources":["../../src/lib/component-linter.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,EAAE,SAAS,EAAE,CAAC;IACxB,WAAW,EAAE,aAAa,EAAE,CAAC;CAC9B;AAED,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,OAAO,GAAG,SAAS,CAAC;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,aAAa;IAC5B,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAOD,qBAAa,eAAe;IAE1B,OAAO,CAAC,MAAM,CAAC,uBAAuB,CA0vBpC;WAEkB,aAAa,CAC/B,IAAI,EAAE,MAAM,EACZ,aAAa,EAAE,MAAM,EACrB,aAAa,CAAC,EAAE,GAAG,GAClB,OAAO,CAAC,UAAU,CAAC;IAiDtB,OAAO,CAAC,MAAM,CAAC,wBAAwB;IAgQvC,OAAO,CAAC,MAAM,CAAC,eAAe;IA2B9B,OAAO,CAAC,MAAM,CAAC,sBAAsB;CAsbtC"}
|
|
@@ -79,10 +79,17 @@ class ComponentLinter {
|
|
|
79
79
|
// Extract entity names from dataRequirements
|
|
80
80
|
const requiredEntities = new Set();
|
|
81
81
|
const requiredQueries = new Set();
|
|
82
|
+
// Map to track allowed fields per entity
|
|
83
|
+
const entityFieldsMap = new Map();
|
|
82
84
|
if (componentSpec.dataRequirements?.entities) {
|
|
83
85
|
for (const entity of componentSpec.dataRequirements.entities) {
|
|
84
86
|
if (entity.name) {
|
|
85
87
|
requiredEntities.add(entity.name);
|
|
88
|
+
entityFieldsMap.set(entity.name, {
|
|
89
|
+
displayFields: new Set(entity.displayFields || []),
|
|
90
|
+
filterFields: new Set(entity.filterFields || []),
|
|
91
|
+
sortFields: new Set(entity.sortFields || [])
|
|
92
|
+
});
|
|
86
93
|
}
|
|
87
94
|
}
|
|
88
95
|
}
|
|
@@ -100,6 +107,20 @@ class ComponentLinter {
|
|
|
100
107
|
for (const entity of dep.dataRequirements.entities) {
|
|
101
108
|
if (entity.name) {
|
|
102
109
|
requiredEntities.add(entity.name);
|
|
110
|
+
// Merge fields if entity already exists
|
|
111
|
+
const existing = entityFieldsMap.get(entity.name);
|
|
112
|
+
if (existing) {
|
|
113
|
+
(entity.displayFields || []).forEach((f) => existing.displayFields.add(f));
|
|
114
|
+
(entity.filterFields || []).forEach((f) => existing.filterFields.add(f));
|
|
115
|
+
(entity.sortFields || []).forEach((f) => existing.sortFields.add(f));
|
|
116
|
+
}
|
|
117
|
+
else {
|
|
118
|
+
entityFieldsMap.set(entity.name, {
|
|
119
|
+
displayFields: new Set(entity.displayFields || []),
|
|
120
|
+
filterFields: new Set(entity.filterFields || []),
|
|
121
|
+
sortFields: new Set(entity.sortFields || [])
|
|
122
|
+
});
|
|
123
|
+
}
|
|
103
124
|
}
|
|
104
125
|
}
|
|
105
126
|
}
|
|
@@ -158,6 +179,65 @@ class ComponentLinter {
|
|
|
158
179
|
code: `EntityName: "${usedEntity}"`
|
|
159
180
|
});
|
|
160
181
|
}
|
|
182
|
+
else {
|
|
183
|
+
// Entity is valid, now check fields
|
|
184
|
+
const entityFields = entityFieldsMap.get(usedEntity);
|
|
185
|
+
if (entityFields) {
|
|
186
|
+
// Check Fields array
|
|
187
|
+
const fieldsProperty = configObj.properties.find(p => t.isObjectProperty(p) && t.isIdentifier(p.key) && p.key.name === 'Fields');
|
|
188
|
+
if (fieldsProperty && t.isObjectProperty(fieldsProperty) && t.isArrayExpression(fieldsProperty.value)) {
|
|
189
|
+
for (const fieldElement of fieldsProperty.value.elements) {
|
|
190
|
+
if (t.isStringLiteral(fieldElement)) {
|
|
191
|
+
const fieldName = fieldElement.value;
|
|
192
|
+
// Check for SQL functions
|
|
193
|
+
if (/COUNT\s*\(|SUM\s*\(|AVG\s*\(|MAX\s*\(|MIN\s*\(/i.test(fieldName)) {
|
|
194
|
+
violations.push({
|
|
195
|
+
rule: 'runview-sql-function',
|
|
196
|
+
severity: 'error',
|
|
197
|
+
line: fieldElement.loc?.start.line || 0,
|
|
198
|
+
column: fieldElement.loc?.start.column || 0,
|
|
199
|
+
message: `RunView does not support SQL aggregations. Use RunQuery for aggregations or fetch raw data and aggregate in JavaScript.`,
|
|
200
|
+
code: fieldName
|
|
201
|
+
});
|
|
202
|
+
}
|
|
203
|
+
else {
|
|
204
|
+
// Check if field is in allowed fields
|
|
205
|
+
const isAllowed = entityFields.displayFields.has(fieldName) ||
|
|
206
|
+
entityFields.filterFields.has(fieldName) ||
|
|
207
|
+
entityFields.sortFields.has(fieldName);
|
|
208
|
+
if (!isAllowed) {
|
|
209
|
+
violations.push({
|
|
210
|
+
rule: 'field-not-in-requirements',
|
|
211
|
+
severity: 'error',
|
|
212
|
+
line: fieldElement.loc?.start.line || 0,
|
|
213
|
+
column: fieldElement.loc?.start.column || 0,
|
|
214
|
+
message: `Field "${fieldName}" not found in dataRequirements for entity "${usedEntity}". Available fields: ${[...entityFields.displayFields, ...entityFields.filterFields, ...entityFields.sortFields].join(', ')}`,
|
|
215
|
+
code: fieldName
|
|
216
|
+
});
|
|
217
|
+
}
|
|
218
|
+
}
|
|
219
|
+
}
|
|
220
|
+
}
|
|
221
|
+
}
|
|
222
|
+
// Check OrderBy field
|
|
223
|
+
const orderByProperty = configObj.properties.find(p => t.isObjectProperty(p) && t.isIdentifier(p.key) && p.key.name === 'OrderBy');
|
|
224
|
+
if (orderByProperty && t.isObjectProperty(orderByProperty) && t.isStringLiteral(orderByProperty.value)) {
|
|
225
|
+
const orderByValue = orderByProperty.value.value;
|
|
226
|
+
// Extract field name from OrderBy (e.g., "AccountName ASC" -> "AccountName")
|
|
227
|
+
const orderByField = orderByValue.split(/\s+/)[0];
|
|
228
|
+
if (!entityFields.sortFields.has(orderByField)) {
|
|
229
|
+
violations.push({
|
|
230
|
+
rule: 'orderby-field-not-sortable',
|
|
231
|
+
severity: 'error',
|
|
232
|
+
line: orderByProperty.value.loc?.start.line || 0,
|
|
233
|
+
column: orderByProperty.value.loc?.start.column || 0,
|
|
234
|
+
message: `OrderBy field "${orderByField}" not in sortFields for entity "${usedEntity}". Available sort fields: ${[...entityFields.sortFields].join(', ')}`,
|
|
235
|
+
code: orderByValue
|
|
236
|
+
});
|
|
237
|
+
}
|
|
238
|
+
}
|
|
239
|
+
}
|
|
240
|
+
}
|
|
161
241
|
}
|
|
162
242
|
}
|
|
163
243
|
}
|
|
@@ -208,6 +288,28 @@ class ComponentLinter {
|
|
|
208
288
|
});
|
|
209
289
|
return violations;
|
|
210
290
|
}
|
|
291
|
+
static getFunctionName(path) {
|
|
292
|
+
const node = path.node;
|
|
293
|
+
// Check for named function
|
|
294
|
+
if (t.isFunctionDeclaration(node) && node.id) {
|
|
295
|
+
return node.id.name;
|
|
296
|
+
}
|
|
297
|
+
// Check for arrow function assigned to variable
|
|
298
|
+
if (t.isArrowFunctionExpression(node) || t.isFunctionExpression(node)) {
|
|
299
|
+
const parent = path.parent;
|
|
300
|
+
if (t.isVariableDeclarator(parent) && t.isIdentifier(parent.id)) {
|
|
301
|
+
return parent.id.name;
|
|
302
|
+
}
|
|
303
|
+
}
|
|
304
|
+
// Check for function assigned as property
|
|
305
|
+
if (t.isArrowFunctionExpression(node) || t.isFunctionExpression(node)) {
|
|
306
|
+
const parent = path.parent;
|
|
307
|
+
if (t.isObjectProperty(parent) && t.isIdentifier(parent.key)) {
|
|
308
|
+
return parent.key.name;
|
|
309
|
+
}
|
|
310
|
+
}
|
|
311
|
+
return null;
|
|
312
|
+
}
|
|
211
313
|
static generateFixSuggestions(violations) {
|
|
212
314
|
const suggestions = [];
|
|
213
315
|
for (const violation of violations) {
|
|
@@ -487,6 +589,143 @@ await utilities.rv.RunQuery({
|
|
|
487
589
|
// match those declared in the component spec's dataRequirements.queries`
|
|
488
590
|
});
|
|
489
591
|
break;
|
|
592
|
+
case 'runview-sql-function':
|
|
593
|
+
suggestions.push({
|
|
594
|
+
violation: violation.rule,
|
|
595
|
+
suggestion: 'RunView does not support SQL aggregations. Use RunQuery or aggregate in JavaScript.',
|
|
596
|
+
example: `// ❌ WRONG - SQL functions in RunView:
|
|
597
|
+
await utilities.rv.RunView({
|
|
598
|
+
EntityName: 'Accounts',
|
|
599
|
+
Fields: ['COUNT(*) as Total', 'SUM(Revenue) as TotalRevenue']
|
|
600
|
+
});
|
|
601
|
+
|
|
602
|
+
// ✅ OPTION 1 - Use a pre-defined query:
|
|
603
|
+
await utilities.rq.RunQuery({
|
|
604
|
+
QueryName: 'Account Summary Statistics'
|
|
605
|
+
});
|
|
606
|
+
|
|
607
|
+
// ✅ OPTION 2 - Fetch raw data and aggregate in JavaScript:
|
|
608
|
+
const result = await utilities.rv.RunView({
|
|
609
|
+
EntityName: 'Accounts',
|
|
610
|
+
Fields: ['ID', 'Revenue']
|
|
611
|
+
});
|
|
612
|
+
|
|
613
|
+
if (result?.Success) {
|
|
614
|
+
const total = result.Results.length;
|
|
615
|
+
const totalRevenue = result.Results.reduce((sum, acc) => sum + (acc.Revenue || 0), 0);
|
|
616
|
+
}`
|
|
617
|
+
});
|
|
618
|
+
break;
|
|
619
|
+
case 'field-not-in-requirements':
|
|
620
|
+
suggestions.push({
|
|
621
|
+
violation: violation.rule,
|
|
622
|
+
suggestion: 'Only use fields that are defined in dataRequirements for the entity',
|
|
623
|
+
example: `// Check your dataRequirements to see allowed fields:
|
|
624
|
+
// dataRequirements: {
|
|
625
|
+
// entities: [{
|
|
626
|
+
// name: "Accounts",
|
|
627
|
+
// displayFields: ["ID", "AccountName", "Industry"],
|
|
628
|
+
// filterFields: ["IsActive", "AccountType"],
|
|
629
|
+
// sortFields: ["AccountName", "CreatedDate"]
|
|
630
|
+
// }]
|
|
631
|
+
// }
|
|
632
|
+
|
|
633
|
+
// ❌ WRONG - Using undefined field:
|
|
634
|
+
await utilities.rv.RunView({
|
|
635
|
+
EntityName: 'Accounts',
|
|
636
|
+
Fields: ['ID', 'AccountName', 'RandomField'] // RandomField not in requirements
|
|
637
|
+
});
|
|
638
|
+
|
|
639
|
+
// ✅ CORRECT - Only use defined fields:
|
|
640
|
+
await utilities.rv.RunView({
|
|
641
|
+
EntityName: 'Accounts',
|
|
642
|
+
Fields: ['ID', 'AccountName', 'Industry'] // All from displayFields
|
|
643
|
+
});`
|
|
644
|
+
});
|
|
645
|
+
break;
|
|
646
|
+
case 'orderby-field-not-sortable':
|
|
647
|
+
suggestions.push({
|
|
648
|
+
violation: violation.rule,
|
|
649
|
+
suggestion: 'OrderBy fields must be in the sortFields array for the entity',
|
|
650
|
+
example: `// ❌ WRONG - Sorting by non-sortable field:
|
|
651
|
+
await utilities.rv.RunView({
|
|
652
|
+
EntityName: 'Accounts',
|
|
653
|
+
OrderBy: 'Industry ASC' // Industry not in sortFields
|
|
654
|
+
});
|
|
655
|
+
|
|
656
|
+
// ✅ CORRECT - Use fields from sortFields:
|
|
657
|
+
await utilities.rv.RunView({
|
|
658
|
+
EntityName: 'Accounts',
|
|
659
|
+
OrderBy: 'AccountName ASC' // AccountName is in sortFields
|
|
660
|
+
});`
|
|
661
|
+
});
|
|
662
|
+
break;
|
|
663
|
+
case 'parent-event-callback-usage':
|
|
664
|
+
suggestions.push({
|
|
665
|
+
violation: violation.rule,
|
|
666
|
+
suggestion: 'Components must invoke parent event callbacks when state changes',
|
|
667
|
+
example: `// ❌ WRONG - Only updating internal state:
|
|
668
|
+
function ChildComponent({ onSelectAccount, savedUserSettings, onSaveUserSettings }) {
|
|
669
|
+
const [selectedAccountId, setSelectedAccountId] = useState(savedUserSettings?.selectedAccountId);
|
|
670
|
+
|
|
671
|
+
const handleSelectAccount = (accountId) => {
|
|
672
|
+
setSelectedAccountId(accountId); // Updates internal state
|
|
673
|
+
onSaveUserSettings?.({ ...savedUserSettings, selectedAccountId: accountId }); // Saves settings
|
|
674
|
+
// MISSING: Parent is never notified!
|
|
675
|
+
};
|
|
676
|
+
}
|
|
677
|
+
|
|
678
|
+
// ✅ CORRECT - Update state AND invoke parent callback:
|
|
679
|
+
function ChildComponent({ onSelectAccount, savedUserSettings, onSaveUserSettings }) {
|
|
680
|
+
const [selectedAccountId, setSelectedAccountId] = useState(savedUserSettings?.selectedAccountId);
|
|
681
|
+
|
|
682
|
+
const handleSelectAccount = (accountId) => {
|
|
683
|
+
// 1. Update internal state
|
|
684
|
+
setSelectedAccountId(accountId);
|
|
685
|
+
|
|
686
|
+
// 2. Invoke parent's event callback
|
|
687
|
+
if (onSelectAccount) {
|
|
688
|
+
onSelectAccount(accountId);
|
|
689
|
+
}
|
|
690
|
+
|
|
691
|
+
// 3. Save user preference
|
|
692
|
+
onSaveUserSettings?.({ ...savedUserSettings, selectedAccountId: accountId });
|
|
693
|
+
};
|
|
694
|
+
}`
|
|
695
|
+
});
|
|
696
|
+
break;
|
|
697
|
+
case 'property-name-consistency':
|
|
698
|
+
suggestions.push({
|
|
699
|
+
violation: violation.rule,
|
|
700
|
+
suggestion: 'Maintain consistent property names when transforming data',
|
|
701
|
+
example: `// ❌ WRONG - Transform to camelCase but access as PascalCase:
|
|
702
|
+
setAccountData(results.map(item => ({
|
|
703
|
+
accountName: item.AccountName, // camelCase
|
|
704
|
+
annualRevenue: item.AnnualRevenue // camelCase
|
|
705
|
+
})));
|
|
706
|
+
// Later in render...
|
|
707
|
+
<td>{account.AccountName}</td> // PascalCase - UNDEFINED!
|
|
708
|
+
<td>{formatCurrency(account.AnnualRevenue)}</td> // Returns $NaN
|
|
709
|
+
|
|
710
|
+
// ✅ CORRECT Option 1 - Keep original casing:
|
|
711
|
+
setAccountData(results.map(item => ({
|
|
712
|
+
AccountName: item.AccountName, // Keep PascalCase
|
|
713
|
+
AnnualRevenue: item.AnnualRevenue // Keep PascalCase
|
|
714
|
+
})));
|
|
715
|
+
// Later in render...
|
|
716
|
+
<td>{account.AccountName}</td> // Matches!
|
|
717
|
+
<td>{formatCurrency(account.AnnualRevenue)}</td> // Works!
|
|
718
|
+
|
|
719
|
+
// ✅ CORRECT Option 2 - Transform and use consistently:
|
|
720
|
+
setAccountData(results.map(item => ({
|
|
721
|
+
accountName: item.AccountName, // Transform to camelCase
|
|
722
|
+
annualRevenue: item.AnnualRevenue // Transform to camelCase
|
|
723
|
+
})));
|
|
724
|
+
// Later in render...
|
|
725
|
+
<td>{account.accountName}</td> // Use camelCase consistently
|
|
726
|
+
<td>{formatCurrency(account.annualRevenue)}</td> // Works!`
|
|
727
|
+
});
|
|
728
|
+
break;
|
|
490
729
|
}
|
|
491
730
|
}
|
|
492
731
|
return suggestions;
|
|
@@ -915,6 +1154,257 @@ ComponentLinter.universalComponentRules = [
|
|
|
915
1154
|
});
|
|
916
1155
|
return violations;
|
|
917
1156
|
}
|
|
1157
|
+
},
|
|
1158
|
+
{
|
|
1159
|
+
name: 'parent-event-callback-usage',
|
|
1160
|
+
test: (ast, componentName) => {
|
|
1161
|
+
const violations = [];
|
|
1162
|
+
const eventCallbacks = new Map();
|
|
1163
|
+
const callbackInvocations = new Set();
|
|
1164
|
+
const stateUpdateHandlers = new Map(); // handler -> state updates
|
|
1165
|
+
// First pass: collect event callback props (onSelect, onChange, etc.)
|
|
1166
|
+
(0, traverse_1.default)(ast, {
|
|
1167
|
+
FunctionDeclaration(path) {
|
|
1168
|
+
if (path.node.id && path.node.id.name === componentName && path.node.params[0]) {
|
|
1169
|
+
const param = path.node.params[0];
|
|
1170
|
+
if (t.isObjectPattern(param)) {
|
|
1171
|
+
for (const prop of param.properties) {
|
|
1172
|
+
if (t.isObjectProperty(prop) && t.isIdentifier(prop.key)) {
|
|
1173
|
+
const propName = prop.key.name;
|
|
1174
|
+
// Check for event callback patterns
|
|
1175
|
+
if (/^on[A-Z]/.test(propName) &&
|
|
1176
|
+
propName !== 'onSaveUserSettings' &&
|
|
1177
|
+
!propName.includes('StateChanged')) {
|
|
1178
|
+
eventCallbacks.set(propName, {
|
|
1179
|
+
line: prop.loc?.start.line || 0,
|
|
1180
|
+
column: prop.loc?.start.column || 0
|
|
1181
|
+
});
|
|
1182
|
+
}
|
|
1183
|
+
}
|
|
1184
|
+
}
|
|
1185
|
+
}
|
|
1186
|
+
}
|
|
1187
|
+
},
|
|
1188
|
+
// Also check arrow function components
|
|
1189
|
+
VariableDeclarator(path) {
|
|
1190
|
+
if (t.isIdentifier(path.node.id) && path.node.id.name === componentName) {
|
|
1191
|
+
const init = path.node.init;
|
|
1192
|
+
if (t.isArrowFunctionExpression(init) && init.params[0]) {
|
|
1193
|
+
const param = init.params[0];
|
|
1194
|
+
if (t.isObjectPattern(param)) {
|
|
1195
|
+
for (const prop of param.properties) {
|
|
1196
|
+
if (t.isObjectProperty(prop) && t.isIdentifier(prop.key)) {
|
|
1197
|
+
const propName = prop.key.name;
|
|
1198
|
+
if (/^on[A-Z]/.test(propName) &&
|
|
1199
|
+
propName !== 'onSaveUserSettings' &&
|
|
1200
|
+
!propName.includes('StateChanged')) {
|
|
1201
|
+
eventCallbacks.set(propName, {
|
|
1202
|
+
line: prop.loc?.start.line || 0,
|
|
1203
|
+
column: prop.loc?.start.column || 0
|
|
1204
|
+
});
|
|
1205
|
+
}
|
|
1206
|
+
}
|
|
1207
|
+
}
|
|
1208
|
+
}
|
|
1209
|
+
}
|
|
1210
|
+
}
|
|
1211
|
+
}
|
|
1212
|
+
});
|
|
1213
|
+
// Second pass: check if callbacks are invoked in event handlers
|
|
1214
|
+
(0, traverse_1.default)(ast, {
|
|
1215
|
+
CallExpression(path) {
|
|
1216
|
+
// Check for callback invocations
|
|
1217
|
+
if (t.isIdentifier(path.node.callee)) {
|
|
1218
|
+
const callbackName = path.node.callee.name;
|
|
1219
|
+
if (eventCallbacks.has(callbackName)) {
|
|
1220
|
+
callbackInvocations.add(callbackName);
|
|
1221
|
+
}
|
|
1222
|
+
}
|
|
1223
|
+
// Check for state updates (setSelectedId, setFilters, etc.)
|
|
1224
|
+
if (t.isIdentifier(path.node.callee) && /^set[A-Z]/.test(path.node.callee.name)) {
|
|
1225
|
+
// Find the containing function
|
|
1226
|
+
let containingFunction = path.getFunctionParent();
|
|
1227
|
+
if (containingFunction) {
|
|
1228
|
+
const funcName = ComponentLinter.getFunctionName(containingFunction);
|
|
1229
|
+
if (funcName) {
|
|
1230
|
+
if (!stateUpdateHandlers.has(funcName)) {
|
|
1231
|
+
stateUpdateHandlers.set(funcName, []);
|
|
1232
|
+
}
|
|
1233
|
+
stateUpdateHandlers.get(funcName).push(path.node.callee.name);
|
|
1234
|
+
}
|
|
1235
|
+
}
|
|
1236
|
+
}
|
|
1237
|
+
},
|
|
1238
|
+
// Check conditional callback invocations
|
|
1239
|
+
IfStatement(path) {
|
|
1240
|
+
if (t.isBlockStatement(path.node.consequent)) {
|
|
1241
|
+
// Check if the condition tests for callback existence
|
|
1242
|
+
if (t.isIdentifier(path.node.test)) {
|
|
1243
|
+
const callbackName = path.node.test.name;
|
|
1244
|
+
if (eventCallbacks.has(callbackName)) {
|
|
1245
|
+
// Check if callback is invoked in the block
|
|
1246
|
+
let hasInvocation = false;
|
|
1247
|
+
path.traverse({
|
|
1248
|
+
CallExpression(innerPath) {
|
|
1249
|
+
if (t.isIdentifier(innerPath.node.callee) &&
|
|
1250
|
+
innerPath.node.callee.name === callbackName) {
|
|
1251
|
+
hasInvocation = true;
|
|
1252
|
+
callbackInvocations.add(callbackName);
|
|
1253
|
+
}
|
|
1254
|
+
}
|
|
1255
|
+
});
|
|
1256
|
+
}
|
|
1257
|
+
}
|
|
1258
|
+
}
|
|
1259
|
+
}
|
|
1260
|
+
});
|
|
1261
|
+
// Check for unused callbacks that have related state updates
|
|
1262
|
+
for (const [callbackName, location] of eventCallbacks) {
|
|
1263
|
+
if (!callbackInvocations.has(callbackName)) {
|
|
1264
|
+
// Try to find related state update handlers
|
|
1265
|
+
const relatedHandlers = [];
|
|
1266
|
+
const expectedStateName = callbackName.replace(/^on/, '').replace(/Change$|Select$/, '');
|
|
1267
|
+
for (const [handlerName, stateUpdates] of stateUpdateHandlers) {
|
|
1268
|
+
for (const stateUpdate of stateUpdates) {
|
|
1269
|
+
if (stateUpdate.toLowerCase().includes(expectedStateName.toLowerCase()) ||
|
|
1270
|
+
handlerName.toLowerCase().includes(expectedStateName.toLowerCase())) {
|
|
1271
|
+
relatedHandlers.push(handlerName);
|
|
1272
|
+
break;
|
|
1273
|
+
}
|
|
1274
|
+
}
|
|
1275
|
+
}
|
|
1276
|
+
if (relatedHandlers.length > 0) {
|
|
1277
|
+
violations.push({
|
|
1278
|
+
rule: 'parent-event-callback-usage',
|
|
1279
|
+
severity: 'error',
|
|
1280
|
+
line: location.line,
|
|
1281
|
+
column: location.column,
|
|
1282
|
+
message: `Component receives '${callbackName}' event callback but never invokes it. Found state updates in ${relatedHandlers.join(', ')} but parent is not notified.`,
|
|
1283
|
+
code: `Missing: if (${callbackName}) ${callbackName}(...)`
|
|
1284
|
+
});
|
|
1285
|
+
}
|
|
1286
|
+
}
|
|
1287
|
+
}
|
|
1288
|
+
return violations;
|
|
1289
|
+
}
|
|
1290
|
+
},
|
|
1291
|
+
{
|
|
1292
|
+
name: 'property-name-consistency',
|
|
1293
|
+
test: (ast, componentName) => {
|
|
1294
|
+
const violations = [];
|
|
1295
|
+
const dataTransformations = new Map();
|
|
1296
|
+
const propertyAccesses = new Map(); // variable -> accessed properties
|
|
1297
|
+
// Track data transformations (especially in map functions)
|
|
1298
|
+
(0, traverse_1.default)(ast, {
|
|
1299
|
+
CallExpression(path) {
|
|
1300
|
+
// Look for array.map transformations
|
|
1301
|
+
if (t.isMemberExpression(path.node.callee) &&
|
|
1302
|
+
t.isIdentifier(path.node.callee.property) &&
|
|
1303
|
+
path.node.callee.property.name === 'map') {
|
|
1304
|
+
const mapArg = path.node.arguments[0];
|
|
1305
|
+
if (mapArg && (t.isArrowFunctionExpression(mapArg) || t.isFunctionExpression(mapArg))) {
|
|
1306
|
+
const param = mapArg.params[0];
|
|
1307
|
+
if (t.isIdentifier(param)) {
|
|
1308
|
+
const paramName = param.name;
|
|
1309
|
+
const originalProps = new Set();
|
|
1310
|
+
const transformedProps = new Set();
|
|
1311
|
+
// Check the return value
|
|
1312
|
+
let returnValue = null;
|
|
1313
|
+
if (t.isArrowFunctionExpression(mapArg)) {
|
|
1314
|
+
if (t.isObjectExpression(mapArg.body)) {
|
|
1315
|
+
returnValue = mapArg.body;
|
|
1316
|
+
}
|
|
1317
|
+
else if (t.isBlockStatement(mapArg.body)) {
|
|
1318
|
+
// Find return statement
|
|
1319
|
+
for (const stmt of mapArg.body.body) {
|
|
1320
|
+
if (t.isReturnStatement(stmt) && stmt.argument) {
|
|
1321
|
+
returnValue = stmt.argument;
|
|
1322
|
+
break;
|
|
1323
|
+
}
|
|
1324
|
+
}
|
|
1325
|
+
}
|
|
1326
|
+
}
|
|
1327
|
+
// Analyze object mapping
|
|
1328
|
+
if (returnValue && t.isObjectExpression(returnValue)) {
|
|
1329
|
+
for (const prop of returnValue.properties) {
|
|
1330
|
+
if (t.isObjectProperty(prop) && t.isIdentifier(prop.key)) {
|
|
1331
|
+
transformedProps.add(prop.key.name);
|
|
1332
|
+
// Check if value is a member expression from the parameter
|
|
1333
|
+
if (t.isMemberExpression(prop.value) &&
|
|
1334
|
+
t.isIdentifier(prop.value.object) &&
|
|
1335
|
+
prop.value.object.name === paramName &&
|
|
1336
|
+
t.isIdentifier(prop.value.property)) {
|
|
1337
|
+
originalProps.add(prop.value.property.name);
|
|
1338
|
+
}
|
|
1339
|
+
}
|
|
1340
|
+
}
|
|
1341
|
+
}
|
|
1342
|
+
// Store the transformation if we found property mappings
|
|
1343
|
+
if (transformedProps.size > 0) {
|
|
1344
|
+
// Find the variable being assigned
|
|
1345
|
+
let parentPath = path.parentPath;
|
|
1346
|
+
while (parentPath && !t.isVariableDeclarator(parentPath.node) && !t.isCallExpression(parentPath.node)) {
|
|
1347
|
+
parentPath = parentPath.parentPath;
|
|
1348
|
+
}
|
|
1349
|
+
if (parentPath && t.isCallExpression(parentPath.node)) {
|
|
1350
|
+
// Check for setState calls
|
|
1351
|
+
if (t.isIdentifier(parentPath.node.callee) && /^set[A-Z]/.test(parentPath.node.callee.name)) {
|
|
1352
|
+
const stateName = parentPath.node.callee.name.replace(/^set/, '');
|
|
1353
|
+
const varName = stateName.charAt(0).toLowerCase() + stateName.slice(1);
|
|
1354
|
+
dataTransformations.set(varName, {
|
|
1355
|
+
originalProps,
|
|
1356
|
+
transformedProps,
|
|
1357
|
+
location: {
|
|
1358
|
+
line: path.node.loc?.start.line || 0,
|
|
1359
|
+
column: path.node.loc?.start.column || 0
|
|
1360
|
+
}
|
|
1361
|
+
});
|
|
1362
|
+
}
|
|
1363
|
+
}
|
|
1364
|
+
}
|
|
1365
|
+
}
|
|
1366
|
+
}
|
|
1367
|
+
}
|
|
1368
|
+
},
|
|
1369
|
+
// Track property accesses
|
|
1370
|
+
MemberExpression(path) {
|
|
1371
|
+
if (t.isIdentifier(path.node.object) && t.isIdentifier(path.node.property)) {
|
|
1372
|
+
const objName = path.node.object.name;
|
|
1373
|
+
const propName = path.node.property.name;
|
|
1374
|
+
if (!propertyAccesses.has(objName)) {
|
|
1375
|
+
propertyAccesses.set(objName, new Set());
|
|
1376
|
+
}
|
|
1377
|
+
propertyAccesses.get(objName).add(propName);
|
|
1378
|
+
}
|
|
1379
|
+
}
|
|
1380
|
+
});
|
|
1381
|
+
// Check for mismatches
|
|
1382
|
+
for (const [varName, transformation] of dataTransformations) {
|
|
1383
|
+
const accesses = propertyAccesses.get(varName);
|
|
1384
|
+
if (accesses) {
|
|
1385
|
+
for (const accessedProp of accesses) {
|
|
1386
|
+
// Check if accessed property exists in transformed props
|
|
1387
|
+
if (!transformation.transformedProps.has(accessedProp)) {
|
|
1388
|
+
// Check if it's trying to use original prop name
|
|
1389
|
+
const matchingOriginal = Array.from(transformation.originalProps).find(orig => orig.toLowerCase() === accessedProp.toLowerCase());
|
|
1390
|
+
if (matchingOriginal) {
|
|
1391
|
+
// Find the transformed name
|
|
1392
|
+
const transformedName = Array.from(transformation.transformedProps).find(t => t.toLowerCase() === accessedProp.toLowerCase());
|
|
1393
|
+
violations.push({
|
|
1394
|
+
rule: 'property-name-consistency',
|
|
1395
|
+
severity: 'error',
|
|
1396
|
+
line: transformation.location.line,
|
|
1397
|
+
column: transformation.location.column,
|
|
1398
|
+
message: `Property name mismatch: data transformed with different casing. Accessing '${accessedProp}' but property was transformed to '${transformedName || 'different name'}'`,
|
|
1399
|
+
code: `Transform uses '${Array.from(transformation.transformedProps).join(', ')}' but code accesses '${accessedProp}'`
|
|
1400
|
+
});
|
|
1401
|
+
}
|
|
1402
|
+
}
|
|
1403
|
+
}
|
|
1404
|
+
}
|
|
1405
|
+
}
|
|
1406
|
+
return violations;
|
|
1407
|
+
}
|
|
918
1408
|
}
|
|
919
1409
|
];
|
|
920
1410
|
//# sourceMappingURL=component-linter.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"component-linter.js","sourceRoot":"","sources":["../../src/lib/component-linter.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"component-linter.js","sourceRoot":"","sources":["../../src/lib/component-linter.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,sDAAwC;AACxC,+DAAqD;AACrD,gDAAkC;AA4BlC,MAAa,eAAe;IA8vBnB,MAAM,CAAC,KAAK,CAAC,aAAa,CAC/B,IAAY,EACZ,aAAqB,EACrB,aAAmB;QAEnB,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE;gBAC7B,UAAU,EAAE,QAAQ;gBACpB,OAAO,EAAE,CAAC,KAAK,EAAE,YAAY,CAAC;gBAC9B,aAAa,EAAE,IAAI;aACpB,CAAC,CAAC;YAEH,4DAA4D;YAC5D,MAAM,KAAK,GAAG,IAAI,CAAC,uBAAuB,CAAC;YAE3C,MAAM,UAAU,GAAgB,EAAE,CAAC;YAEnC,gBAAgB;YAChB,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;gBACzB,MAAM,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,aAAa,CAAC,CAAC;gBACrD,UAAU,CAAC,IAAI,CAAC,GAAG,cAAc,CAAC,CAAC;YACrC,CAAC;YAED,gEAAgE;YAChE,IAAI,aAAa,EAAE,gBAAgB,EAAE,QAAQ,EAAE,CAAC;gBAC9C,MAAM,cAAc,GAAG,IAAI,CAAC,wBAAwB,CAAC,GAAG,EAAE,aAAa,CAAC,CAAC;gBACzE,UAAU,CAAC,IAAI,CAAC,GAAG,cAAc,CAAC,CAAC;YACrC,CAAC;YAED,2BAA2B;YAC3B,MAAM,WAAW,GAAG,IAAI,CAAC,sBAAsB,CAAC,UAAU,CAAC,CAAC;YAE5D,OAAO;gBACL,OAAO,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,MAAM,KAAK,CAAC;gBACpE,UAAU;gBACV,WAAW;aACZ,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,yCAAyC;YACzC,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,UAAU,EAAE,CAAC;wBACX,IAAI,EAAE,aAAa;wBACnB,QAAQ,EAAE,OAAO;wBACjB,IAAI,EAAE,CAAC;wBACP,MAAM,EAAE,CAAC;wBACT,OAAO,EAAE,8BAA8B,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,EAAE;qBAClG,CAAC;gBACF,WAAW,EAAE,EAAE;aAChB,CAAC;QACJ,CAAC;IACH,CAAC;IAEO,MAAM,CAAC,wBAAwB,CAAC,GAAW,EAAE,aAAkB;QACrE,MAAM,UAAU,GAAgB,EAAE,CAAC;QAEnC,6CAA6C;QAC7C,MAAM,gBAAgB,GAAG,IAAI,GAAG,EAAU,CAAC;QAC3C,MAAM,eAAe,GAAG,IAAI,GAAG,EAAU,CAAC;QAE1C,yCAAyC;QACzC,MAAM,eAAe,GAAG,IAAI,GAAG,EAI3B,CAAC;QAEL,IAAI,aAAa,CAAC,gBAAgB,EAAE,QAAQ,EAAE,CAAC;YAC7C,KAAK,MAAM,MAAM,IAAI,aAAa,CAAC,gBAAgB,CAAC,QAAQ,EAAE,CAAC;gBAC7D,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;oBAChB,gBAAgB,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;oBAClC,eAAe,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE;wBAC/B,aAAa,EAAE,IAAI,GAAG,CAAC,MAAM,CAAC,aAAa,IAAI,EAAE,CAAC;wBAClD,YAAY,EAAE,IAAI,GAAG,CAAC,MAAM,CAAC,YAAY,IAAI,EAAE,CAAC;wBAChD,UAAU,EAAE,IAAI,GAAG,CAAC,MAAM,CAAC,UAAU,IAAI,EAAE,CAAC;qBAC7C,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;QACH,CAAC;QAED,IAAI,aAAa,CAAC,gBAAgB,EAAE,OAAO,EAAE,CAAC;YAC5C,KAAK,MAAM,KAAK,IAAI,aAAa,CAAC,gBAAgB,CAAC,OAAO,EAAE,CAAC;gBAC3D,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;oBACf,eAAe,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBAClC,CAAC;YACH,CAAC;QACH,CAAC;QAED,gDAAgD;QAChD,IAAI,aAAa,CAAC,YAAY,EAAE,CAAC;YAC/B,KAAK,MAAM,GAAG,IAAI,aAAa,CAAC,YAAY,EAAE,CAAC;gBAC7C,IAAI,GAAG,CAAC,gBAAgB,EAAE,QAAQ,EAAE,CAAC;oBACnC,KAAK,MAAM,MAAM,IAAI,GAAG,CAAC,gBAAgB,CAAC,QAAQ,EAAE,CAAC;wBACnD,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;4BAChB,gBAAgB,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;4BAClC,wCAAwC;4BACxC,MAAM,QAAQ,GAAG,eAAe,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;4BAClD,IAAI,QAAQ,EAAE,CAAC;gCACb,CAAC,MAAM,CAAC,aAAa,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,QAAQ,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;gCACnF,CAAC,MAAM,CAAC,YAAY,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,QAAQ,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;gCACjF,CAAC,MAAM,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;4BAC/E,CAAC;iCAAM,CAAC;gCACN,eAAe,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE;oCAC/B,aAAa,EAAE,IAAI,GAAG,CAAC,MAAM,CAAC,aAAa,IAAI,EAAE,CAAC;oCAClD,YAAY,EAAE,IAAI,GAAG,CAAC,MAAM,CAAC,YAAY,IAAI,EAAE,CAAC;oCAChD,UAAU,EAAE,IAAI,GAAG,CAAC,MAAM,CAAC,UAAU,IAAI,EAAE,CAAC;iCAC7C,CAAC,CAAC;4BACL,CAAC;wBACH,CAAC;oBACH,CAAC;gBACH,CAAC;gBACD,IAAI,GAAG,CAAC,gBAAgB,EAAE,OAAO,EAAE,CAAC;oBAClC,KAAK,MAAM,KAAK,IAAI,GAAG,CAAC,gBAAgB,CAAC,OAAO,EAAE,CAAC;wBACjD,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;4BACf,eAAe,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;wBAClC,CAAC;oBACH,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QAED,6DAA6D;QAC7D,IAAA,kBAAQ,EAAC,GAAG,EAAE;YACZ,cAAc,CAAC,IAAgC;gBAC7C,kEAAkE;gBAClE,IAAI,CAAC,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;oBACtC,CAAC,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC;oBAC7C,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC;oBAC9C,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,KAAK,WAAW;oBACnD,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC;oBAChD,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,KAAK,IAAI;oBAC9C,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC;oBACzC,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,KAAK,SAAS,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,KAAK,UAAU,CAAC,EAAE,CAAC;oBAEpG,gDAAgD;oBAChD,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,KAAK,UAAU;wBAC7C,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC;wBAC9B,CAAC,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;wBACzD,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC;wBACtE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;4BAChF,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;4BAC1B,CAAC,CAAC,EAAE,CAAC;oBAEP,2BAA2B;oBAC3B,KAAK,MAAM,SAAS,IAAI,OAAO,EAAE,CAAC;wBAChC,IAAI,CAAC,CAAC,kBAAkB,CAAC,SAAS,CAAC,EAAE,CAAC;4BACpC,2BAA2B;4BAC3B,KAAK,MAAM,IAAI,IAAI,SAAS,CAAC,UAAU,EAAE,CAAC;gCACxC,IAAI,CAAC,CAAC,gBAAgB,CAAC,IAAI,CAAC;oCACxB,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC;oCACxB,IAAI,CAAC,GAAG,CAAC,IAAI,KAAK,YAAY;oCAC9B,CAAC,CAAC,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;oCAElC,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC;oCAEpC,mDAAmD;oCACnD,IAAI,gBAAgB,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC;wCACnE,gCAAgC;wCAChC,MAAM,eAAe,GAAG,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAC9D,CAAC,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC;4CAClD,UAAU,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CACnD,CAAC;wCAEF,UAAU,CAAC,IAAI,CAAC;4CACd,IAAI,EAAE,sBAAsB;4CAC5B,QAAQ,EAAE,OAAO;4CACjB,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,IAAI,CAAC;4CACrC,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,KAAK,CAAC,MAAM,IAAI,CAAC;4CACzC,OAAO,EAAE,WAAW,UAAU,oCAC5B,eAAe,CAAC,MAAM,GAAG,CAAC;gDACxB,CAAC,CAAC,iBAAiB,eAAe,CAAC,CAAC,CAAC,IAAI;gDACzC,CAAC,CAAC,uBAAuB,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EACpE,EAAE;4CACF,IAAI,EAAE,gBAAgB,UAAU,GAAG;yCACpC,CAAC,CAAC;oCACL,CAAC;yCAAM,CAAC;wCACN,oCAAoC;wCACpC,MAAM,YAAY,GAAG,eAAe,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;wCACrD,IAAI,YAAY,EAAE,CAAC;4CACjB,qBAAqB;4CACrB,MAAM,cAAc,GAAG,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CACnD,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,KAAK,QAAQ,CAC1E,CAAC;4CAEF,IAAI,cAAc,IAAI,CAAC,CAAC,gBAAgB,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,iBAAiB,CAAC,cAAc,CAAC,KAAK,CAAC,EAAE,CAAC;gDACtG,KAAK,MAAM,YAAY,IAAI,cAAc,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;oDACzD,IAAI,CAAC,CAAC,eAAe,CAAC,YAAY,CAAC,EAAE,CAAC;wDACpC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC;wDAErC,0BAA0B;wDAC1B,IAAI,iDAAiD,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;4DACtE,UAAU,CAAC,IAAI,CAAC;gEACd,IAAI,EAAE,sBAAsB;gEAC5B,QAAQ,EAAE,OAAO;gEACjB,IAAI,EAAE,YAAY,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,IAAI,CAAC;gEACvC,MAAM,EAAE,YAAY,CAAC,GAAG,EAAE,KAAK,CAAC,MAAM,IAAI,CAAC;gEAC3C,OAAO,EAAE,yHAAyH;gEAClI,IAAI,EAAE,SAAS;6DAChB,CAAC,CAAC;wDACL,CAAC;6DAAM,CAAC;4DACN,sCAAsC;4DACtC,MAAM,SAAS,GAAG,YAAY,CAAC,aAAa,CAAC,GAAG,CAAC,SAAS,CAAC;gEAC3C,YAAY,CAAC,YAAY,CAAC,GAAG,CAAC,SAAS,CAAC;gEACxC,YAAY,CAAC,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;4DAEvD,IAAI,CAAC,SAAS,EAAE,CAAC;gEACf,UAAU,CAAC,IAAI,CAAC;oEACd,IAAI,EAAE,2BAA2B;oEACjC,QAAQ,EAAE,OAAO;oEACjB,IAAI,EAAE,YAAY,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,IAAI,CAAC;oEACvC,MAAM,EAAE,YAAY,CAAC,GAAG,EAAE,KAAK,CAAC,MAAM,IAAI,CAAC;oEAC3C,OAAO,EAAE,UAAU,SAAS,+CAA+C,UAAU,wBACnF,CAAC,GAAG,YAAY,CAAC,aAAa,EAAE,GAAG,YAAY,CAAC,YAAY,EAAE,GAAG,YAAY,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,IAAI,CACrG,EAAE;oEACF,IAAI,EAAE,SAAS;iEAChB,CAAC,CAAC;4DACL,CAAC;wDACH,CAAC;oDACH,CAAC;gDACH,CAAC;4CACH,CAAC;4CAED,sBAAsB;4CACtB,MAAM,eAAe,GAAG,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CACpD,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,KAAK,SAAS,CAC3E,CAAC;4CAEF,IAAI,eAAe,IAAI,CAAC,CAAC,gBAAgB,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,eAAe,CAAC,eAAe,CAAC,KAAK,CAAC,EAAE,CAAC;gDACvG,MAAM,YAAY,GAAG,eAAe,CAAC,KAAK,CAAC,KAAK,CAAC;gDACjD,6EAA6E;gDAC7E,MAAM,YAAY,GAAG,YAAY,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;gDAElD,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,CAAC;oDAC/C,UAAU,CAAC,IAAI,CAAC;wDACd,IAAI,EAAE,4BAA4B;wDAClC,QAAQ,EAAE,OAAO;wDACjB,IAAI,EAAE,eAAe,CAAC,KAAK,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,IAAI,CAAC;wDAChD,MAAM,EAAE,eAAe,CAAC,KAAK,CAAC,GAAG,EAAE,KAAK,CAAC,MAAM,IAAI,CAAC;wDACpD,OAAO,EAAE,kBAAkB,YAAY,mCAAmC,UAAU,6BAClF,CAAC,GAAG,YAAY,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,IAAI,CACxC,EAAE;wDACF,IAAI,EAAE,YAAY;qDACnB,CAAC,CAAC;gDACL,CAAC;4CACH,CAAC;wCACH,CAAC;oCACH,CAAC;gCACH,CAAC;4BACH,CAAC;wBACH,CAAC;oBACH,CAAC;gBACH,CAAC;gBAED,0CAA0C;gBAC1C,IAAI,CAAC,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;oBACtC,CAAC,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC;oBAC7C,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC;oBAC9C,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,KAAK,WAAW;oBACnD,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC;oBAChD,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,KAAK,IAAI;oBAC9C,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC;oBACzC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;oBAElD,gEAAgE;oBAChE,IAAI,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;wBACnF,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;wBAEzC,0BAA0B;wBAC1B,KAAK,MAAM,IAAI,IAAI,SAAS,CAAC,UAAU,EAAE,CAAC;4BACxC,IAAI,CAAC,CAAC,gBAAgB,CAAC,IAAI,CAAC;gCACxB,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC;gCACxB,IAAI,CAAC,GAAG,CAAC,IAAI,KAAK,WAAW;gCAC7B,CAAC,CAAC,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;gCAElC,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC;gCAEnC,iDAAiD;gCACjD,IAAI,eAAe,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;oCAChE,gCAAgC;oCAChC,MAAM,eAAe,GAAG,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAC7D,CAAC,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC;wCACjD,SAAS,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAClD,CAAC;oCAEF,UAAU,CAAC,IAAI,CAAC;wCACd,IAAI,EAAE,qBAAqB;wCAC3B,QAAQ,EAAE,OAAO;wCACjB,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,IAAI,CAAC;wCACrC,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,KAAK,CAAC,MAAM,IAAI,CAAC;wCACzC,OAAO,EAAE,UAAU,SAAS,oCAC1B,eAAe,CAAC,MAAM,GAAG,CAAC;4CACxB,CAAC,CAAC,iBAAiB,eAAe,CAAC,CAAC,CAAC,IAAI;4CACzC,CAAC,CAAC,eAAe,CAAC,IAAI,GAAG,CAAC;gDACxB,CAAC,CAAC,sBAAsB,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;gDAChE,CAAC,CAAC,wCACR,EAAE;wCACF,IAAI,EAAE,eAAe,SAAS,GAAG;qCAClC,CAAC,CAAC;gCACL,CAAC;4BACH,CAAC;wBACH,CAAC;oBACH,CAAC;gBACH,CAAC;YACH,CAAC;SACF,CAAC,CAAC;QAEH,OAAO,UAAU,CAAC;IACpB,CAAC;IAEO,MAAM,CAAC,eAAe,CAAC,IAAc;QAC3C,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QAEvB,2BAA2B;QAC3B,IAAI,CAAC,CAAC,qBAAqB,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,EAAE,EAAE,CAAC;YAC7C,OAAO,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC;QACtB,CAAC;QAED,gDAAgD;QAChD,IAAI,CAAC,CAAC,yBAAyB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,oBAAoB,CAAC,IAAI,CAAC,EAAE,CAAC;YACtE,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;YAC3B,IAAI,CAAC,CAAC,oBAAoB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC;gBAChE,OAAO,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC;YACxB,CAAC;QACH,CAAC;QAED,0CAA0C;QAC1C,IAAI,CAAC,CAAC,yBAAyB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,oBAAoB,CAAC,IAAI,CAAC,EAAE,CAAC;YACtE,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;YAC3B,IAAI,CAAC,CAAC,gBAAgB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,YAAY,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC7D,OAAO,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC;YACzB,CAAC;QACH,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAEO,MAAM,CAAC,sBAAsB,CAAC,UAAuB;QAC3D,MAAM,WAAW,GAAoB,EAAE,CAAC;QAExC,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;YACnC,QAAQ,SAAS,CAAC,IAAI,EAAE,CAAC;gBACvB,KAAK,sBAAsB;oBACzB,WAAW,CAAC,IAAI,CAAC;wBACf,SAAS,EAAE,SAAS,CAAC,IAAI;wBACzB,UAAU,EAAE,4FAA4F;wBACxG,OAAO,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA+BnB;qBACS,CAAC,CAAC;oBACH,MAAM;gBAER,KAAK,gBAAgB;oBACnB,WAAW,CAAC,IAAI,CAAC;wBACf,SAAS,EAAE,SAAS,CAAC,IAAI;wBACzB,UAAU,EAAE,mDAAmD;wBAC/D,OAAO,EAAE;;;;;;;;;;;;;;;;;;;;;EAqBnB;qBACS,CAAC,CAAC;oBACH,MAAM;gBAER,KAAK,cAAc;oBACjB,WAAW,CAAC,IAAI,CAAC;wBACf,SAAS,EAAE,SAAS,CAAC,IAAI;wBACzB,UAAU,EAAE,qDAAqD;wBACjE,OAAO,EAAE;;;;;;;;;;;;;;;;oEAgB+C;qBACzD,CAAC,CAAC;oBACH,MAAM;gBAGR,KAAK,6BAA6B;oBAChC,WAAW,CAAC,IAAI,CAAC;wBACf,SAAS,EAAE,SAAS,CAAC,IAAI;wBACzB,UAAU,EAAE,8DAA8D;wBAC1E,OAAO,EAAE;;;;;;;;;;;;;;;;;;;;;;;GAuBlB;qBACQ,CAAC,CAAC;oBACH,MAAM;gBAER,KAAK,qBAAqB;oBACxB,WAAW,CAAC,IAAI,CAAC;wBACf,SAAS,EAAE,SAAS,CAAC,IAAI;wBACzB,UAAU,EAAE,8CAA8C;wBAC1D,OAAO,EAAE;;;;;;;;;;;;;GAalB;qBACQ,CAAC,CAAC;oBACH,MAAM;gBAER,KAAK,yBAAyB;oBAC5B,WAAW,CAAC,IAAI,CAAC;wBACf,SAAS,EAAE,SAAS,CAAC,IAAI;wBACzB,UAAU,EAAE,iGAAiG;wBAC7G,OAAO,EAAE,gEAAgE;qBAC1E,CAAC,CAAC;oBACH,MAAM;gBAER,KAAK,2BAA2B;oBAC9B,WAAW,CAAC,IAAI,CAAC;wBACf,SAAS,EAAE,SAAS,CAAC,IAAI;wBACzB,UAAU,EAAE,4GAA4G;wBACxH,OAAO,EAAE;;;;;;;;;;;;;;;;;;;;;;;+BAuBU;qBACpB,CAAC,CAAC;oBACH,MAAM;gBAER,KAAK,qBAAqB;oBACxB,WAAW,CAAC,IAAI,CAAC;wBACf,SAAS,EAAE,SAAS,CAAC,IAAI;wBACzB,UAAU,EAAE,qDAAqD;wBACjE,OAAO,EAAE;;;;;;;;;;;;wEAYmD;qBAC7D,CAAC,CAAC;oBACH,MAAM;gBAER,KAAK,qBAAqB;oBACxB,WAAW,CAAC,IAAI,CAAC;wBACf,SAAS,EAAE,SAAS,CAAC,IAAI;wBACzB,UAAU,EAAE,oEAAoE;wBAChF,OAAO,EAAE;;;;;;;;;;;;;OAad;qBACI,CAAC,CAAC;oBACH,MAAM;gBAER,KAAK,sBAAsB;oBACzB,WAAW,CAAC,IAAI,CAAC;wBACf,SAAS,EAAE,SAAS,CAAC,IAAI;wBACzB,UAAU,EAAE,kEAAkE;wBAC9E,OAAO,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;iEA0B4C;qBACtD,CAAC,CAAC;oBACH,MAAM;gBAER,KAAK,qBAAqB;oBACxB,WAAW,CAAC,IAAI,CAAC;wBACf,SAAS,EAAE,SAAS,CAAC,IAAI;wBACzB,UAAU,EAAE,kEAAkE;wBAC9E,OAAO,EAAE;;;;;;;;;;;;;;;;;;;;yEAoBoD;qBAC9D,CAAC,CAAC;oBACH,MAAM;gBAER,KAAK,sBAAsB;oBACzB,WAAW,CAAC,IAAI,CAAC;wBACf,SAAS,EAAE,SAAS,CAAC,IAAI;wBACzB,UAAU,EAAE,qFAAqF;wBACjG,OAAO,EAAE;;;;;;;;;;;;;;;;;;;;EAoBnB;qBACS,CAAC,CAAC;oBACH,MAAM;gBAER,KAAK,2BAA2B;oBAC9B,WAAW,CAAC,IAAI,CAAC;wBACf,SAAS,EAAE,SAAS,CAAC,IAAI;wBACzB,UAAU,EAAE,qEAAqE;wBACjF,OAAO,EAAE;;;;;;;;;;;;;;;;;;;;IAoBjB;qBACO,CAAC,CAAC;oBACH,MAAM;gBAER,KAAK,4BAA4B;oBAC/B,WAAW,CAAC,IAAI,CAAC;wBACf,SAAS,EAAE,SAAS,CAAC,IAAI;wBACzB,UAAU,EAAE,+DAA+D;wBAC3E,OAAO,EAAE;;;;;;;;;;IAUjB;qBACO,CAAC,CAAC;oBACH,MAAM;gBAER,KAAK,6BAA6B;oBAChC,WAAW,CAAC,IAAI,CAAC;wBACf,SAAS,EAAE,SAAS,CAAC,IAAI;wBACzB,UAAU,EAAE,kEAAkE;wBAC9E,OAAO,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;EA2BnB;qBACS,CAAC,CAAC;oBACH,MAAM;gBAER,KAAK,2BAA2B;oBAC9B,WAAW,CAAC,IAAI,CAAC;wBACf,SAAS,EAAE,SAAS,CAAC,IAAI;wBACzB,UAAU,EAAE,2DAA2D;wBACvE,OAAO,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;2DAyBsC;qBAChD,CAAC,CAAC;oBACH,MAAM;YACV,CAAC;QACH,CAAC;QAED,OAAO,WAAW,CAAC;IACrB,CAAC;;AAngDH,0CAogDC;AAngDC,8EAA8E;AAC/D,uCAAuB,GAAW;IAC/C,yBAAyB;IACzB;QACE,IAAI,EAAE,sBAAsB;QAC5B,IAAI,EAAE,CAAC,GAAW,EAAE,aAAqB,EAAE,EAAE;YAC3C,MAAM,UAAU,GAAgB,EAAE,CAAC;YACnC,IAAI,iBAAiB,GAAG,KAAK,CAAC;YAC9B,IAAI,oBAAoB,GAAG,KAAK,CAAC;YACjC,IAAI,YAAY,GAAG,KAAK,CAAC;YACzB,MAAM,UAAU,GAAa,EAAE,CAAC;YAEhC,4EAA4E;YAC5E,IAAA,kBAAQ,EAAC,GAAG,EAAE;gBACZ,mBAAmB,CAAC,IAAqC;oBACvD,IAAI,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,KAAK,aAAa,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;wBAC/E,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;wBAClC,IAAI,CAAC,CAAC,eAAe,CAAC,KAAK,CAAC,EAAE,CAAC;4BAC7B,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,UAAU,EAAE,CAAC;gCACpC,IAAI,CAAC,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;oCACzD,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC;oCAC/B,6BAA6B;oCAC7B,MAAM,aAAa,GAAG,CAAC,YAAY,EAAE,gBAAgB,EAAE,SAAS,EAAE,QAAQ,EAAE,WAAW,EAAE,aAAa,EAAE,WAAW,CAAC,CAAC;oCACrH,IAAI,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC;wCAC9D,iBAAiB,GAAG,IAAI,CAAC;wCACzB,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;oCAC5B,CAAC;oCACD,IAAI,QAAQ,KAAK,mBAAmB,EAAE,CAAC;wCACrC,oBAAoB,GAAG,IAAI,CAAC;oCAC9B,CAAC;gCACH,CAAC;4BACH,CAAC;wBACH,CAAC;oBACH,CAAC;gBACH,CAAC;gBAED,6BAA6B;gBAC7B,kBAAkB,CAAC,IAAoC;oBACrD,IAAI,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,KAAK,aAAa,EAAE,CAAC;wBACxE,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;wBAC5B,IAAI,CAAC,CAAC,yBAAyB,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;4BACxD,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;4BAC7B,IAAI,CAAC,CAAC,eAAe,CAAC,KAAK,CAAC,EAAE,CAAC;gCAC7B,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,UAAU,EAAE,CAAC;oCACpC,IAAI,CAAC,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;wCACzD,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC;wCAC/B,MAAM,aAAa,GAAG,CAAC,YAAY,EAAE,gBAAgB,EAAE,SAAS,EAAE,QAAQ,EAAE,WAAW,EAAE,aAAa,EAAE,WAAW,CAAC,CAAC;wCACrH,IAAI,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC;4CAC9D,iBAAiB,GAAG,IAAI,CAAC;4CACzB,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;wCAC5B,CAAC;wCACD,IAAI,QAAQ,KAAK,mBAAmB,EAAE,CAAC;4CACrC,oBAAoB,GAAG,IAAI,CAAC;wCAC9B,CAAC;oCACH,CAAC;gCACH,CAAC;4BACH,CAAC;wBACH,CAAC;oBACH,CAAC;gBACH,CAAC;gBAED,2BAA2B;gBAC3B,cAAc,CAAC,IAAgC;oBAC7C,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;oBAEhC,IACE,CAAC,CAAC,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,IAAI,KAAK,UAAU,CAAC;wBACtD,CAAC,CAAC,CAAC,kBAAkB,CAAC,MAAM,CAAC;4BAC5B,CAAC,CAAC,YAAY,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,KAAK,OAAO;4BAC/D,CAAC,CAAC,YAAY,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC,IAAI,KAAK,UAAU,CAAC,EACxE,CAAC;wBACD,YAAY,GAAG,IAAI,CAAC;oBACtB,CAAC;gBACH,CAAC;aACF,CAAC,CAAC;YAEH,iDAAiD;YACjD,4DAA4D;YAC5D,wDAAwD;YACxD,kFAAkF;YAElF,IAAI,iBAAiB,IAAI,CAAC,oBAAoB,EAAE,CAAC;gBAC/C,UAAU,CAAC,IAAI,CAAC;oBACd,IAAI,EAAE,sBAAsB;oBAC5B,QAAQ,EAAE,OAAO;oBACjB,IAAI,EAAE,CAAC;oBACP,MAAM,EAAE,CAAC;oBACT,OAAO,EAAE,cAAc,aAAa,2BAA2B,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,qFAAqF;iBAC1K,CAAC,CAAC;YACL,CAAC;YAED,IAAI,iBAAiB,IAAI,oBAAoB,IAAI,CAAC,YAAY,EAAE,CAAC;gBAC/D,UAAU,CAAC,IAAI,CAAC;oBACd,IAAI,EAAE,sBAAsB;oBAC5B,QAAQ,EAAE,OAAO;oBACjB,IAAI,EAAE,CAAC;oBACP,MAAM,EAAE,CAAC;oBACT,OAAO,EAAE,cAAc,aAAa,iLAAiL;iBACtN,CAAC,CAAC;YACL,CAAC;YAED,OAAO,UAAU,CAAC;QACpB,CAAC;KACF;IAED;QACE,IAAI,EAAE,gBAAgB;QACtB,IAAI,EAAE,CAAC,GAAW,EAAE,aAAqB,EAAE,EAAE;YAC3C,MAAM,UAAU,GAAgB,EAAE,CAAC;YAEnC,IAAA,kBAAQ,EAAC,GAAG,EAAE;gBACZ,cAAc,CAAC,IAAgC;oBAC7C,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;oBAEhC,IACE,CAAC,CAAC,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,IAAI,KAAK,YAAY,CAAC;wBACxD,CAAC,CAAC,CAAC,kBAAkB,CAAC,MAAM,CAAC;4BAC5B,CAAC,CAAC,YAAY,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,KAAK,OAAO;4BAC/D,CAAC,CAAC,YAAY,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC,IAAI,KAAK,YAAY,CAAC,EAC1E,CAAC;wBACD,UAAU,CAAC,IAAI,CAAC;4BACd,IAAI,EAAE,gBAAgB;4BACtB,QAAQ,EAAE,OAAO;4BACjB,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,IAAI,CAAC;4BACpC,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,MAAM,IAAI,CAAC;4BACxC,OAAO,EAAE,cAAc,aAAa,6BAA6B,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,wGAAwG;4BAClM,IAAI,EAAE,IAAI,CAAC,QAAQ,EAAE;yBACtB,CAAC,CAAC;oBACL,CAAC;gBACH,CAAC;aACF,CAAC,CAAC;YAEH,OAAO,UAAU,CAAC;QACpB,CAAC;KACF;IAGD,iDAAiD;IACjD;QACE,IAAI,EAAE,cAAc;QACpB,IAAI,EAAE,CAAC,GAAW,EAAE,aAAqB,EAAE,EAAE;YAC3C,MAAM,UAAU,GAAgB,EAAE,CAAC;YAEnC,IAAA,kBAAQ,EAAC,GAAG,EAAE;gBACZ,4CAA4C;gBAC5C,mBAAmB,CAAC,IAAqC;oBACvD,IAAI,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,KAAK,aAAa,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;wBAC/E,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;wBAClC,IAAI,CAAC,CAAC,eAAe,CAAC,KAAK,CAAC,EAAE,CAAC;4BAC7B,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,UAAU,EAAE,CAAC;gCACpC,IAAI,CAAC,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;oCACrF,UAAU,CAAC,IAAI,CAAC;wCACd,IAAI,EAAE,cAAc;wCACpB,QAAQ,EAAE,OAAO;wCACjB,IAAI,EAAE,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,IAAI,CAAC;wCAC/B,MAAM,EAAE,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,MAAM,IAAI,CAAC;wCACnC,OAAO,EAAE,cAAc,aAAa,4FAA4F;wCAChI,IAAI,EAAE,kCAAkC;qCACzC,CAAC,CAAC;gCACL,CAAC;4BACH,CAAC;wBACH,CAAC;oBACH,CAAC;gBACH,CAAC;gBAED,6BAA6B;gBAC7B,kBAAkB,CAAC,IAAoC;oBACrD,IAAI,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,KAAK,aAAa,EAAE,CAAC;wBACxE,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;wBAC5B,IAAI,CAAC,CAAC,yBAAyB,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;4BACxD,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;4BAC7B,IAAI,CAAC,CAAC,eAAe,CAAC,KAAK,CAAC,EAAE,CAAC;gCAC7B,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,UAAU,EAAE,CAAC;oCACpC,IAAI,CAAC,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;wCACrF,UAAU,CAAC,IAAI,CAAC;4CACd,IAAI,EAAE,cAAc;4CACpB,QAAQ,EAAE,OAAO;4CACjB,IAAI,EAAE,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,IAAI,CAAC;4CAC/B,MAAM,EAAE,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,MAAM,IAAI,CAAC;4CACnC,OAAO,EAAE,cAAc,aAAa,4FAA4F;4CAChI,IAAI,EAAE,kCAAkC;yCACzC,CAAC,CAAC;oCACL,CAAC;gCACH,CAAC;4BACH,CAAC;wBACH,CAAC;oBACH,CAAC;gBACH,CAAC;aACF,CAAC,CAAC;YAEH,OAAO,UAAU,CAAC;QACpB,CAAC;KACF;IAED;QACE,IAAI,EAAE,6BAA6B;QACnC,IAAI,EAAE,CAAC,GAAW,EAAE,aAAqB,EAAE,EAAE;YAC3C,MAAM,UAAU,GAAgB,EAAE,CAAC;YAEnC,8CAA8C;YAC9C,IAAA,kBAAQ,EAAC,GAAG,EAAE;gBACZ,cAAc,CAAC,IAAgC;oBAC7C,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;oBAEhC,qCAAqC;oBACrC,IAAI,CAAC,CAAC,kBAAkB,CAAC,MAAM,CAAC;wBAC5B,CAAC,CAAC,YAAY,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,KAAK,oBAAoB,EAAE,CAAC;wBAEjF,kCAAkC;wBAClC,IAAI,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;4BACnC,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;4BACnC,IAAI,CAAC,CAAC,kBAAkB,CAAC,GAAG,CAAC,EAAE,CAAC;gCAC9B,KAAK,MAAM,IAAI,IAAI,GAAG,CAAC,UAAU,EAAE,CAAC;oCAClC,IAAI,CAAC,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;wCACzD,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC;wCAC1B,MAAM,iBAAiB,GAAG,CAAC,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;wCAEvF,IAAI,iBAAiB,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC;4CAC3E,UAAU,CAAC,IAAI,CAAC;gDACd,IAAI,EAAE,6BAA6B;gDACnC,QAAQ,EAAE,SAAS;gDACnB,IAAI,EAAE,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,IAAI,CAAC;gDAC/B,MAAM,EAAE,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,MAAM,IAAI,CAAC;gDACnC,OAAO,EAAE,8BAA8B,GAAG,+DAA+D;6CAC1G,CAAC,CAAC;wCACL,CAAC;oCACH,CAAC;gCACH,CAAC;4BACH,CAAC;wBACH,CAAC;oBACH,CAAC;gBACH,CAAC;aACF,CAAC,CAAC;YAEH,OAAO,UAAU,CAAC;QACpB,CAAC;KACF;IAED;QACE,IAAI,EAAE,qBAAqB;QAC3B,IAAI,EAAE,CAAC,GAAW,EAAE,aAAqB,EAAE,EAAE;YAC3C,MAAM,UAAU,GAAgB,EAAE,CAAC;YACnC,MAAM,aAAa,GAAG,CAAC,QAAQ,EAAE,WAAW,EAAE,YAAY,CAAC,CAAC;YAE5D,IAAA,kBAAQ,EAAC,GAAG,EAAE;gBACZ,UAAU,CAAC,IAA4B;oBACrC,MAAM,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC;oBAEhD,0DAA0D;oBAC1D,IAAI,CAAC,CAAC,eAAe,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,QAAQ,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;wBACtF,MAAM,oBAAoB,GAAG,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC;wBACtD,MAAM,WAAW,GAAG,IAAI,GAAG,EAAU,CAAC;wBAEtC,iCAAiC;wBACjC,KAAK,MAAM,IAAI,IAAI,cAAc,CAAC,UAAU,EAAE,CAAC;4BAC7C,IAAI,CAAC,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;gCAC3D,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;4BAClC,CAAC;wBACH,CAAC;wBAED,sCAAsC;wBACtC,MAAM,YAAY,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;wBAE1E,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,IAAI,WAAW,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;4BACpD,uFAAuF;4BACvF,UAAU,CAAC,IAAI,CAAC;gCACd,IAAI,EAAE,qBAAqB;gCAC3B,QAAQ,EAAE,OAAO;gCACjB,IAAI,EAAE,cAAc,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,IAAI,CAAC;gCACzC,MAAM,EAAE,cAAc,CAAC,GAAG,EAAE,KAAK,CAAC,MAAM,IAAI,CAAC;gCAC7C,OAAO,EAAE,cAAc,oBAAoB,gCAAgC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,wEAAwE;gCAC1K,IAAI,EAAE,IAAI,oBAAoB,SAAS;6BACxC,CAAC,CAAC;wBACL,CAAC;oBACH,CAAC;gBACH,CAAC;aACF,CAAC,CAAC;YAEH,OAAO,UAAU,CAAC;QACpB,CAAC;KACF;IAED;QACE,IAAI,EAAE,yBAAyB;QAC/B,IAAI,EAAE,CAAC,GAAW,EAAE,aAAqB,EAAE,EAAE;YAC3C,MAAM,UAAU,GAAgB,EAAE,CAAC;YACnC,MAAM,gBAAgB,GAAG,aAAa,CAAC;YACvC,MAAM,iBAAiB,GAAa,EAAE,CAAC;YAEvC,gDAAgD;YAChD,IAAA,kBAAQ,EAAC,GAAG,EAAE;gBACZ,mBAAmB,CAAC,IAAqC;oBACvD,IAAI,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC;wBACjB,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;oBAC5C,CAAC;gBACH,CAAC;aACF,CAAC,CAAC;YAEH,4EAA4E;YAC5E,iEAAiE;YACjE,MAAM,kBAAkB,GAAG,iBAAiB,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CACzD,IAAI,KAAK,gBAAgB,IAAI,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CACjD,CAAC;YAEF,IAAI,kBAAkB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAClC,UAAU,CAAC,IAAI,CAAC;oBACd,IAAI,EAAE,yBAAyB;oBAC/B,QAAQ,EAAE,OAAO;oBACjB,IAAI,EAAE,CAAC;oBACP,MAAM,EAAE,CAAC;oBACT,OAAO,EAAE,iEAAiE,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,oEAAoE;iBAC5K,CAAC,CAAC;YACL,CAAC;YAED,OAAO,UAAU,CAAC;QACpB,CAAC;KACF;IAED;QACE,IAAI,EAAE,2BAA2B;QACjC,IAAI,EAAE,CAAC,GAAW,EAAE,aAAqB,EAAE,EAAE;YAC3C,MAAM,UAAU,GAAgB,EAAE,CAAC;YACnC,MAAM,mBAAmB,GAAG,IAAI,GAAG,EAAU,CAAC;YAC9C,MAAM,mBAAmB,GAAG,IAAI,GAAG,EAAU,CAAC;YAC9C,IAAI,iBAAiB,GAAG,KAAK,CAAC;YAE9B,IAAA,kBAAQ,EAAC,GAAG,EAAE;gBACZ,2DAA2D;gBAC3D,kBAAkB,CAAC,IAAoC;oBACrD,IAAI,CAAC,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;wBACtE,2CAA2C;wBAC3C,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;4BACzC,iBAAiB,GAAG,IAAI,CAAC;4BACzB,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,UAAU,EAAE,CAAC;gCAC3C,IAAI,CAAC,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;oCACzD,mBAAmB,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;gCACzC,CAAC;4BACH,CAAC;wBACH,CAAC;oBACH,CAAC;gBACH,CAAC;gBAED,yDAAyD;gBACzD,mBAAmB,CAAC,IAAqC;oBACvD,IAAI,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,KAAK,aAAa,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;wBAC/E,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;wBAClC,IAAI,CAAC,CAAC,eAAe,CAAC,KAAK,CAAC,EAAE,CAAC;4BAC7B,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,UAAU,EAAE,CAAC;gCACpC,IAAI,CAAC,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;oCAC3F,iBAAiB,GAAG,IAAI,CAAC;oCACzB,8DAA8D;oCAC9D,IAAI,CAAC,CAAC,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;wCAClC,KAAK,MAAM,SAAS,IAAI,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,CAAC;4CAC9C,IAAI,CAAC,CAAC,gBAAgB,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,YAAY,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC;gDACnE,mBAAmB,CAAC,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;4CAC9C,CAAC;wCACH,CAAC;oCACH,CAAC;gCACH,CAAC;4BACH,CAAC;wBACH,CAAC;oBACH,CAAC;gBACH,CAAC;gBAED,0BAA0B;gBAC1B,UAAU,CAAC,IAA4B;oBACrC,MAAM,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC;oBAChD,IAAI,CAAC,CAAC,eAAe,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,QAAQ,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;wBACtF,MAAM,aAAa,GAAG,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC;wBAC/C,sDAAsD;wBACtD,IAAI,mBAAmB,CAAC,GAAG,CAAC,aAAa,CAAC,EAAE,CAAC;4BAC3C,mBAAmB,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;wBACzC,CAAC;oBACH,CAAC;gBACH,CAAC;aACF,CAAC,CAAC;YAEH,2CAA2C;YAC3C,IAAI,iBAAiB,IAAI,mBAAmB,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;gBACtD,uDAAuD;gBACvD,MAAM,gBAAgB,GAAG,KAAK,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC,MAAM,CAC7D,IAAI,CAAC,EAAE,CAAC,CAAC,mBAAmB,CAAC,GAAG,CAAC,IAAI,CAAC,CACvC,CAAC;gBAEF,IAAI,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAChC,UAAU,CAAC,IAAI,CAAC;wBACd,IAAI,EAAE,2BAA2B;wBACjC,QAAQ,EAAE,SAAS;wBACnB,IAAI,EAAE,CAAC;wBACP,MAAM,EAAE,CAAC;wBACT,OAAO,EAAE,0BAA0B,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,+GAA+G;qBAC9K,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;YAED,OAAO,UAAU,CAAC;QACpB,CAAC;KACF;IAED;QACE,IAAI,EAAE,qBAAqB;QAC3B,IAAI,EAAE,CAAC,GAAW,EAAE,aAAqB,EAAE,EAAE;YAC3C,MAAM,UAAU,GAAgB,EAAE,CAAC;YAEnC,IAAA,kBAAQ,EAAC,GAAG,EAAE;gBACZ,gBAAgB,CAAC,IAAkC;oBACjD,kCAAkC;oBAClC,IAAI,CAAC,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC;wBACtC,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;wBAExG,gDAAgD;wBAChD,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;wBAC3B,IAAI,CAAC,CAAC,kBAAkB,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,MAAM,KAAK,IAAI,CAAC,IAAI,EAAE,CAAC;4BAChE,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;4BAE7B,0DAA0D;4BAC1D,IAAI,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;gCAC9B,UAAU,CAAC,IAAI,CAAC;oCACd,IAAI,EAAE,qBAAqB;oCAC3B,QAAQ,EAAE,OAAO;oCACjB,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,IAAI,CAAC;oCACpC,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,MAAM,IAAI,CAAC;oCACxC,OAAO,EAAE,wBAAwB,IAAI,iDAAiD;oCACtF,IAAI,EAAE,IAAI;iCACX,CAAC,CAAC;4BACL,CAAC;wBACH,CAAC;oBACH,CAAC;gBACH,CAAC;aACF,CAAC,CAAC;YAEH,OAAO,UAAU,CAAC;QACpB,CAAC;KACF;IAED;QACE,IAAI,EAAE,qBAAqB;QAC3B,IAAI,EAAE,CAAC,GAAW,EAAE,aAAqB,EAAE,EAAE;YAC3C,MAAM,UAAU,GAAgB,EAAE,CAAC;YAEnC,IAAA,kBAAQ,EAAC,GAAG,EAAE;gBACZ,cAAc,CAAC,IAAgC;oBAC7C,4BAA4B;oBAC5B,IAAI,CAAC,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;wBACtC,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC;wBACzC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;wBAEhD,oCAAoC;wBACpC,MAAM,eAAe,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC;wBAChD,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;wBAE7B,iDAAiD;wBACjD,MAAM,eAAe,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC;wBAEvD,IAAI,CAAC,eAAe,EAAE,CAAC;4BACrB,UAAU,CAAC,IAAI,CAAC;gCACd,IAAI,EAAE,qBAAqB;gCAC3B,QAAQ,EAAE,SAAS;gCACnB,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,IAAI,CAAC;gCACpC,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,MAAM,IAAI,CAAC;gCACxC,OAAO,EAAE,4DAA4D,IAAI,EAAE;gCAC3E,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;6BAChE,CAAC,CAAC;wBACL,CAAC;wBAED,wDAAwD;wBACxD,IAAI,CAAC,CAAC,kBAAkB,CAAC,eAAe,CAAC;4BACrC,CAAC,CAAC,CAAC,gBAAgB,CAAC,eAAe,CAAC,QAAQ,CAAC;gCAC5C,CAAC,CAAC,CAAC,YAAY,CAAC,eAAe,CAAC,QAAQ,CAAC,IAAI,eAAe,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC;4BAC7E,UAAU,CAAC,IAAI,CAAC;gCACd,IAAI,EAAE,qBAAqB;gCAC3B,QAAQ,EAAE,OAAO;gCACjB,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,IAAI,CAAC;gCACpC,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,MAAM,IAAI,CAAC;gCACxC,OAAO,EAAE,+CAA+C,IAAI,EAAE;gCAC9D,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;6BAChE,CAAC,CAAC;wBACL,CAAC;oBACH,CAAC;gBACH,CAAC;aACF,CAAC,CAAC;YAEH,OAAO,UAAU,CAAC;QACpB,CAAC;KACF;IAED;QACE,IAAI,EAAE,6BAA6B;QACnC,IAAI,EAAE,CAAC,GAAW,EAAE,aAAqB,EAAE,EAAE;YAC3C,MAAM,UAAU,GAAgB,EAAE,CAAC;YACnC,MAAM,cAAc,GAAG,IAAI,GAAG,EAA4C,CAAC;YAC3E,MAAM,mBAAmB,GAAG,IAAI,GAAG,EAAU,CAAC;YAC9C,MAAM,mBAAmB,GAAG,IAAI,GAAG,EAAoB,CAAC,CAAC,2BAA2B;YAEpF,sEAAsE;YACtE,IAAA,kBAAQ,EAAC,GAAG,EAAE;gBACZ,mBAAmB,CAAC,IAAqC;oBACvD,IAAI,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,KAAK,aAAa,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;wBAC/E,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;wBAClC,IAAI,CAAC,CAAC,eAAe,CAAC,KAAK,CAAC,EAAE,CAAC;4BAC7B,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,UAAU,EAAE,CAAC;gCACpC,IAAI,CAAC,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;oCACzD,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC;oCAC/B,oCAAoC;oCACpC,IAAI,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC;wCACzB,QAAQ,KAAK,oBAAoB;wCACjC,CAAC,QAAQ,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC;wCACvC,cAAc,CAAC,GAAG,CAAC,QAAQ,EAAE;4CAC3B,IAAI,EAAE,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,IAAI,CAAC;4CAC/B,MAAM,EAAE,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,MAAM,IAAI,CAAC;yCACpC,CAAC,CAAC;oCACL,CAAC;gCACH,CAAC;4BACH,CAAC;wBACH,CAAC;oBACH,CAAC;gBACH,CAAC;gBAED,uCAAuC;gBACvC,kBAAkB,CAAC,IAAoC;oBACrD,IAAI,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,KAAK,aAAa,EAAE,CAAC;wBACxE,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;wBAC5B,IAAI,CAAC,CAAC,yBAAyB,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;4BACxD,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;4BAC7B,IAAI,CAAC,CAAC,eAAe,CAAC,KAAK,CAAC,EAAE,CAAC;gCAC7B,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,UAAU,EAAE,CAAC;oCACpC,IAAI,CAAC,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;wCACzD,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC;wCAC/B,IAAI,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC;4CACzB,QAAQ,KAAK,oBAAoB;4CACjC,CAAC,QAAQ,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC;4CACvC,cAAc,CAAC,GAAG,CAAC,QAAQ,EAAE;gDAC3B,IAAI,EAAE,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,IAAI,CAAC;gDAC/B,MAAM,EAAE,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,MAAM,IAAI,CAAC;6CACpC,CAAC,CAAC;wCACL,CAAC;oCACH,CAAC;gCACH,CAAC;4BACH,CAAC;wBACH,CAAC;oBACH,CAAC;gBACH,CAAC;aACF,CAAC,CAAC;YAEH,gEAAgE;YAChE,IAAA,kBAAQ,EAAC,GAAG,EAAE;gBACZ,cAAc,CAAC,IAAgC;oBAC7C,iCAAiC;oBACjC,IAAI,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;wBACrC,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;wBAC3C,IAAI,cAAc,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,CAAC;4BACrC,mBAAmB,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;wBACxC,CAAC;oBACH,CAAC;oBAED,4DAA4D;oBAC5D,IAAI,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;wBAChF,+BAA+B;wBAC/B,IAAI,kBAAkB,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAC;wBAClD,IAAI,kBAAkB,EAAE,CAAC;4BACvB,MAAM,QAAQ,GAAG,eAAe,CAAC,eAAe,CAAC,kBAAkB,CAAC,CAAC;4BACrE,IAAI,QAAQ,EAAE,CAAC;gCACb,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;oCACvC,mBAAmB,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;gCACxC,CAAC;gCACD,mBAAmB,CAAC,GAAG,CAAC,QAAQ,CAAE,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;4BACjE,CAAC;wBACH,CAAC;oBACH,CAAC;gBACH,CAAC;gBAED,yCAAyC;gBACzC,WAAW,CAAC,IAA6B;oBACvC,IAAI,CAAC,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;wBAC7C,sDAAsD;wBACtD,IAAI,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;4BACnC,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;4BACzC,IAAI,cAAc,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,CAAC;gCACrC,4CAA4C;gCAC5C,IAAI,aAAa,GAAG,KAAK,CAAC;gCAC1B,IAAI,CAAC,QAAQ,CAAC;oCACZ,cAAc,CAAC,SAAqC;wCAClD,IAAI,CAAC,CAAC,YAAY,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC;4CACrC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;4CAChD,aAAa,GAAG,IAAI,CAAC;4CACrB,mBAAmB,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;wCACxC,CAAC;oCACH,CAAC;iCACF,CAAC,CAAC;4BACL,CAAC;wBACH,CAAC;oBACH,CAAC;gBACH,CAAC;aACF,CAAC,CAAC;YAEH,6DAA6D;YAC7D,KAAK,MAAM,CAAC,YAAY,EAAE,QAAQ,CAAC,IAAI,cAAc,EAAE,CAAC;gBACtD,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,CAAC;oBAC3C,4CAA4C;oBAC5C,MAAM,eAAe,GAAa,EAAE,CAAC;oBACrC,MAAM,iBAAiB,GAAG,YAAY,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,iBAAiB,EAAE,EAAE,CAAC,CAAC;oBAEzF,KAAK,MAAM,CAAC,WAAW,EAAE,YAAY,CAAC,IAAI,mBAAmB,EAAE,CAAC;wBAC9D,KAAK,MAAM,WAAW,IAAI,YAAY,EAAE,CAAC;4BACvC,IAAI,WAAW,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,iBAAiB,CAAC,WAAW,EAAE,CAAC;gCACnE,WAAW,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,iBAAiB,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC;gCACxE,eAAe,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;gCAClC,MAAM;4BACR,CAAC;wBACH,CAAC;oBACH,CAAC;oBAED,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;wBAC/B,UAAU,CAAC,IAAI,CAAC;4BACd,IAAI,EAAE,6BAA6B;4BACnC,QAAQ,EAAE,OAAO;4BACjB,IAAI,EAAE,QAAQ,CAAC,IAAI;4BACnB,MAAM,EAAE,QAAQ,CAAC,MAAM;4BACvB,OAAO,EAAE,uBAAuB,YAAY,iEAAiE,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,8BAA8B;4BACrK,IAAI,EAAE,gBAAgB,YAAY,KAAK,YAAY,OAAO;yBAC3D,CAAC,CAAC;oBACL,CAAC;gBACH,CAAC;YACH,CAAC;YAED,OAAO,UAAU,CAAC;QACpB,CAAC;KACF;IAED;QACE,IAAI,EAAE,2BAA2B;QACjC,IAAI,EAAE,CAAC,GAAW,EAAE,aAAqB,EAAE,EAAE;YAC3C,MAAM,UAAU,GAAgB,EAAE,CAAC;YACnC,MAAM,mBAAmB,GAAG,IAAI,GAAG,EAAqH,CAAC;YACzJ,MAAM,gBAAgB,GAAG,IAAI,GAAG,EAAuB,CAAC,CAAC,kCAAkC;YAE3F,2DAA2D;YAC3D,IAAA,kBAAQ,EAAC,GAAG,EAAE;gBACZ,cAAc,CAAC,IAAgC;oBAC7C,qCAAqC;oBACrC,IAAI,CAAC,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;wBACtC,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC;wBACzC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,KAAK,KAAK,EAAE,CAAC;wBAE7C,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;wBACtC,IAAI,MAAM,IAAI,CAAC,CAAC,CAAC,yBAAyB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC;4BACtF,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;4BAC/B,IAAI,CAAC,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC;gCAC1B,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC;gCAC7B,MAAM,aAAa,GAAG,IAAI,GAAG,EAAU,CAAC;gCACxC,MAAM,gBAAgB,GAAG,IAAI,GAAG,EAAU,CAAC;gCAE3C,yBAAyB;gCACzB,IAAI,WAAW,GAAkB,IAAI,CAAC;gCACtC,IAAI,CAAC,CAAC,yBAAyB,CAAC,MAAM,CAAC,EAAE,CAAC;oCACxC,IAAI,CAAC,CAAC,kBAAkB,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;wCACtC,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC;oCAC5B,CAAC;yCAAM,IAAI,CAAC,CAAC,gBAAgB,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;wCAC3C,wBAAwB;wCACxB,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;4CACpC,IAAI,CAAC,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;gDAC/C,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC;gDAC5B,MAAM;4CACR,CAAC;wCACH,CAAC;oCACH,CAAC;gCACH,CAAC;gCAED,yBAAyB;gCACzB,IAAI,WAAW,IAAI,CAAC,CAAC,kBAAkB,CAAC,WAAW,CAAC,EAAE,CAAC;oCACrD,KAAK,MAAM,IAAI,IAAI,WAAW,CAAC,UAAU,EAAE,CAAC;wCAC1C,IAAI,CAAC,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;4CACzD,gBAAgB,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;4CAEpC,2DAA2D;4CAC3D,IAAI,CAAC,CAAC,kBAAkB,CAAC,IAAI,CAAC,KAAK,CAAC;gDAChC,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;gDACjC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,KAAK,SAAS;gDACpC,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC;gDACxC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;4CAC9C,CAAC;wCACH,CAAC;oCACH,CAAC;gCACH,CAAC;gCAED,yDAAyD;gCACzD,IAAI,gBAAgB,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;oCAC9B,mCAAmC;oCACnC,IAAI,UAAU,GAAoB,IAAI,CAAC,UAAU,CAAC;oCAClD,OAAO,UAAU,IAAI,CAAC,CAAC,CAAC,oBAAoB,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,gBAAgB,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;wCACtG,UAAU,GAAG,UAAU,CAAC,UAAU,CAAC;oCACrC,CAAC;oCAED,IAAI,UAAU,IAAI,CAAC,CAAC,gBAAgB,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;wCACtD,2BAA2B;wCAC3B,IAAI,CAAC,CAAC,YAAY,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;4CAC5F,MAAM,SAAS,GAAG,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;4CAClE,MAAM,OAAO,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;4CACvE,mBAAmB,CAAC,GAAG,CAAC,OAAO,EAAE;gDAC/B,aAAa;gDACb,gBAAgB;gDAChB,QAAQ,EAAE;oDACR,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,IAAI,CAAC;oDACpC,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,MAAM,IAAI,CAAC;iDACzC;6CACF,CAAC,CAAC;wCACL,CAAC;oCACH,CAAC;gCACH,CAAC;4BACH,CAAC;wBACH,CAAC;oBACH,CAAC;gBACH,CAAC;gBAED,0BAA0B;gBAC1B,gBAAgB,CAAC,IAAkC;oBACjD,IAAI,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;wBAC3E,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;wBACtC,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;wBAEzC,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;4BACnC,gBAAgB,CAAC,GAAG,CAAC,OAAO,EAAE,IAAI,GAAG,EAAE,CAAC,CAAC;wBAC3C,CAAC;wBACD,gBAAgB,CAAC,GAAG,CAAC,OAAO,CAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;oBAC/C,CAAC;gBACH,CAAC;aACF,CAAC,CAAC;YAEH,uBAAuB;YACvB,KAAK,MAAM,CAAC,OAAO,EAAE,cAAc,CAAC,IAAI,mBAAmB,EAAE,CAAC;gBAC5D,MAAM,QAAQ,GAAG,gBAAgB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;gBAC/C,IAAI,QAAQ,EAAE,CAAC;oBACb,KAAK,MAAM,YAAY,IAAI,QAAQ,EAAE,CAAC;wBACpC,yDAAyD;wBACzD,IAAI,CAAC,cAAc,CAAC,gBAAgB,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,CAAC;4BACvD,iDAAiD;4BACjD,MAAM,gBAAgB,GAAG,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,CAAC,IAAI,CACpE,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,YAAY,CAAC,WAAW,EAAE,CAC1D,CAAC;4BAEF,IAAI,gBAAgB,EAAE,CAAC;gCACrB,4BAA4B;gCAC5B,MAAM,eAAe,GAAG,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,gBAAgB,CAAC,CAAC,IAAI,CACtE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,KAAK,YAAY,CAAC,WAAW,EAAE,CACpD,CAAC;gCAEF,UAAU,CAAC,IAAI,CAAC;oCACd,IAAI,EAAE,2BAA2B;oCACjC,QAAQ,EAAE,OAAO;oCACjB,IAAI,EAAE,cAAc,CAAC,QAAQ,CAAC,IAAI;oCAClC,MAAM,EAAE,cAAc,CAAC,QAAQ,CAAC,MAAM;oCACtC,OAAO,EAAE,8EAA8E,YAAY,sCAAsC,eAAe,IAAI,gBAAgB,GAAG;oCAC/K,IAAI,EAAE,mBAAmB,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,gBAAgB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,wBAAwB,YAAY,GAAG;iCACvH,CAAC,CAAC;4BACL,CAAC;wBACH,CAAC;oBACH,CAAC;gBACH,CAAC;YACH,CAAC;YAED,OAAO,UAAU,CAAC;QACpB,CAAC;KACF;CACF,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@memberjunction/react-test-harness",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.78.0",
|
|
4
4
|
"description": "React component test harness for MemberJunction using Playwright",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -22,8 +22,8 @@
|
|
|
22
22
|
"typescript": "^5.4.5"
|
|
23
23
|
},
|
|
24
24
|
"dependencies": {
|
|
25
|
-
"@memberjunction/react-runtime": "^2.
|
|
26
|
-
"@memberjunction/interactive-component-types": "^2.
|
|
25
|
+
"@memberjunction/react-runtime": "^2.78.0",
|
|
26
|
+
"@memberjunction/interactive-component-types": "^2.78.0",
|
|
27
27
|
"@playwright/test": "^1.40.0",
|
|
28
28
|
"playwright": "^1.40.0",
|
|
29
29
|
"commander": "^11.1.0",
|