@schema-hub/stryker-zod-mutator 0.0.1 → 0.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (36) hide show
  1. package/LICENSE +21 -0
  2. package/package.json +44 -6
  3. package/readme.md +171 -5
  4. package/sbom.cdx.json +84 -0
  5. package/stryker-zod-mutator/ast.js +75 -0
  6. package/stryker-zod-mutator/ast.js.map +1 -0
  7. package/stryker-zod-mutator/behavior-mutations.js +64 -0
  8. package/stryker-zod-mutator/behavior-mutations.js.map +1 -0
  9. package/stryker-zod-mutator/check-mutations.js +159 -0
  10. package/stryker-zod-mutator/check-mutations.js.map +1 -0
  11. package/stryker-zod-mutator/collection-mutations.js +153 -0
  12. package/stryker-zod-mutator/collection-mutations.js.map +1 -0
  13. package/stryker-zod-mutator/entry-point.d.ts +11 -0
  14. package/stryker-zod-mutator/entry-point.d.ts.map +1 -0
  15. package/stryker-zod-mutator/entry-point.js +19 -0
  16. package/stryker-zod-mutator/entry-point.js.map +1 -0
  17. package/stryker-zod-mutator/mutation-definition.js +17 -0
  18. package/stryker-zod-mutator/mutation-definition.js.map +1 -0
  19. package/stryker-zod-mutator/mutations.js +24 -0
  20. package/stryker-zod-mutator/mutations.js.map +1 -0
  21. package/stryker-zod-mutator/object-mutations.js +96 -0
  22. package/stryker-zod-mutator/object-mutations.js.map +1 -0
  23. package/stryker-zod-mutator/operator.d.ts +6 -0
  24. package/stryker-zod-mutator/operator.d.ts.map +1 -0
  25. package/stryker-zod-mutator/operator.js +93 -0
  26. package/stryker-zod-mutator/operator.js.map +1 -0
  27. package/stryker-zod-mutator/presence-mutations.js +35 -0
  28. package/stryker-zod-mutator/presence-mutations.js.map +1 -0
  29. package/stryker-zod-mutator/primitive-mutations.js +27 -0
  30. package/stryker-zod-mutator/primitive-mutations.js.map +1 -0
  31. package/stryker-zod-mutator/registry.js +59 -0
  32. package/stryker-zod-mutator/registry.js.map +1 -0
  33. package/stryker-zod-mutator/schema-call-mutations.js +81 -0
  34. package/stryker-zod-mutator/schema-call-mutations.js.map +1 -0
  35. package/stryker-zod-mutator/zod-bindings.js +222 -0
  36. package/stryker-zod-mutator/zod-bindings.js.map +1 -0
