@angular/compiler 19.0.0-next.1 → 19.0.0-next.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (186) hide show
  1. package/LICENSE +21 -0
  2. package/fesm2022/compiler.mjs +5465 -4675
  3. package/fesm2022/compiler.mjs.map +1 -1
  4. package/index.d.ts +115 -15
  5. package/package.json +2 -4
  6. package/esm2022/compiler.mjs +0 -13
  7. package/esm2022/index.mjs +0 -13
  8. package/esm2022/public_api.mjs +0 -15
  9. package/esm2022/src/assertions.mjs +0 -31
  10. package/esm2022/src/chars.mjs +0 -90
  11. package/esm2022/src/compiler.mjs +0 -88
  12. package/esm2022/src/compiler_facade_interface.mjs +0 -29
  13. package/esm2022/src/config.mjs +0 -20
  14. package/esm2022/src/constant_pool.mjs +0 -285
  15. package/esm2022/src/core.mjs +0 -96
  16. package/esm2022/src/expression_parser/ast.mjs +0 -755
  17. package/esm2022/src/expression_parser/lexer.mjs +0 -421
  18. package/esm2022/src/expression_parser/parser.mjs +0 -1222
  19. package/esm2022/src/i18n/digest.mjs +0 -322
  20. package/esm2022/src/i18n/extractor_merger.mjs +0 -409
  21. package/esm2022/src/i18n/i18n_ast.mjs +0 -212
  22. package/esm2022/src/i18n/i18n_html_parser.mjs +0 -54
  23. package/esm2022/src/i18n/i18n_parser.mjs +0 -247
  24. package/esm2022/src/i18n/index.mjs +0 -16
  25. package/esm2022/src/i18n/message_bundle.mjs +0 -93
  26. package/esm2022/src/i18n/parse_util.mjs +0 -17
  27. package/esm2022/src/i18n/serializers/placeholder.mjs +0 -139
  28. package/esm2022/src/i18n/serializers/serializer.mjs +0 -77
  29. package/esm2022/src/i18n/serializers/xliff.mjs +0 -300
  30. package/esm2022/src/i18n/serializers/xliff2.mjs +0 -349
  31. package/esm2022/src/i18n/serializers/xmb.mjs +0 -188
  32. package/esm2022/src/i18n/serializers/xml_helper.mjs +0 -94
  33. package/esm2022/src/i18n/serializers/xtb.mjs +0 -186
  34. package/esm2022/src/i18n/translation_bundle.mjs +0 -164
  35. package/esm2022/src/injectable_compiler_2.mjs +0 -138
  36. package/esm2022/src/jit_compiler_facade.mjs +0 -681
  37. package/esm2022/src/ml_parser/ast.mjs +0 -167
  38. package/esm2022/src/ml_parser/defaults.mjs +0 -24
  39. package/esm2022/src/ml_parser/entities.mjs +0 -2144
  40. package/esm2022/src/ml_parser/html_parser.mjs +0 -18
  41. package/esm2022/src/ml_parser/html_tags.mjs +0 -156
  42. package/esm2022/src/ml_parser/html_whitespaces.mjs +0 -107
  43. package/esm2022/src/ml_parser/icu_ast_expander.mjs +0 -125
  44. package/esm2022/src/ml_parser/lexer.mjs +0 -1210
  45. package/esm2022/src/ml_parser/parser.mjs +0 -539
  46. package/esm2022/src/ml_parser/tags.mjs +0 -47
  47. package/esm2022/src/ml_parser/tokens.mjs +0 -9
  48. package/esm2022/src/ml_parser/xml_parser.mjs +0 -19
  49. package/esm2022/src/ml_parser/xml_tags.mjs +0 -32
  50. package/esm2022/src/output/abstract_emitter.mjs +0 -524
  51. package/esm2022/src/output/abstract_js_emitter.mjs +0 -130
  52. package/esm2022/src/output/map_util.mjs +0 -19
  53. package/esm2022/src/output/output_ast.mjs +0 -1301
  54. package/esm2022/src/output/output_jit.mjs +0 -138
  55. package/esm2022/src/output/output_jit_trusted_types.mjs +0 -100
  56. package/esm2022/src/output/source_map.mjs +0 -150
  57. package/esm2022/src/parse_util.mjs +0 -198
  58. package/esm2022/src/render3/partial/api.mjs +0 -9
  59. package/esm2022/src/render3/partial/class_metadata.mjs +0 -52
  60. package/esm2022/src/render3/partial/component.mjs +0 -197
  61. package/esm2022/src/render3/partial/directive.mjs +0 -264
  62. package/esm2022/src/render3/partial/factory.mjs +0 -35
  63. package/esm2022/src/render3/partial/injectable.mjs +0 -67
  64. package/esm2022/src/render3/partial/injector.mjs +0 -41
  65. package/esm2022/src/render3/partial/ng_module.mjs +0 -63
  66. package/esm2022/src/render3/partial/pipe.mjs +0 -50
  67. package/esm2022/src/render3/partial/util.mjs +0 -79
  68. package/esm2022/src/render3/r3_ast.mjs +0 -493
  69. package/esm2022/src/render3/r3_class_debug_info_compiler.mjs +0 -35
  70. package/esm2022/src/render3/r3_class_metadata_compiler.mjs +0 -92
  71. package/esm2022/src/render3/r3_control_flow.mjs +0 -421
  72. package/esm2022/src/render3/r3_deferred_blocks.mjs +0 -170
  73. package/esm2022/src/render3/r3_deferred_triggers.mjs +0 -316
  74. package/esm2022/src/render3/r3_factory.mjs +0 -200
  75. package/esm2022/src/render3/r3_identifiers.mjs +0 -480
  76. package/esm2022/src/render3/r3_injector_compiler.mjs +0 -28
  77. package/esm2022/src/render3/r3_jit.mjs +0 -29
  78. package/esm2022/src/render3/r3_module_compiler.mjs +0 -211
  79. package/esm2022/src/render3/r3_pipe_compiler.mjs +0 -35
  80. package/esm2022/src/render3/r3_template_transform.mjs +0 -560
  81. package/esm2022/src/render3/util.mjs +0 -90
  82. package/esm2022/src/render3/view/api.mjs +0 -14
  83. package/esm2022/src/render3/view/compiler.mjs +0 -546
  84. package/esm2022/src/render3/view/i18n/get_msg_utils.mjs +0 -113
  85. package/esm2022/src/render3/view/i18n/icu_serializer.mjs +0 -43
  86. package/esm2022/src/render3/view/i18n/localize_utils.mjs +0 -118
  87. package/esm2022/src/render3/view/i18n/meta.mjs +0 -259
  88. package/esm2022/src/render3/view/i18n/util.mjs +0 -70
  89. package/esm2022/src/render3/view/query_generation.mjs +0 -182
  90. package/esm2022/src/render3/view/t2_api.mjs +0 -9
  91. package/esm2022/src/render3/view/t2_binder.mjs +0 -823
  92. package/esm2022/src/render3/view/template.mjs +0 -113
  93. package/esm2022/src/render3/view/util.mjs +0 -192
  94. package/esm2022/src/resource_loader.mjs +0 -17
  95. package/esm2022/src/schema/dom_element_schema_registry.mjs +0 -471
  96. package/esm2022/src/schema/dom_security_schema.mjs +0 -96
  97. package/esm2022/src/schema/element_schema_registry.mjs +0 -10
  98. package/esm2022/src/schema/trusted_types_sinks.mjs +0 -41
  99. package/esm2022/src/selector.mjs +0 -400
  100. package/esm2022/src/shadow_css.mjs +0 -1053
  101. package/esm2022/src/style_url_resolver.mjs +0 -17
  102. package/esm2022/src/template/pipeline/ir/index.mjs +0 -18
  103. package/esm2022/src/template/pipeline/ir/src/enums.mjs +0 -503
  104. package/esm2022/src/template/pipeline/ir/src/expression.mjs +0 -997
  105. package/esm2022/src/template/pipeline/ir/src/handle.mjs +0 -13
  106. package/esm2022/src/template/pipeline/ir/src/operations.mjs +0 -261
  107. package/esm2022/src/template/pipeline/ir/src/ops/create.mjs +0 -405
  108. package/esm2022/src/template/pipeline/ir/src/ops/host.mjs +0 -25
  109. package/esm2022/src/template/pipeline/ir/src/ops/shared.mjs +0 -43
  110. package/esm2022/src/template/pipeline/ir/src/ops/update.mjs +0 -277
  111. package/esm2022/src/template/pipeline/ir/src/traits.mjs +0 -64
  112. package/esm2022/src/template/pipeline/ir/src/variable.mjs +0 -13
  113. package/esm2022/src/template/pipeline/src/compilation.mjs +0 -194
  114. package/esm2022/src/template/pipeline/src/conversion.mjs +0 -64
  115. package/esm2022/src/template/pipeline/src/emit.mjs +0 -238
  116. package/esm2022/src/template/pipeline/src/ingest.mjs +0 -1058
  117. package/esm2022/src/template/pipeline/src/instruction.mjs +0 -564
  118. package/esm2022/src/template/pipeline/src/phases/any_cast.mjs +0 -32
  119. package/esm2022/src/template/pipeline/src/phases/apply_i18n_expressions.mjs +0 -63
  120. package/esm2022/src/template/pipeline/src/phases/assign_i18n_slot_dependencies.mjs +0 -63
  121. package/esm2022/src/template/pipeline/src/phases/attribute_extraction.mjs +0 -138
  122. package/esm2022/src/template/pipeline/src/phases/binding_specialization.mjs +0 -75
  123. package/esm2022/src/template/pipeline/src/phases/chaining.mjs +0 -112
  124. package/esm2022/src/template/pipeline/src/phases/collapse_singleton_interpolations.mjs +0 -32
  125. package/esm2022/src/template/pipeline/src/phases/conditionals.mjs +0 -58
  126. package/esm2022/src/template/pipeline/src/phases/const_collection.mjs +0 -214
  127. package/esm2022/src/template/pipeline/src/phases/convert_i18n_bindings.mjs +0 -52
  128. package/esm2022/src/template/pipeline/src/phases/create_i18n_contexts.mjs +0 -105
  129. package/esm2022/src/template/pipeline/src/phases/deduplicate_text_bindings.mjs +0 -40
  130. package/esm2022/src/template/pipeline/src/phases/defer_configs.mjs +0 -29
  131. package/esm2022/src/template/pipeline/src/phases/defer_resolve_targets.mjs +0 -113
  132. package/esm2022/src/template/pipeline/src/phases/empty_elements.mjs +0 -47
  133. package/esm2022/src/template/pipeline/src/phases/expand_safe_reads.mjs +0 -192
  134. package/esm2022/src/template/pipeline/src/phases/extract_i18n_messages.mjs +0 -218
  135. package/esm2022/src/template/pipeline/src/phases/generate_advance.mjs +0 -66
  136. package/esm2022/src/template/pipeline/src/phases/generate_local_let_references.mjs +0 -29
  137. package/esm2022/src/template/pipeline/src/phases/generate_projection_def.mjs +0 -46
  138. package/esm2022/src/template/pipeline/src/phases/generate_variables.mjs +0 -170
  139. package/esm2022/src/template/pipeline/src/phases/has_const_expression_collection.mjs +0 -28
  140. package/esm2022/src/template/pipeline/src/phases/host_style_property_parsing.mjs +0 -81
  141. package/esm2022/src/template/pipeline/src/phases/i18n_const_collection.mjs +0 -309
  142. package/esm2022/src/template/pipeline/src/phases/i18n_text_extraction.mjs +0 -97
  143. package/esm2022/src/template/pipeline/src/phases/local_refs.mjs +0 -43
  144. package/esm2022/src/template/pipeline/src/phases/namespace.mjs +0 -26
  145. package/esm2022/src/template/pipeline/src/phases/naming.mjs +0 -179
  146. package/esm2022/src/template/pipeline/src/phases/next_context_merging.mjs +0 -75
  147. package/esm2022/src/template/pipeline/src/phases/ng_container.mjs +0 -29
  148. package/esm2022/src/template/pipeline/src/phases/nonbindable.mjs +0 -47
  149. package/esm2022/src/template/pipeline/src/phases/nullish_coalescing.mjs +0 -33
  150. package/esm2022/src/template/pipeline/src/phases/ordering.mjs +0 -140
  151. package/esm2022/src/template/pipeline/src/phases/parse_extracted_styles.mjs +0 -137
  152. package/esm2022/src/template/pipeline/src/phases/phase_remove_content_selectors.mjs +0 -42
  153. package/esm2022/src/template/pipeline/src/phases/pipe_creation.mjs +0 -74
  154. package/esm2022/src/template/pipeline/src/phases/pipe_variadic.mjs +0 -30
  155. package/esm2022/src/template/pipeline/src/phases/propagate_i18n_blocks.mjs +0 -81
  156. package/esm2022/src/template/pipeline/src/phases/pure_function_extraction.mjs +0 -55
  157. package/esm2022/src/template/pipeline/src/phases/pure_literal_structures.mjs +0 -58
  158. package/esm2022/src/template/pipeline/src/phases/reify.mjs +0 -433
  159. package/esm2022/src/template/pipeline/src/phases/remove_empty_bindings.mjs +0 -31
  160. package/esm2022/src/template/pipeline/src/phases/remove_i18n_contexts.mjs +0 -27
  161. package/esm2022/src/template/pipeline/src/phases/remove_illegal_let_references.mjs +0 -36
  162. package/esm2022/src/template/pipeline/src/phases/remove_unused_i18n_attrs.mjs +0 -33
  163. package/esm2022/src/template/pipeline/src/phases/resolve_contexts.mjs +0 -60
  164. package/esm2022/src/template/pipeline/src/phases/resolve_defer_deps_fns.mjs +0 -31
  165. package/esm2022/src/template/pipeline/src/phases/resolve_dollar_event.mjs +0 -36
  166. package/esm2022/src/template/pipeline/src/phases/resolve_i18n_element_placeholders.mjs +0 -266
  167. package/esm2022/src/template/pipeline/src/phases/resolve_i18n_expression_placeholders.mjs +0 -70
  168. package/esm2022/src/template/pipeline/src/phases/resolve_names.mjs +0 -124
  169. package/esm2022/src/template/pipeline/src/phases/resolve_sanitizers.mjs +0 -123
  170. package/esm2022/src/template/pipeline/src/phases/save_restore_view.mjs +0 -64
  171. package/esm2022/src/template/pipeline/src/phases/slot_allocation.mjs +0 -62
  172. package/esm2022/src/template/pipeline/src/phases/store_let_optimization.mjs +0 -35
  173. package/esm2022/src/template/pipeline/src/phases/style_binding_specialization.mjs +0 -42
  174. package/esm2022/src/template/pipeline/src/phases/temporary_variables.mjs +0 -87
  175. package/esm2022/src/template/pipeline/src/phases/track_fn_generation.mjs +0 -52
  176. package/esm2022/src/template/pipeline/src/phases/track_fn_optimization.mjs +0 -88
  177. package/esm2022/src/template/pipeline/src/phases/track_variables.mjs +0 -36
  178. package/esm2022/src/template/pipeline/src/phases/transform_two_way_binding_set.mjs +0 -43
  179. package/esm2022/src/template/pipeline/src/phases/var_counting.mjs +0 -155
  180. package/esm2022/src/template/pipeline/src/phases/variable_optimization.mjs +0 -423
  181. package/esm2022/src/template/pipeline/src/phases/wrap_icus.mjs +0 -41
  182. package/esm2022/src/template/pipeline/src/util/elements.mjs +0 -29
  183. package/esm2022/src/template_parser/binding_parser.mjs +0 -465
  184. package/esm2022/src/template_parser/template_preparser.mjs +0 -84
  185. package/esm2022/src/util.mjs +0 -124
  186. package/esm2022/src/version.mjs +0 -15
