@analogjs/angular-compiler 2.5.0-beta.1

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 (54) hide show
  1. package/COMPILER.md +474 -0
  2. package/README.md +5 -0
  3. package/package.json +51 -0
  4. package/src/index.d.ts +5 -0
  5. package/src/index.js +6 -0
  6. package/src/index.js.map +1 -0
  7. package/src/lib/ast-translator.d.ts +40 -0
  8. package/src/lib/ast-translator.js +243 -0
  9. package/src/lib/ast-translator.js.map +1 -0
  10. package/src/lib/compile.d.ts +24 -0
  11. package/src/lib/compile.js +630 -0
  12. package/src/lib/compile.js.map +1 -0
  13. package/src/lib/defer.d.ts +23 -0
  14. package/src/lib/defer.js +158 -0
  15. package/src/lib/defer.js.map +1 -0
  16. package/src/lib/dts-reader.d.ts +25 -0
  17. package/src/lib/dts-reader.js +326 -0
  18. package/src/lib/dts-reader.js.map +1 -0
  19. package/src/lib/hmr.d.ts +12 -0
  20. package/src/lib/hmr.js +49 -0
  21. package/src/lib/hmr.js.map +1 -0
  22. package/src/lib/index.d.ts +5 -0
  23. package/src/lib/index.js +6 -0
  24. package/src/lib/index.js.map +1 -0
  25. package/src/lib/jit-metadata.d.ts +11 -0
  26. package/src/lib/jit-metadata.js +201 -0
  27. package/src/lib/jit-metadata.js.map +1 -0
  28. package/src/lib/jit-transform.d.ts +21 -0
  29. package/src/lib/jit-transform.js +207 -0
  30. package/src/lib/jit-transform.js.map +1 -0
  31. package/src/lib/js-emitter.d.ts +8 -0
  32. package/src/lib/js-emitter.js +317 -0
  33. package/src/lib/js-emitter.js.map +1 -0
  34. package/src/lib/metadata.d.ts +36 -0
  35. package/src/lib/metadata.js +465 -0
  36. package/src/lib/metadata.js.map +1 -0
  37. package/src/lib/registry.d.ts +32 -0
  38. package/src/lib/registry.js +177 -0
  39. package/src/lib/registry.js.map +1 -0
  40. package/src/lib/resource-inliner.d.ts +17 -0
  41. package/src/lib/resource-inliner.js +109 -0
  42. package/src/lib/resource-inliner.js.map +1 -0
  43. package/src/lib/style-ast.d.ts +8 -0
  44. package/src/lib/style-ast.js +110 -0
  45. package/src/lib/style-ast.js.map +1 -0
  46. package/src/lib/styles.d.ts +13 -0
  47. package/src/lib/styles.js +60 -0
  48. package/src/lib/styles.js.map +1 -0
  49. package/src/lib/utils.d.ts +8 -0
  50. package/src/lib/utils.js +71 -0
  51. package/src/lib/utils.js.map +1 -0
  52. package/vite.config.d.ts +2 -0
  53. package/vite.config.js +19 -0
  54. package/vite.config.js.map +1 -0
