@angular/core 10.0.1 → 10.0.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (54) hide show
  1. package/bundles/core-testing.umd.js +320 -271
  2. package/bundles/core-testing.umd.js.map +1 -1
  3. package/bundles/core-testing.umd.min.js +11 -25
  4. package/bundles/core-testing.umd.min.js.map +1 -1
  5. package/bundles/core.umd.js +834 -1043
  6. package/bundles/core.umd.js.map +1 -1
  7. package/bundles/core.umd.min.js +132 -286
  8. package/bundles/core.umd.min.js.map +1 -1
  9. package/core.d.ts +193 -183
  10. package/core.metadata.json +1 -1
  11. package/esm2015/core.js +11 -10
  12. package/esm2015/src/application_init.js +9 -5
  13. package/esm2015/src/application_tokens.js +16 -12
  14. package/esm2015/src/change_detection/change_detector_ref.js +6 -3
  15. package/esm2015/src/change_detection/constants.js +3 -1
  16. package/esm2015/src/core_render3_private_export.js +2 -2
  17. package/esm2015/src/di/injectable.js +1 -1
  18. package/esm2015/src/di/metadata.js +2 -2
  19. package/esm2015/src/interface/type.js +2 -2
  20. package/esm2015/src/linker/ng_module_factory.js +3 -5
  21. package/esm2015/src/linker/view_ref.js +3 -6
  22. package/esm2015/src/metadata/directives.js +1 -1
  23. package/esm2015/src/metadata/ng_module.js +1 -1
  24. package/esm2015/src/render3/definition.js +3 -11
  25. package/esm2015/src/render3/di.js +13 -5
  26. package/esm2015/src/render3/di_setup.js +5 -5
  27. package/esm2015/src/render3/features/inherit_definition_feature.js +1 -11
  28. package/esm2015/src/render3/features/ng_onchanges_feature.js +32 -22
  29. package/esm2015/src/render3/hooks.js +27 -23
  30. package/esm2015/src/render3/i18n.js +3 -3
  31. package/esm2015/src/render3/index.js +3 -3
  32. package/esm2015/src/render3/instructions/element.js +4 -4
  33. package/esm2015/src/render3/instructions/host_property.js +3 -3
  34. package/esm2015/src/render3/instructions/listener.js +3 -3
  35. package/esm2015/src/render3/instructions/shared.js +15 -26
  36. package/esm2015/src/render3/interfaces/definition.js +1 -1
  37. package/esm2015/src/render3/interfaces/node.js +1 -1
  38. package/esm2015/src/render3/jit/environment.js +3 -3
  39. package/esm2015/src/render3/util/discovery_utils.js +2 -2
  40. package/esm2015/src/render3/view_ref.js +3 -3
  41. package/esm2015/src/sanitization/html_sanitizer.js +3 -3
  42. package/esm2015/src/sanitization/inert_body.js +39 -82
  43. package/esm2015/src/util/ng_dev_mode.js +2 -2
  44. package/esm2015/src/version.js +1 -1
  45. package/esm2015/testing/src/fake_async_fallback.js +5 -1
  46. package/fesm2015/core.js +266 -309
  47. package/fesm2015/core.js.map +1 -1
  48. package/fesm2015/testing.js +5 -1
  49. package/fesm2015/testing.js.map +1 -1
  50. package/package.json +1 -1
  51. package/src/r3_symbols.d.ts +15 -17
  52. package/testing/testing.d.ts +1 -1
  53. package/testing.d.ts +1 -1
  54. package/esm2015/src/util/WrappedValue.js +0 -48
package/fesm2015/core.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @license Angular v10.0.1
2
+ * @license Angular v10.0.5
3
3
  * (c) 2010-2020 Google LLC. https://angular.io/
4
4
  * License: MIT
5
5
  */
@@ -177,7 +177,7 @@ const Optional = makeParamDecorator('Optional');
177
177
  */
178
178
  const Self = makeParamDecorator('Self');
179
179
  /**
180
- * SkipSelf decorator and metadata.
180
+ * `SkipSelf` decorator and metadata.
181
181
  *
182
182
  * @Annotation
183
183
  * @publicApi
@@ -638,7 +638,7 @@ function ngDevModeResetPerfCounters() {
638
638
  * (and thus Ivy instructions), so a single initialization there is sufficient to ensure ngDevMode
639
639
  * is defined for the entire instruction set.
640
640
  *
641
- * When using checking `ngDevMode` on toplevel, always init it before referencing it
641
+ * When checking `ngDevMode` on toplevel, always init it before referencing it
642
642
  * (e.g. `((typeof ngDevMode === 'undefined' || ngDevMode) && initNgDevMode())`), otherwise you can
643
643
  * get a `ReferenceError` like in https://github.com/angular/angular/issues/31595.
644
644
  *
@@ -989,10 +989,8 @@ function getFactoryOf(type) {
989
989
  * found in the LICENSE file at https://angular.io/license
990
990
  */
991
991
  /**
992
- * Represents an instance of an NgModule created via a {@link NgModuleFactory}.
993
- *
994
- * `NgModuleRef` provides access to the NgModule Instance as well other objects related to this
995
- * NgModule Instance.
992
+ * Represents an instance of an `NgModule` created by an `NgModuleFactory`.
993
+ * Provides access to the `NgModule` instance and related objects.
996
994
  *
997
995
  * @publicApi
998
996
  */
