@angular/compiler 19.0.0-next.0 → 19.0.0-next.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 (186) hide show
  1. package/README.md +1 -1
  2. package/fesm2022/compiler.mjs +4742 -4473
  3. package/fesm2022/compiler.mjs.map +1 -1
  4. package/index.d.ts +35 -3
  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
@@ -1,480 +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 CORE = '@angular/core';
9
- export class Identifiers {
10
- /* Methods */
11
- static { this.NEW_METHOD = 'factory'; }
12
- static { this.TRANSFORM_METHOD = 'transform'; }
13
- static { this.PATCH_DEPS = 'patchedDeps'; }
14
- static { this.core = { name: null, moduleName: CORE }; }
15
- /* Instructions */
16
- static { this.namespaceHTML = { name: 'ɵɵnamespaceHTML', moduleName: CORE }; }
17
- static { this.namespaceMathML = { name: 'ɵɵnamespaceMathML', moduleName: CORE }; }
18
- static { this.namespaceSVG = { name: 'ɵɵnamespaceSVG', moduleName: CORE }; }
19
- static { this.element = { name: 'ɵɵelement', moduleName: CORE }; }
20
- static { this.elementStart = { name: 'ɵɵelementStart', moduleName: CORE }; }
21
- static { this.elementEnd = { name: 'ɵɵelementEnd', moduleName: CORE }; }
22
- static { this.advance = { name: 'ɵɵadvance', moduleName: CORE }; }
23
- static { this.syntheticHostProperty = {
24
- name: 'ɵɵsyntheticHostProperty',
25
- moduleName: CORE,
26
- }; }
27
- static { this.syntheticHostListener = {
28
- name: 'ɵɵsyntheticHostListener',
29
- moduleName: CORE,
30
- }; }
31
- static { this.attribute = { name: 'ɵɵattribute', moduleName: CORE }; }
32
- static { this.attributeInterpolate1 = {
33
- name: 'ɵɵattributeInterpolate1',
34
- moduleName: CORE,
35
- }; }
36
- static { this.attributeInterpolate2 = {
37
- name: 'ɵɵattributeInterpolate2',
38
- moduleName: CORE,
39
- }; }
40
- static { this.attributeInterpolate3 = {
41
- name: 'ɵɵattributeInterpolate3',
42
- moduleName: CORE,
43
- }; }
44
- static { this.attributeInterpolate4 = {
45
- name: 'ɵɵattributeInterpolate4',
46
- moduleName: CORE,
47
- }; }
48
- static { this.attributeInterpolate5 = {
49
- name: 'ɵɵattributeInterpolate5',
50
- moduleName: CORE,
51
- }; }
52
- static { this.attributeInterpolate6 = {
53
- name: 'ɵɵattributeInterpolate6',
54
- moduleName: CORE,
55
- }; }
56
- static { this.attributeInterpolate7 = {
57
- name: 'ɵɵattributeInterpolate7',
58
- moduleName: CORE,
59
- }; }
60
- static { this.attributeInterpolate8 = {
61
- name: 'ɵɵattributeInterpolate8',
62
- moduleName: CORE,
63
- }; }
64
- static { this.attributeInterpolateV = {
65
- name: 'ɵɵattributeInterpolateV',
66
- moduleName: CORE,
67
- }; }
68
- static { this.classProp = { name: 'ɵɵclassProp', moduleName: CORE }; }
69
- static { this.elementContainerStart = {
70
- name: 'ɵɵelementContainerStart',
71
- moduleName: CORE,
72
- }; }
73
- static { this.elementContainerEnd = {
74
- name: 'ɵɵelementContainerEnd',
75
- moduleName: CORE,
76
- }; }
77
- static { this.elementContainer = { name: 'ɵɵelementContainer', moduleName: CORE }; }
78
- static { this.styleMap = { name: 'ɵɵstyleMap', moduleName: CORE }; }
79
- static { this.styleMapInterpolate1 = {
80
- name: 'ɵɵstyleMapInterpolate1',
81
- moduleName: CORE,
82
- }; }
83
- static { this.styleMapInterpolate2 = {
84
- name: 'ɵɵstyleMapInterpolate2',
85
- moduleName: CORE,
86
- }; }
87
- static { this.styleMapInterpolate3 = {
88
- name: 'ɵɵstyleMapInterpolate3',
89
- moduleName: CORE,
90
- }; }
91
- static { this.styleMapInterpolate4 = {
92
- name: 'ɵɵstyleMapInterpolate4',
93
- moduleName: CORE,
94
- }; }
95
- static { this.styleMapInterpolate5 = {
96
- name: 'ɵɵstyleMapInterpolate5',
97
- moduleName: CORE,
98
- }; }
99
- static { this.styleMapInterpolate6 = {
100
- name: 'ɵɵstyleMapInterpolate6',
101
- moduleName: CORE,
102
- }; }
103
- static { this.styleMapInterpolate7 = {
104
- name: 'ɵɵstyleMapInterpolate7',
105
- moduleName: CORE,
106
- }; }
107
- static { this.styleMapInterpolate8 = {
108
- name: 'ɵɵstyleMapInterpolate8',
109
- moduleName: CORE,
110
- }; }
111
- static { this.styleMapInterpolateV = {
112
- name: 'ɵɵstyleMapInterpolateV',
113
- moduleName: CORE,
114
- }; }
115
- static { this.classMap = { name: 'ɵɵclassMap', moduleName: CORE }; }
116
- static { this.classMapInterpolate1 = {
117
- name: 'ɵɵclassMapInterpolate1',
118
- moduleName: CORE,
119
- }; }
120
- static { this.classMapInterpolate2 = {
121
- name: 'ɵɵclassMapInterpolate2',
122
- moduleName: CORE,
123
- }; }
124
- static { this.classMapInterpolate3 = {
125
- name: 'ɵɵclassMapInterpolate3',
126
- moduleName: CORE,
127
- }; }
128
- static { this.classMapInterpolate4 = {
129
- name: 'ɵɵclassMapInterpolate4',
130
- moduleName: CORE,
131
- }; }
132
- static { this.classMapInterpolate5 = {
133
- name: 'ɵɵclassMapInterpolate5',
134
- moduleName: CORE,
135
- }; }
136
- static { this.classMapInterpolate6 = {
137
- name: 'ɵɵclassMapInterpolate6',
138
- moduleName: CORE,
139
- }; }
140
- static { this.classMapInterpolate7 = {
141
- name: 'ɵɵclassMapInterpolate7',
142
- moduleName: CORE,
143
- }; }
144
- static { this.classMapInterpolate8 = {
145
- name: 'ɵɵclassMapInterpolate8',
146
- moduleName: CORE,
147
- }; }
148
- static { this.classMapInterpolateV = {
149
- name: 'ɵɵclassMapInterpolateV',
150
- moduleName: CORE,
151
- }; }
152
- static { this.styleProp = { name: 'ɵɵstyleProp', moduleName: CORE }; }
153
- static { this.stylePropInterpolate1 = {
154
- name: 'ɵɵstylePropInterpolate1',
155
- moduleName: CORE,
156
- }; }
157
- static { this.stylePropInterpolate2 = {
158
- name: 'ɵɵstylePropInterpolate2',
159
- moduleName: CORE,
160
- }; }
161
- static { this.stylePropInterpolate3 = {
162
- name: 'ɵɵstylePropInterpolate3',
163
- moduleName: CORE,
164
- }; }
165
- static { this.stylePropInterpolate4 = {
166
- name: 'ɵɵstylePropInterpolate4',
167
- moduleName: CORE,
168
- }; }
169
- static { this.stylePropInterpolate5 = {
170
- name: 'ɵɵstylePropInterpolate5',
171
- moduleName: CORE,
172
- }; }
173
- static { this.stylePropInterpolate6 = {
174
- name: 'ɵɵstylePropInterpolate6',
175
- moduleName: CORE,
176
- }; }
177
- static { this.stylePropInterpolate7 = {
178
- name: 'ɵɵstylePropInterpolate7',
179
- moduleName: CORE,
180
- }; }
181
- static { this.stylePropInterpolate8 = {
182
- name: 'ɵɵstylePropInterpolate8',
183
- moduleName: CORE,
184
- }; }
185
- static { this.stylePropInterpolateV = {
186
- name: 'ɵɵstylePropInterpolateV',
187
- moduleName: CORE,
188
- }; }
189
- static { this.nextContext = { name: 'ɵɵnextContext', moduleName: CORE }; }
190
- static { this.resetView = { name: 'ɵɵresetView', moduleName: CORE }; }
191
- static { this.templateCreate = { name: 'ɵɵtemplate', moduleName: CORE }; }
192
- static { this.defer = { name: 'ɵɵdefer', moduleName: CORE }; }
193
- static { this.deferWhen = { name: 'ɵɵdeferWhen', moduleName: CORE }; }
194
- static { this.deferOnIdle = { name: 'ɵɵdeferOnIdle', moduleName: CORE }; }
195
- static { this.deferOnImmediate = { name: 'ɵɵdeferOnImmediate', moduleName: CORE }; }
196
- static { this.deferOnTimer = { name: 'ɵɵdeferOnTimer', moduleName: CORE }; }
197
- static { this.deferOnHover = { name: 'ɵɵdeferOnHover', moduleName: CORE }; }
198
- static { this.deferOnInteraction = { name: 'ɵɵdeferOnInteraction', moduleName: CORE }; }
199
- static { this.deferOnViewport = { name: 'ɵɵdeferOnViewport', moduleName: CORE }; }
200
- static { this.deferPrefetchWhen = { name: 'ɵɵdeferPrefetchWhen', moduleName: CORE }; }
201
- static { this.deferPrefetchOnIdle = {
202
- name: 'ɵɵdeferPrefetchOnIdle',
203
- moduleName: CORE,
204
- }; }
205
- static { this.deferPrefetchOnImmediate = {
206
- name: 'ɵɵdeferPrefetchOnImmediate',
207
- moduleName: CORE,
208
- }; }
209
- static { this.deferPrefetchOnTimer = {
210
- name: 'ɵɵdeferPrefetchOnTimer',
211
- moduleName: CORE,
212
- }; }
213
- static { this.deferPrefetchOnHover = {
214
- name: 'ɵɵdeferPrefetchOnHover',
215
- moduleName: CORE,
216
- }; }
217
- static { this.deferPrefetchOnInteraction = {
218
- name: 'ɵɵdeferPrefetchOnInteraction',
219
- moduleName: CORE,
220
- }; }
221
- static { this.deferPrefetchOnViewport = {
222
- name: 'ɵɵdeferPrefetchOnViewport',
223
- moduleName: CORE,
224
- }; }
225
- static { this.deferEnableTimerScheduling = {
226
- name: 'ɵɵdeferEnableTimerScheduling',
227
- moduleName: CORE,
228
- }; }
229
- static { this.conditional = { name: 'ɵɵconditional', moduleName: CORE }; }
230
- static { this.repeater = { name: 'ɵɵrepeater', moduleName: CORE }; }
231
- static { this.repeaterCreate = { name: 'ɵɵrepeaterCreate', moduleName: CORE }; }
232
- static { this.repeaterTrackByIndex = {
233
- name: 'ɵɵrepeaterTrackByIndex',
234
- moduleName: CORE,
235
- }; }
236
- static { this.repeaterTrackByIdentity = {
237
- name: 'ɵɵrepeaterTrackByIdentity',
238
- moduleName: CORE,
239
- }; }
240
- static { this.componentInstance = { name: 'ɵɵcomponentInstance', moduleName: CORE }; }
241
- static { this.text = { name: 'ɵɵtext', moduleName: CORE }; }
242
- static { this.enableBindings = { name: 'ɵɵenableBindings', moduleName: CORE }; }
243
- static { this.disableBindings = { name: 'ɵɵdisableBindings', moduleName: CORE }; }
244
- static { this.getCurrentView = { name: 'ɵɵgetCurrentView', moduleName: CORE }; }
245
- static { this.textInterpolate = { name: 'ɵɵtextInterpolate', moduleName: CORE }; }
246
- static { this.textInterpolate1 = { name: 'ɵɵtextInterpolate1', moduleName: CORE }; }
247
- static { this.textInterpolate2 = { name: 'ɵɵtextInterpolate2', moduleName: CORE }; }
248
- static { this.textInterpolate3 = { name: 'ɵɵtextInterpolate3', moduleName: CORE }; }
249
- static { this.textInterpolate4 = { name: 'ɵɵtextInterpolate4', moduleName: CORE }; }
250
- static { this.textInterpolate5 = { name: 'ɵɵtextInterpolate5', moduleName: CORE }; }
251
- static { this.textInterpolate6 = { name: 'ɵɵtextInterpolate6', moduleName: CORE }; }
252
- static { this.textInterpolate7 = { name: 'ɵɵtextInterpolate7', moduleName: CORE }; }
253
- static { this.textInterpolate8 = { name: 'ɵɵtextInterpolate8', moduleName: CORE }; }
254
- static { this.textInterpolateV = { name: 'ɵɵtextInterpolateV', moduleName: CORE }; }
255
- static { this.restoreView = { name: 'ɵɵrestoreView', moduleName: CORE }; }
256
- static { this.pureFunction0 = { name: 'ɵɵpureFunction0', moduleName: CORE }; }
257
- static { this.pureFunction1 = { name: 'ɵɵpureFunction1', moduleName: CORE }; }
258
- static { this.pureFunction2 = { name: 'ɵɵpureFunction2', moduleName: CORE }; }
259
- static { this.pureFunction3 = { name: 'ɵɵpureFunction3', moduleName: CORE }; }
260
- static { this.pureFunction4 = { name: 'ɵɵpureFunction4', moduleName: CORE }; }
261
- static { this.pureFunction5 = { name: 'ɵɵpureFunction5', moduleName: CORE }; }
262
- static { this.pureFunction6 = { name: 'ɵɵpureFunction6', moduleName: CORE }; }
263
- static { this.pureFunction7 = { name: 'ɵɵpureFunction7', moduleName: CORE }; }
264
- static { this.pureFunction8 = { name: 'ɵɵpureFunction8', moduleName: CORE }; }
265
- static { this.pureFunctionV = { name: 'ɵɵpureFunctionV', moduleName: CORE }; }
266
- static { this.pipeBind1 = { name: 'ɵɵpipeBind1', moduleName: CORE }; }
267
- static { this.pipeBind2 = { name: 'ɵɵpipeBind2', moduleName: CORE }; }
268
- static { this.pipeBind3 = { name: 'ɵɵpipeBind3', moduleName: CORE }; }
269
- static { this.pipeBind4 = { name: 'ɵɵpipeBind4', moduleName: CORE }; }
270
- static { this.pipeBindV = { name: 'ɵɵpipeBindV', moduleName: CORE }; }
271
- static { this.hostProperty = { name: 'ɵɵhostProperty', moduleName: CORE }; }
272
- static { this.property = { name: 'ɵɵproperty', moduleName: CORE }; }
273
- static { this.propertyInterpolate = {
274
- name: 'ɵɵpropertyInterpolate',
275
- moduleName: CORE,
276
- }; }
277
- static { this.propertyInterpolate1 = {
278
- name: 'ɵɵpropertyInterpolate1',
279
- moduleName: CORE,
280
- }; }
281
- static { this.propertyInterpolate2 = {
282
- name: 'ɵɵpropertyInterpolate2',
283
- moduleName: CORE,
284
- }; }
285
- static { this.propertyInterpolate3 = {
286
- name: 'ɵɵpropertyInterpolate3',
287
- moduleName: CORE,
288
- }; }
289
- static { this.propertyInterpolate4 = {
290
- name: 'ɵɵpropertyInterpolate4',
291
- moduleName: CORE,
292
- }; }
293
- static { this.propertyInterpolate5 = {
294
- name: 'ɵɵpropertyInterpolate5',
295
- moduleName: CORE,
296
- }; }
297
- static { this.propertyInterpolate6 = {
298
- name: 'ɵɵpropertyInterpolate6',
299
- moduleName: CORE,
300
- }; }
301
- static { this.propertyInterpolate7 = {
302
- name: 'ɵɵpropertyInterpolate7',
303
- moduleName: CORE,
304
- }; }
305
- static { this.propertyInterpolate8 = {
306
- name: 'ɵɵpropertyInterpolate8',
307
- moduleName: CORE,
308
- }; }
309
- static { this.propertyInterpolateV = {
310
- name: 'ɵɵpropertyInterpolateV',
311
- moduleName: CORE,
312
- }; }
313
- static { this.i18n = { name: 'ɵɵi18n', moduleName: CORE }; }
314
- static { this.i18nAttributes = { name: 'ɵɵi18nAttributes', moduleName: CORE }; }
315
- static { this.i18nExp = { name: 'ɵɵi18nExp', moduleName: CORE }; }
316
- static { this.i18nStart = { name: 'ɵɵi18nStart', moduleName: CORE }; }
317
- static { this.i18nEnd = { name: 'ɵɵi18nEnd', moduleName: CORE }; }
318
- static { this.i18nApply = { name: 'ɵɵi18nApply', moduleName: CORE }; }
319
- static { this.i18nPostprocess = { name: 'ɵɵi18nPostprocess', moduleName: CORE }; }
320
- static { this.pipe = { name: 'ɵɵpipe', moduleName: CORE }; }
321
- static { this.projection = { name: 'ɵɵprojection', moduleName: CORE }; }
322
- static { this.projectionDef = { name: 'ɵɵprojectionDef', moduleName: CORE }; }
323
- static { this.reference = { name: 'ɵɵreference', moduleName: CORE }; }
324
- static { this.inject = { name: 'ɵɵinject', moduleName: CORE }; }
325
- static { this.injectAttribute = { name: 'ɵɵinjectAttribute', moduleName: CORE }; }
326
- static { this.directiveInject = { name: 'ɵɵdirectiveInject', moduleName: CORE }; }
327
- static { this.invalidFactory = { name: 'ɵɵinvalidFactory', moduleName: CORE }; }
328
- static { this.invalidFactoryDep = { name: 'ɵɵinvalidFactoryDep', moduleName: CORE }; }
329
- static { this.templateRefExtractor = {
330
- name: 'ɵɵtemplateRefExtractor',
331
- moduleName: CORE,
332
- }; }
333
- static { this.forwardRef = { name: 'forwardRef', moduleName: CORE }; }
334
- static { this.resolveForwardRef = { name: 'resolveForwardRef', moduleName: CORE }; }
335
- static { this.ɵɵdefineInjectable = { name: 'ɵɵdefineInjectable', moduleName: CORE }; }
336
- static { this.declareInjectable = { name: 'ɵɵngDeclareInjectable', moduleName: CORE }; }
337
- static { this.InjectableDeclaration = {
338
- name: 'ɵɵInjectableDeclaration',
339
- moduleName: CORE,
340
- }; }
341
- static { this.resolveWindow = { name: 'ɵɵresolveWindow', moduleName: CORE }; }
342
- static { this.resolveDocument = { name: 'ɵɵresolveDocument', moduleName: CORE }; }
343
- static { this.resolveBody = { name: 'ɵɵresolveBody', moduleName: CORE }; }
344
- static { this.getComponentDepsFactory = {
345
- name: 'ɵɵgetComponentDepsFactory',
346
- moduleName: CORE,
347
- }; }
348
- static { this.defineComponent = { name: 'ɵɵdefineComponent', moduleName: CORE }; }
349
- static { this.declareComponent = { name: 'ɵɵngDeclareComponent', moduleName: CORE }; }
350
- static { this.setComponentScope = { name: 'ɵɵsetComponentScope', moduleName: CORE }; }
351
- static { this.ChangeDetectionStrategy = {
352
- name: 'ChangeDetectionStrategy',
353
- moduleName: CORE,
354
- }; }
355
- static { this.ViewEncapsulation = {
356
- name: 'ViewEncapsulation',
357
- moduleName: CORE,
358
- }; }
359
- static { this.ComponentDeclaration = {
360
- name: 'ɵɵComponentDeclaration',
361
- moduleName: CORE,
362
- }; }
363
- static { this.FactoryDeclaration = {
364
- name: 'ɵɵFactoryDeclaration',
365
- moduleName: CORE,
366
- }; }
367
- static { this.declareFactory = { name: 'ɵɵngDeclareFactory', moduleName: CORE }; }
368
- static { this.FactoryTarget = { name: 'ɵɵFactoryTarget', moduleName: CORE }; }
369
- static { this.defineDirective = { name: 'ɵɵdefineDirective', moduleName: CORE }; }
370
- static { this.declareDirective = { name: 'ɵɵngDeclareDirective', moduleName: CORE }; }
371
- static { this.DirectiveDeclaration = {
372
- name: 'ɵɵDirectiveDeclaration',
373
- moduleName: CORE,
374
- }; }
375
- static { this.InjectorDef = { name: 'ɵɵInjectorDef', moduleName: CORE }; }
376
- static { this.InjectorDeclaration = {
377
- name: 'ɵɵInjectorDeclaration',
378
- moduleName: CORE,
379
- }; }
380
- static { this.defineInjector = { name: 'ɵɵdefineInjector', moduleName: CORE }; }
381
- static { this.declareInjector = { name: 'ɵɵngDeclareInjector', moduleName: CORE }; }
382
- static { this.NgModuleDeclaration = {
383
- name: 'ɵɵNgModuleDeclaration',
384
- moduleName: CORE,
385
- }; }
386
- static { this.ModuleWithProviders = {
387
- name: 'ModuleWithProviders',
388
- moduleName: CORE,
389
- }; }
390
- static { this.defineNgModule = { name: 'ɵɵdefineNgModule', moduleName: CORE }; }
391
- static { this.declareNgModule = { name: 'ɵɵngDeclareNgModule', moduleName: CORE }; }
392
- static { this.setNgModuleScope = { name: 'ɵɵsetNgModuleScope', moduleName: CORE }; }
393
- static { this.registerNgModuleType = {
394
- name: 'ɵɵregisterNgModuleType',
395
- moduleName: CORE,
396
- }; }
397
- static { this.PipeDeclaration = { name: 'ɵɵPipeDeclaration', moduleName: CORE }; }
398
- static { this.definePipe = { name: 'ɵɵdefinePipe', moduleName: CORE }; }
399
- static { this.declarePipe = { name: 'ɵɵngDeclarePipe', moduleName: CORE }; }
400
- static { this.declareClassMetadata = {
401
- name: 'ɵɵngDeclareClassMetadata',
402
- moduleName: CORE,
403
- }; }
404
- static { this.declareClassMetadataAsync = {
405
- name: 'ɵɵngDeclareClassMetadataAsync',
406
- moduleName: CORE,
407
- }; }
408
- static { this.setClassMetadata = { name: 'ɵsetClassMetadata', moduleName: CORE }; }
409
- static { this.setClassMetadataAsync = {
410
- name: 'ɵsetClassMetadataAsync',
411
- moduleName: CORE,
412
- }; }
413
- static { this.setClassDebugInfo = { name: 'ɵsetClassDebugInfo', moduleName: CORE }; }
414
- static { this.queryRefresh = { name: 'ɵɵqueryRefresh', moduleName: CORE }; }
415
- static { this.viewQuery = { name: 'ɵɵviewQuery', moduleName: CORE }; }
416
- static { this.loadQuery = { name: 'ɵɵloadQuery', moduleName: CORE }; }
417
- static { this.contentQuery = { name: 'ɵɵcontentQuery', moduleName: CORE }; }
418
- // Signal queries
419
- static { this.viewQuerySignal = { name: 'ɵɵviewQuerySignal', moduleName: CORE }; }
420
- static { this.contentQuerySignal = { name: 'ɵɵcontentQuerySignal', moduleName: CORE }; }
421
- static { this.queryAdvance = { name: 'ɵɵqueryAdvance', moduleName: CORE }; }
422
- // Two-way bindings
423
- static { this.twoWayProperty = { name: 'ɵɵtwoWayProperty', moduleName: CORE }; }
424
- static { this.twoWayBindingSet = { name: 'ɵɵtwoWayBindingSet', moduleName: CORE }; }
425
- static { this.twoWayListener = { name: 'ɵɵtwoWayListener', moduleName: CORE }; }
426
- static { this.declareLet = { name: 'ɵɵdeclareLet', moduleName: CORE }; }
427
- static { this.storeLet = { name: 'ɵɵstoreLet', moduleName: CORE }; }
428
- static { this.readContextLet = { name: 'ɵɵreadContextLet', moduleName: CORE }; }
429
- static { this.NgOnChangesFeature = { name: 'ɵɵNgOnChangesFeature', moduleName: CORE }; }
430
- static { this.InheritDefinitionFeature = {
431
- name: 'ɵɵInheritDefinitionFeature',
432
- moduleName: CORE,
433
- }; }
434
- static { this.CopyDefinitionFeature = {
435
- name: 'ɵɵCopyDefinitionFeature',
436
- moduleName: CORE,
437
- }; }
438
- static { this.StandaloneFeature = { name: 'ɵɵStandaloneFeature', moduleName: CORE }; }
439
- static { this.ProvidersFeature = { name: 'ɵɵProvidersFeature', moduleName: CORE }; }
440
- static { this.HostDirectivesFeature = {
441
- name: 'ɵɵHostDirectivesFeature',
442
- moduleName: CORE,
443
- }; }
444
- static { this.InputTransformsFeatureFeature = {
445
- name: 'ɵɵInputTransformsFeature',
446
- moduleName: CORE,
447
- }; }
448
- static { this.listener = { name: 'ɵɵlistener', moduleName: CORE }; }
449
- static { this.getInheritedFactory = {
450
- name: 'ɵɵgetInheritedFactory',
451
- moduleName: CORE,
452
- }; }
453
- // sanitization-related functions
454
- static { this.sanitizeHtml = { name: 'ɵɵsanitizeHtml', moduleName: CORE }; }
455
- static { this.sanitizeStyle = { name: 'ɵɵsanitizeStyle', moduleName: CORE }; }
456
- static { this.sanitizeResourceUrl = {
457
- name: 'ɵɵsanitizeResourceUrl',
458
- moduleName: CORE,
459
- }; }
460
- static { this.sanitizeScript = { name: 'ɵɵsanitizeScript', moduleName: CORE }; }
461
- static { this.sanitizeUrl = { name: 'ɵɵsanitizeUrl', moduleName: CORE }; }
462
- static { this.sanitizeUrlOrResourceUrl = {
463
- name: 'ɵɵsanitizeUrlOrResourceUrl',
464
- moduleName: CORE,
465
- }; }
466
- static { this.trustConstantHtml = { name: 'ɵɵtrustConstantHtml', moduleName: CORE }; }
467
- static { this.trustConstantResourceUrl = {
468
- name: 'ɵɵtrustConstantResourceUrl',
469
- moduleName: CORE,
470
- }; }
471
- static { this.validateIframeAttribute = {
472
- name: 'ɵɵvalidateIframeAttribute',
473
- moduleName: CORE,
474
- }; }
475
- // type-checking
476
- static { this.InputSignalBrandWriteType = { name: 'ɵINPUT_SIGNAL_BRAND_WRITE_TYPE', moduleName: CORE }; }
477
- static { this.UnwrapDirectiveSignalInputs = { name: 'ɵUnwrapDirectiveSignalInputs', moduleName: CORE }; }
478
- static { this.unwrapWritableSignal = { name: 'ɵunwrapWritableSignal', moduleName: CORE }; }
479
- }
480
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicjNfaWRlbnRpZmllcnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb21waWxlci9zcmMvcmVuZGVyMy9yM19pZGVudGlmaWVycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7O0dBTUc7QUFJSCxNQUFNLElBQUksR0FBRyxlQUFlLENBQUM7QUFFN0IsTUFBTSxPQUFPLFdBQVc7SUFDdEIsYUFBYTthQUNOLGVBQVUsR0FBRyxTQUFTLENBQUM7YUFDdkIscUJBQWdCLEdBQUcsV0FBVyxDQUFDO2FBQy9CLGVBQVUsR0FBRyxhQUFhLENBQUM7YUFFM0IsU0FBSSxHQUF3QixFQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFLElBQUksRUFBQyxDQUFDO0lBRWxFLGtCQUFrQjthQUNYLGtCQUFhLEdBQXdCLEVBQUMsSUFBSSxFQUFFLGlCQUFpQixFQUFFLFVBQVUsRUFBRSxJQUFJLEVBQUMsQ0FBQzthQUVqRixvQkFBZSxHQUF3QixFQUFDLElBQUksRUFBRSxtQkFBbUIsRUFBRSxVQUFVLEVBQUUsSUFBSSxFQUFDLENBQUM7YUFFckYsaUJBQVksR0FBd0IsRUFBQyxJQUFJLEVBQUUsZ0JBQWdCLEVBQUUsVUFBVSxFQUFFLElBQUksRUFBQyxDQUFDO2FBRS9FLFlBQU8sR0FBd0IsRUFBQyxJQUFJLEVBQUUsV0FBVyxFQUFFLFVBQVUsRUFBRSxJQUFJLEVBQUMsQ0FBQzthQUVyRSxpQkFBWSxHQUF3QixFQUFDLElBQUksRUFBRSxnQkFBZ0IsRUFBRSxVQUFVLEVBQUUsSUFBSSxFQUFDLENBQUM7YUFFL0UsZUFBVSxHQUF3QixFQUFDLElBQUksRUFBRSxjQUFjLEVBQUUsVUFBVSxFQUFFLElBQUksRUFBQyxDQUFDO2FBRTNFLFlBQU8sR0FBd0IsRUFBQyxJQUFJLEVBQUUsV0FBVyxFQUFFLFVBQVUsRUFBRSxJQUFJLEVBQUMsQ0FBQzthQUVyRSwwQkFBcUIsR0FBd0I7UUFD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QUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZVxuICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZVxuICovXG5cbmltcG9ydCAqIGFzIG8gZnJvbSAnLi4vb3V0cHV0L291dHB1dF9hc3QnO1xuXG5jb25zdCBDT1JFID0gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5leHBvcnQgY2xhc3MgSWRlbnRpZmllcnMge1xuICAvKiBNZXRob2RzICovXG4gIHN0YXRpYyBORVdfTUVUSE9EID0gJ2ZhY3RvcnknO1xuICBzdGF0aWMgVFJBTlNGT1JNX01FVEhPRCA9ICd0cmFuc2Zvcm0nO1xuICBzdGF0aWMgUEFUQ0hfREVQUyA9ICdwYXRjaGVkRGVwcyc7XG5cbiAgc3RhdGljIGNvcmU6IG8uRXh0ZXJuYWxSZWZlcmVuY2UgPSB7bmFtZTogbnVsbCwgbW9kdWxlTmFtZTogQ09SRX07XG5cbiAgLyogSW5zdHJ1Y3Rpb25zICovXG4gIHN0YXRpYyBuYW1lc3BhY2VIVE1MOiBvLkV4dGVybmFsUmVmZXJlbmNlID0ge25hbWU6ICfJtcm1bmFtZXNwYWNlSFRNTCcsIG1vZHVsZU5hbWU6IENPUkV9O1xuXG4gIHN0YXRpYyBuYW1lc3BhY2VNYXRoTUw6IG8uRXh0ZXJuYWxSZWZlcmVuY2UgPSB7bmFtZTogJ8m1ybVuYW1lc3BhY2VNYXRoTUwnLCBtb2R1bGVOYW1lOiBDT1JFfTtcblxuICBzdGF0aWMgbmFtZXNwYWNlU1ZHOiBvLkV4dGVybmFsUmVmZXJlbmNlID0ge25hbWU6ICfJtcm1bmFtZXNwYWNlU1ZHJywgbW9kdWxlTmFtZTogQ09SRX07XG5cbiAgc3RhdGljIGVsZW1lbnQ6IG8uRXh0ZXJuYWxSZWZlcmVuY2UgPSB7bmFtZTogJ8m1ybVlbGVtZW50JywgbW9kdWxlTmFtZTogQ09SRX07XG5cbiAgc3RhdGljIGVsZW1lbnRTdGFydDogby5FeHRlcm5hbFJlZmVyZW5jZSA9IHtuYW1lOiAnybXJtWVsZW1lbnRTdGFydCcsIG1vZHVsZU5hbWU6IENPUkV9O1xuXG4gIHN0YXRpYyBlbGVtZW50RW5kOiBvLkV4dGVybmFsUmVmZXJlbmNlID0ge25hbWU6ICfJtcm1ZWxlbWVudEVuZCcsIG1vZHVsZU5hbWU6IENPUkV9O1xuXG4gIHN0YXRpYyBhZHZhbmNlOiBvLkV4dGVybmFsUmVmZXJlbmNlID0ge25hbWU6ICfJtcm1YWR2YW5jZScsIG1vZHVsZU5hbWU6IENPUkV9O1xuXG4gIHN0YXRpYyBzeW50aGV0aWNIb3N0UHJvcGVydHk6IG8uRXh0ZXJuYWxSZWZlcmVuY2UgPSB7XG4gICAgbmFtZTogJ8m1ybVzeW50aGV0aWNIb3N0UHJvcGVydHknLFxuICAgIG1vZHVsZU5hbWU6IENPUkUsXG4gIH07XG5cbiAgc3RhdGljIHN5bnRoZXRpY0hvc3RMaXN0ZW5lcjogby5FeHRlcm5hbFJlZmVyZW5jZSA9IHtcbiAgICBuYW1lOiAnybXJtXN5bnRoZXRpY0hvc3RMaXN0ZW5lcicsXG4gICAgbW9kdWxlTmFtZTogQ09SRSxcbiAgfTtcblxuICBzdGF0aWMgYXR0cmlidXRlOiBvLkV4dGVybmFsUmVmZXJlbmNlID0ge25hbWU6ICfJtcm1YXR0cmlidXRlJywgbW9kdWxlTmFtZTogQ09SRX07XG5cbiAgc3RhdGljIGF0dHJpYnV0ZUludGVycG9sYXRlMTogby5FeHRlcm5hbFJlZmVyZW5jZSA9IHtcbiAgICBuYW1lOiAnybXJtWF0dHJpYnV0ZUludGVycG9sYXRlMScsXG4gICAgbW9kdWxlTmFtZTogQ09SRSxcbiAgfTtcbiAgc3RhdGljIGF0dHJpYnV0ZUludGVycG9sYXRlMjogby5FeHRlcm5hbFJlZmVyZW5jZSA9IHtcbiAgICBuYW1lOiAnybXJtWF0dHJpYnV0ZUludGVycG9sYXRlMicsXG4gICAgbW9kdWxlTmFtZTogQ09SRSxcbiAgfTtcbiAgc3RhdGljIGF0dHJpYnV0ZUludGVycG9sYXRlMzogby5FeHRlcm5hbFJlZmVyZW5jZSA9IHtcbiAgICBuYW1lOiAnybXJtWF0dHJpYnV0ZUludGVycG9sYXRlMycsXG4gICAgbW9kdWxlTmFtZTogQ09SRSxcbiAgfTtcbiAgc3RhdGljIGF0dHJpYnV0ZUludGVycG9sYXRlNDogby5FeHRlcm5hbFJlZmVyZW5jZSA9IHtcbiAgICBuYW1lOiAnybXJtWF0dHJpYnV0ZUludGVycG9sYXRlNCcsXG4gICAgbW9kdWxlTmFtZTogQ09SRSxcbiAgfTtcbiAgc3RhdGljIGF0dHJpYnV0ZUludGVycG9sYXRlNTogby5FeHRlcm5hbFJlZmVyZW5jZSA9IHtcbiAgICBuYW1lOiAnybXJtWF0dHJpYnV0ZUludGVycG9sYXRlNScsXG4gICAgbW9kdWxlTmFtZTogQ09SRSxcbiAgfTtcbiAgc3RhdGljIGF0dHJpYnV0ZUludGVycG9sYXRlNjogby5FeHRlcm5hbFJlZmVyZW5jZSA9IHtcbiAgICBuYW1lOiAnybXJtWF0dHJpYnV0ZUludGVycG9sYXRlNicsXG4gICAgbW9kdWxlTmFtZTogQ09SRSxcbiAgfTtcbiAgc3RhdGljIGF0dHJpYnV0ZUludGVycG9sYXRlNzogby5FeHRlcm5hbFJlZmVyZW5jZSA9IHtcbiAgICBuYW1lOiAnybXJtWF0dHJpYnV0ZUludGVycG9sYXRlNycsXG4gICAgbW9kdWxlTmFtZTogQ09SRSxcbiAgfTtcbiAgc3RhdGljIGF0dHJpYnV0ZUludGVycG9sYXRlODogby5FeHRlcm5hbFJlZmVyZW5jZSA9IHtcbiAgICBuYW1lOiAnybXJtWF0dHJpYnV0ZUludGVycG9sYXRlOCcsXG4gICAgbW9kdWxlTmFtZTogQ09SRSxcbiAgfTtcbiAgc3RhdGljIGF0dHJpYnV0ZUludGVycG9sYXRlVjogby5FeHRlcm5hbFJlZmVyZW5jZSA9IHtcbiAgICBuYW1lOiAnybXJtWF0dHJpYnV0ZUludGVycG9sYXRlVicsXG4gICAgbW9kdWxlTmFtZTogQ09SRSxcbiAgfTtcblxuICBzdGF0aWMgY2xhc3NQcm9wOiBvLkV4dGVybmFsUmVmZXJlbmNlID0ge25hbWU6ICfJtcm1Y2xhc3NQcm9wJywgbW9kdWxlTmFtZTogQ09SRX07XG5cbiAgc3RhdGljIGVsZW1lbnRDb250YWluZXJTdGFydDogby5FeHRlcm5hbFJlZmVyZW5jZSA9IHtcbiAgICBuYW1lOiAnybXJtWVsZW1lbnRDb250YWluZXJTdGFydCcsXG4gICAgbW9kdWxlTmFtZTogQ09SRSxcbiAgfTtcblxuICBzdGF0aWMgZWxlbWVudENvbnRhaW5lckVuZDogby5FeHRlcm5hbFJlZmVyZW5jZSA9IHtcbiAgICBuYW1lOiAnybXJtWVsZW1lbnRDb250YWluZXJFbmQnLFxuICAgIG1vZHVsZU5hbWU6IENPUkUsXG4gIH07XG5cbiAgc3RhdGljIGVsZW1lbnRDb250YWluZXI6IG8uRXh0ZXJuYWxSZWZlcmVuY2UgPSB7bmFtZTogJ8m1ybVlbGVtZW50Q29udGFpbmVyJywgbW9kdWxlTmFtZTogQ09SRX07XG5cbiAgc3RhdGljIHN0eWxlTWFwOiBvLkV4dGVybmFsUmVmZXJlbmNlID0ge25hbWU6ICfJtcm1c3R5bGVNYXAnLCBtb2R1bGVOYW1lOiBDT1JFfTtcblxuICBzdGF0aWMgc3R5bGVNYXBJbnRlcnBvbGF0ZTE6IG8uRXh0ZXJuYWxSZWZlcmVuY2UgPSB7XG4gICAgbmFtZTogJ8m1ybVzdHlsZU1hcEludGVycG9sYXRlMScsXG4gICAgbW9kdWxlTmFtZTogQ09SRSxcbiAgfTtcbiAgc3RhdGljIHN0eWxlTWFwSW50ZXJwb2xhdGUyOiBvLkV4dGVybmFsUmVmZXJlbmNlID0ge1xuICAgIG5hbWU6ICfJtcm1c3R5bGVNYXBJbnRlcnBvbGF0ZTInLFxuICAgIG1vZHVsZU5hbWU6IENPUkUsXG4gIH07XG4gIHN0YXRpYyBzdHlsZU1hcEludGVycG9sYXRlMzogby5FeHRlcm5hbFJlZmVyZW5jZSA9IHtcbiAgICBuYW1lOiAnybXJtXN0eWxlTWFwSW50ZXJwb2xhdGUzJyxcbiAgICBtb2R1bGVOYW1lOiBDT1JFLFxuICB9O1xuICBzdGF0aWMgc3R5bGVNYXBJbnRlcnBvbGF0ZTQ6IG8uRXh0ZXJuYWxSZWZlcmVuY2UgPSB7XG4gICAgbmFtZTogJ8m1ybVzdHlsZU1hcEludGVycG9sYXRlNCcsXG4gICAgbW9kdWxlTmFtZTogQ09SRSxcbiAgfTtcbiAgc3RhdGljIHN0eWxlTWFwSW50ZXJwb2xhdGU1OiBvLkV4dGVybmFsUmVmZXJlbmNlID0ge1xuICAgIG5hbWU6ICfJtcm1c3R5bGVNYXBJbnRlcnBvbGF0ZTUnLFxuICAgIG1vZHVsZU5hbWU6IENPUkUsXG4gIH07XG4gIHN0YXRpYyBzdHlsZU1hcEludGVycG9sYXRlNjogby5FeHRlcm5hbFJlZmVyZW5jZSA9IHtcbiAgICBuYW1lOiAnybXJtXN0eWxlTWFwSW50ZXJwb2xhdGU2JyxcbiAgICBtb2R1bGVOYW1lOiBDT1JFLFxuICB9O1xuICBzdGF0aWMgc3R5bGVNYXBJbnRlcnBvbGF0ZTc6IG8uRXh0ZXJuYWxSZWZlcmVuY2UgPSB7XG4gICAgbmFtZTogJ8m1ybVzdHlsZU1hcEludGVycG9sYXRlNycsXG4gICAgbW9kdWxlTmFtZTogQ09SRSxcbiAgfTtcbiAgc3RhdGljIHN0eWxlTWFwSW50ZXJwb2xhdGU4OiBvLkV4dGVybmFsUmVmZXJlbmNlID0ge1xuICAgIG5hbWU6ICfJtcm1c3R5bGVNYXBJbnRlcnBvbGF0ZTgnLFxuICAgIG1vZHVsZU5hbWU6IENPUkUsXG4gIH07XG4gIHN0YXRpYyBzdHlsZU1hcEludGVycG9sYXRlVjogby5FeHRlcm5hbFJlZmVyZW5jZSA9IHtcbiAgICBuYW1lOiAnybXJtXN0eWxlTWFwSW50ZXJwb2xhdGVWJyxcbiAgICBtb2R1bGVOYW1lOiBDT1JFLFxuICB9O1xuXG4gIHN0YXRpYyBjbGFzc01hcDogby5FeHRlcm5hbFJlZmVyZW5jZSA9IHtuYW1lOiAnybXJtWNsYXNzTWFwJywgbW9kdWxlTmFtZTogQ09SRX07XG5cbiAgc3RhdGljIGNsYXNzTWFwSW50ZXJwb2xhdGUxOiBvLkV4dGVybmFsUmVmZXJlbmNlID0ge1xuICAgIG5hbWU6ICfJtcm1Y2xhc3NNYXBJbnRlcnBvbGF0ZTEnLFxuICAgIG1vZHVsZU5hbWU6IENPUkUsXG4gIH07XG4gIHN0YXRpYyBjbGFzc01hcEludGVycG9sYXRlMjogby5FeHRlcm5hbFJlZmVyZW5jZSA9IHtcbiAgICBuYW1lOiAnybXJtWNsYXNzTWFwSW50ZXJwb2xhdGUyJyxcbiAgICBtb2R1bGVOYW1lOiBDT1JFLFxuICB9O1xuICBzdGF0aWMgY2xhc3NNYXBJbnRlcnBvbGF0ZTM6IG8uRXh0ZXJuYWxSZWZlcmVuY2UgPSB7XG4gICAgbmFtZTogJ8m1ybVjbGFzc01hcEludGVycG9sYXRlMycsXG4gICAgbW9kdWxlTmFtZTogQ09SRSxcbiAgfTtcbiAgc3RhdGljIGNsYXNzTWFwSW50ZXJwb2xhdGU0OiBvLkV4dGVybmFsUmVmZXJlbmNlID0ge1xuICAgIG5hbWU6ICfJtcm1Y2xhc3NNYXBJbnRlcnBvbGF0ZTQnLFxuICAgIG1vZHVsZU5hbWU6IENPUkUsXG4gIH07XG4gIHN0YXRpYyBjbGFzc01hcEludGVycG9sYXRlNTogby5FeHRlcm5hbFJlZmVyZW5jZSA9IHtcbiAgICBuYW1lOiAnybXJtWNsYXNzTWFwSW50ZXJwb2xhdGU1JyxcbiAgICBtb2R1bGVOYW1lOiBDT1JFLFxuICB9O1xuICBzdGF0aWMgY2xhc3NNYXBJbnRlcnBvbGF0ZTY6IG8uRXh0ZXJuYWxSZWZlcmVuY2UgPSB7XG4gICAgbmFtZTogJ8m1ybVjbGFzc01hcEludGVycG9sYXRlNicsXG4gICAgbW9kdWxlTmFtZTogQ09SRSxcbiAgfTtcbiAgc3RhdGljIGNsYXNzTWFwSW50ZXJwb2xhdGU3OiBvLkV4dGVybmFsUmVmZXJlbmNlID0ge1xuICAgIG5hbWU6ICfJtcm1Y2xhc3NNYXBJbnRlcnBvbGF0ZTcnLFxuICAgIG1vZHVsZU5hbWU6IENPUkUsXG4gIH07XG4gIHN0YXRpYyBjbGFzc01hcEludGVycG9sYXRlODogby5FeHRlcm5hbFJlZmVyZW5jZSA9IHtcbiAgICBuYW1lOiAnybXJtWNsYXNzTWFwSW50ZXJwb2xhdGU4JyxcbiAgICBtb2R1bGVOYW1lOiBDT1JFLFxuICB9O1xuICBzdGF0aWMgY2xhc3NNYXBJbnRlcnBvbGF0ZVY6IG8uRXh0ZXJuYWxSZWZlcmVuY2UgPSB7XG4gICAgbmFtZTogJ8m1ybVjbGFzc01hcEludGVycG9sYXRlVicsXG4gICAgbW9kdWxlTmFtZTogQ09SRSxcbiAgfTtcblxuICBzdGF0aWMgc3R5bGVQcm9wOiBvLkV4dGVybmFsUmVmZXJlbmNlID0ge25hbWU6ICfJtcm1c3R5bGVQcm9wJywgbW9kdWxlTmFtZTogQ09SRX07XG5cbiAgc3RhdGljIHN0eWxlUHJvcEludGVycG9sYXRlMTogby5FeHRlcm5hbFJlZmVyZW5jZSA9IHtcbiAgICBuYW1lOiAnybXJtXN0eWxlUHJvcEludGVycG9sYXRlMScsXG4gICAgbW9kdWxlTmFtZTogQ09SRSxcbiAgfTtcbiAgc3RhdGljIHN0eWxlUHJvcEludGVycG9sYXRlMjogby5FeHRlcm5hbFJlZmVyZW5jZSA9IHtcbiAgICBuYW1lOiAnybXJtXN0eWxlUHJvcEludGVycG9sYXRlMicsXG4gICAgbW9kdWxlTmFtZTogQ09SRSxcbiAgfTtcbiAgc3RhdGljIHN0eWxlUHJvcEludGVycG9sYXRlMzogby5FeHRlcm5hbFJlZmVyZW5jZSA9IHtcbiAgICBuYW1lOiAnybXJtXN0eWxlUHJvcEludGVycG9sYXRlMycsXG4gICAgbW9kdWxlTmFtZTogQ09SRSxcbiAgfTtcbiAgc3RhdGljIHN0eWxlUHJvcEludGVycG9sYXRlNDogby5FeHRlcm5hbFJlZmVyZW5jZSA9IHtcbiAgICBuYW1lOiAnybXJtXN0eWxlUHJvcEludGVycG9sYXRlNCcsXG4gICAgbW9kdWxlTmFtZTogQ09SRSxcbiAgfTtcbiAgc3RhdGljIHN0eWxlUHJvcEludGVycG9sYXRlNTogby5FeHRlcm5hbFJlZmVyZW5jZSA9IHtcbiAgICBuYW1lOiAnybXJtXN0eWxlUHJvcEludGVycG9sYXRlNScsXG4gICAgbW9kdWxlTmFtZTogQ09SRSxcbiAgfTtcbiAgc3RhdGljIHN0eWxlUHJvcEludGVycG9sYXRlNjogby5FeHRlcm5hbFJlZmVyZW5jZSA9IHtcbiAgICBuYW1lOiAnybXJtXN0eWxlUHJvcEludGVycG9sYXRlNicsXG4gICAgbW9kdWxlTmFtZTogQ09SRSxcbiAgfTtcbiAgc3RhdGljIHN0eWxlUHJvcEludGVycG9sYXRlNzogby5FeHRlcm5hbFJlZmVyZW5jZSA9IHtcbiAgICBuYW1lOiAnybXJtXN0eWxlUHJvcEludGVycG9sYXRlNycsXG4gICAgbW9kdWxlTmFtZTogQ09SRSxcbiAgfTtcbiAgc3RhdGljIHN0eWxlUHJvcEludGVycG9sYXRlODogby5FeHRlcm5hbFJlZmVyZW5jZSA9IHtcbiAgICBuYW1lOiAnybXJtXN0eWxlUHJvcEludGVycG9sYXRlOCcsXG4gICAgbW9kdWxlTmFtZTogQ09SRSxcbiAgfTtcbiAgc3RhdGljIHN0eWxlUHJvcEludGVycG9sYXRlVjogby5FeHRlcm5hbFJlZmVyZW5jZSA9IHtcbiAgICBuYW1lOiAnybXJtXN0eWxlUHJvcEludGVycG9sYXRlVicsXG4gICAgbW9kdWxlTmFtZTogQ09SRSxcbiAgfTtcblxuICBzdGF0aWMgbmV4dENvbnRleHQ6IG8uRXh0ZXJuYWxSZWZlcmVuY2UgPSB7bmFtZTogJ8m1ybVuZXh0Q29udGV4dCcsIG1vZHVsZU5hbWU6IENPUkV9O1xuXG4gIHN0YXRpYyByZXNldFZpZXc6IG8uRXh0ZXJuYWxSZWZlcmVuY2UgPSB7bmFtZTogJ8m1ybVyZXNldFZpZXcnLCBtb2R1bGVOYW1lOiBDT1JFfTtcblxuICBzdGF0aWMgdGVtcGxhdGVDcmVhdGU6IG8uRXh0ZXJuYWxSZWZlcmVuY2UgPSB7bmFtZTogJ8m1ybV0ZW1wbGF0ZScsIG1vZHVsZU5hbWU6IENPUkV9O1xuXG4gIHN0YXRpYyBkZWZlcjogby5FeHRlcm5hbFJlZmVyZW5jZSA9IHtuYW1lOiAnybXJtWRlZmVyJywgbW9kdWxlTmFtZTogQ09SRX07XG4gIHN0YXRpYyBkZWZlcldoZW46IG8uRXh0ZXJuYWxSZWZlcmVuY2UgPSB7bmFtZTogJ8m1ybVkZWZlcldoZW4nLCBtb2R1bGVOYW1lOiBDT1JFfTtcbiAgc3RhdGljIGRlZmVyT25JZGxlOiBvLkV4dGVybmFsUmVmZXJlbmNlID0ge25hbWU6ICfJtcm1ZGVmZXJPbklkbGUnLCBtb2R1bGVOYW1lOiBDT1JFfTtcbiAgc3RhdGljIGRlZmVyT25JbW1lZGlhdGU6IG8uRXh0ZXJuYWxSZWZlcmVuY2UgPSB7bmFtZTogJ8m1ybVkZWZlck9uSW1tZWRpYXRlJywgbW9kdWxlTmFtZTogQ09SRX07XG4gIHN0YXRpYyBkZWZlck9uVGltZXI6IG8uRXh0ZXJuYWxSZWZlcmVuY2UgPSB7bmFtZTogJ8m1ybVkZWZlck9uVGltZXInLCBtb2R1bGVOYW1lOiBDT1JFfTtcbiAgc3RhdGljIGRlZmVyT25Ib3Zlcjogby5FeHRlcm5hbFJlZmVyZW5jZSA9IHtuYW1lOiAnybXJtWRlZmVyT25Ib3ZlcicsIG1vZHVsZU5hbWU6IENPUkV9O1xuICBzdGF0aWMgZGVmZXJPbkludGVyYWN0aW9uOiBvLkV4dGVybmFsUmVmZXJlbmNlID0ge25hbWU6ICfJtcm1ZGVmZXJPbkludGVyYWN0aW9uJywgbW9kdWxlTmFtZTogQ09SRX07XG4gIHN0YXRpYyBkZWZlck9uVmlld3BvcnQ6IG8uRXh0ZXJuYWxSZWZlcmVuY2UgPSB7bmFtZTogJ8m1ybVkZWZlck9uVmlld3BvcnQnLCBtb2R1bGVOYW1lOiBDT1JFfTtcbiAgc3RhdGljIGRlZmVyUHJlZmV0Y2hXaGVuOiBvLkV4dGVybmFsUmVmZXJlbmNlID0ge25hbWU6ICfJtcm1ZGVmZXJQcmVmZXRjaFdoZW4nLCBtb2R1bGVOYW1lOiBDT1JFfTtcbiAgc3RhdGljIGRlZmVyUHJlZmV0Y2hPbklkbGU6IG8uRXh0ZXJuYWxSZWZlcmVuY2UgPSB7XG4gICAgbmFtZTogJ8m1ybVkZWZlclByZWZldGNoT25JZGxlJyxcbiAgICBtb2R1bGVOYW1lOiBDT1JFLFxuICB9O1xuICBzdGF0aWMgZGVmZXJQcmVmZXRjaE9uSW1tZWRpYXRlOiBvLkV4dGVybmFsUmVmZXJlbmNlID0ge1xuICAgIG5hbWU6ICfJtcm1ZGVmZXJQcmVmZXRjaE9uSW1tZWRpYXRlJyxcbiAgICBtb2R1bGVOYW1lOiBDT1JFLFxuICB9O1xuICBzdGF0aWMgZGVmZXJQcmVmZXRjaE9uVGltZXI6IG8uRXh0ZXJuYWxSZWZlcmVuY2UgPSB7XG4gICAgbmFtZTogJ8m1ybVkZWZlclByZWZldGNoT25UaW1lcicsXG4gICAgbW9kdWxlTmFtZTogQ09SRSxcbiAgfTtcbiAgc3RhdGljIGRlZmVyUHJlZmV0Y2hPbkhvdmVyOiBvLkV4dGVybmFsUmVmZXJlbmNlID0ge1xuICAgIG5hbWU6ICfJtcm1ZGVmZXJQcmVmZXRjaE9uSG92ZXInLFxuICAgIG1vZHVsZU5hbWU6IENPUkUsXG4gIH07XG4gIHN0YXRpYyBkZWZlclByZWZldGNoT25JbnRlcmFjdGlvbjogby5FeHRlcm5hbFJlZmVyZW5jZSA9IHtcbiAgICBuYW1lOiAnybXJtWRlZmVyUHJlZmV0Y2hPbkludGVyYWN0aW9uJyxcbiAgICBtb2R1bGVOYW1lOiBDT1JFLFxuICB9O1xuICBzdGF0aWMgZGVmZXJQcmVmZXRjaE9uVmlld3BvcnQ6IG8uRXh0ZXJuYWxSZWZlcmVuY2UgPSB7XG4gICAgbmFtZTogJ8m1ybVkZWZlclByZWZldGNoT25WaWV3cG9ydCcsXG4gICAgbW9kdWxlTmFtZTogQ09SRSxcbiAgfTtcbiAgc3RhdGljIGRlZmVyRW5hYmxlVGltZXJTY2hlZHVsaW5nOiBvLkV4dGVybmFsUmVmZXJlbmNlID0ge1xuICAgIG5hbWU6ICfJtcm1ZGVmZXJFbmFibGVUaW1lclNjaGVkdWxpbmcnLFxuICAgIG1vZHVsZU5hbWU6IENPUkUsXG4gIH07XG5cbiAgc3RhdGljIGNvbmRpdGlvbmFsOiBvLkV4dGVybmFsUmVmZXJlbmNlID0ge25hbWU6ICfJtcm1Y29uZGl0aW9uYWwnLCBtb2R1bGVOYW1lOiBDT1JFfTtcbiAgc3RhdGljIHJlcGVhdGVyOiBvLkV4dGVybmFsUmVmZXJlbmNlID0ge25hbWU6ICfJtcm1cmVwZWF0ZXInLCBtb2R1bGVOYW1lOiBDT1JFfTtcbiAgc3RhdGljIHJlcGVhdGVyQ3JlYXRlOiBvLkV4dGVybmFsUmVmZXJlbmNlID0ge25hbWU6ICfJtcm1cmVwZWF0ZXJDcmVhdGUnLCBtb2R1bGVOYW1lOiBDT1JFfTtcbiAgc3RhdGljIHJlcGVhdGVyVHJhY2tCeUluZGV4OiBvLkV4dGVybmFsUmVmZXJlbmNlID0ge1xuICAgIG5hbWU6ICfJtcm1cmVwZWF0ZXJUcmFja0J5SW5kZXgnLFxuICAgIG1vZHVsZU5hbWU6IENPUkUsXG4gIH07XG4gIHN0YXRpYyByZXBlYXRlclRyYWNrQnlJZGVudGl0eTogby5FeHRlcm5hbFJlZmVyZW5jZSA9IHtcbiAgICBuYW1lOiAnybXJtXJlcGVhdGVyVHJhY2tCeUlkZW50aXR5JyxcbiAgICBtb2R1bGVOYW1lOiBDT1JFLFxuICB9O1xuICBzdGF0aWMgY29tcG9uZW50SW5zdGFuY2U6IG8uRXh0ZXJuYWxSZWZlcmVuY2UgPSB7bmFtZTogJ8m1ybVjb21wb25lbnRJbnN0YW5jZScsIG1vZHVsZU5hbWU6IENPUkV9O1xuXG4gIHN0YXRpYyB0ZXh0OiBvLkV4dGVybmFsUmVmZXJlbmNlID0ge25hbWU6ICfJtcm1dGV4dCcsIG1vZHVsZU5hbWU6IENPUkV9O1xuXG4gIHN0YXRpYyBlbmFibGVCaW5kaW5nczogby5FeHRlcm5hbFJlZmVyZW5jZSA9IHtuYW1lOiAnybXJtWVuYWJsZUJpbmRpbmdzJywgbW9kdWxlTmFtZTogQ09SRX07XG5cbiAgc3RhdGljIGRpc2FibGVCaW5kaW5nczogby5FeHRlcm5hbFJlZmVyZW5jZSA9IHtuYW1lOiAnybXJtWRpc2FibGVCaW5kaW5ncycsIG1vZHVsZU5hbWU6IENPUkV9O1xuXG4gIHN0YXRpYyBnZXRDdXJyZW50Vmlldzogby5FeHRlcm5hbFJlZmVyZW5jZSA9IHtuYW1lOiAnybXJtWdldEN1cnJlbnRWaWV3JywgbW9kdWxlTmFtZTogQ09SRX07XG5cbiAgc3RhdGljIHRleHRJbnRlcnBvbGF0ZTogby5FeHRlcm5hbFJlZmVyZW5jZSA9IHtuYW1lOiAnybXJtXRleHRJbnRlcnBvbGF0ZScsIG1vZHVsZU5hbWU6IENPUkV9O1xuICBzdGF0aWMgdGV4dEludGVycG9sYXRlMTogby5FeHRlcm5hbFJlZmVyZW5jZSA9IHtuYW1lOiAnybXJtXRleHRJbnRlcnBvbGF0ZTEnLCBtb2R1bGVOYW1lOiBDT1JFfTtcbiAgc3RhdGljIHRleHRJbnRlcnBvbGF0ZTI6IG8uRXh0ZXJuYWxSZWZlcmVuY2UgPSB7bmFtZTogJ8m1ybV0ZXh0SW50ZXJwb2xhdGUyJywgbW9kdWxlTmFtZTogQ09SRX07XG4gIHN0YXRpYyB0ZXh0SW50ZXJwb2xhdGUzOiBvLkV4dGVybmFsUmVmZXJlbmNlID0ge25hbWU6ICfJtcm1dGV4dEludGVycG9sYXRlMycsIG1vZHVsZU5hbWU6IENPUkV9O1xuICBzdGF0aWMgdGV4dEludGVycG9sYXRlNDogby5FeHRlcm5hbFJlZmVyZW5jZSA9IHtuYW1lOiAnybXJtXRleHRJbnRlcnBvbGF0ZTQnLCBtb2R1bGVOYW1lOiBDT1JFfTtcbiAgc3RhdGljIHRleHRJbnRlcnBvbGF0ZTU6IG8uRXh0ZXJuYWxSZWZlcmVuY2UgPSB7bmFtZTogJ8m1ybV0ZXh0SW50ZXJwb2xhdGU1JywgbW9kdWxlTmFtZTogQ09SRX07XG4gIHN0YXRpYyB0ZXh0SW50ZXJwb2xhdGU2OiBvLkV4dGVybmFsUmVmZXJlbmNlID0ge25hbWU6ICfJtcm1dGV4dEludGVycG9sYXRlNicsIG1vZHVsZU5hbWU6IENPUkV9O1xuICBzdGF0aWMgdGV4dEludGVycG9sYXRlNzogby5FeHRlcm5hbFJlZmVyZW5jZSA9IHtuYW1lOiAnybXJtXRleHRJbnRlcnBvbGF0ZTcnLCBtb2R1bGVOYW1lOiBDT1JFfTtcbiAgc3RhdGljIHRleHRJbnRlcnBvbGF0ZTg6IG8uRXh0ZXJuYWxSZWZlcmVuY2UgPSB7bmFtZTogJ8m1ybV0ZXh0SW50ZXJwb2xhdGU4JywgbW9kdWxlTmFtZTogQ09SRX07XG4gIHN0YXRpYyB0ZXh0SW50ZXJwb2xhdGVWOiBvLkV4dGVybmFsUmVmZXJlbmNlID0ge25hbWU6ICfJtcm1dGV4dEludGVycG9sYXRlVicsIG1vZHVsZU5hbWU6IENPUkV9O1xuXG4gIHN0YXRpYyByZXN0b3JlVmlldzogby5FeHRlcm5hbFJlZmVyZW5jZSA9IHtuYW1lOiAnybXJtXJlc3RvcmVWaWV3JywgbW9kdWxlTmFtZTogQ09SRX07XG5cbiAgc3RhdGljIHB1cmVGdW5jdGlvbjA6IG8uRXh0ZXJuYWxSZWZlcmVuY2UgPSB7bmFtZTogJ8m1ybVwdXJlRnVuY3Rpb24wJywgbW9kdWxlTmFtZTogQ09SRX07XG4gIHN0YXRpYyBwdXJlRnVuY3Rpb24xOiBvLkV4dGVybmFsUmVmZXJlbmNlID0ge25hbWU6ICfJtcm1cHVyZUZ1bmN0aW9uMScsIG1vZHVsZU5hbWU6IENPUkV9O1xuICBzdGF0aWMgcHVyZUZ1bmN0aW9uMjogby5FeHRlcm5hbFJlZmVyZW5jZSA9IHtuYW1lOiAnybXJtXB1cmVGdW5jdGlvbjInLCBtb2R1bGVOYW1lOiBDT1JFfTtcbiAgc3RhdGljIHB1cmVGdW5jdGlvbjM6IG8uRXh0ZXJuYWxSZWZlcmVuY2UgPSB7bmFtZTogJ8m1ybVwdXJlRnVuY3Rpb24zJywgbW9kdWxlTmFtZTogQ09SRX07XG4gIHN0YXRpYyBwdXJlRnVuY3Rpb240OiBvLkV4dGVybmFsUmVmZXJlbmNlID0ge25hbWU6ICfJtcm1cHVyZUZ1bmN0aW9uNCcsIG1vZHVsZU5hbWU6IENPUkV9O1xuICBzdGF0aWMgcHVyZUZ1bmN0aW9uNTogby5FeHRlcm5hbFJlZmVyZW5jZSA9IHtuYW1lOiAnybXJtXB1cmVGdW5jdGlvbjUnLCBtb2R1bGVOYW1lOiBDT1JFfTtcbiAgc3RhdGljIHB1cmVGdW5jdGlvbjY6IG8uRXh0ZXJuYWxSZWZlcmVuY2UgPSB7bmFtZTogJ8m1ybVwdXJlRnVuY3Rpb242JywgbW9kdWxlTmFtZTogQ09SRX07XG4gIHN0YXRpYyBwdXJlRnVuY3Rpb243OiBvLkV4dGVybmFsUmVmZXJlbmNlID0ge25hbWU6ICfJtcm1cHVyZUZ1bmN0aW9uNycsIG1vZHVsZU5hbWU6IENPUkV9O1xuICBzdGF0aWMgcHVyZUZ1bmN0aW9uODogby5FeHRlcm5hbFJlZmVyZW5jZSA9IHtuYW1lOiAnybXJtXB1cmVGdW5jdGlvbjgnLCBtb2R1bGVOYW1lOiBDT1JFfTtcbiAgc3RhdGljIHB1cmVGdW5jdGlvblY6IG8uRXh0ZXJuYWxSZWZlcmVuY2UgPSB7bmFtZTogJ8m1ybVwdXJlRnVuY3Rpb25WJywgbW9kdWxlTmFtZTogQ09SRX07XG5cbiAgc3RhdGljIHBpcGVCaW5kMTogby5FeHRlcm5hbFJlZmVyZW5jZSA9IHtuYW1lOiAnybXJtXBpcGVCaW5kMScsIG1vZHVsZU5hbWU6IENPUkV9O1xuICBzdGF0aWMgcGlwZUJpbmQyOiBvLkV4dGVybmFsUmVmZXJlbmNlID0ge25hbWU6ICfJtcm1cGlwZUJpbmQyJywgbW9kdWxlTmFtZTogQ09SRX07XG4gIHN0YXRpYyBwaXBlQmluZDM6IG8uRXh0ZXJuYWxSZWZlcmVuY2UgPSB7bmFtZTogJ8m1ybVwaXBlQmluZDMnLCBtb2R1bGVOYW1lOiBDT1JFfTtcbiAgc3RhdGljIHBpcGVCaW5kNDogby5FeHRlcm5hbFJlZmVyZW5jZSA9IHtuYW1lOiAnybXJtXBpcGVCaW5kNCcsIG1vZHVsZU5hbWU6IENPUkV9O1xuICBzdGF0aWMgcGlwZUJpbmRWOiBvLkV4dGVybmFsUmVmZXJlbmNlID0ge25hbWU6ICfJtcm1cGlwZUJpbmRWJywgbW9kdWxlTmFtZTogQ09SRX07XG5cbiAgc3RhdGljIGhvc3RQcm9wZXJ0eTogby5FeHRlcm5hbFJlZmVyZW5jZSA9IHtuYW1lOiAnybXJtWhvc3RQcm9wZXJ0eScsIG1vZHVsZU5hbWU6IENPUkV9O1xuXG4gIHN0YXRpYyBwcm9wZXJ0eTogby5FeHRlcm5hbFJlZmVyZW5jZSA9IHtuYW1lOiAnybXJtXByb3BlcnR5JywgbW9kdWxlTmFtZTogQ09SRX07XG5cbiAgc3RhdGljIHByb3BlcnR5SW50ZXJwb2xhdGU6IG8uRXh0ZXJuYWxSZWZlcmVuY2UgPSB7XG4gICAgbmFtZTogJ8m1ybVwcm9wZXJ0eUludGVycG9sYXRlJyxcbiAgICBtb2R1bGVOYW1lOiBDT1JFLFxuICB9O1xuICBzdGF0aWMgcHJvcGVydHlJbnRlcnBvbGF0ZTE6IG8uRXh0ZXJuYWxSZWZlcmVuY2UgPSB7XG4gICAgbmFtZTogJ8m1ybVwcm9wZXJ0eUludGVycG9sYXRlMScsXG4gICAgbW9kdWxlTmFtZTogQ09SRSxcbiAgfTtcbiAgc3RhdGljIHByb3BlcnR5SW50ZXJwb2xhdGUyOiBvLkV4dGVybmFsUmVmZXJlbmNlID0ge1xuICAgIG5hbWU6ICfJtcm1cHJvcGVydHlJbnRlcnBvbGF0ZTInLFxuICAgIG1vZHVsZU5hbWU6IENPUkUsXG4gIH07XG4gIHN0YXRpYyBwcm9wZXJ0eUludGVycG9sYXRlMzogby5FeHRlcm5hbFJlZmVyZW5jZSA9IHtcbiAgICBuYW1lOiAnybXJtXByb3BlcnR5SW50ZXJwb2xhdGUzJyxcbiAgICBtb2R1bGVOYW1lOiBDT1JFLFxuICB9O1xuICBzdGF0aWMgcHJvcGVydHlJbnRlcnBvbGF0ZTQ6IG8uRXh0ZXJuYWxSZWZlcmVuY2UgPSB7XG4gICAgbmFtZTogJ8m1ybVwcm9wZXJ0eUludGVycG9sYXRlNCcsXG4gICAgbW9kdWxlTmFtZTogQ09SRSxcbiAgfTtcbiAgc3RhdGljIHByb3BlcnR5SW50ZXJwb2xhdGU1OiBvLkV4dGVybmFsUmVmZXJlbmNlID0ge1xuICAgIG5hbWU6ICfJtcm1cHJvcGVydHlJbnRlcnBvbGF0ZTUnLFxuICAgIG1vZHVsZU5hbWU6IENPUkUsXG4gIH07XG4gIHN0YXRpYyBwcm9wZXJ0eUludGVycG9sYXRlNjogby5FeHRlcm5hbFJlZmVyZW5jZSA9IHtcbiAgICBuYW1lOiAnybXJtXByb3BlcnR5SW50ZXJwb2xhdGU2JyxcbiAgICBtb2R1bGVOYW1lOiBDT1JFLFxuICB9O1xuICBzdGF0aWMgcHJvcGVydHlJbnRlcnBvbGF0ZTc6IG8uRXh0ZXJuYWxSZWZlcmVuY2UgPSB7XG4gICAgbmFtZTogJ8m1ybVwcm9wZXJ0eUludGVycG9sYXRlNycsXG4gICAgbW9kdWxlTmFtZTogQ09SRSxcbiAgfTtcbiAgc3RhdGljIHByb3BlcnR5SW50ZXJwb2xhdGU4OiBvLkV4dGVybmFsUmVmZXJlbmNlID0ge1xuICAgIG5hbWU6ICfJtcm1cHJvcGVydHlJbnRlcnBvbGF0ZTgnLFxuICAgIG1vZHVsZU5hbWU6IENPUkUsXG4gIH07XG4gIHN0YXRpYyBwcm9wZXJ0eUludGVycG9sYXRlVjogby5FeHRlcm5hbFJlZmVyZW5jZSA9IHtcbiAgICBuYW1lOiAnybXJtXByb3BlcnR5SW50ZXJwb2xhdGVWJyxcbiAgICBtb2R1bGVOYW1lOiBDT1JFLFxuICB9O1xuXG4gIHN0YXRpYyBpMThuOiBvLkV4dGVybmFsUmVmZXJlbmNlID0ge25hbWU6ICfJtcm1aTE4bicsIG1vZHVsZU5hbWU6IENPUkV9O1xuICBzdGF0aWMgaTE4bkF0dHJpYnV0ZXM6IG8uRXh0ZXJuYWxSZWZlcmVuY2UgPSB7bmFtZTogJ8m1ybVpMThuQXR0cmlidXRlcycsIG1vZHVsZU5hbWU6IENPUkV9O1xuICBzdGF0aWMgaTE4bkV4cDogby5FeHRlcm5hbFJlZmVyZW5jZSA9IHtuYW1lOiAnybXJtWkxOG5FeHAnLCBtb2R1bGVOYW1lOiBDT1JFfTtcbiAgc3RhdGljIGkxOG5TdGFydDogby5FeHRlcm5hbFJlZmVyZW5jZSA9IHtuYW1lOiAnybXJtWkxOG5TdGFydCcsIG1vZHVsZU5hbWU6IENPUkV9O1xuICBzdGF0aWMgaTE4bkVuZDogby5FeHRlcm5hbFJlZmVyZW5jZSA9IHtuYW1lOiAnybXJtWkxOG5FbmQnLCBtb2R1bGVOYW1lOiBDT1JFfTtcbiAgc3RhdGljIGkxOG5BcHBseTogby5FeHRlcm5hbFJlZmVyZW5jZSA9IHtuYW1lOiAnybXJtWkxOG5BcHBseScsIG1vZHVsZU5hbWU6IENPUkV9O1xuICBzdGF0aWMgaTE4blBvc3Rwcm9jZXNzOiBvLkV4dGVybmFsUmVmZXJlbmNlID0ge25hbWU6ICfJtcm1aTE4blBvc3Rwcm9jZXNzJywgbW9kdWxlTmFtZTogQ09SRX07XG5cbiAgc3RhdGljIHBpcGU6IG8uRXh0ZXJuYWxSZWZlcmVuY2UgPSB7bmFtZTogJ8m1ybVwaXBlJywgbW9kdWxlTmFtZTogQ09SRX07XG5cbiAgc3RhdGljIHByb2plY3Rpb246IG8uRXh0ZXJuYWxSZWZlcmVuY2UgPSB7bmFtZTogJ8m1ybVwcm9qZWN0aW9uJywgbW9kdWxlTmFtZTogQ09SRX07XG4gIHN0YXRpYyBwcm9qZWN0aW9uRGVmOiBvLkV4dGVybmFsUmVmZXJlbmNlID0ge25hbWU6ICfJtcm1cHJvamVjdGlvbkRlZicsIG1vZHVsZU5hbWU6IENPUkV9O1xuXG4gIHN0YXRpYyByZWZlcmVuY2U6IG8uRXh0ZXJuYWxSZWZlcmVuY2UgPSB7bmFtZTogJ8m1ybVyZWZlcmVuY2UnLCBtb2R1bGVOYW1lOiBDT1JFfTtcblxuICBzdGF0aWMgaW5qZWN0OiBvLkV4dGVybmFsUmVmZXJlbmNlID0ge25hbWU6ICfJtcm1aW5qZWN0JywgbW9kdWxlTmFtZTogQ09SRX07XG5cbiAgc3RhdGljIGluamVjdEF0dHJpYnV0ZTogby5FeHRlcm5hbFJlZmVyZW5jZSA9IHtuYW1lOiAnybXJtWluamVjdEF0dHJpYnV0ZScsIG1vZHVsZU5hbWU6IENPUkV9O1xuXG4gIHN0YXRpYyBkaXJlY3RpdmVJbmplY3Q6IG8uRXh0ZXJuYWxSZWZlcmVuY2UgPSB7bmFtZTogJ8m1ybVkaXJlY3RpdmVJbmplY3QnLCBtb2R1bGVOYW1lOiBDT1JFfTtcbiAgc3RhdGljIGludmFsaWRGYWN0b3J5OiBvLkV4dGVybmFsUmVmZXJlbmNlID0ge25hbWU6ICfJtcm1aW52YWxpZEZhY3RvcnknLCBtb2R1bGVOYW1lOiBDT1JFfTtcbiAgc3RhdGljIGludmFsaWRGYWN0b3J5RGVwOiBvLkV4dGVybmFsUmVmZXJlbmNlID0ge25hbWU6ICfJtcm1aW52YWxpZEZhY3RvcnlEZXAnLCBtb2R1bGVOYW1lOiBDT1JFfTtcblxuICBzdGF0aWMgdGVtcGxhdGVSZWZFeHRyYWN0b3I6IG8uRXh0ZXJuYWxSZWZlcmVuY2UgPSB7XG4gICAgbmFtZTogJ8m1ybV0ZW1wbGF0ZVJlZkV4dHJhY3RvcicsXG4gICAgbW9kdWxlTmFtZTogQ09SRSxcbiAgfTtcblxuICBzdGF0aWMgZm9yd2FyZFJlZjogby5FeHRlcm5hbFJlZmVyZW5jZSA9IHtuYW1lOiAnZm9yd2FyZFJlZicsIG1vZHVsZU5hbWU6IENPUkV9O1xuICBzdGF0aWMgcmVzb2x2ZUZvcndhcmRSZWY6IG8uRXh0ZXJuYWxSZWZlcmVuY2UgPSB7bmFtZTogJ3Jlc29sdmVGb3J3YXJkUmVmJywgbW9kdWxlTmFtZTogQ09SRX07XG5cbiAgc3RhdGljIMm1ybVkZWZpbmVJbmplY3RhYmxlOiBvLkV4dGVybmFsUmVmZXJlbmNlID0ge25hbWU6ICfJtcm1ZGVmaW5lSW5qZWN0YWJsZScsIG1vZHVsZU5hbWU6IENPUkV9O1xuICBzdGF0aWMgZGVjbGFyZUluamVjdGFibGU6IG8uRXh0ZXJuYWxSZWZlcmVuY2UgPSB7bmFtZTogJ8m1ybVuZ0RlY2xhcmVJbmplY3RhYmxlJywgbW9kdWxlTmFtZTogQ09SRX07XG4gIHN0YXRpYyBJbmplY3RhYmxlRGVjbGFyYXRpb246IG8uRXh0ZXJuYWxSZWZlcmVuY2UgPSB7XG4gICAgbmFtZTogJ8m1ybVJbmplY3RhYmxlRGVjbGFyYXRpb24nLFxuICAgIG1vZHVsZU5hbWU6IENPUkUsXG4gIH07XG5cbiAgc3RhdGljIHJlc29sdmVXaW5kb3c6IG8uRXh0ZXJuYWxSZWZlcmVuY2UgPSB7bmFtZTogJ8m1ybVyZXNvbHZlV2luZG93JywgbW9kdWxlTmFtZTogQ09SRX07XG4gIHN0YXRpYyByZXNvbHZlRG9jdW1lbnQ6IG8uRXh0ZXJuYWxSZWZlcmVuY2UgPSB7bmFtZTogJ8m1ybVyZXNvbHZlRG9jdW1lbnQnLCBtb2R1bGVOYW1lOiBDT1JFfTtcbiAgc3RhdGljIHJlc29sdmVCb2R5OiBvLkV4dGVybmFsUmVmZXJlbmNlID0ge25hbWU6ICfJtcm1cmVzb2x2ZUJvZHknLCBtb2R1bGVOYW1lOiBDT1JFfTtcblxuICBzdGF0aWMgZ2V0Q29tcG9uZW50RGVwc0ZhY3Rvcnk6IG8uRXh0ZXJuYWxSZWZlcmVuY2UgPSB7XG4gICAgbmFtZTogJ8m1ybVnZXRDb21wb25lbnREZXBzRmFjdG9yeScsXG4gICAgbW9kdWxlTmFtZTogQ09SRSxcbiAgfTtcblxuICBzdGF0aWMgZGVmaW5lQ29tcG9uZW50OiBvLkV4dGVybmFsUmVmZXJlbmNlID0ge25hbWU6ICfJtcm1ZGVmaW5lQ29tcG9uZW50JywgbW9kdWxlTmFtZTogQ09SRX07XG4gIHN0YXRpYyBkZWNsYXJlQ29tcG9uZW50OiBvLkV4dGVybmFsUmVmZXJlbmNlID0ge25hbWU6ICfJtcm1bmdEZWNsYXJlQ29tcG9uZW50JywgbW9kdWxlTmFtZTogQ09SRX07XG5cbiAgc3RhdGljIHNldENvbXBvbmVudFNjb3BlOiBvLkV4dGVybmFsUmVmZXJlbmNlID0ge25hbWU6ICfJtcm1c2V0Q29tcG9uZW50U2NvcGUnLCBtb2R1bGVOYW1lOiBDT1JFfTtcblxuICBzdGF0aWMgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3k6IG8uRXh0ZXJuYWxSZWZlcmVuY2UgPSB7XG4gICAgbmFtZTogJ0NoYW5nZURldGVjdGlvblN0cmF0ZWd5JyxcbiAgICBtb2R1bGVOYW1lOiBDT1JFLFxuICB9O1xuICBzdGF0aWMgVmlld0VuY2Fwc3VsYXRpb246IG8uRXh0ZXJuYWxSZWZlcmVuY2UgPSB7XG4gICAgbmFtZTogJ1ZpZXdFbmNhcHN1bGF0aW9uJyxcbiAgICBtb2R1bGVOYW1lOiBDT1JFLFxuICB9O1xuXG4gIHN0YXRpYyBDb21wb25lbnREZWNsYXJhdGlvbjogby5FeHRlcm5hbFJlZmVyZW5jZSA9IHtcbiAgICBuYW1lOiAnybXJtUNvbXBvbmVudERlY2xhcmF0aW9uJyxcbiAgICBtb2R1bGVOYW1lOiBDT1JFLFxuICB9O1xuXG4gIHN0YXRpYyBGYWN0b3J5RGVjbGFyYXRpb246IG8uRXh0ZXJuYWxSZWZlcmVuY2UgPSB7XG4gICAgbmFtZTogJ8m1ybVGYWN0b3J5RGVjbGFyYXRpb24nLFxuICAgIG1vZHVsZU5hbWU6IENPUkUsXG4gIH07XG4gIHN0YXRpYyBkZWNsYXJlRmFjdG9yeTogby5FeHRlcm5hbFJlZmVyZW5jZSA9IHtuYW1lOiAnybXJtW5nRGVjbGFyZUZhY3RvcnknLCBtb2R1bGVOYW1lOiBDT1JFfTtcbiAgc3RhdGljIEZhY3RvcnlUYXJnZXQ6IG8uRXh0ZXJuYWxSZWZlcmVuY2UgPSB7bmFtZTogJ8m1ybVGYWN0b3J5VGFyZ2V0JywgbW9kdWxlTmFtZTogQ09SRX07XG5cbiAgc3RhdGljIGRlZmluZURpcmVjdGl2ZTogby5FeHRlcm5hbFJlZmVyZW5jZSA9IHtuYW1lOiAnybXJtWRlZmluZURpcmVjdGl2ZScsIG1vZHVsZU5hbWU6IENPUkV9O1xuICBzdGF0aWMgZGVjbGFyZURpcmVjdGl2ZTogby5FeHRlcm5hbFJlZmVyZW5jZSA9IHtuYW1lOiAnybXJtW5nRGVjbGFyZURpcmVjdGl2ZScsIG1vZHVsZU5hbWU6IENPUkV9O1xuXG4gIHN0YXRpYyBEaXJlY3RpdmVEZWNsYXJhdGlvbjogby5FeHRlcm5hbFJlZmVyZW5jZSA9IHtcbiAgICBuYW1lOiAnybXJtURpcmVjdGl2ZURlY2xhcmF0aW9uJyxcbiAgICBtb2R1bGVOYW1lOiBDT1JFLFxuICB9O1xuXG4gIHN0YXRpYyBJbmplY3RvckRlZjogby5FeHRlcm5hbFJlZmVyZW5jZSA9IHtuYW1lOiAnybXJtUluamVjdG9yRGVmJywgbW9kdWxlTmFtZTogQ09SRX07XG4gIHN0YXRpYyBJbmplY3RvckRlY2xhcmF0aW9uOiBvLkV4dGVybmFsUmVmZXJlbmNlID0ge1xuICAgIG5hbWU6ICfJtcm1SW5qZWN0b3JEZWNsYXJhdGlvbicsXG4gICAgbW9kdWxlTmFtZTogQ09SRSxcbiAgfTtcblxuICBzdGF0aWMgZGVmaW5lSW5qZWN0b3I6IG8uRXh0ZXJuYWxSZWZlcmVuY2UgPSB7bmFtZTogJ8m1ybVkZWZpbmVJbmplY3RvcicsIG1vZHVsZU5hbWU6IENPUkV9O1xuICBzdGF0aWMgZGVjbGFyZUluamVjdG9yOiBvLkV4dGVybmFsUmVmZXJlbmNlID0ge25hbWU6ICfJtcm1bmdEZWNsYXJlSW5qZWN0b3InLCBtb2R1bGVOYW1lOiBDT1JFfTtcblxuICBzdGF0aWMgTmdNb2R1bGVEZWNsYXJhdGlvbjogby5FeHRlcm5hbFJlZmVyZW5jZSA9IHtcbiAgICBuYW1lOiAnybXJtU5nTW9kdWxlRGVjbGFyYXRpb24nLFxuICAgIG1vZHVsZU5hbWU6IENPUkUsXG4gIH07XG5cbiAgc3RhdGljIE1vZHVsZVdpdGhQcm92aWRlcnM6IG8uRXh0ZXJuYWxSZWZlcmVuY2UgPSB7XG4gICAgbmFtZTogJ01vZHVsZVdpdGhQcm92aWRlcnMnLFxuICAgIG1vZHVsZU5hbWU6IENPUkUsXG4gIH07XG5cbiAgc3RhdGljIGRlZmluZU5nTW9kdWxlOiBvLkV4dGVybmFsUmVmZXJlbmNlID0ge25hbWU6ICfJtcm1ZGVmaW5lTmdNb2R1bGUnLCBtb2R1bGVOYW1lOiBDT1JFfTtcbiAgc3RhdGljIGRlY2xhcmVOZ01vZHVsZTogby5FeHRlcm5hbFJlZmVyZW5jZSA9IHtuYW1lOiAnybXJtW5nRGVjbGFyZU5nTW9kdWxlJywgbW9kdWxlTmFtZTogQ09SRX07XG4gIHN0YXRpYyBzZXROZ01vZHVsZVNjb3BlOiBvLkV4dGVybmFsUmVmZXJlbmNlID0ge25hbWU6ICfJtcm1c2V0TmdNb2R1bGVTY29wZScsIG1vZHVsZU5hbWU6IENPUkV9O1xuICBzdGF0aWMgcmVnaXN0ZXJOZ01vZHVsZVR5cGU6IG8uRXh0ZXJuYWxSZWZlcmVuY2UgPSB7XG4gICAgbmFtZTogJ8m1ybVyZWdpc3Rlck5nTW9kdWxlVHlwZScsXG4gICAgbW9kdWxlTmFtZTogQ09SRSxcbiAgfTtcblxuICBzdGF0aWMgUGlwZURlY2xhcmF0aW9uOiBvLkV4dGVybmFsUmVmZXJlbmNlID0ge25hbWU6ICfJtcm1UGlwZURlY2xhcmF0aW9uJywgbW9kdWxlTmFtZTogQ09SRX07XG5cbiAgc3RhdGljIGRlZmluZVBpcGU6IG8uRXh0ZXJuYWxSZWZlcmVuY2UgPSB7bmFtZTogJ8m1ybVkZWZpbmVQaXBlJywgbW9kdWxlTmFtZTogQ09SRX07XG4gIHN0YXRpYyBkZWNsYXJlUGlwZTogby5FeHRlcm5hbFJlZmVyZW5jZSA9IHtuYW1lOiAnybXJtW5nRGVjbGFyZVBpcGUnLCBtb2R1bGVOYW1lOiBDT1JFfTtcblxuICBzdGF0aWMgZGVjbGFyZUNsYXNzTWV0YWRhdGE6IG8uRXh0ZXJuYWxSZWZlcmVuY2UgPSB7XG4gICAgbmFtZTogJ8m1ybVuZ0RlY2xhcmVDbGFzc01ldGFkYXRhJyxcbiAgICBtb2R1bGVOYW1lOiBDT1JFLFxuICB9O1xuICBzdGF0aWMgZGVjbGFyZUNsYXNzTWV0YWRhdGFBc3luYzogby5FeHRlcm5hbFJlZmVyZW5jZSA9IHtcbiAgICBuYW1lOiAnybXJtW5nRGVjbGFyZUNsYXNzTWV0YWRhdGFBc3luYycsXG4gICAgbW9kdWxlTmFtZTogQ09SRSxcbiAgfTtcbiAgc3RhdGljIHNldENsYXNzTWV0YWRhdGE6IG8uRXh0ZXJuYWxSZWZlcmVuY2UgPSB7bmFtZTogJ8m1c2V0Q2xhc3NNZXRhZGF0YScsIG1vZHVsZU5hbWU6IENPUkV9O1xuICBzdGF0aWMgc2V0Q2xhc3NNZXRhZGF0YUFzeW5jOiBvLkV4dGVybmFsUmVmZXJlbmNlID0ge1xuICAgIG5hbWU6ICfJtXNldENsYXNzTWV0YWRhdGFBc3luYycsXG4gICAgbW9kdWxlTmFtZTogQ09SRSxcbiAgfTtcbiAgc3RhdGljIHNldENsYXNzRGVidWdJbmZvOiBvLkV4dGVybmFsUmVmZXJlbmNlID0ge25hbWU6ICfJtXNldENsYXNzRGVidWdJbmZvJywgbW9kdWxlTmFtZTogQ09SRX07XG4gIHN0YXRpYyBxdWVyeVJlZnJlc2g6IG8uRXh0ZXJuYWxSZWZlcmVuY2UgPSB7bmFtZTogJ8m1ybVxdWVyeVJlZnJlc2gnLCBtb2R1bGVOYW1lOiBDT1JFfTtcbiAgc3RhdGljIHZpZXdRdWVyeTogby5FeHRlcm5hbFJlZmVyZW5jZSA9IHtuYW1lOiAnybXJtXZpZXdRdWVyeScsIG1vZHVsZU5hbWU6IENPUkV9O1xuICBzdGF0aWMgbG9hZFF1ZXJ5OiBvLkV4dGVybmFsUmVmZXJlbmNlID0ge25hbWU6ICfJtcm1bG9hZFF1ZXJ5JywgbW9kdWxlTmFtZTogQ09SRX07XG4gIHN0YXRpYyBjb250ZW50UXVlcnk6IG8uRXh0ZXJuYWxSZWZlcmVuY2UgPSB7bmFtZTogJ8m1ybVjb250ZW50UXVlcnknLCBtb2R1bGVOYW1lOiBDT1JFfTtcblxuICAvLyBTaWduYWwgcXVlcmllc1xuICBzdGF0aWMgdmlld1F1ZXJ5U2lnbmFsOiBvLkV4dGVybmFsUmVmZXJlbmNlID0ge25hbWU6ICfJtcm1dmlld1F1ZXJ5U2lnbmFsJywgbW9kdWxlTmFtZTogQ09SRX07XG4gIHN0YXRpYyBjb250ZW50UXVlcnlTaWduYWw6IG8uRXh0ZXJuYWxSZWZlcmVuY2UgPSB7bmFtZTogJ8m1ybVjb250ZW50UXVlcnlTaWduYWwnLCBtb2R1bGVOYW1lOiBDT1JFfTtcbiAgc3RhdGljIHF1ZXJ5QWR2YW5jZTogby5FeHRlcm5hbFJlZmVyZW5jZSA9IHtuYW1lOiAnybXJtXF1ZXJ5QWR2YW5jZScsIG1vZHVsZU5hbWU6IENPUkV9O1xuXG4gIC8vIFR3by13YXkgYmluZGluZ3NcbiAgc3RhdGljIHR3b1dheVByb3BlcnR5OiBvLkV4dGVybmFsUmVmZXJlbmNlID0ge25hbWU6ICfJtcm1dHdvV2F5UHJvcGVydHknLCBtb2R1bGVOYW1lOiBDT1JFfTtcbiAgc3RhdGljIHR3b1dheUJpbmRpbmdTZXQ6IG8uRXh0ZXJuYWxSZWZlcmVuY2UgPSB7bmFtZTogJ8m1ybV0d29XYXlCaW5kaW5nU2V0JywgbW9kdWxlTmFtZTogQ09SRX07XG4gIHN0YXRpYyB0d29XYXlMaXN0ZW5lcjogby5FeHRlcm5hbFJlZmVyZW5jZSA9IHtuYW1lOiAnybXJtXR3b1dheUxpc3RlbmVyJywgbW9kdWxlTmFtZTogQ09SRX07XG5cbiAgc3RhdGljIGRlY2xhcmVMZXQ6IG8uRXh0ZXJuYWxSZWZlcmVuY2UgPSB7bmFtZTogJ8m1ybVkZWNsYXJlTGV0JywgbW9kdWxlTmFtZTogQ09SRX07XG4gIHN0YXRpYyBzdG9yZUxldDogby5FeHRlcm5hbFJlZmVyZW5jZSA9IHtuYW1lOiAnybXJtXN0b3JlTGV0JywgbW9kdWxlTmFtZTogQ09SRX07XG4gIHN0YXRpYyByZWFkQ29udGV4dExldDogby5FeHRlcm5hbFJlZmVyZW5jZSA9IHtuYW1lOiAnybXJtXJlYWRDb250ZXh0TGV0JywgbW9kdWxlTmFtZTogQ09SRX07XG5cbiAgc3RhdGljIE5nT25DaGFuZ2VzRmVhdHVyZTogby5FeHRlcm5hbFJlZmVyZW5jZSA9IHtuYW1lOiAnybXJtU5nT25DaGFuZ2VzRmVhdHVyZScsIG1vZHVsZU5hbWU6IENPUkV9O1xuXG4gIHN0YXRpYyBJbmhlcml0RGVmaW5pdGlvbkZlYXR1cmU6IG8uRXh0ZXJuYWxSZWZlcmVuY2UgPSB7XG4gICAgbmFtZTogJ8m1ybVJbmhlcml0RGVmaW5pdGlvbkZlYXR1cmUnLFxuICAgIG1vZHVsZU5hbWU6IENPUkUsXG4gIH07XG5cbiAgc3RhdGljIENvcHlEZWZpbml0aW9uRmVhdHVyZTogby5FeHRlcm5hbFJlZmVyZW5jZSA9IHtcbiAgICBuYW1lOiAnybXJtUNvcHlEZWZpbml0aW9uRmVhdHVyZScsXG4gICAgbW9kdWxlTmFtZTogQ09SRSxcbiAgfTtcblxuICBzdGF0aWMgU3RhbmRhbG9uZUZlYXR1cmU6IG8uRXh0ZXJuYWxSZWZlcmVuY2UgPSB7bmFtZTogJ8m1ybVTdGFuZGFsb25lRmVhdHVyZScsIG1vZHVsZU5hbWU6IENPUkV9O1xuXG4gIHN0YXRpYyBQcm92aWRlcnNGZWF0dXJlOiBvLkV4dGVybmFsUmVmZXJlbmNlID0ge25hbWU6ICfJtcm1UHJvdmlkZXJzRmVhdHVyZScsIG1vZHVsZU5hbWU6IENPUkV9O1xuXG4gIHN0YXRpYyBIb3N0RGlyZWN0aXZlc0ZlYXR1cmU6IG8uRXh0ZXJuYWxSZWZlcmVuY2UgPSB7XG4gICAgbmFtZTogJ8m1ybVIb3N0RGlyZWN0aXZlc0ZlYXR1cmUnLFxuICAgIG1vZHVsZU5hbWU6IENPUkUsXG4gIH07XG5cbiAgc3RhdGljIElucHV0VHJhbnNmb3Jtc0ZlYXR1cmVGZWF0dXJlOiBvLkV4dGVybmFsUmVmZXJlbmNlID0ge1xuICAgIG5hbWU6ICfJtcm1SW5wdXRUcmFuc2Zvcm1zRmVhdHVyZScsXG4gICAgbW9kdWxlTmFtZTogQ09SRSxcbiAgfTtcblxuICBzdGF0aWMgbGlzdGVuZXI6IG8uRXh0ZXJuYWxSZWZlcmVuY2UgPSB7bmFtZTogJ8m1ybVsaXN0ZW5lcicsIG1vZHVsZU5hbWU6IENPUkV9O1xuXG4gIHN0YXRpYyBnZXRJbmhlcml0ZWRGYWN0b3J5OiBvLkV4dGVybmFsUmVmZXJlbmNlID0ge1xuICAgIG5hbWU6ICfJtcm1Z2V0SW5oZXJpdGVkRmFjdG9yeScsXG4gICAgbW9kdWxlTmFtZTogQ09SRSxcbiAgfTtcblxuICAvLyBzYW5pdGl6YXRpb24tcmVsYXRlZCBmdW5jdGlvbnNcbiAgc3RhdGljIHNhbml0aXplSHRtbDogby5FeHRlcm5hbFJlZmVyZW5jZSA9IHtuYW1lOiAnybXJtXNhbml0aXplSHRtbCcsIG1vZHVsZU5hbWU6IENPUkV9O1xuICBzdGF0aWMgc2FuaXRpemVTdHlsZTogby5FeHRlcm5hbFJlZmVyZW5jZSA9IHtuYW1lOiAnybXJtXNhbml0aXplU3R5bGUnLCBtb2R1bGVOYW1lOiBDT1JFfTtcbiAgc3RhdGljIHNhbml0aXplUmVzb3VyY2VVcmw6IG8uRXh0ZXJuYWxSZWZlcmVuY2UgPSB7XG4gICAgbmFtZTogJ8m1ybVzYW5pdGl6ZVJlc291cmNlVXJsJyxcbiAgICBtb2R1bGVOYW1lOiBDT1JFLFxuICB9O1xuICBzdGF0aWMgc2FuaXRpemVTY3JpcHQ6IG8uRXh0ZXJuYWxSZWZlcmVuY2UgPSB7bmFtZTogJ8m1ybVzYW5pdGl6ZVNjcmlwdCcsIG1vZHVsZU5hbWU6IENPUkV9O1xuICBzdGF0aWMgc2FuaXRpemVVcmw6IG8uRXh0ZXJuYWxSZWZlcmVuY2UgPSB7bmFtZTogJ8m1ybVzYW5pdGl6ZVVybCcsIG1vZHVsZU5hbWU6IENPUkV9O1xuICBzdGF0aWMgc2FuaXRpemVVcmxPclJlc291cmNlVXJsOiBvLkV4dGVybmFsUmVmZXJlbmNlID0ge1xuICAgIG5hbWU6ICfJtcm1c2FuaXRpemVVcmxPclJlc291cmNlVXJsJyxcbiAgICBtb2R1bGVOYW1lOiBDT1JFLFxuICB9O1xuICBzdGF0aWMgdHJ1c3RDb25zdGFudEh0bWw6IG8uRXh0ZXJuYWxSZWZlcmVuY2UgPSB7bmFtZTogJ8m1ybV0cnVzdENvbnN0YW50SHRtbCcsIG1vZHVsZU5hbWU6IENPUkV9O1xuICBzdGF0aWMgdHJ1c3RDb25zdGFudFJlc291cmNlVXJsOiBvLkV4dGVybmFsUmVmZXJlbmNlID0ge1xuICAgIG5hbWU6ICfJtcm1dHJ1c3RDb25zdGFudFJlc291cmNlVXJsJyxcbiAgICBtb2R1bGVOYW1lOiBDT1JFLFxuICB9O1xuICBzdGF0aWMgdmFsaWRhdGVJZnJhbWVBdHRyaWJ1dGU6IG8uRXh0ZXJuYWxSZWZlcmVuY2UgPSB7XG4gICAgbmFtZTogJ8m1ybV2YWxpZGF0ZUlmcmFtZUF0dHJpYnV0ZScsXG4gICAgbW9kdWxlTmFtZTogQ09SRSxcbiAgfTtcblxuICAvLyB0eXBlLWNoZWNraW5nXG4gIHN0YXRpYyBJbnB1dFNpZ25hbEJyYW5kV3JpdGVUeXBlID0ge25hbWU6ICfJtUlOUFVUX1NJR05BTF9CUkFORF9XUklURV9UWVBFJywgbW9kdWxlTmFtZTogQ09SRX07XG4gIHN0YXRpYyBVbndyYXBEaXJlY3RpdmVTaWduYWxJbnB1dHMgPSB7bmFtZTogJ8m1VW53cmFwRGlyZWN0aXZlU2lnbmFsSW5wdXRzJywgbW9kdWxlTmFtZTogQ09SRX07XG4gIHN0YXRpYyB1bndyYXBXcml0YWJsZVNpZ25hbCA9IHtuYW1lOiAnybV1bndyYXBXcml0YWJsZVNpZ25hbCcsIG1vZHVsZU5hbWU6IENPUkV9O1xufVxuIl19
@@ -1,28 +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
- import * as o from '../output/output_ast';
9
- import { Identifiers as R3 } from './r3_identifiers';
10
- import { DefinitionMap } from './view/util';
11
- export function compileInjector(meta) {
12
- const definitionMap = new DefinitionMap();
13
- if (meta.providers !== null) {
14
- definitionMap.set('providers', meta.providers);
15
- }
16
- if (meta.imports.length > 0) {
17
- definitionMap.set('imports', o.literalArr(meta.imports));
18
- }
19
- const expression = o
20
- .importExpr(R3.defineInjector)
21
- .callFn([definitionMap.toLiteralMap()], undefined, true);
22
- const type = createInjectorType(meta);
23
- return { expression, type, statements: [] };
24
- }
25
- export function createInjectorType(meta) {
26
- return new o.ExpressionType(o.importExpr(R3.InjectorDeclaration, [new o.ExpressionType(meta.type.type)]));
27
- }
28
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicjNfaW5qZWN0b3JfY29tcGlsZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jb21waWxlci9zcmMvcmVuZGVyMy9yM19pbmplY3Rvcl9jb21waWxlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7O0dBTUc7QUFFSCxPQUFPLEtBQUssQ0FBQyxNQUFNLHNCQUFzQixDQUFDO0FBRTFDLE9BQU8sRUFBQyxXQUFXLElBQUksRUFBRSxFQUFDLE1BQU0sa0JBQWtCLENBQUM7QUFFbkQsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLGFBQWEsQ0FBQztBQVMxQyxNQUFNLFVBQVUsZUFBZSxDQUFDLElBQXdCO0lBQ3RELE1BQU0sYUFBYSxHQUFHLElBQUksYUFBYSxFQUFvRCxDQUFDO0lBRTVGLElBQUksSUFBSSxDQUFDLFNBQVMsS0FBSyxJQUFJLEVBQUUsQ0FBQztRQUM1QixhQUFhLENBQUMsR0FBRyxDQUFDLFdBQVcsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDakQsQ0FBQztJQUVELElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUM7UUFDNUIsYUFBYSxDQUFDLEdBQUcsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztJQUMzRCxDQUFDO0lBRUQsTUFBTSxVQUFVLEdBQUcsQ0FBQztTQUNqQixVQUFVLENBQUMsRUFBRSxDQUFDLGNBQWMsQ0FBQztTQUM3QixNQUFNLENBQUMsQ0FBQyxhQUFhLENBQUMsWUFBWSxFQUFFLENBQUMsRUFBRSxTQUFTLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDM0QsTUFBTSxJQUFJLEdBQUcsa0JBQWtCLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDdEMsT0FBTyxFQUFDLFVBQVUsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFLEVBQUUsRUFBQyxDQUFDO0FBQzVDLENBQUM7QUFFRCxNQUFNLFVBQVUsa0JBQWtCLENBQUMsSUFBd0I7SUFDekQsT0FBTyxJQUFJLENBQUMsQ0FBQyxjQUFjLENBQ3pCLENBQUMsQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDLG1CQUFtQixFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUM3RSxDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmVcbiAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2VcbiAqL1xuXG5pbXBvcnQgKiBhcyBvIGZyb20gJy4uL291dHB1dC9vdXRwdXRfYXN0JztcblxuaW1wb3J0IHtJZGVudGlmaWVycyBhcyBSM30gZnJvbSAnLi9yM19pZGVudGlmaWVycyc7XG5pbXBvcnQge1IzQ29tcGlsZWRFeHByZXNzaW9uLCBSM1JlZmVyZW5jZX0gZnJvbSAnLi91dGlsJztcbmltcG9ydCB7RGVmaW5pdGlvbk1hcH0gZnJvbSAnLi92aWV3L3V0aWwnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFIzSW5qZWN0b3JNZXRhZGF0YSB7XG4gIG5hbWU6IHN0cmluZztcbiAgdHlwZTogUjNSZWZlcmVuY2U7XG4gIHByb3ZpZGVyczogby5FeHByZXNzaW9uIHwgbnVsbDtcbiAgaW1wb3J0czogby5FeHByZXNzaW9uW107XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjb21waWxlSW5qZWN0b3IobWV0YTogUjNJbmplY3Rvck1ldGFkYXRhKTogUjNDb21waWxlZEV4cHJlc3Npb24ge1xuICBjb25zdCBkZWZpbml0aW9uTWFwID0gbmV3IERlZmluaXRpb25NYXA8e3Byb3ZpZGVyczogby5FeHByZXNzaW9uOyBpbXBvcnRzOiBvLkV4cHJlc3Npb259PigpO1xuXG4gIGlmIChtZXRhLnByb3ZpZGVycyAhPT0gbnVsbCkge1xuICAgIGRlZmluaXRpb25NYXAuc2V0KCdwcm92aWRlcnMnLCBtZXRhLnByb3ZpZGVycyk7XG4gIH1cblxuICBpZiAobWV0YS5pbXBvcnRzLmxlbmd0aCA+IDApIHtcbiAgICBkZWZpbml0aW9uTWFwLnNldCgnaW1wb3J0cycsIG8ubGl0ZXJhbEFycihtZXRhLmltcG9ydHMpKTtcbiAgfVxuXG4gIGNvbnN0IGV4cHJlc3Npb24gPSBvXG4gICAgLmltcG9ydEV4cHIoUjMuZGVmaW5lSW5qZWN0b3IpXG4gICAgLmNhbGxGbihbZGVmaW5pdGlvbk1hcC50b0xpdGVyYWxNYXAoKV0sIHVuZGVmaW5lZCwgdHJ1ZSk7XG4gIGNvbnN0IHR5cGUgPSBjcmVhdGVJbmplY3RvclR5cGUobWV0YSk7XG4gIHJldHVybiB7ZXhwcmVzc2lvbiwgdHlwZSwgc3RhdGVtZW50czogW119O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlSW5qZWN0b3JUeXBlKG1ldGE6IFIzSW5qZWN0b3JNZXRhZGF0YSk6IG8uVHlwZSB7XG4gIHJldHVybiBuZXcgby5FeHByZXNzaW9uVHlwZShcbiAgICBvLmltcG9ydEV4cHIoUjMuSW5qZWN0b3JEZWNsYXJhdGlvbiwgW25ldyBvLkV4cHJlc3Npb25UeXBlKG1ldGEudHlwZS50eXBlKV0pLFxuICApO1xufVxuIl19
@@ -1,29 +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
- * Implementation of `CompileReflector` which resolves references to @angular/core
10
- * symbols at runtime, according to a consumer-provided mapping.
11
- *
12
- * Only supports `resolveExternalReference`, all other methods throw.
13
- */
14
- export class R3JitReflector {
15
- constructor(context) {
16
- this.context = context;
17
- }
18
- resolveExternalReference(ref) {
19
- // This reflector only handles @angular/core imports.
20
- if (ref.moduleName !== '@angular/core') {
21
- throw new Error(`Cannot resolve external reference to ${ref.moduleName}, only references to @angular/core are supported.`);
22
- }
23
- if (!this.context.hasOwnProperty(ref.name)) {
24
- throw new Error(`No value provided for @angular/core symbol '${ref.name}'.`);
25
- }
26
- return this.context[ref.name];
27
- }
28
- }
29
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicjNfaml0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvY29tcGlsZXIvc3JjL3JlbmRlcjMvcjNfaml0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7R0FNRztBQUtIOzs7OztHQUtHO0FBQ0gsTUFBTSxPQUFPLGNBQWM7SUFDekIsWUFBb0IsT0FBaUM7UUFBakMsWUFBTyxHQUFQLE9BQU8sQ0FBMEI7SUFBRyxDQUFDO0lBRXpELHdCQUF3QixDQUFDLEdBQXdCO1FBQy9DLHFEQUFxRDtRQUNyRCxJQUFJLEdBQUcsQ0FBQyxVQUFVLEtBQUssZUFBZSxFQUFFLENBQUM7WUFDdkMsTUFBTSxJQUFJLEtBQUssQ0FDYix3Q0FBd0MsR0FBRyxDQUFDLFVBQVUsbURBQW1ELENBQzFHLENBQUM7UUFDSixDQUFDO1FBQ0QsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsY0FBYyxDQUFDLEdBQUcsQ0FBQyxJQUFLLENBQUMsRUFBRSxDQUFDO1lBQzVDLE1BQU0sSUFBSSxLQUFLLENBQUMsK0NBQStDLEdBQUcsQ0FBQyxJQUFLLElBQUksQ0FBQyxDQUFDO1FBQ2hGLENBQUM7UUFDRCxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLElBQUssQ0FBQyxDQUFDO0lBQ2pDLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmVcbiAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2VcbiAqL1xuXG5pbXBvcnQgKiBhcyBvIGZyb20gJy4uL291dHB1dC9vdXRwdXRfYXN0JztcbmltcG9ydCB7RXh0ZXJuYWxSZWZlcmVuY2VSZXNvbHZlcn0gZnJvbSAnLi4vb3V0cHV0L291dHB1dF9qaXQnO1xuXG4vKipcbiAqIEltcGxlbWVudGF0aW9uIG9mIGBDb21waWxlUmVmbGVjdG9yYCB3aGljaCByZXNvbHZlcyByZWZlcmVuY2VzIHRvIEBhbmd1bGFyL2NvcmVcbiAqIHN5bWJvbHMgYXQgcnVudGltZSwgYWNjb3JkaW5nIHRvIGEgY29uc3VtZXItcHJvdmlkZWQgbWFwcGluZy5cbiAqXG4gKiBPbmx5IHN1cHBvcnRzIGByZXNvbHZlRXh0ZXJuYWxSZWZlcmVuY2VgLCBhbGwgb3RoZXIgbWV0aG9kcyB0aHJvdy5cbiAqL1xuZXhwb3J0IGNsYXNzIFIzSml0UmVmbGVjdG9yIGltcGxlbWVudHMgRXh0ZXJuYWxSZWZlcmVuY2VSZXNvbHZlciB7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgY29udGV4dDoge1trZXk6IHN0cmluZ106IHVua25vd259KSB7fVxuXG4gIHJlc29sdmVFeHRlcm5hbFJlZmVyZW5jZShyZWY6IG8uRXh0ZXJuYWxSZWZlcmVuY2UpOiB1bmtub3duIHtcbiAgICAvLyBUaGlzIHJlZmxlY3RvciBvbmx5IGhhbmRsZXMgQGFuZ3VsYXIvY29yZSBpbXBvcnRzLlxuICAgIGlmIChyZWYubW9kdWxlTmFtZSAhPT0gJ0Bhbmd1bGFyL2NvcmUnKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgIGBDYW5ub3QgcmVzb2x2ZSBleHRlcm5hbCByZWZlcmVuY2UgdG8gJHtyZWYubW9kdWxlTmFtZX0sIG9ubHkgcmVmZXJlbmNlcyB0byBAYW5ndWxhci9jb3JlIGFyZSBzdXBwb3J0ZWQuYCxcbiAgICAgICk7XG4gICAgfVxuICAgIGlmICghdGhpcy5jb250ZXh0Lmhhc093blByb3BlcnR5KHJlZi5uYW1lISkpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgTm8gdmFsdWUgcHJvdmlkZWQgZm9yIEBhbmd1bGFyL2NvcmUgc3ltYm9sICcke3JlZi5uYW1lIX0nLmApO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5jb250ZXh0W3JlZi5uYW1lIV07XG4gIH1cbn1cbiJdfQ==