@@ -0,0 +1,243 @@
1
+ import * as o from '@angular/compiler';
2
+ import * as ts from 'typescript';
3
+ const BINARY_OP_MAP = {
4
+ [o.BinaryOperator.Equals]: ts.SyntaxKind.EqualsEqualsToken,
5
+ [o.BinaryOperator.NotEquals]: ts.SyntaxKind.ExclamationEqualsToken,
6
+ [o.BinaryOperator.Assign]: ts.SyntaxKind.EqualsToken,
7
+ [o.BinaryOperator.Identical]: ts.SyntaxKind.EqualsEqualsEqualsToken,
8
+ [o.BinaryOperator.NotIdentical]: ts.SyntaxKind.ExclamationEqualsEqualsToken,
9
+ [o.BinaryOperator.Minus]: ts.SyntaxKind.MinusToken,
10
+ [o.BinaryOperator.Plus]: ts.SyntaxKind.PlusToken,
11
+ [o.BinaryOperator.Divide]: ts.SyntaxKind.SlashToken,
12
+ [o.BinaryOperator.Multiply]: ts.SyntaxKind.AsteriskToken,
13
+ [o.BinaryOperator.Modulo]: ts.SyntaxKind.PercentToken,
14
+ [o.BinaryOperator.And]: ts.SyntaxKind.AmpersandAmpersandToken,
15
+ [o.BinaryOperator.Or]: ts.SyntaxKind.BarBarToken,
16
+ [o.BinaryOperator.BitwiseOr]: ts.SyntaxKind.BarToken,
17
+ [o.BinaryOperator.BitwiseAnd]: ts.SyntaxKind.AmpersandToken,
18
+ [o.BinaryOperator.Lower]: ts.SyntaxKind.LessThanToken,
19
+ [o.BinaryOperator.LowerEquals]: ts.SyntaxKind.LessThanEqualsToken,
20
+ [o.BinaryOperator.Bigger]: ts.SyntaxKind.GreaterThanToken,
21
+ [o.BinaryOperator.BiggerEquals]: ts.SyntaxKind.GreaterThanEqualsToken,
22
+ [o.BinaryOperator.NullishCoalesce]: ts.SyntaxKind.QuestionQuestionToken,
23
+ [o.BinaryOperator.Exponentiation]: ts.SyntaxKind.AsteriskAsteriskToken,
24
+ [o.BinaryOperator.In]: ts.SyntaxKind.InKeyword,
25
+ [o.BinaryOperator.InstanceOf]: ts.SyntaxKind.InstanceOfKeyword,
26
+ [o.BinaryOperator.AdditionAssignment]: ts.SyntaxKind.PlusEqualsToken,
27
+ [o.BinaryOperator.SubtractionAssignment]: ts.SyntaxKind.MinusEqualsToken,
28
+ [o.BinaryOperator.MultiplicationAssignment]: ts.SyntaxKind.AsteriskEqualsToken,
29
+ [o.BinaryOperator.DivisionAssignment]: ts.SyntaxKind.SlashEqualsToken,
30
+ [o.BinaryOperator.RemainderAssignment]: ts.SyntaxKind.PercentEqualsToken,
31
+ [o.BinaryOperator.ExponentiationAssignment]: ts.SyntaxKind.AsteriskAsteriskEqualsToken,
32
+ [o.BinaryOperator.AndAssignment]: ts.SyntaxKind.AmpersandAmpersandEqualsToken,
33
+ [o.BinaryOperator.OrAssignment]: ts.SyntaxKind.BarBarEqualsToken,
34
+ [o.BinaryOperator.NullishCoalesceAssignment]: ts.SyntaxKind.QuestionQuestionEqualsToken,
35
+ };
36
+ const UNARY_OP_MAP = {
37
+ [o.UnaryOperator.Minus]: ts.SyntaxKind.MinusToken,
38
+ [o.UnaryOperator.Plus]: ts.SyntaxKind.PlusToken,
39
+ };
40
+ export class AstTranslator {
41
+ // --- Non-exported or Version-Specific Expression Methods ---
42
+ visitWritePropExpr(ast, context) {
43
+ return ts.factory.createBinaryExpression(ast.receiver.visitExpression(this, context), ts.SyntaxKind.EqualsToken, ast.value.visitExpression(this, context));
44
+ }
45
+ visitInvokeMethodExpr(ast, context) {
46
+ return ts.factory.createCallExpression(ts.factory.createPropertyAccessExpression(ast.receiver.visitExpression(this, context), ast.name), undefined, ast.args.map((a) => a.visitExpression(this, context)));
47
+ }
48
+ visitWriteVarExpr(ast, context) {
49
+ return ts.factory.createBinaryExpression(ts.factory.createIdentifier(ast.name), ts.SyntaxKind.EqualsToken, ast.value.visitExpression(this, context));
50
+ }
51
+ visitWriteKeyExpr(ast, context) {
52
+ return ts.factory.createBinaryExpression(ts.factory.createElementAccessExpression(ast.receiver.visitExpression(this, context), ast.index.visitExpression(this, context)), ts.SyntaxKind.EqualsToken, ast.value.visitExpression(this, context));
53
+ }
54
+ visitTaggedTemplateLiteralExpr(ast, context) {
55
+ const elements = ast.template.elements;
56
+ const expressions = ast.template.expressions;
57
+ const head = ts.factory.createTemplateHead(elements[0].text, elements[0].text);
58
+ const spans = expressions.map((expr, i) => {
59
+ const element = elements[i + 1];
60
+ const literal = i === expressions.length - 1
61
+ ? ts.factory.createTemplateTail(element.text, element.text)
62
+ : ts.factory.createTemplateMiddle(element.text, element.text);
63
+ return ts.factory.createTemplateSpan(expr.visitExpression(this, context), literal);
64
+ });
65
+ return ts.factory.createTaggedTemplateExpression(ast.tag.visitExpression(this, context), undefined, ts.factory.createTemplateExpression(head, spans));
66
+ }
67
+ // --- Standard Expression Visitor Methods ---
68
+ // Support Defer dependency tracking variables
69
+ visitReadVarExpr(ast, context) {
70
+ if (ast.name === 'this')
71
+ return ts.factory.createThis();
72
+ if (ast.name === 'super')
73
+ return ts.factory.createSuper();
74
+ return ts.factory.createIdentifier(ast.name);
75
+ }
76
+ visitReadPropExpr(ast, context) {
77
+ return ts.factory.createPropertyAccessExpression(ast.receiver.visitExpression(this, context), ast.name);
78
+ }
79
+ visitReadKeyExpr(ast, context) {
80
+ return ts.factory.createElementAccessExpression(ast.receiver.visitExpression(this, context), ast.index.visitExpression(this, context));
81
+ }
82
+ visitLiteralExpr(ast, context) {
83
+ if (typeof ast.value === 'string') {
84
+ return ts.factory.createStringLiteral(ast.value);
85
+ }
86
+ if (typeof ast.value === 'number') {
87
+ if (ast.value < 0) {
88
+ return ts.factory.createPrefixUnaryExpression(ts.SyntaxKind.MinusToken, ts.factory.createNumericLiteral(Math.abs(ast.value).toString()));
89
+ }
90
+ return ts.factory.createNumericLiteral(ast.value.toString());
91
+ }
92
+ if (typeof ast.value === 'boolean')
93
+ return ast.value ? ts.factory.createTrue() : ts.factory.createFalse();
94
+ if (typeof ast.value === 'undefined')
95
+ return ts.factory.createVoidExpression(ts.factory.createNumericLiteral('0'));
96
+ return ts.factory.createNull();
97
+ }
98
+ visitLiteralArrayExpr(ast, context) {
99
+ return ts.factory.createArrayLiteralExpression(ast.entries.map((e) => {
100
+ // Safety check: sometimes the compiler emits null entries for empty slots
101
+ if (!e)
102
+ return ts.factory.createNull();
103
+ return e.visitExpression(this, context);
104
+ }), true);
105
+ }
106
+ visitSpreadElementExpr(ast, context) {
107
+ return ts.factory.createSpreadElement(ast.expression.visitExpression(this, context));
108
+ }
109
+ visitLiteralMapExpr(ast, context) {
110
+ return ts.factory.createObjectLiteralExpression(ast.entries.map((e) => {
111
+ if (e instanceof o.LiteralMapSpreadAssignment) {
112
+ return ts.factory.createSpreadAssignment(e.expression.visitExpression(this, context));
113
+ }
114
+ const prop = e;
115
+ return ts.factory.createPropertyAssignment(prop.quoted
116
+ ? ts.factory.createStringLiteral(prop.key)
117
+ : ts.factory.createIdentifier(prop.key), prop.value
118
+ ? prop.value.visitExpression(this, context)
119
+ : ts.factory.createNull());
120
+ }), true);
121
+ }
122
+ // Ensure visitInvokeFunctionExpr is fully mapping all arguments for v21
123
+ visitInvokeFunctionExpr(ast, context) {
124
+ return ts.factory.createCallExpression(ast.fn.visitExpression(this, context), undefined, ast.args.map((a) => a.visitExpression(this, context)));
125
+ }
126
+ visitInstantiateExpr(ast, context) {
127
+ return ts.factory.createNewExpression(ast.classExpr.visitExpression(this, context), undefined, ast.args.map((a) => a.visitExpression(this, context)));
128
+ }
129
+ visitTemplateLiteralExpr(ast, context) {
130
+ const headText = ast.elements[0].text;
131
+ const head = ts.factory.createTemplateHead(headText, headText);
132
+ const spans = ast.expressions.map((expr, i) => {
133
+ const isLast = i === ast.expressions.length - 1;
134
+ const content = ast.elements[i + 1].text;
135
+ const literal = isLast
136
+ ? ts.factory.createTemplateTail(content, content)
137
+ : ts.factory.createTemplateMiddle(content, content);
138
+ return ts.factory.createTemplateSpan(expr.visitExpression(this, context), literal);
139
+ });
140
+ return ts.factory.createTemplateExpression(head, spans);
141
+ }
142
+ visitBinaryOperatorExpr(ast, context) {
143
+ const op = BINARY_OP_MAP[ast.operator];
144
+ if (op === undefined) {
145
+ throw new Error(`Unsupported binary operator: ${ast.operator}`);
146
+ }
147
+ return ts.factory.createBinaryExpression(ast.lhs.visitExpression(this, context), op, ast.rhs.visitExpression(this, context));
148
+ }
149
+ visitConditionalExpr(ast, context) {
150
+ return ts.factory.createConditionalExpression(ast.condition.visitExpression(this, context), ts.factory.createToken(ts.SyntaxKind.QuestionToken), ast.trueCase.visitExpression(this, context), ts.factory.createToken(ts.SyntaxKind.ColonToken), ast.falseCase.visitExpression(this, context));
151
+ }
152
+ visitNotExpr(ast, context) {
153
+ return ts.factory.createPrefixUnaryExpression(ts.SyntaxKind.ExclamationToken, ast.condition.visitExpression(this, context));
154
+ }
155
+ visitTypeofExpr(ast, context) {
156
+ return ts.factory.createTypeOfExpression(ast.expr.visitExpression(this, context));
157
+ }
158
+ visitUnaryOperatorExpr(ast, context) {
159
+ const op = UNARY_OP_MAP[ast.operator];
160
+ if (op === undefined) {
161
+ throw new Error(`Unsupported unary operator: ${ast.operator}`);
162
+ }
163
+ return ts.factory.createPrefixUnaryExpression(op, ast.expr.visitExpression(this, context));
164
+ }
165
+ visitFunctionExpr(ast, context) {
166
+ return ts.factory.createArrowFunction(undefined, undefined, ast.params.map((p) => ts.factory.createParameterDeclaration(undefined, undefined, p.name)), undefined, ts.factory.createToken(ts.SyntaxKind.EqualsGreaterThanToken), ts.factory.createBlock(ast.statements.map((s) => s.visitStatement(this, context)), true));
167
+ }
168
+ visitArrowFunctionExpr(ast, context) {
169
+ const params = ast.params.map((p) => ts.factory.createParameterDeclaration(undefined, undefined, p.name));
170
+ const arrow = ts.factory.createToken(ts.SyntaxKind.EqualsGreaterThanToken);
171
+ // ArrowFunctionExpr body can be a single Expression or an array of Statements
172
+ const body = Array.isArray(ast.body)
173
+ ? ts.factory.createBlock(ast.body.map((s) => s.visitStatement(this, context)), true)
174
+ : ast.body.visitExpression(this, context);
175
+ return ts.factory.createArrowFunction(undefined, undefined, params, undefined, arrow, body);
176
+ }
177
+ visitDynamicImportExpr(ast, context) {
178
+ const urlArg = typeof ast.url === 'string'
179
+ ? ts.factory.createStringLiteral(ast.url)
180
+ : ast.url.visitExpression(this, context);
181
+ return ts.factory.createCallExpression(ts.factory.createToken(ts.SyntaxKind.ImportKeyword), undefined, [urlArg]);
182
+ }
183
+ visitParenthesizedExpr(ast, context) {
184
+ return ts.factory.createParenthesizedExpression(ast.expr.visitExpression(this, context));
185
+ }
186
+ visitCommaExpr(ast, context) {
187
+ return ast.parts
188
+ .map((p) => p.visitExpression(this, context))
189
+ .reduce((p, c) => ts.factory.createBinaryExpression(p, ts.SyntaxKind.CommaToken, c));
190
+ }
191
+ visitVoidExpr(ast, context) {
192
+ return ts.factory.createVoidExpression(ast.expr.visitExpression(this, context));
193
+ }
194
+ visitLocalizedString(ast, context) {
195
+ throw new Error('i18n is not supported');
196
+ }
197
+ visitRegularExpressionLiteral(ast, context) {
198
+ return ts.factory.createRegularExpressionLiteral(`/${ast.body ?? ast.pattern}/${ast.flags}`);
199
+ }
200
+ visitTemplateLiteralElementExpr(ast, context) {
201
+ return ts.factory.createStringLiteral(ast.text);
202
+ }
203
+ visitWrappedNodeExpr(ast, context) {
204
+ // This is how Angular passes back original TS nodes (like Signal calls)
205
+ // into the generated code.
206
+ return ast.node;
207
+ }
208
+ visitExternalExpr(ast, context) {
209
+ const moduleName = ast.value.moduleName;
210
+ const name = ast.value.name;
211
+ if (moduleName && moduleName !== '@angular/core') {
212
+ throw new Error(`Unsupported external module reference: ${moduleName}.${name}`);
213
+ }
214
+ // ngDevMode is a global variable, not an @angular/core export
215
+ if (name === 'ngDevMode') {
216
+ return ts.factory.createIdentifier(name);
217
+ }
218
+ return ts.factory.createPropertyAccessExpression(ts.factory.createIdentifier('i0'), ts.factory.createIdentifier(name));
219
+ }
220
+ // --- Statement Visitor Methods ---
221
+ visitDeclareVarStmt(stmt, context) {
222
+ return ts.factory.createVariableStatement(undefined, ts.factory.createVariableDeclarationList([
223
+ ts.factory.createVariableDeclaration(stmt.name, undefined, undefined, stmt.value ? stmt.value.visitExpression(this, context) : undefined),
224
+ ], stmt.hasModifier(o.StmtModifier.Final)
225
+ ? ts.NodeFlags.Const
226
+ : ts.NodeFlags.Let));
227
+ }
228
+ visitDeclareFunctionStmt(stmt, context) {
229
+ return ts.factory.createFunctionDeclaration(undefined, undefined, stmt.name, undefined, stmt.params.map((p) => ts.factory.createParameterDeclaration(undefined, undefined, p.name)), undefined, ts.factory.createBlock(stmt.statements.map((s) => s.visitStatement(this, context)), true));
230
+ }
231
+ visitExpressionStmt(stmt, context) {
232
+ return ts.factory.createExpressionStatement(stmt.expr.visitExpression(this, context));
233
+ }
234
+ visitReturnStmt(stmt, context) {
235
+ return ts.factory.createReturnStatement(stmt.value.visitExpression(this, context));
236
+ }
237
+ visitIfStmt(stmt, context) {
238
+ return ts.factory.createIfStatement(stmt.condition.visitExpression(this, context), ts.factory.createBlock(stmt.trueCase.map((s) => s.visitStatement(this, context)), true), stmt.falseCase.length
239
+ ? ts.factory.createBlock(stmt.falseCase.map((s) => s.visitStatement(this, context)), true)
240
+ : undefined);
241
+ }
242
+ }
243
+ //# sourceMappingURL=ast-translator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ast-translator.js","sourceRoot":"","sources":["../../../../../packages/angular-compiler/src/lib/ast-translator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,mBAAmB,CAAC;AACvC,OAAO,KAAK,EAAE,MAAM,YAAY,CAAC;AAEjC,MAAM,aAAa,GAAgD;IACjE,CAAC,CAAC,CAAC,cAAc,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,iBAAiB;IAC1D,CAAC,CAAC,CAAC,cAAc,CAAC,SAAS,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,sBAAsB;IAClE,CAAC,CAAC,CAAC,cAAc,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,WAAW;IACpD,CAAC,CAAC,CAAC,cAAc,CAAC,SAAS,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,uBAAuB;IACnE,CAAC,CAAC,CAAC,cAAc,CAAC,YAAY,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,4BAA4B;IAC3E,CAAC,CAAC,CAAC,cAAc,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,UAAU;IAClD,CAAC,CAAC,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,SAAS;IAChD,CAAC,CAAC,CAAC,cAAc,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,UAAU;IACnD,CAAC,CAAC,CAAC,cAAc,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,aAAa;IACxD,CAAC,CAAC,CAAC,cAAc,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,YAAY;IACrD,CAAC,CAAC,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,uBAAuB;IAC7D,CAAC,CAAC,CAAC,cAAc,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,WAAW;IAChD,CAAC,CAAC,CAAC,cAAc,CAAC,SAAS,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,QAAQ;IACpD,CAAC,CAAC,CAAC,cAAc,CAAC,UAAU,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,cAAc;IAC3D,CAAC,CAAC,CAAC,cAAc,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,aAAa;IACrD,CAAC,CAAC,CAAC,cAAc,CAAC,WAAW,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,mBAAmB;IACjE,CAAC,CAAC,CAAC,cAAc,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,gBAAgB;IACzD,CAAC,CAAC,CAAC,cAAc,CAAC,YAAY,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,sBAAsB;IACrE,CAAC,CAAC,CAAC,cAAc,CAAC,eAAe,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,qBAAqB;IACvE,CAAC,CAAC,CAAC,cAAc,CAAC,cAAc,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,qBAAqB;IACtE,CAAC,CAAC,CAAC,cAAc,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,SAAS;IAC9C,CAAC,CAAC,CAAC,cAAc,CAAC,UAAU,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,iBAAiB;IAC9D,CAAC,CAAC,CAAC,cAAc,CAAC,kBAAkB,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,eAAe;IACpE,CAAC,CAAC,CAAC,cAAc,CAAC,qBAAqB,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,gBAAgB;IACxE,CAAC,CAAC,CAAC,cAAc,CAAC,wBAAwB,CAAC,EACzC,EAAE,CAAC,UAAU,CAAC,mBAAmB;IACnC,CAAC,CAAC,CAAC,cAAc,CAAC,kBAAkB,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,gBAAgB;IACrE,CAAC,CAAC,CAAC,cAAc,CAAC,mBAAmB,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,kBAAkB;IACxE,CAAC,CAAC,CAAC,cAAc,CAAC,wBAAwB,CAAC,EACzC,EAAE,CAAC,UAAU,CAAC,2BAA2B;IAC3C,CAAC,CAAC,CAAC,cAAc,CAAC,aAAa,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,6BAA6B;IAC7E,CAAC,CAAC,CAAC,cAAc,CAAC,YAAY,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,iBAAiB;IAChE,CAAC,CAAC,CAAC,cAAc,CAAC,yBAAyB,CAAC,EAC1C,EAAE,CAAC,UAAU,CAAC,2BAA2B;CAC5C,CAAC;AAEF,MAAM,YAAY,GAA2C;IAC3D,CAAC,CAAC,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,UAAU;IACjD,CAAC,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,SAAS;CAChD,CAAC;AAEF,MAAM,OAAO,aAAa;IACxB,8DAA8D;IAE9D,kBAAkB,CAAC,GAAQ,EAAE,OAAY;QACvC,OAAO,EAAE,CAAC,OAAO,CAAC,sBAAsB,CACtC,GAAG,CAAC,QAAQ,CAAC,eAAe,CAAC,IAAI,EAAE,OAAO,CAAC,EAC3C,EAAE,CAAC,UAAU,CAAC,WAAW,EACzB,GAAG,CAAC,KAAK,CAAC,eAAe,CAAC,IAAI,EAAE,OAAO,CAAC,CACzC,CAAC;IACJ,CAAC;IAED,qBAAqB,CAAC,GAAQ,EAAE,OAAY;QAC1C,OAAO,EAAE,CAAC,OAAO,CAAC,oBAAoB,CACpC,EAAE,CAAC,OAAO,CAAC,8BAA8B,CACvC,GAAG,CAAC,QAAQ,CAAC,eAAe,CAAC,IAAI,EAAE,OAAO,CAAC,EAC3C,GAAG,CAAC,IAAI,CACT,EACD,SAAS,EACT,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,eAAe,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAC3D,CAAC;IACJ,CAAC;IAED,iBAAiB,CAAC,GAAQ,EAAE,OAAY;QACtC,OAAO,EAAE,CAAC,OAAO,CAAC,sBAAsB,CACtC,EAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,GAAG,CAAC,IAAI,CAAC,EACrC,EAAE,CAAC,UAAU,CAAC,WAAW,EACzB,GAAG,CAAC,KAAK,CAAC,eAAe,CAAC,IAAI,EAAE,OAAO,CAAC,CACzC,CAAC;IACJ,CAAC;IAED,iBAAiB,CAAC,GAAQ,EAAE,OAAY;QACtC,OAAO,EAAE,CAAC,OAAO,CAAC,sBAAsB,CACtC,EAAE,CAAC,OAAO,CAAC,6BAA6B,CACtC,GAAG,CAAC,QAAQ,CAAC,eAAe,CAAC,IAAI,EAAE,OAAO,CAAC,EAC3C,GAAG,CAAC,KAAK,CAAC,eAAe,CAAC,IAAI,EAAE,OAAO,CAAC,CACzC,EACD,EAAE,CAAC,UAAU,CAAC,WAAW,EACzB,GAAG,CAAC,KAAK,CAAC,eAAe,CAAC,IAAI,EAAE,OAAO,CAAC,CACzC,CAAC;IACJ,CAAC;IAED,8BAA8B,CAAC,GAAQ,EAAE,OAAY;QACnD,MAAM,QAAQ,GAAG,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC;QACvC,MAAM,WAAW,GAAG,GAAG,CAAC,QAAQ,CAAC,WAAW,CAAC;QAE7C,MAAM,IAAI,GAAG,EAAE,CAAC,OAAO,CAAC,kBAAkB,CACxC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,EAChB,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CACjB,CAAC;QACF,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,IAAS,EAAE,CAAS,EAAE,EAAE;YACrD,MAAM,OAAO,GAAG,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YAChC,MAAM,OAAO,GACX,CAAC,KAAK,WAAW,CAAC,MAAM,GAAG,CAAC;gBAC1B,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,kBAAkB,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC;gBAC3D,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,oBAAoB,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;YAClE,OAAO,EAAE,CAAC,OAAO,CAAC,kBAAkB,CAClC,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,OAAO,CAAC,EACnC,OAAO,CACR,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,OAAO,EAAE,CAAC,OAAO,CAAC,8BAA8B,CAC9C,GAAG,CAAC,GAAG,CAAC,eAAe,CAAC,IAAI,EAAE,OAAO,CAAC,EACtC,SAAS,EACT,EAAE,CAAC,OAAO,CAAC,wBAAwB,CAAC,IAAI,EAAE,KAAK,CAAC,CACjD,CAAC;IACJ,CAAC;IAED,8CAA8C;IAE9C,8CAA8C;IAC9C,gBAAgB,CAAC,GAAkB,EAAE,OAAY;QAC/C,IAAI,GAAG,CAAC,IAAI,KAAK,MAAM;YAAE,OAAO,EAAE,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC;QACxD,IAAI,GAAG,CAAC,IAAI,KAAK,OAAO;YAAE,OAAO,EAAE,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;QAC1D,OAAO,EAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAC/C,CAAC;IAED,iBAAiB,CAAC,GAAmB,EAAE,OAAY;QACjD,OAAO,EAAE,CAAC,OAAO,CAAC,8BAA8B,CAC9C,GAAG,CAAC,QAAQ,CAAC,eAAe,CAAC,IAAI,EAAE,OAAO,CAAC,EAC3C,GAAG,CAAC,IAAI,CACT,CAAC;IACJ,CAAC;IAED,gBAAgB,CAAC,GAAkB,EAAE,OAAY;QAC/C,OAAO,EAAE,CAAC,OAAO,CAAC,6BAA6B,CAC7C,GAAG,CAAC,QAAQ,CAAC,eAAe,CAAC,IAAI,EAAE,OAAO,CAAC,EAC3C,GAAG,CAAC,KAAK,CAAC,eAAe,CAAC,IAAI,EAAE,OAAO,CAAC,CACzC,CAAC;IACJ,CAAC;IAED,gBAAgB,CAAC,GAAkB,EAAE,OAAY;QAC/C,IAAI,OAAO,GAAG,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;YAClC,OAAO,EAAE,CAAC,OAAO,CAAC,mBAAmB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACnD,CAAC;QACD,IAAI,OAAO,GAAG,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;YAClC,IAAI,GAAG,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC;gBAClB,OAAO,EAAE,CAAC,OAAO,CAAC,2BAA2B,CAC3C,EAAE,CAAC,UAAU,CAAC,UAAU,EACxB,EAAE,CAAC,OAAO,CAAC,oBAAoB,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,QAAQ,EAAE,CAAC,CAChE,CAAC;YACJ,CAAC;YACD,OAAO,EAAE,CAAC,OAAO,CAAC,oBAAoB,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC/D,CAAC;QACD,IAAI,OAAO,GAAG,CAAC,KAAK,KAAK,SAAS;YAChC,OAAO,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;QACxE,IAAI,OAAO,GAAG,CAAC,KAAK,KAAK,WAAW;YAClC,OAAO,EAAE,CAAC,OAAO,CAAC,oBAAoB,CACpC,EAAE,CAAC,OAAO,CAAC,oBAAoB,CAAC,GAAG,CAAC,CACrC,CAAC;QACJ,OAAO,EAAE,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC;IACjC,CAAC;IAED,qBAAqB,CAAC,GAAuB,EAAE,OAAY;QACzD,OAAO,EAAE,CAAC,OAAO,CAAC,4BAA4B,CAC5C,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;YACpB,0EAA0E;YAC1E,IAAI,CAAC,CAAC;gBAAE,OAAO,EAAE,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC;YACvC,OAAO,CAAC,CAAC,eAAe,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAC1C,CAAC,CAAC,EACF,IAAI,CACL,CAAC;IACJ,CAAC;IAED,sBAAsB,CAAC,GAAwB,EAAE,OAAY;QAC3D,OAAO,EAAE,CAAC,OAAO,CAAC,mBAAmB,CACnC,GAAG,CAAC,UAAU,CAAC,eAAe,CAAC,IAAI,EAAE,OAAO,CAAC,CAC9C,CAAC;IACJ,CAAC;IAED,mBAAmB,CAAC,GAAqB,EAAE,OAAY;QACrD,OAAO,EAAE,CAAC,OAAO,CAAC,6BAA6B,CAC7C,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;YACpB,IAAI,CAAC,YAAY,CAAC,CAAC,0BAA0B,EAAE,CAAC;gBAC9C,OAAO,EAAE,CAAC,OAAO,CAAC,sBAAsB,CACtC,CAAC,CAAC,UAAU,CAAC,eAAe,CAAC,IAAI,EAAE,OAAO,CAAC,CAC5C,CAAC;YACJ,CAAC;YACD,MAAM,IAAI,GAAG,CAAmC,CAAC;YACjD,OAAO,EAAE,CAAC,OAAO,CAAC,wBAAwB,CACxC,IAAI,CAAC,MAAM;gBACT,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,mBAAmB,CAAC,IAAI,CAAC,GAAG,CAAC;gBAC1C,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,IAAI,CAAC,GAAG,CAAC,EACzC,IAAI,CAAC,KAAK;gBACR,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,IAAI,EAAE,OAAO,CAAC;gBAC3C,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,UAAU,EAAE,CAC5B,CAAC;QACJ,CAAC,CAAC,EACF,IAAI,CACL,CAAC;IACJ,CAAC;IAED,wEAAwE;IACxE,uBAAuB,CAAC,GAAyB,EAAE,OAAY;QAC7D,OAAO,EAAE,CAAC,OAAO,CAAC,oBAAoB,CACpC,GAAG,CAAC,EAAE,CAAC,eAAe,CAAC,IAAI,EAAE,OAAO,CAAC,EACrC,SAAS,EACT,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,eAAe,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CACtD,CAAC;IACJ,CAAC;IAED,oBAAoB,CAAC,GAAsB,EAAE,OAAY;QACvD,OAAO,EAAE,CAAC,OAAO,CAAC,mBAAmB,CACnC,GAAG,CAAC,SAAS,CAAC,eAAe,CAAC,IAAI,EAAE,OAAO,CAAC,EAC5C,SAAS,EACT,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,eAAe,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CACtD,CAAC;IACJ,CAAC;IAED,wBAAwB,CAAC,GAA0B,EAAE,OAAY;QAC/D,MAAM,QAAQ,GAAG,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QACtC,MAAM,IAAI,GAAG,EAAE,CAAC,OAAO,CAAC,kBAAkB,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;QAC/D,MAAM,KAAK,GAAG,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE;YAC5C,MAAM,MAAM,GAAG,CAAC,KAAK,GAAG,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC;YAChD,MAAM,OAAO,GAAG,GAAG,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC;YACzC,MAAM,OAAO,GAAG,MAAM;gBACpB,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,kBAAkB,CAAC,OAAO,EAAE,OAAO,CAAC;gBACjD,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,oBAAoB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;YACtD,OAAO,EAAE,CAAC,OAAO,CAAC,kBAAkB,CAClC,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,OAAO,CAAC,EACnC,OAAO,CACR,CAAC;QACJ,CAAC,CAAC,CAAC;QACH,OAAO,EAAE,CAAC,OAAO,CAAC,wBAAwB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IAC1D,CAAC;IAED,uBAAuB,CAAC,GAAyB,EAAE,OAAY;QAC7D,MAAM,EAAE,GAAG,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACvC,IAAI,EAAE,KAAK,SAAS,EAAE,CAAC;YACrB,MAAM,IAAI,KAAK,CAAC,gCAAgC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC;QAClE,CAAC;QACD,OAAO,EAAE,CAAC,OAAO,CAAC,sBAAsB,CACtC,GAAG,CAAC,GAAG,CAAC,eAAe,CAAC,IAAI,EAAE,OAAO,CAAC,EACtC,EAAE,EACF,GAAG,CAAC,GAAG,CAAC,eAAe,CAAC,IAAI,EAAE,OAAO,CAAC,CACvC,CAAC;IACJ,CAAC;IAED,oBAAoB,CAAC,GAAsB,EAAE,OAAY;QACvD,OAAO,EAAE,CAAC,OAAO,CAAC,2BAA2B,CAC3C,GAAG,CAAC,SAAS,CAAC,eAAe,CAAC,IAAI,EAAE,OAAO,CAAC,EAC5C,EAAE,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC,UAAU,CAAC,aAAa,CAAC,EACnD,GAAG,CAAC,QAAQ,CAAC,eAAe,CAAC,IAAI,EAAE,OAAO,CAAC,EAC3C,EAAE,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,EAChD,GAAG,CAAC,SAAU,CAAC,eAAe,CAAC,IAAI,EAAE,OAAO,CAAC,CAC9C,CAAC;IACJ,CAAC;IAED,YAAY,CAAC,GAAc,EAAE,OAAY;QACvC,OAAO,EAAE,CAAC,OAAO,CAAC,2BAA2B,CAC3C,EAAE,CAAC,UAAU,CAAC,gBAAgB,EAC9B,GAAG,CAAC,SAAS,CAAC,eAAe,CAAC,IAAI,EAAE,OAAO,CAAC,CAC7C,CAAC;IACJ,CAAC;IAED,eAAe,CAAC,GAAiB,EAAE,OAAY;QAC7C,OAAO,EAAE,CAAC,OAAO,CAAC,sBAAsB,CACtC,GAAG,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,OAAO,CAAC,CACxC,CAAC;IACJ,CAAC;IAED,sBAAsB,CAAC,GAAwB,EAAE,OAAY;QAC3D,MAAM,EAAE,GAAG,YAAY,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACtC,IAAI,EAAE,KAAK,SAAS,EAAE,CAAC;YACrB,MAAM,IAAI,KAAK,CAAC,+BAA+B,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC;QACjE,CAAC;QACD,OAAO,EAAE,CAAC,OAAO,CAAC,2BAA2B,CAC3C,EAAE,EACF,GAAG,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,OAAO,CAAC,CACxC,CAAC;IACJ,CAAC;IAED,iBAAiB,CAAC,GAAmB,EAAE,OAAY;QACjD,OAAO,EAAE,CAAC,OAAO,CAAC,mBAAmB,CACnC,SAAS,EACT,SAAS,EACT,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CACnB,EAAE,CAAC,OAAO,CAAC,0BAA0B,CAAC,SAAS,EAAE,SAAS,EAAE,CAAC,CAAC,IAAI,CAAC,CACpE,EACD,SAAS,EACT,EAAE,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC,UAAU,CAAC,sBAAsB,CAAC,EAC5D,EAAE,CAAC,OAAO,CAAC,WAAW,CACpB,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,cAAc,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,EAC1D,IAAI,CACL,CACF,CAAC;IACJ,CAAC;IAED,sBAAsB,CAAC,GAAwB,EAAE,OAAY;QAC3D,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAClC,EAAE,CAAC,OAAO,CAAC,0BAA0B,CAAC,SAAS,EAAE,SAAS,EAAE,CAAC,CAAC,IAAI,CAAC,CACpE,CAAC;QACF,MAAM,KAAK,GAAG,EAAE,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC,UAAU,CAAC,sBAAsB,CAAC,CAAC;QAC3E,8EAA8E;QAC9E,MAAM,IAAI,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC;YAClC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,WAAW,CACpB,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,cAAc,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,EACpD,IAAI,CACL;YACH,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAC5C,OAAO,EAAE,CAAC,OAAO,CAAC,mBAAmB,CACnC,SAAS,EACT,SAAS,EACT,MAAM,EACN,SAAS,EACT,KAAK,EACL,IAAI,CACL,CAAC;IACJ,CAAC;IAED,sBAAsB,CAAC,GAAwB,EAAE,OAAY;QAC3D,MAAM,MAAM,GACV,OAAO,GAAG,CAAC,GAAG,KAAK,QAAQ;YACzB,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,mBAAmB,CAAC,GAAG,CAAC,GAAG,CAAC;YACzC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,eAAe,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAC7C,OAAO,EAAE,CAAC,OAAO,CAAC,oBAAoB,CACpC,EAAE,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC,UAAU,CAAC,aAAa,CAAQ,EAC1D,SAAS,EACT,CAAC,MAAM,CAAC,CACT,CAAC;IACJ,CAAC;IAED,sBAAsB,CAAC,GAAwB,EAAE,OAAY;QAC3D,OAAO,EAAE,CAAC,OAAO,CAAC,6BAA6B,CAC7C,GAAG,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,OAAO,CAAC,CACxC,CAAC;IACJ,CAAC;IAED,cAAc,CAAC,GAAgB,EAAE,OAAY;QAC3C,OAAO,GAAG,CAAC,KAAK;aACb,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,eAAe,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;aAC5C,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CACf,EAAE,CAAC,OAAO,CAAC,sBAAsB,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,UAAU,EAAE,CAAC,CAAC,CAClE,CAAC;IACN,CAAC;IAED,aAAa,CAAC,GAAe,EAAE,OAAY;QACzC,OAAO,EAAE,CAAC,OAAO,CAAC,oBAAoB,CACpC,GAAG,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,OAAO,CAAC,CACxC,CAAC;IACJ,CAAC;IAED,oBAAoB,CAAC,GAAsB,EAAE,OAAY;QACvD,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC;IAC3C,CAAC;IAED,6BAA6B,CAC3B,GAAmC,EACnC,OAAY;QAEZ,OAAO,EAAE,CAAC,OAAO,CAAC,8BAA8B,CAC9C,IAAK,GAAW,CAAC,IAAI,IAAK,GAAW,CAAC,OAAO,IAAI,GAAG,CAAC,KAAK,EAAE,CAC7D,CAAC;IACJ,CAAC;IAED,+BAA+B,CAC7B,GAAiC,EACjC,OAAY;QAEZ,OAAO,EAAE,CAAC,OAAO,CAAC,mBAAmB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAClD,CAAC;IAED,oBAAoB,CAAC,GAA2B,EAAE,OAAY;QAC5D,wEAAwE;QACxE,2BAA2B;QAC3B,OAAO,GAAG,CAAC,IAAqB,CAAC;IACnC,CAAC;IAED,iBAAiB,CAAC,GAAmB,EAAE,OAAY;QACjD,MAAM,UAAU,GAAG,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC;QACxC,MAAM,IAAI,GAAG,GAAG,CAAC,KAAK,CAAC,IAAK,CAAC;QAC7B,IAAI,UAAU,IAAI,UAAU,KAAK,eAAe,EAAE,CAAC;YACjD,MAAM,IAAI,KAAK,CACb,0CAA0C,UAAU,IAAI,IAAI,EAAE,CAC/D,CAAC;QACJ,CAAC;QACD,8DAA8D;QAC9D,IAAI,IAAI,KAAK,WAAW,EAAE,CAAC;YACzB,OAAO,EAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;QAC3C,CAAC;QACD,OAAO,EAAE,CAAC,OAAO,CAAC,8BAA8B,CAC9C,EAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,IAAI,CAAC,EACjC,EAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAClC,CAAC;IACJ,CAAC;IAED,oCAAoC;IAEpC,mBAAmB,CAAC,IAAsB,EAAE,OAAY;QACtD,OAAO,EAAE,CAAC,OAAO,CAAC,uBAAuB,CACvC,SAAS,EACT,EAAE,CAAC,OAAO,CAAC,6BAA6B,CACtC;YACE,EAAE,CAAC,OAAO,CAAC,yBAAyB,CAClC,IAAI,CAAC,IAAI,EACT,SAAS,EACT,SAAS,EACT,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CACnE;SACF,EACD,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,YAAY,CAAC,KAAK,CAAC;YACpC,CAAC,CAAC,EAAE,CAAC,SAAS,CAAC,KAAK;YACpB,CAAC,CAAC,EAAE,CAAC,SAAS,CAAC,GAAG,CACrB,CACF,CAAC;IACJ,CAAC;IAED,wBAAwB,CAAC,IAA2B,EAAE,OAAY;QAChE,OAAO,EAAE,CAAC,OAAO,CAAC,yBAAyB,CACzC,SAAS,EACT,SAAS,EACT,IAAI,CAAC,IAAI,EACT,SAAS,EACT,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CACpB,EAAE,CAAC,OAAO,CAAC,0BAA0B,CAAC,SAAS,EAAE,SAAS,EAAE,CAAC,CAAC,IAAI,CAAC,CACpE,EACD,SAAS,EACT,EAAE,CAAC,OAAO,CAAC,WAAW,CACpB,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,cAAc,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,EAC3D,IAAI,CACL,CACF,CAAC;IACJ,CAAC;IAED,mBAAmB,CAAC,IAA2B,EAAE,OAAY;QAC3D,OAAO,EAAE,CAAC,OAAO,CAAC,yBAAyB,CACzC,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,OAAO,CAAC,CACzC,CAAC;IACJ,CAAC;IAED,eAAe,CAAC,IAAuB,EAAE,OAAY;QACnD,OAAO,EAAE,CAAC,OAAO,CAAC,qBAAqB,CACrC,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,IAAI,EAAE,OAAO,CAAC,CAC1C,CAAC;IACJ,CAAC;IAED,WAAW,CAAC,IAAc,EAAE,OAAY;QACtC,OAAO,EAAE,CAAC,OAAO,CAAC,iBAAiB,CACjC,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,IAAI,EAAE,OAAO,CAAC,EAC7C,EAAE,CAAC,OAAO,CAAC,WAAW,CACpB,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,cAAc,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,EACzD,IAAI,CACL,EACD,IAAI,CAAC,SAAS,CAAC,MAAM;YACnB,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,WAAW,CACpB,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,cAAc,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,EAC1D,IAAI,CACL;YACH,CAAC,CAAC,SAAS,CACd,CAAC;IACJ,CAAC;CACF"}
@@ -0,0 +1,24 @@
1
+ import MagicString from 'magic-string';
2
+ import { ComponentRegistry } from './registry.js';
3
+ /**
4
+ * COMPLETE EXHAUSTIVE ANGULAR LITE COMPILER
5
+ * Translates Angular Decorators + Signals to Ivy Static Definitions.
6
+ *
7
+ * @param registry - Optional external registry from the global analysis plugin.
8
+ * When provided, used to resolve component/directive selectors for template compilation.
9
+ */
10
+ export interface CompileResult {
11
+ code: string;
12
+ /** Source map for the transformation */
13
+ map: ReturnType<MagicString['generateMap']>;
14
+ /** Absolute paths of external resources (templateUrl, styleUrl) read during compilation */
15
+ resourceDependencies: string[];
16
+ }
17
+ export interface CompileOptions {
18
+ registry?: ComponentRegistry;
19
+ /** Pre-resolved style contents keyed by absolute file path (e.g. SCSS already compiled to CSS). */
20
+ resolvedStyles?: Map<string, string>;
21
+ /** Pre-processed inline styles (index in styles array → compiled CSS). */
22
+ resolvedInlineStyles?: Map<number, string>;
23
+ }
24
+ export declare function compile(sourceCode: string, fileName: string, optionsOrRegistry?: CompileOptions | ComponentRegistry): CompileResult;