@@ -1410,6 +1408,8 @@ function _arrayIndexOfSorted(array, value, shift) {
1410
1408
  * The strategy that the default change detector uses to detect changes.
1411
1409
  * When set, takes effect the next time change detection is triggered.
1412
1410
  *
1411
+ * @see {@link ChangeDetectorRef#usage-notes Change detection usage}
1412
+ *
1413
1413
  * @publicApi
1414
1414
  */
1415
1415
  var ChangeDetectionStrategy;
@@ -1603,14 +1603,6 @@ function ɵɵdefineComponent(componentDefinition) {
1603
1603
  inputs: null,
1604
1604
  outputs: null,
1605
1605
  exportAs: componentDefinition.exportAs || null,
1606
- onChanges: null,
1607
- onInit: typePrototype.ngOnInit || null,
1608
- doCheck: typePrototype.ngDoCheck || null,
1609
- afterContentInit: typePrototype.ngAfterContentInit || null,
1610
- afterContentChecked: typePrototype.ngAfterContentChecked || null,
1611
- afterViewInit: typePrototype.ngAfterViewInit || null,
1612
- afterViewChecked: typePrototype.ngAfterViewChecked || null,
1613
- onDestroy: typePrototype.ngOnDestroy || null,
1614
1606
  onPush: componentDefinition.changeDetection === ChangeDetectionStrategy.OnPush,
1615
1607
  directiveDefs: null,
1616
1608
  pipeDefs: null,
@@ -1618,8 +1610,8 @@ function ɵɵdefineComponent(componentDefinition) {
1618
1610
  viewQuery: componentDefinition.viewQuery || null,
1619
1611
  features: componentDefinition.features || null,
1620
1612
  data: componentDefinition.data || {},
1621
- // TODO(misko): convert ViewEncapsulation into const enum so that it can be used directly in
1622
- // the next line. Also `None` should be 0 not 2.
1613
+ // TODO(misko): convert ViewEncapsulation into const enum so that it can be used
1614
+ // directly in the next line. Also `None` should be 0 not 2.
1623
1615
  encapsulation: componentDefinition.encapsulation || ViewEncapsulation$1.Emulated,
1624
1616
  id: 'c',
1625
1617
  styles: componentDefinition.styles || EMPTY_ARRAY,
@@ -2036,6 +2028,126 @@ function assertDirectiveDef(obj) {
2036
2028
  }
2037
2029
  }
2038
2030
 
2031
+ /**
2032
+ * @license
2033
+ * Copyright Google LLC All Rights Reserved.
2034
+ *
2035
+ * Use of this source code is governed by an MIT-style license that can be
2036
+ * found in the LICENSE file at https://angular.io/license
2037
+ */
2038
+ /**
2039
+ * Represents a basic change from a previous to a new value for a single
2040
+ * property on a directive instance. Passed as a value in a
2041
+ * {@link SimpleChanges} object to the `ngOnChanges` hook.
2042
+ *
2043
+ * @see `OnChanges`
2044
+ *
2045
+ * @publicApi
2046
+ */
2047
+ class SimpleChange {
2048
+ constructor(previousValue, currentValue, firstChange) {
2049
+ this.previousValue = previousValue;
2050
+ this.currentValue = currentValue;
2051
+ this.firstChange = firstChange;
2052
+ }
2053
+ /**
2054
+ * Check whether the new value is the first value assigned.
2055
+ */
2056
+ isFirstChange() {
2057
+ return this.firstChange;
2058
+ }
2059
+ }
2060
+
2061
+ /**
2062
+ * @license
2063
+ * Copyright Google LLC All Rights Reserved.
2064
+ *
2065
+ * Use of this source code is governed by an MIT-style license that can be
2066
+ * found in the LICENSE file at https://angular.io/license
2067
+ */
2068
+ /**
2069
+ * The NgOnChangesFeature decorates a component with support for the ngOnChanges
2070
+ * lifecycle hook, so it should be included in any component that implements
2071
+ * that hook.
2072
+ *
2073
+ * If the component or directive uses inheritance, the NgOnChangesFeature MUST
2074
+ * be included as a feature AFTER {@link InheritDefinitionFeature}, otherwise
2075
+ * inherited properties will not be propagated to the ngOnChanges lifecycle
2076
+ * hook.
2077
+ *
2078
+ * Example usage:
2079
+ *
2080
+ * ```
2081
+ * static ɵcmp = defineComponent({
2082
+ * ...
2083
+ * inputs: {name: 'publicName'},
2084
+ * features: [NgOnChangesFeature]
2085
+ * });
2086
+ * ```
2087
+ *
2088
+ * @codeGenApi
2089
+ */
2090
+ function ɵɵNgOnChangesFeature() {
2091
+ return NgOnChangesFeatureImpl;
2092
+ }
2093
+ function NgOnChangesFeatureImpl(definition) {
2094
+ if (definition.type.prototype.ngOnChanges) {
2095
+ definition.setInput = ngOnChangesSetInput;
2096
+ }
2097
+ return rememberChangeHistoryAndInvokeOnChangesHook;
2098
+ }
2099
+ // This option ensures that the ngOnChanges lifecycle hook will be inherited
2100
+ // from superclasses (in InheritDefinitionFeature).
2101
+ /** @nocollapse */
2102
+ // tslint:disable-next-line:no-toplevel-property-access
2103
+ ɵɵNgOnChangesFeature.ngInherit = true;
2104
+ /**
2105
+ * This is a synthetic lifecycle hook which gets inserted into `TView.preOrderHooks` to simulate
2106
+ * `ngOnChanges`.
2107
+ *
2108
+ * The hook reads the `NgSimpleChangesStore` data from the component instance and if changes are
2109
+ * found it invokes `ngOnChanges` on the component instance.
2110
+ *
2111
+ * @param this Component instance. Because this function gets inserted into `TView.preOrderHooks`,
2112
+ * it is guaranteed to be called with component instance.
2113
+ */
2114
+ function rememberChangeHistoryAndInvokeOnChangesHook() {
2115
+ const simpleChangesStore = getSimpleChangesStore(this);
2116
+ const current = simpleChangesStore === null || simpleChangesStore === void 0 ? void 0 : simpleChangesStore.current;
2117
+ if (current) {
2118
+ const previous = simpleChangesStore.previous;
2119
+ if (previous === EMPTY_OBJ) {
2120
+ simpleChangesStore.previous = current;
2121
+ }
2122
+ else {
2123
+ // New changes are copied to the previous store, so that we don't lose history for inputs
2124
+ // which were not changed this time
2125
+ for (let key in current) {
2126
+ previous[key] = current[key];
2127
+ }
2128
+ }
2129
+ simpleChangesStore.current = null;
2130
+ this.ngOnChanges(current);
2131
+ }
2132
+ }
2133
+ function ngOnChangesSetInput(instance, value, publicName, privateName) {
2134
+ const simpleChangesStore = getSimpleChangesStore(instance) ||
2135
+ setSimpleChangesStore(instance, { previous: EMPTY_OBJ, current: null });
2136
+ const current = simpleChangesStore.current || (simpleChangesStore.current = {});
2137
+ const previous = simpleChangesStore.previous;
2138
+ const declaredName = this.declaredInputs[publicName];
2139
+ const previousChange = previous[declaredName];
2140
+ current[declaredName] = new SimpleChange(previousChange && previousChange.currentValue, value, previous === EMPTY_OBJ);
2141
+ instance[privateName] = value;
2142
+ }
2143
+ const SIMPLE_CHANGES_STORE = '__ngSimpleChanges__';
2144
+ function getSimpleChangesStore(instance) {
2145
+ return instance[SIMPLE_CHANGES_STORE] || null;
2146
+ }
2147
+ function setSimpleChangesStore(instance, store) {
2148
+ return instance[SIMPLE_CHANGES_STORE] = store;
2149
+ }
2150
+
2039
2151
  /**
2040
2152
  * @license
2041
2153
  * Copyright Google LLC All Rights Reserved.
@@ -2731,17 +2843,19 @@ function getNamespace() {
2731
2843
  */
2732
2844
  function registerPreOrderHooks(directiveIndex, directiveDef, tView) {
2733
2845
  ngDevMode && assertFirstCreatePass(tView);
2734
- const { onChanges, onInit, doCheck } = directiveDef;
2735
- if (onChanges) {
2736
- (tView.preOrderHooks || (tView.preOrderHooks = [])).push(directiveIndex, onChanges);
2737
- (tView.preOrderCheckHooks || (tView.preOrderCheckHooks = [])).push(directiveIndex, onChanges);
2846
+ const { ngOnChanges, ngOnInit, ngDoCheck } = directiveDef.type.prototype;
2847
+ if (ngOnChanges) {
2848
+ const wrappedOnChanges = NgOnChangesFeatureImpl(directiveDef);
2849
+ (tView.preOrderHooks || (tView.preOrderHooks = [])).push(directiveIndex, wrappedOnChanges);
2850
+ (tView.preOrderCheckHooks || (tView.preOrderCheckHooks = []))
2851
+ .push(directiveIndex, wrappedOnChanges);
2738
2852
  }
2739
- if (onInit) {
2740
- (tView.preOrderHooks || (tView.preOrderHooks = [])).push(-directiveIndex, onInit);
2853
+ if (ngOnInit) {
2854
+ (tView.preOrderHooks || (tView.preOrderHooks = [])).push(0 - directiveIndex, ngOnInit);
2741
2855
  }
2742
- if (doCheck) {
2743
- (tView.preOrderHooks || (tView.preOrderHooks = [])).push(directiveIndex, doCheck);
2744
- (tView.preOrderCheckHooks || (tView.preOrderCheckHooks = [])).push(directiveIndex, doCheck);
2856
+ if (ngDoCheck) {
2857
+ (tView.preOrderHooks || (tView.preOrderHooks = [])).push(directiveIndex, ngDoCheck);
2858
+ (tView.preOrderCheckHooks || (tView.preOrderCheckHooks = [])).push(directiveIndex, ngDoCheck);
2745
2859
  }
2746
2860
  }
2747
2861
  /**
@@ -2769,23 +2883,24 @@ function registerPostOrderHooks(tView, tNode) {
2769
2883
  // hooks for projected components and directives must be called *before* their hosts.
2770
2884
  for (let i = tNode.directiveStart, end = tNode.directiveEnd; i < end; i++) {
2771
2885
  const directiveDef = tView.data[i];
2772
- if (directiveDef.afterContentInit) {
2773
- (tView.contentHooks || (tView.contentHooks = [])).push(-i, directiveDef.afterContentInit);
2886
+ const lifecycleHooks = directiveDef.type.prototype;
2887
+ const { ngAfterContentInit, ngAfterContentChecked, ngAfterViewInit, ngAfterViewChecked, ngOnDestroy } = lifecycleHooks;
2888
+ if (ngAfterContentInit) {
2889
+ (tView.contentHooks || (tView.contentHooks = [])).push(-i, ngAfterContentInit);
2774
2890
  }
2775
- if (directiveDef.afterContentChecked) {
2776
- (tView.contentHooks || (tView.contentHooks = [])).push(i, directiveDef.afterContentChecked);
2777
- (tView.contentCheckHooks || (tView.contentCheckHooks = []))
2778
- .push(i, directiveDef.afterContentChecked);
2891
+ if (ngAfterContentChecked) {
2892
+ (tView.contentHooks || (tView.contentHooks = [])).push(i, ngAfterContentChecked);
2893
+ (tView.contentCheckHooks || (tView.contentCheckHooks = [])).push(i, ngAfterContentChecked);
2779
2894
  }
2780
- if (directiveDef.afterViewInit) {
2781
- (tView.viewHooks || (tView.viewHooks = [])).push(-i, directiveDef.afterViewInit);
2895
+ if (ngAfterViewInit) {
2896
+ (tView.viewHooks || (tView.viewHooks = [])).push(-i, ngAfterViewInit);
2782
2897
  }
2783
- if (directiveDef.afterViewChecked) {
2784
- (tView.viewHooks || (tView.viewHooks = [])).push(i, directiveDef.afterViewChecked);
2785
- (tView.viewCheckHooks || (tView.viewCheckHooks = [])).push(i, directiveDef.afterViewChecked);
2898
+ if (ngAfterViewChecked) {
2899
+ (tView.viewHooks || (tView.viewHooks = [])).push(i, ngAfterViewChecked);
2900
+ (tView.viewCheckHooks || (tView.viewCheckHooks = [])).push(i, ngAfterViewChecked);
2786
2901
  }
2787
- if (directiveDef.onDestroy != null) {
2788
- (tView.destroyHooks || (tView.destroyHooks = [])).push(i, directiveDef.onDestroy);
2902
+ if (ngOnDestroy != null) {
2903
+ (tView.destroyHooks || (tView.destroyHooks = [])).push(i, ngOnDestroy);
2789
2904
  }
2790
2905
  }
2791
2906
  }
@@ -3497,7 +3612,13 @@ let nextNgElementId = 0;
3497
3612
  */
3498
3613
  function bloomAdd(injectorIndex, tView, type) {
3499
3614
  ngDevMode && assertEqual(tView.firstCreatePass, true, 'expected firstCreatePass to be true');
3500
- let id = typeof type !== 'string' ? type[NG_ELEMENT_ID] : type.charCodeAt(0) || 0;
3615
+ let id;
3616
+ if (typeof type === 'string') {
3617
+ id = type.charCodeAt(0) || 0;
3618
+ }
3619
+ else if (type.hasOwnProperty(NG_ELEMENT_ID)) {
3620
+ id = type[NG_ELEMENT_ID];
3621
+ }
3501
3622
  // Set a unique ID on the directive type, so if something tries to inject the directive,
3502
3623
  // we can easily retrieve the ID and hash it into the bloom bit that should be checked.
3503
3624
  if (id == null) {
@@ -3859,10 +3980,10 @@ function searchTokensOnInjector(injectorIndex, lView, token, previousTView, flag
3859
3980
  function locateDirectiveOrProvider(tNode, tView, token, canAccessViewProviders, isHostSpecialCase) {
3860
3981
  const nodeProviderIndexes = tNode.providerIndexes;
3861
3982
  const tInjectables = tView.data;
3862
- const injectablesStart = nodeProviderIndexes & 65535 /* ProvidersStartIndexMask */;
3983
+ const injectablesStart = nodeProviderIndexes & 1048575 /* ProvidersStartIndexMask */;
3863
3984
  const directivesStart = tNode.directiveStart;
3864
3985
  const directiveEnd = tNode.directiveEnd;
3865
- const cptViewProvidersCount = nodeProviderIndexes >> 16 /* CptViewProvidersCountShift */;
3986
+ const cptViewProvidersCount = nodeProviderIndexes >> 20 /* CptViewProvidersCountShift */;
3866
3987
  const startingIndex = canAccessViewProviders ? injectablesStart : injectablesStart + cptViewProvidersCount;
3867
3988
  // When the host special case applies, only the viewProviders and the component are visible
3868
3989
  const endIndex = isHostSpecialCase ? injectablesStart + cptViewProvidersCount : directiveEnd;
@@ -3943,7 +4064,9 @@ function bloomHashBitOrFactory(token) {
3943
4064
  if (typeof token === 'string') {
3944
4065
  return token.charCodeAt(0) || 0;
3945
4066
  }
3946
- const tokenId = token[NG_ELEMENT_ID];
4067
+ const tokenId =
4068
+ // First check with `hasOwnProperty` so we don't get an inherited ID.
4069
+ token.hasOwnProperty(NG_ELEMENT_ID) ? token[NG_ELEMENT_ID] : undefined;
3947
4070
  // Negative token IDs are used for special objects such as `Injector`
3948
4071
  return (typeof tokenId === 'number' && tokenId > 0) ? tokenId & BLOOM_MASK : tokenId;
3949
4072
  }
@@ -4342,77 +4465,21 @@ function enableProdMode() {
4342
4465
  * found in the LICENSE file at https://angular.io/license
4343
4466
  */
4344
4467
  /**
4345
- * This helper class is used to get hold of an inert tree of DOM elements containing dirty HTML
4468
+ * This helper is used to get hold of an inert tree of DOM elements containing dirty HTML
4346
4469
  * that needs sanitizing.
4347
- * Depending upon browser support we must use one of three strategies for doing this.
4348
- * Support: Safari 10.x -> XHR strategy
4349
- * Support: Firefox -> DomParser strategy
4350
- * Default: InertDocument strategy
4470
+ * Depending upon browser support we use one of two strategies for doing this.
4471
+ * Default: DOMParser strategy
4472
+ * Fallback: InertDocument strategy
4351
4473
  */
4352
- class InertBodyHelper {
4353
- constructor(defaultDoc) {
4354
- this.defaultDoc = defaultDoc;
4355
- this.inertDocument = this.defaultDoc.implementation.createHTMLDocument('sanitization-inert');
4356
- let inertBodyElement = this.inertDocument.body;
4357
- if (inertBodyElement == null) {
4358
- // usually there should be only one body element in the document, but IE doesn't have any, so
4359
- // we need to create one.
4360
- const inertHtml = this.inertDocument.createElement('html');
4361
- this.inertDocument.appendChild(inertHtml);
4362
- inertBodyElement = this.inertDocument.createElement('body');
4363
- inertHtml.appendChild(inertBodyElement);
4364
- }
4365
- inertBodyElement.innerHTML = '<svg><g onload="this.parentNode.remove()"></g></svg>';
4366
- if (inertBodyElement.querySelector && !inertBodyElement.querySelector('svg')) {
4367
- // We just hit the Safari 10.1 bug - which allows JS to run inside the SVG G element
4368
- // so use the XHR strategy.
4369
- this.getInertBodyElement = this.getInertBodyElement_XHR;
4370
- return;
4371
- }
4372
- inertBodyElement.innerHTML = '<svg><p><style><img src="</style><img src=x onerror=alert(1)//">';
4373
- if (inertBodyElement.querySelector && inertBodyElement.querySelector('svg img')) {
4374
- // We just hit the Firefox bug - which prevents the inner img JS from being sanitized
4375
- // so use the DOMParser strategy, if it is available.
4376
- // If the DOMParser is not available then we are not in Firefox (Server/WebWorker?) so we
4377
- // fall through to the default strategy below.
4378
- if (isDOMParserAvailable()) {
4379
- this.getInertBodyElement = this.getInertBodyElement_DOMParser;
4380
- return;
4381
- }
4382
- }
4383
- // None of the bugs were hit so it is safe for us to use the default InertDocument strategy
4384
- this.getInertBodyElement = this.getInertBodyElement_InertDocument;
4385
- }
4386
- /**
4387
- * Use XHR to create and fill an inert body element (on Safari 10.1)
4388
- * See
4389
- * https://github.com/cure53/DOMPurify/blob/a992d3a75031cb8bb032e5ea8399ba972bdf9a65/src/purify.js#L439-L449
4390
- */
4391
- getInertBodyElement_XHR(html) {
4392
- // We add these extra elements to ensure that the rest of the content is parsed as expected
4393
- // e.g. leading whitespace is maintained and tags like `<meta>` do not get hoisted to the
4394
- // `<head>` tag.
4395
- html = '<body><remove></remove>' + html + '</body>';
4396
- try {
4397
- html = encodeURI(html);
4398
- }
4399
- catch (_a) {
4400
- return null;
4401
- }
4402
- const xhr = new XMLHttpRequest();
4403
- xhr.responseType = 'document';
4404
- xhr.open('GET', 'data:text/html;charset=utf-8,' + html, false);
4405
- xhr.send(undefined);
4406
- const body = xhr.response.body;
4407
- body.removeChild(body.firstChild);
4408
- return body;
4409
- }
4410
- /**
4411
- * Use DOMParser to create and fill an inert body element (on Firefox)
4412
- * See https://github.com/cure53/DOMPurify/releases/tag/0.6.7
4413
- *
4414
- */
4415
- getInertBodyElement_DOMParser(html) {
4474
+ function getInertBodyHelper(defaultDoc) {
4475
+ return isDOMParserAvailable() ? new DOMParserHelper() : new InertDocumentHelper(defaultDoc);
4476
+ }
4477
+ /**
4478
+ * Uses DOMParser to create and fill an inert body element.
4479
+ * This is the default strategy used in browsers that support it.
4480
+ */
4481
+ class DOMParserHelper {
4482
+ getInertBodyElement(html) {
4416
4483
  // We add these extra elements to ensure that the rest of the content is parsed as expected
4417
4484
  // e.g. leading whitespace is maintained and tags like `<meta>` do not get hoisted to the
4418
4485
  // `<head>` tag.
@@ -4426,13 +4493,26 @@ class InertBodyHelper {
4426
4493
  return null;
4427
4494
  }
4428
4495
  }
4429
- /**
4430
- * Use an HTML5 `template` element, if supported, or an inert body element created via
4431
- * `createHtmlDocument` to create and fill an inert DOM element.
4432
- * This is the default sane strategy to use if the browser does not require one of the specialised
4433
- * strategies above.
4434
- */
4435
- getInertBodyElement_InertDocument(html) {
4496
+ }
4497
+ /**
4498
+ * Use an HTML5 `template` element, if supported, or an inert body element created via
4499
+ * `createHtmlDocument` to create and fill an inert DOM element.
4500
+ * This is the fallback strategy if the browser does not support DOMParser.
4501
+ */
4502
+ class InertDocumentHelper {
4503
+ constructor(defaultDoc) {
4504
+ this.defaultDoc = defaultDoc;
4505
+ this.inertDocument = this.defaultDoc.implementation.createHTMLDocument('sanitization-inert');
4506
+ if (this.inertDocument.body == null) {
4507
+ // usually there should be only one body element in the document, but IE doesn't have any, so
4508
+ // we need to create one.
4509
+ const inertHtml = this.inertDocument.createElement('html');
4510
+ this.inertDocument.appendChild(inertHtml);
4511
+ const inertBodyElement = this.inertDocument.createElement('body');
4512
+ inertHtml.appendChild(inertBodyElement);
4513
+ }
4514
+ }
4515
+ getInertBodyElement(html) {
4436
4516
  // Prefer using <template> element if supported.
4437
4517
  const templateEl = this.inertDocument.createElement('template');
4438
4518
  if ('content' in templateEl) {
@@ -4482,15 +4562,15 @@ class InertBodyHelper {
4482
4562
  }
4483
4563
  }
4484
4564
  /**
4485
- * We need to determine whether the DOMParser exists in the global context.
4486
- * The try-catch is because, on some browsers, trying to access this property
4487
- * on window can actually throw an error.
4565
+ * We need to determine whether the DOMParser exists in the global context and
4566
+ * supports parsing HTML; HTML parsing support is not as wide as other formats, see
4567
+ * https://developer.mozilla.org/en-US/docs/Web/API/DOMParser#Browser_compatibility.
4488
4568
  *
4489
4569
  * @suppress {uselessCode}
4490
4570
  */
4491
4571
  function isDOMParserAvailable() {
4492
4572
  try {
4493
- return !!window.DOMParser;
4573
+ return !!new window.DOMParser().parseFromString('', 'text/html');
4494
4574
  }
4495
4575
  catch (_a) {
4496
4576
  return false;
@@ -4756,7 +4836,7 @@ let inertBodyHelper;
4756
4836
  function _sanitizeHtml(defaultDoc, unsafeHtmlInput) {
4757
4837
  let inertBodyElement = null;
4758
4838
  try {
4759
- inertBodyHelper = inertBodyHelper || new InertBodyHelper(defaultDoc);
4839
+ inertBodyHelper = inertBodyHelper || getInertBodyHelper(defaultDoc);
4760
4840
  // Make sure unsafeHtml is actually a string (TypeScript types are not enforced at runtime).
4761
4841
  let unsafeHtml = unsafeHtmlInput ? String(unsafeHtmlInput) : '';
4762
4842
  inertBodyElement = inertBodyHelper.getInertBodyElement(unsafeHtml);
@@ -6984,6 +7064,8 @@ function setHostBindingsByExecutingExpandoInstructions(tView, lView) {
6984
7064
  else {
6985
7065
  // If it's not a number, it's a host binding function that needs to be executed.
6986
7066
  if (instruction !== null) {
7067
+ ngDevMode &&
7068
+ assertLessThan(currentDirectiveIndex, 1048576 /* CptViewProvidersCountShifter */, 'Reached the max number of host bindings');
6987
7069
  setBindingRootForHostBindings(bindingRootIndex, currentDirectiveIndex);
6988
7070
  const hostCtx = lView[currentDirectiveIndex];
6989
7071
  instruction(2 /* Update */, hostCtx);
@@ -7572,20 +7654,6 @@ function storeCleanupWithContext(tView, lView, context, cleanupFn) {
7572
7654
  getTViewCleanup(tView).push(cleanupFn, lCleanup.length - 1);
7573
7655
  }
7574
7656
  }
7575
- /**
7576
- * Saves the cleanup function itself in LView.cleanupInstances.
7577
- *
7578
- * This is necessary for functions that are wrapped with their contexts, like in renderer2
7579
- * listeners.
7580
- *
7581
- * On the first template pass, the index of the cleanup function is saved in TView.
7582
- */
7583
- function storeCleanupFn(tView, lView, cleanupFn) {
7584
- getLCleanup(lView).push(cleanupFn);
7585
- if (tView.firstCreatePass) {
7586
- getTViewCleanup(tView).push(lView[CLEANUP].length - 1, null);
7587
- }
7588
- }
7589
7657
  /**
7590
7658
  * Constructs a TNode object from the arguments.
7591
7659
  *
@@ -7760,7 +7828,7 @@ function elementPropertyInternal(tView, tNode, lView, propName, value, renderer,
7760
7828
  propName = mapPropName(propName);
7761
7829
  if (ngDevMode) {
7762
7830
  validateAgainstEventProperties(propName);
7763
- if (!validateProperty(tView, lView, element, propName, tNode)) {
7831
+ if (!validateProperty(tView, element, propName, tNode)) {
7764
7832
  // Return here since we only log warnings for unknown properties.
7765
7833
  logUnknownPropertyError(propName, tNode);
7766
7834
  return;
@@ -7778,10 +7846,10 @@ function elementPropertyInternal(tView, tNode, lView, propName, value, renderer,
7778
7846
  element[propName] = value;
7779
7847
  }
7780
7848
  }
7781
- else if (tNode.type === 0 /* Container */) {
7849
+ else if (tNode.type === 0 /* Container */ || tNode.type === 4 /* ElementContainer */) {
7782
7850
  // If the node is a container and the property didn't
7783
7851
  // match any of the inputs or schemas we should throw.
7784
- if (ngDevMode && !matchingSchemas(tView, lView, tNode.tagName)) {
7852
+ if (ngDevMode && !matchingSchemas(tView, tNode.tagName)) {
7785
7853
  logUnknownPropertyError(propName, tNode);
7786
7854
  }
7787
7855
  }
@@ -7834,7 +7902,7 @@ function setNgReflectProperties(lView, element, type, dataValue, value) {
7834
7902
  }
7835
7903
  }
7836
7904
  }
7837
- function validateProperty(tView, lView, element, propName, tNode) {
7905
+ function validateProperty(tView, element, propName, tNode) {
7838
7906
  // If `schemas` is set to `null`, that's an indication that this Component was compiled in AOT
7839
7907
  // mode where this check happens at compile time. In JIT mode, `schemas` is always present and
7840
7908
  // defined as an array (as an empty array in case `schemas` field is not defined) and we should
@@ -7843,15 +7911,14 @@ function validateProperty(tView, lView, element, propName, tNode) {
7843
7911
  return true;
7844
7912
  // The property is considered valid if the element matches the schema, it exists on the element
7845
7913
  // or it is synthetic, and we are in a browser context (web worker nodes should be skipped).
7846
- if (matchingSchemas(tView, lView, tNode.tagName) || propName in element ||
7847
- isAnimationProp(propName)) {
7914
+ if (matchingSchemas(tView, tNode.tagName) || propName in element || isAnimationProp(propName)) {
7848
7915
  return true;
7849
7916
  }
7850
7917
  // Note: `typeof Node` returns 'function' in most browsers, but on IE it is 'object' so we
7851
7918
  // need to account for both here, while being careful for `typeof null` also returning 'object'.
7852
7919
  return typeof Node === 'undefined' || Node === null || !(element instanceof Node);
7853
7920
  }
7854
- function matchingSchemas(tView, lView, tagName) {
7921
+ function matchingSchemas(tView, tagName) {
7855
7922
  const schemas = tView.schemas;
7856
7923
  if (schemas !== null) {
7857
7924
  for (let i = 0; i < schemas.length; i++) {
@@ -7931,16 +7998,18 @@ function resolveDirectives(tView, lView, tNode, localRefs) {
7931
7998
  tNode.flags |= 8 /* hasContentQuery */;
7932
7999
  if (def.hostBindings !== null || def.hostAttrs !== null || def.hostVars !== 0)
7933
8000
  tNode.flags |= 128 /* hasHostBindings */;
8001
+ const lifeCycleHooks = def.type.prototype;
7934
8002
  // Only push a node index into the preOrderHooks array if this is the first
7935
8003
  // pre-order hook found on this node.
7936
- if (!preOrderHooksFound && (def.onChanges || def.onInit || def.doCheck)) {
8004
+ if (!preOrderHooksFound &&
8005
+ (lifeCycleHooks.ngOnChanges || lifeCycleHooks.ngOnInit || lifeCycleHooks.ngDoCheck)) {
7937
8006
  // We will push the actual hook function into this array later during dir instantiation.
7938
8007
  // We cannot do it now because we must ensure hooks are registered in the same
7939
8008
  // order that directives are created (i.e. injection order).
7940
8009
  (tView.preOrderHooks || (tView.preOrderHooks = [])).push(tNode.index - HEADER_OFFSET);
7941
8010
  preOrderHooksFound = true;
7942
8011
  }
7943
- if (!preOrderCheckHooksFound && (def.onChanges || def.doCheck)) {
8012
+ if (!preOrderCheckHooksFound && (lifeCycleHooks.ngOnChanges || lifeCycleHooks.ngDoCheck)) {
7944
8013
  (tView.preOrderCheckHooks || (tView.preOrderCheckHooks = []))
7945
8014
  .push(tNode.index - HEADER_OFFSET);
7946
8015
  preOrderCheckHooksFound = true;
@@ -8080,7 +8149,7 @@ function generateExpandoInstructionBlock(tView, tNode, directiveCount) {
8080
8149
  // requires non standard math arithmetic and it can prevent VM optimizations.
8081
8150
  // `0-0` will always produce `0` and will not cause a potential deoptimization in VM.
8082
8151
  const elementIndex = HEADER_OFFSET - tNode.index;
8083
- const providerStartIndex = tNode.providerIndexes & 65535 /* ProvidersStartIndexMask */;
8152
+ const providerStartIndex = tNode.providerIndexes & 1048575 /* ProvidersStartIndexMask */;
8084
8153
  const providerCount = tView.data.length - providerStartIndex;
8085
8154
  (tView.expandoInstructions || (tView.expandoInstructions = []))
8086
8155
  .push(elementIndex, providerCount, directiveCount);
@@ -9753,7 +9822,7 @@ class ViewRef {
9753
9822
  destroyLView(this._lView[TVIEW], this._lView);
9754
9823
  }
9755
9824
  onDestroy(callback) {
9756
- storeCleanupFn(this._lView[TVIEW], this._lView, callback);
9825
+ storeCleanupWithContext(this._lView[TVIEW], this._lView, null, callback);
9757
9826
  }
9758
9827
  /**
9759
9828
  * Marks a view and all of its ancestors dirty.
@@ -10353,10 +10422,13 @@ function injectRenderer2() {
10353
10422
  * found in the LICENSE file at https://angular.io/license
10354
10423
  */
10355
10424
  /**
10356
- * Base class for Angular Views, provides change detection functionality.
10425
+ * Base class that provides change detection functionality.
10357
10426
  * A change-detection tree collects all views that are to be checked for changes.
10358
10427
  * Use the methods to add and remove views from the tree, initiate change-detection,
10359
- * and explicitly mark views as _dirty_, meaning that they have changed and need to be rerendered.
10428
+ * and explicitly mark views as _dirty_, meaning that they have changed and need to be re-rendered.
10429
+ *
10430
+ * @see [Using change detection hooks](guide/lifecycle-hooks#using-change-detection-hooks)
10431
+ * @see [Defining custom change detection](guide/lifecycle-hooks#defining-custom-change-detection)
10360
10432
  *
10361
10433
  * @usageNotes
10362
10434
  *
@@ -10418,7 +10490,7 @@ const SWITCH_CHANGE_DETECTOR_REF_FACTORY = SWITCH_CHANGE_DETECTOR_REF_FACTORY__P
10418
10490
  *
10419
10491
  * Represents a type that a Component or other object is instances of.
10420
10492
  *
10421
- * An example of a `Type` is `MyCustomComponent` class, which in JavaScript is be represented by
10493
+ * An example of a `Type` is `MyCustomComponent` class, which in JavaScript is represented by
10422
10494
  * the `MyCustomComponent` constructor function.
10423
10495
  *
10424
10496
  * @publicApi
@@ -13864,7 +13936,7 @@ function elementStartFirstCreatePass(index, tView, lView, native, name, attrsInd
13864
13936
  const attrs = getConstant(tViewConsts, attrsIndex);
13865
13937
  const tNode = getOrCreateTNode(tView, lView[T_HOST], index, 3 /* Element */, name, attrs);
13866
13938
  const hasDirectives = resolveDirectives(tView, lView, tNode, getConstant(tViewConsts, localRefsIndex));
13867
- ngDevMode && logUnknownElementError(tView, lView, native, tNode, hasDirectives);
13939
+ ngDevMode && logUnknownElementError(tView, native, tNode, hasDirectives);
13868
13940
  if (tNode.attrs !== null) {
13869
13941
  computeStaticStyling(tNode, tNode.attrs, false);
13870
13942
  }
@@ -13979,7 +14051,7 @@ function ɵɵelement(index, name, attrsIndex, localRefsIndex) {
13979
14051
  ɵɵelementStart(index, name, attrsIndex, localRefsIndex);
13980
14052
  ɵɵelementEnd();
13981
14053
  }
13982
- function logUnknownElementError(tView, lView, element, tNode, hasDirectives) {
14054
+ function logUnknownElementError(tView, element, tNode, hasDirectives) {
13983
14055
  const schemas = tView.schemas;
13984
14056
  // If `schemas` is set to `null`, that's an indication that this Component was compiled in AOT
13985
14057
  // mode where this check happens at compile time. In JIT mode, `schemas` is always present and
@@ -14000,7 +14072,7 @@ function logUnknownElementError(tView, lView, element, tNode, hasDirectives) {
14000
14072
  element instanceof HTMLUnknownElement) ||
14001
14073
  (typeof customElements !== 'undefined' && tagName.indexOf('-') > -1 &&
14002
14074
  !customElements.get(tagName));
14003
- if (isUnknown && !matchingSchemas(tView, lView, tagName)) {
14075
+ if (isUnknown && !matchingSchemas(tView, tagName)) {
14004
14076
  let message = `'${tagName}' is not a known element:\n`;
14005
14077
  message += `1. If '${tagName}' is an Angular component, then verify that it is part of this module.\n`;
14006
14078
  if (tagName && tagName.indexOf('-') > -1) {
@@ -14202,14 +14274,14 @@ function ɵɵlistener(eventName, listenerFn, useCapture = false, eventTargetReso
14202
14274
  *
14203
14275
  * @codeGenApi
14204
14276
  */
14205
- function ɵɵcomponentHostSyntheticListener(eventName, listenerFn, useCapture = false, eventTargetResolver) {
14277
+ function ɵɵsyntheticHostListener(eventName, listenerFn, useCapture = false, eventTargetResolver) {
14206
14278
  const tNode = getPreviousOrParentTNode();
14207
14279
  const lView = getLView();
14208
14280
  const tView = getTView();
14209
14281
  const currentDef = getCurrentDirectiveDef(tView.data);
14210
14282
  const renderer = loadComponentRenderer(currentDef, tNode, lView);
14211
14283
  listenerInternal(tView, lView, renderer, tNode, eventName, listenerFn, useCapture, eventTargetResolver);
14212
- return ɵɵcomponentHostSyntheticListener;
14284
+ return ɵɵsyntheticHostListener;
14213
14285
  }
14214
14286
  /**
14215
14287
  * A utility function that checks if a given element has already an event handler registered for an
@@ -17823,7 +17895,7 @@ function ɵɵhostProperty(propName, value, sanitizer) {
17823
17895
  *
17824
17896
  * @codeGenApi
17825
17897
  */
17826
- function ɵɵupdateSyntheticHostBinding(propName, value, sanitizer) {
17898
+ function ɵɵsyntheticHostProperty(propName, value, sanitizer) {
17827
17899
  const lView = getLView();
17828
17900
  const bindingIndex = nextBindingIndex();
17829
17901
  if (bindingUpdated(lView, bindingIndex, value)) {
@@ -17834,7 +17906,7 @@ function ɵɵupdateSyntheticHostBinding(propName, value, sanitizer) {
17834
17906
  elementPropertyInternal(tView, tNode, lView, propName, value, renderer, sanitizer, true);
17835
17907
  ngDevMode && storePropertyBindingMetadata(tView.data, tNode, propName, bindingIndex);
17836
17908
  }
17837
- return ɵɵupdateSyntheticHostBinding;
17909
+ return ɵɵsyntheticHostProperty;
17838
17910
  }
17839
17911
 
17840
17912
  /**
@@ -17976,7 +18048,7 @@ function getInjectionTokens(element) {
17976
18048
  const tView = lView[TVIEW];
17977
18049
  const tNode = tView.data[context.nodeIndex];
17978
18050
  const providerTokens = [];
17979
- const startIndex = tNode.providerIndexes & 65535 /* ProvidersStartIndexMask */;
18051
+ const startIndex = tNode.providerIndexes & 1048575 /* ProvidersStartIndexMask */;
17980
18052
  const endIndex = tNode.directiveEnd;
17981
18053
  for (let i = startIndex; i < endIndex; i++) {
17982
18054
  let value = tView.data[i];
@@ -18529,16 +18601,6 @@ function ɵɵInheritDefinitionFeature(definition) {
18529
18601
  const defData = definition.data;
18530
18602
  defData.animation = (defData.animation || []).concat(superDef.data.animation);
18531
18603
  }
18532
- // Inherit hooks
18533
- // Assume super class inheritance feature has already run.
18534
- writeableDef.afterContentChecked =
18535
- writeableDef.afterContentChecked || superDef.afterContentChecked;
18536
- writeableDef.afterContentInit = definition.afterContentInit || superDef.afterContentInit;
18537
- writeableDef.afterViewChecked = definition.afterViewChecked || superDef.afterViewChecked;
18538
- writeableDef.afterViewInit = definition.afterViewInit || superDef.afterViewInit;
18539
- writeableDef.doCheck = definition.doCheck || superDef.doCheck;
18540
- writeableDef.onDestroy = definition.onDestroy || superDef.onDestroy;
18541
- writeableDef.onInit = definition.onInit || superDef.onInit;
18542
18604
  }
18543
18605
  // Run parent features
18544
18606
  const features = superDef.features;
@@ -18711,116 +18773,6 @@ function ɵɵCopyDefinitionFeature(definition) {
18711
18773
  }
18712
18774
  }
18713
18775
 
18714
- /**
18715
- * @license
18716
- * Copyright Google LLC All Rights Reserved.
18717
- *
18718
- * Use of this source code is governed by an MIT-style license that can be
18719
- * found in the LICENSE file at https://angular.io/license
18720
- */
18721
- /**
18722
- * Represents a basic change from a previous to a new value for a single
18723
- * property on a directive instance. Passed as a value in a
18724
- * {@link SimpleChanges} object to the `ngOnChanges` hook.
18725
- *
18726
- * @see `OnChanges`
18727
- *
18728
- * @publicApi
18729
- */
18730
- class SimpleChange {
18731
- constructor(previousValue, currentValue, firstChange) {
18732
- this.previousValue = previousValue;
18733
- this.currentValue = currentValue;
18734
- this.firstChange = firstChange;
18735
- }
18736
- /**
18737
- * Check whether the new value is the first value assigned.
18738
- */
18739
- isFirstChange() {
18740
- return this.firstChange;
18741
- }
18742
- }
18743
-
18744
- /**
18745
- * @license
18746
- * Copyright Google LLC All Rights Reserved.
18747
- *
18748
- * Use of this source code is governed by an MIT-style license that can be
18749
- * found in the LICENSE file at https://angular.io/license
18750
- */
18751
- const PRIVATE_PREFIX = '__ngOnChanges_';
18752
- /**
18753
- * The NgOnChangesFeature decorates a component with support for the ngOnChanges
18754
- * lifecycle hook, so it should be included in any component that implements
18755
- * that hook.
18756
- *
18757
- * If the component or directive uses inheritance, the NgOnChangesFeature MUST
18758
- * be included as a feature AFTER {@link InheritDefinitionFeature}, otherwise
18759
- * inherited properties will not be propagated to the ngOnChanges lifecycle
18760
- * hook.
18761
- *
18762
- * Example usage:
18763
- *
18764
- * ```
18765
- * static ɵcmp = defineComponent({
18766
- * ...
18767
- * inputs: {name: 'publicName'},
18768
- * features: [NgOnChangesFeature]
18769
- * });
18770
- * ```
18771
- *
18772
- * @codeGenApi
18773
- */
18774
- function ɵɵNgOnChangesFeature(definition) {
18775
- if (definition.type.prototype.ngOnChanges) {
18776
- definition.setInput = ngOnChangesSetInput;
18777
- definition.onChanges = wrapOnChanges();
18778
- }
18779
- }
18780
- // This option ensures that the ngOnChanges lifecycle hook will be inherited
18781
- // from superclasses (in InheritDefinitionFeature).
18782
- /** @nocollapse */
18783
- // tslint:disable-next-line:no-toplevel-property-access
18784
- ɵɵNgOnChangesFeature.ngInherit = true;
18785
- function wrapOnChanges() {
18786
- return function wrapOnChangesHook_inPreviousChangesStorage() {
18787
- const simpleChangesStore = getSimpleChangesStore(this);
18788
- const current = simpleChangesStore && simpleChangesStore.current;
18789
- if (current) {
18790
- const previous = simpleChangesStore.previous;
18791
- if (previous === EMPTY_OBJ) {
18792
- simpleChangesStore.previous = current;
18793
- }
18794
- else {
18795
- // New changes are copied to the previous store, so that we don't lose history for inputs
18796
- // which were not changed this time
18797
- for (let key in current) {
18798
- previous[key] = current[key];
18799
- }
18800
- }
18801
- simpleChangesStore.current = null;
18802
- this.ngOnChanges(current);
18803
- }
18804
- };
18805
- }
18806
- function ngOnChangesSetInput(instance, value, publicName, privateName) {
18807
- const simpleChangesStore = getSimpleChangesStore(instance) ||
18808
- setSimpleChangesStore(instance, { previous: EMPTY_OBJ, current: null });
18809
- const current = simpleChangesStore.current || (simpleChangesStore.current = {});
18810
- const previous = simpleChangesStore.previous;
18811
- const declaredName = this.declaredInputs[publicName];
18812
- const previousChange = previous[declaredName];
18813
- current[declaredName] = new SimpleChange(previousChange && previousChange.currentValue, value, previous === EMPTY_OBJ);
18814
- instance[privateName] = value;
18815
- }
18816
- const SIMPLE_CHANGES_STORE = '__ngSimpleChanges__';
18817
- function getSimpleChangesStore(instance) {
18818
- return instance[SIMPLE_CHANGES_STORE] || null;
18819
- }
18820
- function setSimpleChangesStore(instance, store) {
18821
- return instance[SIMPLE_CHANGES_STORE] = store;
18822
- }
18823
-
18824
18776
  /**
18825
18777
  * @license
18826
18778
  * Copyright Google LLC All Rights Reserved.
@@ -18875,9 +18827,9 @@ function resolveProvider$1(provider, tInjectables, lInjectablesBlueprint, isComp
18875
18827
  let token = isTypeProvider(provider) ? provider : resolveForwardRef(provider.provide);
18876
18828
  let providerFactory = providerToFactory(provider);
18877
18829
  const tNode = getPreviousOrParentTNode();
18878
- const beginIndex = tNode.providerIndexes & 65535 /* ProvidersStartIndexMask */;
18830
+ const beginIndex = tNode.providerIndexes & 1048575 /* ProvidersStartIndexMask */;
18879
18831
  const endIndex = tNode.directiveStart;
18880
- const cptViewProvidersCount = tNode.providerIndexes >> 16 /* CptViewProvidersCountShift */;
18832
+ const cptViewProvidersCount = tNode.providerIndexes >> 20 /* CptViewProvidersCountShift */;
18881
18833
  if (isTypeProvider(provider) || !provider.multi) {
18882
18834
  // Single provider case: the factory is created and pushed immediately
18883
18835
  const factory = new NodeInjectorFactory(providerFactory, isViewProvider, ɵɵdirectiveInject);
@@ -18889,7 +18841,7 @@ function resolveProvider$1(provider, tInjectables, lInjectablesBlueprint, isComp
18889
18841
  tNode.directiveStart++;
18890
18842
  tNode.directiveEnd++;
18891
18843
  if (isViewProvider) {
18892
- tNode.providerIndexes += 65536 /* CptViewProvidersCountShifter */;
18844
+ tNode.providerIndexes += 1048576 /* CptViewProvidersCountShifter */;
18893
18845
  }
18894
18846
  lInjectablesBlueprint.push(factory);
18895
18847
  lView.push(factory);
@@ -18939,7 +18891,7 @@ function resolveProvider$1(provider, tInjectables, lInjectablesBlueprint, isComp
18939
18891
  tNode.directiveStart++;
18940
18892
  tNode.directiveEnd++;
18941
18893
  if (isViewProvider) {
18942
- tNode.providerIndexes += 65536 /* CptViewProvidersCountShifter */;
18894
+ tNode.providerIndexes += 1048576 /* CptViewProvidersCountShifter */;
18943
18895
  }
18944
18896
  lInjectablesBlueprint.push(factory);
18945
18897
  lView.push(factory);
@@ -19355,7 +19307,7 @@ class Version {
19355
19307
  /**
19356
19308
  * @publicApi
19357
19309
  */
19358
- const VERSION = new Version('10.0.1');
19310
+ const VERSION = new Version('10.0.5');
19359
19311
 
19360
19312
  /**
19361
19313
  * @license
@@ -23670,7 +23622,7 @@ function icuStart(tIcus, icuExpression, startIndex, expandoStartIndex) {
23670
23622
  * @param expandoStartIndex
23671
23623
  */
23672
23624
  function parseIcuCase(unsafeHtml, parentIndex, nestedIcus, tIcus, expandoStartIndex) {
23673
- const inertBodyHelper = new InertBodyHelper(getDocument());
23625
+ const inertBodyHelper = getInertBodyHelper(getDocument());
23674
23626
  const inertBodyElement = inertBodyHelper.getInertBodyElement(unsafeHtml);
23675
23627
  if (!inertBodyElement) {
23676
23628
  throw new Error('Unable to generate inert body element');
@@ -25378,8 +25330,8 @@ const ɵ0$d = () => ({
25378
25330
  'ɵɵrestoreView': ɵɵrestoreView,
25379
25331
  'ɵɵlistener': ɵɵlistener,
25380
25332
  'ɵɵprojection': ɵɵprojection,
25381
- 'ɵɵupdateSyntheticHostBinding': ɵɵupdateSyntheticHostBinding,
25382
- 'ɵɵcomponentHostSyntheticListener': ɵɵcomponentHostSyntheticListener,
25333
+ 'ɵɵsyntheticHostProperty': ɵɵsyntheticHostProperty,
25334
+ 'ɵɵsyntheticHostListener': ɵɵsyntheticHostListener,
25383
25335
  'ɵɵpipeBind1': ɵɵpipeBind1,
25384
25336
  'ɵɵpipeBind2': ɵɵpipeBind2,
25385
25337
  'ɵɵpipeBind3': ɵɵpipeBind3,
@@ -26439,21 +26391,25 @@ const SWITCH_COMPILE_NGMODULE = SWITCH_COMPILE_NGMODULE__PRE_R3__;
26439
26391
  * found in the LICENSE file at https://angular.io/license
26440
26392
  */
26441
26393
  /**
26442
- * An injection token that allows you to provide one or more initialization functions.
26443
- * These function are injected at application startup and executed during
26394
+ * A [DI token](guide/glossary#di-token "DI token definition") that you can use to provide
26395
+ * one or more initialization functions.
26396
+ *
26397
+ * The provided function are injected at application startup and executed during
26444
26398
  * app initialization. If any of these functions returns a Promise, initialization
26445
26399
  * does not complete until the Promise is resolved.
26446
26400
  *
26447
26401
  * You can, for example, create a factory function that loads language data
26448
26402
  * or an external configuration, and provide that function to the `APP_INITIALIZER` token.
26449
- * That way, the function is executed during the application bootstrap process,
26403
+ * The function is executed during the application bootstrap process,
26450
26404
  * and the needed data is available on startup.
26451
26405
  *
26406
+ * @see `ApplicationInitStatus`
26407
+ *
26452
26408
  * @publicApi
26453
26409
  */
26454
26410
  const APP_INITIALIZER = new InjectionToken('Application Initializer');
26455
26411
  /**
26456
- * A class that reflects the state of running {@link APP_INITIALIZER}s.
26412
+ * A class that reflects the state of running {@link APP_INITIALIZER} functions.
26457
26413
  *
26458
26414
  * @publicApi
26459
26415
  */
@@ -26513,13 +26469,14 @@ ApplicationInitStatus.ctorParameters = () => [
26513
26469
  * found in the LICENSE file at https://angular.io/license
26514
26470
  */
26515
26471
  /**
26516
- * A DI Token representing a unique string id assigned to the application by Angular and used
26472
+ * A [DI token](guide/glossary#di-token "DI token definition") representing a unique string ID, used
26517
26473
  * primarily for prefixing application attributes and CSS styles when
26518
26474
  * {@link ViewEncapsulation#Emulated ViewEncapsulation.Emulated} is being used.
26519
26475
  *
26520
- * If you need to avoid randomly generated value to be used as an application id, you can provide
26521
- * a custom value via a DI provider <!-- TODO: provider --> configuring the root {@link Injector}
26522
- * using this token.
26476
+ * BY default, the value is randomly generated and assigned to the application by Angular.
26477
+ * To provide a custom ID value, use a DI provider <!-- TODO: provider --> to configure
26478
+ * the root {@link Injector} that uses this token.
26479
+ *
26523
26480
  * @publicApi
26524
26481
  */
26525
26482
  const APP_ID = new InjectionToken('AppId');
@@ -26527,7 +26484,7 @@ function _appIdRandomProviderFactory() {
26527
26484
  return `${_randomChar()}${_randomChar()}${_randomChar()}`;
26528
26485
  }
26529
26486
  /**
26530
- * Providers that will generate a random APP_ID_TOKEN.
26487
+ * Providers that generate a random `APP_ID_TOKEN`.
26531
26488
  * @publicApi
26532
26489
  */
26533
26490
  const APP_ID_RANDOM_PROVIDER = {
@@ -26539,26 +26496,29 @@ function _randomChar() {
26539
26496
  return String.fromCharCode(97 + Math.floor(Math.random() * 25));
26540
26497
  }
26541
26498
  /**
26542
- * A function that will be executed when a platform is initialized.
26499
+ * A function that is executed when a platform is initialized.
26543
26500
  * @publicApi
26544
26501
  */
26545
26502
  const PLATFORM_INITIALIZER = new InjectionToken('Platform Initializer');
26546
26503
  /**
26547
- * A token that indicates an opaque platform id.
26504
+ * A token that indicates an opaque platform ID.
26548
26505
  * @publicApi
26549
26506
  */
26550
26507
  const PLATFORM_ID = new InjectionToken('Platform ID');
26551
26508
  /**
26552
- * All callbacks provided via this token will be called for every component that is bootstrapped.
26553
- * Signature of the callback:
26509
+ * A [DI token](guide/glossary#di-token "DI token definition") that provides a set of callbacks to
26510
+ * be called for every component that is bootstrapped.
26554
26511
  *
26555
- * `(componentRef: ComponentRef) => void`.
26512
+ * Each callback must take a `ComponentRef` instance and return nothing.
26513
+ *
26514
+ * `(componentRef: ComponentRef) => void`
26556
26515
  *
26557
26516
  * @publicApi
26558
26517
  */
26559
26518
  const APP_BOOTSTRAP_LISTENER = new InjectionToken('appBootstrapListener');
26560
26519
  /**
26561
- * A token which indicates the root directory of the application
26520
+ * A [DI token](guide/glossary#di-token "DI token definition") that indicates the root directory of
26521
+ * the application
26562
26522
  * @publicApi
26563
26523
  */
26564
26524
  const PACKAGE_ROOT_URL = new InjectionToken('Application Packages Root URL');
@@ -28307,12 +28267,9 @@ function checkNotEmpty(value, modulePath, exportName) {
28307
28267
  * found in the LICENSE file at https://angular.io/license
28308
28268
  */
28309
28269
  /**
28310
- * Represents an Angular [view](guide/glossary#view),
28311
- * specifically the [host view](guide/glossary#view-tree) that is defined by a component.
28312
- * Also serves as the base class
28313
- * that adds destroy methods for [embedded views](guide/glossary#view-tree).
28270
+ * Represents an Angular [view](guide/glossary#view "Definition").
28314
28271
  *
28315
- * @see `EmbeddedViewRef`
28272
+ * @see {@link ChangeDetectorRef#usage-notes Change detection usage}
28316
28273
  *
28317
28274
  * @publicApi
28318
28275
  */
@@ -31493,5 +31450,5 @@ if (ngDevMode) {
31493
31450
  * Generated bundle index. Do not edit.
31494
31451
  */
31495
31452
 
31496
- export { ANALYZE_FOR_ENTRY_COMPONENTS, APP_BOOTSTRAP_LISTENER, APP_ID, APP_INITIALIZER, ApplicationInitStatus, ApplicationModule, ApplicationRef, Attribute, COMPILER_OPTIONS, CUSTOM_ELEMENTS_SCHEMA, ChangeDetectionStrategy, ChangeDetectorRef, Compiler, CompilerFactory, Component, ComponentFactory, ComponentFactoryResolver, ComponentRef, ContentChild, ContentChildren, DEFAULT_CURRENCY_CODE, DebugElement, DebugEventListener, DebugNode, DefaultIterableDiffer, Directive, ElementRef, EmbeddedViewRef, ErrorHandler, EventEmitter, Host, HostBinding, HostListener, INJECTOR, Inject, InjectFlags, Injectable, InjectionToken, Injector, Input, IterableDiffers, KeyValueDiffers, LOCALE_ID$1 as LOCALE_ID, MissingTranslationStrategy, ModuleWithComponentFactories, NO_ERRORS_SCHEMA, NgModule, NgModuleFactory, NgModuleFactoryLoader, NgModuleRef, NgProbeToken, NgZone, Optional, Output, PACKAGE_ROOT_URL, PLATFORM_ID, PLATFORM_INITIALIZER, Pipe, PlatformRef, Query, QueryList, ReflectiveInjector, ReflectiveKey, Renderer2, RendererFactory2, RendererStyleFlags2, ResolvedReflectiveFactory, Sanitizer, SecurityContext, Self, SimpleChange, SkipSelf, SystemJsNgModuleLoader, SystemJsNgModuleLoaderConfig, TRANSLATIONS, TRANSLATIONS_FORMAT, TemplateRef, Testability, TestabilityRegistry, Type, VERSION, Version, ViewChild, ViewChildren, ViewContainerRef, ViewEncapsulation$1 as ViewEncapsulation, ViewRef$1 as ViewRef, WrappedValue, asNativeElements, assertPlatform, createPlatform, createPlatformFactory, defineInjectable, destroyPlatform, enableProdMode, forwardRef, getDebugNode$1 as getDebugNode, getModuleFactory, getPlatform, inject, isDevMode, platformCore, resolveForwardRef, setTestabilityGetter, ɵ0, ɵ1, ALLOW_MULTIPLE_PLATFORMS as ɵALLOW_MULTIPLE_PLATFORMS, APP_ID_RANDOM_PROVIDER as ɵAPP_ID_RANDOM_PROVIDER, ChangeDetectorStatus as ɵChangeDetectorStatus, CodegenComponentFactoryResolver as ɵCodegenComponentFactoryResolver, Compiler_compileModuleAndAllComponentsAsync__POST_R3__ as ɵCompiler_compileModuleAndAllComponentsAsync__POST_R3__, Compiler_compileModuleAndAllComponentsSync__POST_R3__ as ɵCompiler_compileModuleAndAllComponentsSync__POST_R3__, Compiler_compileModuleAsync__POST_R3__ as ɵCompiler_compileModuleAsync__POST_R3__, Compiler_compileModuleSync__POST_R3__ as ɵCompiler_compileModuleSync__POST_R3__, ComponentFactory as ɵComponentFactory, Console as ɵConsole, DEFAULT_LOCALE_ID as ɵDEFAULT_LOCALE_ID, EMPTY_ARRAY$4 as ɵEMPTY_ARRAY, EMPTY_MAP as ɵEMPTY_MAP, INJECTOR_IMPL__POST_R3__ as ɵINJECTOR_IMPL__POST_R3__, INJECTOR_SCOPE as ɵINJECTOR_SCOPE, LifecycleHooksFeature as ɵLifecycleHooksFeature, LocaleDataIndex as ɵLocaleDataIndex, NG_COMP_DEF as ɵNG_COMP_DEF, NG_DIR_DEF as ɵNG_DIR_DEF, NG_ELEMENT_ID as ɵNG_ELEMENT_ID, NG_INJ_DEF as ɵNG_INJ_DEF, NG_MOD_DEF as ɵNG_MOD_DEF, NG_PIPE_DEF as ɵNG_PIPE_DEF, NG_PROV_DEF as ɵNG_PROV_DEF, NOT_FOUND_CHECK_ONLY_ELEMENT_INJECTOR as ɵNOT_FOUND_CHECK_ONLY_ELEMENT_INJECTOR, NO_CHANGE as ɵNO_CHANGE, NgModuleFactory$1 as ɵNgModuleFactory, NoopNgZone as ɵNoopNgZone, ReflectionCapabilities as ɵReflectionCapabilities, ComponentFactory$1 as ɵRender3ComponentFactory, ComponentRef$1 as ɵRender3ComponentRef, NgModuleRef$1 as ɵRender3NgModuleRef, SWITCH_CHANGE_DETECTOR_REF_FACTORY__POST_R3__ as ɵSWITCH_CHANGE_DETECTOR_REF_FACTORY__POST_R3__, SWITCH_COMPILE_COMPONENT__POST_R3__ as ɵSWITCH_COMPILE_COMPONENT__POST_R3__, SWITCH_COMPILE_DIRECTIVE__POST_R3__ as ɵSWITCH_COMPILE_DIRECTIVE__POST_R3__, SWITCH_COMPILE_INJECTABLE__POST_R3__ as ɵSWITCH_COMPILE_INJECTABLE__POST_R3__, SWITCH_COMPILE_NGMODULE__POST_R3__ as ɵSWITCH_COMPILE_NGMODULE__POST_R3__, SWITCH_COMPILE_PIPE__POST_R3__ as ɵSWITCH_COMPILE_PIPE__POST_R3__, SWITCH_ELEMENT_REF_FACTORY__POST_R3__ as ɵSWITCH_ELEMENT_REF_FACTORY__POST_R3__, SWITCH_IVY_ENABLED__POST_R3__ as ɵSWITCH_IVY_ENABLED__POST_R3__, SWITCH_RENDERER2_FACTORY__POST_R3__ as ɵSWITCH_RENDERER2_FACTORY__POST_R3__, SWITCH_TEMPLATE_REF_FACTORY__POST_R3__ as ɵSWITCH_TEMPLATE_REF_FACTORY__POST_R3__, SWITCH_VIEW_CONTAINER_REF_FACTORY__POST_R3__ as ɵSWITCH_VIEW_CONTAINER_REF_FACTORY__POST_R3__, _sanitizeHtml as ɵ_sanitizeHtml, _sanitizeUrl as ɵ_sanitizeUrl, allowSanitizationBypassAndThrow as ɵallowSanitizationBypassAndThrow, anchorDef as ɵand, isForwardRef as ɵangular_packages_core_core_a, injectInjectorOnly as ɵangular_packages_core_core_b, getLView as ɵangular_packages_core_core_ba, getPreviousOrParentTNode as ɵangular_packages_core_core_bb, getBindingRoot as ɵangular_packages_core_core_bc, nextContextImpl as ɵangular_packages_core_core_bd, pureFunction1Internal as ɵangular_packages_core_core_bf, pureFunction2Internal as ɵangular_packages_core_core_bg, pureFunction3Internal as ɵangular_packages_core_core_bh, pureFunction4Internal as ɵangular_packages_core_core_bi, pureFunctionVInternal as ɵangular_packages_core_core_bj, getUrlSanitizer as ɵangular_packages_core_core_bk, makeParamDecorator as ɵangular_packages_core_core_bl, makePropDecorator as ɵangular_packages_core_core_bm, getClosureSafeProperty as ɵangular_packages_core_core_bn, noSideEffects as ɵangular_packages_core_core_bp, getRootContext as ɵangular_packages_core_core_bq, NullInjector as ɵangular_packages_core_core_c, ReflectiveInjector_ as ɵangular_packages_core_core_d, ReflectiveDependency as ɵangular_packages_core_core_e, resolveReflectiveProviders as ɵangular_packages_core_core_f, _appIdRandomProviderFactory as ɵangular_packages_core_core_g, createElementRef as ɵangular_packages_core_core_h, createTemplateRef as ɵangular_packages_core_core_i, getModuleFactory__PRE_R3__ as ɵangular_packages_core_core_j, DebugNode__PRE_R3__ as ɵangular_packages_core_core_k, DebugElement__PRE_R3__ as ɵangular_packages_core_core_l, getDebugNodeR2__PRE_R3__ as ɵangular_packages_core_core_m, DefaultIterableDifferFactory as ɵangular_packages_core_core_n, DefaultKeyValueDifferFactory as ɵangular_packages_core_core_o, _iterableDiffersFactory as ɵangular_packages_core_core_p, _keyValueDiffersFactory as ɵangular_packages_core_core_q, _localeFactory as ɵangular_packages_core_core_r, APPLICATION_MODULE_PROVIDERS as ɵangular_packages_core_core_s, zoneSchedulerFactory as ɵangular_packages_core_core_t, USD_CURRENCY_CODE as ɵangular_packages_core_core_u, _def as ɵangular_packages_core_core_v, DebugContext as ɵangular_packages_core_core_w, SCHEDULER as ɵangular_packages_core_core_x, injectAttributeImpl as ɵangular_packages_core_core_y, instructionState as ɵangular_packages_core_core_z, bypassSanitizationTrustHtml as ɵbypassSanitizationTrustHtml, bypassSanitizationTrustResourceUrl as ɵbypassSanitizationTrustResourceUrl, bypassSanitizationTrustScript as ɵbypassSanitizationTrustScript, bypassSanitizationTrustStyle as ɵbypassSanitizationTrustStyle, bypassSanitizationTrustUrl as ɵbypassSanitizationTrustUrl, createComponentFactory as ɵccf, clearOverrides as ɵclearOverrides, clearResolutionOfComponentResourcesQueue as ɵclearResolutionOfComponentResourcesQueue, createNgModuleFactory as ɵcmf, compileComponent as ɵcompileComponent, compileDirective as ɵcompileDirective, compileNgModule as ɵcompileNgModule, compileNgModuleDefs as ɵcompileNgModuleDefs, compileNgModuleFactory__POST_R3__ as ɵcompileNgModuleFactory__POST_R3__, compilePipe as ɵcompilePipe, createInjector as ɵcreateInjector, createRendererType2 as ɵcrt, defaultIterableDiffers as ɵdefaultIterableDiffers, defaultKeyValueDiffers as ɵdefaultKeyValueDiffers, detectChanges as ɵdetectChanges, devModeEqual as ɵdevModeEqual, directiveDef as ɵdid, elementDef as ɵeld, findLocaleData as ɵfindLocaleData, flushModuleScopingQueueAsMuchAsPossible as ɵflushModuleScopingQueueAsMuchAsPossible, getComponentViewDefinitionFactory as ɵgetComponentViewDefinitionFactory, getDebugNodeR2 as ɵgetDebugNodeR2, getDebugNode__POST_R3__ as ɵgetDebugNode__POST_R3__, getDirectives as ɵgetDirectives, getHostElement as ɵgetHostElement, getInjectableDef as ɵgetInjectableDef, getLContext as ɵgetLContext, getLocaleCurrencyCode as ɵgetLocaleCurrencyCode, getLocalePluralCase as ɵgetLocalePluralCase, getModuleFactory__POST_R3__ as ɵgetModuleFactory__POST_R3__, getSanitizationBypassType as ɵgetSanitizationBypassType, _global as ɵglobal, initServicesIfNeeded as ɵinitServicesIfNeeded, inlineInterpolate as ɵinlineInterpolate, interpolate as ɵinterpolate, isBoundToModule__POST_R3__ as ɵisBoundToModule__POST_R3__, isDefaultChangeDetectionStrategy as ɵisDefaultChangeDetectionStrategy, isListLikeIterable as ɵisListLikeIterable, isObservable as ɵisObservable, isPromise as ɵisPromise, ivyEnabled as ɵivyEnabled, makeDecorator as ɵmakeDecorator, markDirty as ɵmarkDirty, moduleDef as ɵmod, moduleProvideDef as ɵmpd, ngContentDef as ɵncd, nodeValue as ɵnov, overrideComponentView as ɵoverrideComponentView, overrideProvider as ɵoverrideProvider, pureArrayDef as ɵpad, patchComponentDefWithScope as ɵpatchComponentDefWithScope, pipeDef as ɵpid, pureObjectDef as ɵpod, purePipeDef as ɵppd, providerDef as ɵprd, publishDefaultGlobalUtils as ɵpublishDefaultGlobalUtils, publishGlobalUtil as ɵpublishGlobalUtil, queryDef as ɵqud, registerLocaleData as ɵregisterLocaleData, registerModuleFactory as ɵregisterModuleFactory, registerNgModuleType as ɵregisterNgModuleType, renderComponent$1 as ɵrenderComponent, resetCompiledComponents as ɵresetCompiledComponents, resetJitOptions as ɵresetJitOptions, resolveComponentResources as ɵresolveComponentResources, setClassMetadata as ɵsetClassMetadata, setCurrentInjector as ɵsetCurrentInjector, setDocument as ɵsetDocument, setLocaleId as ɵsetLocaleId, store as ɵstore, stringify as ɵstringify, textDef as ɵted, transitiveScopesFor as ɵtransitiveScopesFor, unregisterAllLocaleData as ɵunregisterLocaleData, unwrapValue as ɵunv, unwrapSafeValue as ɵunwrapSafeValue, viewDef as ɵvid, whenRendered as ɵwhenRendered, ɵɵCopyDefinitionFeature, ɵɵInheritDefinitionFeature, ɵɵNgOnChangesFeature, ɵɵProvidersFeature, ɵɵadvance, ɵɵattribute, ɵɵattributeInterpolate1, ɵɵattributeInterpolate2, ɵɵattributeInterpolate3, ɵɵattributeInterpolate4, ɵɵattributeInterpolate5, ɵɵattributeInterpolate6, ɵɵattributeInterpolate7, ɵɵattributeInterpolate8, ɵɵattributeInterpolateV, ɵɵclassMap, ɵɵclassMapInterpolate1, ɵɵclassMapInterpolate2, ɵɵclassMapInterpolate3, ɵɵclassMapInterpolate4, ɵɵclassMapInterpolate5, ɵɵclassMapInterpolate6, ɵɵclassMapInterpolate7, ɵɵclassMapInterpolate8, ɵɵclassMapInterpolateV, ɵɵclassProp, ɵɵcomponentHostSyntheticListener, ɵɵcontentQuery, ɵɵdefineComponent, ɵɵdefineDirective, ɵɵdefineInjectable, ɵɵdefineInjector, ɵɵdefineNgModule, ɵɵdefinePipe, ɵɵdirectiveInject, ɵɵdisableBindings, ɵɵelement, ɵɵelementContainer, ɵɵelementContainerEnd, ɵɵelementContainerStart, ɵɵelementEnd, ɵɵelementStart, ɵɵenableBindings, ɵɵgetCurrentView, ɵɵgetFactoryOf, ɵɵgetInheritedFactory, ɵɵhostProperty, ɵɵi18n, ɵɵi18nApply, ɵɵi18nAttributes, ɵɵi18nEnd, ɵɵi18nExp, ɵɵi18nPostprocess, ɵɵi18nStart, ɵɵinject, ɵɵinjectAttribute, ɵɵinjectPipeChangeDetectorRef, ɵɵinvalidFactory, ɵɵinvalidFactoryDep, ɵɵlistener, ɵɵloadQuery, ɵɵnamespaceHTML, ɵɵnamespaceMathML, ɵɵnamespaceSVG, ɵɵnextContext, ɵɵpipe, ɵɵpipeBind1, ɵɵpipeBind2, ɵɵpipeBind3, ɵɵpipeBind4, ɵɵpipeBindV, ɵɵprojection, ɵɵprojectionDef, ɵɵproperty, ɵɵpropertyInterpolate, ɵɵpropertyInterpolate1, ɵɵpropertyInterpolate2, ɵɵpropertyInterpolate3, ɵɵpropertyInterpolate4, ɵɵpropertyInterpolate5, ɵɵpropertyInterpolate6, ɵɵpropertyInterpolate7, ɵɵpropertyInterpolate8, ɵɵpropertyInterpolateV, ɵɵpureFunction0, ɵɵpureFunction1, ɵɵpureFunction2, ɵɵpureFunction3, ɵɵpureFunction4, ɵɵpureFunction5, ɵɵpureFunction6, ɵɵpureFunction7, ɵɵpureFunction8, ɵɵpureFunctionV, ɵɵqueryRefresh, ɵɵreference, ɵɵresolveBody, ɵɵresolveDocument, ɵɵresolveWindow, ɵɵrestoreView, ɵɵsanitizeHtml, ɵɵsanitizeResourceUrl, ɵɵsanitizeScript, ɵɵsanitizeStyle, ɵɵsanitizeUrl, ɵɵsanitizeUrlOrResourceUrl, ɵɵselect, ɵɵsetComponentScope, ɵɵsetNgModuleScope, ɵɵstaticContentQuery, ɵɵstaticViewQuery, ɵɵstyleMap, ɵɵstyleMapInterpolate1, ɵɵstyleMapInterpolate2, ɵɵstyleMapInterpolate3, ɵɵstyleMapInterpolate4, ɵɵstyleMapInterpolate5, ɵɵstyleMapInterpolate6, ɵɵstyleMapInterpolate7, ɵɵstyleMapInterpolate8, ɵɵstyleMapInterpolateV, ɵɵstyleProp, ɵɵstylePropInterpolate1, ɵɵstylePropInterpolate2, ɵɵstylePropInterpolate3, ɵɵstylePropInterpolate4, ɵɵstylePropInterpolate5, ɵɵstylePropInterpolate6, ɵɵstylePropInterpolate7, ɵɵstylePropInterpolate8, ɵɵstylePropInterpolateV, ɵɵtemplate, ɵɵtemplateRefExtractor, ɵɵtext, ɵɵtextInterpolate, ɵɵtextInterpolate1, ɵɵtextInterpolate2, ɵɵtextInterpolate3, ɵɵtextInterpolate4, ɵɵtextInterpolate5, ɵɵtextInterpolate6, ɵɵtextInterpolate7, ɵɵtextInterpolate8, ɵɵtextInterpolateV, ɵɵupdateSyntheticHostBinding, ɵɵviewQuery };
31453
+ export { ANALYZE_FOR_ENTRY_COMPONENTS, APP_BOOTSTRAP_LISTENER, APP_ID, APP_INITIALIZER, ApplicationInitStatus, ApplicationModule, ApplicationRef, Attribute, COMPILER_OPTIONS, CUSTOM_ELEMENTS_SCHEMA, ChangeDetectionStrategy, ChangeDetectorRef, Compiler, CompilerFactory, Component, ComponentFactory, ComponentFactoryResolver, ComponentRef, ContentChild, ContentChildren, DEFAULT_CURRENCY_CODE, DebugElement, DebugEventListener, DebugNode, DefaultIterableDiffer, Directive, ElementRef, EmbeddedViewRef, ErrorHandler, EventEmitter, Host, HostBinding, HostListener, INJECTOR, Inject, InjectFlags, Injectable, InjectionToken, Injector, Input, IterableDiffers, KeyValueDiffers, LOCALE_ID$1 as LOCALE_ID, MissingTranslationStrategy, ModuleWithComponentFactories, NO_ERRORS_SCHEMA, NgModule, NgModuleFactory, NgModuleFactoryLoader, NgModuleRef, NgProbeToken, NgZone, Optional, Output, PACKAGE_ROOT_URL, PLATFORM_ID, PLATFORM_INITIALIZER, Pipe, PlatformRef, Query, QueryList, ReflectiveInjector, ReflectiveKey, Renderer2, RendererFactory2, RendererStyleFlags2, ResolvedReflectiveFactory, Sanitizer, SecurityContext, Self, SimpleChange, SkipSelf, SystemJsNgModuleLoader, SystemJsNgModuleLoaderConfig, TRANSLATIONS, TRANSLATIONS_FORMAT, TemplateRef, Testability, TestabilityRegistry, Type, VERSION, Version, ViewChild, ViewChildren, ViewContainerRef, ViewEncapsulation$1 as ViewEncapsulation, ViewRef$1 as ViewRef, WrappedValue, asNativeElements, assertPlatform, createPlatform, createPlatformFactory, defineInjectable, destroyPlatform, enableProdMode, forwardRef, getDebugNode$1 as getDebugNode, getModuleFactory, getPlatform, inject, isDevMode, platformCore, resolveForwardRef, setTestabilityGetter, ɵ0, ɵ1, ALLOW_MULTIPLE_PLATFORMS as ɵALLOW_MULTIPLE_PLATFORMS, APP_ID_RANDOM_PROVIDER as ɵAPP_ID_RANDOM_PROVIDER, ChangeDetectorStatus as ɵChangeDetectorStatus, CodegenComponentFactoryResolver as ɵCodegenComponentFactoryResolver, Compiler_compileModuleAndAllComponentsAsync__POST_R3__ as ɵCompiler_compileModuleAndAllComponentsAsync__POST_R3__, Compiler_compileModuleAndAllComponentsSync__POST_R3__ as ɵCompiler_compileModuleAndAllComponentsSync__POST_R3__, Compiler_compileModuleAsync__POST_R3__ as ɵCompiler_compileModuleAsync__POST_R3__, Compiler_compileModuleSync__POST_R3__ as ɵCompiler_compileModuleSync__POST_R3__, ComponentFactory as ɵComponentFactory, Console as ɵConsole, DEFAULT_LOCALE_ID as ɵDEFAULT_LOCALE_ID, EMPTY_ARRAY$4 as ɵEMPTY_ARRAY, EMPTY_MAP as ɵEMPTY_MAP, INJECTOR_IMPL__POST_R3__ as ɵINJECTOR_IMPL__POST_R3__, INJECTOR_SCOPE as ɵINJECTOR_SCOPE, LifecycleHooksFeature as ɵLifecycleHooksFeature, LocaleDataIndex as ɵLocaleDataIndex, NG_COMP_DEF as ɵNG_COMP_DEF, NG_DIR_DEF as ɵNG_DIR_DEF, NG_ELEMENT_ID as ɵNG_ELEMENT_ID, NG_INJ_DEF as ɵNG_INJ_DEF, NG_MOD_DEF as ɵNG_MOD_DEF, NG_PIPE_DEF as ɵNG_PIPE_DEF, NG_PROV_DEF as ɵNG_PROV_DEF, NOT_FOUND_CHECK_ONLY_ELEMENT_INJECTOR as ɵNOT_FOUND_CHECK_ONLY_ELEMENT_INJECTOR, NO_CHANGE as ɵNO_CHANGE, NgModuleFactory$1 as ɵNgModuleFactory, NoopNgZone as ɵNoopNgZone, ReflectionCapabilities as ɵReflectionCapabilities, ComponentFactory$1 as ɵRender3ComponentFactory, ComponentRef$1 as ɵRender3ComponentRef, NgModuleRef$1 as ɵRender3NgModuleRef, SWITCH_CHANGE_DETECTOR_REF_FACTORY__POST_R3__ as ɵSWITCH_CHANGE_DETECTOR_REF_FACTORY__POST_R3__, SWITCH_COMPILE_COMPONENT__POST_R3__ as ɵSWITCH_COMPILE_COMPONENT__POST_R3__, SWITCH_COMPILE_DIRECTIVE__POST_R3__ as ɵSWITCH_COMPILE_DIRECTIVE__POST_R3__, SWITCH_COMPILE_INJECTABLE__POST_R3__ as ɵSWITCH_COMPILE_INJECTABLE__POST_R3__, SWITCH_COMPILE_NGMODULE__POST_R3__ as ɵSWITCH_COMPILE_NGMODULE__POST_R3__, SWITCH_COMPILE_PIPE__POST_R3__ as ɵSWITCH_COMPILE_PIPE__POST_R3__, SWITCH_ELEMENT_REF_FACTORY__POST_R3__ as ɵSWITCH_ELEMENT_REF_FACTORY__POST_R3__, SWITCH_IVY_ENABLED__POST_R3__ as ɵSWITCH_IVY_ENABLED__POST_R3__, SWITCH_RENDERER2_FACTORY__POST_R3__ as ɵSWITCH_RENDERER2_FACTORY__POST_R3__, SWITCH_TEMPLATE_REF_FACTORY__POST_R3__ as ɵSWITCH_TEMPLATE_REF_FACTORY__POST_R3__, SWITCH_VIEW_CONTAINER_REF_FACTORY__POST_R3__ as ɵSWITCH_VIEW_CONTAINER_REF_FACTORY__POST_R3__, _sanitizeHtml as ɵ_sanitizeHtml, _sanitizeUrl as ɵ_sanitizeUrl, allowSanitizationBypassAndThrow as ɵallowSanitizationBypassAndThrow, anchorDef as ɵand, isForwardRef as ɵangular_packages_core_core_a, injectInjectorOnly as ɵangular_packages_core_core_b, instructionState as ɵangular_packages_core_core_ba, getLView as ɵangular_packages_core_core_bb, getPreviousOrParentTNode as ɵangular_packages_core_core_bc, getBindingRoot as ɵangular_packages_core_core_bd, nextContextImpl as ɵangular_packages_core_core_be, pureFunction1Internal as ɵangular_packages_core_core_bg, pureFunction2Internal as ɵangular_packages_core_core_bh, pureFunction3Internal as ɵangular_packages_core_core_bi, pureFunction4Internal as ɵangular_packages_core_core_bj, pureFunctionVInternal as ɵangular_packages_core_core_bk, getUrlSanitizer as ɵangular_packages_core_core_bl, makeParamDecorator as ɵangular_packages_core_core_bm, makePropDecorator as ɵangular_packages_core_core_bn, getClosureSafeProperty as ɵangular_packages_core_core_bo, noSideEffects as ɵangular_packages_core_core_bq, getRootContext as ɵangular_packages_core_core_br, NullInjector as ɵangular_packages_core_core_c, ReflectiveInjector_ as ɵangular_packages_core_core_d, ReflectiveDependency as ɵangular_packages_core_core_e, resolveReflectiveProviders as ɵangular_packages_core_core_f, _appIdRandomProviderFactory as ɵangular_packages_core_core_g, createElementRef as ɵangular_packages_core_core_h, createTemplateRef as ɵangular_packages_core_core_i, getModuleFactory__PRE_R3__ as ɵangular_packages_core_core_j, DebugNode__PRE_R3__ as ɵangular_packages_core_core_k, DebugElement__PRE_R3__ as ɵangular_packages_core_core_l, getDebugNodeR2__PRE_R3__ as ɵangular_packages_core_core_m, DefaultIterableDifferFactory as ɵangular_packages_core_core_n, DefaultKeyValueDifferFactory as ɵangular_packages_core_core_o, _iterableDiffersFactory as ɵangular_packages_core_core_p, _keyValueDiffersFactory as ɵangular_packages_core_core_q, _localeFactory as ɵangular_packages_core_core_r, APPLICATION_MODULE_PROVIDERS as ɵangular_packages_core_core_s, zoneSchedulerFactory as ɵangular_packages_core_core_t, USD_CURRENCY_CODE as ɵangular_packages_core_core_u, _def as ɵangular_packages_core_core_v, DebugContext as ɵangular_packages_core_core_w, NgOnChangesFeatureImpl as ɵangular_packages_core_core_x, SCHEDULER as ɵangular_packages_core_core_y, injectAttributeImpl as ɵangular_packages_core_core_z, bypassSanitizationTrustHtml as ɵbypassSanitizationTrustHtml, bypassSanitizationTrustResourceUrl as ɵbypassSanitizationTrustResourceUrl, bypassSanitizationTrustScript as ɵbypassSanitizationTrustScript, bypassSanitizationTrustStyle as ɵbypassSanitizationTrustStyle, bypassSanitizationTrustUrl as ɵbypassSanitizationTrustUrl, createComponentFactory as ɵccf, clearOverrides as ɵclearOverrides, clearResolutionOfComponentResourcesQueue as ɵclearResolutionOfComponentResourcesQueue, createNgModuleFactory as ɵcmf, compileComponent as ɵcompileComponent, compileDirective as ɵcompileDirective, compileNgModule as ɵcompileNgModule, compileNgModuleDefs as ɵcompileNgModuleDefs, compileNgModuleFactory__POST_R3__ as ɵcompileNgModuleFactory__POST_R3__, compilePipe as ɵcompilePipe, createInjector as ɵcreateInjector, createRendererType2 as ɵcrt, defaultIterableDiffers as ɵdefaultIterableDiffers, defaultKeyValueDiffers as ɵdefaultKeyValueDiffers, detectChanges as ɵdetectChanges, devModeEqual as ɵdevModeEqual, directiveDef as ɵdid, elementDef as ɵeld, findLocaleData as ɵfindLocaleData, flushModuleScopingQueueAsMuchAsPossible as ɵflushModuleScopingQueueAsMuchAsPossible, getComponentViewDefinitionFactory as ɵgetComponentViewDefinitionFactory, getDebugNodeR2 as ɵgetDebugNodeR2, getDebugNode__POST_R3__ as ɵgetDebugNode__POST_R3__, getDirectives as ɵgetDirectives, getHostElement as ɵgetHostElement, getInjectableDef as ɵgetInjectableDef, getLContext as ɵgetLContext, getLocaleCurrencyCode as ɵgetLocaleCurrencyCode, getLocalePluralCase as ɵgetLocalePluralCase, getModuleFactory__POST_R3__ as ɵgetModuleFactory__POST_R3__, getSanitizationBypassType as ɵgetSanitizationBypassType, _global as ɵglobal, initServicesIfNeeded as ɵinitServicesIfNeeded, inlineInterpolate as ɵinlineInterpolate, interpolate as ɵinterpolate, isBoundToModule__POST_R3__ as ɵisBoundToModule__POST_R3__, isDefaultChangeDetectionStrategy as ɵisDefaultChangeDetectionStrategy, isListLikeIterable as ɵisListLikeIterable, isObservable as ɵisObservable, isPromise as ɵisPromise, ivyEnabled as ɵivyEnabled, makeDecorator as ɵmakeDecorator, markDirty as ɵmarkDirty, moduleDef as ɵmod, moduleProvideDef as ɵmpd, ngContentDef as ɵncd, nodeValue as ɵnov, overrideComponentView as ɵoverrideComponentView, overrideProvider as ɵoverrideProvider, pureArrayDef as ɵpad, patchComponentDefWithScope as ɵpatchComponentDefWithScope, pipeDef as ɵpid, pureObjectDef as ɵpod, purePipeDef as ɵppd, providerDef as ɵprd, publishDefaultGlobalUtils as ɵpublishDefaultGlobalUtils, publishGlobalUtil as ɵpublishGlobalUtil, queryDef as ɵqud, registerLocaleData as ɵregisterLocaleData, registerModuleFactory as ɵregisterModuleFactory, registerNgModuleType as ɵregisterNgModuleType, renderComponent$1 as ɵrenderComponent, resetCompiledComponents as ɵresetCompiledComponents, resetJitOptions as ɵresetJitOptions, resolveComponentResources as ɵresolveComponentResources, setClassMetadata as ɵsetClassMetadata, setCurrentInjector as ɵsetCurrentInjector, setDocument as ɵsetDocument, setLocaleId as ɵsetLocaleId, store as ɵstore, stringify as ɵstringify, textDef as ɵted, transitiveScopesFor as ɵtransitiveScopesFor, unregisterAllLocaleData as ɵunregisterLocaleData, unwrapValue as ɵunv, unwrapSafeValue as ɵunwrapSafeValue, viewDef as ɵvid, whenRendered as ɵwhenRendered, ɵɵCopyDefinitionFeature, ɵɵInheritDefinitionFeature, ɵɵNgOnChangesFeature, ɵɵProvidersFeature, ɵɵadvance, ɵɵattribute, ɵɵattributeInterpolate1, ɵɵattributeInterpolate2, ɵɵattributeInterpolate3, ɵɵattributeInterpolate4, ɵɵattributeInterpolate5, ɵɵattributeInterpolate6, ɵɵattributeInterpolate7, ɵɵattributeInterpolate8, ɵɵattributeInterpolateV, ɵɵclassMap, ɵɵclassMapInterpolate1, ɵɵclassMapInterpolate2, ɵɵclassMapInterpolate3, ɵɵclassMapInterpolate4, ɵɵclassMapInterpolate5, ɵɵclassMapInterpolate6, ɵɵclassMapInterpolate7, ɵɵclassMapInterpolate8, ɵɵclassMapInterpolateV, ɵɵclassProp, ɵɵcontentQuery, ɵɵdefineComponent, ɵɵdefineDirective, ɵɵdefineInjectable, ɵɵdefineInjector, ɵɵdefineNgModule, ɵɵdefinePipe, ɵɵdirectiveInject, ɵɵdisableBindings, ɵɵelement, ɵɵelementContainer, ɵɵelementContainerEnd, ɵɵelementContainerStart, ɵɵelementEnd, ɵɵelementStart, ɵɵenableBindings, ɵɵgetCurrentView, ɵɵgetFactoryOf, ɵɵgetInheritedFactory, ɵɵhostProperty, ɵɵi18n, ɵɵi18nApply, ɵɵi18nAttributes, ɵɵi18nEnd, ɵɵi18nExp, ɵɵi18nPostprocess, ɵɵi18nStart, ɵɵinject, ɵɵinjectAttribute, ɵɵinjectPipeChangeDetectorRef, ɵɵinvalidFactory, ɵɵinvalidFactoryDep, ɵɵlistener, ɵɵloadQuery, ɵɵnamespaceHTML, ɵɵnamespaceMathML, ɵɵnamespaceSVG, ɵɵnextContext, ɵɵpipe, ɵɵpipeBind1, ɵɵpipeBind2, ɵɵpipeBind3, ɵɵpipeBind4, ɵɵpipeBindV, ɵɵprojection, ɵɵprojectionDef, ɵɵproperty, ɵɵpropertyInterpolate, ɵɵpropertyInterpolate1, ɵɵpropertyInterpolate2, ɵɵpropertyInterpolate3, ɵɵpropertyInterpolate4, ɵɵpropertyInterpolate5, ɵɵpropertyInterpolate6, ɵɵpropertyInterpolate7, ɵɵpropertyInterpolate8, ɵɵpropertyInterpolateV, ɵɵpureFunction0, ɵɵpureFunction1, ɵɵpureFunction2, ɵɵpureFunction3, ɵɵpureFunction4, ɵɵpureFunction5, ɵɵpureFunction6, ɵɵpureFunction7, ɵɵpureFunction8, ɵɵpureFunctionV, ɵɵqueryRefresh, ɵɵreference, ɵɵresolveBody, ɵɵresolveDocument, ɵɵresolveWindow, ɵɵrestoreView, ɵɵsanitizeHtml, ɵɵsanitizeResourceUrl, ɵɵsanitizeScript, ɵɵsanitizeStyle, ɵɵsanitizeUrl, ɵɵsanitizeUrlOrResourceUrl, ɵɵselect, ɵɵsetComponentScope, ɵɵsetNgModuleScope, ɵɵstaticContentQuery, ɵɵstaticViewQuery, ɵɵstyleMap, ɵɵstyleMapInterpolate1, ɵɵstyleMapInterpolate2, ɵɵstyleMapInterpolate3, ɵɵstyleMapInterpolate4, ɵɵstyleMapInterpolate5, ɵɵstyleMapInterpolate6, ɵɵstyleMapInterpolate7, ɵɵstyleMapInterpolate8, ɵɵstyleMapInterpolateV, ɵɵstyleProp, ɵɵstylePropInterpolate1, ɵɵstylePropInterpolate2, ɵɵstylePropInterpolate3, ɵɵstylePropInterpolate4, ɵɵstylePropInterpolate5, ɵɵstylePropInterpolate6, ɵɵstylePropInterpolate7, ɵɵstylePropInterpolate8, ɵɵstylePropInterpolateV, ɵɵsyntheticHostListener, ɵɵsyntheticHostProperty, ɵɵtemplate, ɵɵtemplateRefExtractor, ɵɵtext, ɵɵtextInterpolate, ɵɵtextInterpolate1, ɵɵtextInterpolate2, ɵɵtextInterpolate3, ɵɵtextInterpolate4, ɵɵtextInterpolate5, ɵɵtextInterpolate6, ɵɵtextInterpolate7, ɵɵtextInterpolate8, ɵɵtextInterpolateV, ɵɵviewQuery };
31497
31454
  //# sourceMappingURL=core.js.map