package/index.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @license Angular v19.0.0-next.1
2
+ * @license Angular v19.0.0-next.10
3
3
  * (c) 2010-2024 Google LLC. https://angular.io/
4
4
  * License: MIT
5
5
  */
@@ -75,6 +75,7 @@ export declare class AstMemoryEfficientTransformer implements AstVisitor {
75
75
  visitUnary(ast: Unary, context: any): AST;
76
76
  visitBinary(ast: Binary, context: any): AST;
77
77
  visitPrefixNot(ast: PrefixNot, context: any): AST;
78
+ visitTypeofExpresion(ast: TypeofExpression, context: any): AST;
78
79
  visitNonNullAssert(ast: NonNullAssert, context: any): AST;
79
80
  visitConditional(ast: Conditional, context: any): AST;
80
81
  visitPipe(ast: BindingPipe, context: any): AST;
@@ -100,6 +101,7 @@ export declare class AstTransformer implements AstVisitor {
100
101
  visitUnary(ast: Unary, context: any): AST;
101
102
  visitBinary(ast: Binary, context: any): AST;
102
103
  visitPrefixNot(ast: PrefixNot, context: any): AST;
104
+ visitTypeofExpresion(ast: TypeofExpression, context: any): AST;
103
105
  visitNonNullAssert(ast: NonNullAssert, context: any): AST;
104
106
  visitConditional(ast: Conditional, context: any): AST;
105
107
  visitPipe(ast: BindingPipe, context: any): AST;
@@ -135,6 +137,7 @@ export declare interface AstVisitor {
135
137
  visitLiteralPrimitive(ast: LiteralPrimitive, context: any): any;
136
138
  visitPipe(ast: BindingPipe, context: any): any;
137
139
  visitPrefixNot(ast: PrefixNot, context: any): any;
140
+ visitTypeofExpresion(ast: TypeofExpression, context: any): any;
138
141
  visitNonNullAssert(ast: NonNullAssert, context: any): any;
139
142
  visitPropertyRead(ast: PropertyRead, context: any): any;
140
143
  visitPropertyWrite(ast: PropertyWrite, context: any): any;
@@ -739,6 +742,25 @@ export declare function compileDirectiveFromMetadata(meta: R3DirectiveMetadata,
739
742
  */
740
743
  export declare function compileFactoryFunction(meta: R3FactoryMetadata): R3CompiledExpression;
741
744
 
745
+ /**
746
+ * Compiles the expression that initializes HMR for a class.
747
+ * @param meta HMR metadata extracted from the class.
748
+ */
749
+ export declare function compileHmrInitializer(meta: R3HmrMetadata): outputAst.Expression;
750
+
751
+ /**
752
+ * Compiles the HMR update callback for a class.
753
+ * @param definitions Compiled definitions for the class (e.g. `defineComponent` calls).
754
+ * @param constantStatements Supporting constants statements that were generated alongside
755
+ * the definition.
756
+ * @param meta HMR metadata extracted from the class.
757
+ */
758
+ export declare function compileHmrUpdateCallback(definitions: {
759
+ name: string;
760
+ initializer: outputAst.Expression | null;
761
+ statements: outputAst.Statement[];
762
+ }[], constantStatements: outputAst.Statement[], meta: R3HmrMetadata): outputAst.DeclareFunctionStmt;
763
+
742
764
  export declare interface CompileIdentifierMetadata {
743
765
  reference: any;
744
766
  }
@@ -1157,8 +1179,9 @@ export declare class DomElementSchemaRegistry extends ElementSchemaRegistry {
1157
1179
  export declare const DYNAMIC_TYPE: BuiltinType;
1158
1180
 
1159
1181
  export declare class DynamicImportExpr extends Expression {
1160
- url: string;
1161
- constructor(url: string, sourceSpan?: ParseSourceSpan | null);
1182
+ url: string | Expression;
1183
+ urlComment?: string | undefined;
1184
+ constructor(url: string | Expression, sourceSpan?: ParseSourceSpan | null, urlComment?: string | undefined);
1162
1185
  isEquivalent(e: Expression): boolean;
1163
1186
  isConstant(): boolean;
1164
1187
  visitExpression(visitor: ExpressionVisitor, context: any): any;
@@ -1232,9 +1255,10 @@ export declare class EmptyExpr extends AST {
1232
1255
  * is using the `ViewEncapsulation.Emulated` mode.
1233
1256
  *
1234
1257
  * @param style The content of a CSS stylesheet.
1258
+ * @param componentIdentifier The identifier to use within the CSS rules.
1235
1259
  * @returns The encapsulated content for the style.
1236
1260
  */
1237
- export declare function encapsulateStyle(style: string): string;
1261
+ export declare function encapsulateStyle(style: string, componentIdentifier?: string): string;
1238
1262
 
1239
1263
  declare interface EncodedEntityToken extends TokenBase {
1240
1264
  type: LexerTokenType.ENCODED_ENTITY;
@@ -1405,6 +1429,31 @@ declare enum FactoryTarget_2 {
1405
1429
  NgModule = 4
1406
1430
  }
1407
1431
 
1432
+ /**
1433
+ * Given a template string and a set of available directive selectors,
1434
+ * computes a list of matching selectors and splits them into 2 buckets:
1435
+ * (1) eagerly used in a template and (2) directives used only in defer
1436
+ * blocks. Similarly, returns 2 lists of pipes (eager and deferrable).
1437
+ *
1438
+ * Note: deferrable directives selectors and pipes names used in `@defer`
1439
+ * blocks are **candidates** and API caller should make sure that:
1440
+ *
1441
+ * * A Component where a given template is defined is standalone
1442
+ * * Underlying dependency classes are also standalone
1443
+ * * Dependency class symbols are not eagerly used in a TS file
1444
+ * where a host component (that owns the template) is located
1445
+ */
1446
+ export declare function findMatchingDirectivesAndPipes(template: string, directiveSelectors: string[]): {
1447
+ directives: {
1448
+ regular: string[];
1449
+ deferCandidates: string[];
1450
+ };
1451
+ pipes: {
1452
+ regular: string[];
1453
+ deferCandidates: string[];
1454
+ };
1455
+ };
1456
+
1408
1457
  declare function fn(params: FnParam[], body: Statement[], type?: Type | null, sourceSpan?: ParseSourceSpan | null, name?: string | null): FunctionExpr;
1409
1458
 
1410
1459
  declare class FnParam {
@@ -1703,8 +1752,6 @@ export declare class InvokeFunctionExpr extends Expression {
1703
1752
  clone(): InvokeFunctionExpr;
1704
1753
  }
1705
1754
 
1706
- export declare function isIdentifier(input: string): boolean;
1707
-
1708
1755
  export declare function isNgContainer(tagName: string): boolean;
1709
1756
 
1710
1757
  export declare function isNgContent(tagName: string): boolean;
@@ -2063,11 +2110,12 @@ export declare class MessageBundle {
2063
2110
  private _implicitTags;
2064
2111
  private _implicitAttrs;
2065
2112
  private _locale;
2113
+ private readonly _preserveWhitespace;
2066
2114
  private _messages;
2067
2115
  constructor(_htmlParser: HtmlParser, _implicitTags: string[], _implicitAttrs: {
2068
2116
  [k: string]: string[];
2069
- }, _locale?: string | null);
2070
- updateFromTemplate(html: string, url: string, interpolationConfig: InterpolationConfig): ParseError[];
2117
+ }, _locale?: string | null, _preserveWhitespace?: boolean);
2118
+ updateFromTemplate(source: string, url: string, interpolationConfig: InterpolationConfig): ParseError[];
2071
2119
  getMessages(): i18n.Message[];
2072
2120
  write(serializer: Serializer, filterSources?: (path: string) => string): string;
2073
2121
  }
@@ -2547,6 +2595,10 @@ export declare interface ParseTemplateOptions {
2547
2595
  * Preserve original line endings instead of normalizing '\r\n' endings to '\n'.
2548
2596
  */
2549
2597
  preserveLineEndings?: boolean;
2598
+ /**
2599
+ * Preserve whitespace significant to rendering.
2600
+ */
2601
+ preserveSignificantWhitespace?: boolean;
2550
2602
  /**
2551
2603
  * How to parse interpolation markers.
2552
2604
  */
@@ -2867,6 +2919,10 @@ export declare interface R3ComponentMetadata<DeclarationT extends R3TemplateDepe
2867
2919
  * A collection of styling data that will be applied and scoped to the component.
2868
2920
  */
2869
2921
  styles: string[];
2922
+ /**
2923
+ * A collection of style paths for external stylesheets that will be applied and scoped to the component.
2924
+ */
2925
+ externalStyles?: string[];
2870
2926
  /**
2871
2927
  * An encapsulation policy for the component's styling.
2872
2928
  * Possible values:
@@ -3662,6 +3718,24 @@ declare enum R3FactoryDelegateType {
3662
3718
 
3663
3719
  export declare type R3FactoryMetadata = R3ConstructorFactoryMetadata | R3DelegatedFnOrClassMetadata | R3ExpressionFactoryMetadata;
3664
3720
 
3721
+ /** Metadata necessary to compile HMR-related code call. */
3722
+ export declare interface R3HmrMetadata {
3723
+ /** Component class for which HMR is being enabled. */
3724
+ type: outputAst.Expression;
3725
+ /** Name of the component class. */
3726
+ className: string;
3727
+ /** File path of the component class. */
3728
+ filePath: string;
3729
+ /** Name under which `@angular/core` should be referred to in the compiled HMR code. */
3730
+ coreName: string;
3731
+ /**
3732
+ * HMR update functions cannot contain imports so any locals the generated code depends on
3733
+ * (e.g. references to imports within the same file or imported symbols) have to be passed in
3734
+ * as function parameters. This array contains the names of those local symbols.
3735
+ */
3736
+ locals: string[];
3737
+ }
3738
+
3665
3739
  /**
3666
3740
  * Information needed to compile a host directive for the render3 runtime.
3667
3741
  */
@@ -3785,6 +3859,14 @@ export declare class R3Identifiers {
3785
3859
  static deferPrefetchOnHover: outputAst.ExternalReference;
3786
3860
  static deferPrefetchOnInteraction: outputAst.ExternalReference;
3787
3861
  static deferPrefetchOnViewport: outputAst.ExternalReference;
3862
+ static deferHydrateWhen: outputAst.ExternalReference;
3863
+ static deferHydrateNever: outputAst.ExternalReference;
3864
+ static deferHydrateOnIdle: outputAst.ExternalReference;
3865
+ static deferHydrateOnImmediate: outputAst.ExternalReference;
3866
+ static deferHydrateOnTimer: outputAst.ExternalReference;
3867
+ static deferHydrateOnHover: outputAst.ExternalReference;
3868
+ static deferHydrateOnInteraction: outputAst.ExternalReference;
3869
+ static deferHydrateOnViewport: outputAst.ExternalReference;
3788
3870
  static deferEnableTimerScheduling: outputAst.ExternalReference;
3789
3871
  static conditional: outputAst.ExternalReference;
3790
3872
  static repeater: outputAst.ExternalReference;
@@ -3853,6 +3935,7 @@ export declare class R3Identifiers {
3853
3935
  static templateRefExtractor: outputAst.ExternalReference;
3854
3936
  static forwardRef: outputAst.ExternalReference;
3855
3937
  static resolveForwardRef: outputAst.ExternalReference;
3938
+ static replaceMetadata: outputAst.ExternalReference;
3856
3939
  static ɵɵdefineInjectable: outputAst.ExternalReference;
3857
3940
  static declareInjectable: outputAst.ExternalReference;
3858
3941
  static InjectableDeclaration: outputAst.ExternalReference;
@@ -3910,6 +3993,7 @@ export declare class R3Identifiers {
3910
3993
  static ProvidersFeature: outputAst.ExternalReference;
3911
3994
  static HostDirectivesFeature: outputAst.ExternalReference;
3912
3995
  static InputTransformsFeatureFeature: outputAst.ExternalReference;
3996
+ static ExternalStylesFeature: outputAst.ExternalReference;
3913
3997
  static listener: outputAst.ExternalReference;
3914
3998
  static getInheritedFactory: outputAst.ExternalReference;
3915
3999
  static sanitizeHtml: outputAst.ExternalReference;
@@ -4329,6 +4413,7 @@ export declare class RecursiveAstVisitor implements AstVisitor {
4329
4413
  visitLiteralMap(ast: LiteralMap, context: any): any;
4330
4414
  visitLiteralPrimitive(ast: LiteralPrimitive, context: any): any;
4331
4415
  visitPrefixNot(ast: PrefixNot, context: any): any;
4416
+ visitTypeofExpresion(ast: TypeofExpression, context: any): void;
4332
4417
  visitNonNullAssert(ast: NonNullAssert, context: any): any;
4333
4418
  visitPropertyRead(ast: PropertyRead, context: any): any;
4334
4419
  visitPropertyWrite(ast: PropertyWrite, context: any): any;
@@ -4704,6 +4789,7 @@ declare namespace t {
4704
4789
  TmplAstElement as Element,
4705
4790
  TmplAstDeferredTrigger as DeferredTrigger,
4706
4791
  TmplAstBoundDeferredTrigger as BoundDeferredTrigger,
4792
+ TmplAstNeverDeferredTrigger as NeverDeferredTrigger,
4707
4793
  TmplAstIdleDeferredTrigger as IdleDeferredTrigger,
4708
4794
  TmplAstImmediateDeferredTrigger as ImmediateDeferredTrigger,
4709
4795
  TmplAstHoverDeferredTrigger as HoverDeferredTrigger,
@@ -4907,7 +4993,7 @@ export declare class TmplAstBoundAttribute implements TmplAstNode {
4907
4993
 
4908
4994
  export declare class TmplAstBoundDeferredTrigger extends TmplAstDeferredTrigger {
4909
4995
  value: AST;
4910
- constructor(value: AST, sourceSpan: ParseSourceSpan, prefetchSpan: ParseSourceSpan | null, whenSourceSpan: ParseSourceSpan);
4996
+ constructor(value: AST, sourceSpan: ParseSourceSpan, prefetchSpan: ParseSourceSpan | null, whenSourceSpan: ParseSourceSpan, hydrateSpan: ParseSourceSpan | null);
4911
4997
  }
4912
4998
 
4913
4999
  export declare class TmplAstBoundEvent implements TmplAstNode {
@@ -4952,9 +5038,11 @@ export declare class TmplAstDeferredBlock extends TmplAstBlockNode implements Tm
4952
5038
  i18n?: I18nMeta_2 | undefined;
4953
5039
  readonly triggers: Readonly<TmplAstDeferredBlockTriggers>;
4954
5040
  readonly prefetchTriggers: Readonly<TmplAstDeferredBlockTriggers>;
5041
+ readonly hydrateTriggers: Readonly<TmplAstDeferredBlockTriggers>;
4955
5042
  private readonly definedTriggers;
4956
5043
  private readonly definedPrefetchTriggers;
4957
- constructor(children: TmplAstNode[], triggers: TmplAstDeferredBlockTriggers, prefetchTriggers: TmplAstDeferredBlockTriggers, placeholder: TmplAstDeferredBlockPlaceholder | null, loading: TmplAstDeferredBlockLoading | null, error: TmplAstDeferredBlockError | null, nameSpan: ParseSourceSpan, sourceSpan: ParseSourceSpan, mainBlockSpan: ParseSourceSpan, startSourceSpan: ParseSourceSpan, endSourceSpan: ParseSourceSpan | null, i18n?: I18nMeta_2 | undefined);
5044
+ private readonly definedHydrateTriggers;
5045
+ constructor(children: TmplAstNode[], triggers: TmplAstDeferredBlockTriggers, prefetchTriggers: TmplAstDeferredBlockTriggers, hydrateTriggers: TmplAstDeferredBlockTriggers, placeholder: TmplAstDeferredBlockPlaceholder | null, loading: TmplAstDeferredBlockLoading | null, error: TmplAstDeferredBlockError | null, nameSpan: ParseSourceSpan, sourceSpan: ParseSourceSpan, mainBlockSpan: ParseSourceSpan, startSourceSpan: ParseSourceSpan, endSourceSpan: ParseSourceSpan | null, i18n?: I18nMeta_2 | undefined);
4958
5046
  visit<Result>(visitor: TmplAstVisitor<Result>): Result;
4959
5047
  visitAll(visitor: TmplAstVisitor<unknown>): void;
4960
5048
  private visitTriggers;
@@ -4992,6 +5080,7 @@ export declare interface TmplAstDeferredBlockTriggers {
4992
5080
  timer?: TmplAstTimerDeferredTrigger;
4993
5081
  interaction?: TmplAstInteractionDeferredTrigger;
4994
5082
  viewport?: TmplAstViewportDeferredTrigger;
5083
+ never?: TmplAstNeverDeferredTrigger;
4995
5084
  }
4996
5085
 
4997
5086
  export declare abstract class TmplAstDeferredTrigger implements TmplAstNode {
@@ -4999,7 +5088,8 @@ export declare abstract class TmplAstDeferredTrigger implements TmplAstNode {
4999
5088
  sourceSpan: ParseSourceSpan;
5000
5089
  prefetchSpan: ParseSourceSpan | null;
5001
5090
  whenOrOnSourceSpan: ParseSourceSpan | null;
5002
- constructor(nameSpan: ParseSourceSpan | null, sourceSpan: ParseSourceSpan, prefetchSpan: ParseSourceSpan | null, whenOrOnSourceSpan: ParseSourceSpan | null);
5091
+ hydrateSpan: ParseSourceSpan | null;
5092
+ constructor(nameSpan: ParseSourceSpan | null, sourceSpan: ParseSourceSpan, prefetchSpan: ParseSourceSpan | null, whenOrOnSourceSpan: ParseSourceSpan | null, hydrateSpan: ParseSourceSpan | null);
5003
5093
  visit<Result>(visitor: TmplAstVisitor<Result>): Result;
5004
5094
  }
5005
5095
 
@@ -5041,7 +5131,7 @@ export declare class TmplAstForLoopBlockEmpty extends TmplAstBlockNode implement
5041
5131
 
5042
5132
  export declare class TmplAstHoverDeferredTrigger extends TmplAstDeferredTrigger {
5043
5133
  reference: string | null;
5044
- constructor(reference: string | null, nameSpan: ParseSourceSpan, sourceSpan: ParseSourceSpan, prefetchSpan: ParseSourceSpan | null, onSourceSpan: ParseSourceSpan | null);
5134
+ constructor(reference: string | null, nameSpan: ParseSourceSpan, sourceSpan: ParseSourceSpan, prefetchSpan: ParseSourceSpan | null, onSourceSpan: ParseSourceSpan | null, hydrateSpan: ParseSourceSpan | null);
5045
5135
  }
5046
5136
 
5047
5137
  export declare class TmplAstIcu implements TmplAstNode {
@@ -5084,7 +5174,7 @@ export declare class TmplAstImmediateDeferredTrigger extends TmplAstDeferredTrig
5084
5174
 
5085
5175
  export declare class TmplAstInteractionDeferredTrigger extends TmplAstDeferredTrigger {
5086
5176
  reference: string | null;
5087
- constructor(reference: string | null, nameSpan: ParseSourceSpan, sourceSpan: ParseSourceSpan, prefetchSpan: ParseSourceSpan | null, onSourceSpan: ParseSourceSpan | null);
5177
+ constructor(reference: string | null, nameSpan: ParseSourceSpan, sourceSpan: ParseSourceSpan, prefetchSpan: ParseSourceSpan | null, onSourceSpan: ParseSourceSpan | null, hydrateSpan: ParseSourceSpan | null);
5088
5178
  }
5089
5179
 
5090
5180
  export declare class TmplAstLetDeclaration implements TmplAstNode {
@@ -5097,6 +5187,9 @@ export declare class TmplAstLetDeclaration implements TmplAstNode {
5097
5187
  visit<Result>(visitor: TmplAstVisitor<Result>): Result;
5098
5188
  }
5099
5189
 
5190
+ export declare class TmplAstNeverDeferredTrigger extends TmplAstDeferredTrigger {
5191
+ }
5192
+
5100
5193
  export declare interface TmplAstNode {
5101
5194
  sourceSpan: ParseSourceSpan;
5102
5195
  visit<Result>(visitor: TmplAstVisitor<Result>): Result;
@@ -5207,7 +5300,7 @@ export declare class TmplAstTextAttribute implements TmplAstNode {
5207
5300
 
5208
5301
  export declare class TmplAstTimerDeferredTrigger extends TmplAstDeferredTrigger {
5209
5302
  delay: number;
5210
- constructor(delay: number, nameSpan: ParseSourceSpan, sourceSpan: ParseSourceSpan, prefetchSpan: ParseSourceSpan | null, onSourceSpan: ParseSourceSpan | null);
5303
+ constructor(delay: number, nameSpan: ParseSourceSpan, sourceSpan: ParseSourceSpan, prefetchSpan: ParseSourceSpan | null, onSourceSpan: ParseSourceSpan | null, hydrateSpan: ParseSourceSpan | null);
5211
5304
  }
5212
5305
 
5213
5306
  export declare class TmplAstUnknownBlock implements TmplAstNode {
@@ -5230,7 +5323,7 @@ export declare class TmplAstVariable implements TmplAstNode {
5230
5323
 
5231
5324
  export declare class TmplAstViewportDeferredTrigger extends TmplAstDeferredTrigger {
5232
5325
  reference: string | null;
5233
- constructor(reference: string | null, nameSpan: ParseSourceSpan, sourceSpan: ParseSourceSpan, prefetchSpan: ParseSourceSpan | null, onSourceSpan: ParseSourceSpan | null);
5326
+ constructor(reference: string | null, nameSpan: ParseSourceSpan, sourceSpan: ParseSourceSpan, prefetchSpan: ParseSourceSpan | null, onSourceSpan: ParseSourceSpan | null, hydrateSpan: ParseSourceSpan | null);
5234
5327
  }
5235
5328
 
5236
5329
  export declare function tmplAstVisitAll<Result>(visitor: TmplAstVisitor<Result>, nodes: TmplAstNode[]): Result[];
@@ -5284,6 +5377,7 @@ export declare class Token {
5284
5377
  isKeywordTrue(): boolean;
5285
5378
  isKeywordFalse(): boolean;
5286
5379
  isKeywordThis(): boolean;
5380
+ isKeywordTypeof(): boolean;
5287
5381
  isError(): boolean;
5288
5382
  toNumber(): number;
5289
5383
  toString(): string | null;
@@ -5420,6 +5514,12 @@ export declare class TypeofExpr extends Expression {
5420
5514
 
5421
5515
  declare function typeofExpr(expr: Expression): TypeofExpr;
5422
5516
 
5517
+ export declare class TypeofExpression extends AST {
5518
+ expression: AST;
5519
+ constructor(span: ParseSpan, sourceSpan: AbsoluteSourceSpan, expression: AST);
5520
+ visit(visitor: AstVisitor, context?: any): any;
5521
+ }
5522
+
5423
5523
  export declare interface TypeVisitor {
5424
5524
  visitBuiltinType(type: BuiltinType, context: any): any;
5425
5525
  visitExpressionType(type: ExpressionType, context: any): any;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@angular/compiler",
3
- "version": "19.0.0-next.1",
3
+ "version": "19.0.0-next.10",
4
4
  "description": "Angular - the compiler library",
5
5
  "author": "angular",
6
6
  "license": "MIT",
@@ -11,7 +11,7 @@
11
11
  "tslib": "^2.3.0"
12
12
  },
13
13
  "peerDependencies": {
14
- "@angular/core": "19.0.0-next.1"
14
+ "@angular/core": "19.0.0-next.10"
15
15
  },
16
16
  "peerDependenciesMeta": {
17
17
  "@angular/core": {
@@ -53,8 +53,6 @@
53
53
  },
54
54
  ".": {
55
55
  "types": "./index.d.ts",
56
- "esm2022": "./esm2022/index.mjs",
57
- "esm": "./esm2022/index.mjs",
58
56
  "default": "./fesm2022/compiler.mjs"
59
57
  }
60
58
  }
@@ -1,13 +0,0 @@
1
- /**
2
- * @license
3
- * Copyright Google LLC All Rights Reserved.
4
- *
5
- * Use of this source code is governed by an MIT-style license that can be
6
- * found in the LICENSE file at https://angular.io/license
7
- */
8
- // This file is not used to build this module. It is only used during editing
9
- // by the TypeScript language service and during build for verification. `ngc`
10
- // replaces this file with production index.ts when it rewrites private symbol
11
- // names.
12
- export * from './public_api';
13
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcGlsZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb21waWxlci9jb21waWxlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7O0dBTUc7QUFFSCw2RUFBNkU7QUFDN0UsOEVBQThFO0FBQzlFLDhFQUE4RTtBQUM5RSxTQUFTO0FBRVQsY0FBYyxjQUFjLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlXG4gKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlXG4gKi9cblxuLy8gVGhpcyBmaWxlIGlzIG5vdCB1c2VkIHRvIGJ1aWxkIHRoaXMgbW9kdWxlLiBJdCBpcyBvbmx5IHVzZWQgZHVyaW5nIGVkaXRpbmdcbi8vIGJ5IHRoZSBUeXBlU2NyaXB0IGxhbmd1YWdlIHNlcnZpY2UgYW5kIGR1cmluZyBidWlsZCBmb3IgdmVyaWZpY2F0aW9uLiBgbmdjYFxuLy8gcmVwbGFjZXMgdGhpcyBmaWxlIHdpdGggcHJvZHVjdGlvbiBpbmRleC50cyB3aGVuIGl0IHJld3JpdGVzIHByaXZhdGUgc3ltYm9sXG4vLyBuYW1lcy5cblxuZXhwb3J0ICogZnJvbSAnLi9wdWJsaWNfYXBpJztcbiJdfQ==
package/esm2022/index.mjs DELETED
@@ -1,13 +0,0 @@
1
- /**
2
- * @license
3
- * Copyright Google LLC All Rights Reserved.
4
- *
5
- * Use of this source code is governed by an MIT-style license that can be
6
- * found in the LICENSE file at https://angular.io/license
7
- */
8
- // This file is not used to build this module. It is only used during editing
9
- // by the TypeScript language service and during build for verification. `ngc`
10
- // replaces this file with production index.ts when it rewrites private symbol
11
- // names.
12
- export * from './compiler';
13
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb21waWxlci9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7O0dBTUc7QUFFSCw2RUFBNkU7QUFDN0UsOEVBQThFO0FBQzlFLDhFQUE4RTtBQUM5RSxTQUFTO0FBRVQsY0FBYyxZQUFZLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlXG4gKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlXG4gKi9cblxuLy8gVGhpcyBmaWxlIGlzIG5vdCB1c2VkIHRvIGJ1aWxkIHRoaXMgbW9kdWxlLiBJdCBpcyBvbmx5IHVzZWQgZHVyaW5nIGVkaXRpbmdcbi8vIGJ5IHRoZSBUeXBlU2NyaXB0IGxhbmd1YWdlIHNlcnZpY2UgYW5kIGR1cmluZyBidWlsZCBmb3IgdmVyaWZpY2F0aW9uLiBgbmdjYFxuLy8gcmVwbGFjZXMgdGhpcyBmaWxlIHdpdGggcHJvZHVjdGlvbiBpbmRleC50cyB3aGVuIGl0IHJld3JpdGVzIHByaXZhdGUgc3ltYm9sXG4vLyBuYW1lcy5cblxuZXhwb3J0ICogZnJvbSAnLi9jb21waWxlcic7XG4iXX0=
@@ -1,15 +0,0 @@
1
- /**
2
- * @license
3
- * Copyright Google LLC All Rights Reserved.
4
- *
5
- * Use of this source code is governed by an MIT-style license that can be
6
- * found in the LICENSE file at https://angular.io/license
7
- */
8
- /**
9
- * @module
10
- * @description
11
- * Entry point for all public APIs of this package.
12
- */
13
- export * from './src/compiler';
14
- // This file only reexports content of the `src` folder. Keep it that way.
15
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbXBpbGVyL3B1YmxpY19hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7OztHQU1HO0FBRUg7Ozs7R0FJRztBQUNILGNBQWMsZ0JBQWdCLENBQUM7QUFFL0IsMEVBQTBFIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZVxuICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZVxuICovXG5cbi8qKlxuICogQG1vZHVsZVxuICogQGRlc2NyaXB0aW9uXG4gKiBFbnRyeSBwb2ludCBmb3IgYWxsIHB1YmxpYyBBUElzIG9mIHRoaXMgcGFja2FnZS5cbiAqL1xuZXhwb3J0ICogZnJvbSAnLi9zcmMvY29tcGlsZXInO1xuXG4vLyBUaGlzIGZpbGUgb25seSByZWV4cG9ydHMgY29udGVudCBvZiB0aGUgYHNyY2AgZm9sZGVyLiBLZWVwIGl0IHRoYXQgd2F5LlxuIl19
@@ -1,31 +0,0 @@
1
- /**
2
- * @license
3
- * Copyright Google LLC All Rights Reserved.
4
- *
5
- * Use of this source code is governed by an MIT-style license that can be
6
- * found in the LICENSE file at https://angular.io/license
7
- */
8
- const UNUSABLE_INTERPOLATION_REGEXPS = [
9
- /@/, // control flow reserved symbol
10
- /^\s*$/, // empty
11
- /[<>]/, // html tag
12
- /^[{}]$/, // i18n expansion
13
- /&(#|[a-z])/i, // character reference,
14
- /^\/\//, // comment
15
- ];
16
- export function assertInterpolationSymbols(identifier, value) {
17
- if (value != null && !(Array.isArray(value) && value.length == 2)) {
18
- throw new Error(`Expected '${identifier}' to be an array, [start, end].`);
19
- }
20
- else if (value != null) {
21
- const start = value[0];
22
- const end = value[1];
23
- // Check for unusable interpolation symbols
24
- UNUSABLE_INTERPOLATION_REGEXPS.forEach((regexp) => {
25
- if (regexp.test(start) || regexp.test(end)) {
26
- throw new Error(`['${start}', '${end}'] contains unusable interpolation symbol.`);
27
- }
28
- });
29
- }
30
- }
31
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXNzZXJ0aW9ucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbXBpbGVyL3NyYy9hc3NlcnRpb25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7R0FNRztBQUVILE1BQU0sOEJBQThCLEdBQUc7SUFDckMsR0FBRyxFQUFFLCtCQUErQjtJQUNwQyxPQUFPLEVBQUUsUUFBUTtJQUNqQixNQUFNLEVBQUUsV0FBVztJQUNuQixRQUFRLEVBQUUsaUJBQWlCO0lBQzNCLGFBQWEsRUFBRSx1QkFBdUI7SUFDdEMsT0FBTyxFQUFFLFVBQVU7Q0FDcEIsQ0FBQztBQUVGLE1BQU0sVUFBVSwwQkFBMEIsQ0FBQyxVQUFrQixFQUFFLEtBQVU7SUFDdkUsSUFBSSxLQUFLLElBQUksSUFBSSxJQUFJLENBQUMsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxJQUFJLEtBQUssQ0FBQyxNQUFNLElBQUksQ0FBQyxDQUFDLEVBQUUsQ0FBQztRQUNsRSxNQUFNLElBQUksS0FBSyxDQUFDLGFBQWEsVUFBVSxpQ0FBaUMsQ0FBQyxDQUFDO0lBQzVFLENBQUM7U0FBTSxJQUFJLEtBQUssSUFBSSxJQUFJLEVBQUUsQ0FBQztRQUN6QixNQUFNLEtBQUssR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFXLENBQUM7UUFDakMsTUFBTSxHQUFHLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBVyxDQUFDO1FBQy9CLDJDQUEyQztRQUMzQyw4QkFBOEIsQ0FBQyxPQUFPLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRTtZQUNoRCxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDO2dCQUMzQyxNQUFNLElBQUksS0FBSyxDQUFDLEtBQUssS0FBSyxPQUFPLEdBQUcsNENBQTRDLENBQUMsQ0FBQztZQUNwRixDQUFDO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0FBQ0gsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmVcbiAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2VcbiAqL1xuXG5jb25zdCBVTlVTQUJMRV9JTlRFUlBPTEFUSU9OX1JFR0VYUFMgPSBbXG4gIC9ALywgLy8gY29udHJvbCBmbG93IHJlc2VydmVkIHN5bWJvbFxuICAvXlxccyokLywgLy8gZW1wdHlcbiAgL1s8Pl0vLCAvLyBodG1sIHRhZ1xuICAvXlt7fV0kLywgLy8gaTE4biBleHBhbnNpb25cbiAgLyYoI3xbYS16XSkvaSwgLy8gY2hhcmFjdGVyIHJlZmVyZW5jZSxcbiAgL15cXC9cXC8vLCAvLyBjb21tZW50XG5dO1xuXG5leHBvcnQgZnVuY3Rpb24gYXNzZXJ0SW50ZXJwb2xhdGlvblN5bWJvbHMoaWRlbnRpZmllcjogc3RyaW5nLCB2YWx1ZTogYW55KTogdm9pZCB7XG4gIGlmICh2YWx1ZSAhPSBudWxsICYmICEoQXJyYXkuaXNBcnJheSh2YWx1ZSkgJiYgdmFsdWUubGVuZ3RoID09IDIpKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKGBFeHBlY3RlZCAnJHtpZGVudGlmaWVyfScgdG8gYmUgYW4gYXJyYXksIFtzdGFydCwgZW5kXS5gKTtcbiAgfSBlbHNlIGlmICh2YWx1ZSAhPSBudWxsKSB7XG4gICAgY29uc3Qgc3RhcnQgPSB2YWx1ZVswXSBhcyBzdHJpbmc7XG4gICAgY29uc3QgZW5kID0gdmFsdWVbMV0gYXMgc3RyaW5nO1xuICAgIC8vIENoZWNrIGZvciB1bnVzYWJsZSBpbnRlcnBvbGF0aW9uIHN5bWJvbHNcbiAgICBVTlVTQUJMRV9JTlRFUlBPTEFUSU9OX1JFR0VYUFMuZm9yRWFjaCgocmVnZXhwKSA9PiB7XG4gICAgICBpZiAocmVnZXhwLnRlc3Qoc3RhcnQpIHx8IHJlZ2V4cC50ZXN0KGVuZCkpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBbJyR7c3RhcnR9JywgJyR7ZW5kfSddIGNvbnRhaW5zIHVudXNhYmxlIGludGVycG9sYXRpb24gc3ltYm9sLmApO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG59XG4iXX0=
@@ -1,90 +0,0 @@
1
- /**
2
- * @license
3
- * Copyright Google LLC All Rights Reserved.
4
- *
5
- * Use of this source code is governed by an MIT-style license that can be
6
- * found in the LICENSE file at https://angular.io/license
7
- */
8
- export const $EOF = 0;
9
- export const $BSPACE = 8;
10
- export const $TAB = 9;
11
- export const $LF = 10;
12
- export const $VTAB = 11;
13
- export const $FF = 12;
14
- export const $CR = 13;
15
- export const $SPACE = 32;
16
- export const $BANG = 33;
17
- export const $DQ = 34;
18
- export const $HASH = 35;
19
- export const $$ = 36;
20
- export const $PERCENT = 37;
21
- export const $AMPERSAND = 38;
22
- export const $SQ = 39;
23
- export const $LPAREN = 40;
24
- export const $RPAREN = 41;
25
- export const $STAR = 42;
26
- export const $PLUS = 43;
27
- export const $COMMA = 44;
28
- export const $MINUS = 45;
29
- export const $PERIOD = 46;
30
- export const $SLASH = 47;
31
- export const $COLON = 58;
32
- export const $SEMICOLON = 59;
33
- export const $LT = 60;
34
- export const $EQ = 61;
35
- export const $GT = 62;
36
- export const $QUESTION = 63;
37
- export const $0 = 48;
38
- export const $7 = 55;
39
- export const $9 = 57;
40
- export const $A = 65;
41
- export const $E = 69;
42
- export const $F = 70;
43
- export const $X = 88;
44
- export const $Z = 90;
45
- export const $LBRACKET = 91;
46
- export const $BACKSLASH = 92;
47
- export const $RBRACKET = 93;
48
- export const $CARET = 94;
49
- export const $_ = 95;
50
- export const $a = 97;
51
- export const $b = 98;
52
- export const $e = 101;
53
- export const $f = 102;
54
- export const $n = 110;
55
- export const $r = 114;
56
- export const $t = 116;
57
- export const $u = 117;
58
- export const $v = 118;
59
- export const $x = 120;
60
- export const $z = 122;
61
- export const $LBRACE = 123;
62
- export const $BAR = 124;
63
- export const $RBRACE = 125;
64
- export const $NBSP = 160;
65
- export const $PIPE = 124;
66
- export const $TILDA = 126;
67
- export const $AT = 64;
68
- export const $BT = 96;
69
- export function isWhitespace(code) {
70
- return (code >= $TAB && code <= $SPACE) || code == $NBSP;
71
- }
72
- export function isDigit(code) {
73
- return $0 <= code && code <= $9;
74
- }
75
- export function isAsciiLetter(code) {
76
- return (code >= $a && code <= $z) || (code >= $A && code <= $Z);
77
- }
78
- export function isAsciiHexDigit(code) {
79
- return (code >= $a && code <= $f) || (code >= $A && code <= $F) || isDigit(code);
80
- }
81
- export function isNewLine(code) {
82
- return code === $LF || code === $CR;
83
- }
84
- export function isOctalDigit(code) {
85
- return $0 <= code && code <= $7;
86
- }
87
- export function isQuote(code) {
88
- return code === $SQ || code === $DQ || code === $BT;
89
- }
90
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhcnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb21waWxlci9zcmMvY2hhcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7OztHQU1HO0FBRUgsTUFBTSxDQUFDLE1BQU0sSUFBSSxHQUFHLENBQUMsQ0FBQztBQUN0QixNQUFNLENBQUMsTUFBTSxPQUFPLEdBQUcsQ0FBQyxDQUFDO0FBQ3pCLE1BQU0sQ0FBQyxNQUFNLElBQUksR0FBRyxDQUFDLENBQUM7QUFDdEIsTUFBTSxDQUFDLE1BQU0sR0FBRyxHQUFHLEVBQUUsQ0FBQztBQUN0QixNQUFNLENBQUMsTUFBTSxLQUFLLEdBQUcsRUFBRSxDQUFDO0FBQ3hCLE1BQU0sQ0FBQyxNQUFNLEdBQUcsR0FBRyxFQUFFLENBQUM7QUFDdEIsTUFBTSxDQUFDLE1BQU0sR0FBRyxHQUFHLEVBQUUsQ0FBQztBQUN0QixNQUFNLENBQUMsTUFBTSxNQUFNLEdBQUcsRUFBRSxDQUFDO0FBQ3pCLE1BQU0sQ0FBQyxNQUFNLEtBQUssR0FBRyxFQUFFLENBQUM7QUFDeEIsTUFBTSxDQUFDLE1BQU0sR0FBRyxHQUFHLEVBQUUsQ0FBQztBQUN0QixNQUFNLENBQUMsTUFBTSxLQUFLLEdBQUcsRUFBRSxDQUFDO0FBQ3hCLE1BQU0sQ0FBQyxNQUFNLEVBQUUsR0FBRyxFQUFFLENBQUM7QUFDckIsTUFBTSxDQUFDLE1BQU0sUUFBUSxHQUFHLEVBQUUsQ0FBQztBQUMzQixNQUFNLENBQUMsTUFBTSxVQUFVLEdBQUcsRUFBRSxDQUFDO0FBQzdCLE1BQU0sQ0FBQyxNQUFNLEdBQUcsR0FBRyxFQUFFLENBQUM7QUFDdEIsTUFBTSxDQUFDLE1BQU0sT0FBTyxHQUFHLEVBQUUsQ0FBQztBQUMxQixNQUFNLENBQUMsTUFBTSxPQUFPLEdBQUcsRUFBRSxDQUFDO0FBQzFCLE1BQU0sQ0FBQyxNQUFNLEtBQUssR0FBRyxFQUFFLENBQUM7QUFDeEIsTUFBTSxDQUFDLE1BQU0sS0FBSyxHQUFHLEVBQUUsQ0FBQztBQUN4QixNQUFNLENBQUMsTUFBTSxNQUFNLEdBQUcsRUFBRSxDQUFDO0FBQ3pCLE1BQU0sQ0FBQyxNQUFNLE1BQU0sR0FBRyxFQUFFLENBQUM7QUFDekIsTUFBTSxDQUFDLE1BQU0sT0FBTyxHQUFHLEVBQUUsQ0FBQztBQUMxQixNQUFNLENBQUMsTUFBTSxNQUFNLEdBQUcsRUFBRSxDQUFDO0FBQ3pCLE1BQU0sQ0FBQyxNQUFNLE1BQU0sR0FBRyxFQUFFLENBQUM7QUFDekIsTUFBTSxDQUFDLE1BQU0sVUFBVSxHQUFHLEVBQUUsQ0FBQztBQUM3QixNQUFNLENBQUMsTUFBTSxHQUFHLEdBQUcsRUFBRSxDQUFDO0FBQ3RCLE1BQU0sQ0FBQyxNQUFNLEdBQUcsR0FBRyxFQUFFLENBQUM7QUFDdEIsTUFBTSxDQUFDLE1BQU0sR0FBRyxHQUFHLEVBQUUsQ0FBQztBQUN0QixNQUFNLENBQUMsTUFBTSxTQUFTLEdBQUcsRUFBRSxDQUFDO0FBRTVCLE1BQU0sQ0FBQyxNQUFNLEVBQUUsR0FBRyxFQUFFLENBQUM7QUFDckIsTUFBTSxDQUFDLE1BQU0sRUFBRSxHQUFHLEVBQUUsQ0FBQztBQUNyQixNQUFNLENBQUMsTUFBTSxFQUFFLEdBQUcsRUFBRSxDQUFDO0FBRXJCLE1BQU0sQ0FBQyxNQUFNLEVBQUUsR0FBRyxFQUFFLENBQUM7QUFDckIsTUFBTSxDQUFDLE1BQU0sRUFBRSxHQUFHLEVBQUUsQ0FBQztBQUNyQixNQUFNLENBQUMsTUFBTSxFQUFFLEdBQUcsRUFBRSxDQUFDO0FBQ3JCLE1BQU0sQ0FBQyxNQUFNLEVBQUUsR0FBRyxFQUFFLENBQUM7QUFDckIsTUFBTSxDQUFDLE1BQU0sRUFBRSxHQUFHLEVBQUUsQ0FBQztBQUVyQixNQUFNLENBQUMsTUFBTSxTQUFTLEdBQUcsRUFBRSxDQUFDO0FBQzVCLE1BQU0sQ0FBQyxNQUFNLFVBQVUsR0FBRyxFQUFFLENBQUM7QUFDN0IsTUFBTSxDQUFDLE1BQU0sU0FBUyxHQUFHLEVBQUUsQ0FBQztBQUM1QixNQUFNLENBQUMsTUFBTSxNQUFNLEdBQUcsRUFBRSxDQUFDO0FBQ3pCLE1BQU0sQ0FBQyxNQUFNLEVBQUUsR0FBRyxFQUFFLENBQUM7QUFFckIsTUFBTSxDQUFDLE1BQU0sRUFBRSxHQUFHLEVBQUUsQ0FBQztBQUNyQixNQUFNLENBQUMsTUFBTSxFQUFFLEdBQUcsRUFBRSxDQUFDO0FBQ3JCLE1BQU0sQ0FBQyxNQUFNLEVBQUUsR0FBRyxHQUFHLENBQUM7QUFDdEIsTUFBTSxDQUFDLE1BQU0sRUFBRSxHQUFHLEdBQUcsQ0FBQztBQUN0QixNQUFNLENBQUMsTUFBTSxFQUFFLEdBQUcsR0FBRyxDQUFDO0FBQ3RCLE1BQU0sQ0FBQyxNQUFNLEVBQUUsR0FBRyxHQUFHLENBQUM7QUFDdEIsTUFBTSxDQUFDLE1BQU0sRUFBRSxHQUFHLEdBQUcsQ0FBQztBQUN0QixNQUFNLENBQUMsTUFBTSxFQUFFLEdBQUcsR0FBRyxDQUFDO0FBQ3RCLE1BQU0sQ0FBQyxNQUFNLEVBQUUsR0FBRyxHQUFHLENBQUM7QUFDdEIsTUFBTSxDQUFDLE1BQU0sRUFBRSxHQUFHLEdBQUcsQ0FBQztBQUN0QixNQUFNLENBQUMsTUFBTSxFQUFFLEdBQUcsR0FBRyxDQUFDO0FBRXRCLE1BQU0sQ0FBQyxNQUFNLE9BQU8sR0FBRyxHQUFHLENBQUM7QUFDM0IsTUFBTSxDQUFDLE1BQU0sSUFBSSxHQUFHLEdBQUcsQ0FBQztBQUN4QixNQUFNLENBQUMsTUFBTSxPQUFPLEdBQUcsR0FBRyxDQUFDO0FBQzNCLE1BQU0sQ0FBQyxNQUFNLEtBQUssR0FBRyxHQUFHLENBQUM7QUFFekIsTUFBTSxDQUFDLE1BQU0sS0FBSyxHQUFHLEdBQUcsQ0FBQztBQUN6QixNQUFNLENBQUMsTUFBTSxNQUFNLEdBQUcsR0FBRyxDQUFDO0FBQzFCLE1BQU0sQ0FBQyxNQUFNLEdBQUcsR0FBRyxFQUFFLENBQUM7QUFFdEIsTUFBTSxDQUFDLE1BQU0sR0FBRyxHQUFHLEVBQUUsQ0FBQztBQUV0QixNQUFNLFVBQVUsWUFBWSxDQUFDLElBQVk7SUFDdkMsT0FBTyxDQUFDLElBQUksSUFBSSxJQUFJLElBQUksSUFBSSxJQUFJLE1BQU0sQ0FBQyxJQUFJLElBQUksSUFBSSxLQUFLLENBQUM7QUFDM0QsQ0FBQztBQUVELE1BQU0sVUFBVSxPQUFPLENBQUMsSUFBWTtJQUNsQyxPQUFPLEVBQUUsSUFBSSxJQUFJLElBQUksSUFBSSxJQUFJLEVBQUUsQ0FBQztBQUNsQyxDQUFDO0FBRUQsTUFBTSxVQUFVLGFBQWEsQ0FBQyxJQUFZO0lBQ3hDLE9BQU8sQ0FBQyxJQUFJLElBQUksRUFBRSxJQUFJLElBQUksSUFBSSxFQUFFLENBQUMsSUFBSSxDQUFDLElBQUksSUFBSSxFQUFFLElBQUksSUFBSSxJQUFJLEVBQUUsQ0FBQyxDQUFDO0FBQ2xFLENBQUM7QUFFRCxNQUFNLFVBQVUsZUFBZSxDQUFDLElBQVk7SUFDMUMsT0FBTyxDQUFDLElBQUksSUFBSSxFQUFFLElBQUksSUFBSSxJQUFJLEVBQUUsQ0FBQyxJQUFJLENBQUMsSUFBSSxJQUFJLEVBQUUsSUFBSSxJQUFJLElBQUksRUFBRSxDQUFDLElBQUksT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO0FBQ25GLENBQUM7QUFFRCxNQUFNLFVBQVUsU0FBUyxDQUFDLElBQVk7SUFDcEMsT0FBTyxJQUFJLEtBQUssR0FBRyxJQUFJLElBQUksS0FBSyxHQUFHLENBQUM7QUFDdEMsQ0FBQztBQUVELE1BQU0sVUFBVSxZQUFZLENBQUMsSUFBWTtJQUN2QyxPQUFPLEVBQUUsSUFBSSxJQUFJLElBQUksSUFBSSxJQUFJLEVBQUUsQ0FBQztBQUNsQyxDQUFDO0FBRUQsTUFBTSxVQUFVLE9BQU8sQ0FBQyxJQUFZO0lBQ2xDLE9BQU8sSUFBSSxLQUFLLEdBQUcsSUFBSSxJQUFJLEtBQUssR0FBRyxJQUFJLElBQUksS0FBSyxHQUFHLENBQUM7QUFDdEQsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmVcbiAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2VcbiAqL1xuXG5leHBvcnQgY29uc3QgJEVPRiA9IDA7XG5leHBvcnQgY29uc3QgJEJTUEFDRSA9IDg7XG5leHBvcnQgY29uc3QgJFRBQiA9IDk7XG5leHBvcnQgY29uc3QgJExGID0gMTA7XG5leHBvcnQgY29uc3QgJFZUQUIgPSAxMTtcbmV4cG9ydCBjb25zdCAkRkYgPSAxMjtcbmV4cG9ydCBjb25zdCAkQ1IgPSAxMztcbmV4cG9ydCBjb25zdCAkU1BBQ0UgPSAzMjtcbmV4cG9ydCBjb25zdCAkQkFORyA9IDMzO1xuZXhwb3J0IGNvbnN0ICREUSA9IDM0O1xuZXhwb3J0IGNvbnN0ICRIQVNIID0gMzU7XG5leHBvcnQgY29uc3QgJCQgPSAzNjtcbmV4cG9ydCBjb25zdCAkUEVSQ0VOVCA9IDM3O1xuZXhwb3J0IGNvbnN0ICRBTVBFUlNBTkQgPSAzODtcbmV4cG9ydCBjb25zdCAkU1EgPSAzOTtcbmV4cG9ydCBjb25zdCAkTFBBUkVOID0gNDA7XG5leHBvcnQgY29uc3QgJFJQQVJFTiA9IDQxO1xuZXhwb3J0IGNvbnN0ICRTVEFSID0gNDI7XG5leHBvcnQgY29uc3QgJFBMVVMgPSA0MztcbmV4cG9ydCBjb25zdCAkQ09NTUEgPSA0NDtcbmV4cG9ydCBjb25zdCAkTUlOVVMgPSA0NTtcbmV4cG9ydCBjb25zdCAkUEVSSU9EID0gNDY7XG5leHBvcnQgY29uc3QgJFNMQVNIID0gNDc7XG5leHBvcnQgY29uc3QgJENPTE9OID0gNTg7XG5leHBvcnQgY29uc3QgJFNFTUlDT0xPTiA9IDU5O1xuZXhwb3J0IGNvbnN0ICRMVCA9IDYwO1xuZXhwb3J0IGNvbnN0ICRFUSA9IDYxO1xuZXhwb3J0IGNvbnN0ICRHVCA9IDYyO1xuZXhwb3J0IGNvbnN0ICRRVUVTVElPTiA9IDYzO1xuXG5leHBvcnQgY29uc3QgJDAgPSA0ODtcbmV4cG9ydCBjb25zdCAkNyA9IDU1O1xuZXhwb3J0IGNvbnN0ICQ5ID0gNTc7XG5cbmV4cG9ydCBjb25zdCAkQSA9IDY1O1xuZXhwb3J0IGNvbnN0ICRFID0gNjk7XG5leHBvcnQgY29uc3QgJEYgPSA3MDtcbmV4cG9ydCBjb25zdCAkWCA9IDg4O1xuZXhwb3J0IGNvbnN0ICRaID0gOTA7XG5cbmV4cG9ydCBjb25zdCAkTEJSQUNLRVQgPSA5MTtcbmV4cG9ydCBjb25zdCAkQkFDS1NMQVNIID0gOTI7XG5leHBvcnQgY29uc3QgJFJCUkFDS0VUID0gOTM7XG5leHBvcnQgY29uc3QgJENBUkVUID0gOTQ7XG5leHBvcnQgY29uc3QgJF8gPSA5NTtcblxuZXhwb3J0IGNvbnN0ICRhID0gOTc7XG5leHBvcnQgY29uc3QgJGIgPSA5ODtcbmV4cG9ydCBjb25zdCAkZSA9IDEwMTtcbmV4cG9ydCBjb25zdCAkZiA9IDEwMjtcbmV4cG9ydCBjb25zdCAkbiA9IDExMDtcbmV4cG9ydCBjb25zdCAkciA9IDExNDtcbmV4cG9ydCBjb25zdCAkdCA9IDExNjtcbmV4cG9ydCBjb25zdCAkdSA9IDExNztcbmV4cG9ydCBjb25zdCAkdiA9IDExODtcbmV4cG9ydCBjb25zdCAkeCA9IDEyMDtcbmV4cG9ydCBjb25zdCAkeiA9IDEyMjtcblxuZXhwb3J0IGNvbnN0ICRMQlJBQ0UgPSAxMjM7XG5leHBvcnQgY29uc3QgJEJBUiA9IDEyNDtcbmV4cG9ydCBjb25zdCAkUkJSQUNFID0gMTI1O1xuZXhwb3J0IGNvbnN0ICROQlNQID0gMTYwO1xuXG5leHBvcnQgY29uc3QgJFBJUEUgPSAxMjQ7XG5leHBvcnQgY29uc3QgJFRJTERBID0gMTI2O1xuZXhwb3J0IGNvbnN0ICRBVCA9IDY0O1xuXG5leHBvcnQgY29uc3QgJEJUID0gOTY7XG5cbmV4cG9ydCBmdW5jdGlvbiBpc1doaXRlc3BhY2UoY29kZTogbnVtYmVyKTogYm9vbGVhbiB7XG4gIHJldHVybiAoY29kZSA+PSAkVEFCICYmIGNvZGUgPD0gJFNQQUNFKSB8fCBjb2RlID09ICROQlNQO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNEaWdpdChjb2RlOiBudW1iZXIpOiBib29sZWFuIHtcbiAgcmV0dXJuICQwIDw9IGNvZGUgJiYgY29kZSA8PSAkOTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzQXNjaWlMZXR0ZXIoY29kZTogbnVtYmVyKTogYm9vbGVhbiB7XG4gIHJldHVybiAoY29kZSA+PSAkYSAmJiBjb2RlIDw9ICR6KSB8fCAoY29kZSA+PSAkQSAmJiBjb2RlIDw9ICRaKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzQXNjaWlIZXhEaWdpdChjb2RlOiBudW1iZXIpOiBib29sZWFuIHtcbiAgcmV0dXJuIChjb2RlID49ICRhICYmIGNvZGUgPD0gJGYpIHx8IChjb2RlID49ICRBICYmIGNvZGUgPD0gJEYpIHx8IGlzRGlnaXQoY29kZSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc05ld0xpbmUoY29kZTogbnVtYmVyKTogYm9vbGVhbiB7XG4gIHJldHVybiBjb2RlID09PSAkTEYgfHwgY29kZSA9PT0gJENSO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNPY3RhbERpZ2l0KGNvZGU6IG51bWJlcik6IGJvb2xlYW4ge1xuICByZXR1cm4gJDAgPD0gY29kZSAmJiBjb2RlIDw9ICQ3O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNRdW90ZShjb2RlOiBudW1iZXIpOiBib29sZWFuIHtcbiAgcmV0dXJuIGNvZGUgPT09ICRTUSB8fCBjb2RlID09PSAkRFEgfHwgY29kZSA9PT0gJEJUO1xufVxuIl19