@@ -0,0 +1,81 @@
1
+ import * as babel from '@babel/types';
2
+ import { cloneExpression, getCallName, getMemberName, isExpressionNode, memberCall } from "./ast.js";
3
+ import { callNode } from "./mutation-definition.js";
4
+ import { buildZodCall, expressionStyle, firstExpressionArgument, getZodCallName, isZodSchemaExpression } from "./zod-bindings.js";
5
+ export function removeMethod(call, bindings, methodNames) {
6
+ if (!babel.isMemberExpression(call.callee)) {
7
+ return [];
8
+ }
9
+ const methodName = getMemberName(call.callee);
10
+ const { object } = call.callee;
11
+ if (methodName === null || !methodNames.has(methodName) || !isExpressionNode(object)) {
12
+ return [];
13
+ }
14
+ return isZodSchemaExpression(bindings, object) ? [cloneExpression(object)] : [];
15
+ }
16
+ function removeWrapper(call, bindings, wrapperNames) {
17
+ const callName = getZodCallName(bindings, call);
18
+ const schema = firstExpressionArgument(call);
19
+ if (callName === null || schema === null || !wrapperNames.has(callName)) {
20
+ return [];
21
+ }
22
+ return isZodSchemaExpression(bindings, schema) ? [cloneExpression(schema)] : [];
23
+ }
24
+ export function removeMethodOrWrapper(path, bindings, names) {
25
+ const call = callNode(path);
26
+ if (call === null) {
27
+ return [];
28
+ }
29
+ return [...removeMethod(call, bindings, names), ...removeWrapper(call, bindings, names)];
30
+ }
31
+ function zodSchemaExpression(path, bindings) {
32
+ return isExpressionNode(path.node) && isZodSchemaExpression(bindings, path.node)
33
+ ? path.node
34
+ : null;
35
+ }
36
+ function buildWrapperMutation(bindings, expression, style, name) {
37
+ if (style === 'classic') {
38
+ return [memberCall(cloneExpression(expression), name, [])];
39
+ }
40
+ const wrapped = buildZodCall(bindings, style, name, [cloneExpression(expression)]);
41
+ return wrapped === null ? [] : [wrapped];
42
+ }
43
+ export function addWrapperOrMethod(path, bindings, name) {
44
+ const expression = zodSchemaExpression(path, bindings);
45
+ const style = expression === null ? null : expressionStyle(bindings, expression);
46
+ if (expression === null ||
47
+ style === null ||
48
+ babel.isCallExpression(expression) && getCallName(expression.callee) === name) {
49
+ return [];
50
+ }
51
+ return buildWrapperMutation(bindings, expression, style, name);
52
+ }
53
+ function replaceNullishMethod(call, bindings, replacementName) {
54
+ if (!babel.isMemberExpression(call.callee) || getMemberName(call.callee) !== 'nullish') {
55
+ return [];
56
+ }
57
+ const { object } = call.callee;
58
+ return isExpressionNode(object) && isZodSchemaExpression(bindings, object)
59
+ ? [memberCall(cloneExpression(object), replacementName, [])]
60
+ : [];
61
+ }
62
+ function replaceNullishWrapper(call, bindings, replacementName) {
63
+ const schema = firstExpressionArgument(call);
64
+ const style = expressionStyle(bindings, call);
65
+ if (getZodCallName(bindings, call) !== 'nullish' || schema === null || style === null) {
66
+ return [];
67
+ }
68
+ const replacement = buildZodCall(bindings, style, replacementName, [cloneExpression(schema)]);
69
+ return replacement === null ? [] : [replacement];
70
+ }
71
+ export function replaceNullish(path, bindings, replacementName) {
72
+ const call = callNode(path);
73
+ if (call === null) {
74
+ return [];
75
+ }
76
+ const methodMutations = replaceNullishMethod(call, bindings, replacementName);
77
+ return methodMutations.length > 0
78
+ ? methodMutations
79
+ : replaceNullishWrapper(call, bindings, replacementName);
80
+ }
81
+ //# sourceMappingURL=schema-call-mutations.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema-call-mutations.js","sourceRoot":"","sources":["../../../../source/stryker-zod-mutator/schema-call-mutations.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,222 @@
1
+ import * as babel from '@babel/types';
2
+ import { findProgram, getMemberName, isExpressionNode } from "./ast.js";
3
+ const zodSourceStyles = new Map([
4
+ ['zod', 'classic'],
5
+ ['zod/v4', 'classic'],
6
+ ['zod/mini', 'mini'],
7
+ ['zod/v4-mini', 'mini'],
8
+ ['zod/v4/mini', 'mini']
9
+ ]);
10
+ export const primitiveFactoryNames = [
11
+ 'string',
12
+ 'number',
13
+ 'bigint',
14
+ 'boolean',
15
+ 'date',
16
+ 'symbol',
17
+ 'null',
18
+ 'undefined',
19
+ 'void',
20
+ 'never',
21
+ 'any',
22
+ 'unknown'
23
+ ];
24
+ const schemaFactoryNames = new Set([
25
+ ...primitiveFactoryNames,
26
+ 'object',
27
+ 'strictObject',
28
+ 'looseObject',
29
+ 'array',
30
+ 'tuple',
31
+ 'record',
32
+ 'partialRecord',
33
+ 'looseRecord',
34
+ 'union',
35
+ 'discriminatedUnion',
36
+ 'enum',
37
+ 'literal',
38
+ 'optional',
39
+ 'nullable',
40
+ 'nullish',
41
+ 'nonoptional',
42
+ 'readonly',
43
+ '_default',
44
+ 'prefault',
45
+ 'catch',
46
+ 'email',
47
+ 'url',
48
+ 'uuid',
49
+ 'ulid',
50
+ 'cuid',
51
+ 'cuid2',
52
+ 'nanoid',
53
+ 'emoji',
54
+ 'ipv4',
55
+ 'ipv6',
56
+ 'iso'
57
+ ]);
58
+ function getImportedName(specifier) {
59
+ return babel.isIdentifier(specifier.imported)
60
+ ? specifier.imported.name
61
+ : specifier.imported.value;
62
+ }
63
+ function readZodImportSpecifier(style, specifier) {
64
+ if (specifier.type === 'ImportNamespaceSpecifier' || specifier.type === 'ImportDefaultSpecifier') {
65
+ return { namespaces: [{ name: specifier.local.name, style }], directBindings: [] };
66
+ }
67
+ const importedName = getImportedName(specifier);
68
+ return importedName === 'z'
69
+ ? { namespaces: [{ name: specifier.local.name, style }], directBindings: [] }
70
+ : {
71
+ namespaces: [],
72
+ directBindings: [{ localName: specifier.local.name, importedName, style }]
73
+ };
74
+ }
75
+ function readZodImport(statement) {
76
+ const style = babel.isImportDeclaration(statement)
77
+ ? zodSourceStyles.get(statement.source.value)
78
+ : undefined;
79
+ if (!babel.isImportDeclaration(statement) || style === undefined) {
80
+ return { namespaces: [], directBindings: [] };
81
+ }
82
+ const bindings = statement.specifiers.map(function (specifier) {
83
+ return readZodImportSpecifier(style, specifier);
84
+ });
85
+ return {
86
+ namespaces: bindings.flatMap(function (binding) {
87
+ return binding.namespaces;
88
+ }),
89
+ directBindings: bindings.flatMap(function (binding) {
90
+ return binding.directBindings;
91
+ })
92
+ };
93
+ }
94
+ export function readZodBindings(path) {
95
+ const program = findProgram(path);
96
+ const imports = program?.body.map(readZodImport) ?? [];
97
+ return {
98
+ namespaces: imports.flatMap(function (binding) {
99
+ return binding.namespaces;
100
+ }),
101
+ directBindings: imports.flatMap(function (binding) {
102
+ return binding.directBindings;
103
+ })
104
+ };
105
+ }
106
+ export function getDirectBinding(bindings, localName) {
107
+ return bindings.directBindings.find(function (binding) {
108
+ return binding.localName === localName;
109
+ }) ?? null;
110
+ }
111
+ export function getNamespaceStyle(bindings, localName) {
112
+ return bindings
113
+ .namespaces
114
+ .find(function (binding) {
115
+ return binding.name === localName;
116
+ })
117
+ ?.style ?? null;
118
+ }
119
+ export function isZodNamespaceMember(bindings, expression) {
120
+ if (!babel.isMemberExpression(expression) || !babel.isIdentifier(expression.object)) {
121
+ return false;
122
+ }
123
+ return getNamespaceStyle(bindings, expression.object.name) !== null;
124
+ }
125
+ function getCoerceNamespaceName(call) {
126
+ if (!babel.isMemberExpression(call.callee) || !babel.isMemberExpression(call.callee.object)) {
127
+ return null;
128
+ }
129
+ const { object } = call.callee;
130
+ return getMemberName(object) === 'coerce' && babel.isIdentifier(object.object)
131
+ ? object.object.name
132
+ : null;
133
+ }
134
+ export function isCoerceCall(bindings, call) {
135
+ const namespaceName = getCoerceNamespaceName(call);
136
+ return namespaceName !== null && getNamespaceStyle(bindings, namespaceName) !== null;
137
+ }
138
+ export function getZodCallName(bindings, call) {
139
+ if (babel.isIdentifier(call.callee)) {
140
+ return getDirectBinding(bindings, call.callee.name)?.importedName ?? null;
141
+ }
142
+ if (isZodNamespaceMember(bindings, call.callee)) {
143
+ return getMemberName(call.callee);
144
+ }
145
+ if (isCoerceCall(bindings, call)) {
146
+ return getMemberName(call.callee);
147
+ }
148
+ return null;
149
+ }
150
+ function getCoerceCallStyle(bindings, call) {
151
+ const namespaceName = getCoerceNamespaceName(call);
152
+ return namespaceName === null ? null : getNamespaceStyle(bindings, namespaceName);
153
+ }
154
+ export function getZodCallStyle(bindings, call) {
155
+ if (babel.isIdentifier(call.callee)) {
156
+ return getDirectBinding(bindings, call.callee.name)?.style ?? null;
157
+ }
158
+ if (babel.isMemberExpression(call.callee) && babel.isIdentifier(call.callee.object)) {
159
+ return getNamespaceStyle(bindings, call.callee.object.name);
160
+ }
161
+ return getCoerceCallStyle(bindings, call);
162
+ }
163
+ export function isZodSchemaExpression(bindings, expression) {
164
+ if (!babel.isCallExpression(expression)) {
165
+ return false;
166
+ }
167
+ const callName = getZodCallName(bindings, expression);
168
+ if (callName !== null) {
169
+ return schemaFactoryNames.has(callName);
170
+ }
171
+ if (!babel.isMemberExpression(expression.callee)) {
172
+ return false;
173
+ }
174
+ const { object } = expression.callee;
175
+ return isExpressionNode(object) && isZodSchemaExpression(bindings, object);
176
+ }
177
+ export function expressionStyle(bindings, expression) {
178
+ let currentExpression = expression;
179
+ for (;;) {
180
+ if (!babel.isCallExpression(currentExpression)) {
181
+ return null;
182
+ }
183
+ const directStyle = getZodCallStyle(bindings, currentExpression);
184
+ if (directStyle !== null) {
185
+ return directStyle;
186
+ }
187
+ if (!babel.isMemberExpression(currentExpression.callee) || !isExpressionNode(currentExpression.callee.object)) {
188
+ return null;
189
+ }
190
+ currentExpression = currentExpression.callee.object;
191
+ }
192
+ }
193
+ export function buildZodCall(bindings, style, name, args) {
194
+ const namespace = bindings.namespaces.find(function (binding) {
195
+ return binding.style === style;
196
+ });
197
+ if (namespace !== undefined) {
198
+ return babel.callExpression(babel.memberExpression(babel.identifier(namespace.name), babel.identifier(name)), Array.from(args));
199
+ }
200
+ const direct = bindings.directBindings.find(function (binding) {
201
+ return binding.style === style && binding.importedName === name;
202
+ });
203
+ if (direct !== undefined) {
204
+ return babel.callExpression(babel.identifier(direct.localName), Array.from(args));
205
+ }
206
+ return null;
207
+ }
208
+ export function replaceZodCallee(bindings, call, replacementName) {
209
+ const style = getZodCallStyle(bindings, call);
210
+ if (style === null) {
211
+ return null;
212
+ }
213
+ return buildZodCall(bindings, style, replacementName, call.arguments.filter(isExpressionNode));
214
+ }
215
+ export function firstExpressionArgument(call) {
216
+ const argument = call.arguments[0];
217
+ return argument !== undefined && isExpressionNode(argument) ? argument : null;
218
+ }
219
+ export function isObjectLikeFactory(name) {
220
+ return ['object', 'strictObject', 'looseObject'].includes(name);
221
+ }
222
+ //# sourceMappingURL=zod-bindings.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"zod-bindings.js","sourceRoot":"","sources":["../../../../source/stryker-zod-mutator/zod-bindings.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AAEtC,OAAO,EACH,WAAW,EACX,aAAa,EACb,gBAAgB,EAInB,MAAM,UAAU,CAAC;AA8BlB,MAAM,eAAe,GAAG,IAAI,GAAG,CAAsB;IACjD,CAAE,KAAK,EAAE,SAAS,CAAE;IACpB,CAAE,QAAQ,EAAE,SAAS,CAAE;IACvB,CAAE,UAAU,EAAE,MAAM,CAAE;IACtB,CAAE,aAAa,EAAE,MAAM,CAAE;IACzB,CAAE,aAAa,EAAE,MAAM,CAAE;CAC5B,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,qBAAqB,GAAG;IACjC,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,SAAS;IACT,MAAM;IACN,QAAQ;IACR,MAAM;IACN,WAAW;IACX,MAAM;IACN,OAAO;IACP,KAAK;IACL,SAAS;CACH,CAAC;AAEX,MAAM,kBAAkB,GAAG,IAAI,GAAG,CAAC;IAC/B,GAAG,qBAAqB;IACxB,QAAQ;IACR,cAAc;IACd,aAAa;IACb,OAAO;IACP,OAAO;IACP,QAAQ;IACR,eAAe;IACf,aAAa;IACb,OAAO;IACP,oBAAoB;IACpB,MAAM;IACN,SAAS;IACT,UAAU;IACV,UAAU;IACV,SAAS;IACT,aAAa;IACb,UAAU;IACV,UAAU;IACV,UAAU;IACV,OAAO;IACP,OAAO;IACP,KAAK;IACL,MAAM;IACN,MAAM;IACN,MAAM;IACN,OAAO;IACP,QAAQ;IACR,OAAO;IACP,MAAM;IACN,MAAM;IACN,KAAK;CACR,CAAC,CAAC;AAEH,SAAS,eAAe,CAAC,SAA0C;IAC/D,OAAO,KAAK,CAAC,YAAY,CAAC,SAAS,CAAC,QAAQ,CAAC;QACzC,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI;QACzB,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC;AACnC,CAAC;AAED,SAAS,sBAAsB,CAC3B,KAAkB,EAClB,SAA0B;IAE1B,IAAI,SAAS,CAAC,IAAI,KAAK,0BAA0B,IAAI,SAAS,CAAC,IAAI,KAAK,wBAAwB,EAAE,CAAC;QAC/F,OAAO,EAAE,UAAU,EAAE,CAAE,EAAE,IAAI,EAAE,SAAS,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,CAAE,EAAE,cAAc,EAAE,EAAE,EAAE,CAAC;IACzF,CAAC;IAED,MAAM,YAAY,GAAG,eAAe,CAAC,SAAS,CAAC,CAAC;IAEhD,OAAO,YAAY,KAAK,GAAG;QACvB,CAAC,CAAC,EAAE,UAAU,EAAE,CAAE,EAAE,IAAI,EAAE,SAAS,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,CAAE,EAAE,cAAc,EAAE,EAAE,EAAE;QAC/E,CAAC,CAAC;YACE,UAAU,EAAE,EAAE;YACd,cAAc,EAAE,CAAE,EAAE,SAAS,EAAE,SAAS,CAAC,KAAK,CAAC,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE,CAAE;SAC/E,CAAC;AACV,CAAC;AAED,SAAS,aAAa,CAAC,SAA0B;IAC7C,MAAM,KAAK,GAAG,KAAK,CAAC,mBAAmB,CAAC,SAAS,CAAC;QAC9C,CAAC,CAAC,eAAe,CAAC,GAAG,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC;QAC7C,CAAC,CAAC,SAAS,CAAC;IAEhB,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,SAAS,CAAC,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QAC/D,OAAO,EAAE,UAAU,EAAE,EAAE,EAAE,cAAc,EAAE,EAAE,EAAE,CAAC;IAClD,CAAC;IAED,MAAM,QAAQ,GAAG,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC,UAAU,SAAS;QACzD,OAAO,sBAAsB,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;IACpD,CAAC,CAAC,CAAC;IAEH,OAAO;QACH,UAAU,EAAE,QAAQ,CAAC,OAAO,CAAC,UAAU,OAAO;YAC1C,OAAO,OAAO,CAAC,UAAU,CAAC;QAC9B,CAAC,CAAC;QACF,cAAc,EAAE,QAAQ,CAAC,OAAO,CAAC,UAAU,OAAO;YAC9C,OAAO,OAAO,CAAC,cAAc,CAAC;QAClC,CAAC,CAAC;KACL,CAAC;AACN,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,IAAkB;IAC9C,MAAM,OAAO,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC;IAClC,MAAM,OAAO,GAAG,OAAO,EAAE,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC;IAEvD,OAAO;QACH,UAAU,EAAE,OAAO,CAAC,OAAO,CAAC,UAAU,OAAO;YACzC,OAAO,OAAO,CAAC,UAAU,CAAC;QAC9B,CAAC,CAAC;QACF,cAAc,EAAE,OAAO,CAAC,OAAO,CAAC,UAAU,OAAO;YAC7C,OAAO,OAAO,CAAC,cAAc,CAAC;QAClC,CAAC,CAAC;KACL,CAAC;AACN,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,QAAqB,EAAE,SAAiB;IACrE,OAAO,QAAQ,CAAC,cAAc,CAAC,IAAI,CAAC,UAAU,OAAO;QACjD,OAAO,OAAO,CAAC,SAAS,KAAK,SAAS,CAAC;IAC3C,CAAC,CAAC,IAAI,IAAI,CAAC;AACf,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,QAAqB,EAAE,SAAiB;IACtE,OAAO,QAAQ;SACV,UAAU;SACV,IAAI,CAAC,UAAU,OAAO;QACnB,OAAO,OAAO,CAAC,IAAI,KAAK,SAAS,CAAC;IACtC,CAAC,CAAC;QACF,EAAE,KAAK,IAAI,IAAI,CAAC;AACxB,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,QAAqB,EAAE,UAAqB;IAC7E,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;QAClF,OAAO,KAAK,CAAC;IACjB,CAAC;IAED,OAAO,iBAAiB,CAAC,QAAQ,EAAE,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC;AACxE,CAAC;AAED,SAAS,sBAAsB,CAAC,IAAoB;IAChD,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;QAC1F,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC;IAE/B,OAAO,aAAa,CAAC,MAAM,CAAC,KAAK,QAAQ,IAAI,KAAK,CAAC,YAAY,CAAC,MAAM,CAAC,MAAM,CAAC;QAC1E,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI;QACpB,CAAC,CAAC,IAAI,CAAC;AACf,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,QAAqB,EAAE,IAAoB;IACpE,MAAM,aAAa,GAAG,sBAAsB,CAAC,IAAI,CAAC,CAAC;IAEnD,OAAO,aAAa,KAAK,IAAI,IAAI,iBAAiB,CAAC,QAAQ,EAAE,aAAa,CAAC,KAAK,IAAI,CAAC;AACzF,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,QAAqB,EAAE,IAAoB;IACtE,IAAI,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;QAClC,OAAO,gBAAgB,CAAC,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,YAAY,IAAI,IAAI,CAAC;IAC9E,CAAC;IAED,IAAI,oBAAoB,CAAC,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;QAC9C,OAAO,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACtC,CAAC;IAED,IAAI,YAAY,CAAC,QAAQ,EAAE,IAAI,CAAC,EAAE,CAAC;QAC/B,OAAO,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACtC,CAAC;IAED,OAAO,IAAI,CAAC;AAChB,CAAC;AAED,SAAS,kBAAkB,CAAC,QAAqB,EAAE,IAAoB;IACnE,MAAM,aAAa,GAAG,sBAAsB,CAAC,IAAI,CAAC,CAAC;IAEnD,OAAO,aAAa,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,iBAAiB,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC;AACtF,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,QAAqB,EAAE,IAAoB;IACvE,IAAI,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;QAClC,OAAO,gBAAgB,CAAC,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,KAAK,IAAI,IAAI,CAAC;IACvE,CAAC;IAED,IAAI,KAAK,CAAC,kBAAkB,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;QAClF,OAAO,iBAAiB,CAAC,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAChE,CAAC;IAED,OAAO,kBAAkB,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;AAC9C,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,QAAqB,EAAE,UAA4B;IACrF,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,UAAU,CAAC,EAAE,CAAC;QACtC,OAAO,KAAK,CAAC;IACjB,CAAC;IAED,MAAM,QAAQ,GAAG,cAAc,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;IAEtD,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;QACpB,OAAO,kBAAkB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAC5C,CAAC;IAED,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;QAC/C,OAAO,KAAK,CAAC;IACjB,CAAC;IAED,MAAM,EAAE,MAAM,EAAE,GAAG,UAAU,CAAC,MAAM,CAAC;IAErC,OAAO,gBAAgB,CAAC,MAAM,CAAC,IAAI,qBAAqB,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;AAC/E,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,QAAqB,EAAE,UAA4B;IAC/E,IAAI,iBAAiB,GAA4B,UAAU,CAAC;IAE5D,SAAS,CAAC;QACN,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,iBAAiB,CAAC,EAAE,CAAC;YAC7C,OAAO,IAAI,CAAC;QAChB,CAAC;QAED,MAAM,WAAW,GAAG,eAAe,CAAC,QAAQ,EAAE,iBAAiB,CAAC,CAAC;QAEjE,IAAI,WAAW,KAAK,IAAI,EAAE,CAAC;YACvB,OAAO,WAAW,CAAC;QACvB,CAAC;QAED,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC,iBAAiB,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,iBAAiB,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;YAC5G,OAAO,IAAI,CAAC;QAChB,CAAC;QAED,iBAAiB,GAAG,iBAAiB,CAAC,MAAM,CAAC,MAAM,CAAC;IACxD,CAAC;AACL,CAAC;AAED,MAAM,UAAU,YAAY,CACxB,QAAqB,EACrB,KAAkB,EAClB,IAAY,EACZ,IAAiC;IAEjC,MAAM,SAAS,GAAG,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,UAAU,OAAO;QACxD,OAAO,OAAO,CAAC,KAAK,KAAK,KAAK,CAAC;IACnC,CAAC,CAAC,CAAC;IAEH,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;QAC1B,OAAO,KAAK,CAAC,cAAc,CACvB,KAAK,CAAC,gBAAgB,CAAC,KAAK,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,EAChF,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CACnB,CAAC;IACN,CAAC;IAED,MAAM,MAAM,GAAG,QAAQ,CAAC,cAAc,CAAC,IAAI,CAAC,UAAU,OAAO;QACzD,OAAO,OAAO,CAAC,KAAK,KAAK,KAAK,IAAI,OAAO,CAAC,YAAY,KAAK,IAAI,CAAC;IACpE,CAAC,CAAC,CAAC;IAEH,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QACvB,OAAO,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IACtF,CAAC;IAED,OAAO,IAAI,CAAC;AAChB,CAAC;AAED,MAAM,UAAU,gBAAgB,CAC5B,QAAqB,EACrB,IAAoB,EACpB,eAAuB;IAEvB,MAAM,KAAK,GAAG,eAAe,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IAE9C,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;QACjB,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,OAAO,YAAY,CAAC,QAAQ,EAAE,KAAK,EAAE,eAAe,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC,CAAC;AACnG,CAAC;AAED,MAAM,UAAU,uBAAuB,CAAC,IAAoB;IACxD,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;IAEnC,OAAO,QAAQ,KAAK,SAAS,IAAI,gBAAgB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC;AAClF,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,IAAY;IAC5C,OAAO,CAAE,QAAQ,EAAE,cAAc,EAAE,aAAa,CAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;AACtE,CAAC"}