You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@nifi.apache.org by sc...@apache.org on 2018/06/06 15:54:22 UTC

[01/59] [abbrv] [partial] nifi-fds git commit: update gh-pages [Forced Update!]

Repository: nifi-fds
Updated Branches:
  refs/heads/gh-pages 90759b86d -> 6aea21ba4 (forced update)


http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/eec354e6/node_modules/@angular/cdk/esm2015/platform.js
----------------------------------------------------------------------
diff --git a/node_modules/@angular/cdk/esm2015/platform.js b/node_modules/@angular/cdk/esm2015/platform.js
new file mode 100644
index 0000000..a2cc254
--- /dev/null
+++ b/node_modules/@angular/cdk/esm2015/platform.js
@@ -0,0 +1,181 @@
+/**
+ * @license
+ * Copyright Google LLC All Rights Reserved.
+ *
+ * Use of this source code is governed by an MIT-style license that can be
+ * found in the LICENSE file at https://angular.io/license
+ */
+import { Injectable, NgModule } from '@angular/core';
+
+/**
+ * @fileoverview added by tsickle
+ * @suppress {checkTypes} checked by tsc
+ */
+
+// Whether the current platform supports the V8 Break Iterator. The V8 check
+// is necessary to detect all Blink based browsers.
+const hasV8BreakIterator = (typeof (Intl) !== 'undefined' && (/** @type {?} */ (Intl)).v8BreakIterator);
+/**
+ * Service to detect the current platform by comparing the userAgent strings and
+ * checking browser-specific global properties.
+ */
+class Platform {
+    constructor() {
+        /**
+         * Whether the Angular application is being rendered in the browser.
+         */
+        this.isBrowser = typeof document === 'object' && !!document;
+        /**
+         * Whether the current browser is Microsoft Edge.
+         */
+        this.EDGE = this.isBrowser && /(edge)/i.test(navigator.userAgent);
+        /**
+         * Whether the current rendering engine is Microsoft Trident.
+         */
+        this.TRIDENT = this.isBrowser && /(msie|trident)/i.test(navigator.userAgent);
+        /**
+         * Whether the current rendering engine is Blink.
+         */
+        this.BLINK = this.isBrowser &&
+            (!!((/** @type {?} */ (window)).chrome || hasV8BreakIterator) && !!CSS && !this.EDGE && !this.TRIDENT);
+        /**
+         * Whether the current rendering engine is WebKit.
+         */
+        this.WEBKIT = this.isBrowser &&
+            /AppleWebKit/i.test(navigator.userAgent) && !this.BLINK && !this.EDGE && !this.TRIDENT;
+        /**
+         * Whether the current platform is Apple iOS.
+         */
+        this.IOS = this.isBrowser && /iPad|iPhone|iPod/.test(navigator.userAgent) &&
+            !(/** @type {?} */ (window)).MSStream;
+        /**
+         * Whether the current browser is Firefox.
+         */
+        this.FIREFOX = this.isBrowser && /(firefox|minefield)/i.test(navigator.userAgent);
+        /**
+         * Whether the current platform is Android.
+         */
+        this.ANDROID = this.isBrowser && /android/i.test(navigator.userAgent) && !this.TRIDENT;
+        /**
+         * Whether the current browser is Safari.
+         */
+        this.SAFARI = this.isBrowser && /safari/i.test(navigator.userAgent) && this.WEBKIT;
+    }
+}
+Platform.decorators = [
+    { type: Injectable },
+];
+/** @nocollapse */
+Platform.ctorParameters = () => [];
+
+/**
+ * @fileoverview added by tsickle
+ * @suppress {checkTypes} checked by tsc
+ */
+
+/**
+ * Cached result of whether the user's browser supports passive event listeners.
+ */
+let supportsPassiveEvents;
+/**
+ * Checks whether the user's browser supports passive event listeners.
+ * See: https://github.com/WICG/EventListenerOptions/blob/gh-pages/explainer.md
+ * @return {?}
+ */
+function supportsPassiveEventListeners() {
+    if (supportsPassiveEvents == null && typeof window !== 'undefined') {
+        try {
+            window.addEventListener('test', /** @type {?} */ ((null)), Object.defineProperty({}, 'passive', {
+                get: () => supportsPassiveEvents = true
+            }));
+        }
+        finally {
+            supportsPassiveEvents = supportsPassiveEvents || false;
+        }
+    }
+    return supportsPassiveEvents;
+}
+/**
+ * Cached result Set of input types support by the current browser.
+ */
+let supportedInputTypes;
+/**
+ * Types of `<input>` that *might* be supported.
+ */
+const candidateInputTypes = [
+    'color',
+    'button',
+    'checkbox',
+    'date',
+    'datetime-local',
+    'email',
+    'file',
+    'hidden',
+    'image',
+    'month',
+    'number',
+    'password',
+    'radio',
+    'range',
+    'reset',
+    'search',
+    'submit',
+    'tel',
+    'text',
+    'time',
+    'url',
+    'week',
+];
+/**
+ * @return {?} The input types supported by this browser.
+ */
+function getSupportedInputTypes() {
+    // Result is cached.
+    if (supportedInputTypes) {
+        return supportedInputTypes;
+    }
+    // We can't check if an input type is not supported until we're on the browser, so say that
+    // everything is supported when not on the browser. We don't use `Platform` here since it's
+    // just a helper function and can't inject it.
+    if (typeof document !== 'object' || !document) {
+        supportedInputTypes = new Set(candidateInputTypes);
+        return supportedInputTypes;
+    }
+    let /** @type {?} */ featureTestInput = document.createElement('input');
+    supportedInputTypes = new Set(candidateInputTypes.filter(value => {
+        featureTestInput.setAttribute('type', value);
+        return featureTestInput.type === value;
+    }));
+    return supportedInputTypes;
+}
+
+/**
+ * @fileoverview added by tsickle
+ * @suppress {checkTypes} checked by tsc
+ */
+
+class PlatformModule {
+}
+PlatformModule.decorators = [
+    { type: NgModule, args: [{
+                providers: [Platform]
+            },] },
+];
+/** @nocollapse */
+PlatformModule.ctorParameters = () => [];
+
+/**
+ * @fileoverview added by tsickle
+ * @suppress {checkTypes} checked by tsc
+ */
+
+/**
+ * @fileoverview added by tsickle
+ * @suppress {checkTypes} checked by tsc
+ */
+/**
+ * Generated bundle index. Do not edit.
+ */
+
+export { Platform, supportsPassiveEventListeners, getSupportedInputTypes, PlatformModule };
+//# sourceMappingURL=platform.js.map


[59/59] [abbrv] nifi-fds git commit: gh-pages update

Posted by sc...@apache.org.
gh-pages update


Project: http://git-wip-us.apache.org/repos/asf/nifi-fds/repo
Commit: http://git-wip-us.apache.org/repos/asf/nifi-fds/commit/6aea21ba
Tree: http://git-wip-us.apache.org/repos/asf/nifi-fds/tree/6aea21ba
Diff: http://git-wip-us.apache.org/repos/asf/nifi-fds/diff/6aea21ba

Branch: refs/heads/gh-pages
Commit: 6aea21ba4e2ccc923d77997bbf87c88beda6ab7e
Parents: 75ca3a9
Author: Scott Aslan <sc...@gmail.com>
Authored: Wed Jun 6 11:46:53 2018 -0400
Committer: Scott Aslan <sc...@gmail.com>
Committed: Wed Jun 6 11:46:53 2018 -0400

----------------------------------------------------------------------
 README.md                                      |  24 +++++++++++++++++---
 node_modules/@nifi-fds/core/README.md          |  24 +++++++++++++++++---
 node_modules/iltorb/build/Release/iltorb.node  | Bin 865768 -> 865768 bytes
 node_modules/iltorb/build/bindings/iltorb.node | Bin 865768 -> 865768 bytes
 4 files changed, 42 insertions(+), 6 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/6aea21ba/README.md
----------------------------------------------------------------------
diff --git a/README.md b/README.md
index 0d609e6..1e04a05 100644
--- a/README.md
+++ b/README.md
@@ -62,7 +62,7 @@ The Apache NiFi Flow Design System comes with a base CSS file `node_modules/@nif
 
 NiFi FDS is also a themeable UI/UX component platform. To customize the core FDS components create a simple Sass file that defines your palettes and passes them to mixins that output the corresponding styles. A typical theme file will look something like this:
 
-```javascript
+```sass
 @import '../../node_modules/@nifi-fds/core/common/styles/globalVars';
 @import '../../node_modules/@nifi-fds/core/theming/all-theme';
 
@@ -93,7 +93,7 @@ $fds-theme: mat-light-theme($fds-primary, $fds-accent, $fds-warn);
 
 You don't have to use Sass to style the rest of your application but you will need to compile this one. Angular CLI, grunt-sass, gulp-sass, and node-sass are all great options; the output of which will be a CSS file that must be included in the head of the HTML document after the base NiFi FDS CSS styles:
 
-```javascript
+```html
 <link rel="stylesheet" href='node_modules/@nifi-fds/core/common/styles/css/flow-design-system.min.css'/>
 <link rel="stylesheet" href='demo-app/css/fds-demo.min.css'/>
 ```
@@ -150,9 +150,27 @@ For developers with permissions releasing a new version of the NiFi Flow Design
 
 #### Deploying github.io demo
 
-The nifi-fds github.io demo can be staged to be deployed from the root nifi-fds directory via:
+Before deploying the demo-app to the gh-pages branch please make sure you have the following in your local repo:
+ 
+* Configured the apache git repo as a remote
+* Created a local gh-pages branch
+
+```bash
+git remote add apache https://git-wip-us.apache.org/repos/asf/nifi-fds.git
+git branch -f gh-pages
+``` 
+
+Then you can deploy any branch (typically this should be the latest release version) to the nifi-fds github.io from the root nifi-fds directory via:
 
 ```bash
+git checkout <branch_name>
 npm run deploy:ghpages
 ```
 
+#### npm publish
+Developers can easily publish the latest release artifacts to the public npm registry from the root nifi-fds directory via:
+
+```bash
+npm run publish
+```
+NOTE: These artifacts are maintained under the nifi-fds npm organization.

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/6aea21ba/node_modules/@nifi-fds/core/README.md
----------------------------------------------------------------------
diff --git a/node_modules/@nifi-fds/core/README.md b/node_modules/@nifi-fds/core/README.md
index 0d609e6..1e04a05 100644
--- a/node_modules/@nifi-fds/core/README.md
+++ b/node_modules/@nifi-fds/core/README.md
@@ -62,7 +62,7 @@ The Apache NiFi Flow Design System comes with a base CSS file `node_modules/@nif
 
 NiFi FDS is also a themeable UI/UX component platform. To customize the core FDS components create a simple Sass file that defines your palettes and passes them to mixins that output the corresponding styles. A typical theme file will look something like this:
 
-```javascript
+```sass
 @import '../../node_modules/@nifi-fds/core/common/styles/globalVars';
 @import '../../node_modules/@nifi-fds/core/theming/all-theme';
 
@@ -93,7 +93,7 @@ $fds-theme: mat-light-theme($fds-primary, $fds-accent, $fds-warn);
 
 You don't have to use Sass to style the rest of your application but you will need to compile this one. Angular CLI, grunt-sass, gulp-sass, and node-sass are all great options; the output of which will be a CSS file that must be included in the head of the HTML document after the base NiFi FDS CSS styles:
 
-```javascript
+```html
 <link rel="stylesheet" href='node_modules/@nifi-fds/core/common/styles/css/flow-design-system.min.css'/>
 <link rel="stylesheet" href='demo-app/css/fds-demo.min.css'/>
 ```
@@ -150,9 +150,27 @@ For developers with permissions releasing a new version of the NiFi Flow Design
 
 #### Deploying github.io demo
 
-The nifi-fds github.io demo can be staged to be deployed from the root nifi-fds directory via:
+Before deploying the demo-app to the gh-pages branch please make sure you have the following in your local repo:
+ 
+* Configured the apache git repo as a remote
+* Created a local gh-pages branch
+
+```bash
+git remote add apache https://git-wip-us.apache.org/repos/asf/nifi-fds.git
+git branch -f gh-pages
+``` 
+
+Then you can deploy any branch (typically this should be the latest release version) to the nifi-fds github.io from the root nifi-fds directory via:
 
 ```bash
+git checkout <branch_name>
 npm run deploy:ghpages
 ```
 
+#### npm publish
+Developers can easily publish the latest release artifacts to the public npm registry from the root nifi-fds directory via:
+
+```bash
+npm run publish
+```
+NOTE: These artifacts are maintained under the nifi-fds npm organization.

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/6aea21ba/node_modules/iltorb/build/Release/iltorb.node
----------------------------------------------------------------------
diff --git a/node_modules/iltorb/build/Release/iltorb.node b/node_modules/iltorb/build/Release/iltorb.node
index 6bbddc4..bccad72 100755
Binary files a/node_modules/iltorb/build/Release/iltorb.node and b/node_modules/iltorb/build/Release/iltorb.node differ

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/6aea21ba/node_modules/iltorb/build/bindings/iltorb.node
----------------------------------------------------------------------
diff --git a/node_modules/iltorb/build/bindings/iltorb.node b/node_modules/iltorb/build/bindings/iltorb.node
index 6bbddc4..bccad72 100755
Binary files a/node_modules/iltorb/build/bindings/iltorb.node and b/node_modules/iltorb/build/bindings/iltorb.node differ


[46/59] [abbrv] [partial] nifi-fds git commit: update gh-pages

Posted by sc...@apache.org.
http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/eec354e6/demo-app/css/fds-demo.min.css.map
----------------------------------------------------------------------
diff --git a/demo-app/css/fds-demo.min.css.map b/demo-app/css/fds-demo.min.css.map
new file mode 100644
index 0000000..0ac6551
--- /dev/null
+++ b/demo-app/css/fds-demo.min.css.map
@@ -0,0 +1,64 @@
+{
+	"version": 3,
+	"file": "fds-demo.min.css",
+	"sources": [
+		"../theming/fds-demo.scss",
+		"../../node_modules/@nifi-fds/core/common/styles/_globalVars.scss",
+		"../../node_modules/@nifi-fds/core/theming/_all-theme.scss",
+		"../../node_modules/@angular/material/_theming.scss",
+		"../../node_modules/@covalent/core/theming/_all-theme.scss",
+		"../../node_modules/@covalent/core/common/_common-theme.scss",
+		"../../node_modules/@covalent/core/common/styles/_theme-functions.scss",
+		"../../node_modules/@covalent/core/chips/_chips-theme.scss",
+		"../../node_modules/@covalent/core/common/styles/_typography-functions.scss",
+		"../../node_modules/@covalent/core/data-table/_data-table-theme.scss",
+		"../../node_modules/@covalent/core/layout/_layout-theme.scss",
+		"../../node_modules/@covalent/core/common/styles/_elevation.scss",
+		"../../node_modules/@covalent/core/common/styles/_variables.scss",
+		"../../node_modules/@covalent/core/steps/_steps-theme.scss",
+		"../../node_modules/@covalent/core/expansion-panel/_expansion-panel-theme.scss",
+		"../../node_modules/@covalent/core/file/_file-theme.scss",
+		"../../node_modules/@covalent/core/loading/_loading-theme.scss",
+		"../../node_modules/@covalent/core/dialogs/_dialog-theme.scss",
+		"../../node_modules/@covalent/core/json-formatter/_json-formatter-theme.scss",
+		"../../node_modules/@covalent/core/paging/_paging-bar-theme.scss",
+		"../../node_modules/@covalent/core/notifications/_notification-count-theme.scss",
+		"../../node_modules/@covalent/core/message/_message-theme.scss",
+		"../../node_modules/@covalent/core/common/styles/_styles.scss",
+		"../../node_modules/@covalent/core/common/styles/font/_font.scss",
+		"../../node_modules/@covalent/core/common/styles/core/_core.scss",
+		"../../node_modules/@covalent/core/common/styles/core/_button.scss",
+		"../../node_modules/@covalent/core/common/styles/_rtl.scss",
+		"../../node_modules/@covalent/core/common/styles/core/_card.scss",
+		"../../node_modules/@covalent/core/common/styles/core/_content.scss",
+		"../../node_modules/@covalent/core/common/styles/core/_divider.scss",
+		"../../node_modules/@covalent/core/common/styles/core/_icons.scss",
+		"../../node_modules/@covalent/core/common/styles/core/_list.scss",
+		"../../node_modules/@covalent/core/common/styles/core/_sidenav.scss",
+		"../../node_modules/@covalent/core/common/styles/core/_structure.scss",
+		"../../node_modules/@covalent/core/common/styles/core/_toolbar.scss",
+		"../../node_modules/@covalent/core/common/styles/core/_whiteframe.scss",
+		"../../node_modules/@covalent/core/common/styles/_typography.scss",
+		"../../node_modules/@covalent/core/common/styles/_layout.scss",
+		"../../node_modules/@covalent/core/common/styles/colors/_colors.scss",
+		"../../node_modules/@covalent/core/common/styles/colors/_colors-dark.scss",
+		"../../node_modules/@covalent/core/common/styles/_palette-dark.scss",
+		"../../node_modules/@covalent/core/common/styles/colors/_colors-light.scss",
+		"../../node_modules/@covalent/core/common/styles/_palette-light.scss",
+		"../../node_modules/@covalent/core/common/styles/utilities/_utilities.scss",
+		"../../node_modules/@covalent/core/common/styles/utilities/_general.scss",
+		"../../node_modules/@covalent/core/common/styles/utilities/_pad.scss",
+		"../../node_modules/@covalent/core/common/styles/utilities/_pull.scss",
+		"../../node_modules/@covalent/core/common/styles/utilities/_push.scss",
+		"../../node_modules/@covalent/core/common/styles/utilities/_size.scss",
+		"../../node_modules/@covalent/core/common/styles/utilities/_text.scss",
+		"../../node_modules/@covalent/core/typography/_all-typography.scss",
+		"../../node_modules/@nifi-fds/core/common/styles/_buttons.scss",
+		"../../node_modules/@nifi-fds/core/common/styles/_expansionPanels.scss",
+		"../../node_modules/@nifi-fds/core/common/styles/_menus.scss",
+		"../theming/_structureElements.scss",
+		"../theming/_helperClasses.scss"
+	],
+	"names": [],
+	"mappings": "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"
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/eec354e6/demo-app/fds-bootstrap.js
----------------------------------------------------------------------
diff --git a/demo-app/fds-bootstrap.js b/demo-app/fds-bootstrap.js
new file mode 100644
index 0000000..6129c70
--- /dev/null
+++ b/demo-app/fds-bootstrap.js
@@ -0,0 +1,53 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+require('core-js');
+require('zone.js');
+require('hammerjs');
+var $ = require('jquery');
+var FdsModule = require('demo-app/fds.module.js');
+var ngPlatformBrowserDynamic = require('@angular/platform-browser-dynamic');
+var ngCore = require('@angular/core');
+
+// Comment out this line when developing to assert for unidirectional data flow
+ngCore.enableProdMode();
+
+// Get the locale id from the global
+var locale = navigator.language;
+
+var providers = [];
+
+// No locale or U.S. English: no translation providers so go ahead and bootstrap the app
+if (!locale || locale === 'en-US') {
+    ngPlatformBrowserDynamic.platformBrowserDynamic().bootstrapModule(FdsModule, {providers: providers});
+} else { //load the translation providers and bootstrap the module
+    var translationFile = './demo-app/messages.' + locale + '.xlf';
+
+    $.ajax({
+        url: translationFile
+    }).done(function (translations) {
+        // add providers if translation file for locale is loaded
+        if (translations) {
+            providers.push({provide: ngCore.TRANSLATIONS, useValue: translations});
+            providers.push({provide: ngCore.TRANSLATIONS_FORMAT, useValue: 'xlf'});
+            providers.push({provide: ngCore.LOCALE_ID, useValue: locale});
+        }
+        ngPlatformBrowserDynamic.platformBrowserDynamic().bootstrapModule(FdsModule, {providers: providers});
+    }).fail(function () {
+        ngPlatformBrowserDynamic.platformBrowserDynamic().bootstrapModule(FdsModule, {providers: providers});
+    });
+}

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/eec354e6/demo-app/fds.animations.js
----------------------------------------------------------------------
diff --git a/demo-app/fds.animations.js b/demo-app/fds.animations.js
new file mode 100644
index 0000000..5f7d0cb
--- /dev/null
+++ b/demo-app/fds.animations.js
@@ -0,0 +1,133 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+var ngAnimate = require('@angular/animations');
+
+/**
+ * NfAnimations constructor.
+ *
+ * @constructor
+ */
+function NfAnimations() {
+};
+
+NfAnimations.prototype = {
+    constructor: NfAnimations,
+
+    /**
+     * Fade animation
+     */
+    fadeAnimation: ngAnimate.trigger('routeAnimation', [
+        ngAnimate.state('*',
+            ngAnimate.style({
+                opacity: 1
+            })
+        ),
+        ngAnimate.transition(':enter', [
+            ngAnimate.style({
+                opacity: 0
+            }),
+            ngAnimate.animate('0.5s ease-in')
+        ]),
+        ngAnimate.transition(':leave', [
+            ngAnimate.animate('0.5s ease-out', ngAnimate.style({
+                opacity: 0
+            }))
+        ])
+    ]),
+
+    /**
+     * Slide in from the left animation
+     */
+    slideInLeftAnimation: ngAnimate.trigger('routeAnimation', [
+        ngAnimate.state('*',
+            ngAnimate.style({
+                opacity: 1,
+                transform: 'translateX(0)'
+            })
+        ),
+        ngAnimate.transition(':enter', [
+            ngAnimate.style({
+                opacity: 0,
+                transform: 'translateX(-100%)'
+            }),
+            ngAnimate.animate('0.5s ease-in')
+        ]),
+        ngAnimate.transition(':leave', [
+            ngAnimate.animate('0.5s ease-out', ngAnimate.style({
+                opacity: 0,
+                transform: 'translateX(100%)'
+            }))
+        ])
+    ]),
+
+    /**
+     * Slide in from the top animation
+     */
+    slideInDownAnimation: ngAnimate.trigger('routeAnimation', [
+        ngAnimate.state('*',
+            ngAnimate.style({
+                opacity: 1,
+                transform: 'translateY(0)'
+            })
+        ),
+        ngAnimate.transition(':enter', [
+            ngAnimate.style({
+                opacity: 0,
+                transform: 'translateY(-100%)'
+            }),
+            ngAnimate.animate('0.5s ease-in')
+        ]),
+        ngAnimate.transition(':leave', [
+            ngAnimate.animate('0.5s ease-out', ngAnimate.style({
+                opacity: 0,
+                transform: 'translateY(100%)'
+            }))
+        ])
+    ]),
+
+    /**
+     * Fly in/out animation
+     */
+    flyInOutAnimation: ngAnimate.trigger('flyInOut', [
+        ngAnimate.state('in',
+            ngAnimate.style({transform: 'translateX(0)'})
+        ),
+        ngAnimate.transition('void => *', [
+            ngAnimate.style({transform: 'translateX(100%)'}),
+            ngAnimate.animate('0.4s 0.1s ease-in')
+        ]),
+        ngAnimate.transition('* => void', ngAnimate.animate('0.2s ease-out', ngAnimate.style({transform: 'translateX(-100%)'})))
+    ]),
+
+    /**
+     * Fly in/out animation
+     */
+    fadeInOutAnimation: ngAnimate.trigger('fadeInOut', [
+        ngAnimate.state('in',
+            ngAnimate.style({opacity: 1})
+        ),
+        ngAnimate.transition('void => *', [
+            ngAnimate.style({opacity: 0}),
+            ngAnimate.animate('0.5s 0.1s ease-in')
+        ]),
+        ngAnimate.transition('* => void', ngAnimate.animate('0.5s ease-out', ngAnimate.style({opacity: 0})))
+    ])
+
+};
+
+module.exports = new NfAnimations();

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/eec354e6/demo-app/fds.html
----------------------------------------------------------------------
diff --git a/demo-app/fds.html b/demo-app/fds.html
new file mode 100644
index 0000000..98a3f58
--- /dev/null
+++ b/demo-app/fds.html
@@ -0,0 +1,34 @@
+<!--
+Licensed to the Apache Software Foundation (ASF) under one or more
+contributor license agreements.  See the NOTICE file distributed with
+this work for additional information regarding copyright ownership.
+The ASF licenses this file to You under the Apache License, Version 2.0
+(the "License"); you may not use this file except in compliance with
+the License.  You may obtain a copy of the License at
+
+http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+-->
+
+<mat-progress-spinner id="loading-spinner" *ngIf="fdsService.inProgress" mode="indeterminate"></mat-progress-spinner>
+<mat-sidenav-container>
+    <mat-sidenav #sidenav mode="over" align="end" opened="false" disableClose="true">
+        <router-outlet name="sidenav"></router-outlet>
+    </mat-sidenav>
+    <div id="fds-app-container">
+        <mat-toolbar id="fds-toolbar">
+            <!-- <img id="fds-logo" src="fds/images/fds-logo-web-app.svg"> -->
+            <div *ngIf="fdsService.perspective !== 'login' && fdsService.perspective !== 'not-found'" fxFlex="1 1 auto" class="pad-left-xl" [@flyInOut]="fdsService.breadCrumbState">
+                <span class="pointer">{{fdsService.title}}</span>
+            </div>
+        </mat-toolbar>
+        <div id="fds-perspectives-container">
+            <router-outlet></router-outlet>
+        </div>
+    </div>
+</mat-sidenav-container>

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/eec354e6/demo-app/fds.js
----------------------------------------------------------------------
diff --git a/demo-app/fds.js b/demo-app/fds.js
new file mode 100644
index 0000000..fc58a0e
--- /dev/null
+++ b/demo-app/fds.js
@@ -0,0 +1,74 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+var ngCore = require('@angular/core');
+var ngCommonHttp = require('@angular/common/http');
+var FdsService = require('demo-app/services/fds.service.js');
+var fdsAnimations = require('demo-app/fds.animations.js');
+var ngRouter = require('@angular/router');
+var MILLIS_PER_SECOND = 1000;
+
+/**
+ * Fds constructor.
+ *
+ * @param fdsService            The fds service.
+ * @param changeDetectorRef     The change detector ref.
+ * @constructor
+ */
+function Fds(fdsService, changeDetectorRef) {
+    this.fdsService = fdsService;
+    this.cd = changeDetectorRef;
+};
+
+Fds.prototype = {
+    constructor: Fds,
+
+    /**
+     * Initialize the component
+     */
+    ngOnInit: function () {
+        var self = this;
+        this.fdsService.sidenav = this.sidenav; //ngCore.ViewChild
+    },
+
+    /**
+     * Since the child views are updating the fdsService values that are used to display
+     * the breadcrumbs in this component's view we need to manually detect changes at the correct
+     * point in the lifecycle.
+     */
+    ngAfterViewChecked: function () {
+        this.cd.detectChanges();
+    }
+};
+
+Fds.annotations = [
+    new ngCore.Component({
+        selector: 'fds-app',
+        template: require('./fds.html!text'),
+        queries: {
+            sidenav: new ngCore.ViewChild('sidenav')
+        },
+        animations: [fdsAnimations.flyInOutAnimation]
+    })
+];
+
+Fds.parameters = [
+    FdsService,
+    ngCore.ChangeDetectorRef
+];
+
+module.exports = Fds;

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/eec354e6/demo-app/fds.module.js
----------------------------------------------------------------------
diff --git a/demo-app/fds.module.js b/demo-app/fds.module.js
new file mode 100644
index 0000000..4b493ed
--- /dev/null
+++ b/demo-app/fds.module.js
@@ -0,0 +1,55 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+var ngCore = require('@angular/core');
+var FdsRoutes = require('demo-app/fds.routes.js');
+var fdsCore = require('@flow-design-system/core');
+var Fds = require('demo-app/fds.js');
+var FdsDemo = require('demo-app/components/flow-design-system/fds-demo.js');
+var FdsDemoDialog = require('demo-app/components/flow-design-system/dialogs/demo/fds-demo-dialog.js');
+var FdsService = require('demo-app/services/fds.service.js');
+var ngCommonHttp = require('@angular/common/http');
+
+function FdsModule() {
+};
+
+FdsModule.prototype = {
+    constructor: FdsModule
+};
+
+FdsModule.annotations = [
+    new ngCore.NgModule({
+        imports: [
+            fdsCore,
+            FdsRoutes
+        ],
+        declarations: [
+            Fds,
+            FdsDemo,
+            FdsDemoDialog
+        ],
+        entryComponents: [
+            FdsDemoDialog
+        ],
+        providers: [
+            FdsService
+        ],
+        bootstrap: [Fds]
+    })
+];
+
+module.exports = FdsModule;

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/eec354e6/demo-app/fds.routes.js
----------------------------------------------------------------------
diff --git a/demo-app/fds.routes.js b/demo-app/fds.routes.js
new file mode 100644
index 0000000..e6c4de7
--- /dev/null
+++ b/demo-app/fds.routes.js
@@ -0,0 +1,26 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+var ngRouter = require('@angular/router');
+var FdsDemo = require('demo-app/components/flow-design-system/fds-demo.js');
+
+var FdsRoutes = new ngRouter.RouterModule.forRoot([{
+    path: '',
+    component: FdsDemo
+}]);
+
+module.exports = FdsRoutes;

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/eec354e6/demo-app/gh-pages.index.html
----------------------------------------------------------------------
diff --git a/demo-app/gh-pages.index.html b/demo-app/gh-pages.index.html
new file mode 100644
index 0000000..b5c94b7
--- /dev/null
+++ b/demo-app/gh-pages.index.html
@@ -0,0 +1,36 @@
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the 'License'); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+      http://www.apache.org/licenses/LICENSE-2.0
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an 'AS IS' BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+<!DOCTYPE html>
+<html>
+<head>
+    <title>Apache NiFi Flow Design System Demo</title>
+    <base href='/nifi-fds/'>
+    <meta charset='UTF-8'>
+    <meta name='viewport' content='width=device-width, initial-scale=1'>
+    <meta http-equiv='Content-Type' content='text/html; charset=UTF-8'/>
+    <link rel="stylesheet" href="node_modules/@covalent/core/common/platform.css">
+    <link rel="stylesheet" href='node_modules/@nifi-fds/core/common/styles/css/flow-design-system.min.css'/>
+    <link rel="stylesheet" href='demo-app/css/fds-demo.min.css'/>
+    <link rel='stylesheet' href='node_modules/font-awesome/css/font-awesome.css'/>
+</head>
+<body>
+<fds-app></fds-app>
+</body>
+<script src="node_modules/systemjs/dist/system.src.js"></script>
+<script src="demo-app/systemjs.config.js?"></script>
+<script>
+  System.import('demo-app/fds-bootstrap.js').catch(function(err) {console.error(err);});
+</script>
+</html>

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/eec354e6/demo-app/gh-pages.package.json
----------------------------------------------------------------------
diff --git a/demo-app/gh-pages.package.json b/demo-app/gh-pages.package.json
new file mode 100644
index 0000000..00753cc
--- /dev/null
+++ b/demo-app/gh-pages.package.json
@@ -0,0 +1,71 @@
+{
+  "//": "Licensed to the Apache Software Foundation (ASF) under one or more",
+  "//": "contributor license agreements.  See the NOTICE file distributed with",
+  "//": "this work for additional information regarding copyright ownership.",
+  "//": "The ASF licenses this file to You under the Apache License, Version 2.0",
+  "//": "(the \"License\"); you may not use this file except in compliance with",
+  "//": "the License.  You may obtain a copy of the License at",
+  "//": "",
+  "//": "http://www.apache.org/licenses/LICENSE-2.0",
+  "//": "",
+  "//": "Unless required by applicable law or agreed to in writing, software",
+  "//": "distributed under the License is distributed on an \"AS IS\" BASIS,",
+  "//": "WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.",
+  "//": "See the License for the specific language governing permissions and",
+  "//": "limitations under the License.",
+  "name": "nifi-fds-demo",
+  "version": "0.0.0",
+  "scripts": {
+    "start": "./node_modules/http-server/bin/http-server ."
+  },
+  "description": "The Apache NiFi Flow Design System demo provides users with an example web application that consumes the NgModule and allows users to interact with the UI/UX components.",
+  "keywords": [
+    "flow design system",
+    "angular",
+    "material",
+    "material design",
+    "components",
+    "reusable",
+    "covalent"
+  ],
+  "repository": {
+    "type": "git",
+    "url": "https://github.com/apache/nifi-fds.git"
+  },
+  "bugs": {
+    "url": "https://github.com/apache/nifi-fds/issues"
+  },
+  "license": "Apache-2.0",
+  "dependencies": {
+    "core-js": "2.5.5",
+    "jquery": "3.2.1",
+    "rxjs": "5.5.6",
+    "systemjs": "0.20.17",
+    "systemjs-plugin-text": "0.0.11",
+    "zone.js": "0.8.17",
+    "@angular/animations": "5.2.0",
+    "@angular/cdk": "5.2.0",
+    "@angular/common": "5.2.0",
+    "@angular/compiler": "5.2.0",
+    "@angular/core": "5.2.0",
+    "@angular/flex-layout": "5.0.0-beta.14",
+    "@angular/forms": "5.2.0",
+    "@angular/http": "5.2.0",
+    "@angular/material": "5.2.0",
+    "@angular/platform-browser": "5.2.0",
+    "@angular/platform-browser-dynamic": "5.2.0",
+    "@angular/router": "5.2.0",
+    "@covalent/core": "1.0.0",
+    "detect-libc": "1.0.3",
+    "font-awesome": "4.7.0",
+    "hammerjs": "2.0.8",
+    "roboto-fontface": "0.7.0"
+  },
+  "devDependencies": {
+    "grunt": "0.4.5",
+    "grunt-cli": "1.2.0",
+    "grunt-contrib-compress": "1.4.3",
+    "grunt-sass": "2.0.0",
+    "load-grunt-tasks": "3.5.2"
+  }
+}


[14/59] [abbrv] [partial] nifi-fds git commit: update gh-pages

Posted by sc...@apache.org.
http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/eec354e6/node_modules/@angular/cdk/bundles/cdk-platform.umd.js
----------------------------------------------------------------------
diff --git a/node_modules/@angular/cdk/bundles/cdk-platform.umd.js b/node_modules/@angular/cdk/bundles/cdk-platform.umd.js
new file mode 100644
index 0000000..e198c49
--- /dev/null
+++ b/node_modules/@angular/cdk/bundles/cdk-platform.umd.js
@@ -0,0 +1,183 @@
+/**
+ * @license
+ * Copyright Google LLC All Rights Reserved.
+ *
+ * Use of this source code is governed by an MIT-style license that can be
+ * found in the LICENSE file at https://angular.io/license
+ */
+(function (global, factory) {
+	typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/core')) :
+	typeof define === 'function' && define.amd ? define(['exports', '@angular/core'], factory) :
+	(factory((global.ng = global.ng || {}, global.ng.cdk = global.ng.cdk || {}, global.ng.cdk.platform = global.ng.cdk.platform || {}),global.ng.core));
+}(this, (function (exports,_angular_core) { 'use strict';
+
+/**
+ * @fileoverview added by tsickle
+ * @suppress {checkTypes} checked by tsc
+ */
+
+// Whether the current platform supports the V8 Break Iterator. The V8 check
+// is necessary to detect all Blink based browsers.
+var hasV8BreakIterator = (typeof (Intl) !== 'undefined' && (/** @type {?} */ (Intl)).v8BreakIterator);
+/**
+ * Service to detect the current platform by comparing the userAgent strings and
+ * checking browser-specific global properties.
+ */
+var Platform = /** @class */ (function () {
+    function Platform() {
+        /**
+         * Whether the Angular application is being rendered in the browser.
+         */
+        this.isBrowser = typeof document === 'object' && !!document;
+        /**
+         * Whether the current browser is Microsoft Edge.
+         */
+        this.EDGE = this.isBrowser && /(edge)/i.test(navigator.userAgent);
+        /**
+         * Whether the current rendering engine is Microsoft Trident.
+         */
+        this.TRIDENT = this.isBrowser && /(msie|trident)/i.test(navigator.userAgent);
+        /**
+         * Whether the current rendering engine is Blink.
+         */
+        this.BLINK = this.isBrowser &&
+            (!!((/** @type {?} */ (window)).chrome || hasV8BreakIterator) && !!CSS && !this.EDGE && !this.TRIDENT);
+        /**
+         * Whether the current rendering engine is WebKit.
+         */
+        this.WEBKIT = this.isBrowser &&
+            /AppleWebKit/i.test(navigator.userAgent) && !this.BLINK && !this.EDGE && !this.TRIDENT;
+        /**
+         * Whether the current platform is Apple iOS.
+         */
+        this.IOS = this.isBrowser && /iPad|iPhone|iPod/.test(navigator.userAgent) &&
+            !(/** @type {?} */ (window)).MSStream;
+        /**
+         * Whether the current browser is Firefox.
+         */
+        this.FIREFOX = this.isBrowser && /(firefox|minefield)/i.test(navigator.userAgent);
+        /**
+         * Whether the current platform is Android.
+         */
+        this.ANDROID = this.isBrowser && /android/i.test(navigator.userAgent) && !this.TRIDENT;
+        /**
+         * Whether the current browser is Safari.
+         */
+        this.SAFARI = this.isBrowser && /safari/i.test(navigator.userAgent) && this.WEBKIT;
+    }
+    Platform.decorators = [
+        { type: _angular_core.Injectable },
+    ];
+    /** @nocollapse */
+    Platform.ctorParameters = function () { return []; };
+    return Platform;
+}());
+
+/**
+ * @fileoverview added by tsickle
+ * @suppress {checkTypes} checked by tsc
+ */
+
+/**
+ * Cached result of whether the user's browser supports passive event listeners.
+ */
+var supportsPassiveEvents;
+/**
+ * Checks whether the user's browser supports passive event listeners.
+ * See: https://github.com/WICG/EventListenerOptions/blob/gh-pages/explainer.md
+ * @return {?}
+ */
+function supportsPassiveEventListeners() {
+    if (supportsPassiveEvents == null && typeof window !== 'undefined') {
+        try {
+            window.addEventListener('test', /** @type {?} */ ((null)), Object.defineProperty({}, 'passive', {
+                get: function () { return supportsPassiveEvents = true; }
+            }));
+        }
+        finally {
+            supportsPassiveEvents = supportsPassiveEvents || false;
+        }
+    }
+    return supportsPassiveEvents;
+}
+/**
+ * Cached result Set of input types support by the current browser.
+ */
+var supportedInputTypes;
+/**
+ * Types of `<input>` that *might* be supported.
+ */
+var candidateInputTypes = [
+    'color',
+    'button',
+    'checkbox',
+    'date',
+    'datetime-local',
+    'email',
+    'file',
+    'hidden',
+    'image',
+    'month',
+    'number',
+    'password',
+    'radio',
+    'range',
+    'reset',
+    'search',
+    'submit',
+    'tel',
+    'text',
+    'time',
+    'url',
+    'week',
+];
+/**
+ * @return {?} The input types supported by this browser.
+ */
+function getSupportedInputTypes() {
+    // Result is cached.
+    if (supportedInputTypes) {
+        return supportedInputTypes;
+    }
+    // We can't check if an input type is not supported until we're on the browser, so say that
+    // everything is supported when not on the browser. We don't use `Platform` here since it's
+    // just a helper function and can't inject it.
+    if (typeof document !== 'object' || !document) {
+        supportedInputTypes = new Set(candidateInputTypes);
+        return supportedInputTypes;
+    }
+    var /** @type {?} */ featureTestInput = document.createElement('input');
+    supportedInputTypes = new Set(candidateInputTypes.filter(function (value) {
+        featureTestInput.setAttribute('type', value);
+        return featureTestInput.type === value;
+    }));
+    return supportedInputTypes;
+}
+
+/**
+ * @fileoverview added by tsickle
+ * @suppress {checkTypes} checked by tsc
+ */
+
+var PlatformModule = /** @class */ (function () {
+    function PlatformModule() {
+    }
+    PlatformModule.decorators = [
+        { type: _angular_core.NgModule, args: [{
+                    providers: [Platform]
+                },] },
+    ];
+    /** @nocollapse */
+    PlatformModule.ctorParameters = function () { return []; };
+    return PlatformModule;
+}());
+
+exports.Platform = Platform;
+exports.supportsPassiveEventListeners = supportsPassiveEventListeners;
+exports.getSupportedInputTypes = getSupportedInputTypes;
+exports.PlatformModule = PlatformModule;
+
+Object.defineProperty(exports, '__esModule', { value: true });
+
+})));
+//# sourceMappingURL=cdk-platform.umd.js.map

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/eec354e6/node_modules/@angular/cdk/bundles/cdk-platform.umd.js.map
----------------------------------------------------------------------
diff --git a/node_modules/@angular/cdk/bundles/cdk-platform.umd.js.map b/node_modules/@angular/cdk/bundles/cdk-platform.umd.js.map
new file mode 100644
index 0000000..1f1dbe4
--- /dev/null
+++ b/node_modules/@angular/cdk/bundles/cdk-platform.umd.js.map
@@ -0,0 +1 @@
+{"version":3,"file":"cdk-platform.umd.js","sources":["../../src/cdk/platform/platform-module.ts","../../src/cdk/platform/features.ts","../../src/cdk/platform/platform.ts"],"sourcesContent":["/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {NgModule} from '@angular/core';\nimport {Platform} from './platform';\n\n\n@NgModule({\n  providers: [Platform]\n})\nexport class PlatformModule {}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/** Cached result of whether the user's browser supports passive event listeners. */\nlet supportsPassiveEvents: boolean;\n\n/**\n * Checks whether the user's browser supports passive event listeners.\n * See: https://github
 .com/WICG/EventListenerOptions/blob/gh-pages/explainer.md\n */\nexport function supportsPassiveEventListeners(): boolean {\n  if (supportsPassiveEvents == null && typeof window !== 'undefined') {\n    try {\n      window.addEventListener('test', null!, Object.defineProperty({}, 'passive', {\n        get: () => supportsPassiveEvents = true\n      }));\n    } finally {\n      supportsPassiveEvents = supportsPassiveEvents || false;\n    }\n  }\n\n  return supportsPassiveEvents;\n}\n\n/** Cached result Set of input types support by the current browser. */\nlet supportedInputTypes: Set<string>;\n\n/** Types of `<input>` that *might* be supported. */\nconst candidateInputTypes = [\n  // `color` must come first. Chrome 56 shows a warning if we change the type to `color` after\n  // first changing it to something else:\n  // The specified value \"\" does not conform to the required format.\n  // The format is \"#rrggbb\" where rr, gg, bb are two-digit hexadecimal numbers.\n  'color',\n  'bu
 tton',\n  'checkbox',\n  'date',\n  'datetime-local',\n  'email',\n  'file',\n  'hidden',\n  'image',\n  'month',\n  'number',\n  'password',\n  'radio',\n  'range',\n  'reset',\n  'search',\n  'submit',\n  'tel',\n  'text',\n  'time',\n  'url',\n  'week',\n];\n\n/** @returns The input types supported by this browser. */\nexport function getSupportedInputTypes(): Set<string> {\n  // Result is cached.\n  if (supportedInputTypes) {\n    return supportedInputTypes;\n  }\n\n  // We can't check if an input type is not supported until we're on the browser, so say that\n  // everything is supported when not on the browser. We don't use `Platform` here since it's\n  // just a helper function and can't inject it.\n  if (typeof document !== 'object' || !document) {\n    supportedInputTypes = new Set(candidateInputTypes);\n    return supportedInputTypes;\n  }\n\n  let featureTestInput = document.createElement('input');\n  supportedInputTypes = new Set(candidateInputTypes.filter(value => {\n   
  featureTestInput.setAttribute('type', value);\n    return featureTestInput.type === value;\n  }));\n\n  return supportedInputTypes;\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {Injectable} from '@angular/core';\n\n// Whether the current platform supports the V8 Break Iterator. The V8 check\n// is necessary to detect all Blink based browsers.\nconst hasV8BreakIterator = (typeof(Intl) !== 'undefined' && (Intl as any).v8BreakIterator);\n\n/**\n * Service to detect the current platform by comparing the userAgent strings and\n * checking browser-specific global properties.\n */\n@Injectable()\nexport class Platform {\n  /** Whether the Angular application is being rendered in the browser. */\n  isBrowser: boolean = typeof document === 'object' && !!document;\n\n  /** Whether the current browser is Microsoft E
 dge. */\n  EDGE: boolean = this.isBrowser && /(edge)/i.test(navigator.userAgent);\n\n  /** Whether the current rendering engine is Microsoft Trident. */\n  TRIDENT: boolean = this.isBrowser && /(msie|trident)/i.test(navigator.userAgent);\n\n  /** Whether the current rendering engine is Blink. */\n  // EdgeHTML and Trident mock Blink specific things and need to be excluded from this check.\n  BLINK: boolean = this.isBrowser &&\n      (!!((window as any).chrome || hasV8BreakIterator) && !!CSS && !this.EDGE && !this.TRIDENT);\n\n  /** Whether the current rendering engine is WebKit. */\n  // Webkit is part of the userAgent in EdgeHTML, Blink and Trident. Therefore we need to\n  // ensure that Webkit runs standalone and is not used as another engine's base.\n  WEBKIT: boolean = this.isBrowser &&\n      /AppleWebKit/i.test(navigator.userAgent) && !this.BLINK && !this.EDGE && !this.TRIDENT;\n\n  /** Whether the current platform is Apple iOS. */\n  IOS: boolean = this.isBrowser && /iPad|iPh
 one|iPod/.test(navigator.userAgent) &&\n      !(window as any).MSStream;\n\n  /** Whether the current browser is Firefox. */\n  // It's difficult to detect the plain Gecko engine, because most of the browsers identify\n  // them self as Gecko-like browsers and modify the userAgent's according to that.\n  // Since we only cover one explicit Firefox case, we can simply check for Firefox\n  // instead of having an unstable check for Gecko.\n  FIREFOX: boolean = this.isBrowser && /(firefox|minefield)/i.test(navigator.userAgent);\n\n  /** Whether the current platform is Android. */\n  // Trident on mobile adds the android platform to the userAgent to trick detections.\n  ANDROID: boolean = this.isBrowser && /android/i.test(navigator.userAgent) && !this.TRIDENT;\n\n  /** Whether the current browser is Safari. */\n  // Safari browsers will include the Safari keyword in their userAgent. Some browsers may fake\n  // this and just place the Safari keyword in the userAgent. To be more safe abo
 ut Safari every\n  // Safari browser should also use Webkit as its layout engine.\n  SAFARI: boolean = this.isBrowser && /safari/i.test(navigator.userAgent) && this.WEBKIT;\n}\n"],"names":["NgModule","Injectable"],"mappings":"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"}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/eec354e6/node_modules/@angular/cdk/bundles/cdk-platform.umd.min.js
----------------------------------------------------------------------
diff --git a/node_modules/@angular/cdk/bundles/cdk-platform.umd.min.js b/node_modules/@angular/cdk/bundles/cdk-platform.umd.min.js
new file mode 100644
index 0000000..737709d
--- /dev/null
+++ b/node_modules/@angular/cdk/bundles/cdk-platform.umd.min.js
@@ -0,0 +1,9 @@
+/**
+ * @license
+ * Copyright Google LLC All Rights Reserved.
+ *
+ * Use of this source code is governed by an MIT-style license that can be
+ * found in the LICENSE file at https://angular.io/license
+ */
+!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@angular/core")):"function"==typeof define&&define.amd?define(["exports","@angular/core"],t):t((e.ng=e.ng||{},e.ng.cdk=e.ng.cdk||{},e.ng.cdk.platform=e.ng.cdk.platform||{}),e.ng.core)}(this,function(e,t){"use strict";function r(){if(null==n&&"undefined"!=typeof window)try{window.addEventListener("test",null,Object.defineProperty({},"passive",{get:function(){return n=!0}}))}finally{n=n||!1}return n}function i(){if(s)return s;if("object"!=typeof document||!document)return s=new Set(a);var e=document.createElement("input");return s=new Set(a.filter(function(t){return e.setAttribute("type",t),e.type===t}))}var n,s,o="undefined"!=typeof Intl&&Intl.v8BreakIterator,u=function(){function e(){this.isBrowser="object"==typeof document&&!!document,this.EDGE=this.isBrowser&&/(edge)/i.test(navigator.userAgent),this.TRIDENT=this.isBrowser&&/(msie|trident)/i.test(navigator.userAgent),this.BLINK=this.isBrowser&&!(
 !window.chrome&&!o)&&!!CSS&&!this.EDGE&&!this.TRIDENT,this.WEBKIT=this.isBrowser&&/AppleWebKit/i.test(navigator.userAgent)&&!this.BLINK&&!this.EDGE&&!this.TRIDENT,this.IOS=this.isBrowser&&/iPad|iPhone|iPod/.test(navigator.userAgent)&&!window.MSStream,this.FIREFOX=this.isBrowser&&/(firefox|minefield)/i.test(navigator.userAgent),this.ANDROID=this.isBrowser&&/android/i.test(navigator.userAgent)&&!this.TRIDENT,this.SAFARI=this.isBrowser&&/safari/i.test(navigator.userAgent)&&this.WEBKIT}return e.decorators=[{type:t.Injectable}],e.ctorParameters=function(){return[]},e}(),a=["color","button","checkbox","date","datetime-local","email","file","hidden","image","month","number","password","radio","range","reset","search","submit","tel","text","time","url","week"],d=function(){function e(){}return e.decorators=[{type:t.NgModule,args:[{providers:[u]}]}],e.ctorParameters=function(){return[]},e}();e.Platform=u,e.supportsPassiveEventListeners=r,e.getSupportedInputTypes=i,e.PlatformModule=d,Object.d
 efineProperty(e,"__esModule",{value:!0})});
+//# sourceMappingURL=cdk-platform.umd.min.js.map

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/eec354e6/node_modules/@angular/cdk/bundles/cdk-platform.umd.min.js.map
----------------------------------------------------------------------
diff --git a/node_modules/@angular/cdk/bundles/cdk-platform.umd.min.js.map b/node_modules/@angular/cdk/bundles/cdk-platform.umd.min.js.map
new file mode 100644
index 0000000..5699869
--- /dev/null
+++ b/node_modules/@angular/cdk/bundles/cdk-platform.umd.min.js.map
@@ -0,0 +1 @@
+{"version":3,"file":"cdk-platform.umd.min.js","sources":["../../src/cdk/platform/features.ts","../../src/cdk/platform/platform.ts","../../src/cdk/platform/platform-module.ts"],"sourcesContent":["/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/** Cached result of whether the user's browser supports passive event listeners. */\nlet supportsPassiveEvents: boolean;\n\n/**\n * Checks whether the user's browser supports passive event listeners.\n * See: https://github.com/WICG/EventListenerOptions/blob/gh-pages/explainer.md\n */\nexport function supportsPassiveEventListeners(): boolean {\n  if (supportsPassiveEvents == null && typeof window !== 'undefined') {\n    try {\n      window.addEventListener('test', null!, Object.defineProperty({}, 'passive', {\n        get: () => supportsPassiveEvents = true\n      }));\n    } finally
  {\n      supportsPassiveEvents = supportsPassiveEvents || false;\n    }\n  }\n\n  return supportsPassiveEvents;\n}\n\n/** Cached result Set of input types support by the current browser. */\nlet supportedInputTypes: Set<string>;\n\n/** Types of `<input>` that *might* be supported. */\nconst candidateInputTypes = [\n  // `color` must come first. Chrome 56 shows a warning if we change the type to `color` after\n  // first changing it to something else:\n  // The specified value \"\" does not conform to the required format.\n  // The format is \"#rrggbb\" where rr, gg, bb are two-digit hexadecimal numbers.\n  'color',\n  'button',\n  'checkbox',\n  'date',\n  'datetime-local',\n  'email',\n  'file',\n  'hidden',\n  'image',\n  'month',\n  'number',\n  'password',\n  'radio',\n  'range',\n  'reset',\n  'search',\n  'submit',\n  'tel',\n  'text',\n  'time',\n  'url',\n  'week',\n];\n\n/** @returns The input types supported by this browser. */\nexport function getSupportedInputTypes(): S
 et<string> {\n  // Result is cached.\n  if (supportedInputTypes) {\n    return supportedInputTypes;\n  }\n\n  // We can't check if an input type is not supported until we're on the browser, so say that\n  // everything is supported when not on the browser. We don't use `Platform` here since it's\n  // just a helper function and can't inject it.\n  if (typeof document !== 'object' || !document) {\n    supportedInputTypes = new Set(candidateInputTypes);\n    return supportedInputTypes;\n  }\n\n  let featureTestInput = document.createElement('input');\n  supportedInputTypes = new Set(candidateInputTypes.filter(value => {\n    featureTestInput.setAttribute('type', value);\n    return featureTestInput.type === value;\n  }));\n\n  return supportedInputTypes;\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {Injectab
 le} from '@angular/core';\n\n// Whether the current platform supports the V8 Break Iterator. The V8 check\n// is necessary to detect all Blink based browsers.\nconst hasV8BreakIterator = (typeof(Intl) !== 'undefined' && (Intl as any).v8BreakIterator);\n\n/**\n * Service to detect the current platform by comparing the userAgent strings and\n * checking browser-specific global properties.\n */\n@Injectable()\nexport class Platform {\n  /** Whether the Angular application is being rendered in the browser. */\n  isBrowser: boolean = typeof document === 'object' && !!document;\n\n  /** Whether the current browser is Microsoft Edge. */\n  EDGE: boolean = this.isBrowser && /(edge)/i.test(navigator.userAgent);\n\n  /** Whether the current rendering engine is Microsoft Trident. */\n  TRIDENT: boolean = this.isBrowser && /(msie|trident)/i.test(navigator.userAgent);\n\n  /** Whether the current rendering engine is Blink. */\n  // EdgeHTML and Trident mock Blink specific things and need to be e
 xcluded from this check.\n  BLINK: boolean = this.isBrowser &&\n      (!!((window as any).chrome || hasV8BreakIterator) && !!CSS && !this.EDGE && !this.TRIDENT);\n\n  /** Whether the current rendering engine is WebKit. */\n  // Webkit is part of the userAgent in EdgeHTML, Blink and Trident. Therefore we need to\n  // ensure that Webkit runs standalone and is not used as another engine's base.\n  WEBKIT: boolean = this.isBrowser &&\n      /AppleWebKit/i.test(navigator.userAgent) && !this.BLINK && !this.EDGE && !this.TRIDENT;\n\n  /** Whether the current platform is Apple iOS. */\n  IOS: boolean = this.isBrowser && /iPad|iPhone|iPod/.test(navigator.userAgent) &&\n      !(window as any).MSStream;\n\n  /** Whether the current browser is Firefox. */\n  // It's difficult to detect the plain Gecko engine, because most of the browsers identify\n  // them self as Gecko-like browsers and modify the userAgent's according to that.\n  // Since we only cover one explicit Firefox case, we can simp
 ly check for Firefox\n  // instead of having an unstable check for Gecko.\n  FIREFOX: boolean = this.isBrowser && /(firefox|minefield)/i.test(navigator.userAgent);\n\n  /** Whether the current platform is Android. */\n  // Trident on mobile adds the android platform to the userAgent to trick detections.\n  ANDROID: boolean = this.isBrowser && /android/i.test(navigator.userAgent) && !this.TRIDENT;\n\n  /** Whether the current browser is Safari. */\n  // Safari browsers will include the Safari keyword in their userAgent. Some browsers may fake\n  // this and just place the Safari keyword in the userAgent. To be more safe about Safari every\n  // Safari browser should also use Webkit as its layout engine.\n  SAFARI: boolean = this.isBrowser && /safari/i.test(navigator.userAgent) && this.WEBKIT;\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://ang
 ular.io/license\n */\n\nimport {NgModule} from '@angular/core';\nimport {Platform} from './platform';\n\n\n@NgModule({\n  providers: [Platform]\n})\nexport class PlatformModule {}\n"],"names":["supportsPassiveEventListeners","supportsPassiveEvents","window","addEventListener","Object","defineProperty","get","getSupportedInputTypes","supportedInputTypes","document","Set","candidateInputTypes","featureTestInput","createElement","filter","value","setAttribute","type","hasV8BreakIterator","v8BreakIterator","this","isBrowser","EDGE","test","navigator","userAgent","TRIDENT","BLINK","chrome","CSS","WEBKIT","IOS","MSStream","FIREFOX","ANDROID","SAFARI","Injectable","Platform","PlatformModule","NgModule","args","providers"],"mappings":";;;;;;;+SAeA,SAAAA,KACE,GAA6B,MAAzBC,GAAmD,mBAAXC,QAC1C,IACEA,OAAOC,iBAAiB,OAAM,KAASC,OAAOC,kBAAmB,WAC/DC,IAAK,WAAM,MAAAL,IAAwB,cAGrCA,EAAwBA,IAAyB,EAIrD,MAAOA,GAqCT,QAAAM,KAEE,GAAIC,EACF,MAAOA,EAMT,IAAwB,gBAAbC,YAA0BA,SAEnC,MADAD,GAAsB,GAAIE,KAAIC,EAIhC,IAAIC
 ,GAAmBH,SAASI,cAAc,QAM9C,OALAL,GAAsB,GAAIE,KAAIC,EAAoBG,OAAO,SAAAC,GAEvD,MADAH,GAAiBI,aAAa,OAAQD,GAC/BH,EAAiBK,OAASF,KCpErC,GDHId,GAqBAO,EClBEU,EAAuC,mBAAjB,OAAgC,KAAcC,0CAS1EC,KAAAC,UAA2C,gBAAbZ,aAA2BA,SAGzDW,KAAAE,KAAkBF,KAAKC,WAAa,UAAUE,KAAKC,UAAUC,WAG7DL,KAAAM,QAAqBN,KAAKC,WAAa,kBAAkBE,KAAKC,UAAUC,WAIxEL,KAAAO,MAAmBP,KAAKC,cACd,OAAgBO,SAAUV,MAAyBW,MAAQT,KAAKE,OAASF,KAAKM,QAKxFN,KAAAU,OAAoBV,KAAKC,WACnB,eAAeE,KAAKC,UAAUC,aAAeL,KAAKO,QAAUP,KAAKE,OAASF,KAAKM,QAGrFN,KAAAW,IAAiBX,KAAKC,WAAa,mBAAmBE,KAAKC,UAAUC,aAC9D,OAAgBO,SAOvBZ,KAAAa,QAAqBb,KAAKC,WAAa,uBAAuBE,KAAKC,UAAUC,WAI7EL,KAAAc,QAAqBd,KAAKC,WAAa,WAAWE,KAAKC,UAAUC,aAAeL,KAAKM,QAMrFN,KAAAe,OAAoBf,KAAKC,WAAa,UAAUE,KAAKC,UAAUC,YAAcL,KAAKU,OA3DlF,sBAkBAb,KAACmB,EAAAA,mDAlBDC,KDiCM1B,GAKJ,QACA,SACA,WACA,OACA,iBACA,QACA,OACA,SACA,QACA,QACA,SACA,WACA,QACA,QACA,QACA,SACA,SACA,MACA,OACA,OACA,MACA,QEnDF2B,EAAA,yBARA,sBAYArB,KAACsB,EAAAA,SAADC,OACEC,WAAYJ,6CAbdC"}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/eec354e6/node_modules/@angular/cdk/bundles/cdk-portal.umd.js
----------------------------------------------------------------------
diff --git a/node_modules/@angular/cdk/bundles/cdk-portal.umd.js b/node_modules/@angular/cdk/bundles/cdk-portal.umd.js
new file mode 100644
index 0000000..68e9310
--- /dev/null
+++ b/node_modules/@angular/cdk/bundles/cdk-portal.umd.js
@@ -0,0 +1,799 @@
+/**
+ * @license
+ * Copyright Google LLC All Rights Reserved.
+ *
+ * Use of this source code is governed by an MIT-style license that can be
+ * found in the LICENSE file at https://angular.io/license
+ */
+(function (global, factory) {
+	typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/core')) :
+	typeof define === 'function' && define.amd ? define(['exports', '@angular/core'], factory) :
+	(factory((global.ng = global.ng || {}, global.ng.cdk = global.ng.cdk || {}, global.ng.cdk.portal = global.ng.cdk.portal || {}),global.ng.core));
+}(this, (function (exports,_angular_core) { 'use strict';
+
+/*! *****************************************************************************
+Copyright (c) Microsoft Corporation. All rights reserved.
+Licensed under the Apache License, Version 2.0 (the "License"); you may not use
+this file except in compliance with the License. You may obtain a copy of the
+License at http://www.apache.org/licenses/LICENSE-2.0
+
+THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED
+WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,
+MERCHANTABLITY OR NON-INFRINGEMENT.
+
+See the Apache Version 2.0 License for specific language governing permissions
+and limitations under the License.
+***************************************************************************** */
+/* global Reflect, Promise */
+
+var extendStatics = Object.setPrototypeOf ||
+    ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
+    function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
+
+function __extends(d, b) {
+    extendStatics(d, b);
+    function __() { this.constructor = d; }
+    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
+}
+
+/**
+ * @fileoverview added by tsickle
+ * @suppress {checkTypes} checked by tsc
+ */
+
+/**
+ * Throws an exception when attempting to attach a null portal to a host.
+ * \@docs-private
+ * @return {?}
+ */
+function throwNullPortalError() {
+    throw Error('Must provide a portal to attach');
+}
+/**
+ * Throws an exception when attempting to attach a portal to a host that is already attached.
+ * \@docs-private
+ * @return {?}
+ */
+function throwPortalAlreadyAttachedError() {
+    throw Error('Host already has a portal attached');
+}
+/**
+ * Throws an exception when attempting to attach a portal to an already-disposed host.
+ * \@docs-private
+ * @return {?}
+ */
+function throwPortalOutletAlreadyDisposedError() {
+    throw Error('This PortalOutlet has already been disposed');
+}
+/**
+ * Throws an exception when attempting to attach an unknown portal type.
+ * \@docs-private
+ * @return {?}
+ */
+function throwUnknownPortalTypeError() {
+    throw Error('Attempting to attach an unknown Portal type. BasePortalOutlet accepts either ' +
+        'a ComponentPortal or a TemplatePortal.');
+}
+/**
+ * Throws an exception when attempting to attach a portal to a null host.
+ * \@docs-private
+ * @return {?}
+ */
+function throwNullPortalOutletError() {
+    throw Error('Attempting to attach a portal to a null PortalOutlet');
+}
+/**
+ * Throws an exception when attempting to detach a portal that is not attached.
+ * \@docs-private
+ * @return {?}
+ */
+function throwNoPortalAttachedError() {
+    throw Error('Attempting to detach a portal that is not attached to a host');
+}
+
+/**
+ * @fileoverview added by tsickle
+ * @suppress {checkTypes} checked by tsc
+ */
+
+/**
+ * Interface that can be used to generically type a class.
+ * @record
+ */
+
+/**
+ * A `Portal` is something that you want to render somewhere else.
+ * It can be attach to / detached from a `PortalOutlet`.
+ * @abstract
+ */
+var Portal = /** @class */ (function () {
+    function Portal() {
+    }
+    /** Attach this portal to a host. */
+    /**
+     * Attach this portal to a host.
+     * @param {?} host
+     * @return {?}
+     */
+    Portal.prototype.attach = /**
+     * Attach this portal to a host.
+     * @param {?} host
+     * @return {?}
+     */
+    function (host) {
+        if (host == null) {
+            throwNullPortalOutletError();
+        }
+        if (host.hasAttached()) {
+            throwPortalAlreadyAttachedError();
+        }
+        this._attachedHost = host;
+        return /** @type {?} */ (host.attach(this));
+    };
+    /** Detach this portal from its host */
+    /**
+     * Detach this portal from its host
+     * @return {?}
+     */
+    Portal.prototype.detach = /**
+     * Detach this portal from its host
+     * @return {?}
+     */
+    function () {
+        var /** @type {?} */ host = this._attachedHost;
+        if (host == null) {
+            throwNoPortalAttachedError();
+        }
+        else {
+            this._attachedHost = null;
+            host.detach();
+        }
+    };
+    Object.defineProperty(Portal.prototype, "isAttached", {
+        /** Whether this portal is attached to a host. */
+        get: /**
+         * Whether this portal is attached to a host.
+         * @return {?}
+         */
+        function () {
+            return this._attachedHost != null;
+        },
+        enumerable: true,
+        configurable: true
+    });
+    /**
+     * Sets the PortalOutlet reference without performing `attach()`. This is used directly by
+     * the PortalOutlet when it is performing an `attach()` or `detach()`.
+     */
+    /**
+     * Sets the PortalOutlet reference without performing `attach()`. This is used directly by
+     * the PortalOutlet when it is performing an `attach()` or `detach()`.
+     * @param {?} host
+     * @return {?}
+     */
+    Portal.prototype.setAttachedHost = /**
+     * Sets the PortalOutlet reference without performing `attach()`. This is used directly by
+     * the PortalOutlet when it is performing an `attach()` or `detach()`.
+     * @param {?} host
+     * @return {?}
+     */
+    function (host) {
+        this._attachedHost = host;
+    };
+    return Portal;
+}());
+/**
+ * A `ComponentPortal` is a portal that instantiates some Component upon attachment.
+ */
+var ComponentPortal = /** @class */ (function (_super) {
+    __extends(ComponentPortal, _super);
+    function ComponentPortal(component, viewContainerRef, injector) {
+        var _this = _super.call(this) || this;
+        _this.component = component;
+        _this.viewContainerRef = viewContainerRef;
+        _this.injector = injector;
+        return _this;
+    }
+    return ComponentPortal;
+}(Portal));
+/**
+ * A `TemplatePortal` is a portal that represents some embedded template (TemplateRef).
+ */
+var TemplatePortal = /** @class */ (function (_super) {
+    __extends(TemplatePortal, _super);
+    function TemplatePortal(template, viewContainerRef, context) {
+        var _this = _super.call(this) || this;
+        _this.templateRef = template;
+        _this.viewContainerRef = viewContainerRef;
+        _this.context = context;
+        return _this;
+    }
+    Object.defineProperty(TemplatePortal.prototype, "origin", {
+        get: /**
+         * @return {?}
+         */
+        function () {
+            return this.templateRef.elementRef;
+        },
+        enumerable: true,
+        configurable: true
+    });
+    /**
+     * Attach the the portal to the provided `PortalOutlet`.
+     * When a context is provided it will override the `context` property of the `TemplatePortal`
+     * instance.
+     */
+    /**
+     * Attach the the portal to the provided `PortalOutlet`.
+     * When a context is provided it will override the `context` property of the `TemplatePortal`
+     * instance.
+     * @param {?} host
+     * @param {?=} context
+     * @return {?}
+     */
+    TemplatePortal.prototype.attach = /**
+     * Attach the the portal to the provided `PortalOutlet`.
+     * When a context is provided it will override the `context` property of the `TemplatePortal`
+     * instance.
+     * @param {?} host
+     * @param {?=} context
+     * @return {?}
+     */
+    function (host, context) {
+        if (context === void 0) { context = this.context; }
+        this.context = context;
+        return _super.prototype.attach.call(this, host);
+    };
+    /**
+     * @return {?}
+     */
+    TemplatePortal.prototype.detach = /**
+     * @return {?}
+     */
+    function () {
+        this.context = undefined;
+        return _super.prototype.detach.call(this);
+    };
+    return TemplatePortal;
+}(Portal));
+/**
+ * A `PortalOutlet` is an space that can contain a single `Portal`.
+ * @record
+ */
+
+/**
+ * Partial implementation of PortalOutlet that handles attaching
+ * ComponentPortal and TemplatePortal.
+ * @abstract
+ */
+var BasePortalOutlet = /** @class */ (function () {
+    function BasePortalOutlet() {
+        /**
+         * Whether this host has already been permanently disposed.
+         */
+        this._isDisposed = false;
+    }
+    /** Whether this host has an attached portal. */
+    /**
+     * Whether this host has an attached portal.
+     * @return {?}
+     */
+    BasePortalOutlet.prototype.hasAttached = /**
+     * Whether this host has an attached portal.
+     * @return {?}
+     */
+    function () {
+        return !!this._attachedPortal;
+    };
+    /** Attaches a portal. */
+    /**
+     * Attaches a portal.
+     * @param {?} portal
+     * @return {?}
+     */
+    BasePortalOutlet.prototype.attach = /**
+     * Attaches a portal.
+     * @param {?} portal
+     * @return {?}
+     */
+    function (portal) {
+        if (!portal) {
+            throwNullPortalError();
+        }
+        if (this.hasAttached()) {
+            throwPortalAlreadyAttachedError();
+        }
+        if (this._isDisposed) {
+            throwPortalOutletAlreadyDisposedError();
+        }
+        if (portal instanceof ComponentPortal) {
+            this._attachedPortal = portal;
+            return this.attachComponentPortal(portal);
+        }
+        else if (portal instanceof TemplatePortal) {
+            this._attachedPortal = portal;
+            return this.attachTemplatePortal(portal);
+        }
+        throwUnknownPortalTypeError();
+    };
+    /** Detaches a previously attached portal. */
+    /**
+     * Detaches a previously attached portal.
+     * @return {?}
+     */
+    BasePortalOutlet.prototype.detach = /**
+     * Detaches a previously attached portal.
+     * @return {?}
+     */
+    function () {
+        if (this._attachedPortal) {
+            this._attachedPortal.setAttachedHost(null);
+            this._attachedPortal = null;
+        }
+        this._invokeDisposeFn();
+    };
+    /** Permanently dispose of this portal host. */
+    /**
+     * Permanently dispose of this portal host.
+     * @return {?}
+     */
+    BasePortalOutlet.prototype.dispose = /**
+     * Permanently dispose of this portal host.
+     * @return {?}
+     */
+    function () {
+        if (this.hasAttached()) {
+            this.detach();
+        }
+        this._invokeDisposeFn();
+        this._isDisposed = true;
+    };
+    /** @docs-private */
+    /**
+     * \@docs-private
+     * @param {?} fn
+     * @return {?}
+     */
+    BasePortalOutlet.prototype.setDisposeFn = /**
+     * \@docs-private
+     * @param {?} fn
+     * @return {?}
+     */
+    function (fn) {
+        this._disposeFn = fn;
+    };
+    /**
+     * @return {?}
+     */
+    BasePortalOutlet.prototype._invokeDisposeFn = /**
+     * @return {?}
+     */
+    function () {
+        if (this._disposeFn) {
+            this._disposeFn();
+            this._disposeFn = null;
+        }
+    };
+    return BasePortalOutlet;
+}());
+
+/**
+ * @fileoverview added by tsickle
+ * @suppress {checkTypes} checked by tsc
+ */
+
+/**
+ * A PortalOutlet for attaching portals to an arbitrary DOM element outside of the Angular
+ * application context.
+ */
+var DomPortalOutlet = /** @class */ (function (_super) {
+    __extends(DomPortalOutlet, _super);
+    function DomPortalOutlet(outletElement, _componentFactoryResolver, _appRef, _defaultInjector) {
+        var _this = _super.call(this) || this;
+        _this.outletElement = outletElement;
+        _this._componentFactoryResolver = _componentFactoryResolver;
+        _this._appRef = _appRef;
+        _this._defaultInjector = _defaultInjector;
+        return _this;
+    }
+    /**
+     * Attach the given ComponentPortal to DOM element using the ComponentFactoryResolver.
+     * @param portal Portal to be attached
+     * @returns Reference to the created component.
+     */
+    /**
+     * Attach the given ComponentPortal to DOM element using the ComponentFactoryResolver.
+     * @template T
+     * @param {?} portal Portal to be attached
+     * @return {?} Reference to the created component.
+     */
+    DomPortalOutlet.prototype.attachComponentPortal = /**
+     * Attach the given ComponentPortal to DOM element using the ComponentFactoryResolver.
+     * @template T
+     * @param {?} portal Portal to be attached
+     * @return {?} Reference to the created component.
+     */
+    function (portal) {
+        var _this = this;
+        var /** @type {?} */ componentFactory = this._componentFactoryResolver.resolveComponentFactory(portal.component);
+        var /** @type {?} */ componentRef;
+        // If the portal specifies a ViewContainerRef, we will use that as the attachment point
+        // for the component (in terms of Angular's component tree, not rendering).
+        // When the ViewContainerRef is missing, we use the factory to create the component directly
+        // and then manually attach the view to the application.
+        if (portal.viewContainerRef) {
+            componentRef = portal.viewContainerRef.createComponent(componentFactory, portal.viewContainerRef.length, portal.injector || portal.viewContainerRef.parentInjector);
+            this.setDisposeFn(function () { return componentRef.destroy(); });
+        }
+        else {
+            componentRef = componentFactory.create(portal.injector || this._defaultInjector);
+            this._appRef.attachView(componentRef.hostView);
+            this.setDisposeFn(function () {
+                _this._appRef.detachView(componentRef.hostView);
+                componentRef.destroy();
+            });
+        }
+        // At this point the component has been instantiated, so we move it to the location in the DOM
+        // where we want it to be rendered.
+        this.outletElement.appendChild(this._getComponentRootNode(componentRef));
+        return componentRef;
+    };
+    /**
+     * Attaches a template portal to the DOM as an embedded view.
+     * @param portal Portal to be attached.
+     * @returns Reference to the created embedded view.
+     */
+    /**
+     * Attaches a template portal to the DOM as an embedded view.
+     * @template C
+     * @param {?} portal Portal to be attached.
+     * @return {?} Reference to the created embedded view.
+     */
+    DomPortalOutlet.prototype.attachTemplatePortal = /**
+     * Attaches a template portal to the DOM as an embedded view.
+     * @template C
+     * @param {?} portal Portal to be attached.
+     * @return {?} Reference to the created embedded view.
+     */
+    function (portal) {
+        var _this = this;
+        var /** @type {?} */ viewContainer = portal.viewContainerRef;
+        var /** @type {?} */ viewRef = viewContainer.createEmbeddedView(portal.templateRef, portal.context);
+        viewRef.detectChanges();
+        // The method `createEmbeddedView` will add the view as a child of the viewContainer.
+        // But for the DomPortalOutlet the view can be added everywhere in the DOM
+        // (e.g Overlay Container) To move the view to the specified host element. We just
+        // re-append the existing root nodes.
+        viewRef.rootNodes.forEach(function (rootNode) { return _this.outletElement.appendChild(rootNode); });
+        this.setDisposeFn((function () {
+            var /** @type {?} */ index = viewContainer.indexOf(viewRef);
+            if (index !== -1) {
+                viewContainer.remove(index);
+            }
+        }));
+        // TODO(jelbourn): Return locals from view.
+        return viewRef;
+    };
+    /**
+     * Clears out a portal from the DOM.
+     */
+    /**
+     * Clears out a portal from the DOM.
+     * @return {?}
+     */
+    DomPortalOutlet.prototype.dispose = /**
+     * Clears out a portal from the DOM.
+     * @return {?}
+     */
+    function () {
+        _super.prototype.dispose.call(this);
+        if (this.outletElement.parentNode != null) {
+            this.outletElement.parentNode.removeChild(this.outletElement);
+        }
+    };
+    /**
+     * Gets the root HTMLElement for an instantiated component.
+     * @param {?} componentRef
+     * @return {?}
+     */
+    DomPortalOutlet.prototype._getComponentRootNode = /**
+     * Gets the root HTMLElement for an instantiated component.
+     * @param {?} componentRef
+     * @return {?}
+     */
+    function (componentRef) {
+        return /** @type {?} */ ((/** @type {?} */ (componentRef.hostView)).rootNodes[0]);
+    };
+    return DomPortalOutlet;
+}(BasePortalOutlet));
+
+/**
+ * @fileoverview added by tsickle
+ * @suppress {checkTypes} checked by tsc
+ */
+
+/**
+ * Directive version of a `TemplatePortal`. Because the directive *is* a TemplatePortal,
+ * the directive instance itself can be attached to a host, enabling declarative use of portals.
+ */
+var CdkPortal = /** @class */ (function (_super) {
+    __extends(CdkPortal, _super);
+    function CdkPortal(templateRef, viewContainerRef) {
+        return _super.call(this, templateRef, viewContainerRef) || this;
+    }
+    CdkPortal.decorators = [
+        { type: _angular_core.Directive, args: [{
+                    selector: '[cdk-portal], [cdkPortal], [portal]',
+                    exportAs: 'cdkPortal',
+                },] },
+    ];
+    /** @nocollapse */
+    CdkPortal.ctorParameters = function () { return [
+        { type: _angular_core.TemplateRef, },
+        { type: _angular_core.ViewContainerRef, },
+    ]; };
+    return CdkPortal;
+}(TemplatePortal));
+/**
+ * Directive version of a PortalOutlet. Because the directive *is* a PortalOutlet, portals can be
+ * directly attached to it, enabling declarative use.
+ *
+ * Usage:
+ * `<ng-template [cdkPortalOutlet]="greeting"></ng-template>`
+ */
+var CdkPortalOutlet = /** @class */ (function (_super) {
+    __extends(CdkPortalOutlet, _super);
+    function CdkPortalOutlet(_componentFactoryResolver, _viewContainerRef) {
+        var _this = _super.call(this) || this;
+        _this._componentFactoryResolver = _componentFactoryResolver;
+        _this._viewContainerRef = _viewContainerRef;
+        /**
+         * Whether the portal component is initialized.
+         */
+        _this._isInitialized = false;
+        _this.attached = new _angular_core.EventEmitter();
+        return _this;
+    }
+    Object.defineProperty(CdkPortalOutlet.prototype, "_deprecatedPortal", {
+        get: /**
+         * @deprecated
+         * \@deletion-target 6.0.0
+         * @return {?}
+         */
+        function () { return this.portal; },
+        set: /**
+         * @param {?} v
+         * @return {?}
+         */
+        function (v) { this.portal = v; },
+        enumerable: true,
+        configurable: true
+    });
+    Object.defineProperty(CdkPortalOutlet.prototype, "_deprecatedPortalHost", {
+        get: /**
+         * @deprecated
+         * \@deletion-target 6.0.0
+         * @return {?}
+         */
+        function () { return this.portal; },
+        set: /**
+         * @param {?} v
+         * @return {?}
+         */
+        function (v) { this.portal = v; },
+        enumerable: true,
+        configurable: true
+    });
+    Object.defineProperty(CdkPortalOutlet.prototype, "portal", {
+        /** Portal associated with the Portal outlet. */
+        get: /**
+         * Portal associated with the Portal outlet.
+         * @return {?}
+         */
+        function () {
+            return this._attachedPortal;
+        },
+        set: /**
+         * @param {?} portal
+         * @return {?}
+         */
+        function (portal) {
+            // Ignore the cases where the `portal` is set to a falsy value before the lifecycle hooks have
+            // run. This handles the cases where the user might do something like `<div cdkPortalOutlet>`
+            // and attach a portal programmatically in the parent component. When Angular does the first CD
+            // round, it will fire the setter with empty string, causing the user's content to be cleared.
+            if (this.hasAttached() && !portal && !this._isInitialized) {
+                return;
+            }
+            if (this.hasAttached()) {
+                _super.prototype.detach.call(this);
+            }
+            if (portal) {
+                _super.prototype.attach.call(this, portal);
+            }
+            this._attachedPortal = portal;
+        },
+        enumerable: true,
+        configurable: true
+    });
+    Object.defineProperty(CdkPortalOutlet.prototype, "attachedRef", {
+        /** Component or view reference that is attached to the portal. */
+        get: /**
+         * Component or view reference that is attached to the portal.
+         * @return {?}
+         */
+        function () {
+            return this._attachedRef;
+        },
+        enumerable: true,
+        configurable: true
+    });
+    /**
+     * @return {?}
+     */
+    CdkPortalOutlet.prototype.ngOnInit = /**
+     * @return {?}
+     */
+    function () {
+        this._isInitialized = true;
+    };
+    /**
+     * @return {?}
+     */
+    CdkPortalOutlet.prototype.ngOnDestroy = /**
+     * @return {?}
+     */
+    function () {
+        _super.prototype.dispose.call(this);
+        this._attachedPortal = null;
+        this._attachedRef = null;
+    };
+    /**
+     * Attach the given ComponentPortal to this PortalOutlet using the ComponentFactoryResolver.
+     *
+     * @param portal Portal to be attached to the portal outlet.
+     * @returns Reference to the created component.
+     */
+    /**
+     * Attach the given ComponentPortal to this PortalOutlet using the ComponentFactoryResolver.
+     *
+     * @template T
+     * @param {?} portal Portal to be attached to the portal outlet.
+     * @return {?} Reference to the created component.
+     */
+    CdkPortalOutlet.prototype.attachComponentPortal = /**
+     * Attach the given ComponentPortal to this PortalOutlet using the ComponentFactoryResolver.
+     *
+     * @template T
+     * @param {?} portal Portal to be attached to the portal outlet.
+     * @return {?} Reference to the created component.
+     */
+    function (portal) {
+        portal.setAttachedHost(this);
+        // If the portal specifies an origin, use that as the logical location of the component
+        // in the application tree. Otherwise use the location of this PortalOutlet.
+        var /** @type {?} */ viewContainerRef = portal.viewContainerRef != null ?
+            portal.viewContainerRef :
+            this._viewContainerRef;
+        var /** @type {?} */ componentFactory = this._componentFactoryResolver.resolveComponentFactory(portal.component);
+        var /** @type {?} */ ref = viewContainerRef.createComponent(componentFactory, viewContainerRef.length, portal.injector || viewContainerRef.parentInjector);
+        _super.prototype.setDisposeFn.call(this, function () { return ref.destroy(); });
+        this._attachedPortal = portal;
+        this._attachedRef = ref;
+        this.attached.emit(ref);
+        return ref;
+    };
+    /**
+     * Attach the given TemplatePortal to this PortlHost as an embedded View.
+     * @param portal Portal to be attached.
+     * @returns Reference to the created embedded view.
+     */
+    /**
+     * Attach the given TemplatePortal to this PortlHost as an embedded View.
+     * @template C
+     * @param {?} portal Portal to be attached.
+     * @return {?} Reference to the created embedded view.
+     */
+    CdkPortalOutlet.prototype.attachTemplatePortal = /**
+     * Attach the given TemplatePortal to this PortlHost as an embedded View.
+     * @template C
+     * @param {?} portal Portal to be attached.
+     * @return {?} Reference to the created embedded view.
+     */
+    function (portal) {
+        var _this = this;
+        portal.setAttachedHost(this);
+        var /** @type {?} */ viewRef = this._viewContainerRef.createEmbeddedView(portal.templateRef, portal.context);
+        _super.prototype.setDisposeFn.call(this, function () { return _this._viewContainerRef.clear(); });
+        this._attachedPortal = portal;
+        this._attachedRef = viewRef;
+        this.attached.emit(viewRef);
+        return viewRef;
+    };
+    CdkPortalOutlet.decorators = [
+        { type: _angular_core.Directive, args: [{
+                    selector: '[cdkPortalOutlet], [cdkPortalHost], [portalHost]',
+                    exportAs: 'cdkPortalOutlet, cdkPortalHost',
+                    inputs: ['portal: cdkPortalOutlet']
+                },] },
+    ];
+    /** @nocollapse */
+    CdkPortalOutlet.ctorParameters = function () { return [
+        { type: _angular_core.ComponentFactoryResolver, },
+        { type: _angular_core.ViewContainerRef, },
+    ]; };
+    CdkPortalOutlet.propDecorators = {
+        "_deprecatedPortal": [{ type: _angular_core.Input, args: ['portalHost',] },],
+        "_deprecatedPortalHost": [{ type: _angular_core.Input, args: ['cdkPortalHost',] },],
+        "attached": [{ type: _angular_core.Output, args: ['attached',] },],
+    };
+    return CdkPortalOutlet;
+}(BasePortalOutlet));
+var PortalModule = /** @class */ (function () {
+    function PortalModule() {
+    }
+    PortalModule.decorators = [
+        { type: _angular_core.NgModule, args: [{
+                    exports: [CdkPortal, CdkPortalOutlet],
+                    declarations: [CdkPortal, CdkPortalOutlet],
+                },] },
+    ];
+    /** @nocollapse */
+    PortalModule.ctorParameters = function () { return []; };
+    return PortalModule;
+}());
+
+/**
+ * @fileoverview added by tsickle
+ * @suppress {checkTypes} checked by tsc
+ */
+
+/**
+ * Custom injector to be used when providing custom
+ * injection tokens to components inside a portal.
+ * \@docs-private
+ */
+var PortalInjector = /** @class */ (function () {
+    function PortalInjector(_parentInjector, _customTokens) {
+        this._parentInjector = _parentInjector;
+        this._customTokens = _customTokens;
+    }
+    /**
+     * @param {?} token
+     * @param {?=} notFoundValue
+     * @return {?}
+     */
+    PortalInjector.prototype.get = /**
+     * @param {?} token
+     * @param {?=} notFoundValue
+     * @return {?}
+     */
+    function (token, notFoundValue) {
+        var /** @type {?} */ value = this._customTokens.get(token);
+        if (typeof value !== 'undefined') {
+            return value;
+        }
+        return this._parentInjector.get(token, notFoundValue);
+    };
+    return PortalInjector;
+}());
+
+exports.DomPortalHost = DomPortalOutlet;
+exports.PortalHostDirective = CdkPortalOutlet;
+exports.TemplatePortalDirective = CdkPortal;
+exports.BasePortalHost = BasePortalOutlet;
+exports.Portal = Portal;
+exports.ComponentPortal = ComponentPortal;
+exports.TemplatePortal = TemplatePortal;
+exports.BasePortalOutlet = BasePortalOutlet;
+exports.DomPortalOutlet = DomPortalOutlet;
+exports.CdkPortal = CdkPortal;
+exports.CdkPortalOutlet = CdkPortalOutlet;
+exports.PortalModule = PortalModule;
+exports.PortalInjector = PortalInjector;
+
+Object.defineProperty(exports, '__esModule', { value: true });
+
+})));
+//# sourceMappingURL=cdk-portal.umd.js.map


[38/59] [abbrv] [partial] nifi-fds git commit: update gh-pages

Posted by sc...@apache.org.
http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/eec354e6/node_modules/@angular/animations/bundles/animations.umd.js.map
----------------------------------------------------------------------
diff --git a/node_modules/@angular/animations/bundles/animations.umd.js.map b/node_modules/@angular/animations/bundles/animations.umd.js.map
new file mode 100644
index 0000000..f59ff0a
--- /dev/null
+++ b/node_modules/@angular/animations/bundles/animations.umd.js.map
@@ -0,0 +1 @@
+{"version":3,"file":"animations.umd.js","sources":["../../../packages/animations/esm5/src/animation_builder.js","../../../packages/animations/esm5/src/animation_metadata.js","../../../packages/animations/esm5/src/util.js","../../../packages/animations/esm5/src/players/animation_player.js","../../../packages/animations/esm5/src/players/animation_group_player.js","../../../packages/animations/esm5/src/private_export.js"],"sourcesContent":["/**\n * @fileoverview added by tsickle\n * @suppress {checkTypes} checked by tsc\n */\n/**\n * AnimationBuilder is an injectable service that is available when the {\\@link\n * BrowserAnimationsModule BrowserAnimationsModule} or {\\@link NoopAnimationsModule\n * NoopAnimationsModule} modules are used within an application.\n *\n * The purpose if this service is to produce an animation sequence programmatically within an\n * angular component or directive.\n *\n * Programmatic animations are first built and then a player is created when the build ani
 mation is\n * attached to an element.\n *\n * ```ts\n * // remember to include the BrowserAnimationsModule module for this to work...\n * import {AnimationBuilder} from '\\@angular/animations';\n *\n * class MyCmp {\n *   constructor(private _builder: AnimationBuilder) {}\n *\n *   makeAnimation(element: any) {\n *     // first build the animation\n *     const myAnimation = this._builder.build([\n *       style({ width: 0 }),\n *       animate(1000, style({ width: '100px' }))\n *     ]);\n *\n *     // then create a player from it\n *     const player = myAnimation.create(element);\n *\n *     player.play();\n *   }\n * }\n * ```\n *\n * When an animation is built an instance of {\\@link AnimationFactory AnimationFactory} will be\n * returned. Using that an {\\@link AnimationPlayer AnimationPlayer} can be created which can then be\n * used to start the animation.\n *\n * \\@experimental Animation support is experimental.\n * @abstract\n */\nvar /**\n * AnimationBuilder is an inject
 able service that is available when the {\\@link\n * BrowserAnimationsModule BrowserAnimationsModule} or {\\@link NoopAnimationsModule\n * NoopAnimationsModule} modules are used within an application.\n *\n * The purpose if this service is to produce an animation sequence programmatically within an\n * angular component or directive.\n *\n * Programmatic animations are first built and then a player is created when the build animation is\n * attached to an element.\n *\n * ```ts\n * // remember to include the BrowserAnimationsModule module for this to work...\n * import {AnimationBuilder} from '\\@angular/animations';\n *\n * class MyCmp {\n *   constructor(private _builder: AnimationBuilder) {}\n *\n *   makeAnimation(element: any) {\n *     // first build the animation\n *     const myAnimation = this._builder.build([\n *       style({ width: 0 }),\n *       animate(1000, style({ width: '100px' }))\n *     ]);\n *\n *     // then create a player from it\n *     const player = myAni
 mation.create(element);\n *\n *     player.play();\n *   }\n * }\n * ```\n *\n * When an animation is built an instance of {\\@link AnimationFactory AnimationFactory} will be\n * returned. Using that an {\\@link AnimationPlayer AnimationPlayer} can be created which can then be\n * used to start the animation.\n *\n * \\@experimental Animation support is experimental.\n * @abstract\n */\nAnimationBuilder = /** @class */ (function () {\n    function AnimationBuilder() {\n    }\n    return AnimationBuilder;\n}());\n/**\n * AnimationBuilder is an injectable service that is available when the {\\@link\n * BrowserAnimationsModule BrowserAnimationsModule} or {\\@link NoopAnimationsModule\n * NoopAnimationsModule} modules are used within an application.\n *\n * The purpose if this service is to produce an animation sequence programmatically within an\n * angular component or directive.\n *\n * Programmatic animations are first built and then a player is created when the build animation is\n
  * attached to an element.\n *\n * ```ts\n * // remember to include the BrowserAnimationsModule module for this to work...\n * import {AnimationBuilder} from '\\@angular/animations';\n *\n * class MyCmp {\n *   constructor(private _builder: AnimationBuilder) {}\n *\n *   makeAnimation(element: any) {\n *     // first build the animation\n *     const myAnimation = this._builder.build([\n *       style({ width: 0 }),\n *       animate(1000, style({ width: '100px' }))\n *     ]);\n *\n *     // then create a player from it\n *     const player = myAnimation.create(element);\n *\n *     player.play();\n *   }\n * }\n * ```\n *\n * When an animation is built an instance of {\\@link AnimationFactory AnimationFactory} will be\n * returned. Using that an {\\@link AnimationPlayer AnimationPlayer} can be created which can then be\n * used to start the animation.\n *\n * \\@experimental Animation support is experimental.\n * @abstract\n */\nexport { AnimationBuilder };\nfunction AnimationBuil
 der_tsickle_Closure_declarations() {\n    /**\n     * @abstract\n     * @param {?} animation\n     * @return {?}\n     */\n    AnimationBuilder.prototype.build = function (animation) { };\n}\n/**\n * An instance of `AnimationFactory` is returned from {\\@link AnimationBuilder#build\n * AnimationBuilder.build}.\n *\n * \\@experimental Animation support is experimental.\n * @abstract\n */\nvar /**\n * An instance of `AnimationFactory` is returned from {\\@link AnimationBuilder#build\n * AnimationBuilder.build}.\n *\n * \\@experimental Animation support is experimental.\n * @abstract\n */\nAnimationFactory = /** @class */ (function () {\n    function AnimationFactory() {\n    }\n    return AnimationFactory;\n}());\n/**\n * An instance of `AnimationFactory` is returned from {\\@link AnimationBuilder#build\n * AnimationBuilder.build}.\n *\n * \\@experimental Animation support is experimental.\n * @abstract\n */\nexport { AnimationFactory };\nfunction AnimationFactory_tsickle_Closure_decl
 arations() {\n    /**\n     * @abstract\n     * @param {?} element\n     * @param {?=} options\n     * @return {?}\n     */\n    AnimationFactory.prototype.create = function (element, options) { };\n}\n//# sourceMappingURL=animation_builder.js.map","/**\n * @fileoverview added by tsickle\n * @suppress {checkTypes} checked by tsc\n */\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n * @record\n */\nexport function ɵStyleData() { }\nfunction ɵStyleData_tsickle_Closure_declarations() {\n    /* TODO: handle strange member:\n    [key: string]: string|number;\n    */\n}\n/** @enum {number} */\nvar AnimationMetadataType = {\n    State: 0,\n    Transition: 1,\n    Sequence: 2,\n    Group: 3,\n    Animate: 4,\n    Keyframes: 5,\n    Style: 6,\n    Trigger: 7,\n    Reference: 8,\n    AnimateChild: 9,\n    AnimateRef: 10,\n    Query: 11
 ,\n    Stagger: 12,\n};\nexport { AnimationMetadataType };\n/**\n * \\@experimental Animation support is experimental.\n */\nexport var /** @type {?} */ AUTO_STYLE = '*';\n/**\n * \\@experimental Animation support is experimental.\n * @record\n */\nexport function AnimationMetadata() { }\nfunction AnimationMetadata_tsickle_Closure_declarations() {\n    /** @type {?} */\n    AnimationMetadata.prototype.type;\n}\n/**\n * Metadata representing the entry of animations. Instances of this interface are provided via the\n * animation DSL when the {\\@link trigger trigger animation function} is called.\n *\n * \\@experimental Animation support is experimental.\n * @record\n */\nexport function AnimationTriggerMetadata() { }\nfunction AnimationTriggerMetadata_tsickle_Closure_declarations() {\n    /** @type {?} */\n    AnimationTriggerMetadata.prototype.name;\n    /** @type {?} */\n    AnimationTriggerMetadata.prototype.definitions;\n    /** @type {?} */\n    AnimationTriggerMetadata.prototyp
 e.options;\n}\n/**\n * Metadata representing the entry of animations. Instances of this interface are provided via the\n * animation DSL when the {\\@link state state animation function} is called.\n *\n * \\@experimental Animation support is experimental.\n * @record\n */\nexport function AnimationStateMetadata() { }\nfunction AnimationStateMetadata_tsickle_Closure_declarations() {\n    /** @type {?} */\n    AnimationStateMetadata.prototype.name;\n    /** @type {?} */\n    AnimationStateMetadata.prototype.styles;\n    /** @type {?|undefined} */\n    AnimationStateMetadata.prototype.options;\n}\n/**\n * Metadata representing the entry of animations. Instances of this interface are provided via the\n * animation DSL when the {\\@link transition transition animation function} is called.\n *\n * \\@experimental Animation support is experimental.\n * @record\n */\nexport function AnimationTransitionMetadata() { }\nfunction AnimationTransitionMetadata_tsickle_Closure_declarations() {\n  
   /** @type {?} */\n    AnimationTransitionMetadata.prototype.expr;\n    /** @type {?} */\n    AnimationTransitionMetadata.prototype.animation;\n    /** @type {?} */\n    AnimationTransitionMetadata.prototype.options;\n}\n/**\n * \\@experimental Animation support is experimental.\n * @record\n */\nexport function AnimationReferenceMetadata() { }\nfunction AnimationReferenceMetadata_tsickle_Closure_declarations() {\n    /** @type {?} */\n    AnimationReferenceMetadata.prototype.animation;\n    /** @type {?} */\n    AnimationReferenceMetadata.prototype.options;\n}\n/**\n * \\@experimental Animation support is experimental.\n * @record\n */\nexport function AnimationQueryMetadata() { }\nfunction AnimationQueryMetadata_tsickle_Closure_declarations() {\n    /** @type {?} */\n    AnimationQueryMetadata.prototype.selector;\n    /** @type {?} */\n    AnimationQueryMetadata.prototype.animation;\n    /** @type {?} */\n    AnimationQueryMetadata.prototype.options;\n}\n/**\n * Metadata represen
 ting the entry of animations. Instances of this interface are provided via the\n * animation DSL when the {\\@link keyframes keyframes animation function} is called.\n *\n * \\@experimental Animation support is experimental.\n * @record\n */\nexport function AnimationKeyframesSequenceMetadata() { }\nfunction AnimationKeyframesSequenceMetadata_tsickle_Closure_declarations() {\n    /** @type {?} */\n    AnimationKeyframesSequenceMetadata.prototype.steps;\n}\n/**\n * Metadata representing the entry of animations. Instances of this interface are provided via the\n * animation DSL when the {\\@link style style animation function} is called.\n *\n * \\@experimental Animation support is experimental.\n * @record\n */\nexport function AnimationStyleMetadata() { }\nfunction AnimationStyleMetadata_tsickle_Closure_declarations() {\n    /** @type {?} */\n    AnimationStyleMetadata.prototype.styles;\n    /** @type {?} */\n    AnimationStyleMetadata.prototype.offset;\n}\n/**\n * Metadata represen
 ting the entry of animations. Instances of this interface are provided via the\n * animation DSL when the {\\@link animate animate animation function} is called.\n *\n * \\@experimental Animation support is experimental.\n * @record\n */\nexport function AnimationAnimateMetadata() { }\nfunction AnimationAnimateMetadata_tsickle_Closure_declarations() {\n    /** @type {?} */\n    AnimationAnimateMetadata.prototype.timings;\n    /** @type {?} */\n    AnimationAnimateMetadata.prototype.styles;\n}\n/**\n * Metadata representing the entry of animations. Instances of this interface are provided via the\n * animation DSL when the {\\@link animateChild animateChild animation function} is called.\n *\n * \\@experimental Animation support is experimental.\n * @record\n */\nexport function AnimationAnimateChildMetadata() { }\nfunction AnimationAnimateChildMetadata_tsickle_Closure_declarations() {\n    /** @type {?} */\n    AnimationAnimateChildMetadata.prototype.options;\n}\n/**\n * Metadata re
 presenting the entry of animations. Instances of this interface are provided via the\n * animation DSL when the {\\@link useAnimation useAnimation animation function} is called.\n *\n * \\@experimental Animation support is experimental.\n * @record\n */\nexport function AnimationAnimateRefMetadata() { }\nfunction AnimationAnimateRefMetadata_tsickle_Closure_declarations() {\n    /** @type {?} */\n    AnimationAnimateRefMetadata.prototype.animation;\n    /** @type {?} */\n    AnimationAnimateRefMetadata.prototype.options;\n}\n/**\n * Metadata representing the entry of animations. Instances of this interface are provided via the\n * animation DSL when the {\\@link sequence sequence animation function} is called.\n *\n * \\@experimental Animation support is experimental.\n * @record\n */\nexport function AnimationSequenceMetadata() { }\nfunction AnimationSequenceMetadata_tsickle_Closure_declarations() {\n    /** @type {?} */\n    AnimationSequenceMetadata.prototype.steps;\n    /** @type
  {?} */\n    AnimationSequenceMetadata.prototype.options;\n}\n/**\n * Metadata representing the entry of animations. Instances of this interface are provided via the\n * animation DSL when the {\\@link group group animation function} is called.\n *\n * \\@experimental Animation support is experimental.\n * @record\n */\nexport function AnimationGroupMetadata() { }\nfunction AnimationGroupMetadata_tsickle_Closure_declarations() {\n    /** @type {?} */\n    AnimationGroupMetadata.prototype.steps;\n    /** @type {?} */\n    AnimationGroupMetadata.prototype.options;\n}\n/**\n * Metadata representing the entry of animations. Instances of this interface are provided via the\n * animation DSL when the {\\@link stagger stagger animation function} is called.\n *\n * \\@experimental Animation support is experimental.\n * @record\n */\nexport function AnimationStaggerMetadata() { }\nfunction AnimationStaggerMetadata_tsickle_Closure_declarations() {\n    /** @type {?} */\n    AnimationStaggerMe
 tadata.prototype.timings;\n    /** @type {?} */\n    AnimationStaggerMetadata.prototype.animation;\n}\n/**\n * `trigger` is an animation-specific function that is designed to be used inside of Angular's\n * animation DSL language. If this information is new, please navigate to the\n * {\\@link Component#animations component animations metadata page} to gain a better\n * understanding of how animations in Angular are used.\n *\n * `trigger` Creates an animation trigger which will a list of {\\@link state state} and\n * {\\@link transition transition} entries that will be evaluated when the expression\n * bound to the trigger changes.\n *\n * Triggers are registered within the component annotation data under the\n * {\\@link Component#animations animations section}. An animation trigger can be placed on an element\n * within a template by referencing the name of the trigger followed by the expression value that\n * the\n * trigger is bound to (in the form of `[\\@triggerName]=\"expres
 sion\"`.\n *\n * Animation trigger bindings strigify values and then match the previous and current values against\n * any linked transitions. If a boolean value is provided into the trigger binding then it will both\n * be represented as `1` or `true` and `0` or `false` for a true and false boolean values\n * respectively.\n *\n * ### Usage\n *\n * `trigger` will create an animation trigger reference based on the provided `name` value. The\n * provided `animation` value is expected to be an array consisting of {\\@link state state} and\n * {\\@link transition transition} declarations.\n *\n * ```typescript\n * \\@Component({\n *   selector: 'my-component',\n *   templateUrl: 'my-component-tpl.html',\n *   animations: [\n *     trigger(\"myAnimationTrigger\", [\n *       state(...),\n *       state(...),\n *       transition(...),\n *       transition(...)\n *     ])\n *   ]\n * })\n * class MyComponent {\n *   myStatusExp = \"something\";\n * }\n * ```\n *\n * The template associat
 ed with this component will make use of the `myAnimationTrigger` animation\n * trigger by binding to an element within its template code.\n *\n * ```html\n * <!-- somewhere inside of my-component-tpl.html -->\n * <div [\\@myAnimationTrigger]=\"myStatusExp\">...</div>\n * ```\n *\n * ## Disable Animations\n * A special animation control binding called `\\@.disabled` can be placed on an element which will\n * then disable animations for any inner animation triggers situated within the element as well as\n * any animations on the element itself.\n *\n * When true, the `\\@.disabled` binding will prevent all animations from rendering. The example\n * below shows how to use this feature:\n *\n * ```ts\n * \\@Component({\n *   selector: 'my-component',\n *   template: `\n *     <div [\\@.disabled]=\"isDisabled\">\n *       <div [\\@childAnimation]=\"exp\"></div>\n *     </div>\n *   `,\n *   animations: [\n *     trigger(\"childAnimation\", [\n *       // ...\n *     ])\n *   ]\n * })\n *
  class MyComponent {\n *   isDisabled = true;\n *   exp = '...';\n * }\n * ```\n *\n * The `\\@childAnimation` trigger will not animate because `\\@.disabled` prevents it from happening\n * (when true).\n *\n * Note that `\\@.disbled` will only disable all animations (this means any animations running on\n * the same element will also be disabled).\n *\n * ### Disabling Animations Application-wide\n * When an area of the template is set to have animations disabled, **all** inner components will\n * also have their animations disabled as well. This means that all animations for an angular\n * application can be disabled by placing a host binding set on `\\@.disabled` on the topmost Angular\n * component.\n *\n * ```ts\n * import {Component, HostBinding} from '\\@angular/core';\n *\n * \\@Component({\n *   selector: 'app-component',\n *   templateUrl: 'app.component.html',\n * })\n * class AppComponent {\n *   \\@HostBinding('\\@.disabled')\n *   public animationsDisabled = true;\n * 
 }\n * ```\n *\n * ### What about animations that us `query()` and `animateChild()`?\n * Despite inner animations being disabled, a parent animation can {\\@link query query} for inner\n * elements located in disabled areas of the template and still animate them as it sees fit. This is\n * also the case for when a sub animation is queried by a parent and then later animated using {\\@link\n * animateChild animateChild}.\n *\n * \\@experimental Animation support is experimental.\n * @param {?} name\n * @param {?} definitions\n * @return {?}\n */\nexport function trigger(name, definitions) {\n    return { type: 7 /* Trigger */, name: name, definitions: definitions, options: {} };\n}\n/**\n * `animate` is an animation-specific function that is designed to be used inside of Angular's\n * animation DSL language. If this information is new, please navigate to the {\\@link\n * Component#animations component animations metadata page} to gain a better understanding of\n * how animations in An
 gular are used.\n *\n * `animate` specifies an animation step that will apply the provided `styles` data for a given\n * amount of time based on the provided `timing` expression value. Calls to `animate` are expected\n * to be used within {\\@link sequence an animation sequence}, {\\@link group group}, or {\\@link\n * transition transition}.\n *\n * ### Usage\n *\n * The `animate` function accepts two input parameters: `timing` and `styles`:\n *\n * - `timing` is a string based value that can be a combination of a duration with optional delay\n * and easing values. The format for the expression breaks down to `duration delay easing`\n * (therefore a value such as `1s 100ms ease-out` will be parse itself into `duration=1000,\n * delay=100, easing=ease-out`. If a numeric value is provided then that will be used as the\n * `duration` value in millisecond form.\n * - `styles` is the style input data which can either be a call to {\\@link style style} or {\\@link\n * keyframes keyframes}
 . If left empty then the styles from the destination state will be collected\n * and used (this is useful when describing an animation step that will complete an animation by\n * {\\@link transition#the-final-animate-call animating to the final state}).\n *\n * ```typescript\n * // various functions for specifying timing data\n * animate(500, style(...))\n * animate(\"1s\", style(...))\n * animate(\"100ms 0.5s\", style(...))\n * animate(\"5s ease\", style(...))\n * animate(\"5s 10ms cubic-bezier(.17,.67,.88,.1)\", style(...))\n *\n * // either style() of keyframes() can be used\n * animate(500, style({ background: \"red\" }))\n * animate(500, keyframes([\n *   style({ background: \"blue\" })),\n *   style({ background: \"red\" }))\n * ])\n * ```\n *\n * {\\@example core/animation/ts/dsl/animation_example.ts region='Component'}\n *\n * \\@experimental Animation support is experimental.\n * @param {?} timings\n * @param {?=} styles\n * @return {?}\n */\nexport function animate(timings
 , styles) {\n    if (styles === void 0) { styles = null; }\n    return { type: 4 /* Animate */, styles: styles, timings: timings };\n}\n/**\n * `group` is an animation-specific function that is designed to be used inside of Angular's\n * animation DSL language. If this information is new, please navigate to the {\\@link\n * Component#animations component animations metadata page} to gain a better understanding of\n * how animations in Angular are used.\n *\n * `group` specifies a list of animation steps that are all run in parallel. Grouped animations are\n * useful when a series of styles must be animated/closed off at different starting/ending times.\n *\n * The `group` function can either be used within a {\\@link sequence sequence} or a {\\@link transition\n * transition} and it will only continue to the next instruction once all of the inner animation\n * steps have completed.\n *\n * ### Usage\n *\n * The `steps` data that is passed into the `group` animation function can eith
 er consist of {\\@link\n * style style} or {\\@link animate animate} function calls. Each call to `style()` or `animate()`\n * within a group will be executed instantly (use {\\@link keyframes keyframes} or a {\\@link\n * animate#usage animate() with a delay value} to offset styles to be applied at a later time).\n *\n * ```typescript\n * group([\n *   animate(\"1s\", { background: \"black\" }))\n *   animate(\"2s\", { color: \"white\" }))\n * ])\n * ```\n *\n * {\\@example core/animation/ts/dsl/animation_example.ts region='Component'}\n *\n * \\@experimental Animation support is experimental.\n * @param {?} steps\n * @param {?=} options\n * @return {?}\n */\nexport function group(steps, options) {\n    if (options === void 0) { options = null; }\n    return { type: 3 /* Group */, steps: steps, options: options };\n}\n/**\n * `sequence` is an animation-specific function that is designed to be used inside of Angular's\n * animation DSL language. If this information is new, please nav
 igate to the {\\@link\n * Component#animations component animations metadata page} to gain a better understanding of\n * how animations in Angular are used.\n *\n * `sequence` Specifies a list of animation steps that are run one by one. (`sequence` is used by\n * default when an array is passed as animation data into {\\@link transition transition}.)\n *\n * The `sequence` function can either be used within a {\\@link group group} or a {\\@link transition\n * transition} and it will only continue to the next instruction once each of the inner animation\n * steps have completed.\n *\n * To perform animation styling in parallel with other animation steps then have a look at the\n * {\\@link group group} animation function.\n *\n * ### Usage\n *\n * The `steps` data that is passed into the `sequence` animation function can either consist of\n * {\\@link style style} or {\\@link animate animate} function calls. A call to `style()` will apply the\n * provided styling data immediately whi
 le a call to `animate()` will apply its styling data over a\n * given time depending on its timing data.\n *\n * ```typescript\n * sequence([\n *   style({ opacity: 0 })),\n *   animate(\"1s\", { opacity: 1 }))\n * ])\n * ```\n *\n * {\\@example core/animation/ts/dsl/animation_example.ts region='Component'}\n *\n * \\@experimental Animation support is experimental.\n * @param {?} steps\n * @param {?=} options\n * @return {?}\n */\nexport function sequence(steps, options) {\n    if (options === void 0) { options = null; }\n    return { type: 2 /* Sequence */, steps: steps, options: options };\n}\n/**\n * `style` is an animation-specific function that is designed to be used inside of Angular's\n * animation DSL language. If this information is new, please navigate to the {\\@link\n * Component#animations component animations metadata page} to gain a better understanding of\n * how animations in Angular are used.\n *\n * `style` declares a key/value object containing CSS properties/sty
 les that can then be used for\n * {\\@link state animation states}, within an {\\@link sequence animation sequence}, or as styling data\n * for both {\\@link animate animate} and {\\@link keyframes keyframes}.\n *\n * ### Usage\n *\n * `style` takes in a key/value string map as data and expects one or more CSS property/value pairs\n * to be defined.\n *\n * ```typescript\n * // string values are used for css properties\n * style({ background: \"red\", color: \"blue\" })\n *\n * // numerical (pixel) values are also supported\n * style({ width: 100, height: 0 })\n * ```\n *\n * #### Auto-styles (using `*`)\n *\n * When an asterix (`*`) character is used as a value then it will be detected from the element\n * being animated and applied as animation data when the animation starts.\n *\n * This feature proves useful for a state depending on layout and/or environment factors; in such\n * cases the styles are calculated just before the animation starts.\n *\n * ```typescript\n * // the st
 eps below will animate from 0 to the\n * // actual height of the element\n * style({ height: 0 }),\n * animate(\"1s\", style({ height: \"*\" }))\n * ```\n *\n * {\\@example core/animation/ts/dsl/animation_example.ts region='Component'}\n *\n * \\@experimental Animation support is experimental.\n * @param {?} tokens\n * @return {?}\n */\nexport function style(tokens) {\n    return { type: 6 /* Style */, styles: tokens, offset: null };\n}\n/**\n * `state` is an animation-specific function that is designed to be used inside of Angular's\n * animation DSL language. If this information is new, please navigate to the {\\@link\n * Component#animations component animations metadata page} to gain a better understanding of\n * how animations in Angular are used.\n *\n * `state` declares an animation state within the given trigger. When a state is active within a\n * component then its associated styles will persist on the element that the trigger is attached to\n * (even when the animation en
 ds).\n *\n * To animate between states, have a look at the animation {\\@link transition transition} DSL\n * function. To register states to an animation trigger please have a look at the {\\@link trigger\n * trigger} function.\n *\n * #### The `void` state\n *\n * The `void` state value is a reserved word that angular uses to determine when the element is not\n * apart of the application anymore (e.g. when an `ngIf` evaluates to false then the state of the\n * associated element is void).\n *\n * #### The `*` (default) state\n *\n * The `*` state (when styled) is a fallback state that will be used if the state that is being\n * animated is not declared within the trigger.\n *\n * ### Usage\n *\n * `state` will declare an animation state with its associated styles\n * within the given trigger.\n *\n * - `stateNameExpr` can be one or more state names separated by commas.\n * - `styles` refers to the {\\@link style styling data} that will be persisted on the element once\n * the state
  has been reached.\n *\n * ```typescript\n * // \"void\" is a reserved name for a state and is used to represent\n * // the state in which an element is detached from from the application.\n * state(\"void\", style({ height: 0 }))\n *\n * // user-defined states\n * state(\"closed\", style({ height: 0 }))\n * state(\"open, visible\", style({ height: \"*\" }))\n * ```\n *\n * {\\@example core/animation/ts/dsl/animation_example.ts region='Component'}\n *\n * \\@experimental Animation support is experimental.\n * @param {?} name\n * @param {?} styles\n * @param {?=} options\n * @return {?}\n */\nexport function state(name, styles, options) {\n    return { type: 0 /* State */, name: name, styles: styles, options: options };\n}\n/**\n * `keyframes` is an animation-specific function that is designed to be used inside of Angular's\n * animation DSL language. If this information is new, please navigate to the {\\@link\n * Component#animations component animations metadata page} to gain a bet
 ter understanding of\n * how animations in Angular are used.\n *\n * `keyframes` specifies a collection of {\\@link style style} entries each optionally characterized\n * by an `offset` value.\n *\n * ### Usage\n *\n * The `keyframes` animation function is designed to be used alongside the {\\@link animate animate}\n * animation function. Instead of applying animations from where they are currently to their\n * destination, keyframes can describe how each style entry is applied and at what point within the\n * animation arc (much like CSS Keyframe Animations do).\n *\n * For each `style()` entry an `offset` value can be set. Doing so allows to specifiy at what\n * percentage of the animate time the styles will be applied.\n *\n * ```typescript\n * // the provided offset values describe when each backgroundColor value is applied.\n * animate(\"5s\", keyframes([\n *   style({ backgroundColor: \"red\", offset: 0 }),\n *   style({ backgroundColor: \"blue\", offset: 0.2 }),\n *   style({
  backgroundColor: \"orange\", offset: 0.3 }),\n *   style({ backgroundColor: \"black\", offset: 1 })\n * ]))\n * ```\n *\n * Alternatively, if there are no `offset` values used within the style entries then the offsets\n * will be calculated automatically.\n *\n * ```typescript\n * animate(\"5s\", keyframes([\n *   style({ backgroundColor: \"red\" }) // offset = 0\n *   style({ backgroundColor: \"blue\" }) // offset = 0.33\n *   style({ backgroundColor: \"orange\" }) // offset = 0.66\n *   style({ backgroundColor: \"black\" }) // offset = 1\n * ]))\n * ```\n *\n * {\\@example core/animation/ts/dsl/animation_example.ts region='Component'}\n *\n * \\@experimental Animation support is experimental.\n * @param {?} steps\n * @return {?}\n */\nexport function keyframes(steps) {\n    return { type: 5 /* Keyframes */, steps: steps };\n}\n/**\n * `transition` is an animation-specific function that is designed to be used inside of Angular's\n * animation DSL language. If this information is n
 ew, please navigate to the {\\@link\n * Component#animations component animations metadata page} to gain a better understanding of\n * how animations in Angular are used.\n *\n * `transition` declares the {\\@link sequence sequence of animation steps} that will be run when the\n * provided `stateChangeExpr` value is satisfied. The `stateChangeExpr` consists of a `state1 =>\n * state2` which consists of two known states (use an asterix (`*`) to refer to a dynamic starting\n * and/or ending state).\n *\n * A function can also be provided as the `stateChangeExpr` argument for a transition and this\n * function will be executed each time a state change occurs. If the value returned within the\n * function is true then the associated animation will be run.\n *\n * Animation transitions are placed within an {\\@link trigger animation trigger}. For an transition\n * to animate to a state value and persist its styles then one or more {\\@link state animation\n * states} is expected to be de
 fined.\n *\n * ### Usage\n *\n * An animation transition is kicked off the `stateChangeExpr` predicate evaluates to true based on\n * what the previous state is and what the current state has become. In other words, if a transition\n * is defined that matches the old/current state criteria then the associated animation will be\n * triggered.\n *\n * ```typescript\n * // all transition/state changes are defined within an animation trigger\n * trigger(\"myAnimationTrigger\", [\n *   // if a state is defined then its styles will be persisted when the\n *   // animation has fully completed itself\n *   state(\"on\", style({ background: \"green\" })),\n *   state(\"off\", style({ background: \"grey\" })),\n *\n *   // a transition animation that will be kicked off when the state value\n *   // bound to \"myAnimationTrigger\" changes from \"on\" to \"off\"\n *   transition(\"on => off\", animate(500)),\n *\n *   // it is also possible to do run the same animation for both directions\n *  
  transition(\"on <=> off\", animate(500)),\n *\n *   // or to define multiple states pairs separated by commas\n *   transition(\"on => off, off => void\", animate(500)),\n *\n *   // this is a catch-all state change for when an element is inserted into\n *   // the page and the destination state is unknown\n *   transition(\"void => *\", [\n *     style({ opacity: 0 }),\n *     animate(500)\n *   ]),\n *\n *   // this will capture a state change between any states\n *   transition(\"* => *\", animate(\"1s 0s\")),\n *\n *   // you can also go full out and include a function\n *   transition((fromState, toState) => {\n *     // when `true` then it will allow the animation below to be invoked\n *     return fromState == \"off\" && toState == \"on\";\n *   }, animate(\"1s 0s\"))\n * ])\n * ```\n *\n * The template associated with this component will make use of the `myAnimationTrigger` animation\n * trigger by binding to an element within its template code.\n *\n * ```html\n * <!-- som
 ewhere inside of my-component-tpl.html -->\n * <div [\\@myAnimationTrigger]=\"myStatusExp\">...</div>\n * ```\n *\n * #### The final `animate` call\n *\n * If the final step within the transition steps is a call to `animate()` that **only** uses a\n * timing value with **no style data** then it will be automatically used as the final animation arc\n * for the element to animate itself to the final state. This involves an automatic mix of\n * adding/removing CSS styles so that the element will be in the exact state it should be for the\n * applied state to be presented correctly.\n *\n * ```\n * // start off by hiding the element, but make sure that it animates properly to whatever state\n * // is currently active for \"myAnimationTrigger\"\n * transition(\"void => *\", [\n *   style({ opacity: 0 }),\n *   animate(500)\n * ])\n * ```\n *\n * ### Using :enter and :leave\n *\n * Given that enter (insertion) and leave (removal) animations are so common, the `transition`\n * function acc
 epts both `:enter` and `:leave` values which are aliases for the `void => *` and `*\n * => void` state changes.\n *\n * ```\n * transition(\":enter\", [\n *   style({ opacity: 0 }),\n *   animate(500, style({ opacity: 1 }))\n * ]),\n * transition(\":leave\", [\n *   animate(500, style({ opacity: 0 }))\n * ])\n * ```\n *\n * ### Boolean values\n * if a trigger binding value is a boolean value then it can be matched using a transition\n * expression that compares `true` and `false` or `1` and `0`.\n *\n * ```\n * // in the template\n * <div [\\@openClose]=\"open ? true : false\">...</div>\n *\n * // in the component metadata\n * trigger('openClose', [\n *   state('true', style({ height: '*' })),\n *   state('false', style({ height: '0px' })),\n *   transition('false <=> true', animate(500))\n * ])\n * ```\n *\n * ### Using :increment and :decrement\n * In addition to the :enter and :leave transition aliases, the :increment and :decrement aliases\n * can be used to kick off a transitio
 n when a numeric value has increased or decreased in value.\n *\n * ```\n * import {group, animate, query, transition, style, trigger} from '\\@angular/animations';\n * import {Component} from '\\@angular/core';\n *\n * \\@Component({\n *   selector: 'banner-carousel-component',\n *   styles: [`\n *     .banner-container {\n *        position:relative;\n *        height:500px;\n *        overflow:hidden;\n *      }\n *     .banner-container > .banner {\n *        position:absolute;\n *        left:0;\n *        top:0;\n *        font-size:200px;\n *        line-height:500px;\n *        font-weight:bold;\n *        text-align:center;\n *        width:100%;\n *      }\n *   `],\n *   template: `\n *     <button (click)=\"previous()\">Previous</button>\n *     <button (click)=\"next()\">Next</button>\n *     <hr>\n *     <div [\\@bannerAnimation]=\"selectedIndex\" class=\"banner-container\">\n *       <div class=\"banner\"> {{ banner }} </div>\n *     </div>\n *   `\n *   animations: [
 \n *     trigger('bannerAnimation', [\n *       transition(\":increment\", group([\n *         query(':enter', [\n *           style({ left: '100%' }),\n *           animate('0.5s ease-out', style('*'))\n *         ]),\n *         query(':leave', [\n *           animate('0.5s ease-out', style({ left: '-100%' }))\n *         ])\n *       ])),\n *       transition(\":decrement\", group([\n *         query(':enter', [\n *           style({ left: '-100%' }),\n *           animate('0.5s ease-out', style('*'))\n *         ]),\n *         query(':leave', [\n *           animate('0.5s ease-out', style({ left: '100%' }))\n *         ])\n *       ])),\n *     ])\n *   ]\n * })\n * class BannerCarouselComponent {\n *   allBanners: string[] = ['1', '2', '3', '4'];\n *   selectedIndex: number = 0;\n *\n *   get banners() {\n *      return [this.allBanners[this.selectedIndex]];\n *   }\n *\n *   previous() {\n *     this.selectedIndex = Math.max(this.selectedIndex - 1, 0);\n *   }\n *\n *   next(
 ) {\n *     this.selectedIndex = Math.min(this.selectedIndex + 1, this.allBanners.length - 1);\n *   }\n * }\n * ```\n *\n * {\\@example core/animation/ts/dsl/animation_example.ts region='Component'}\n *\n * \\@experimental Animation support is experimental.\n * @param {?} stateChangeExpr\n * @param {?} steps\n * @param {?=} options\n * @return {?}\n */\nexport function transition(stateChangeExpr, steps, options) {\n    if (options === void 0) { options = null; }\n    return { type: 1 /* Transition */, expr: stateChangeExpr, animation: steps, options: options };\n}\n/**\n * `animation` is an animation-specific function that is designed to be used inside of Angular's\n * animation DSL language.\n *\n * `var myAnimation = animation(...)` is designed to produce a reusable animation that can be later\n * invoked in another animation or sequence. Reusable animations are designed to make use of\n * animation parameters and the produced animation can be used via the `useAnimation` method.\
 n *\n * ```\n * var fadeAnimation = animation([\n *   style({ opacity: '{{ start }}' }),\n *   animate('{{ time }}',\n *     style({ opacity: '{{ end }}'}))\n * ], { params: { time: '1000ms', start: 0, end: 1 }});\n * ```\n *\n * If parameters are attached to an animation then they act as **default parameter values**. When an\n * animation is invoked via `useAnimation` then parameter values are allowed to be passed in\n * directly. If any of the passed in parameter values are missing then the default values will be\n * used.\n *\n * ```\n * useAnimation(fadeAnimation, {\n *   params: {\n *     time: '2s',\n *     start: 1,\n *     end: 0\n *   }\n * })\n * ```\n *\n * If one or more parameter values are missing before animated then an error will be thrown.\n *\n * \\@experimental Animation support is experimental.\n * @param {?} steps\n * @param {?=} options\n * @return {?}\n */\nexport function animation(steps, options) {\n    if (options === void 0) { options = null; }\n    return
  { type: 8 /* Reference */, animation: steps, options: options };\n}\n/**\n * `animateChild` is an animation-specific function that is designed to be used inside of Angular's\n * animation DSL language. It works by allowing a queried element to execute its own\n * animation within the animation sequence.\n *\n * Each time an animation is triggered in angular, the parent animation\n * will always get priority and any child animations will be blocked. In order\n * for a child animation to run, the parent animation must query each of the elements\n * containing child animations and then allow the animations to run using `animateChild`.\n *\n * The example HTML code below shows both parent and child elements that have animation\n * triggers that will execute at the same time.\n *\n * ```html\n * <!-- parent-child.component.html -->\n * <button (click)=\"exp =! exp\">Toggle</button>\n * <hr>\n *\n * <div [\\@parentAnimation]=\"exp\">\n *   <header>Hello</header>\n *   <div [\\@childAnima
 tion]=\"exp\">\n *       one\n *   </div>\n *   <div [\\@childAnimation]=\"exp\">\n *       two\n *   </div>\n *   <div [\\@childAnimation]=\"exp\">\n *       three\n *   </div>\n * </div>\n * ```\n *\n * Now when the `exp` value changes to true, only the `parentAnimation` animation will animate\n * because it has priority. However, using `query` and `animateChild` each of the inner animations\n * can also fire:\n *\n * ```ts\n * // parent-child.component.ts\n * import {trigger, transition, animate, style, query, animateChild} from '\\@angular/animations';\n * \\@Component({\n *   selector: 'parent-child-component',\n *   animations: [\n *     trigger('parentAnimation', [\n *       transition('false => true', [\n *         query('header', [\n *           style({ opacity: 0 }),\n *           animate(500, style({ opacity: 1 }))\n *         ]),\n *         query('\\@childAnimation', [\n *           animateChild()\n *         ])\n *       ])\n *     ]),\n *     trigger('childAnimation',
  [\n *       transition('false => true', [\n *         style({ opacity: 0 }),\n *         animate(500, style({ opacity: 1 }))\n *       ])\n *     ])\n *   ]\n * })\n * class ParentChildCmp {\n *   exp: boolean = false;\n * }\n * ```\n *\n * In the animation code above, when the `parentAnimation` transition kicks off it first queries to\n * find the header element and fades it in. It then finds each of the sub elements that contain the\n * `\\@childAnimation` trigger and then allows for their animations to fire.\n *\n * This example can be further extended by using stagger:\n *\n * ```ts\n * query('\\@childAnimation', stagger(100, [\n *   animateChild()\n * ]))\n * ```\n *\n * Now each of the sub animations start off with respect to the `100ms` staggering step.\n *\n * ## The first frame of child animations\n * When sub animations are executed using `animateChild` the animation engine will always apply the\n * first frame of every sub animation immediately at the start of the animat
 ion sequence. This way\n * the parent animation does not need to set any initial styling data on the sub elements before the\n * sub animations kick off.\n *\n * In the example above the first frame of the `childAnimation`'s `false => true` transition\n * consists of a style of `opacity: 0`. This is applied immediately when the `parentAnimation`\n * animation transition sequence starts. Only then when the `\\@childAnimation` is queried and called\n * with `animateChild` will it then animate to its destination of `opacity: 1`.\n *\n * Note that this feature designed to be used alongside {\\@link query query()} and it will only work\n * with animations that are assigned using the Angular animation DSL (this means that CSS keyframes\n * and transitions are not handled by this API).\n *\n * \\@experimental Animation support is experimental.\n * @param {?=} options\n * @return {?}\n */\nexport function animateChild(options) {\n    if (options === void 0) { options = null; }\n    return {
  type: 9 /* AnimateChild */, options: options };\n}\n/**\n * `useAnimation` is an animation-specific function that is designed to be used inside of Angular's\n * animation DSL language. It is used to kick off a reusable animation that is created using {\\@link\n * animation animation()}.\n *\n * \\@experimental Animation support is experimental.\n * @param {?} animation\n * @param {?=} options\n * @return {?}\n */\nexport function useAnimation(animation, options) {\n    if (options === void 0) { options = null; }\n    return { type: 10 /* AnimateRef */, animation: animation, options: options };\n}\n/**\n * `query` is an animation-specific function that is designed to be used inside of Angular's\n * animation DSL language.\n *\n * query() is used to find one or more inner elements within the current element that is\n * being animated within the sequence. The provided animation steps are applied\n * to the queried element (by default, an array is provided, then this will be\n * treate
 d as an animation sequence).\n *\n * ### Usage\n *\n * query() is designed to collect mutiple elements and works internally by using\n * `element.querySelectorAll`. An additional options object can be provided which\n * can be used to limit the total amount of items to be collected.\n *\n * ```js\n * query('div', [\n *   animate(...),\n *   animate(...)\n * ], { limit: 1 })\n * ```\n *\n * query(), by default, will throw an error when zero items are found. If a query\n * has the `optional` flag set to true then this error will be ignored.\n *\n * ```js\n * query('.some-element-that-may-not-be-there', [\n *   animate(...),\n *   animate(...)\n * ], { optional: true })\n * ```\n *\n * ### Special Selector Values\n *\n * The selector value within a query can collect elements that contain angular-specific\n * characteristics\n * using special pseudo-selectors tokens.\n *\n * These include:\n *\n *  - Querying for newly inserted/removed elements using `query(\":enter\")`/`query(\":leave\
 ")`\n *  - Querying all currently animating elements using `query(\":animating\")`\n *  - Querying elements that contain an animation trigger using `query(\"\\@triggerName\")`\n *  - Querying all elements that contain an animation triggers using `query(\"\\@*\")`\n *  - Including the current element into the animation sequence using `query(\":self\")`\n *\n *\n *  Each of these pseudo-selector tokens can be merged together into a combined query selector\n * string:\n *\n *  ```\n *  query(':self, .record:enter, .record:leave, \\@subTrigger', [...])\n *  ```\n *\n * ### Demo\n *\n * ```\n * \\@Component({\n *   selector: 'inner',\n *   template: `\n *     <div [\\@queryAnimation]=\"exp\">\n *       <h1>Title</h1>\n *       <div class=\"content\">\n *         Blah blah blah\n *       </div>\n *     </div>\n *   `,\n *   animations: [\n *    trigger('queryAnimation', [\n *      transition('* => goAnimate', [\n *        // hide the inner elements\n *        query('h1', style({ opacity: 
 0 })),\n *        query('.content', style({ opacity: 0 })),\n *\n *        // animate the inner elements in, one by one\n *        query('h1', animate(1000, style({ opacity: 1 })),\n *        query('.content', animate(1000, style({ opacity: 1 })),\n *      ])\n *    ])\n *  ]\n * })\n * class Cmp {\n *   exp = '';\n *\n *   goAnimate() {\n *     this.exp = 'goAnimate';\n *   }\n * }\n * ```\n *\n * \\@experimental Animation support is experimental.\n * @param {?} selector\n * @param {?} animation\n * @param {?=} options\n * @return {?}\n */\nexport function query(selector, animation, options) {\n    if (options === void 0) { options = null; }\n    return { type: 11 /* Query */, selector: selector, animation: animation, options: options };\n}\n/**\n * `stagger` is an animation-specific function that is designed to be used inside of Angular's\n * animation DSL language. It is designed to be used inside of an animation {\\@link query query()}\n * and works by issuing a timing gap betwe
 en after each queried item is animated.\n *\n * ### Usage\n *\n * In the example below there is a container element that wraps a list of items stamped out\n * by an ngFor. The container element contains an animation trigger that will later be set\n * to query for each of the inner items.\n *\n * ```html\n * <!-- list.component.html -->\n * <button (click)=\"toggle()\">Show / Hide Items</button>\n * <hr />\n * <div [\\@listAnimation]=\"items.length\">\n *   <div *ngFor=\"let item of items\">\n *     {{ item }}\n *   </div>\n * </div>\n * ```\n *\n * The component code for this looks as such:\n *\n * ```ts\n * import {trigger, transition, style, animate, query, stagger} from '\\@angular/animations';\n * \\@Component({\n *   templateUrl: 'list.component.html',\n *   animations: [\n *     trigger('listAnimation', [\n *        //...\n *     ])\n *   ]\n * })\n * class ListComponent {\n *   items = [];\n *\n *   showItems() {\n *     this.items = [0,1,2,3,4];\n *   }\n *\n *   hideItems()
  {\n *     this.items = [];\n *   }\n *\n *   toggle() {\n *     this.items.length ? this.hideItems() : this.showItems();\n *   }\n * }\n * ```\n *\n * And now for the animation trigger code:\n *\n * ```ts\n * trigger('listAnimation', [\n *   transition('* => *', [ // each time the binding value changes\n *     query(':leave', [\n *       stagger(100, [\n *         animate('0.5s', style({ opacity: 0 }))\n *       ])\n *     ]),\n *     query(':enter', [\n *       style({ opacity: 0 }),\n *       stagger(100, [\n *         animate('0.5s', style({ opacity: 1 }))\n *       ])\n *     ])\n *   ])\n * ])\n * ```\n *\n * Now each time the items are added/removed then either the opacity\n * fade-in animation will run or each removed item will be faded out.\n * When either of these animations occur then a stagger effect will be\n * applied after each item's animation is started.\n *\n * \\@experimental Animation support is experimental.\n * @param {?} timings\n * @param {?} animation\n * @r
 eturn {?}\n */\nexport function stagger(timings, animation) {\n    return { type: 12 /* Stagger */, timings: timings, animation: animation };\n}\n//# sourceMappingURL=animation_metadata.js.map","/**\n * @fileoverview added by tsickle\n * @suppress {checkTypes} checked by tsc\n */\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n * @param {?} cb\n * @return {?}\n */\nexport function scheduleMicroTask(cb) {\n    Promise.resolve(null).then(cb);\n}\n//# sourceMappingURL=util.js.map","/**\n * @fileoverview added by tsickle\n * @suppress {checkTypes} checked by tsc\n */\nimport { scheduleMicroTask } from '../util';\n/**\n * AnimationPlayer controls an animation sequence that was produced from a programmatic animation.\n * (see {\\@link AnimationBuilder AnimationBuilder} for more information on how to create programmatic\n * animations
 .)\n *\n * \\@experimental Animation support is experimental.\n * @record\n */\nexport function AnimationPlayer() { }\nfunction AnimationPlayer_tsickle_Closure_declarations() {\n    /** @type {?} */\n    AnimationPlayer.prototype.onDone;\n    /** @type {?} */\n    AnimationPlayer.prototype.onStart;\n    /** @type {?} */\n    AnimationPlayer.prototype.onDestroy;\n    /** @type {?} */\n    AnimationPlayer.prototype.init;\n    /** @type {?} */\n    AnimationPlayer.prototype.hasStarted;\n    /** @type {?} */\n    AnimationPlayer.prototype.play;\n    /** @type {?} */\n    AnimationPlayer.prototype.pause;\n    /** @type {?} */\n    AnimationPlayer.prototype.restart;\n    /** @type {?} */\n    AnimationPlayer.prototype.finish;\n    /** @type {?} */\n    AnimationPlayer.prototype.destroy;\n    /** @type {?} */\n    AnimationPlayer.prototype.reset;\n    /** @type {?} */\n    AnimationPlayer.prototype.setPosition;\n    /** @type {?} */\n    AnimationPlayer.prototype.getPosition;\n    /** @typ
 e {?} */\n    AnimationPlayer.prototype.parentPlayer;\n    /** @type {?} */\n    AnimationPlayer.prototype.totalTime;\n    /** @type {?|undefined} */\n    AnimationPlayer.prototype.beforeDestroy;\n    /** @type {?|undefined} */\n    AnimationPlayer.prototype.triggerCallback;\n}\n/**\n * \\@experimental Animation support is experimental.\n */\nvar /**\n * \\@experimental Animation support is experimental.\n */\nNoopAnimationPlayer = /** @class */ (function () {\n    function NoopAnimationPlayer() {\n        this._onDoneFns = [];\n        this._onStartFns = [];\n        this._onDestroyFns = [];\n        this._started = false;\n        this._destroyed = false;\n        this._finished = false;\n        this.parentPlayer = null;\n        this.totalTime = 0;\n    }\n    /**\n     * @return {?}\n     */\n    NoopAnimationPlayer.prototype._onFinish = /**\n     * @return {?}\n     */\n    function () {\n        if (!this._finished) {\n            this._finished = true;\n            this._onD
 oneFns.forEach(function (fn) { return fn(); });\n            this._onDoneFns = [];\n        }\n    };\n    /**\n     * @param {?} fn\n     * @return {?}\n     */\n    NoopAnimationPlayer.prototype.onStart = /**\n     * @param {?} fn\n     * @return {?}\n     */\n    function (fn) { this._onStartFns.push(fn); };\n    /**\n     * @param {?} fn\n     * @return {?}\n     */\n    NoopAnimationPlayer.prototype.onDone = /**\n     * @param {?} fn\n     * @return {?}\n     */\n    function (fn) { this._onDoneFns.push(fn); };\n    /**\n     * @param {?} fn\n     * @return {?}\n     */\n    NoopAnimationPlayer.prototype.onDestroy = /**\n     * @param {?} fn\n     * @return {?}\n     */\n    function (fn) { this._onDestroyFns.push(fn); };\n    /**\n     * @return {?}\n     */\n    NoopAnimationPlayer.prototype.hasStarted = /**\n     * @return {?}\n     */\n    function () { return this._started; };\n    /**\n     * @return {?}\n     */\n    NoopAnimationPlayer.prototype.init = /**\n     * @retu
 rn {?}\n     */\n    function () { };\n    /**\n     * @return {?}\n     */\n    NoopAnimationPlayer.prototype.play = /**\n     * @return {?}\n     */\n    function () {\n        if (!this.hasStarted()) {\n            this._onStart();\n            this.triggerMicrotask();\n        }\n        this._started = true;\n    };\n    /* @internal */\n    /**\n     * @return {?}\n     */\n    NoopAnimationPlayer.prototype.triggerMicrotask = /**\n     * @return {?}\n     */\n    function () {\n        var _this = this;\n        scheduleMicroTask(function () { return _this._onFinish(); });\n    };\n    /**\n     * @return {?}\n     */\n    NoopAnimationPlayer.prototype._onStart = /**\n     * @return {?}\n     */\n    function () {\n        this._onStartFns.forEach(function (fn) { return fn(); });\n        this._onStartFns = [];\n    };\n    /**\n     * @return {?}\n     */\n    NoopAnimationPlayer.prototype.pause = /**\n     * @return {?}\n     */\n    function () { };\n    /**\n     * @return
  {?}\n     */\n    NoopAnimationPlayer.prototype.restart = /**\n     * @return {?}\n     */\n    function () { };\n    /**\n     * @return {?}\n     */\n    NoopAnimationPlayer.prototype.finish = /**\n     * @return {?}\n     */\n    function () { this._onFinish(); };\n    /**\n     * @return {?}\n     */\n    NoopAnimationPlayer.prototype.destroy = /**\n     * @return {?}\n     */\n    function () {\n        if (!this._destroyed) {\n            this._destroyed = true;\n            if (!this.hasStarted()) {\n                this._onStart();\n            }\n            this.finish();\n            this._onDestroyFns.forEach(function (fn) { return fn(); });\n            this._onDestroyFns = [];\n        }\n    };\n    /**\n     * @return {?}\n     */\n    NoopAnimationPlayer.prototype.reset = /**\n     * @return {?}\n     */\n    function () { };\n    /**\n     * @param {?} p\n     * @return {?}\n     */\n    NoopAnimationPlayer.prototype.setPosition = /**\n     * @param {?} p\n     * 
 @return {?}\n     */\n    function (p) { };\n    /**\n     * @return {?}\n     */\n    NoopAnimationPlayer.prototype.getPosition = /**\n     * @return {?}\n     */\n    function () { return 0; };\n    /* @internal */\n    /**\n     * @param {?} phaseName\n     * @return {?}\n     */\n    NoopAnimationPlayer.prototype.triggerCallback = /**\n     * @param {?} phaseName\n     * @return {?}\n     */\n    function (phaseName) {\n        var /** @type {?} */ methods = phaseName == 'start' ? this._onStartFns : this._onDoneFns;\n        methods.forEach(function (fn) { return fn(); });\n        methods.length = 0;\n    };\n    return NoopAnimationPlayer;\n}());\n/**\n * \\@experimental Animation support is experimental.\n */\nexport { NoopAnimationPlayer };\nfunction NoopAnimationPlayer_tsickle_Closure_declarations() {\n    /** @type {?} */\n    NoopAnimationPlayer.prototype._onDoneFns;\n    /** @type {?} */\n    NoopAnimationPlayer.prototype._onStartFns;\n    /** @type {?} */\n    NoopAnima
 tionPlayer.prototype._onDestroyFns;\n    /** @type {?} */\n    NoopAnimationPlayer.prototype._started;\n    /** @type {?} */\n    NoopAnimationPlayer.prototype._destroyed;\n    /** @type {?} */\n    NoopAnimationPlayer.prototype._finished;\n    /** @type {?} */\n    NoopAnimationPlayer.prototype.parentPlayer;\n    /** @type {?} */\n    NoopAnimationPlayer.prototype.totalTime;\n}\n//# sourceMappingURL=animation_player.js.map","/**\n * @fileoverview added by tsickle\n * @suppress {checkTypes} checked by tsc\n */\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nimport { scheduleMicroTask } from '../util';\nvar AnimationGroupPlayer = /** @class */ (function () {\n    function AnimationGroupPlayer(_players) {\n        var _this = this;\n        this._onDoneFns = [];\n        this._onStartFns = [];\n        this._finished = false
 ;\n        this._started = false;\n        this._destroyed = false;\n        this._onDestroyFns = [];\n        this.parentPlayer = null;\n        this.totalTime = 0;\n        this.players = _players;\n        var /** @type {?} */ doneCount = 0;\n        var /** @type {?} */ destroyCount = 0;\n        var /** @type {?} */ startCount = 0;\n        var /** @type {?} */ total = this.players.length;\n        if (total == 0) {\n            scheduleMicroTask(function () { return _this._onFinish(); });\n        }\n        else {\n            this.players.forEach(function (player) {\n                player.onDone(function () {\n                    if (++doneCount == total) {\n                        _this._onFinish();\n                    }\n                });\n                player.onDestroy(function () {\n                    if (++destroyCount == total) {\n                        _this._onDestroy();\n                    }\n                });\n                player.onStart(function () {
 \n                    if (++startCount == total) {\n                        _this._onStart();\n                    }\n                });\n            });\n        }\n        this.totalTime = this.players.reduce(function (time, player) { return Math.max(time, player.totalTime); }, 0);\n    }\n    /**\n     * @return {?}\n     */\n    AnimationGroupPlayer.prototype._onFinish = /**\n     * @return {?}\n     */\n    function () {\n        if (!this._finished) {\n            this._finished = true;\n            this._onDoneFns.forEach(function (fn) { return fn(); });\n            this._onDoneFns = [];\n        }\n    };\n    /**\n     * @return {?}\n     */\n    AnimationGroupPlayer.prototype.init = /**\n     * @return {?}\n     */\n    function () { this.players.forEach(function (player) { return player.init(); }); };\n    /**\n     * @param {?} fn\n     * @return {?}\n     */\n    AnimationGroupPlayer.prototype.onStart = /**\n     * @param {?} fn\n     * @return {?}\n     */\n    funct
 ion (fn) { this._onStartFns.push(fn); };\n    /**\n     * @return {?}\n     */\n    AnimationGroupPlayer.prototype._onStart = /**\n     * @return {?}\n     */\n    function () {\n        if (!this.hasStarted()) {\n            this._started = true;\n            this._onStartFns.forEach(function (fn) { return fn(); });\n            this._onStartFns = [];\n        }\n    };\n    /**\n     * @param {?} fn\n     * @return {?}\n     */\n    AnimationGroupPlayer.prototype.onDone = /**\n     * @param {?} fn\n     * @return {?}\n     */\n    function (fn) { this._onDoneFns.push(fn); };\n    /**\n     * @param {?} fn\n     * @return {?}\n     */\n    AnimationGroupPlayer.prototype.onDestroy = /**\n     * @param {?} fn\n     * @return {?}\n     */\n    function (fn) { this._onDestroyFns.push(fn); };\n    /**\n     * @return {?}\n     */\n    AnimationGroupPlayer.prototype.hasStarted = /**\n     * @return {?}\n     */\n    function () { return this._started; };\n    /**\n     * @return {?}\n   
   */\n    AnimationGroupPlayer.prototype.play = /**\n     * @return {?}\n     */\n    function () {\n        if (!this.parentPlayer) {\n            this.init();\n        }\n        this._onStart();\n        this.players.forEach(function (player) { return player.play(); });\n    };\n    /**\n     * @return {?}\n     */\n    AnimationGroupPlayer.prototype.pause = /**\n     * @return {?}\n     */\n    function () { this.players.forEach(function (player) { return player.pause(); }); };\n    /**\n     * @return {?}\n     */\n    AnimationGroupPlayer.prototype.restart = /**\n     * @return {?}\n     */\n    function () { this.players.forEach(function (player) { return player.restart(); }); };\n    /**\n     * @return {?}\n     */\n    AnimationGroupPlayer.prototype.finish = /**\n     * @return {?}\n     */\n    function () {\n        this._onFinish();\n        this.players.forEach(function (player) { return player.finish(); });\n    };\n    /**\n     * @return {?}\n     */\n    AnimationG
 roupPlayer.prototype.destroy = /**\n     * @return {?}\n     */\n    function () { this._onDestroy(); };\n    /**\n     * @return {?}\n     */\n    AnimationGroupPlayer.prototype._onDestroy = /**\n     * @return {?}\n     */\n    function () {\n        if (!this._destroyed) {\n            this._destroyed = true;\n            this._onFinish();\n            this.players.forEach(function (player) { return player.destroy(); });\n            this._onDestroyFns.forEach(function (fn) { return fn(); });\n            this._onDestroyFns = [];\n        }\n    };\n    /**\n     * @return {?}\n     */\n    AnimationGroupPlayer.prototype.reset = /**\n     * @return {?}\n     */\n    function () {\n        this.players.forEach(function (player) { return player.reset(); });\n        this._destroyed = false;\n        this._finished = false;\n        this._started = false;\n    };\n    /**\n     * @param {?} p\n     * @return {?}\n     */\n    AnimationGroupPlayer.prototype.setPosition = /**\n     * 
 @param {?} p\n     * @return {?}\n     */\n    function (p) {\n        var /** @type {?} */ timeAtPosition = p * this.totalTime;\n        this.players.forEach(function (player) {\n            var /** @type {?} */ position = player.totalTime ? Math.min(1, timeAtPosition / player.totalTime) : 1;\n            player.setPosition(position);\n        });\n    };\n    /**\n     * @return {?}\n     */\n    AnimationGroupPlayer.prototype.getPosition = /**\n     * @return {?}\n     */\n    function () {\n        var /** @type {?} */ min = 0;\n        this.players.forEach(function (player) {\n            var /** @type {?} */ p = player.getPosition();\n            min = Math.min(p, min);\n        });\n        return min;\n    };\n    /**\n     * @return {?}\n     */\n    AnimationGroupPlayer.prototype.beforeDestroy = /**\n     * @return {?}\n     */\n    function () {\n        this.players.forEach(function (player) {\n            if (player.beforeDestroy) {\n                player.beforeDestroy
 ();\n            }\n        });\n    };\n    /* @internal */\n    /**\n     * @param {?} phaseName\n     * @return {?}\n     */\n    AnimationGroupPlayer.prototype.triggerCallback = /**\n     * @param {?} phaseName\n     * @return {?}\n     */\n    function (phaseName) {\n        var /** @type {?} */ methods = phaseName == 'start' ? this._onStartFns : this._onDoneFns;\n        methods.forEach(function (fn) { return fn(); });\n        methods.length = 0;\n    };\n    return AnimationGroupPlayer;\n}());\nexport { AnimationGroupPlayer };\nfunction AnimationGroupPlayer_tsickle_Closure_declarations() {\n    /** @type {?} */\n    AnimationGroupPlayer.prototype._onDoneFns;\n    /** @type {?} */\n    AnimationGroupPlayer.prototype._onStartFns;\n    /** @type {?} */\n    AnimationGroupPlayer.prototype._finished;\n    /** @type {?} */\n    AnimationGroupPlayer.prototype._started;\n    /** @type {?} */\n    AnimationGroupPlayer.prototype._destroyed;\n    /** @type {?} */\n    AnimationGroupPla
 yer.prototype._onDestroyFns;\n    /** @type {?} */\n    AnimationGroupPlayer.prototype.parentPlayer;\n    /** @type {?} */\n    AnimationGroupPlayer.prototype.totalTime;\n    /** @type {?} */\n    AnimationGroupPlayer.prototype.players;\n}\n//# sourceMappingURL=animation_group_player.js.map","/**\n * @fileoverview added by tsickle\n * @suppress {checkTypes} checked by tsc\n */\nexport { AnimationGroupPlayer as ɵAnimationGroupPlayer } from './players/animation_group_player';\nexport var /** @type {?} */ ɵPRE_STYLE = '!';\n//# sourceMappingURL=private_export.js.map"],"names":[],"mappings":"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"}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/eec354e6/node_modules/@angular/animations/bundles/animations.umd.min.js
----------------------------------------------------------------------
diff --git a/node_modules/@angular/animations/bundles/animations.umd.min.js b/node_modules/@angular/animations/bundles/animations.umd.min.js
new file mode 100644
index 0000000..c975406
--- /dev/null
+++ b/node_modules/@angular/animations/bundles/animations.umd.min.js
@@ -0,0 +1,21 @@
+/**
+ * @license Angular v5.2.0
+ * (c) 2010-2018 Google, Inc. https://angular.io/
+ * License: MIT
+ */
+!function(global,factory){"object"==typeof exports&&"undefined"!=typeof module?factory(exports):"function"==typeof define&&define.amd?define("@angular/animations",["exports"],factory):factory((global.ng=global.ng||{},global.ng.animations={}))}(this,function(exports){"use strict";function trigger(name,definitions){return{type:7,name:name,definitions:definitions,options:{}}}function animate(timings,styles){return void 0===styles&&(styles=null),{type:4,styles:styles,timings:timings}}function group(steps,options){return void 0===options&&(options=null),{type:3,steps:steps,options:options}}function sequence(steps,options){return void 0===options&&(options=null),{type:2,steps:steps,options:options}}function style(tokens){return{type:6,styles:tokens,offset:null}}function state(name,styles,options){return{type:0,name:name,styles:styles,options:options}}function keyframes(steps){return{type:5,steps:steps}}function transition(stateChangeExpr,steps,options){return void 0===options&&(options=nu
 ll),{type:1,expr:stateChangeExpr,animation:steps,options:options}}function animation(steps,options){return void 0===options&&(options=null),{type:8,animation:steps,options:options}}function animateChild(options){return void 0===options&&(options=null),{type:9,options:options}}function useAnimation(animation,options){return void 0===options&&(options=null),{type:10,animation:animation,options:options}}function query(selector,animation,options){return void 0===options&&(options=null),{type:11,selector:selector,animation:animation,options:options}}function stagger(timings,animation){return{type:12,timings:timings,animation:animation}}/**
+ * @license
+ * Copyright Google Inc. All Rights Reserved.
+ *
+ * Use of this source code is governed by an MIT-style license that can be
+ * found in the LICENSE file at https://angular.io/license
+ * @param {?} cb
+ * @return {?}
+ */
+function scheduleMicroTask(cb){Promise.resolve(null).then(cb)}/**
+ * @license Angular v5.2.0
+ * (c) 2010-2018 Google, Inc. https://angular.io/
+ * License: MIT
+ */
+var AnimationBuilder=function(){function AnimationBuilder(){}return AnimationBuilder}(),AnimationFactory=function(){function AnimationFactory(){}return AnimationFactory}(),NoopAnimationPlayer=function(){function NoopAnimationPlayer(){this._onDoneFns=[],this._onStartFns=[],this._onDestroyFns=[],this._started=!1,this._destroyed=!1,this._finished=!1,this.parentPlayer=null,this.totalTime=0}return NoopAnimationPlayer.prototype._onFinish=function(){this._finished||(this._finished=!0,this._onDoneFns.forEach(function(fn){return fn()}),this._onDoneFns=[])},NoopAnimationPlayer.prototype.onStart=function(fn){this._onStartFns.push(fn)},NoopAnimationPlayer.prototype.onDone=function(fn){this._onDoneFns.push(fn)},NoopAnimationPlayer.prototype.onDestroy=function(fn){this._onDestroyFns.push(fn)},NoopAnimationPlayer.prototype.hasStarted=function(){return this._started},NoopAnimationPlayer.prototype.init=function(){},NoopAnimationPlayer.prototype.play=function(){this.hasStarted()||(this._onStart(),thi
 s.triggerMicrotask()),this._started=!0},NoopAnimationPlayer.prototype.triggerMicrotask=function(){var _this=this;scheduleMicroTask(function(){return _this._onFinish()})},NoopAnimationPlayer.prototype._onStart=function(){this._onStartFns.forEach(function(fn){return fn()}),this._onStartFns=[]},NoopAnimationPlayer.prototype.pause=function(){},NoopAnimationPlayer.prototype.restart=function(){},NoopAnimationPlayer.prototype.finish=function(){this._onFinish()},NoopAnimationPlayer.prototype.destroy=function(){this._destroyed||(this._destroyed=!0,this.hasStarted()||this._onStart(),this.finish(),this._onDestroyFns.forEach(function(fn){return fn()}),this._onDestroyFns=[])},NoopAnimationPlayer.prototype.reset=function(){},NoopAnimationPlayer.prototype.setPosition=function(p){},NoopAnimationPlayer.prototype.getPosition=function(){return 0},NoopAnimationPlayer.prototype.triggerCallback=function(phaseName){var methods="start"==phaseName?this._onStartFns:this._onDoneFns;methods.forEach(function(fn
 ){return fn()}),methods.length=0},NoopAnimationPlayer}(),AnimationGroupPlayer=function(){function AnimationGroupPlayer(_players){var _this=this;this._onDoneFns=[],this._onStartFns=[],this._finished=!1,this._started=!1,this._destroyed=!1,this._onDestroyFns=[],this.parentPlayer=null,this.totalTime=0,this.players=_players;var doneCount=0,destroyCount=0,startCount=0,total=this.players.length;0==total?scheduleMicroTask(function(){return _this._onFinish()}):this.players.forEach(function(player){player.onDone(function(){++doneCount==total&&_this._onFinish()}),player.onDestroy(function(){++destroyCount==total&&_this._onDestroy()}),player.onStart(function(){++startCount==total&&_this._onStart()})}),this.totalTime=this.players.reduce(function(time,player){return Math.max(time,player.totalTime)},0)}return AnimationGroupPlayer.prototype._onFinish=function(){this._finished||(this._finished=!0,this._onDoneFns.forEach(function(fn){return fn()}),this._onDoneFns=[])},AnimationGroupPlayer.prototype.i
 nit=function(){this.players.forEach(function(player){return player.init()})},AnimationGroupPlayer.prototype.onStart=function(fn){this._onStartFns.push(fn)},AnimationGroupPlayer.prototype._onStart=function(){this.hasStarted()||(this._started=!0,this._onStartFns.forEach(function(fn){return fn()}),this._onStartFns=[])},AnimationGroupPlayer.prototype.onDone=function(fn){this._onDoneFns.push(fn)},AnimationGroupPlayer.prototype.onDestroy=function(fn){this._onDestroyFns.push(fn)},AnimationGroupPlayer.prototype.hasStarted=function(){return this._started},AnimationGroupPlayer.prototype.play=function(){this.parentPlayer||this.init(),this._onStart(),this.players.forEach(function(player){return player.play()})},AnimationGroupPlayer.prototype.pause=function(){this.players.forEach(function(player){return player.pause()})},AnimationGroupPlayer.prototype.restart=function(){this.players.forEach(function(player){return player.restart()})},AnimationGroupPlayer.prototype.finish=function(){this._onFinis
 h(),this.players.forEach(function(player){return player.finish()})},AnimationGroupPlayer.prototype.destroy=function(){this._onDestroy()},AnimationGroupPlayer.prototype._onDestroy=function(){this._destroyed||(this._destroyed=!0,this._onFinish(),this.players.forEach(function(player){return player.destroy()}),this._onDestroyFns.forEach(function(fn){return fn()}),this._onDestroyFns=[])},AnimationGroupPlayer.prototype.reset=function(){this.players.forEach(function(player){return player.reset()}),this._destroyed=!1,this._finished=!1,this._started=!1},AnimationGroupPlayer.prototype.setPosition=function(p){var timeAtPosition=p*this.totalTime;this.players.forEach(function(player){var position=player.totalTime?Math.min(1,timeAtPosition/player.totalTime):1;player.setPosition(position)})},AnimationGroupPlayer.prototype.getPosition=function(){var min=0;return this.players.forEach(function(player){var p=player.getPosition();min=Math.min(p,min)}),min},AnimationGroupPlayer.prototype.beforeDestroy=f
 unction(){this.players.forEach(function(player){player.beforeDestroy&&player.beforeDestroy()})},AnimationGroupPlayer.prototype.triggerCallback=function(phaseName){var methods="start"==phaseName?this._onStartFns:this._onDoneFns;methods.forEach(function(fn){return fn()}),methods.length=0},AnimationGroupPlayer}();exports.AnimationBuilder=AnimationBuilder,exports.AnimationFactory=AnimationFactory,exports.AUTO_STYLE="*",exports.animate=animate,exports.animateChild=animateChild,exports.animation=animation,exports.group=group,exports.keyframes=keyframes,exports.query=query,exports.sequence=sequence,exports.stagger=stagger,exports.state=state,exports.style=style,exports.transition=transition,exports.trigger=trigger,exports.useAnimation=useAnimation,exports.NoopAnimationPlayer=NoopAnimationPlayer,exports.ɵAnimationGroupPlayer=AnimationGroupPlayer,exports.ɵPRE_STYLE="!",Object.defineProperty(exports,"__esModule",{value:!0})});
+//# sourceMappingURL=animations.umd.min.js.map
\ No newline at end of file


[35/59] [abbrv] [partial] nifi-fds git commit: update gh-pages

Posted by sc...@apache.org.
http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/eec354e6/node_modules/@angular/animations/esm2015/animations.js.map
----------------------------------------------------------------------
diff --git a/node_modules/@angular/animations/esm2015/animations.js.map b/node_modules/@angular/animations/esm2015/animations.js.map
new file mode 100644
index 0000000..96c1fe8
--- /dev/null
+++ b/node_modules/@angular/animations/esm2015/animations.js.map
@@ -0,0 +1 @@
+{"version":3,"file":"animations.js","sources":["../../../packages/animations/src/animation_builder.js","../../../packages/animations/src/animation_metadata.js","../../../packages/animations/src/util.js","../../../packages/animations/src/players/animation_player.js","../../../packages/animations/src/players/animation_group_player.js","../../../packages/animations/src/private_export.js","../../../packages/animations/src/animations.js","../../../packages/animations/public_api.js","../../../packages/animations/animations.js"],"sourcesContent":["/**\n * @fileoverview added by tsickle\n * @suppress {checkTypes} checked by tsc\n */\n/**\n * AnimationBuilder is an injectable service that is available when the {\\@link\n * BrowserAnimationsModule BrowserAnimationsModule} or {\\@link NoopAnimationsModule\n * NoopAnimationsModule} modules are used within an application.\n *\n * The purpose if this service is to produce an animation sequence programmatically within an\n * angular component or d
 irective.\n *\n * Programmatic animations are first built and then a player is created when the build animation is\n * attached to an element.\n *\n * ```ts\n * // remember to include the BrowserAnimationsModule module for this to work...\n * import {AnimationBuilder} from '\\@angular/animations';\n *\n * class MyCmp {\n *   constructor(private _builder: AnimationBuilder) {}\n *\n *   makeAnimation(element: any) {\n *     // first build the animation\n *     const myAnimation = this._builder.build([\n *       style({ width: 0 }),\n *       animate(1000, style({ width: '100px' }))\n *     ]);\n *\n *     // then create a player from it\n *     const player = myAnimation.create(element);\n *\n *     player.play();\n *   }\n * }\n * ```\n *\n * When an animation is built an instance of {\\@link AnimationFactory AnimationFactory} will be\n * returned. Using that an {\\@link AnimationPlayer AnimationPlayer} can be created which can then be\n * used to start the animation.\n *\n * \\@expe
 rimental Animation support is experimental.\n * @abstract\n */\nexport class AnimationBuilder {\n}\nfunction AnimationBuilder_tsickle_Closure_declarations() {\n    /**\n     * @abstract\n     * @param {?} animation\n     * @return {?}\n     */\n    AnimationBuilder.prototype.build = function (animation) { };\n}\n/**\n * An instance of `AnimationFactory` is returned from {\\@link AnimationBuilder#build\n * AnimationBuilder.build}.\n *\n * \\@experimental Animation support is experimental.\n * @abstract\n */\nexport class AnimationFactory {\n}\nfunction AnimationFactory_tsickle_Closure_declarations() {\n    /**\n     * @abstract\n     * @param {?} element\n     * @param {?=} options\n     * @return {?}\n     */\n    AnimationFactory.prototype.create = function (element, options) { };\n}\n//# sourceMappingURL=animation_builder.js.map","/**\n * @fileoverview added by tsickle\n * @suppress {checkTypes} checked by tsc\n */\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n
  *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n * @record\n */\nexport function ɵStyleData() { }\nfunction ɵStyleData_tsickle_Closure_declarations() {\n    /* TODO: handle strange member:\n    [key: string]: string|number;\n    */\n}\n/** @enum {number} */\nconst AnimationMetadataType = {\n    State: 0,\n    Transition: 1,\n    Sequence: 2,\n    Group: 3,\n    Animate: 4,\n    Keyframes: 5,\n    Style: 6,\n    Trigger: 7,\n    Reference: 8,\n    AnimateChild: 9,\n    AnimateRef: 10,\n    Query: 11,\n    Stagger: 12,\n};\nexport { AnimationMetadataType };\n/**\n * \\@experimental Animation support is experimental.\n */\nexport const /** @type {?} */ AUTO_STYLE = '*';\n/**\n * \\@experimental Animation support is experimental.\n * @record\n */\nexport function AnimationMetadata() { }\nfunction AnimationMetadata_tsickle_Closure_declarations() {\n    /** @type {?} */\n    AnimationMetadata.pro
 totype.type;\n}\n/**\n * Metadata representing the entry of animations. Instances of this interface are provided via the\n * animation DSL when the {\\@link trigger trigger animation function} is called.\n *\n * \\@experimental Animation support is experimental.\n * @record\n */\nexport function AnimationTriggerMetadata() { }\nfunction AnimationTriggerMetadata_tsickle_Closure_declarations() {\n    /** @type {?} */\n    AnimationTriggerMetadata.prototype.name;\n    /** @type {?} */\n    AnimationTriggerMetadata.prototype.definitions;\n    /** @type {?} */\n    AnimationTriggerMetadata.prototype.options;\n}\n/**\n * Metadata representing the entry of animations. Instances of this interface are provided via the\n * animation DSL when the {\\@link state state animation function} is called.\n *\n * \\@experimental Animation support is experimental.\n * @record\n */\nexport function AnimationStateMetadata() { }\nfunction AnimationStateMetadata_tsickle_Closure_declarations() {\n    /** @ty
 pe {?} */\n    AnimationStateMetadata.prototype.name;\n    /** @type {?} */\n    AnimationStateMetadata.prototype.styles;\n    /** @type {?|undefined} */\n    AnimationStateMetadata.prototype.options;\n}\n/**\n * Metadata representing the entry of animations. Instances of this interface are provided via the\n * animation DSL when the {\\@link transition transition animation function} is called.\n *\n * \\@experimental Animation support is experimental.\n * @record\n */\nexport function AnimationTransitionMetadata() { }\nfunction AnimationTransitionMetadata_tsickle_Closure_declarations() {\n    /** @type {?} */\n    AnimationTransitionMetadata.prototype.expr;\n    /** @type {?} */\n    AnimationTransitionMetadata.prototype.animation;\n    /** @type {?} */\n    AnimationTransitionMetadata.prototype.options;\n}\n/**\n * \\@experimental Animation support is experimental.\n * @record\n */\nexport function AnimationReferenceMetadata() { }\nfunction AnimationReferenceMetadata_tsickle_Closu
 re_declarations() {\n    /** @type {?} */\n    AnimationReferenceMetadata.prototype.animation;\n    /** @type {?} */\n    AnimationReferenceMetadata.prototype.options;\n}\n/**\n * \\@experimental Animation support is experimental.\n * @record\n */\nexport function AnimationQueryMetadata() { }\nfunction AnimationQueryMetadata_tsickle_Closure_declarations() {\n    /** @type {?} */\n    AnimationQueryMetadata.prototype.selector;\n    /** @type {?} */\n    AnimationQueryMetadata.prototype.animation;\n    /** @type {?} */\n    AnimationQueryMetadata.prototype.options;\n}\n/**\n * Metadata representing the entry of animations. Instances of this interface are provided via the\n * animation DSL when the {\\@link keyframes keyframes animation function} is called.\n *\n * \\@experimental Animation support is experimental.\n * @record\n */\nexport function AnimationKeyframesSequenceMetadata() { }\nfunction AnimationKeyframesSequenceMetadata_tsickle_Closure_declarations() {\n    /** @type {?} *
 /\n    AnimationKeyframesSequenceMetadata.prototype.steps;\n}\n/**\n * Metadata representing the entry of animations. Instances of this interface are provided via the\n * animation DSL when the {\\@link style style animation function} is called.\n *\n * \\@experimental Animation support is experimental.\n * @record\n */\nexport function AnimationStyleMetadata() { }\nfunction AnimationStyleMetadata_tsickle_Closure_declarations() {\n    /** @type {?} */\n    AnimationStyleMetadata.prototype.styles;\n    /** @type {?} */\n    AnimationStyleMetadata.prototype.offset;\n}\n/**\n * Metadata representing the entry of animations. Instances of this interface are provided via the\n * animation DSL when the {\\@link animate animate animation function} is called.\n *\n * \\@experimental Animation support is experimental.\n * @record\n */\nexport function AnimationAnimateMetadata() { }\nfunction AnimationAnimateMetadata_tsickle_Closure_declarations() {\n    /** @type {?} */\n    AnimationAnimateM
 etadata.prototype.timings;\n    /** @type {?} */\n    AnimationAnimateMetadata.prototype.styles;\n}\n/**\n * Metadata representing the entry of animations. Instances of this interface are provided via the\n * animation DSL when the {\\@link animateChild animateChild animation function} is called.\n *\n * \\@experimental Animation support is experimental.\n * @record\n */\nexport function AnimationAnimateChildMetadata() { }\nfunction AnimationAnimateChildMetadata_tsickle_Closure_declarations() {\n    /** @type {?} */\n    AnimationAnimateChildMetadata.prototype.options;\n}\n/**\n * Metadata representing the entry of animations. Instances of this interface are provided via the\n * animation DSL when the {\\@link useAnimation useAnimation animation function} is called.\n *\n * \\@experimental Animation support is experimental.\n * @record\n */\nexport function AnimationAnimateRefMetadata() { }\nfunction AnimationAnimateRefMetadata_tsickle_Closure_declarations() {\n    /** @type {?} */\
 n    AnimationAnimateRefMetadata.prototype.animation;\n    /** @type {?} */\n    AnimationAnimateRefMetadata.prototype.options;\n}\n/**\n * Metadata representing the entry of animations. Instances of this interface are provided via the\n * animation DSL when the {\\@link sequence sequence animation function} is called.\n *\n * \\@experimental Animation support is experimental.\n * @record\n */\nexport function AnimationSequenceMetadata() { }\nfunction AnimationSequenceMetadata_tsickle_Closure_declarations() {\n    /** @type {?} */\n    AnimationSequenceMetadata.prototype.steps;\n    /** @type {?} */\n    AnimationSequenceMetadata.prototype.options;\n}\n/**\n * Metadata representing the entry of animations. Instances of this interface are provided via the\n * animation DSL when the {\\@link group group animation function} is called.\n *\n * \\@experimental Animation support is experimental.\n * @record\n */\nexport function AnimationGroupMetadata() { }\nfunction AnimationGroupMetadat
 a_tsickle_Closure_declarations() {\n    /** @type {?} */\n    AnimationGroupMetadata.prototype.steps;\n    /** @type {?} */\n    AnimationGroupMetadata.prototype.options;\n}\n/**\n * Metadata representing the entry of animations. Instances of this interface are provided via the\n * animation DSL when the {\\@link stagger stagger animation function} is called.\n *\n * \\@experimental Animation support is experimental.\n * @record\n */\nexport function AnimationStaggerMetadata() { }\nfunction AnimationStaggerMetadata_tsickle_Closure_declarations() {\n    /** @type {?} */\n    AnimationStaggerMetadata.prototype.timings;\n    /** @type {?} */\n    AnimationStaggerMetadata.prototype.animation;\n}\n/**\n * `trigger` is an animation-specific function that is designed to be used inside of Angular's\n * animation DSL language. If this information is new, please navigate to the\n * {\\@link Component#animations component animations metadata page} to gain a better\n * understanding of how anim
 ations in Angular are used.\n *\n * `trigger` Creates an animation trigger which will a list of {\\@link state state} and\n * {\\@link transition transition} entries that will be evaluated when the expression\n * bound to the trigger changes.\n *\n * Triggers are registered within the component annotation data under the\n * {\\@link Component#animations animations section}. An animation trigger can be placed on an element\n * within a template by referencing the name of the trigger followed by the expression value that\n * the\n * trigger is bound to (in the form of `[\\@triggerName]=\"expression\"`.\n *\n * Animation trigger bindings strigify values and then match the previous and current values against\n * any linked transitions. If a boolean value is provided into the trigger binding then it will both\n * be represented as `1` or `true` and `0` or `false` for a true and false boolean values\n * respectively.\n *\n * ### Usage\n *\n * `trigger` will create an animation trigger ref
 erence based on the provided `name` value. The\n * provided `animation` value is expected to be an array consisting of {\\@link state state} and\n * {\\@link transition transition} declarations.\n *\n * ```typescript\n * \\@Component({\n *   selector: 'my-component',\n *   templateUrl: 'my-component-tpl.html',\n *   animations: [\n *     trigger(\"myAnimationTrigger\", [\n *       state(...),\n *       state(...),\n *       transition(...),\n *       transition(...)\n *     ])\n *   ]\n * })\n * class MyComponent {\n *   myStatusExp = \"something\";\n * }\n * ```\n *\n * The template associated with this component will make use of the `myAnimationTrigger` animation\n * trigger by binding to an element within its template code.\n *\n * ```html\n * <!-- somewhere inside of my-component-tpl.html -->\n * <div [\\@myAnimationTrigger]=\"myStatusExp\">...</div>\n * ```\n *\n * ## Disable Animations\n * A special animation control binding called `\\@.disabled` can be placed on an element wh
 ich will\n * then disable animations for any inner animation triggers situated within the element as well as\n * any animations on the element itself.\n *\n * When true, the `\\@.disabled` binding will prevent all animations from rendering. The example\n * below shows how to use this feature:\n *\n * ```ts\n * \\@Component({\n *   selector: 'my-component',\n *   template: `\n *     <div [\\@.disabled]=\"isDisabled\">\n *       <div [\\@childAnimation]=\"exp\"></div>\n *     </div>\n *   `,\n *   animations: [\n *     trigger(\"childAnimation\", [\n *       // ...\n *     ])\n *   ]\n * })\n * class MyComponent {\n *   isDisabled = true;\n *   exp = '...';\n * }\n * ```\n *\n * The `\\@childAnimation` trigger will not animate because `\\@.disabled` prevents it from happening\n * (when true).\n *\n * Note that `\\@.disbled` will only disable all animations (this means any animations running on\n * the same element will also be disabled).\n *\n * ### Disabling Animations Application-wi
 de\n * When an area of the template is set to have animations disabled, **all** inner components will\n * also have their animations disabled as well. This means that all animations for an angular\n * application can be disabled by placing a host binding set on `\\@.disabled` on the topmost Angular\n * component.\n *\n * ```ts\n * import {Component, HostBinding} from '\\@angular/core';\n *\n * \\@Component({\n *   selector: 'app-component',\n *   templateUrl: 'app.component.html',\n * })\n * class AppComponent {\n *   \\@HostBinding('\\@.disabled')\n *   public animationsDisabled = true;\n * }\n * ```\n *\n * ### What about animations that us `query()` and `animateChild()`?\n * Despite inner animations being disabled, a parent animation can {\\@link query query} for inner\n * elements located in disabled areas of the template and still animate them as it sees fit. This is\n * also the case for when a sub animation is queried by a parent and then later animated using {\\@link\n * ani
 mateChild animateChild}.\n *\n * \\@experimental Animation support is experimental.\n * @param {?} name\n * @param {?} definitions\n * @return {?}\n */\nexport function trigger(name, definitions) {\n    return { type: 7 /* Trigger */, name, definitions, options: {} };\n}\n/**\n * `animate` is an animation-specific function that is designed to be used inside of Angular's\n * animation DSL language. If this information is new, please navigate to the {\\@link\n * Component#animations component animations metadata page} to gain a better understanding of\n * how animations in Angular are used.\n *\n * `animate` specifies an animation step that will apply the provided `styles` data for a given\n * amount of time based on the provided `timing` expression value. Calls to `animate` are expected\n * to be used within {\\@link sequence an animation sequence}, {\\@link group group}, or {\\@link\n * transition transition}.\n *\n * ### Usage\n *\n * The `animate` function accepts two input parame
 ters: `timing` and `styles`:\n *\n * - `timing` is a string based value that can be a combination of a duration with optional delay\n * and easing values. The format for the expression breaks down to `duration delay easing`\n * (therefore a value such as `1s 100ms ease-out` will be parse itself into `duration=1000,\n * delay=100, easing=ease-out`. If a numeric value is provided then that will be used as the\n * `duration` value in millisecond form.\n * - `styles` is the style input data which can either be a call to {\\@link style style} or {\\@link\n * keyframes keyframes}. If left empty then the styles from the destination state will be collected\n * and used (this is useful when describing an animation step that will complete an animation by\n * {\\@link transition#the-final-animate-call animating to the final state}).\n *\n * ```typescript\n * // various functions for specifying timing data\n * animate(500, style(...))\n * animate(\"1s\", style(...))\n * animate(\"100ms 0.5s\", 
 style(...))\n * animate(\"5s ease\", style(...))\n * animate(\"5s 10ms cubic-bezier(.17,.67,.88,.1)\", style(...))\n *\n * // either style() of keyframes() can be used\n * animate(500, style({ background: \"red\" }))\n * animate(500, keyframes([\n *   style({ background: \"blue\" })),\n *   style({ background: \"red\" }))\n * ])\n * ```\n *\n * {\\@example core/animation/ts/dsl/animation_example.ts region='Component'}\n *\n * \\@experimental Animation support is experimental.\n * @param {?} timings\n * @param {?=} styles\n * @return {?}\n */\nexport function animate(timings, styles = null) {\n    return { type: 4 /* Animate */, styles, timings };\n}\n/**\n * `group` is an animation-specific function that is designed to be used inside of Angular's\n * animation DSL language. If this information is new, please navigate to the {\\@link\n * Component#animations component animations metadata page} to gain a better understanding of\n * how animations in Angular are used.\n *\n * `group` s
 pecifies a list of animation steps that are all run in parallel. Grouped animations are\n * useful when a series of styles must be animated/closed off at different starting/ending times.\n *\n * The `group` function can either be used within a {\\@link sequence sequence} or a {\\@link transition\n * transition} and it will only continue to the next instruction once all of the inner animation\n * steps have completed.\n *\n * ### Usage\n *\n * The `steps` data that is passed into the `group` animation function can either consist of {\\@link\n * style style} or {\\@link animate animate} function calls. Each call to `style()` or `animate()`\n * within a group will be executed instantly (use {\\@link keyframes keyframes} or a {\\@link\n * animate#usage animate() with a delay value} to offset styles to be applied at a later time).\n *\n * ```typescript\n * group([\n *   animate(\"1s\", { background: \"black\" }))\n *   animate(\"2s\", { color: \"white\" }))\n * ])\n * ```\n *\n * {\\@exa
 mple core/animation/ts/dsl/animation_example.ts region='Component'}\n *\n * \\@experimental Animation support is experimental.\n * @param {?} steps\n * @param {?=} options\n * @return {?}\n */\nexport function group(steps, options = null) {\n    return { type: 3 /* Group */, steps, options };\n}\n/**\n * `sequence` is an animation-specific function that is designed to be used inside of Angular's\n * animation DSL language. If this information is new, please navigate to the {\\@link\n * Component#animations component animations metadata page} to gain a better understanding of\n * how animations in Angular are used.\n *\n * `sequence` Specifies a list of animation steps that are run one by one. (`sequence` is used by\n * default when an array is passed as animation data into {\\@link transition transition}.)\n *\n * The `sequence` function can either be used within a {\\@link group group} or a {\\@link transition\n * transition} and it will only continue to the next instruction once e
 ach of the inner animation\n * steps have completed.\n *\n * To perform animation styling in parallel with other animation steps then have a look at the\n * {\\@link group group} animation function.\n *\n * ### Usage\n *\n * The `steps` data that is passed into the `sequence` animation function can either consist of\n * {\\@link style style} or {\\@link animate animate} function calls. A call to `style()` will apply the\n * provided styling data immediately while a call to `animate()` will apply its styling data over a\n * given time depending on its timing data.\n *\n * ```typescript\n * sequence([\n *   style({ opacity: 0 })),\n *   animate(\"1s\", { opacity: 1 }))\n * ])\n * ```\n *\n * {\\@example core/animation/ts/dsl/animation_example.ts region='Component'}\n *\n * \\@experimental Animation support is experimental.\n * @param {?} steps\n * @param {?=} options\n * @return {?}\n */\nexport function sequence(steps, options = null) {\n    return { type: 2 /* Sequence */, steps, op
 tions };\n}\n/**\n * `style` is an animation-specific function that is designed to be used inside of Angular's\n * animation DSL language. If this information is new, please navigate to the {\\@link\n * Component#animations component animations metadata page} to gain a better understanding of\n * how animations in Angular are used.\n *\n * `style` declares a key/value object containing CSS properties/styles that can then be used for\n * {\\@link state animation states}, within an {\\@link sequence animation sequence}, or as styling data\n * for both {\\@link animate animate} and {\\@link keyframes keyframes}.\n *\n * ### Usage\n *\n * `style` takes in a key/value string map as data and expects one or more CSS property/value pairs\n * to be defined.\n *\n * ```typescript\n * // string values are used for css properties\n * style({ background: \"red\", color: \"blue\" })\n *\n * // numerical (pixel) values are also supported\n * style({ width: 100, height: 0 })\n * ```\n *\n * #### Au
 to-styles (using `*`)\n *\n * When an asterix (`*`) character is used as a value then it will be detected from the element\n * being animated and applied as animation data when the animation starts.\n *\n * This feature proves useful for a state depending on layout and/or environment factors; in such\n * cases the styles are calculated just before the animation starts.\n *\n * ```typescript\n * // the steps below will animate from 0 to the\n * // actual height of the element\n * style({ height: 0 }),\n * animate(\"1s\", style({ height: \"*\" }))\n * ```\n *\n * {\\@example core/animation/ts/dsl/animation_example.ts region='Component'}\n *\n * \\@experimental Animation support is experimental.\n * @param {?} tokens\n * @return {?}\n */\nexport function style(tokens) {\n    return { type: 6 /* Style */, styles: tokens, offset: null };\n}\n/**\n * `state` is an animation-specific function that is designed to be used inside of Angular's\n * animation DSL language. If this information is
  new, please navigate to the {\\@link\n * Component#animations component animations metadata page} to gain a better understanding of\n * how animations in Angular are used.\n *\n * `state` declares an animation state within the given trigger. When a state is active within a\n * component then its associated styles will persist on the element that the trigger is attached to\n * (even when the animation ends).\n *\n * To animate between states, have a look at the animation {\\@link transition transition} DSL\n * function. To register states to an animation trigger please have a look at the {\\@link trigger\n * trigger} function.\n *\n * #### The `void` state\n *\n * The `void` state value is a reserved word that angular uses to determine when the element is not\n * apart of the application anymore (e.g. when an `ngIf` evaluates to false then the state of the\n * associated element is void).\n *\n * #### The `*` (default) state\n *\n * The `*` state (when styled) is a fallback state th
 at will be used if the state that is being\n * animated is not declared within the trigger.\n *\n * ### Usage\n *\n * `state` will declare an animation state with its associated styles\n * within the given trigger.\n *\n * - `stateNameExpr` can be one or more state names separated by commas.\n * - `styles` refers to the {\\@link style styling data} that will be persisted on the element once\n * the state has been reached.\n *\n * ```typescript\n * // \"void\" is a reserved name for a state and is used to represent\n * // the state in which an element is detached from from the application.\n * state(\"void\", style({ height: 0 }))\n *\n * // user-defined states\n * state(\"closed\", style({ height: 0 }))\n * state(\"open, visible\", style({ height: \"*\" }))\n * ```\n *\n * {\\@example core/animation/ts/dsl/animation_example.ts region='Component'}\n *\n * \\@experimental Animation support is experimental.\n * @param {?} name\n * @param {?} styles\n * @param {?=} options\n * @return {
 ?}\n */\nexport function state(name, styles, options) {\n    return { type: 0 /* State */, name, styles, options };\n}\n/**\n * `keyframes` is an animation-specific function that is designed to be used inside of Angular's\n * animation DSL language. If this information is new, please navigate to the {\\@link\n * Component#animations component animations metadata page} to gain a better understanding of\n * how animations in Angular are used.\n *\n * `keyframes` specifies a collection of {\\@link style style} entries each optionally characterized\n * by an `offset` value.\n *\n * ### Usage\n *\n * The `keyframes` animation function is designed to be used alongside the {\\@link animate animate}\n * animation function. Instead of applying animations from where they are currently to their\n * destination, keyframes can describe how each style entry is applied and at what point within the\n * animation arc (much like CSS Keyframe Animations do).\n *\n * For each `style()` entry an `offset
 ` value can be set. Doing so allows to specifiy at what\n * percentage of the animate time the styles will be applied.\n *\n * ```typescript\n * // the provided offset values describe when each backgroundColor value is applied.\n * animate(\"5s\", keyframes([\n *   style({ backgroundColor: \"red\", offset: 0 }),\n *   style({ backgroundColor: \"blue\", offset: 0.2 }),\n *   style({ backgroundColor: \"orange\", offset: 0.3 }),\n *   style({ backgroundColor: \"black\", offset: 1 })\n * ]))\n * ```\n *\n * Alternatively, if there are no `offset` values used within the style entries then the offsets\n * will be calculated automatically.\n *\n * ```typescript\n * animate(\"5s\", keyframes([\n *   style({ backgroundColor: \"red\" }) // offset = 0\n *   style({ backgroundColor: \"blue\" }) // offset = 0.33\n *   style({ backgroundColor: \"orange\" }) // offset = 0.66\n *   style({ backgroundColor: \"black\" }) // offset = 1\n * ]))\n * ```\n *\n * {\\@example core/animation/ts/dsl/animatio
 n_example.ts region='Component'}\n *\n * \\@experimental Animation support is experimental.\n * @param {?} steps\n * @return {?}\n */\nexport function keyframes(steps) {\n    return { type: 5 /* Keyframes */, steps };\n}\n/**\n * `transition` is an animation-specific function that is designed to be used inside of Angular's\n * animation DSL language. If this information is new, please navigate to the {\\@link\n * Component#animations component animations metadata page} to gain a better understanding of\n * how animations in Angular are used.\n *\n * `transition` declares the {\\@link sequence sequence of animation steps} that will be run when the\n * provided `stateChangeExpr` value is satisfied. The `stateChangeExpr` consists of a `state1 =>\n * state2` which consists of two known states (use an asterix (`*`) to refer to a dynamic starting\n * and/or ending state).\n *\n * A function can also be provided as the `stateChangeExpr` argument for a transition and this\n * function will 
 be executed each time a state change occurs. If the value returned within the\n * function is true then the associated animation will be run.\n *\n * Animation transitions are placed within an {\\@link trigger animation trigger}. For an transition\n * to animate to a state value and persist its styles then one or more {\\@link state animation\n * states} is expected to be defined.\n *\n * ### Usage\n *\n * An animation transition is kicked off the `stateChangeExpr` predicate evaluates to true based on\n * what the previous state is and what the current state has become. In other words, if a transition\n * is defined that matches the old/current state criteria then the associated animation will be\n * triggered.\n *\n * ```typescript\n * // all transition/state changes are defined within an animation trigger\n * trigger(\"myAnimationTrigger\", [\n *   // if a state is defined then its styles will be persisted when the\n *   // animation has fully completed itself\n *   state(\"on\", 
 style({ background: \"green\" })),\n *   state(\"off\", style({ background: \"grey\" })),\n *\n *   // a transition animation that will be kicked off when the state value\n *   // bound to \"myAnimationTrigger\" changes from \"on\" to \"off\"\n *   transition(\"on => off\", animate(500)),\n *\n *   // it is also possible to do run the same animation for both directions\n *   transition(\"on <=> off\", animate(500)),\n *\n *   // or to define multiple states pairs separated by commas\n *   transition(\"on => off, off => void\", animate(500)),\n *\n *   // this is a catch-all state change for when an element is inserted into\n *   // the page and the destination state is unknown\n *   transition(\"void => *\", [\n *     style({ opacity: 0 }),\n *     animate(500)\n *   ]),\n *\n *   // this will capture a state change between any states\n *   transition(\"* => *\", animate(\"1s 0s\")),\n *\n *   // you can also go full out and include a function\n *   transition((fromState, toState) =
 > {\n *     // when `true` then it will allow the animation below to be invoked\n *     return fromState == \"off\" && toState == \"on\";\n *   }, animate(\"1s 0s\"))\n * ])\n * ```\n *\n * The template associated with this component will make use of the `myAnimationTrigger` animation\n * trigger by binding to an element within its template code.\n *\n * ```html\n * <!-- somewhere inside of my-component-tpl.html -->\n * <div [\\@myAnimationTrigger]=\"myStatusExp\">...</div>\n * ```\n *\n * #### The final `animate` call\n *\n * If the final step within the transition steps is a call to `animate()` that **only** uses a\n * timing value with **no style data** then it will be automatically used as the final animation arc\n * for the element to animate itself to the final state. This involves an automatic mix of\n * adding/removing CSS styles so that the element will be in the exact state it should be for the\n * applied state to be presented correctly.\n *\n * ```\n * // start off by hi
 ding the element, but make sure that it animates properly to whatever state\n * // is currently active for \"myAnimationTrigger\"\n * transition(\"void => *\", [\n *   style({ opacity: 0 }),\n *   animate(500)\n * ])\n * ```\n *\n * ### Using :enter and :leave\n *\n * Given that enter (insertion) and leave (removal) animations are so common, the `transition`\n * function accepts both `:enter` and `:leave` values which are aliases for the `void => *` and `*\n * => void` state changes.\n *\n * ```\n * transition(\":enter\", [\n *   style({ opacity: 0 }),\n *   animate(500, style({ opacity: 1 }))\n * ]),\n * transition(\":leave\", [\n *   animate(500, style({ opacity: 0 }))\n * ])\n * ```\n *\n * ### Boolean values\n * if a trigger binding value is a boolean value then it can be matched using a transition\n * expression that compares `true` and `false` or `1` and `0`.\n *\n * ```\n * // in the template\n * <div [\\@openClose]=\"open ? true : false\">...</div>\n *\n * // in the componen
 t metadata\n * trigger('openClose', [\n *   state('true', style({ height: '*' })),\n *   state('false', style({ height: '0px' })),\n *   transition('false <=> true', animate(500))\n * ])\n * ```\n *\n * ### Using :increment and :decrement\n * In addition to the :enter and :leave transition aliases, the :increment and :decrement aliases\n * can be used to kick off a transition when a numeric value has increased or decreased in value.\n *\n * ```\n * import {group, animate, query, transition, style, trigger} from '\\@angular/animations';\n * import {Component} from '\\@angular/core';\n *\n * \\@Component({\n *   selector: 'banner-carousel-component',\n *   styles: [`\n *     .banner-container {\n *        position:relative;\n *        height:500px;\n *        overflow:hidden;\n *      }\n *     .banner-container > .banner {\n *        position:absolute;\n *        left:0;\n *        top:0;\n *        font-size:200px;\n *        line-height:500px;\n *        font-weight:bold;\n *      
   text-align:center;\n *        width:100%;\n *      }\n *   `],\n *   template: `\n *     <button (click)=\"previous()\">Previous</button>\n *     <button (click)=\"next()\">Next</button>\n *     <hr>\n *     <div [\\@bannerAnimation]=\"selectedIndex\" class=\"banner-container\">\n *       <div class=\"banner\"> {{ banner }} </div>\n *     </div>\n *   `\n *   animations: [\n *     trigger('bannerAnimation', [\n *       transition(\":increment\", group([\n *         query(':enter', [\n *           style({ left: '100%' }),\n *           animate('0.5s ease-out', style('*'))\n *         ]),\n *         query(':leave', [\n *           animate('0.5s ease-out', style({ left: '-100%' }))\n *         ])\n *       ])),\n *       transition(\":decrement\", group([\n *         query(':enter', [\n *           style({ left: '-100%' }),\n *           animate('0.5s ease-out', style('*'))\n *         ]),\n *         query(':leave', [\n *           animate('0.5s ease-out', style({ left: '100%' }))\
 n *         ])\n *       ])),\n *     ])\n *   ]\n * })\n * class BannerCarouselComponent {\n *   allBanners: string[] = ['1', '2', '3', '4'];\n *   selectedIndex: number = 0;\n *\n *   get banners() {\n *      return [this.allBanners[this.selectedIndex]];\n *   }\n *\n *   previous() {\n *     this.selectedIndex = Math.max(this.selectedIndex - 1, 0);\n *   }\n *\n *   next() {\n *     this.selectedIndex = Math.min(this.selectedIndex + 1, this.allBanners.length - 1);\n *   }\n * }\n * ```\n *\n * {\\@example core/animation/ts/dsl/animation_example.ts region='Component'}\n *\n * \\@experimental Animation support is experimental.\n * @param {?} stateChangeExpr\n * @param {?} steps\n * @param {?=} options\n * @return {?}\n */\nexport function transition(stateChangeExpr, steps, options = null) {\n    return { type: 1 /* Transition */, expr: stateChangeExpr, animation: steps, options };\n}\n/**\n * `animation` is an animation-specific function that is designed to be used inside of Angula
 r's\n * animation DSL language.\n *\n * `var myAnimation = animation(...)` is designed to produce a reusable animation that can be later\n * invoked in another animation or sequence. Reusable animations are designed to make use of\n * animation parameters and the produced animation can be used via the `useAnimation` method.\n *\n * ```\n * var fadeAnimation = animation([\n *   style({ opacity: '{{ start }}' }),\n *   animate('{{ time }}',\n *     style({ opacity: '{{ end }}'}))\n * ], { params: { time: '1000ms', start: 0, end: 1 }});\n * ```\n *\n * If parameters are attached to an animation then they act as **default parameter values**. When an\n * animation is invoked via `useAnimation` then parameter values are allowed to be passed in\n * directly. If any of the passed in parameter values are missing then the default values will be\n * used.\n *\n * ```\n * useAnimation(fadeAnimation, {\n *   params: {\n *     time: '2s',\n *     start: 1,\n *     end: 0\n *   }\n * })\n * ```\n 
 *\n * If one or more parameter values are missing before animated then an error will be thrown.\n *\n * \\@experimental Animation support is experimental.\n * @param {?} steps\n * @param {?=} options\n * @return {?}\n */\nexport function animation(steps, options = null) {\n    return { type: 8 /* Reference */, animation: steps, options };\n}\n/**\n * `animateChild` is an animation-specific function that is designed to be used inside of Angular's\n * animation DSL language. It works by allowing a queried element to execute its own\n * animation within the animation sequence.\n *\n * Each time an animation is triggered in angular, the parent animation\n * will always get priority and any child animations will be blocked. In order\n * for a child animation to run, the parent animation must query each of the elements\n * containing child animations and then allow the animations to run using `animateChild`.\n *\n * The example HTML code below shows both parent and child elements that hav
 e animation\n * triggers that will execute at the same time.\n *\n * ```html\n * <!-- parent-child.component.html -->\n * <button (click)=\"exp =! exp\">Toggle</button>\n * <hr>\n *\n * <div [\\@parentAnimation]=\"exp\">\n *   <header>Hello</header>\n *   <div [\\@childAnimation]=\"exp\">\n *       one\n *   </div>\n *   <div [\\@childAnimation]=\"exp\">\n *       two\n *   </div>\n *   <div [\\@childAnimation]=\"exp\">\n *       three\n *   </div>\n * </div>\n * ```\n *\n * Now when the `exp` value changes to true, only the `parentAnimation` animation will animate\n * because it has priority. However, using `query` and `animateChild` each of the inner animations\n * can also fire:\n *\n * ```ts\n * // parent-child.component.ts\n * import {trigger, transition, animate, style, query, animateChild} from '\\@angular/animations';\n * \\@Component({\n *   selector: 'parent-child-component',\n *   animations: [\n *     trigger('parentAnimation', [\n *       transition('false => true', [\n
  *         query('header', [\n *           style({ opacity: 0 }),\n *           animate(500, style({ opacity: 1 }))\n *         ]),\n *         query('\\@childAnimation', [\n *           animateChild()\n *         ])\n *       ])\n *     ]),\n *     trigger('childAnimation', [\n *       transition('false => true', [\n *         style({ opacity: 0 }),\n *         animate(500, style({ opacity: 1 }))\n *       ])\n *     ])\n *   ]\n * })\n * class ParentChildCmp {\n *   exp: boolean = false;\n * }\n * ```\n *\n * In the animation code above, when the `parentAnimation` transition kicks off it first queries to\n * find the header element and fades it in. It then finds each of the sub elements that contain the\n * `\\@childAnimation` trigger and then allows for their animations to fire.\n *\n * This example can be further extended by using stagger:\n *\n * ```ts\n * query('\\@childAnimation', stagger(100, [\n *   animateChild()\n * ]))\n * ```\n *\n * Now each of the sub animations start
  off with respect to the `100ms` staggering step.\n *\n * ## The first frame of child animations\n * When sub animations are executed using `animateChild` the animation engine will always apply the\n * first frame of every sub animation immediately at the start of the animation sequence. This way\n * the parent animation does not need to set any initial styling data on the sub elements before the\n * sub animations kick off.\n *\n * In the example above the first frame of the `childAnimation`'s `false => true` transition\n * consists of a style of `opacity: 0`. This is applied immediately when the `parentAnimation`\n * animation transition sequence starts. Only then when the `\\@childAnimation` is queried and called\n * with `animateChild` will it then animate to its destination of `opacity: 1`.\n *\n * Note that this feature designed to be used alongside {\\@link query query()} and it will only work\n * with animations that are assigned using the Angular animation DSL (this means t
 hat CSS keyframes\n * and transitions are not handled by this API).\n *\n * \\@experimental Animation support is experimental.\n * @param {?=} options\n * @return {?}\n */\nexport function animateChild(options = null) {\n    return { type: 9 /* AnimateChild */, options };\n}\n/**\n * `useAnimation` is an animation-specific function that is designed to be used inside of Angular's\n * animation DSL language. It is used to kick off a reusable animation that is created using {\\@link\n * animation animation()}.\n *\n * \\@experimental Animation support is experimental.\n * @param {?} animation\n * @param {?=} options\n * @return {?}\n */\nexport function useAnimation(animation, options = null) {\n    return { type: 10 /* AnimateRef */, animation, options };\n}\n/**\n * `query` is an animation-specific function that is designed to be used inside of Angular's\n * animation DSL language.\n *\n * query() is used to find one or more inner elements within the current element that is\n * being
  animated within the sequence. The provided animation steps are applied\n * to the queried element (by default, an array is provided, then this will be\n * treated as an animation sequence).\n *\n * ### Usage\n *\n * query() is designed to collect mutiple elements and works internally by using\n * `element.querySelectorAll`. An additional options object can be provided which\n * can be used to limit the total amount of items to be collected.\n *\n * ```js\n * query('div', [\n *   animate(...),\n *   animate(...)\n * ], { limit: 1 })\n * ```\n *\n * query(), by default, will throw an error when zero items are found. If a query\n * has the `optional` flag set to true then this error will be ignored.\n *\n * ```js\n * query('.some-element-that-may-not-be-there', [\n *   animate(...),\n *   animate(...)\n * ], { optional: true })\n * ```\n *\n * ### Special Selector Values\n *\n * The selector value within a query can collect elements that contain angular-specific\n * characteristics\n 
 * using special pseudo-selectors tokens.\n *\n * These include:\n *\n *  - Querying for newly inserted/removed elements using `query(\":enter\")`/`query(\":leave\")`\n *  - Querying all currently animating elements using `query(\":animating\")`\n *  - Querying elements that contain an animation trigger using `query(\"\\@triggerName\")`\n *  - Querying all elements that contain an animation triggers using `query(\"\\@*\")`\n *  - Including the current element into the animation sequence using `query(\":self\")`\n *\n *\n *  Each of these pseudo-selector tokens can be merged together into a combined query selector\n * string:\n *\n *  ```\n *  query(':self, .record:enter, .record:leave, \\@subTrigger', [...])\n *  ```\n *\n * ### Demo\n *\n * ```\n * \\@Component({\n *   selector: 'inner',\n *   template: `\n *     <div [\\@queryAnimation]=\"exp\">\n *       <h1>Title</h1>\n *       <div class=\"content\">\n *         Blah blah blah\n *       </div>\n *     </div>\n *   `,\n *   anima
 tions: [\n *    trigger('queryAnimation', [\n *      transition('* => goAnimate', [\n *        // hide the inner elements\n *        query('h1', style({ opacity: 0 })),\n *        query('.content', style({ opacity: 0 })),\n *\n *        // animate the inner elements in, one by one\n *        query('h1', animate(1000, style({ opacity: 1 })),\n *        query('.content', animate(1000, style({ opacity: 1 })),\n *      ])\n *    ])\n *  ]\n * })\n * class Cmp {\n *   exp = '';\n *\n *   goAnimate() {\n *     this.exp = 'goAnimate';\n *   }\n * }\n * ```\n *\n * \\@experimental Animation support is experimental.\n * @param {?} selector\n * @param {?} animation\n * @param {?=} options\n * @return {?}\n */\nexport function query(selector, animation, options = null) {\n    return { type: 11 /* Query */, selector, animation, options };\n}\n/**\n * `stagger` is an animation-specific function that is designed to be used inside of Angular's\n * animation DSL language. It is designed to be used 
 inside of an animation {\\@link query query()}\n * and works by issuing a timing gap between after each queried item is animated.\n *\n * ### Usage\n *\n * In the example below there is a container element that wraps a list of items stamped out\n * by an ngFor. The container element contains an animation trigger that will later be set\n * to query for each of the inner items.\n *\n * ```html\n * <!-- list.component.html -->\n * <button (click)=\"toggle()\">Show / Hide Items</button>\n * <hr />\n * <div [\\@listAnimation]=\"items.length\">\n *   <div *ngFor=\"let item of items\">\n *     {{ item }}\n *   </div>\n * </div>\n * ```\n *\n * The component code for this looks as such:\n *\n * ```ts\n * import {trigger, transition, style, animate, query, stagger} from '\\@angular/animations';\n * \\@Component({\n *   templateUrl: 'list.component.html',\n *   animations: [\n *     trigger('listAnimation', [\n *        //...\n *     ])\n *   ]\n * })\n * class ListComponent {\n *   items = [
 ];\n *\n *   showItems() {\n *     this.items = [0,1,2,3,4];\n *   }\n *\n *   hideItems() {\n *     this.items = [];\n *   }\n *\n *   toggle() {\n *     this.items.length ? this.hideItems() : this.showItems();\n *   }\n * }\n * ```\n *\n * And now for the animation trigger code:\n *\n * ```ts\n * trigger('listAnimation', [\n *   transition('* => *', [ // each time the binding value changes\n *     query(':leave', [\n *       stagger(100, [\n *         animate('0.5s', style({ opacity: 0 }))\n *       ])\n *     ]),\n *     query(':enter', [\n *       style({ opacity: 0 }),\n *       stagger(100, [\n *         animate('0.5s', style({ opacity: 1 }))\n *       ])\n *     ])\n *   ])\n * ])\n * ```\n *\n * Now each time the items are added/removed then either the opacity\n * fade-in animation will run or each removed item will be faded out.\n * When either of these animations occur then a stagger effect will be\n * applied after each item's animation is started.\n *\n * \\@experimental
  Animation support is experimental.\n * @param {?} timings\n * @param {?} animation\n * @return {?}\n */\nexport function stagger(timings, animation) {\n    return { type: 12 /* Stagger */, timings, animation };\n}\n//# sourceMappingURL=animation_metadata.js.map","/**\n * @fileoverview added by tsickle\n * @suppress {checkTypes} checked by tsc\n */\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n * @param {?} cb\n * @return {?}\n */\nexport function scheduleMicroTask(cb) {\n    Promise.resolve(null).then(cb);\n}\n//# sourceMappingURL=util.js.map","/**\n * @fileoverview added by tsickle\n * @suppress {checkTypes} checked by tsc\n */\nimport { scheduleMicroTask } from '../util';\n/**\n * AnimationPlayer controls an animation sequence that was produced from a programmatic animation.\n * (see {\\@link AnimationBuilder AnimationBuil
 der} for more information on how to create programmatic\n * animations.)\n *\n * \\@experimental Animation support is experimental.\n * @record\n */\nexport function AnimationPlayer() { }\nfunction AnimationPlayer_tsickle_Closure_declarations() {\n    /** @type {?} */\n    AnimationPlayer.prototype.onDone;\n    /** @type {?} */\n    AnimationPlayer.prototype.onStart;\n    /** @type {?} */\n    AnimationPlayer.prototype.onDestroy;\n    /** @type {?} */\n    AnimationPlayer.prototype.init;\n    /** @type {?} */\n    AnimationPlayer.prototype.hasStarted;\n    /** @type {?} */\n    AnimationPlayer.prototype.play;\n    /** @type {?} */\n    AnimationPlayer.prototype.pause;\n    /** @type {?} */\n    AnimationPlayer.prototype.restart;\n    /** @type {?} */\n    AnimationPlayer.prototype.finish;\n    /** @type {?} */\n    AnimationPlayer.prototype.destroy;\n    /** @type {?} */\n    AnimationPlayer.prototype.reset;\n    /** @type {?} */\n    AnimationPlayer.prototype.setPosition;\n    /** 
 @type {?} */\n    AnimationPlayer.prototype.getPosition;\n    /** @type {?} */\n    AnimationPlayer.prototype.parentPlayer;\n    /** @type {?} */\n    AnimationPlayer.prototype.totalTime;\n    /** @type {?|undefined} */\n    AnimationPlayer.prototype.beforeDestroy;\n    /** @type {?|undefined} */\n    AnimationPlayer.prototype.triggerCallback;\n}\n/**\n * \\@experimental Animation support is experimental.\n */\nexport class NoopAnimationPlayer {\n    constructor() {\n        this._onDoneFns = [];\n        this._onStartFns = [];\n        this._onDestroyFns = [];\n        this._started = false;\n        this._destroyed = false;\n        this._finished = false;\n        this.parentPlayer = null;\n        this.totalTime = 0;\n    }\n    /**\n     * @return {?}\n     */\n    _onFinish() {\n        if (!this._finished) {\n            this._finished = true;\n            this._onDoneFns.forEach(fn => fn());\n            this._onDoneFns = [];\n        }\n    }\n    /**\n     * @param {?} fn\
 n     * @return {?}\n     */\n    onStart(fn) { this._onStartFns.push(fn); }\n    /**\n     * @param {?} fn\n     * @return {?}\n     */\n    onDone(fn) { this._onDoneFns.push(fn); }\n    /**\n     * @param {?} fn\n     * @return {?}\n     */\n    onDestroy(fn) { this._onDestroyFns.push(fn); }\n    /**\n     * @return {?}\n     */\n    hasStarted() { return this._started; }\n    /**\n     * @return {?}\n     */\n    init() { }\n    /**\n     * @return {?}\n     */\n    play() {\n        if (!this.hasStarted()) {\n            this._onStart();\n            this.triggerMicrotask();\n        }\n        this._started = true;\n    }\n    /**\n     * @return {?}\n     */\n    triggerMicrotask() { scheduleMicroTask(() => this._onFinish()); }\n    /**\n     * @return {?}\n     */\n    _onStart() {\n        this._onStartFns.forEach(fn => fn());\n        this._onStartFns = [];\n    }\n    /**\n     * @return {?}\n     */\n    pause() { }\n    /**\n     * @return {?}\n     */\n    restart() { }
 \n    /**\n     * @return {?}\n     */\n    finish() { this._onFinish(); }\n    /**\n     * @return {?}\n     */\n    destroy() {\n        if (!this._destroyed) {\n            this._destroyed = true;\n            if (!this.hasStarted()) {\n                this._onStart();\n            }\n            this.finish();\n            this._onDestroyFns.forEach(fn => fn());\n            this._onDestroyFns = [];\n        }\n    }\n    /**\n     * @return {?}\n     */\n    reset() { }\n    /**\n     * @param {?} p\n     * @return {?}\n     */\n    setPosition(p) { }\n    /**\n     * @return {?}\n     */\n    getPosition() { return 0; }\n    /**\n     * @param {?} phaseName\n     * @return {?}\n     */\n    triggerCallback(phaseName) {\n        const /** @type {?} */ methods = phaseName == 'start' ? this._onStartFns : this._onDoneFns;\n        methods.forEach(fn => fn());\n        methods.length = 0;\n    }\n}\nfunction NoopAnimationPlayer_tsickle_Closure_declarations() {\n    /** @type {?} */
 \n    NoopAnimationPlayer.prototype._onDoneFns;\n    /** @type {?} */\n    NoopAnimationPlayer.prototype._onStartFns;\n    /** @type {?} */\n    NoopAnimationPlayer.prototype._onDestroyFns;\n    /** @type {?} */\n    NoopAnimationPlayer.prototype._started;\n    /** @type {?} */\n    NoopAnimationPlayer.prototype._destroyed;\n    /** @type {?} */\n    NoopAnimationPlayer.prototype._finished;\n    /** @type {?} */\n    NoopAnimationPlayer.prototype.parentPlayer;\n    /** @type {?} */\n    NoopAnimationPlayer.prototype.totalTime;\n}\n//# sourceMappingURL=animation_player.js.map","/**\n * @fileoverview added by tsickle\n * @suppress {checkTypes} checked by tsc\n */\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nimport { scheduleMicroTask } from '../util';\nexport class AnimationGroupPlayer {\n    /**\n     * @param {?} _playe
 rs\n     */\n    constructor(_players) {\n        this._onDoneFns = [];\n        this._onStartFns = [];\n        this._finished = false;\n        this._started = false;\n        this._destroyed = false;\n        this._onDestroyFns = [];\n        this.parentPlayer = null;\n        this.totalTime = 0;\n        this.players = _players;\n        let /** @type {?} */ doneCount = 0;\n        let /** @type {?} */ destroyCount = 0;\n        let /** @type {?} */ startCount = 0;\n        const /** @type {?} */ total = this.players.length;\n        if (total == 0) {\n            scheduleMicroTask(() => this._onFinish());\n        }\n        else {\n            this.players.forEach(player => {\n                player.onDone(() => {\n                    if (++doneCount == total) {\n                        this._onFinish();\n                    }\n                });\n                player.onDestroy(() => {\n                    if (++destroyCount == total) {\n                        this._onDest
 roy();\n                    }\n                });\n                player.onStart(() => {\n                    if (++startCount == total) {\n                        this._onStart();\n                    }\n                });\n            });\n        }\n        this.totalTime = this.players.reduce((time, player) => Math.max(time, player.totalTime), 0);\n    }\n    /**\n     * @return {?}\n     */\n    _onFinish() {\n        if (!this._finished) {\n            this._finished = true;\n            this._onDoneFns.forEach(fn => fn());\n            this._onDoneFns = [];\n        }\n    }\n    /**\n     * @return {?}\n     */\n    init() { this.players.forEach(player => player.init()); }\n    /**\n     * @param {?} fn\n     * @return {?}\n     */\n    onStart(fn) { this._onStartFns.push(fn); }\n    /**\n     * @return {?}\n     */\n    _onStart() {\n        if (!this.hasStarted()) {\n            this._started = true;\n            this._onStartFns.forEach(fn => fn());\n            this._
 onStartFns = [];\n        }\n    }\n    /**\n     * @param {?} fn\n     * @return {?}\n     */\n    onDone(fn) { this._onDoneFns.push(fn); }\n    /**\n     * @param {?} fn\n     * @return {?}\n     */\n    onDestroy(fn) { this._onDestroyFns.push(fn); }\n    /**\n     * @return {?}\n     */\n    hasStarted() { return this._started; }\n    /**\n     * @return {?}\n     */\n    play() {\n        if (!this.parentPlayer) {\n            this.init();\n        }\n        this._onStart();\n        this.players.forEach(player => player.play());\n    }\n    /**\n     * @return {?}\n     */\n    pause() { this.players.forEach(player => player.pause()); }\n    /**\n     * @return {?}\n     */\n    restart() { this.players.forEach(player => player.restart()); }\n    /**\n     * @return {?}\n     */\n    finish() {\n        this._onFinish();\n        this.players.forEach(player => player.finish());\n    }\n    /**\n     * @return {?}\n     */\n    destroy() { this._onDestroy(); }\n    /**\n     * 
 @return {?}\n     */\n    _onDestroy() {\n        if (!this._destroyed) {\n            this._destroyed = true;\n            this._onFinish();\n            this.players.forEach(player => player.destroy());\n            this._onDestroyFns.forEach(fn => fn());\n            this._onDestroyFns = [];\n        }\n    }\n    /**\n     * @return {?}\n     */\n    reset() {\n        this.players.forEach(player => player.reset());\n        this._destroyed = false;\n        this._finished = false;\n        this._started = false;\n    }\n    /**\n     * @param {?} p\n     * @return {?}\n     */\n    setPosition(p) {\n        const /** @type {?} */ timeAtPosition = p * this.totalTime;\n        this.players.forEach(player => {\n            const /** @type {?} */ position = player.totalTime ? Math.min(1, timeAtPosition / player.totalTime) : 1;\n            player.setPosition(position);\n        });\n    }\n    /**\n     * @return {?}\n     */\n    getPosition() {\n        let /** @type {?} */ min =
  0;\n        this.players.forEach(player => {\n            const /** @type {?} */ p = player.getPosition();\n            min = Math.min(p, min);\n        });\n        return min;\n    }\n    /**\n     * @return {?}\n     */\n    beforeDestroy() {\n        this.players.forEach(player => {\n            if (player.beforeDestroy) {\n                player.beforeDestroy();\n            }\n        });\n    }\n    /**\n     * @param {?} phaseName\n     * @return {?}\n     */\n    triggerCallback(phaseName) {\n        const /** @type {?} */ methods = phaseName == 'start' ? this._onStartFns : this._onDoneFns;\n        methods.forEach(fn => fn());\n        methods.length = 0;\n    }\n}\nfunction AnimationGroupPlayer_tsickle_Closure_declarations() {\n    /** @type {?} */\n    AnimationGroupPlayer.prototype._onDoneFns;\n    /** @type {?} */\n    AnimationGroupPlayer.prototype._onStartFns;\n    /** @type {?} */\n    AnimationGroupPlayer.prototype._finished;\n    /** @type {?} */\n    AnimationGr
 oupPlayer.prototype._started;\n    /** @type {?} */\n    AnimationGroupPlayer.prototype._destroyed;\n    /** @type {?} */\n    AnimationGroupPlayer.prototype._onDestroyFns;\n    /** @type {?} */\n    AnimationGroupPlayer.prototype.parentPlayer;\n    /** @type {?} */\n    AnimationGroupPlayer.prototype.totalTime;\n    /** @type {?} */\n    AnimationGroupPlayer.prototype.players;\n}\n//# sourceMappingURL=animation_group_player.js.map","/**\n * @fileoverview added by tsickle\n * @suppress {checkTypes} checked by tsc\n */\nexport { AnimationGroupPlayer as ɵAnimationGroupPlayer } from './players/animation_group_player';\nexport const /** @type {?} */ ɵPRE_STYLE = '!';\n//# sourceMappingURL=private_export.js.map","/**\n * @fileoverview added by tsickle\n * @suppress {checkTypes} checked by tsc\n */\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angul
 ar.io/license\n */\nexport { AnimationBuilder, AnimationFactory } from './animation_builder';\nexport { AUTO_STYLE, animate, animateChild, animation, group, keyframes, query, sequence, stagger, state, style, transition, trigger, useAnimation } from './animation_metadata';\nexport { NoopAnimationPlayer } from './players/animation_player';\nexport { ɵAnimationGroupPlayer, ɵPRE_STYLE } from './private_export';\n//# sourceMappingURL=animations.js.map","/**\n * @fileoverview added by tsickle\n * @suppress {checkTypes} checked by tsc\n */\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * @module\n * @description\n * Entry point for all public APIs of this package.\n */\nexport { AnimationBuilder, AnimationFactory, AUTO_STYLE, animate, animateChild, animation, group, keyframes, query, sequence, stagger, state, style, tran
 sition, trigger, useAnimation, NoopAnimationPlayer, ɵAnimationGroupPlayer, ɵPRE_STYLE } from './src/animations';\n//# sourceMappingURL=public_api.js.map","/**\n * @fileoverview added by tsickle\n * @suppress {checkTypes} checked by tsc\n */\n/**\n * Generated bundle index. Do not edit.\n */\nexport { AnimationBuilder, AnimationFactory, AUTO_STYLE, animate, animateChild, animation, group, keyframes, query, sequence, stagger, state, style, transition, trigger, useAnimation, NoopAnimationPlayer, ɵAnimationGroupPlayer, ɵPRE_STYLE } from './public_api';\n//# sourceMappingURL=animations.js.map"],"names":[],"mappings":"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"}
\ No newline at end of file


[36/59] [abbrv] [partial] nifi-fds git commit: update gh-pages

Posted by sc...@apache.org.
http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/eec354e6/node_modules/@angular/animations/esm2015/animations.js
----------------------------------------------------------------------
diff --git a/node_modules/@angular/animations/esm2015/animations.js b/node_modules/@angular/animations/esm2015/animations.js
new file mode 100644
index 0000000..3a864ac
--- /dev/null
+++ b/node_modules/@angular/animations/esm2015/animations.js
@@ -0,0 +1,1509 @@
+/**
+ * @license Angular v5.2.0
+ * (c) 2010-2018 Google, Inc. https://angular.io/
+ * License: MIT
+ */
+/**
+ * @fileoverview added by tsickle
+ * @suppress {checkTypes} checked by tsc
+ */
+/**
+ * AnimationBuilder is an injectable service that is available when the {\@link
+ * BrowserAnimationsModule BrowserAnimationsModule} or {\@link NoopAnimationsModule
+ * NoopAnimationsModule} modules are used within an application.
+ *
+ * The purpose if this service is to produce an animation sequence programmatically within an
+ * angular component or directive.
+ *
+ * Programmatic animations are first built and then a player is created when the build animation is
+ * attached to an element.
+ *
+ * ```ts
+ * // remember to include the BrowserAnimationsModule module for this to work...
+ * import {AnimationBuilder} from '\@angular/animations';
+ *
+ * class MyCmp {
+ *   constructor(private _builder: AnimationBuilder) {}
+ *
+ *   makeAnimation(element: any) {
+ *     // first build the animation
+ *     const myAnimation = this._builder.build([
+ *       style({ width: 0 }),
+ *       animate(1000, style({ width: '100px' }))
+ *     ]);
+ *
+ *     // then create a player from it
+ *     const player = myAnimation.create(element);
+ *
+ *     player.play();
+ *   }
+ * }
+ * ```
+ *
+ * When an animation is built an instance of {\@link AnimationFactory AnimationFactory} will be
+ * returned. Using that an {\@link AnimationPlayer AnimationPlayer} can be created which can then be
+ * used to start the animation.
+ *
+ * \@experimental Animation support is experimental.
+ * @abstract
+ */
+class AnimationBuilder {
+}
+/**
+ * An instance of `AnimationFactory` is returned from {\@link AnimationBuilder#build
+ * AnimationBuilder.build}.
+ *
+ * \@experimental Animation support is experimental.
+ * @abstract
+ */
+class AnimationFactory {
+}
+
+/**
+ * @fileoverview added by tsickle
+ * @suppress {checkTypes} checked by tsc
+ */
+/**
+ * @license
+ * Copyright Google Inc. All Rights Reserved.
+ *
+ * Use of this source code is governed by an MIT-style license that can be
+ * found in the LICENSE file at https://angular.io/license
+ * @record
+ */
+
+/**
+ * \@experimental Animation support is experimental.
+ */
+const AUTO_STYLE = '*';
+/**
+ * \@experimental Animation support is experimental.
+ * @record
+ */
+
+/**
+ * Metadata representing the entry of animations. Instances of this interface are provided via the
+ * animation DSL when the {\@link trigger trigger animation function} is called.
+ *
+ * \@experimental Animation support is experimental.
+ * @record
+ */
+
+/**
+ * Metadata representing the entry of animations. Instances of this interface are provided via the
+ * animation DSL when the {\@link state state animation function} is called.
+ *
+ * \@experimental Animation support is experimental.
+ * @record
+ */
+
+/**
+ * Metadata representing the entry of animations. Instances of this interface are provided via the
+ * animation DSL when the {\@link transition transition animation function} is called.
+ *
+ * \@experimental Animation support is experimental.
+ * @record
+ */
+
+/**
+ * \@experimental Animation support is experimental.
+ * @record
+ */
+
+/**
+ * \@experimental Animation support is experimental.
+ * @record
+ */
+
+/**
+ * Metadata representing the entry of animations. Instances of this interface are provided via the
+ * animation DSL when the {\@link keyframes keyframes animation function} is called.
+ *
+ * \@experimental Animation support is experimental.
+ * @record
+ */
+
+/**
+ * Metadata representing the entry of animations. Instances of this interface are provided via the
+ * animation DSL when the {\@link style style animation function} is called.
+ *
+ * \@experimental Animation support is experimental.
+ * @record
+ */
+
+/**
+ * Metadata representing the entry of animations. Instances of this interface are provided via the
+ * animation DSL when the {\@link animate animate animation function} is called.
+ *
+ * \@experimental Animation support is experimental.
+ * @record
+ */
+
+/**
+ * Metadata representing the entry of animations. Instances of this interface are provided via the
+ * animation DSL when the {\@link animateChild animateChild animation function} is called.
+ *
+ * \@experimental Animation support is experimental.
+ * @record
+ */
+
+/**
+ * Metadata representing the entry of animations. Instances of this interface are provided via the
+ * animation DSL when the {\@link useAnimation useAnimation animation function} is called.
+ *
+ * \@experimental Animation support is experimental.
+ * @record
+ */
+
+/**
+ * Metadata representing the entry of animations. Instances of this interface are provided via the
+ * animation DSL when the {\@link sequence sequence animation function} is called.
+ *
+ * \@experimental Animation support is experimental.
+ * @record
+ */
+
+/**
+ * Metadata representing the entry of animations. Instances of this interface are provided via the
+ * animation DSL when the {\@link group group animation function} is called.
+ *
+ * \@experimental Animation support is experimental.
+ * @record
+ */
+
+/**
+ * Metadata representing the entry of animations. Instances of this interface are provided via the
+ * animation DSL when the {\@link stagger stagger animation function} is called.
+ *
+ * \@experimental Animation support is experimental.
+ * @record
+ */
+
+/**
+ * `trigger` is an animation-specific function that is designed to be used inside of Angular's
+ * animation DSL language. If this information is new, please navigate to the
+ * {\@link Component#animations component animations metadata page} to gain a better
+ * understanding of how animations in Angular are used.
+ *
+ * `trigger` Creates an animation trigger which will a list of {\@link state state} and
+ * {\@link transition transition} entries that will be evaluated when the expression
+ * bound to the trigger changes.
+ *
+ * Triggers are registered within the component annotation data under the
+ * {\@link Component#animations animations section}. An animation trigger can be placed on an element
+ * within a template by referencing the name of the trigger followed by the expression value that
+ * the
+ * trigger is bound to (in the form of `[\@triggerName]="expression"`.
+ *
+ * Animation trigger bindings strigify values and then match the previous and current values against
+ * any linked transitions. If a boolean value is provided into the trigger binding then it will both
+ * be represented as `1` or `true` and `0` or `false` for a true and false boolean values
+ * respectively.
+ *
+ * ### Usage
+ *
+ * `trigger` will create an animation trigger reference based on the provided `name` value. The
+ * provided `animation` value is expected to be an array consisting of {\@link state state} and
+ * {\@link transition transition} declarations.
+ *
+ * ```typescript
+ * \@Component({
+ *   selector: 'my-component',
+ *   templateUrl: 'my-component-tpl.html',
+ *   animations: [
+ *     trigger("myAnimationTrigger", [
+ *       state(...),
+ *       state(...),
+ *       transition(...),
+ *       transition(...)
+ *     ])
+ *   ]
+ * })
+ * class MyComponent {
+ *   myStatusExp = "something";
+ * }
+ * ```
+ *
+ * The template associated with this component will make use of the `myAnimationTrigger` animation
+ * trigger by binding to an element within its template code.
+ *
+ * ```html
+ * <!-- somewhere inside of my-component-tpl.html -->
+ * <div [\@myAnimationTrigger]="myStatusExp">...</div>
+ * ```
+ *
+ * ## Disable Animations
+ * A special animation control binding called `\@.disabled` can be placed on an element which will
+ * then disable animations for any inner animation triggers situated within the element as well as
+ * any animations on the element itself.
+ *
+ * When true, the `\@.disabled` binding will prevent all animations from rendering. The example
+ * below shows how to use this feature:
+ *
+ * ```ts
+ * \@Component({
+ *   selector: 'my-component',
+ *   template: `
+ *     <div [\@.disabled]="isDisabled">
+ *       <div [\@childAnimation]="exp"></div>
+ *     </div>
+ *   `,
+ *   animations: [
+ *     trigger("childAnimation", [
+ *       // ...
+ *     ])
+ *   ]
+ * })
+ * class MyComponent {
+ *   isDisabled = true;
+ *   exp = '...';
+ * }
+ * ```
+ *
+ * The `\@childAnimation` trigger will not animate because `\@.disabled` prevents it from happening
+ * (when true).
+ *
+ * Note that `\@.disbled` will only disable all animations (this means any animations running on
+ * the same element will also be disabled).
+ *
+ * ### Disabling Animations Application-wide
+ * When an area of the template is set to have animations disabled, **all** inner components will
+ * also have their animations disabled as well. This means that all animations for an angular
+ * application can be disabled by placing a host binding set on `\@.disabled` on the topmost Angular
+ * component.
+ *
+ * ```ts
+ * import {Component, HostBinding} from '\@angular/core';
+ *
+ * \@Component({
+ *   selector: 'app-component',
+ *   templateUrl: 'app.component.html',
+ * })
+ * class AppComponent {
+ *   \@HostBinding('\@.disabled')
+ *   public animationsDisabled = true;
+ * }
+ * ```
+ *
+ * ### What about animations that us `query()` and `animateChild()`?
+ * Despite inner animations being disabled, a parent animation can {\@link query query} for inner
+ * elements located in disabled areas of the template and still animate them as it sees fit. This is
+ * also the case for when a sub animation is queried by a parent and then later animated using {\@link
+ * animateChild animateChild}.
+ *
+ * \@experimental Animation support is experimental.
+ * @param {?} name
+ * @param {?} definitions
+ * @return {?}
+ */
+function trigger(name, definitions) {
+    return { type: 7 /* Trigger */, name, definitions, options: {} };
+}
+/**
+ * `animate` is an animation-specific function that is designed to be used inside of Angular's
+ * animation DSL language. If this information is new, please navigate to the {\@link
+ * Component#animations component animations metadata page} to gain a better understanding of
+ * how animations in Angular are used.
+ *
+ * `animate` specifies an animation step that will apply the provided `styles` data for a given
+ * amount of time based on the provided `timing` expression value. Calls to `animate` are expected
+ * to be used within {\@link sequence an animation sequence}, {\@link group group}, or {\@link
+ * transition transition}.
+ *
+ * ### Usage
+ *
+ * The `animate` function accepts two input parameters: `timing` and `styles`:
+ *
+ * - `timing` is a string based value that can be a combination of a duration with optional delay
+ * and easing values. The format for the expression breaks down to `duration delay easing`
+ * (therefore a value such as `1s 100ms ease-out` will be parse itself into `duration=1000,
+ * delay=100, easing=ease-out`. If a numeric value is provided then that will be used as the
+ * `duration` value in millisecond form.
+ * - `styles` is the style input data which can either be a call to {\@link style style} or {\@link
+ * keyframes keyframes}. If left empty then the styles from the destination state will be collected
+ * and used (this is useful when describing an animation step that will complete an animation by
+ * {\@link transition#the-final-animate-call animating to the final state}).
+ *
+ * ```typescript
+ * // various functions for specifying timing data
+ * animate(500, style(...))
+ * animate("1s", style(...))
+ * animate("100ms 0.5s", style(...))
+ * animate("5s ease", style(...))
+ * animate("5s 10ms cubic-bezier(.17,.67,.88,.1)", style(...))
+ *
+ * // either style() of keyframes() can be used
+ * animate(500, style({ background: "red" }))
+ * animate(500, keyframes([
+ *   style({ background: "blue" })),
+ *   style({ background: "red" }))
+ * ])
+ * ```
+ *
+ * {\@example core/animation/ts/dsl/animation_example.ts region='Component'}
+ *
+ * \@experimental Animation support is experimental.
+ * @param {?} timings
+ * @param {?=} styles
+ * @return {?}
+ */
+function animate(timings, styles = null) {
+    return { type: 4 /* Animate */, styles, timings };
+}
+/**
+ * `group` is an animation-specific function that is designed to be used inside of Angular's
+ * animation DSL language. If this information is new, please navigate to the {\@link
+ * Component#animations component animations metadata page} to gain a better understanding of
+ * how animations in Angular are used.
+ *
+ * `group` specifies a list of animation steps that are all run in parallel. Grouped animations are
+ * useful when a series of styles must be animated/closed off at different starting/ending times.
+ *
+ * The `group` function can either be used within a {\@link sequence sequence} or a {\@link transition
+ * transition} and it will only continue to the next instruction once all of the inner animation
+ * steps have completed.
+ *
+ * ### Usage
+ *
+ * The `steps` data that is passed into the `group` animation function can either consist of {\@link
+ * style style} or {\@link animate animate} function calls. Each call to `style()` or `animate()`
+ * within a group will be executed instantly (use {\@link keyframes keyframes} or a {\@link
+ * animate#usage animate() with a delay value} to offset styles to be applied at a later time).
+ *
+ * ```typescript
+ * group([
+ *   animate("1s", { background: "black" }))
+ *   animate("2s", { color: "white" }))
+ * ])
+ * ```
+ *
+ * {\@example core/animation/ts/dsl/animation_example.ts region='Component'}
+ *
+ * \@experimental Animation support is experimental.
+ * @param {?} steps
+ * @param {?=} options
+ * @return {?}
+ */
+function group(steps, options = null) {
+    return { type: 3 /* Group */, steps, options };
+}
+/**
+ * `sequence` is an animation-specific function that is designed to be used inside of Angular's
+ * animation DSL language. If this information is new, please navigate to the {\@link
+ * Component#animations component animations metadata page} to gain a better understanding of
+ * how animations in Angular are used.
+ *
+ * `sequence` Specifies a list of animation steps that are run one by one. (`sequence` is used by
+ * default when an array is passed as animation data into {\@link transition transition}.)
+ *
+ * The `sequence` function can either be used within a {\@link group group} or a {\@link transition
+ * transition} and it will only continue to the next instruction once each of the inner animation
+ * steps have completed.
+ *
+ * To perform animation styling in parallel with other animation steps then have a look at the
+ * {\@link group group} animation function.
+ *
+ * ### Usage
+ *
+ * The `steps` data that is passed into the `sequence` animation function can either consist of
+ * {\@link style style} or {\@link animate animate} function calls. A call to `style()` will apply the
+ * provided styling data immediately while a call to `animate()` will apply its styling data over a
+ * given time depending on its timing data.
+ *
+ * ```typescript
+ * sequence([
+ *   style({ opacity: 0 })),
+ *   animate("1s", { opacity: 1 }))
+ * ])
+ * ```
+ *
+ * {\@example core/animation/ts/dsl/animation_example.ts region='Component'}
+ *
+ * \@experimental Animation support is experimental.
+ * @param {?} steps
+ * @param {?=} options
+ * @return {?}
+ */
+function sequence(steps, options = null) {
+    return { type: 2 /* Sequence */, steps, options };
+}
+/**
+ * `style` is an animation-specific function that is designed to be used inside of Angular's
+ * animation DSL language. If this information is new, please navigate to the {\@link
+ * Component#animations component animations metadata page} to gain a better understanding of
+ * how animations in Angular are used.
+ *
+ * `style` declares a key/value object containing CSS properties/styles that can then be used for
+ * {\@link state animation states}, within an {\@link sequence animation sequence}, or as styling data
+ * for both {\@link animate animate} and {\@link keyframes keyframes}.
+ *
+ * ### Usage
+ *
+ * `style` takes in a key/value string map as data and expects one or more CSS property/value pairs
+ * to be defined.
+ *
+ * ```typescript
+ * // string values are used for css properties
+ * style({ background: "red", color: "blue" })
+ *
+ * // numerical (pixel) values are also supported
+ * style({ width: 100, height: 0 })
+ * ```
+ *
+ * #### Auto-styles (using `*`)
+ *
+ * When an asterix (`*`) character is used as a value then it will be detected from the element
+ * being animated and applied as animation data when the animation starts.
+ *
+ * This feature proves useful for a state depending on layout and/or environment factors; in such
+ * cases the styles are calculated just before the animation starts.
+ *
+ * ```typescript
+ * // the steps below will animate from 0 to the
+ * // actual height of the element
+ * style({ height: 0 }),
+ * animate("1s", style({ height: "*" }))
+ * ```
+ *
+ * {\@example core/animation/ts/dsl/animation_example.ts region='Component'}
+ *
+ * \@experimental Animation support is experimental.
+ * @param {?} tokens
+ * @return {?}
+ */
+function style(tokens) {
+    return { type: 6 /* Style */, styles: tokens, offset: null };
+}
+/**
+ * `state` is an animation-specific function that is designed to be used inside of Angular's
+ * animation DSL language. If this information is new, please navigate to the {\@link
+ * Component#animations component animations metadata page} to gain a better understanding of
+ * how animations in Angular are used.
+ *
+ * `state` declares an animation state within the given trigger. When a state is active within a
+ * component then its associated styles will persist on the element that the trigger is attached to
+ * (even when the animation ends).
+ *
+ * To animate between states, have a look at the animation {\@link transition transition} DSL
+ * function. To register states to an animation trigger please have a look at the {\@link trigger
+ * trigger} function.
+ *
+ * #### The `void` state
+ *
+ * The `void` state value is a reserved word that angular uses to determine when the element is not
+ * apart of the application anymore (e.g. when an `ngIf` evaluates to false then the state of the
+ * associated element is void).
+ *
+ * #### The `*` (default) state
+ *
+ * The `*` state (when styled) is a fallback state that will be used if the state that is being
+ * animated is not declared within the trigger.
+ *
+ * ### Usage
+ *
+ * `state` will declare an animation state with its associated styles
+ * within the given trigger.
+ *
+ * - `stateNameExpr` can be one or more state names separated by commas.
+ * - `styles` refers to the {\@link style styling data} that will be persisted on the element once
+ * the state has been reached.
+ *
+ * ```typescript
+ * // "void" is a reserved name for a state and is used to represent
+ * // the state in which an element is detached from from the application.
+ * state("void", style({ height: 0 }))
+ *
+ * // user-defined states
+ * state("closed", style({ height: 0 }))
+ * state("open, visible", style({ height: "*" }))
+ * ```
+ *
+ * {\@example core/animation/ts/dsl/animation_example.ts region='Component'}
+ *
+ * \@experimental Animation support is experimental.
+ * @param {?} name
+ * @param {?} styles
+ * @param {?=} options
+ * @return {?}
+ */
+function state(name, styles, options) {
+    return { type: 0 /* State */, name, styles, options };
+}
+/**
+ * `keyframes` is an animation-specific function that is designed to be used inside of Angular's
+ * animation DSL language. If this information is new, please navigate to the {\@link
+ * Component#animations component animations metadata page} to gain a better understanding of
+ * how animations in Angular are used.
+ *
+ * `keyframes` specifies a collection of {\@link style style} entries each optionally characterized
+ * by an `offset` value.
+ *
+ * ### Usage
+ *
+ * The `keyframes` animation function is designed to be used alongside the {\@link animate animate}
+ * animation function. Instead of applying animations from where they are currently to their
+ * destination, keyframes can describe how each style entry is applied and at what point within the
+ * animation arc (much like CSS Keyframe Animations do).
+ *
+ * For each `style()` entry an `offset` value can be set. Doing so allows to specifiy at what
+ * percentage of the animate time the styles will be applied.
+ *
+ * ```typescript
+ * // the provided offset values describe when each backgroundColor value is applied.
+ * animate("5s", keyframes([
+ *   style({ backgroundColor: "red", offset: 0 }),
+ *   style({ backgroundColor: "blue", offset: 0.2 }),
+ *   style({ backgroundColor: "orange", offset: 0.3 }),
+ *   style({ backgroundColor: "black", offset: 1 })
+ * ]))
+ * ```
+ *
+ * Alternatively, if there are no `offset` values used within the style entries then the offsets
+ * will be calculated automatically.
+ *
+ * ```typescript
+ * animate("5s", keyframes([
+ *   style({ backgroundColor: "red" }) // offset = 0
+ *   style({ backgroundColor: "blue" }) // offset = 0.33
+ *   style({ backgroundColor: "orange" }) // offset = 0.66
+ *   style({ backgroundColor: "black" }) // offset = 1
+ * ]))
+ * ```
+ *
+ * {\@example core/animation/ts/dsl/animation_example.ts region='Component'}
+ *
+ * \@experimental Animation support is experimental.
+ * @param {?} steps
+ * @return {?}
+ */
+function keyframes(steps) {
+    return { type: 5 /* Keyframes */, steps };
+}
+/**
+ * `transition` is an animation-specific function that is designed to be used inside of Angular's
+ * animation DSL language. If this information is new, please navigate to the {\@link
+ * Component#animations component animations metadata page} to gain a better understanding of
+ * how animations in Angular are used.
+ *
+ * `transition` declares the {\@link sequence sequence of animation steps} that will be run when the
+ * provided `stateChangeExpr` value is satisfied. The `stateChangeExpr` consists of a `state1 =>
+ * state2` which consists of two known states (use an asterix (`*`) to refer to a dynamic starting
+ * and/or ending state).
+ *
+ * A function can also be provided as the `stateChangeExpr` argument for a transition and this
+ * function will be executed each time a state change occurs. If the value returned within the
+ * function is true then the associated animation will be run.
+ *
+ * Animation transitions are placed within an {\@link trigger animation trigger}. For an transition
+ * to animate to a state value and persist its styles then one or more {\@link state animation
+ * states} is expected to be defined.
+ *
+ * ### Usage
+ *
+ * An animation transition is kicked off the `stateChangeExpr` predicate evaluates to true based on
+ * what the previous state is and what the current state has become. In other words, if a transition
+ * is defined that matches the old/current state criteria then the associated animation will be
+ * triggered.
+ *
+ * ```typescript
+ * // all transition/state changes are defined within an animation trigger
+ * trigger("myAnimationTrigger", [
+ *   // if a state is defined then its styles will be persisted when the
+ *   // animation has fully completed itself
+ *   state("on", style({ background: "green" })),
+ *   state("off", style({ background: "grey" })),
+ *
+ *   // a transition animation that will be kicked off when the state value
+ *   // bound to "myAnimationTrigger" changes from "on" to "off"
+ *   transition("on => off", animate(500)),
+ *
+ *   // it is also possible to do run the same animation for both directions
+ *   transition("on <=> off", animate(500)),
+ *
+ *   // or to define multiple states pairs separated by commas
+ *   transition("on => off, off => void", animate(500)),
+ *
+ *   // this is a catch-all state change for when an element is inserted into
+ *   // the page and the destination state is unknown
+ *   transition("void => *", [
+ *     style({ opacity: 0 }),
+ *     animate(500)
+ *   ]),
+ *
+ *   // this will capture a state change between any states
+ *   transition("* => *", animate("1s 0s")),
+ *
+ *   // you can also go full out and include a function
+ *   transition((fromState, toState) => {
+ *     // when `true` then it will allow the animation below to be invoked
+ *     return fromState == "off" && toState == "on";
+ *   }, animate("1s 0s"))
+ * ])
+ * ```
+ *
+ * The template associated with this component will make use of the `myAnimationTrigger` animation
+ * trigger by binding to an element within its template code.
+ *
+ * ```html
+ * <!-- somewhere inside of my-component-tpl.html -->
+ * <div [\@myAnimationTrigger]="myStatusExp">...</div>
+ * ```
+ *
+ * #### The final `animate` call
+ *
+ * If the final step within the transition steps is a call to `animate()` that **only** uses a
+ * timing value with **no style data** then it will be automatically used as the final animation arc
+ * for the element to animate itself to the final state. This involves an automatic mix of
+ * adding/removing CSS styles so that the element will be in the exact state it should be for the
+ * applied state to be presented correctly.
+ *
+ * ```
+ * // start off by hiding the element, but make sure that it animates properly to whatever state
+ * // is currently active for "myAnimationTrigger"
+ * transition("void => *", [
+ *   style({ opacity: 0 }),
+ *   animate(500)
+ * ])
+ * ```
+ *
+ * ### Using :enter and :leave
+ *
+ * Given that enter (insertion) and leave (removal) animations are so common, the `transition`
+ * function accepts both `:enter` and `:leave` values which are aliases for the `void => *` and `*
+ * => void` state changes.
+ *
+ * ```
+ * transition(":enter", [
+ *   style({ opacity: 0 }),
+ *   animate(500, style({ opacity: 1 }))
+ * ]),
+ * transition(":leave", [
+ *   animate(500, style({ opacity: 0 }))
+ * ])
+ * ```
+ *
+ * ### Boolean values
+ * if a trigger binding value is a boolean value then it can be matched using a transition
+ * expression that compares `true` and `false` or `1` and `0`.
+ *
+ * ```
+ * // in the template
+ * <div [\@openClose]="open ? true : false">...</div>
+ *
+ * // in the component metadata
+ * trigger('openClose', [
+ *   state('true', style({ height: '*' })),
+ *   state('false', style({ height: '0px' })),
+ *   transition('false <=> true', animate(500))
+ * ])
+ * ```
+ *
+ * ### Using :increment and :decrement
+ * In addition to the :enter and :leave transition aliases, the :increment and :decrement aliases
+ * can be used to kick off a transition when a numeric value has increased or decreased in value.
+ *
+ * ```
+ * import {group, animate, query, transition, style, trigger} from '\@angular/animations';
+ * import {Component} from '\@angular/core';
+ *
+ * \@Component({
+ *   selector: 'banner-carousel-component',
+ *   styles: [`
+ *     .banner-container {
+ *        position:relative;
+ *        height:500px;
+ *        overflow:hidden;
+ *      }
+ *     .banner-container > .banner {
+ *        position:absolute;
+ *        left:0;
+ *        top:0;
+ *        font-size:200px;
+ *        line-height:500px;
+ *        font-weight:bold;
+ *        text-align:center;
+ *        width:100%;
+ *      }
+ *   `],
+ *   template: `
+ *     <button (click)="previous()">Previous</button>
+ *     <button (click)="next()">Next</button>
+ *     <hr>
+ *     <div [\@bannerAnimation]="selectedIndex" class="banner-container">
+ *       <div class="banner"> {{ banner }} </div>
+ *     </div>
+ *   `
+ *   animations: [
+ *     trigger('bannerAnimation', [
+ *       transition(":increment", group([
+ *         query(':enter', [
+ *           style({ left: '100%' }),
+ *           animate('0.5s ease-out', style('*'))
+ *         ]),
+ *         query(':leave', [
+ *           animate('0.5s ease-out', style({ left: '-100%' }))
+ *         ])
+ *       ])),
+ *       transition(":decrement", group([
+ *         query(':enter', [
+ *           style({ left: '-100%' }),
+ *           animate('0.5s ease-out', style('*'))
+ *         ]),
+ *         query(':leave', [
+ *           animate('0.5s ease-out', style({ left: '100%' }))
+ *         ])
+ *       ])),
+ *     ])
+ *   ]
+ * })
+ * class BannerCarouselComponent {
+ *   allBanners: string[] = ['1', '2', '3', '4'];
+ *   selectedIndex: number = 0;
+ *
+ *   get banners() {
+ *      return [this.allBanners[this.selectedIndex]];
+ *   }
+ *
+ *   previous() {
+ *     this.selectedIndex = Math.max(this.selectedIndex - 1, 0);
+ *   }
+ *
+ *   next() {
+ *     this.selectedIndex = Math.min(this.selectedIndex + 1, this.allBanners.length - 1);
+ *   }
+ * }
+ * ```
+ *
+ * {\@example core/animation/ts/dsl/animation_example.ts region='Component'}
+ *
+ * \@experimental Animation support is experimental.
+ * @param {?} stateChangeExpr
+ * @param {?} steps
+ * @param {?=} options
+ * @return {?}
+ */
+function transition(stateChangeExpr, steps, options = null) {
+    return { type: 1 /* Transition */, expr: stateChangeExpr, animation: steps, options };
+}
+/**
+ * `animation` is an animation-specific function that is designed to be used inside of Angular's
+ * animation DSL language.
+ *
+ * `var myAnimation = animation(...)` is designed to produce a reusable animation that can be later
+ * invoked in another animation or sequence. Reusable animations are designed to make use of
+ * animation parameters and the produced animation can be used via the `useAnimation` method.
+ *
+ * ```
+ * var fadeAnimation = animation([
+ *   style({ opacity: '{{ start }}' }),
+ *   animate('{{ time }}',
+ *     style({ opacity: '{{ end }}'}))
+ * ], { params: { time: '1000ms', start: 0, end: 1 }});
+ * ```
+ *
+ * If parameters are attached to an animation then they act as **default parameter values**. When an
+ * animation is invoked via `useAnimation` then parameter values are allowed to be passed in
+ * directly. If any of the passed in parameter values are missing then the default values will be
+ * used.
+ *
+ * ```
+ * useAnimation(fadeAnimation, {
+ *   params: {
+ *     time: '2s',
+ *     start: 1,
+ *     end: 0
+ *   }
+ * })
+ * ```
+ *
+ * If one or more parameter values are missing before animated then an error will be thrown.
+ *
+ * \@experimental Animation support is experimental.
+ * @param {?} steps
+ * @param {?=} options
+ * @return {?}
+ */
+function animation(steps, options = null) {
+    return { type: 8 /* Reference */, animation: steps, options };
+}
+/**
+ * `animateChild` is an animation-specific function that is designed to be used inside of Angular's
+ * animation DSL language. It works by allowing a queried element to execute its own
+ * animation within the animation sequence.
+ *
+ * Each time an animation is triggered in angular, the parent animation
+ * will always get priority and any child animations will be blocked. In order
+ * for a child animation to run, the parent animation must query each of the elements
+ * containing child animations and then allow the animations to run using `animateChild`.
+ *
+ * The example HTML code below shows both parent and child elements that have animation
+ * triggers that will execute at the same time.
+ *
+ * ```html
+ * <!-- parent-child.component.html -->
+ * <button (click)="exp =! exp">Toggle</button>
+ * <hr>
+ *
+ * <div [\@parentAnimation]="exp">
+ *   <header>Hello</header>
+ *   <div [\@childAnimation]="exp">
+ *       one
+ *   </div>
+ *   <div [\@childAnimation]="exp">
+ *       two
+ *   </div>
+ *   <div [\@childAnimation]="exp">
+ *       three
+ *   </div>
+ * </div>
+ * ```
+ *
+ * Now when the `exp` value changes to true, only the `parentAnimation` animation will animate
+ * because it has priority. However, using `query` and `animateChild` each of the inner animations
+ * can also fire:
+ *
+ * ```ts
+ * // parent-child.component.ts
+ * import {trigger, transition, animate, style, query, animateChild} from '\@angular/animations';
+ * \@Component({
+ *   selector: 'parent-child-component',
+ *   animations: [
+ *     trigger('parentAnimation', [
+ *       transition('false => true', [
+ *         query('header', [
+ *           style({ opacity: 0 }),
+ *           animate(500, style({ opacity: 1 }))
+ *         ]),
+ *         query('\@childAnimation', [
+ *           animateChild()
+ *         ])
+ *       ])
+ *     ]),
+ *     trigger('childAnimation', [
+ *       transition('false => true', [
+ *         style({ opacity: 0 }),
+ *         animate(500, style({ opacity: 1 }))
+ *       ])
+ *     ])
+ *   ]
+ * })
+ * class ParentChildCmp {
+ *   exp: boolean = false;
+ * }
+ * ```
+ *
+ * In the animation code above, when the `parentAnimation` transition kicks off it first queries to
+ * find the header element and fades it in. It then finds each of the sub elements that contain the
+ * `\@childAnimation` trigger and then allows for their animations to fire.
+ *
+ * This example can be further extended by using stagger:
+ *
+ * ```ts
+ * query('\@childAnimation', stagger(100, [
+ *   animateChild()
+ * ]))
+ * ```
+ *
+ * Now each of the sub animations start off with respect to the `100ms` staggering step.
+ *
+ * ## The first frame of child animations
+ * When sub animations are executed using `animateChild` the animation engine will always apply the
+ * first frame of every sub animation immediately at the start of the animation sequence. This way
+ * the parent animation does not need to set any initial styling data on the sub elements before the
+ * sub animations kick off.
+ *
+ * In the example above the first frame of the `childAnimation`'s `false => true` transition
+ * consists of a style of `opacity: 0`. This is applied immediately when the `parentAnimation`
+ * animation transition sequence starts. Only then when the `\@childAnimation` is queried and called
+ * with `animateChild` will it then animate to its destination of `opacity: 1`.
+ *
+ * Note that this feature designed to be used alongside {\@link query query()} and it will only work
+ * with animations that are assigned using the Angular animation DSL (this means that CSS keyframes
+ * and transitions are not handled by this API).
+ *
+ * \@experimental Animation support is experimental.
+ * @param {?=} options
+ * @return {?}
+ */
+function animateChild(options = null) {
+    return { type: 9 /* AnimateChild */, options };
+}
+/**
+ * `useAnimation` is an animation-specific function that is designed to be used inside of Angular's
+ * animation DSL language. It is used to kick off a reusable animation that is created using {\@link
+ * animation animation()}.
+ *
+ * \@experimental Animation support is experimental.
+ * @param {?} animation
+ * @param {?=} options
+ * @return {?}
+ */
+function useAnimation(animation, options = null) {
+    return { type: 10 /* AnimateRef */, animation, options };
+}
+/**
+ * `query` is an animation-specific function that is designed to be used inside of Angular's
+ * animation DSL language.
+ *
+ * query() is used to find one or more inner elements within the current element that is
+ * being animated within the sequence. The provided animation steps are applied
+ * to the queried element (by default, an array is provided, then this will be
+ * treated as an animation sequence).
+ *
+ * ### Usage
+ *
+ * query() is designed to collect mutiple elements and works internally by using
+ * `element.querySelectorAll`. An additional options object can be provided which
+ * can be used to limit the total amount of items to be collected.
+ *
+ * ```js
+ * query('div', [
+ *   animate(...),
+ *   animate(...)
+ * ], { limit: 1 })
+ * ```
+ *
+ * query(), by default, will throw an error when zero items are found. If a query
+ * has the `optional` flag set to true then this error will be ignored.
+ *
+ * ```js
+ * query('.some-element-that-may-not-be-there', [
+ *   animate(...),
+ *   animate(...)
+ * ], { optional: true })
+ * ```
+ *
+ * ### Special Selector Values
+ *
+ * The selector value within a query can collect elements that contain angular-specific
+ * characteristics
+ * using special pseudo-selectors tokens.
+ *
+ * These include:
+ *
+ *  - Querying for newly inserted/removed elements using `query(":enter")`/`query(":leave")`
+ *  - Querying all currently animating elements using `query(":animating")`
+ *  - Querying elements that contain an animation trigger using `query("\@triggerName")`
+ *  - Querying all elements that contain an animation triggers using `query("\@*")`
+ *  - Including the current element into the animation sequence using `query(":self")`
+ *
+ *
+ *  Each of these pseudo-selector tokens can be merged together into a combined query selector
+ * string:
+ *
+ *  ```
+ *  query(':self, .record:enter, .record:leave, \@subTrigger', [...])
+ *  ```
+ *
+ * ### Demo
+ *
+ * ```
+ * \@Component({
+ *   selector: 'inner',
+ *   template: `
+ *     <div [\@queryAnimation]="exp">
+ *       <h1>Title</h1>
+ *       <div class="content">
+ *         Blah blah blah
+ *       </div>
+ *     </div>
+ *   `,
+ *   animations: [
+ *    trigger('queryAnimation', [
+ *      transition('* => goAnimate', [
+ *        // hide the inner elements
+ *        query('h1', style({ opacity: 0 })),
+ *        query('.content', style({ opacity: 0 })),
+ *
+ *        // animate the inner elements in, one by one
+ *        query('h1', animate(1000, style({ opacity: 1 })),
+ *        query('.content', animate(1000, style({ opacity: 1 })),
+ *      ])
+ *    ])
+ *  ]
+ * })
+ * class Cmp {
+ *   exp = '';
+ *
+ *   goAnimate() {
+ *     this.exp = 'goAnimate';
+ *   }
+ * }
+ * ```
+ *
+ * \@experimental Animation support is experimental.
+ * @param {?} selector
+ * @param {?} animation
+ * @param {?=} options
+ * @return {?}
+ */
+function query(selector, animation, options = null) {
+    return { type: 11 /* Query */, selector, animation, options };
+}
+/**
+ * `stagger` is an animation-specific function that is designed to be used inside of Angular's
+ * animation DSL language. It is designed to be used inside of an animation {\@link query query()}
+ * and works by issuing a timing gap between after each queried item is animated.
+ *
+ * ### Usage
+ *
+ * In the example below there is a container element that wraps a list of items stamped out
+ * by an ngFor. The container element contains an animation trigger that will later be set
+ * to query for each of the inner items.
+ *
+ * ```html
+ * <!-- list.component.html -->
+ * <button (click)="toggle()">Show / Hide Items</button>
+ * <hr />
+ * <div [\@listAnimation]="items.length">
+ *   <div *ngFor="let item of items">
+ *     {{ item }}
+ *   </div>
+ * </div>
+ * ```
+ *
+ * The component code for this looks as such:
+ *
+ * ```ts
+ * import {trigger, transition, style, animate, query, stagger} from '\@angular/animations';
+ * \@Component({
+ *   templateUrl: 'list.component.html',
+ *   animations: [
+ *     trigger('listAnimation', [
+ *        //...
+ *     ])
+ *   ]
+ * })
+ * class ListComponent {
+ *   items = [];
+ *
+ *   showItems() {
+ *     this.items = [0,1,2,3,4];
+ *   }
+ *
+ *   hideItems() {
+ *     this.items = [];
+ *   }
+ *
+ *   toggle() {
+ *     this.items.length ? this.hideItems() : this.showItems();
+ *   }
+ * }
+ * ```
+ *
+ * And now for the animation trigger code:
+ *
+ * ```ts
+ * trigger('listAnimation', [
+ *   transition('* => *', [ // each time the binding value changes
+ *     query(':leave', [
+ *       stagger(100, [
+ *         animate('0.5s', style({ opacity: 0 }))
+ *       ])
+ *     ]),
+ *     query(':enter', [
+ *       style({ opacity: 0 }),
+ *       stagger(100, [
+ *         animate('0.5s', style({ opacity: 1 }))
+ *       ])
+ *     ])
+ *   ])
+ * ])
+ * ```
+ *
+ * Now each time the items are added/removed then either the opacity
+ * fade-in animation will run or each removed item will be faded out.
+ * When either of these animations occur then a stagger effect will be
+ * applied after each item's animation is started.
+ *
+ * \@experimental Animation support is experimental.
+ * @param {?} timings
+ * @param {?} animation
+ * @return {?}
+ */
+function stagger(timings, animation) {
+    return { type: 12 /* Stagger */, timings, animation };
+}
+
+/**
+ * @fileoverview added by tsickle
+ * @suppress {checkTypes} checked by tsc
+ */
+/**
+ * @license
+ * Copyright Google Inc. All Rights Reserved.
+ *
+ * Use of this source code is governed by an MIT-style license that can be
+ * found in the LICENSE file at https://angular.io/license
+ * @param {?} cb
+ * @return {?}
+ */
+function scheduleMicroTask(cb) {
+    Promise.resolve(null).then(cb);
+}
+
+/**
+ * @fileoverview added by tsickle
+ * @suppress {checkTypes} checked by tsc
+ */
+/**
+ * AnimationPlayer controls an animation sequence that was produced from a programmatic animation.
+ * (see {\@link AnimationBuilder AnimationBuilder} for more information on how to create programmatic
+ * animations.)
+ *
+ * \@experimental Animation support is experimental.
+ * @record
+ */
+
+/**
+ * \@experimental Animation support is experimental.
+ */
+class NoopAnimationPlayer {
+    constructor() {
+        this._onDoneFns = [];
+        this._onStartFns = [];
+        this._onDestroyFns = [];
+        this._started = false;
+        this._destroyed = false;
+        this._finished = false;
+        this.parentPlayer = null;
+        this.totalTime = 0;
+    }
+    /**
+     * @return {?}
+     */
+    _onFinish() {
+        if (!this._finished) {
+            this._finished = true;
+            this._onDoneFns.forEach(fn => fn());
+            this._onDoneFns = [];
+        }
+    }
+    /**
+     * @param {?} fn
+     * @return {?}
+     */
+    onStart(fn) { this._onStartFns.push(fn); }
+    /**
+     * @param {?} fn
+     * @return {?}
+     */
+    onDone(fn) { this._onDoneFns.push(fn); }
+    /**
+     * @param {?} fn
+     * @return {?}
+     */
+    onDestroy(fn) { this._onDestroyFns.push(fn); }
+    /**
+     * @return {?}
+     */
+    hasStarted() { return this._started; }
+    /**
+     * @return {?}
+     */
+    init() { }
+    /**
+     * @return {?}
+     */
+    play() {
+        if (!this.hasStarted()) {
+            this._onStart();
+            this.triggerMicrotask();
+        }
+        this._started = true;
+    }
+    /**
+     * @return {?}
+     */
+    triggerMicrotask() { scheduleMicroTask(() => this._onFinish()); }
+    /**
+     * @return {?}
+     */
+    _onStart() {
+        this._onStartFns.forEach(fn => fn());
+        this._onStartFns = [];
+    }
+    /**
+     * @return {?}
+     */
+    pause() { }
+    /**
+     * @return {?}
+     */
+    restart() { }
+    /**
+     * @return {?}
+     */
+    finish() { this._onFinish(); }
+    /**
+     * @return {?}
+     */
+    destroy() {
+        if (!this._destroyed) {
+            this._destroyed = true;
+            if (!this.hasStarted()) {
+                this._onStart();
+            }
+            this.finish();
+            this._onDestroyFns.forEach(fn => fn());
+            this._onDestroyFns = [];
+        }
+    }
+    /**
+     * @return {?}
+     */
+    reset() { }
+    /**
+     * @param {?} p
+     * @return {?}
+     */
+    setPosition(p) { }
+    /**
+     * @return {?}
+     */
+    getPosition() { return 0; }
+    /**
+     * @param {?} phaseName
+     * @return {?}
+     */
+    triggerCallback(phaseName) {
+        const /** @type {?} */ methods = phaseName == 'start' ? this._onStartFns : this._onDoneFns;
+        methods.forEach(fn => fn());
+        methods.length = 0;
+    }
+}
+
+/**
+ * @fileoverview added by tsickle
+ * @suppress {checkTypes} checked by tsc
+ */
+/**
+ * @license
+ * Copyright Google Inc. All Rights Reserved.
+ *
+ * Use of this source code is governed by an MIT-style license that can be
+ * found in the LICENSE file at https://angular.io/license
+ */
+class AnimationGroupPlayer {
+    /**
+     * @param {?} _players
+     */
+    constructor(_players) {
+        this._onDoneFns = [];
+        this._onStartFns = [];
+        this._finished = false;
+        this._started = false;
+        this._destroyed = false;
+        this._onDestroyFns = [];
+        this.parentPlayer = null;
+        this.totalTime = 0;
+        this.players = _players;
+        let /** @type {?} */ doneCount = 0;
+        let /** @type {?} */ destroyCount = 0;
+        let /** @type {?} */ startCount = 0;
+        const /** @type {?} */ total = this.players.length;
+        if (total == 0) {
+            scheduleMicroTask(() => this._onFinish());
+        }
+        else {
+            this.players.forEach(player => {
+                player.onDone(() => {
+                    if (++doneCount == total) {
+                        this._onFinish();
+                    }
+                });
+                player.onDestroy(() => {
+                    if (++destroyCount == total) {
+                        this._onDestroy();
+                    }
+                });
+                player.onStart(() => {
+                    if (++startCount == total) {
+                        this._onStart();
+                    }
+                });
+            });
+        }
+        this.totalTime = this.players.reduce((time, player) => Math.max(time, player.totalTime), 0);
+    }
+    /**
+     * @return {?}
+     */
+    _onFinish() {
+        if (!this._finished) {
+            this._finished = true;
+            this._onDoneFns.forEach(fn => fn());
+            this._onDoneFns = [];
+        }
+    }
+    /**
+     * @return {?}
+     */
+    init() { this.players.forEach(player => player.init()); }
+    /**
+     * @param {?} fn
+     * @return {?}
+     */
+    onStart(fn) { this._onStartFns.push(fn); }
+    /**
+     * @return {?}
+     */
+    _onStart() {
+        if (!this.hasStarted()) {
+            this._started = true;
+            this._onStartFns.forEach(fn => fn());
+            this._onStartFns = [];
+        }
+    }
+    /**
+     * @param {?} fn
+     * @return {?}
+     */
+    onDone(fn) { this._onDoneFns.push(fn); }
+    /**
+     * @param {?} fn
+     * @return {?}
+     */
+    onDestroy(fn) { this._onDestroyFns.push(fn); }
+    /**
+     * @return {?}
+     */
+    hasStarted() { return this._started; }
+    /**
+     * @return {?}
+     */
+    play() {
+        if (!this.parentPlayer) {
+            this.init();
+        }
+        this._onStart();
+        this.players.forEach(player => player.play());
+    }
+    /**
+     * @return {?}
+     */
+    pause() { this.players.forEach(player => player.pause()); }
+    /**
+     * @return {?}
+     */
+    restart() { this.players.forEach(player => player.restart()); }
+    /**
+     * @return {?}
+     */
+    finish() {
+        this._onFinish();
+        this.players.forEach(player => player.finish());
+    }
+    /**
+     * @return {?}
+     */
+    destroy() { this._onDestroy(); }
+    /**
+     * @return {?}
+     */
+    _onDestroy() {
+        if (!this._destroyed) {
+            this._destroyed = true;
+            this._onFinish();
+            this.players.forEach(player => player.destroy());
+            this._onDestroyFns.forEach(fn => fn());
+            this._onDestroyFns = [];
+        }
+    }
+    /**
+     * @return {?}
+     */
+    reset() {
+        this.players.forEach(player => player.reset());
+        this._destroyed = false;
+        this._finished = false;
+        this._started = false;
+    }
+    /**
+     * @param {?} p
+     * @return {?}
+     */
+    setPosition(p) {
+        const /** @type {?} */ timeAtPosition = p * this.totalTime;
+        this.players.forEach(player => {
+            const /** @type {?} */ position = player.totalTime ? Math.min(1, timeAtPosition / player.totalTime) : 1;
+            player.setPosition(position);
+        });
+    }
+    /**
+     * @return {?}
+     */
+    getPosition() {
+        let /** @type {?} */ min = 0;
+        this.players.forEach(player => {
+            const /** @type {?} */ p = player.getPosition();
+            min = Math.min(p, min);
+        });
+        return min;
+    }
+    /**
+     * @return {?}
+     */
+    beforeDestroy() {
+        this.players.forEach(player => {
+            if (player.beforeDestroy) {
+                player.beforeDestroy();
+            }
+        });
+    }
+    /**
+     * @param {?} phaseName
+     * @return {?}
+     */
+    triggerCallback(phaseName) {
+        const /** @type {?} */ methods = phaseName == 'start' ? this._onStartFns : this._onDoneFns;
+        methods.forEach(fn => fn());
+        methods.length = 0;
+    }
+}
+
+/**
+ * @fileoverview added by tsickle
+ * @suppress {checkTypes} checked by tsc
+ */
+const ɵPRE_STYLE = '!';
+
+/**
+ * @fileoverview added by tsickle
+ * @suppress {checkTypes} checked by tsc
+ */
+/**
+ * @license
+ * Copyright Google Inc. All Rights Reserved.
+ *
+ * Use of this source code is governed by an MIT-style license that can be
+ * found in the LICENSE file at https://angular.io/license
+ */
+
+/**
+ * @fileoverview added by tsickle
+ * @suppress {checkTypes} checked by tsc
+ */
+/**
+ * @license
+ * Copyright Google Inc. All Rights Reserved.
+ *
+ * Use of this source code is governed by an MIT-style license that can be
+ * found in the LICENSE file at https://angular.io/license
+ */
+/**
+ * @module
+ * @description
+ * Entry point for all public APIs of this package.
+ */
+
+/**
+ * @fileoverview added by tsickle
+ * @suppress {checkTypes} checked by tsc
+ */
+/**
+ * Generated bundle index. Do not edit.
+ */
+
+export { AnimationBuilder, AnimationFactory, AUTO_STYLE, animate, animateChild, animation, group, keyframes, query, sequence, stagger, state, style, transition, trigger, useAnimation, NoopAnimationPlayer, AnimationGroupPlayer as ɵAnimationGroupPlayer, ɵPRE_STYLE };
+//# sourceMappingURL=animations.js.map


[05/59] [abbrv] [partial] nifi-fds git commit: update gh-pages

Posted by sc...@apache.org.
http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/eec354e6/node_modules/@angular/cdk/esm2015/accordion.js
----------------------------------------------------------------------
diff --git a/node_modules/@angular/cdk/esm2015/accordion.js b/node_modules/@angular/cdk/esm2015/accordion.js
new file mode 100644
index 0000000..e49f57e
--- /dev/null
+++ b/node_modules/@angular/cdk/esm2015/accordion.js
@@ -0,0 +1,244 @@
+/**
+ * @license
+ * Copyright Google LLC All Rights Reserved.
+ *
+ * Use of this source code is governed by an MIT-style license that can be
+ * found in the LICENSE file at https://angular.io/license
+ */
+import { ChangeDetectorRef, Directive, EventEmitter, Input, NgModule, Optional, Output } from '@angular/core';
+import { UNIQUE_SELECTION_DISPATCHER_PROVIDER, UniqueSelectionDispatcher } from '@angular/cdk/collections';
+import { coerceBooleanProperty } from '@angular/cdk/coercion';
+
+/**
+ * @fileoverview added by tsickle
+ * @suppress {checkTypes} checked by tsc
+ */
+
+/**
+ * Used to generate unique ID for each accordion.
+ */
+let nextId$1 = 0;
+/**
+ * Directive whose purpose is to manage the expanded state of CdkAccordionItem children.
+ */
+class CdkAccordion {
+    constructor() {
+        /**
+         * A readonly id value to use for unique selection coordination.
+         */
+        this.id = `cdk-accordion-${nextId$1++}`;
+        this._multi = false;
+    }
+    /**
+     * Whether the accordion should allow multiple expanded accordion items simultaneously.
+     * @return {?}
+     */
+    get multi() { return this._multi; }
+    /**
+     * @param {?} multi
+     * @return {?}
+     */
+    set multi(multi) { this._multi = coerceBooleanProperty(multi); }
+}
+CdkAccordion.decorators = [
+    { type: Directive, args: [{
+                selector: 'cdk-accordion, [cdkAccordion]',
+                exportAs: 'cdkAccordion',
+            },] },
+];
+/** @nocollapse */
+CdkAccordion.ctorParameters = () => [];
+CdkAccordion.propDecorators = {
+    "multi": [{ type: Input },],
+};
+
+/**
+ * @fileoverview added by tsickle
+ * @suppress {checkTypes} checked by tsc
+ */
+
+/**
+ * Used to generate unique ID for each accordion item.
+ */
+let nextId = 0;
+/**
+ * An basic directive expected to be extended and decorated as a component.  Sets up all
+ * events and attributes needed to be managed by a CdkAccordion parent.
+ */
+class CdkAccordionItem {
+    /**
+     * @param {?} accordion
+     * @param {?} _changeDetectorRef
+     * @param {?} _expansionDispatcher
+     */
+    constructor(accordion, _changeDetectorRef, _expansionDispatcher) {
+        this.accordion = accordion;
+        this._changeDetectorRef = _changeDetectorRef;
+        this._expansionDispatcher = _expansionDispatcher;
+        /**
+         * Event emitted every time the AccordionItem is closed.
+         */
+        this.closed = new EventEmitter();
+        /**
+         * Event emitted every time the AccordionItem is opened.
+         */
+        this.opened = new EventEmitter();
+        /**
+         * Event emitted when the AccordionItem is destroyed.
+         */
+        this.destroyed = new EventEmitter();
+        /**
+         * Emits whenever the expanded state of the accordion changes.
+         * Primarily used to facilitate two-way binding.
+         * \@docs-private
+         */
+        this.expandedChange = new EventEmitter();
+        /**
+         * The unique AccordionItem id.
+         */
+        this.id = `cdk-accordion-child-${nextId++}`;
+        this._expanded = false;
+        this._disabled = false;
+        /**
+         * Unregister function for _expansionDispatcher.
+         */
+        this._removeUniqueSelectionListener = () => { };
+        this._removeUniqueSelectionListener =
+            _expansionDispatcher.listen((id, accordionId) => {
+                if (this.accordion && !this.accordion.multi &&
+                    this.accordion.id === accordionId && this.id !== id) {
+                    this.expanded = false;
+                }
+            });
+    }
+    /**
+     * Whether the AccordionItem is expanded.
+     * @return {?}
+     */
+    get expanded() { return this._expanded; }
+    /**
+     * @param {?} expanded
+     * @return {?}
+     */
+    set expanded(expanded) {
+        expanded = coerceBooleanProperty(expanded);
+        // Only emit events and update the internal value if the value changes.
+        if (this._expanded !== expanded) {
+            this._expanded = expanded;
+            this.expandedChange.emit(expanded);
+            if (expanded) {
+                this.opened.emit();
+                /**
+                 * In the unique selection dispatcher, the id parameter is the id of the CdkAccordionItem,
+                 * the name value is the id of the accordion.
+                 */
+                const /** @type {?} */ accordionId = this.accordion ? this.accordion.id : this.id;
+                this._expansionDispatcher.notify(this.id, accordionId);
+            }
+            else {
+                this.closed.emit();
+            }
+            // Ensures that the animation will run when the value is set outside of an `@Input`.
+            // This includes cases like the open, close and toggle methods.
+            this._changeDetectorRef.markForCheck();
+        }
+    }
+    /**
+     * Whether the AccordionItem is disabled.
+     * @return {?}
+     */
+    get disabled() { return this._disabled; }
+    /**
+     * @param {?} disabled
+     * @return {?}
+     */
+    set disabled(disabled) { this._disabled = coerceBooleanProperty(disabled); }
+    /**
+     * Emits an event for the accordion item being destroyed.
+     * @return {?}
+     */
+    ngOnDestroy() {
+        this.destroyed.emit();
+        this._removeUniqueSelectionListener();
+    }
+    /**
+     * Toggles the expanded state of the accordion item.
+     * @return {?}
+     */
+    toggle() {
+        if (!this.disabled) {
+            this.expanded = !this.expanded;
+        }
+    }
+    /**
+     * Sets the expanded state of the accordion item to false.
+     * @return {?}
+     */
+    close() {
+        if (!this.disabled) {
+            this.expanded = false;
+        }
+    }
+    /**
+     * Sets the expanded state of the accordion item to true.
+     * @return {?}
+     */
+    open() {
+        if (!this.disabled) {
+            this.expanded = true;
+        }
+    }
+}
+CdkAccordionItem.decorators = [
+    { type: Directive, args: [{
+                selector: 'cdk-accordion-item',
+                exportAs: 'cdkAccordionItem',
+            },] },
+];
+/** @nocollapse */
+CdkAccordionItem.ctorParameters = () => [
+    { type: CdkAccordion, decorators: [{ type: Optional },] },
+    { type: ChangeDetectorRef, },
+    { type: UniqueSelectionDispatcher, },
+];
+CdkAccordionItem.propDecorators = {
+    "closed": [{ type: Output },],
+    "opened": [{ type: Output },],
+    "destroyed": [{ type: Output },],
+    "expandedChange": [{ type: Output },],
+    "expanded": [{ type: Input },],
+    "disabled": [{ type: Input },],
+};
+
+/**
+ * @fileoverview added by tsickle
+ * @suppress {checkTypes} checked by tsc
+ */
+
+class CdkAccordionModule {
+}
+CdkAccordionModule.decorators = [
+    { type: NgModule, args: [{
+                exports: [CdkAccordion, CdkAccordionItem],
+                declarations: [CdkAccordion, CdkAccordionItem],
+                providers: [UNIQUE_SELECTION_DISPATCHER_PROVIDER],
+            },] },
+];
+/** @nocollapse */
+CdkAccordionModule.ctorParameters = () => [];
+
+/**
+ * @fileoverview added by tsickle
+ * @suppress {checkTypes} checked by tsc
+ */
+
+/**
+ * @fileoverview added by tsickle
+ * @suppress {checkTypes} checked by tsc
+ */
+/**
+ * Generated bundle index. Do not edit.
+ */
+
+export { CdkAccordionItem, CdkAccordion, CdkAccordionModule };
+//# sourceMappingURL=accordion.js.map

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/eec354e6/node_modules/@angular/cdk/esm2015/accordion.js.map
----------------------------------------------------------------------
diff --git a/node_modules/@angular/cdk/esm2015/accordion.js.map b/node_modules/@angular/cdk/esm2015/accordion.js.map
new file mode 100644
index 0000000..947e63d
--- /dev/null
+++ b/node_modules/@angular/cdk/esm2015/accordion.js.map
@@ -0,0 +1 @@
+{"version":3,"file":"accordion.js","sources":["../../../src/cdk/accordion/index.ts","../../../src/cdk/accordion/public-api.ts","../../../src/cdk/accordion/accordion-module.ts","../../../src/cdk/accordion/accordion-item.ts","../../../src/cdk/accordion/accordion.ts"],"sourcesContent":["/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nexport {CdkAccordionItem} from './accordion-item';\nexport {CdkAccordion} from './accordion';\nexport * from './accordion-module';\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {NgModule} from '@angular/core';\nimport {UNIQUE_SELECTION_DI
 SPATCHER_PROVIDER} from '@angular/cdk/collections';\nimport {CdkAccordion} from './accordion';\nimport {CdkAccordionItem} from './accordion-item';\n\n@NgModule({\n  exports: [CdkAccordion, CdkAccordionItem],\n  declarations: [CdkAccordion, CdkAccordionItem],\n  providers: [UNIQUE_SELECTION_DISPATCHER_PROVIDER],\n})\nexport class CdkAccordionModule {}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {\n  Output,\n  Directive,\n  EventEmitter,\n  Input,\n  OnDestroy,\n  Optional,\n  ChangeDetectorRef,\n} from '@angular/core';\nimport {UniqueSelectionDispatcher} from '@angular/cdk/collections';\nimport {CdkAccordion} from './accordion';\nimport {coerceBooleanProperty} from '@angular/cdk/coercion';\n\n/** Used to generate unique ID for each accordion item. */\nlet nextId = 0;\n\n/**\n * An basic directive expected to
  be extended and decorated as a component.  Sets up all\n * events and attributes needed to be managed by a CdkAccordion parent.\n */\n@Directive({\n  selector: 'cdk-accordion-item',\n  exportAs: 'cdkAccordionItem',\n})\nexport class CdkAccordionItem implements OnDestroy {\n  /** Event emitted every time the AccordionItem is closed. */\n  @Output() closed: EventEmitter<void> = new EventEmitter<void>();\n  /** Event emitted every time the AccordionItem is opened. */\n  @Output() opened: EventEmitter<void> = new EventEmitter<void>();\n  /** Event emitted when the AccordionItem is destroyed. */\n  @Output() destroyed: EventEmitter<void> = new EventEmitter<void>();\n\n  /**\n   * Emits whenever the expanded state of the accordion changes.\n   * Primarily used to facilitate two-way binding.\n   * @docs-private\n   */\n  @Output() expandedChange: EventEmitter<boolean> = new EventEmitter<boolean>();\n\n  /** The unique AccordionItem id. */\n  readonly id: string = `cdk-accordion-child-${ne
 xtId++}`;\n\n  /** Whether the AccordionItem is expanded. */\n  @Input()\n  get expanded(): any { return this._expanded; }\n  set expanded(expanded: any) {\n    expanded = coerceBooleanProperty(expanded);\n\n    // Only emit events and update the internal value if the value changes.\n    if (this._expanded !== expanded) {\n      this._expanded = expanded;\n      this.expandedChange.emit(expanded);\n\n      if (expanded) {\n        this.opened.emit();\n        /**\n         * In the unique selection dispatcher, the id parameter is the id of the CdkAccordionItem,\n         * the name value is the id of the accordion.\n         */\n        const accordionId = this.accordion ? this.accordion.id : this.id;\n        this._expansionDispatcher.notify(this.id, accordionId);\n      } else {\n        this.closed.emit();\n      }\n\n      // Ensures that the animation will run when the value is set outside of an `@Input`.\n      // This includes cases like the open, close and toggle methods.\n 
      this._changeDetectorRef.markForCheck();\n    }\n  }\n  private _expanded = false;\n\n  /** Whether the AccordionItem is disabled. */\n  @Input()\n  get disabled() { return this._disabled; }\n  set disabled(disabled: any) { this._disabled = coerceBooleanProperty(disabled); }\n  private _disabled: boolean = false;\n\n  /** Unregister function for _expansionDispatcher. */\n  private _removeUniqueSelectionListener: () => void = () => {};\n\n  constructor(@Optional() public accordion: CdkAccordion,\n              private _changeDetectorRef: ChangeDetectorRef,\n              protected _expansionDispatcher: UniqueSelectionDispatcher) {\n    this._removeUniqueSelectionListener =\n      _expansionDispatcher.listen((id: string, accordionId: string) => {\n        if (this.accordion && !this.accordion.multi &&\n            this.accordion.id === accordionId && this.id !== id) {\n          this.expanded = false;\n        }\n      });\n  }\n\n  /** Emits an event for the accordion item being 
 destroyed. */\n  ngOnDestroy() {\n    this.destroyed.emit();\n    this._removeUniqueSelectionListener();\n  }\n\n  /** Toggles the expanded state of the accordion item. */\n  toggle(): void {\n    if (!this.disabled) {\n      this.expanded = !this.expanded;\n    }\n  }\n\n  /** Sets the expanded state of the accordion item to false. */\n  close(): void {\n    if (!this.disabled) {\n      this.expanded = false;\n    }\n  }\n\n  /** Sets the expanded state of the accordion item to true. */\n  open(): void {\n    if (!this.disabled) {\n      this.expanded = true;\n    }\n  }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {Directive, Input} from '@angular/core';\nimport {coerceBooleanProperty} from '@angular/cdk/coercion';\n\n/** Used to generate unique ID for each accordion. */\nlet nextId = 0;\n\n/**\n * Direc
 tive whose purpose is to manage the expanded state of CdkAccordionItem children.\n */\n@Directive({\n  selector: 'cdk-accordion, [cdkAccordion]',\n  exportAs: 'cdkAccordion',\n})\nexport class CdkAccordion {\n  /** A readonly id value to use for unique selection coordination. */\n  readonly id = `cdk-accordion-${nextId++}`;\n\n  /** Whether the accordion should allow multiple expanded accordion items simultaneously. */\n  @Input()\n  get multi(): boolean { return this._multi; }\n  set multi(multi: boolean) { this._multi = coerceBooleanProperty(multi); }\n  private _multi: boolean = false;\n}\n"],"names":["nextId"],"mappings":"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"}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/eec354e6/node_modules/@angular/cdk/esm2015/bidi.js
----------------------------------------------------------------------
diff --git a/node_modules/@angular/cdk/esm2015/bidi.js b/node_modules/@angular/cdk/esm2015/bidi.js
new file mode 100644
index 0000000..df55e82
--- /dev/null
+++ b/node_modules/@angular/cdk/esm2015/bidi.js
@@ -0,0 +1,170 @@
+/**
+ * @license
+ * Copyright Google LLC All Rights Reserved.
+ *
+ * Use of this source code is governed by an MIT-style license that can be
+ * found in the LICENSE file at https://angular.io/license
+ */
+import { Directive, EventEmitter, Inject, Injectable, InjectionToken, Input, NgModule, Optional, Output } from '@angular/core';
+import { DOCUMENT } from '@angular/common';
+
+/**
+ * @fileoverview added by tsickle
+ * @suppress {checkTypes} checked by tsc
+ */
+
+/**
+ * Injection token used to inject the document into Directionality.
+ * This is used so that the value can be faked in tests.
+ *
+ * We can't use the real document in tests because changing the real `dir` causes geometry-based
+ * tests in Safari to fail.
+ *
+ * We also can't re-provide the DOCUMENT token from platform-brower because the unit tests
+ * themselves use things like `querySelector` in test code.
+ */
+const DIR_DOCUMENT = new InjectionToken('cdk-dir-doc');
+/**
+ * The directionality (LTR / RTL) context for the application (or a subtree of it).
+ * Exposes the current direction and a stream of direction changes.
+ */
+class Directionality {
+    /**
+     * @param {?=} _document
+     */
+    constructor(_document) {
+        /**
+         * The current 'ltr' or 'rtl' value.
+         */
+        this.value = 'ltr';
+        /**
+         * Stream that emits whenever the 'ltr' / 'rtl' state changes.
+         */
+        this.change = new EventEmitter();
+        if (_document) {
+            // TODO: handle 'auto' value -
+            // We still need to account for dir="auto".
+            // It looks like HTMLElemenet.dir is also "auto" when that's set to the attribute,
+            // but getComputedStyle return either "ltr" or "rtl". avoiding getComputedStyle for now
+            const /** @type {?} */ bodyDir = _document.body ? _document.body.dir : null;
+            const /** @type {?} */ htmlDir = _document.documentElement ? _document.documentElement.dir : null;
+            this.value = /** @type {?} */ ((bodyDir || htmlDir || 'ltr'));
+        }
+    }
+}
+Directionality.decorators = [
+    { type: Injectable },
+];
+/** @nocollapse */
+Directionality.ctorParameters = () => [
+    { type: undefined, decorators: [{ type: Optional }, { type: Inject, args: [DIR_DOCUMENT,] },] },
+];
+
+/**
+ * @fileoverview added by tsickle
+ * @suppress {checkTypes} checked by tsc
+ */
+
+/**
+ * Directive to listen for changes of direction of part of the DOM.
+ *
+ * Provides itself as Directionality such that descendant directives only need to ever inject
+ * Directionality to get the closest direction.
+ */
+class Dir {
+    constructor() {
+        this._dir = 'ltr';
+        /**
+         * Whether the `value` has been set to its initial value.
+         */
+        this._isInitialized = false;
+        /**
+         * Event emitted when the direction changes.
+         */
+        this.change = new EventEmitter();
+    }
+    /**
+     * \@docs-private
+     * @return {?}
+     */
+    get dir() { return this._dir; }
+    /**
+     * @param {?} v
+     * @return {?}
+     */
+    set dir(v) {
+        const /** @type {?} */ old = this._dir;
+        this._dir = v;
+        if (old !== this._dir && this._isInitialized) {
+            this.change.emit(this._dir);
+        }
+    }
+    /**
+     * Current layout direction of the element.
+     * @return {?}
+     */
+    get value() { return this.dir; }
+    /**
+     * Initialize once default value has been set.
+     * @return {?}
+     */
+    ngAfterContentInit() {
+        this._isInitialized = true;
+    }
+    /**
+     * @return {?}
+     */
+    ngOnDestroy() {
+        this.change.complete();
+    }
+}
+Dir.decorators = [
+    { type: Directive, args: [{
+                selector: '[dir]',
+                providers: [{ provide: Directionality, useExisting: Dir }],
+                host: { '[dir]': 'dir' },
+                exportAs: 'dir',
+            },] },
+];
+/** @nocollapse */
+Dir.ctorParameters = () => [];
+Dir.propDecorators = {
+    "change": [{ type: Output, args: ['dirChange',] },],
+    "dir": [{ type: Input },],
+};
+
+/**
+ * @fileoverview added by tsickle
+ * @suppress {checkTypes} checked by tsc
+ */
+
+class BidiModule {
+}
+BidiModule.decorators = [
+    { type: NgModule, args: [{
+                exports: [Dir],
+                declarations: [Dir],
+                providers: [
+                    { provide: DIR_DOCUMENT, useExisting: DOCUMENT },
+                    Directionality,
+                ]
+            },] },
+];
+/** @nocollapse */
+BidiModule.ctorParameters = () => [];
+
+/**
+ * @fileoverview added by tsickle
+ * @suppress {checkTypes} checked by tsc
+ */
+
+/**
+ * @fileoverview added by tsickle
+ * @suppress {checkTypes} checked by tsc
+ */
+/**
+ * Generated bundle index. Do not edit.
+ */
+
+export { Directionality, DIR_DOCUMENT, Dir, BidiModule };
+//# sourceMappingURL=bidi.js.map

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/eec354e6/node_modules/@angular/cdk/esm2015/bidi.js.map
----------------------------------------------------------------------
diff --git a/node_modules/@angular/cdk/esm2015/bidi.js.map b/node_modules/@angular/cdk/esm2015/bidi.js.map
new file mode 100644
index 0000000..19992e9
--- /dev/null
+++ b/node_modules/@angular/cdk/esm2015/bidi.js.map
@@ -0,0 +1 @@
+{"version":3,"file":"bidi.js","sources":["../../../src/cdk/bidi/index.ts","../../../src/cdk/bidi/public-api.ts","../../../src/cdk/bidi/bidi-module.ts","../../../src/cdk/bidi/dir.ts","../../../src/cdk/bidi/directionality.ts"],"sourcesContent":["/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nexport {Directionality, DIR_DOCUMENT, Direction} from './directionality';\nexport {Dir} from './dir';\nexport * from './bidi-module';\n\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {NgModule} from '@angular/core';\nimport {DOCUMENT} from '@angular/common';\nimport {Dir} from '.
 /dir';\nimport {DIR_DOCUMENT, Directionality} from './directionality';\n\n\n@NgModule({\n  exports: [Dir],\n  declarations: [Dir],\n  providers: [\n    {provide: DIR_DOCUMENT, useExisting: DOCUMENT},\n    Directionality,\n  ]\n})\nexport class BidiModule { }\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {\n  Directive,\n  Output,\n  Input,\n  EventEmitter,\n  AfterContentInit,\n  OnDestroy,\n} from '@angular/core';\n\nimport {Direction, Directionality} from './directionality';\n\n/**\n * Directive to listen for changes of direction of part of the DOM.\n *\n * Provides itself as Directionality such that descendant directives only need to ever inject\n * Directionality to get the closest direction.\n */\n@Directive({\n  selector: '[dir]',\n  providers: [{provide: Directionality, useExisting: Dir}],\n  host: {'[d
 ir]': 'dir'},\n  exportAs: 'dir',\n})\nexport class Dir implements Directionality, AfterContentInit, OnDestroy {\n  _dir: Direction = 'ltr';\n\n  /** Whether the `value` has been set to its initial value. */\n  private _isInitialized: boolean = false;\n\n  /** Event emitted when the direction changes. */\n  @Output('dirChange') change = new EventEmitter<Direction>();\n\n  /** @docs-private */\n  @Input()\n  get dir(): Direction { return this._dir; }\n  set dir(v: Direction) {\n    const old = this._dir;\n    this._dir = v;\n    if (old !== this._dir && this._isInitialized) {\n      this.change.emit(this._dir);\n    }\n  }\n\n  /** Current layout direction of the element. */\n  get value(): Direction { return this.dir; }\n\n  /** Initialize once default value has been set. */\n  ngAfterContentInit() {\n    this._isInitialized = true;\n  }\n\n  ngOnDestroy() {\n    this.change.complete();\n  }\n}\n\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this 
 source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {\n  EventEmitter,\n  Injectable,\n  Optional,\n  Inject,\n  InjectionToken,\n} from '@angular/core';\n\n\nexport type Direction = 'ltr' | 'rtl';\n\n/**\n * Injection token used to inject the document into Directionality.\n * This is used so that the value can be faked in tests.\n *\n * We can't use the real document in tests because changing the real `dir` causes geometry-based\n * tests in Safari to fail.\n *\n * We also can't re-provide the DOCUMENT token from platform-brower because the unit tests\n * themselves use things like `querySelector` in test code.\n */\nexport const DIR_DOCUMENT = new InjectionToken<Document>('cdk-dir-doc');\n\n/**\n * The directionality (LTR / RTL) context for the application (or a subtree of it).\n * Exposes the current direction and a stream of direction changes.\n */\n@Injectable()\nexport class Directionality {\n  
 /** The current 'ltr' or 'rtl' value. */\n  readonly value: Direction = 'ltr';\n\n  /** Stream that emits whenever the 'ltr' / 'rtl' state changes. */\n  readonly change = new EventEmitter<Direction>();\n\n  constructor(@Optional() @Inject(DIR_DOCUMENT) _document?: any) {\n    if (_document) {\n      // TODO: handle 'auto' value -\n      // We still need to account for dir=\"auto\".\n      // It looks like HTMLElemenet.dir is also \"auto\" when that's set to the attribute,\n      // but getComputedStyle return either \"ltr\" or \"rtl\". avoiding getComputedStyle for now\n      const bodyDir = _document.body ? _document.body.dir : null;\n      const htmlDir = _document.documentElement ? _document.documentElement.dir : null;\n      this.value = (bodyDir || htmlDir || 'ltr') as Direction;\n    }\n  }\n}\n"],"names":[],"mappings":"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"}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/eec354e6/node_modules/@angular/cdk/esm2015/cdk.js
----------------------------------------------------------------------
diff --git a/node_modules/@angular/cdk/esm2015/cdk.js b/node_modules/@angular/cdk/esm2015/cdk.js
new file mode 100644
index 0000000..0ac5f3e
--- /dev/null
+++ b/node_modules/@angular/cdk/esm2015/cdk.js
@@ -0,0 +1,34 @@
+/**
+ * @license
+ * Copyright Google LLC All Rights Reserved.
+ *
+ * Use of this source code is governed by an MIT-style license that can be
+ * found in the LICENSE file at https://angular.io/license
+ */
+import { Version } from '@angular/core';
+
+/**
+ * @fileoverview added by tsickle
+ * @suppress {checkTypes} checked by tsc
+ */
+
+/**
+ * Current version of the Angular Component Development Kit.
+ */
+const VERSION = new Version('5.2.0');
+
+/**
+ * @fileoverview added by tsickle
+ * @suppress {checkTypes} checked by tsc
+ */
+
+/**
+ * @fileoverview added by tsickle
+ * @suppress {checkTypes} checked by tsc
+ */
+/**
+ * Generated bundle index. Do not edit.
+ */
+
+export { VERSION };
+//# sourceMappingURL=cdk.js.map

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/eec354e6/node_modules/@angular/cdk/esm2015/cdk.js.map
----------------------------------------------------------------------
diff --git a/node_modules/@angular/cdk/esm2015/cdk.js.map b/node_modules/@angular/cdk/esm2015/cdk.js.map
new file mode 100644
index 0000000..430bbf6
--- /dev/null
+++ b/node_modules/@angular/cdk/esm2015/cdk.js.map
@@ -0,0 +1 @@
+{"version":3,"file":"cdk.js","sources":["../../src/cdk/index.ts","../../src/cdk/public-api.ts","../../src/cdk/version.ts"],"sourcesContent":["/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nexport * from './version';\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {Version} from '@angular/core';\n\n/** Current version of the Angular Component Development Kit. */\nexport const VERSION = new Version('5.2.0');\n"],"names":[],"mappings":";;;;;;;;;;;;;;AEQA;;;AAGA,AAAO,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,mBAAmB,CAAC,CAAC;;;;;GDHxD,AAA0B;;;;;;;;GDJ1B,AAA6B;;"}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/eec354e6/node_modules/@angular/cdk/esm2015/coercion.js
----------------------------------------------------------------------
diff --git a/node_modules/@angular/cdk/esm2015/coercion.js b/node_modules/@angular/cdk/esm2015/coercion.js
new file mode 100644
index 0000000..350114e
--- /dev/null
+++ b/node_modules/@angular/cdk/esm2015/coercion.js
@@ -0,0 +1,77 @@
+/**
+ * @license
+ * Copyright Google LLC All Rights Reserved.
+ *
+ * Use of this source code is governed by an MIT-style license that can be
+ * found in the LICENSE file at https://angular.io/license
+ */
+/**
+ * @fileoverview added by tsickle
+ * @suppress {checkTypes} checked by tsc
+ */
+
+/**
+ * Coerces a data-bound value (typically a string) to a boolean.
+ * @param {?} value
+ * @return {?}
+ */
+function coerceBooleanProperty(value) {
+    return value != null && `${value}` !== 'false';
+}
+
+/**
+ * @fileoverview added by tsickle
+ * @suppress {checkTypes} checked by tsc
+ */
+
+/**
+ * @param {?} value
+ * @param {?=} fallbackValue
+ * @return {?}
+ */
+function coerceNumberProperty(value, fallbackValue = 0) {
+    return _isNumberValue(value) ? Number(value) : fallbackValue;
+}
+/**
+ * Whether the provided value is considered a number.
+ * \@docs-private
+ * @param {?} value
+ * @return {?}
+ */
+function _isNumberValue(value) {
+    // parseFloat(value) handles most of the cases we're interested in (it treats null, empty string,
+    // and other non-number values as NaN, where Number just uses 0) but it considers the string
+    // '123hello' to be a valid number. Therefore we also check if Number(value) is NaN.
+    return !isNaN(parseFloat(/** @type {?} */ (value))) && !isNaN(Number(value));
+}
+
+/**
+ * @fileoverview added by tsickle
+ * @suppress {checkTypes} checked by tsc
+ */
+
+/**
+ * Wraps the provided value in an array, unless the provided value is an array.
+ * @template T
+ * @param {?} value
+ * @return {?}
+ */
+function coerceArray(value) {
+    return Array.isArray(value) ? value : [value];
+}
+
+/**
+ * @fileoverview added by tsickle
+ * @suppress {checkTypes} checked by tsc
+ */
+
+/**
+ * @fileoverview added by tsickle
+ * @suppress {checkTypes} checked by tsc
+ */
+/**
+ * Generated bundle index. Do not edit.
+ */
+
+export { coerceBooleanProperty, coerceNumberProperty, _isNumberValue, coerceArray };
+//# sourceMappingURL=coercion.js.map

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/eec354e6/node_modules/@angular/cdk/esm2015/coercion.js.map
----------------------------------------------------------------------
diff --git a/node_modules/@angular/cdk/esm2015/coercion.js.map b/node_modules/@angular/cdk/esm2015/coercion.js.map
new file mode 100644
index 0000000..dc5f900
--- /dev/null
+++ b/node_modules/@angular/cdk/esm2015/coercion.js.map
@@ -0,0 +1 @@
+{"version":3,"file":"coercion.js","sources":["../../../src/cdk/coercion/index.ts","../../../src/cdk/coercion/public-api.ts","../../../src/cdk/coercion/array.ts","../../../src/cdk/coercion/number-property.ts","../../../src/cdk/coercion/boolean-property.ts"],"sourcesContent":["/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nexport * from './boolean-property';\nexport * from './number-property';\nexport * from './array';\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/** Wraps the provided value in an array, unless the provided value is an array. */\nexport function coerceArr
 ay<T>(value: T | T[]): T[] {\n  return Array.isArray(value) ? value : [value];\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/** Coerces a data-bound value (typically a string) to a number. */\nexport function coerceNumberProperty(value: any): number;\nexport function coerceNumberProperty<D>(value: any, fallback: D): number | D;\nexport function coerceNumberProperty(value: any, fallbackValue = 0) {\n  return _isNumberValue(value) ? Number(value) : fallbackValue;\n}\n\n/**\n * Whether the provided value is considered a number.\n * @docs-private\n */\nexport function _isNumberValue(value: any): boolean {\n  // parseFloat(value) handles most of the cases we're interested in (it treats null, empty string,\n  // and other non-number values as NaN, where Number just uses 0) but it considers the string\n  // '123hello' t
 o be a valid number. Therefore we also check if Number(value) is NaN.\n  return !isNaN(parseFloat(value as any)) && !isNaN(Number(value));\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/** Coerces a data-bound value (typically a string) to a boolean. */\nexport function coerceBooleanProperty(value: any): boolean {\n  return value != null && `${value}` !== 'false';\n}\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AISA,AAAA,SAAA,qBAAA,CAAsC,KAAU,EAAhD;IACE,OAAO,KAAK,IAAI,IAAI,IAAI,CAA1B,EAA6B,KAAK,CAAlC,CAAoC,KAAK,OAAO,CAAC;CAChD;;;;;;;;;;;;ADAD,AAAA,SAAA,oBAAA,CAAqC,KAAU,EAAE,aAAa,GAAG,CAAC,EAAlE;IACE,OAAO,cAAc,CAAC,KAAK,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,aAAa,CAAC;CAC9D;;;;;;;AAMD,AAAA,SAAA,cAAA,CAA+B,KAAU,EAAzC;;;;IAIE,OAAO,CAAC,KAAK,CAAC,UAAU,mBAAC,KAAY,EAAC,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;C
 AClE;;;;;;;;;;;;;ADfD,AAAA,SAAA,WAAA,CAA+B,KAAc,EAA7C;IACE,OAAO,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,KAAK,GAAG,CAAC,KAAK,CAAC,CAAC;CAC/C;;;;;GDHD,AACA,AACA,AAAwB;;;;;;;;GDNxB,AAA6B;;"}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/eec354e6/node_modules/@angular/cdk/esm2015/collections.js
----------------------------------------------------------------------
diff --git a/node_modules/@angular/cdk/esm2015/collections.js b/node_modules/@angular/cdk/esm2015/collections.js
new file mode 100644
index 0000000..1491219
--- /dev/null
+++ b/node_modules/@angular/cdk/esm2015/collections.js
@@ -0,0 +1,321 @@
+/**
+ * @license
+ * Copyright Google LLC All Rights Reserved.
+ *
+ * Use of this source code is governed by an MIT-style license that can be
+ * found in the LICENSE file at https://angular.io/license
+ */
+import { Subject } from 'rxjs/Subject';
+import { Injectable, Optional, SkipSelf } from '@angular/core';
+
+/**
+ * @fileoverview added by tsickle
+ * @suppress {checkTypes} checked by tsc
+ */
+
+/**
+ * @abstract
+ */
+class DataSource {
+}
+
+/**
+ * @fileoverview added by tsickle
+ * @suppress {checkTypes} checked by tsc
+ */
+
+/**
+ * Class to be used to power selecting one or more options from a list.
+ */
+class SelectionModel {
+    /**
+     * @param {?=} _multiple
+     * @param {?=} initiallySelectedValues
+     * @param {?=} _emitChanges
+     */
+    constructor(_multiple = false, initiallySelectedValues, _emitChanges = true) {
+        this._multiple = _multiple;
+        this._emitChanges = _emitChanges;
+        /**
+         * Currently-selected values.
+         */
+        this._selection = new Set();
+        /**
+         * Keeps track of the deselected options that haven't been emitted by the change event.
+         */
+        this._deselectedToEmit = [];
+        /**
+         * Keeps track of the selected options that haven't been emitted by the change event.
+         */
+        this._selectedToEmit = [];
+        /**
+         * Event emitted when the value has changed.
+         */
+        this.onChange = this._emitChanges ? new Subject() : null;
+        if (initiallySelectedValues && initiallySelectedValues.length) {
+            if (_multiple) {
+                initiallySelectedValues.forEach(value => this._markSelected(value));
+            }
+            else {
+                this._markSelected(initiallySelectedValues[0]);
+            }
+            // Clear the array in order to avoid firing the change event for preselected values.
+            this._selectedToEmit.length = 0;
+        }
+    }
+    /**
+     * Selected values.
+     * @return {?}
+     */
+    get selected() {
+        if (!this._selected) {
+            this._selected = Array.from(this._selection.values());
+        }
+        return this._selected;
+    }
+    /**
+     * Selects a value or an array of values.
+     * @param {...?} values
+     * @return {?}
+     */
+    select(...values) {
+        this._verifyValueAssignment(values);
+        values.forEach(value => this._markSelected(value));
+        this._emitChangeEvent();
+    }
+    /**
+     * Deselects a value or an array of values.
+     * @param {...?} values
+     * @return {?}
+     */
+    deselect(...values) {
+        this._verifyValueAssignment(values);
+        values.forEach(value => this._unmarkSelected(value));
+        this._emitChangeEvent();
+    }
+    /**
+     * Toggles a value between selected and deselected.
+     * @param {?} value
+     * @return {?}
+     */
+    toggle(value) {
+        this.isSelected(value) ? this.deselect(value) : this.select(value);
+    }
+    /**
+     * Clears all of the selected values.
+     * @return {?}
+     */
+    clear() {
+        this._unmarkAll();
+        this._emitChangeEvent();
+    }
+    /**
+     * Determines whether a value is selected.
+     * @param {?} value
+     * @return {?}
+     */
+    isSelected(value) {
+        return this._selection.has(value);
+    }
+    /**
+     * Determines whether the model does not have a value.
+     * @return {?}
+     */
+    isEmpty() {
+        return this._selection.size === 0;
+    }
+    /**
+     * Determines whether the model has a value.
+     * @return {?}
+     */
+    hasValue() {
+        return !this.isEmpty();
+    }
+    /**
+     * Sorts the selected values based on a predicate function.
+     * @param {?=} predicate
+     * @return {?}
+     */
+    sort(predicate) {
+        if (this._multiple && this._selected) {
+            this._selected.sort(predicate);
+        }
+    }
+    /**
+     * Emits a change event and clears the records of selected and deselected values.
+     * @return {?}
+     */
+    _emitChangeEvent() {
+        // Clear the selected values so they can be re-cached.
+        this._selected = null;
+        if (this._selectedToEmit.length || this._deselectedToEmit.length) {
+            const /** @type {?} */ eventData = new SelectionChange(this, this._selectedToEmit, this._deselectedToEmit);
+            if (this.onChange) {
+                this.onChange.next(eventData);
+            }
+            this._deselectedToEmit = [];
+            this._selectedToEmit = [];
+        }
+    }
+    /**
+     * Selects a value.
+     * @param {?} value
+     * @return {?}
+     */
+    _markSelected(value) {
+        if (!this.isSelected(value)) {
+            if (!this._multiple) {
+                this._unmarkAll();
+            }
+            this._selection.add(value);
+            if (this._emitChanges) {
+                this._selectedToEmit.push(value);
+            }
+        }
+    }
+    /**
+     * Deselects a value.
+     * @param {?} value
+     * @return {?}
+     */
+    _unmarkSelected(value) {
+        if (this.isSelected(value)) {
+            this._selection.delete(value);
+            if (this._emitChanges) {
+                this._deselectedToEmit.push(value);
+            }
+        }
+    }
+    /**
+     * Clears out the selected values.
+     * @return {?}
+     */
+    _unmarkAll() {
+        if (!this.isEmpty()) {
+            this._selection.forEach(value => this._unmarkSelected(value));
+        }
+    }
+    /**
+     * Verifies the value assignment and throws an error if the specified value array is
+     * including multiple values while the selection model is not supporting multiple values.
+     * @param {?} values
+     * @return {?}
+     */
+    _verifyValueAssignment(values) {
+        if (values.length > 1 && !this._multiple) {
+            throw getMultipleValuesInSingleSelectionError();
+        }
+    }
+}
+/**
+ * Event emitted when the value of a MatSelectionModel has changed.
+ * \@docs-private
+ */
+class SelectionChange {
+    /**
+     * @param {?} source
+     * @param {?=} added
+     * @param {?=} removed
+     */
+    constructor(source, added, removed) {
+        this.source = source;
+        this.added = added;
+        this.removed = removed;
+    }
+}
+/**
+ * Returns an error that reports that multiple values are passed into a selection model
+ * with a single value.
+ * @return {?}
+ */
+function getMultipleValuesInSingleSelectionError() {
+    return Error('Cannot pass multiple values into SelectionModel with single-value mode.');
+}
+
+/**
+ * @fileoverview added by tsickle
+ * @suppress {checkTypes} checked by tsc
+ */
+
+/**
+ * Class to coordinate unique selection based on name.
+ * Intended to be consumed as an Angular service.
+ * This service is needed because native radio change events are only fired on the item currently
+ * being selected, and we still need to uncheck the previous selection.
+ *
+ * This service does not *store* any IDs and names because they may change at any time, so it is
+ * less error-prone if they are simply passed through when the events occur.
+ */
+class UniqueSelectionDispatcher {
+    constructor() {
+        this._listeners = [];
+    }
+    /**
+     * Notify other items that selection for the given name has been set.
+     * @param {?} id ID of the item.
+     * @param {?} name Name of the item.
+     * @return {?}
+     */
+    notify(id, name) {
+        for (let /** @type {?} */ listener of this._listeners) {
+            listener(id, name);
+        }
+    }
+    /**
+     * Listen for future changes to item selection.
+     * @param {?} listener
+     * @return {?} Function used to deregister listener
+     */
+    listen(listener) {
+        this._listeners.push(listener);
+        return () => {
+            this._listeners = this._listeners.filter((registered) => {
+                return listener !== registered;
+            });
+        };
+    }
+    /**
+     * @return {?}
+     */
+    ngOnDestroy() {
+        this._listeners = [];
+    }
+}
+UniqueSelectionDispatcher.decorators = [
+    { type: Injectable },
+];
+/** @nocollapse */
+UniqueSelectionDispatcher.ctorParameters = () => [];
+/**
+ * \@docs-private
+ * @param {?} parentDispatcher
+ * @return {?}
+ */
+function UNIQUE_SELECTION_DISPATCHER_PROVIDER_FACTORY(parentDispatcher) {
+    return parentDispatcher || new UniqueSelectionDispatcher();
+}
+/**
+ * \@docs-private
+ */
+const UNIQUE_SELECTION_DISPATCHER_PROVIDER = {
+    // If there is already a dispatcher available, use that. Otherwise, provide a new one.
+    provide: UniqueSelectionDispatcher,
+    deps: [[new Optional(), new SkipSelf(), UniqueSelectionDispatcher]],
+    useFactory: UNIQUE_SELECTION_DISPATCHER_PROVIDER_FACTORY
+};
+
+/**
+ * @fileoverview added by tsickle
+ * @suppress {checkTypes} checked by tsc
+ */
+
+/**
+ * @fileoverview added by tsickle
+ * @suppress {checkTypes} checked by tsc
+ */
+/**
+ * Generated bundle index. Do not edit.
+ */
+
+export { UniqueSelectionDispatcher, UNIQUE_SELECTION_DISPATCHER_PROVIDER, DataSource, SelectionModel, SelectionChange, getMultipleValuesInSingleSelectionError, UNIQUE_SELECTION_DISPATCHER_PROVIDER_FACTORY as ɵa };
+//# sourceMappingURL=collections.js.map

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/eec354e6/node_modules/@angular/cdk/esm2015/collections.js.map
----------------------------------------------------------------------
diff --git a/node_modules/@angular/cdk/esm2015/collections.js.map b/node_modules/@angular/cdk/esm2015/collections.js.map
new file mode 100644
index 0000000..f66a1f4
--- /dev/null
+++ b/node_modules/@angular/cdk/esm2015/collections.js.map
@@ -0,0 +1 @@
+{"version":3,"file":"collections.js","sources":["../../../src/cdk/collections/index.ts","../../../src/cdk/collections/public-api.ts","../../../src/cdk/collections/unique-selection-dispatcher.ts","../../../src/cdk/collections/selection.ts","../../../src/cdk/collections/data-source.ts"],"sourcesContent":["/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n\nexport {UNIQUE_SELECTION_DISPATCHER_PROVIDER_FACTORY as ɵa} from './unique-selection-dispatcher';","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nexport * from './collection-viewer';\nexport * from './data-source';\nexport * from './selection';\nexport {\n  UniqueSelectionDispatcher,\n  UniqueSelectionDispatcherListener,\n  UNIQUE_SELECTION_DISPATCHER_PROVIDER,\n} from './unique-selection-dispatcher';\n","/**\n * @license\n * Copyright 
 Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {Injectable, Optional, SkipSelf, OnDestroy} from '@angular/core';\n\n\n// Users of the Dispatcher never need to see this type, but TypeScript requires it to be exported.\nexport type UniqueSelectionDispatcherListener = (id: string, name: string) => void;\n\n/**\n * Class to coordinate unique selection based on name.\n * Intended to be consumed as an Angular service.\n * This service is needed because native radio change events are only fired on the item currently\n * being selected, and we still need to uncheck the previous selection.\n *\n * This service does not *store* any IDs and names because they may change at any time, so it is\n * less error-prone if they are simply passed through when the events occur.\n */\n@Injectable()\nexport class UniqueSelectionDispatcher implements OnDestroy {\n  pri
 vate _listeners: UniqueSelectionDispatcherListener[] = [];\n\n  /**\n   * Notify other items that selection for the given name has been set.\n   * @param id ID of the item.\n   * @param name Name of the item.\n   */\n  notify(id: string, name: string) {\n    for (let listener of this._listeners) {\n      listener(id, name);\n    }\n  }\n\n  /**\n   * Listen for future changes to item selection.\n   * @return Function used to deregister listener\n   */\n  listen(listener: UniqueSelectionDispatcherListener): () => void {\n    this._listeners.push(listener);\n    return () => {\n      this._listeners = this._listeners.filter((registered: UniqueSelectionDispatcherListener) => {\n        return listener !== registered;\n      });\n    };\n  }\n\n  ngOnDestroy() {\n    this._listeners = [];\n  }\n}\n\n/** @docs-private */\nexport function UNIQUE_SELECTION_DISPATCHER_PROVIDER_FACTORY(\n    parentDispatcher: UniqueSelectionDispatcher) {\n  return parentDispatcher || new UniqueSelectionDispa
 tcher();\n}\n\n/** @docs-private */\nexport const UNIQUE_SELECTION_DISPATCHER_PROVIDER = {\n  // If there is already a dispatcher available, use that. Otherwise, provide a new one.\n  provide: UniqueSelectionDispatcher,\n  deps: [[new Optional(), new SkipSelf(), UniqueSelectionDispatcher]],\n  useFactory: UNIQUE_SELECTION_DISPATCHER_PROVIDER_FACTORY\n};\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {Subject} from 'rxjs/Subject';\n\n/**\n * Class to be used to power selecting one or more options from a list.\n */\nexport class SelectionModel<T> {\n  /** Currently-selected values. */\n  private _selection: Set<T> = new Set();\n\n  /** Keeps track of the deselected options that haven't been emitted by the change event. */\n  private _deselectedToEmit: T[] = [];\n\n  /** Keeps track of the selected options that ha
 ven't been emitted by the change event. */\n  private _selectedToEmit: T[] = [];\n\n  /** Cache for the array value of the selected items. */\n  private _selected: T[] | null;\n\n  /** Selected values. */\n  get selected(): T[] {\n    if (!this._selected) {\n      this._selected = Array.from(this._selection.values());\n    }\n\n    return this._selected;\n  }\n\n  /** Event emitted when the value has changed. */\n  onChange: Subject<SelectionChange<T>> | null = this._emitChanges ? new Subject() : null;\n\n  constructor(\n    private _multiple = false,\n    initiallySelectedValues?: T[],\n    private _emitChanges = true) {\n\n    if (initiallySelectedValues && initiallySelectedValues.length) {\n      if (_multiple) {\n        initiallySelectedValues.forEach(value => this._markSelected(value));\n      } else {\n        this._markSelected(initiallySelectedValues[0]);\n      }\n\n      // Clear the array in order to avoid firing the change event for preselected values.\n      this._sele
 ctedToEmit.length = 0;\n    }\n  }\n\n  /**\n   * Selects a value or an array of values.\n   */\n  select(...values: T[]): void {\n    this._verifyValueAssignment(values);\n    values.forEach(value => this._markSelected(value));\n    this._emitChangeEvent();\n  }\n\n  /**\n   * Deselects a value or an array of values.\n   */\n  deselect(...values: T[]): void {\n    this._verifyValueAssignment(values);\n    values.forEach(value => this._unmarkSelected(value));\n    this._emitChangeEvent();\n  }\n\n  /**\n   * Toggles a value between selected and deselected.\n   */\n  toggle(value: T): void {\n    this.isSelected(value) ? this.deselect(value) : this.select(value);\n  }\n\n  /**\n   * Clears all of the selected values.\n   */\n  clear(): void {\n    this._unmarkAll();\n    this._emitChangeEvent();\n  }\n\n  /**\n   * Determines whether a value is selected.\n   */\n  isSelected(value: T): boolean {\n    return this._selection.has(value);\n  }\n\n  /**\n   * Determines whether the model 
 does not have a value.\n   */\n  isEmpty(): boolean {\n    return this._selection.size === 0;\n  }\n\n  /**\n   * Determines whether the model has a value.\n   */\n  hasValue(): boolean {\n    return !this.isEmpty();\n  }\n\n  /**\n   * Sorts the selected values based on a predicate function.\n   */\n  sort(predicate?: (a: T, b: T) => number): void {\n    if (this._multiple && this._selected) {\n      this._selected.sort(predicate);\n    }\n  }\n\n  /** Emits a change event and clears the records of selected and deselected values. */\n  private _emitChangeEvent() {\n    // Clear the selected values so they can be re-cached.\n    this._selected = null;\n\n    if (this._selectedToEmit.length || this._deselectedToEmit.length) {\n      const eventData = new SelectionChange<T>(this, this._selectedToEmit, this._deselectedToEmit);\n\n      if (this.onChange) {\n        this.onChange.next(eventData);\n      }\n\n      this._deselectedToEmit = [];\n      this._selectedToEmit = [];\n    }\n  
 }\n\n  /** Selects a value. */\n  private _markSelected(value: T) {\n    if (!this.isSelected(value)) {\n      if (!this._multiple) {\n        this._unmarkAll();\n      }\n\n      this._selection.add(value);\n\n      if (this._emitChanges) {\n        this._selectedToEmit.push(value);\n      }\n    }\n  }\n\n  /** Deselects a value. */\n  private _unmarkSelected(value: T) {\n    if (this.isSelected(value)) {\n      this._selection.delete(value);\n\n      if (this._emitChanges) {\n        this._deselectedToEmit.push(value);\n      }\n    }\n  }\n\n  /** Clears out the selected values. */\n  private _unmarkAll() {\n    if (!this.isEmpty()) {\n      this._selection.forEach(value => this._unmarkSelected(value));\n    }\n  }\n\n  /**\n   * Verifies the value assignment and throws an error if the specified value array is\n   * including multiple values while the selection model is not supporting multiple values.\n   */\n  private _verifyValueAssignment(values: T[]) {\n    if (values.length
  > 1 && !this._multiple) {\n      throw getMultipleValuesInSingleSelectionError();\n    }\n  }\n}\n\n/**\n * Event emitted when the value of a MatSelectionModel has changed.\n * @docs-private\n */\nexport class SelectionChange<T> {\n  constructor(\n    /** Model that dispatched the event. */\n    public source: SelectionModel<T>,\n    /** Options that were added to the model. */\n    public added?: T[],\n    /** Options that were removed from the model. */\n    public removed?: T[]) {}\n}\n\n/**\n * Returns an error that reports that multiple values are passed into a selection model\n * with a single value.\n */\nexport function getMultipleValuesInSingleSelectionError() {\n  return Error('Cannot pass multiple values into SelectionModel with single-value mode.');\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport
  {Observable} from 'rxjs/Observable';\nimport {CollectionViewer} from './collection-viewer';\n\nexport abstract class DataSource<T> {\n  /**\n   * Connects a collection viewer (such as a data-table) to this data source. Note that\n   * the stream provided will be accessed during change detection and should not directly change\n   * values that are bound in template views.\n   * @param collectionViewer The component that exposes a view over the data provided by this\n   *     data source.\n   * @returns Observable that emits a new value when the data changes.\n   */\n  abstract connect(collectionViewer: CollectionViewer): Observable<T[]>;\n\n  /**\n   * Disconnects a collection viewer (such as a data-table) from this data source. Can be used\n   * to perform any clean-up or tear-down operations when a view is being destroyed.\n   *\n   * @param collectionViewer The component that exposes a view over the data provided by this\n   *     data source.\n   */\n  abstract disconnect(collec
 tionViewer: CollectionViewer): void;\n}\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AIWA,AAAA,MAAA,UAAA,CAAA;CAmBC;;;;;;;ADtBD;;;AAKA,AAAA,MAAA,cAAA,CAAA;;;;;;IAyBE,WAAF,CACY,SADZ,GACwB,KAAK,EACzB,uBAA6B,EACrB,YAHZ,GAG2B,IAAI,EAH/B;QACY,IAAZ,CAAA,SAAqB,GAAT,SAAS,CAArB;QAEY,IAAZ,CAAA,YAAwB,GAAZ,YAAY,CAAxB;;;;QA1BA,IAAA,CAAA,UAAA,GAA+B,IAAI,GAAG,EAAE,CAAxC;;;;QAGA,IAAA,CAAA,iBAAA,GAAmC,EAAE,CAArC;;;;QAGA,IAAA,CAAA,eAAA,GAAiC,EAAE,CAAnC;;;;QAeA,IAAA,CAAA,QAAA,GAAiD,IAAI,CAAC,YAAY,GAAG,IAAI,OAAO,EAAE,GAAG,IAAI,CAAzF;QAOI,IAAI,uBAAuB,IAAI,uBAAuB,CAAC,MAAM,EAAE;YAC7D,IAAI,SAAS,EAAE;gBACb,uBAAuB,CAAC,OAAO,CAAC,KAAK,IAAI,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC;aACrE;iBAAM;gBACL,IAAI,CAAC,aAAa,CAAC,uBAAuB,CAAC,CAAC,CAAC,CAAC,CAAC;aAChD;;YAGD,IAAI,CAAC,eAAe,CAAC,MAAM,GAAG,CAAC,CAAC;SACjC;KACF;;;;;IA1BD,IAAI,QAAQ,GAAd;QACI,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE;YACnB,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC;SACvD;QAED,OAAO,IAAI,CAAC,SAAS,CAAC;KACvB;;;;;;IAyBD,MAA
 M,CAAC,GAAG,MAAW,EAAvB;QACI,IAAI,CAAC,sBAAsB,CAAC,MAAM,CAAC,CAAC;QACpC,MAAM,CAAC,OAAO,CAAC,KAAK,IAAI,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC;QACnD,IAAI,CAAC,gBAAgB,EAAE,CAAC;KACzB;;;;;;IAKD,QAAQ,CAAC,GAAG,MAAW,EAAzB;QACI,IAAI,CAAC,sBAAsB,CAAC,MAAM,CAAC,CAAC;QACpC,MAAM,CAAC,OAAO,CAAC,KAAK,IAAI,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,CAAC;QACrD,IAAI,CAAC,gBAAgB,EAAE,CAAC;KACzB;;;;;;IAKD,MAAM,CAAC,KAAQ,EAAjB;QACI,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;KACpE;;;;;IAKD,KAAK,GAAP;QACI,IAAI,CAAC,UAAU,EAAE,CAAC;QAClB,IAAI,CAAC,gBAAgB,EAAE,CAAC;KACzB;;;;;;IAKD,UAAU,CAAC,KAAQ,EAArB;QACI,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;KACnC;;;;;IAKD,OAAO,GAAT;QACI,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,KAAK,CAAC,CAAC;KACnC;;;;;IAKD,QAAQ,GAAV;QACI,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;KACxB;;;;;;IAKD,IAAI,CAAC,SAAkC,EAAzC;QACI,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,SAAS,EAAE;YACpC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;SAChC;KACF;;;;;IAGO,gBAA
 gB,GAA1B;;QAEI,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QAEtB,IAAI,IAAI,CAAC,eAAe,CAAC,MAAM,IAAI,IAAI,CAAC,iBAAiB,CAAC,MAAM,EAAE;YAChE,uBAAM,SAAS,GAAG,IAAI,eAAe,CAAI,IAAI,EAAE,IAAI,CAAC,eAAe,EAAE,IAAI,CAAC,iBAAiB,CAAC,CAAC;YAE7F,IAAI,IAAI,CAAC,QAAQ,EAAE;gBACjB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;aAC/B;YAED,IAAI,CAAC,iBAAiB,GAAG,EAAE,CAAC;YAC5B,IAAI,CAAC,eAAe,GAAG,EAAE,CAAC;SAC3B;;;;;;;IAIK,aAAa,CAAC,KAAQ,EAAhC;QACI,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE;YAC3B,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE;gBACnB,IAAI,CAAC,UAAU,EAAE,CAAC;aACnB;YAED,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YAE3B,IAAI,IAAI,CAAC,YAAY,EAAE;gBACrB,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;aAClC;SACF;;;;;;;IAIK,eAAe,CAAC,KAAQ,EAAlC;QACI,IAAI,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE;YAC1B,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAE9B,IAAI,IAAI,CAAC,YAAY,EAAE;gBACrB,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;aACpC;SACF;;;;;;IAIK,UAAU,GAApB;QACI,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE;YACnB,IAAI,CAAC,UAAU,CAAC,OAAO,C
 AAC,KAAK,IAAI,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,CAAC;SAC/D;;;;;;;;IAOK,sBAAsB,CAAC,MAAW,EAA5C;QACI,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE;YACxC,MAAM,uCAAuC,EAAE,CAAC;SACjD;;CAEJ;;;;;AAMD,AAAA,MAAA,eAAA,CAAA;;;;;;IACE,WAAF,CAEW,MAFX,EAIW,KAJX,EAMW,OANX,EAAA;QAEW,IAAX,CAAA,MAAiB,GAAN,MAAM,CAAjB;QAEW,IAAX,CAAA,KAAgB,GAAL,KAAK,CAAhB;QAEW,IAAX,CAAA,OAAkB,GAAP,OAAO,CAAlB;KAA4B;CAC3B;;;;;;AAMD,AAAA,SAAA,uCAAA,GAAA;IACE,OAAO,KAAK,CAAC,yEAAyE,CAAC,CAAC;CACzF;;;;;;;AD/LD;;;;;;;;;AAgBA,AAAA,MAAA,yBAAA,CAAA;;QACA,IAAA,CAAA,UAAA,GAA4D,EAAE,CAA9D;;;;;;;;IAOE,MAAM,CAAC,EAAU,EAAE,IAAY,EAAjC;QACI,KAAK,qBAAI,QAAQ,IAAI,IAAI,CAAC,UAAU,EAAE;YACpC,QAAQ,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;SACpB;KACF;;;;;;IAMD,MAAM,CAAC,QAA2C,EAApD;QACI,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC/B,OAAO,MAAX;YACM,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,UAA6C,KAA7F;gBACQ,OAAO,QAAQ,KAAK,UAAU,CAAC;aAChC,CAAC,CAAC;SACJ,CAAC;KACH;;;;IAED,WAAW,GAAb;QACI,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;KACtB;;;IA
 9BH,EAAA,IAAA,EAAC,UAAU,EAAX;;;;;;;;;AAkCA,AAAA,SAAA,4CAAA,CACI,gBAA2C,EAD/C;IAEE,OAAO,gBAAgB,IAAI,IAAI,yBAAyB,EAAE,CAAC;CAC5D;;;;AAGD,AAAO,MAAM,oCAAoC,GAAG;;IAElD,OAAO,EAAE,yBAAyB;IAClC,IAAI,EAAE,CAAC,CAAC,IAAI,QAAQ,EAAE,EAAE,IAAI,QAAQ,EAAE,EAAE,yBAAyB,CAAC,CAAC;IACnE,UAAU,EAAE,4CAA4C;CACzD,CAAC;;;;;GD3DF,AACA,AACA,AAIuC;;;;;;;;GDXvC,AAEA,AAAiG;;"}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/eec354e6/node_modules/@angular/cdk/esm2015/keycodes.js
----------------------------------------------------------------------
diff --git a/node_modules/@angular/cdk/esm2015/keycodes.js b/node_modules/@angular/cdk/esm2015/keycodes.js
new file mode 100644
index 0000000..b2529c5
--- /dev/null
+++ b/node_modules/@angular/cdk/esm2015/keycodes.js
@@ -0,0 +1,47 @@
+/**
+ * @license
+ * Copyright Google LLC All Rights Reserved.
+ *
+ * Use of this source code is governed by an MIT-style license that can be
+ * found in the LICENSE file at https://angular.io/license
+ */
+/**
+ * @fileoverview added by tsickle
+ * @suppress {checkTypes} checked by tsc
+ */
+
+const UP_ARROW = 38;
+const DOWN_ARROW = 40;
+const RIGHT_ARROW = 39;
+const LEFT_ARROW = 37;
+const PAGE_UP = 33;
+const PAGE_DOWN = 34;
+const HOME = 36;
+const END = 35;
+const ENTER = 13;
+const SPACE = 32;
+const TAB = 9;
+const ESCAPE = 27;
+const BACKSPACE = 8;
+const DELETE = 46;
+const A = 65;
+const Z = 90;
+const ZERO = 48;
+const NINE = 57;
+const COMMA = 188;
+
+/**
+ * @fileoverview added by tsickle
+ * @suppress {checkTypes} checked by tsc
+ */
+
+/**
+ * @fileoverview added by tsickle
+ * @suppress {checkTypes} checked by tsc
+ */
+/**
+ * Generated bundle index. Do not edit.
+ */
+
+export { UP_ARROW, DOWN_ARROW, RIGHT_ARROW, LEFT_ARROW, PAGE_UP, PAGE_DOWN, HOME, END, ENTER, SPACE, TAB, ESCAPE, BACKSPACE, DELETE, A, Z, ZERO, NINE, COMMA };
+//# sourceMappingURL=keycodes.js.map

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/eec354e6/node_modules/@angular/cdk/esm2015/keycodes.js.map
----------------------------------------------------------------------
diff --git a/node_modules/@angular/cdk/esm2015/keycodes.js.map b/node_modules/@angular/cdk/esm2015/keycodes.js.map
new file mode 100644
index 0000000..b217868
--- /dev/null
+++ b/node_modules/@angular/cdk/esm2015/keycodes.js.map
@@ -0,0 +1 @@
+{"version":3,"file":"keycodes.js","sources":["../../../src/cdk/keycodes/index.ts","../../../src/cdk/keycodes/public-api.ts","../../../src/cdk/keycodes/keycodes.ts"],"sourcesContent":["/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nexport * from './keycodes';\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nexport const UP_ARROW = 38;\nexport const DOWN_ARROW = 40;\nexport const RIGHT_ARROW = 39;\nexport const LEFT_ARROW = 37;\nexport const PAGE_UP = 33;\nexport const PAGE_DOWN = 34;\nexport const HOME = 36;\nexport const END = 35;\nexport const ENTER = 13;\nexport const SPA
 CE = 32;\nexport const TAB = 9;\nexport const ESCAPE = 27;\nexport const BACKSPACE = 8;\nexport const DELETE = 46;\nexport const A = 65;\nexport const Z = 90;\nexport const ZERO = 48;\nexport const NINE = 57;\nexport const COMMA = 188;\n"],"names":[],"mappings":";;;;;;;;;;;;AEQA,AAAO,MAAM,QAAQ,GAAG,EAAE,CAAC;AAC3B,AAAO,MAAM,UAAU,GAAG,EAAE,CAAC;AAC7B,AAAO,MAAM,WAAW,GAAG,EAAE,CAAC;AAC9B,AAAO,MAAM,UAAU,GAAG,EAAE,CAAC;AAC7B,AAAO,MAAM,OAAO,GAAG,EAAE,CAAC;AAC1B,AAAO,MAAM,SAAS,GAAG,EAAE,CAAC;AAC5B,AAAO,MAAM,IAAI,GAAG,EAAE,CAAC;AACvB,AAAO,MAAM,GAAG,GAAG,EAAE,CAAC;AACtB,AAAO,MAAM,KAAK,GAAG,EAAE,CAAC;AACxB,AAAO,MAAM,KAAK,GAAG,EAAE,CAAC;AACxB,AAAO,MAAM,GAAG,GAAG,CAAC,CAAC;AACrB,AAAO,MAAM,MAAM,GAAG,EAAE,CAAC;AACzB,AAAO,MAAM,SAAS,GAAG,CAAC,CAAC;AAC3B,AAAO,MAAM,MAAM,GAAG,EAAE,CAAC;AACzB,AAAO,MAAM,CAAC,GAAG,EAAE,CAAC;AACpB,AAAO,MAAM,CAAC,GAAG,EAAE,CAAC;AACpB,AAAO,MAAM,IAAI,GAAG,EAAE,CAAC;AACvB,AAAO,MAAM,IAAI,GAAG,EAAE,CAAC;AACvB,AAAO,MAAM,KAAK,GAAG,GAAG,CAAC;;;;;GDlBzB,AAA2B;;;;;;;;GDJ3B,AAA6B;;"}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/eec354e6/node_modules/@angular/cdk/esm2015/layout.js
----------------------------------------------------------------------
diff --git a/node_modules/@angular/cdk/esm2015/layout.js b/node_modules/@angular/cdk/esm2015/layout.js
new file mode 100644
index 0000000..d5b6a23
--- /dev/null
+++ b/node_modules/@angular/cdk/esm2015/layout.js
@@ -0,0 +1,253 @@
+/**
+ * @license
+ * Copyright Google LLC All Rights Reserved.
+ *
+ * Use of this source code is governed by an MIT-style license that can be
+ * found in the LICENSE file at https://angular.io/license
+ */
+import { Injectable, NgModule, NgZone } from '@angular/core';
+import { Platform, PlatformModule } from '@angular/cdk/platform';
+import { Subject } from 'rxjs/Subject';
+import { map } from 'rxjs/operators/map';
+import { startWith } from 'rxjs/operators/startWith';
+import { takeUntil } from 'rxjs/operators/takeUntil';
+import { coerceArray } from '@angular/cdk/coercion';
+import { combineLatest } from 'rxjs/observable/combineLatest';
+import { fromEventPattern } from 'rxjs/observable/fromEventPattern';
+
+/**
+ * @fileoverview added by tsickle
+ * @suppress {checkTypes} checked by tsc
+ */
+
+/**
+ * Global registry for all dynamically-created, injected style tags.
+ */
+const styleElementForWebkitCompatibility = new Map();
+/**
+ * A utility for calling matchMedia queries.
+ */
+class MediaMatcher {
+    /**
+     * @param {?} platform
+     */
+    constructor(platform) {
+        this.platform = platform;
+        this._matchMedia = this.platform.isBrowser && window.matchMedia ?
+            // matchMedia is bound to the window scope intentionally as it is an illegal invocation to
+            // call it from a different scope.
+            window.matchMedia.bind(window) :
+            noopMatchMedia;
+    }
+    /**
+     * Evaluates the given media query and returns the native MediaQueryList from which results
+     * can be retrieved.
+     * Confirms the layout engine will trigger for the selector query provided and returns the
+     * MediaQueryList for the query provided.
+     * @param {?} query
+     * @return {?}
+     */
+    matchMedia(query) {
+        if (this.platform.WEBKIT) {
+            createEmptyStyleRule(query);
+        }
+        return this._matchMedia(query);
+    }
+}
+MediaMatcher.decorators = [
+    { type: Injectable },
+];
+/** @nocollapse */
+MediaMatcher.ctorParameters = () => [
+    { type: Platform, },
+];
+/**
+ * For Webkit engines that only trigger the MediaQueryListListener when there is at least one CSS
+ * selector for the respective media query.
+ * @param {?} query
+ * @return {?}
+ */
+function createEmptyStyleRule(query) {
+    if (!styleElementForWebkitCompatibility.has(query)) {
+        try {
+            const /** @type {?} */ style = document.createElement('style');
+            style.setAttribute('type', 'text/css');
+            if (!style.sheet) {
+                const /** @type {?} */ cssText = `@media ${query} {.fx-query-test{ }}`;
+                style.appendChild(document.createTextNode(cssText));
+            }
+            document.getElementsByTagName('head')[0].appendChild(style);
+            // Store in private global registry
+            styleElementForWebkitCompatibility.set(query, style);
+        }
+        catch (/** @type {?} */ e) {
+            console.error(e);
+        }
+    }
+}
+/**
+ * No-op matchMedia replacement for non-browser platforms.
+ * @param {?} query
+ * @return {?}
+ */
+function noopMatchMedia(query) {
+    return {
+        matches: query === 'all' || query === '',
+        media: query,
+        addListener: () => { },
+        removeListener: () => { }
+    };
+}
+
+/**
+ * @fileoverview added by tsickle
+ * @suppress {checkTypes} checked by tsc
+ */
+
+/**
+ * The current state of a layout breakpoint.
+ * @record
+ */
+
+/**
+ * Utility for checking the matching state of \@media queries.
+ */
+class BreakpointObserver {
+    /**
+     * @param {?} mediaMatcher
+     * @param {?} zone
+     */
+    constructor(mediaMatcher, zone) {
+        this.mediaMatcher = mediaMatcher;
+        this.zone = zone;
+        /**
+         * A map of all media queries currently being listened for.
+         */
+        this._queries = new Map();
+        /**
+         * A subject for all other observables to takeUntil based on.
+         */
+        this._destroySubject = new Subject();
+    }
+    /**
+     * Completes the active subject, signalling to all other observables to complete.
+     * @return {?}
+     */
+    ngOnDestroy() {
+        this._destroySubject.next();
+        this._destroySubject.complete();
+    }
+    /**
+     * Whether one or more media queries match the current viewport size.
+     * @param {?} value One or more media queries to check.
+     * @return {?} Whether any of the media queries match.
+     */
+    isMatched(value) {
+        let /** @type {?} */ queries = coerceArray(value);
+        return queries.some(mediaQuery => this._registerQuery(mediaQuery).mql.matches);
+    }
+    /**
+     * Gets an observable of results for the given queries that will emit new results for any changes
+     * in matching of the given queries.
+     * @param {?} value
+     * @return {?} A stream of matches for the given queries.
+     */
+    observe(value) {
+        let /** @type {?} */ queries = coerceArray(value);
+        let /** @type {?} */ observables = queries.map(query => this._registerQuery(query).observable);
+        return combineLatest(observables, (a, b) => {
+            return {
+                matches: !!((a && a.matches) || (b && b.matches)),
+            };
+        });
+    }
+    /**
+     * Registers a specific query to be listened for.
+     * @param {?} query
+     * @return {?}
+     */
+    _registerQuery(query) {
+        // Only set up a new MediaQueryList if it is not already being listened for.
+        if (this._queries.has(query)) {
+            return /** @type {?} */ ((this._queries.get(query)));
+        }
+        let /** @type {?} */ mql = this.mediaMatcher.matchMedia(query);
+        // Create callback for match changes and add it is as a listener.
+        let /** @type {?} */ queryObservable = fromEventPattern(
+        // Listener callback methods are wrapped to be placed back in ngZone. Callbacks must be placed
+        // back into the zone because matchMedia is only included in Zone.js by loading the
+        // webapis-media-query.js file alongside the zone.js file.  Additionally, some browsers do not
+        // have MediaQueryList inherit from EventTarget, which causes inconsistencies in how Zone.js
+        // patches it.
+        (listener) => {
+            mql.addListener((e) => this.zone.run(() => listener(e)));
+        }, (listener) => {
+            mql.removeListener((e) => this.zone.run(() => listener(e)));
+        })
+            .pipe(takeUntil(this._destroySubject), startWith(mql), map((nextMql) => ({ matches: nextMql.matches })));
+        // Add the MediaQueryList to the set of queries.
+        let /** @type {?} */ output = { observable: queryObservable, mql: mql };
+        this._queries.set(query, output);
+        return output;
+    }
+}
+BreakpointObserver.decorators = [
+    { type: Injectable },
+];
+/** @nocollapse */
+BreakpointObserver.ctorParameters = () => [
+    { type: MediaMatcher, },
+    { type: NgZone, },
+];
+
+/**
+ * @fileoverview added by tsickle
+ * @suppress {checkTypes} checked by tsc
+ */
+
+const Breakpoints = {
+    XSmall: '(max-width: 599px)',
+    Small: '(min-width: 600px) and (max-width: 959px)',
+    Medium: '(min-width: 960px) and (max-width: 1279px)',
+    Large: '(min-width: 1280px) and (max-width: 1919px)',
+    XLarge: '(min-width: 1920px)',
+    Handset: '(max-width: 599px) and (orientation: portrait), ' +
+        '(max-width: 959px) and (orientation: landscape)',
+    Tablet: '(min-width: 600px) and (max-width: 839px) and (orientation: portrait), ' +
+        '(min-width: 960px) and (max-width: 1279px) and (orientation: landscape)',
+    Web: '(min-width: 840px) and (orientation: portrait), ' +
+        '(min-width: 1280px) and (orientation: landscape)',
+    HandsetPortrait: '(max-width: 599px) and (orientation: portrait)',
+    TabletPortrait: '(min-width: 600px) and (max-width: 839px) and (orientation: portrait)',
+    WebPortrait: '(min-width: 840px) and (orientation: portrait)',
+    HandsetLandscape: '(max-width: 959px) and (orientation: landscape)',
+    TabletLandscape: '(min-width: 960px) and (max-width: 1279px) and (orientation: landscape)',
+    WebLandscape: '(min-width: 1280px) and (orientation: landscape)',
+};
+
+/**
+ * @fileoverview added by tsickle
+ * @suppress {checkTypes} checked by tsc
+ */
+
+class LayoutModule {
+}
+LayoutModule.decorators = [
+    { type: NgModule, args: [{
+                providers: [BreakpointObserver, MediaMatcher],
+                imports: [PlatformModule],
+            },] },
+];
+/** @nocollapse */
+LayoutModule.ctorParameters = () => [];
+
+/**
+ * @fileoverview added by tsickle
+ * @suppress {checkTypes} checked by tsc
+ */
+/**
+ * Generated bundle index. Do not edit.
+ */
+
+export { LayoutModule, BreakpointObserver, Breakpoints, MediaMatcher };
+//# sourceMappingURL=layout.js.map


[17/59] [abbrv] [partial] nifi-fds git commit: update gh-pages

Posted by sc...@apache.org.
http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/eec354e6/node_modules/@angular/cdk/bundles/cdk-overlay.umd.js.map
----------------------------------------------------------------------
diff --git a/node_modules/@angular/cdk/bundles/cdk-overlay.umd.js.map b/node_modules/@angular/cdk/bundles/cdk-overlay.umd.js.map
new file mode 100644
index 0000000..7338bc6
--- /dev/null
+++ b/node_modules/@angular/cdk/bundles/cdk-overlay.umd.js.map
@@ -0,0 +1 @@
+{"version":3,"file":"cdk-overlay.umd.js","sources":["../../src/cdk/overlay/fullscreen-overlay-container.ts","../../src/cdk/overlay/overlay-module.ts","../../src/cdk/overlay/overlay-directives.ts","../../src/cdk/overlay/overlay.ts","../../src/cdk/overlay/overlay-container.ts","../../src/cdk/overlay/keyboard/overlay-keyboard-dispatcher.ts","../../src/cdk/overlay/position/overlay-position-builder.ts","../../src/cdk/overlay/position/global-position-strategy.ts","../../src/cdk/overlay/position/connected-position-strategy.ts","../../src/cdk/overlay/overlay-ref.ts","../../src/cdk/overlay/scroll/scroll-strategy-options.ts","../../src/cdk/overlay/scroll/reposition-scroll-strategy.ts","../../src/cdk/overlay/position/scroll-clip.ts","../../src/cdk/overlay/scroll/block-scroll-strategy.ts","../../src/cdk/overlay/scroll/close-scroll-strategy.ts","../../src/cdk/overlay/scroll/scroll-strategy.ts","../../src/cdk/overlay/position/connected-position.ts","../../src/cdk/overlay/overlay-config.ts","../..
 /src/cdk/overlay/scroll/noop-scroll-strategy.ts","../../node_modules/tslib/tslib.es6.js"],"sourcesContent":["/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {Injectable} from '@angular/core';\nimport {OverlayContainer} from './overlay-container';\n\n/**\n * Alternative to OverlayContainer that supports correct displaying of overlay elements in\n * Fullscreen mode\n * https://developer.mozilla.org/en-US/docs/Web/API/Element/requestFullScreen\n *\n * Should be provided in the root component.\n */\n@Injectable()\nexport class FullscreenOverlayContainer extends OverlayContainer {\n  protected _createContainer(): void {\n    super._createContainer();\n    this._adjustParentForFullscreenChange();\n    this._addFullscreenChangeListener(() => this._adjustParentForFullscreenChange());\n  }\n\n  private _adjustParentForFullsc
 reenChange(): void {\n    if (!this._containerElement) {\n      return;\n    }\n    let fullscreenElement = this.getFullscreenElement();\n    let parent = fullscreenElement || document.body;\n    parent.appendChild(this._containerElement);\n  }\n\n  private _addFullscreenChangeListener(fn: () => void) {\n    if (document.fullscreenEnabled) {\n      document.addEventListener('fullscreenchange', fn);\n    } else if (document.webkitFullscreenEnabled) {\n      document.addEventListener('webkitfullscreenchange', fn);\n    } else if ((document as any).mozFullScreenEnabled) {\n      document.addEventListener('mozfullscreenchange', fn);\n    } else if ((document as any).msFullscreenEnabled) {\n      document.addEventListener('MSFullscreenChange', fn);\n    }\n  }\n\n  /**\n   * When the page is put into fullscreen mode, a specific element is specified.\n   * Only that element and its children are visible when in fullscreen mode.\n   */\n  getFullscreenElement(): Element {\n    return docume
 nt.fullscreenElement ||\n        document.webkitFullscreenElement ||\n        (document as any).mozFullScreenElement ||\n        (document as any).msFullscreenElement ||\n        null;\n  }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {BidiModule} from '@angular/cdk/bidi';\nimport {PortalModule} from '@angular/cdk/portal';\nimport {ScrollDispatchModule, VIEWPORT_RULER_PROVIDER} from '@angular/cdk/scrolling';\nimport {NgModule, Provider} from '@angular/core';\nimport {Overlay} from './overlay';\nimport {OVERLAY_CONTAINER_PROVIDER} from './overlay-container';\nimport {\n  CdkConnectedOverlay,\n  CDK_CONNECTED_OVERLAY_SCROLL_STRATEGY_PROVIDER,\n  CdkOverlayOrigin,\n} from './overlay-directives';\nimport {OverlayPositionBuilder} from './position/overlay-position-builder';\nimport {OVERLAY_KEYBOARD_DISPATCHER_P
 ROVIDER} from './keyboard/overlay-keyboard-dispatcher';\nimport {ScrollStrategyOptions} from './scroll/scroll-strategy-options';\n\nexport const OVERLAY_PROVIDERS: Provider[] = [\n  Overlay,\n  OverlayPositionBuilder,\n  OVERLAY_KEYBOARD_DISPATCHER_PROVIDER,\n  VIEWPORT_RULER_PROVIDER,\n  OVERLAY_CONTAINER_PROVIDER,\n  CDK_CONNECTED_OVERLAY_SCROLL_STRATEGY_PROVIDER,\n];\n\n@NgModule({\n  imports: [BidiModule, PortalModule, ScrollDispatchModule],\n  exports: [CdkConnectedOverlay, CdkOverlayOrigin, ScrollDispatchModule],\n  declarations: [CdkConnectedOverlay, CdkOverlayOrigin],\n  providers: [OVERLAY_PROVIDERS, ScrollStrategyOptions],\n})\nexport class OverlayModule {}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {Direction, Directionality} from '@angular/cdk/bidi';\nimport {coerceBooleanProperty} from '@angula
 r/cdk/coercion';\nimport {ESCAPE} from '@angular/cdk/keycodes';\nimport {TemplatePortal} from '@angular/cdk/portal';\nimport {\n  Directive,\n  ElementRef,\n  EventEmitter,\n  Inject,\n  InjectionToken,\n  Input,\n  OnChanges,\n  OnDestroy,\n  Optional,\n  Output,\n  SimpleChanges,\n  TemplateRef,\n  ViewContainerRef,\n} from '@angular/core';\nimport {Subscription} from 'rxjs/Subscription';\nimport {Overlay} from './overlay';\nimport {OverlayConfig} from './overlay-config';\nimport {OverlayRef} from './overlay-ref';\nimport {\n  ConnectedOverlayPositionChange,\n  ConnectionPositionPair,\n} from './position/connected-position';\nimport {ConnectedPositionStrategy} from './position/connected-position-strategy';\nimport {RepositionScrollStrategy, ScrollStrategy} from './scroll/index';\n\n\n/** Default set of positions for the overlay. Follows the behavior of a dropdown. */\nconst defaultPositionList = [\n  new ConnectionPositionPair(\n      {originX: 'start', originY: 'bottom'},\n      
 {overlayX: 'start', overlayY: 'top'}),\n  new ConnectionPositionPair(\n      {originX: 'start', originY: 'top'},\n      {overlayX: 'start', overlayY: 'bottom'}),\n  new ConnectionPositionPair(\n    {originX: 'end', originY: 'top'},\n    {overlayX: 'end', overlayY: 'bottom'}),\n  new ConnectionPositionPair(\n    {originX: 'end', originY: 'bottom'},\n    {overlayX: 'end', overlayY: 'top'}),\n];\n\n/** Injection token that determines the scroll handling while the connected overlay is open. */\nexport const CDK_CONNECTED_OVERLAY_SCROLL_STRATEGY =\n    new InjectionToken<() => ScrollStrategy>('cdk-connected-overlay-scroll-strategy');\n\n/** @docs-private */\nexport function CDK_CONNECTED_OVERLAY_SCROLL_STRATEGY_PROVIDER_FACTORY(overlay: Overlay):\n    () => RepositionScrollStrategy {\n  return () => overlay.scrollStrategies.reposition();\n}\n\n/** @docs-private */\nexport const CDK_CONNECTED_OVERLAY_SCROLL_STRATEGY_PROVIDER = {\n  provide: CDK_CONNECTED_OVERLAY_SCROLL_STRATEGY,\n  deps: 
 [Overlay],\n  useFactory: CDK_CONNECTED_OVERLAY_SCROLL_STRATEGY_PROVIDER_FACTORY,\n};\n\n\n/**\n * Directive applied to an element to make it usable as an origin for an Overlay using a\n * ConnectedPositionStrategy.\n */\n@Directive({\n  selector: '[cdk-overlay-origin], [overlay-origin], [cdkOverlayOrigin]',\n  exportAs: 'cdkOverlayOrigin',\n})\nexport class CdkOverlayOrigin {\n  constructor(\n      /** Reference to the element on which the directive is applied. */\n      public elementRef: ElementRef) { }\n}\n\n\n/**\n * Directive to facilitate declarative creation of an Overlay using a ConnectedPositionStrategy.\n */\n@Directive({\n  selector: '[cdk-connected-overlay], [connected-overlay], [cdkConnectedOverlay]',\n  exportAs: 'cdkConnectedOverlay'\n})\nexport class CdkConnectedOverlay implements OnDestroy, OnChanges {\n  private _overlayRef: OverlayRef;\n  private _templatePortal: TemplatePortal;\n  private _hasBackdrop = false;\n  private _backdropSubscription = Subscription.EMPT
 Y;\n  private _offsetX: number = 0;\n  private _offsetY: number = 0;\n  private _position: ConnectedPositionStrategy;\n\n  /** Origin for the connected overlay. */\n  @Input('cdkConnectedOverlayOrigin') origin: CdkOverlayOrigin;\n\n  /** Registered connected position pairs. */\n  @Input('cdkConnectedOverlayPositions') positions: ConnectionPositionPair[];\n\n  /** The offset in pixels for the overlay connection point on the x-axis */\n  @Input('cdkConnectedOverlayOffsetX')\n  get offsetX(): number { return this._offsetX; }\n  set offsetX(offsetX: number) {\n    this._offsetX = offsetX;\n    if (this._position) {\n      this._position.withOffsetX(offsetX);\n    }\n  }\n\n  /** The offset in pixels for the overlay connection point on the y-axis */\n  @Input('cdkConnectedOverlayOffsetY')\n  get offsetY() { return this._offsetY; }\n  set offsetY(offsetY: number) {\n    this._offsetY = offsetY;\n    if (this._position) {\n      this._position.withOffsetY(offsetY);\n    }\n  }\n\n  /** The
  width of the overlay panel. */\n  @Input('cdkConnectedOverlayWidth') width: number | string;\n\n  /** The height of the overlay panel. */\n  @Input('cdkConnectedOverlayHeight') height: number | string;\n\n  /** The min width of the overlay panel. */\n  @Input('cdkConnectedOverlayMinWidth') minWidth: number | string;\n\n  /** The min height of the overlay panel. */\n  @Input('cdkConnectedOverlayMinHeight') minHeight: number | string;\n\n  /** The custom class to be set on the backdrop element. */\n  @Input('cdkConnectedOverlayBackdropClass') backdropClass: string;\n\n  /** Strategy to be used when handling scroll events while the overlay is open. */\n  @Input('cdkConnectedOverlayScrollStrategy') scrollStrategy: ScrollStrategy =\n      this._scrollStrategy();\n\n  /** Whether the overlay is open. */\n  @Input('cdkConnectedOverlayOpen') open: boolean = false;\n\n  /** Whether or not the overlay should attach a backdrop. */\n  @Input('cdkConnectedOverlayHasBackdrop')\n  get hasBackdrop
 () { return this._hasBackdrop; }\n  set hasBackdrop(value: any) { this._hasBackdrop = coerceBooleanProperty(value); }\n\n  /**\n   * @deprecated\n   * @deletion-target 6.0.0\n   */\n  @Input('origin')\n  get _deprecatedOrigin(): CdkOverlayOrigin { return this.origin; }\n  set _deprecatedOrigin(_origin: CdkOverlayOrigin) { this.origin = _origin; }\n\n  /**\n   * @deprecated\n   * @deletion-target 6.0.0\n   */\n  @Input('positions')\n  get _deprecatedPositions(): ConnectionPositionPair[] { return this.positions; }\n  set _deprecatedPositions(_positions: ConnectionPositionPair[]) { this.positions = _positions; }\n\n  /**\n   * @deprecated\n   * @deletion-target 6.0.0\n   */\n  @Input('offsetX')\n  get _deprecatedOffsetX(): number { return this.offsetX; }\n  set _deprecatedOffsetX(_offsetX: number) { this.offsetX = _offsetX; }\n\n  /**\n   * @deprecated\n   * @deletion-target 6.0.0\n   */\n  @Input('offsetY')\n  get _deprecatedOffsetY(): number { return this.offsetY; }\n  set _deprecate
 dOffsetY(_offsetY: number) { this.offsetY = _offsetY; }\n\n  /**\n   * @deprecated\n   * @deletion-target 6.0.0\n   */\n  @Input('width')\n  get _deprecatedWidth(): number | string { return this.width; }\n  set _deprecatedWidth(_width: number | string) { this.width = _width; }\n\n  /**\n   * @deprecated\n   * @deletion-target 6.0.0\n   */\n  @Input('height')\n  get _deprecatedHeight(): number | string { return this.height; }\n  set _deprecatedHeight(_height: number | string) { this.height = _height; }\n\n  /**\n   * @deprecated\n   * @deletion-target 6.0.0\n   */\n  @Input('minWidth')\n  get _deprecatedMinWidth(): number | string { return this.minWidth; }\n  set _deprecatedMinWidth(_minWidth: number | string) { this.minWidth = _minWidth; }\n\n  /**\n   * @deprecated\n   * @deletion-target 6.0.0\n   */\n  @Input('minHeight')\n  get _deprecatedMinHeight(): number | string { return this.minHeight; }\n  set _deprecatedMinHeight(_minHeight: number | string) { this.minHeight = _minHeight;
  }\n\n  /**\n   * @deprecated\n   * @deletion-target 6.0.0\n   */\n  @Input('backdropClass')\n  get _deprecatedBackdropClass(): string { return this.backdropClass; }\n  set _deprecatedBackdropClass(_backdropClass: string) { this.backdropClass = _backdropClass; }\n\n  /**\n   * @deprecated\n   * @deletion-target 6.0.0\n   */\n  @Input('scrollStrategy')\n  get _deprecatedScrollStrategy(): ScrollStrategy { return this.scrollStrategy; }\n  set _deprecatedScrollStrategy(_scrollStrategy: ScrollStrategy) {\n    this.scrollStrategy = _scrollStrategy;\n  }\n\n  /**\n   * @deprecated\n   * @deletion-target 6.0.0\n   */\n  @Input('open')\n  get _deprecatedOpen(): boolean { return this.open; }\n  set _deprecatedOpen(_open: boolean) { this.open = _open; }\n\n  /**\n   * @deprecated\n   * @deletion-target 6.0.0\n   */\n  @Input('hasBackdrop')\n  get _deprecatedHasBackdrop() { return this.hasBackdrop; }\n  set _deprecatedHasBackdrop(_hasBackdrop: any) { this.hasBackdrop = _hasBackdrop; }\n\n  /** 
 Event emitted when the backdrop is clicked. */\n  @Output() backdropClick = new EventEmitter<void>();\n\n  /** Event emitted when the position has changed. */\n  @Output() positionChange = new EventEmitter<ConnectedOverlayPositionChange>();\n\n  /** Event emitted when the overlay has been attached. */\n  @Output() attach = new EventEmitter<void>();\n\n  /** Event emitted when the overlay has been detached. */\n  @Output() detach = new EventEmitter<void>();\n\n  // TODO(jelbourn): inputs for size, scroll behavior, animation, etc.\n\n  constructor(\n      private _overlay: Overlay,\n      templateRef: TemplateRef<any>,\n      viewContainerRef: ViewContainerRef,\n      @Inject(CDK_CONNECTED_OVERLAY_SCROLL_STRATEGY) private _scrollStrategy,\n      @Optional() private _dir: Directionality) {\n    this._templatePortal = new TemplatePortal(templateRef, viewContainerRef);\n  }\n\n  /** The associated overlay reference. */\n  get overlayRef(): OverlayRef {\n    return this._overlayRef;\n  }\
 n\n  /** The element's layout direction. */\n  get dir(): Direction {\n    return this._dir ? this._dir.value : 'ltr';\n  }\n\n  ngOnDestroy() {\n    this._destroyOverlay();\n  }\n\n  ngOnChanges(changes: SimpleChanges) {\n    if (this._position) {\n      if (changes['positions'] || changes['_deprecatedPositions']) {\n        this._position.withPositions(this.positions);\n      }\n\n      if (changes['origin'] || changes['_deprecatedOrigin']) {\n        this._position.setOrigin(this.origin.elementRef);\n\n        if (this.open) {\n          this._position.apply();\n        }\n      }\n    }\n\n    if (changes['open'] || changes['_deprecatedOpen']) {\n      this.open ? this._attachOverlay() : this._detachOverlay();\n    }\n  }\n\n  /** Creates an overlay */\n  private _createOverlay() {\n    if (!this.positions || !this.positions.length) {\n      this.positions = defaultPositionList;\n    }\n\n    this._overlayRef = this._overlay.create(this._buildConfig());\n  }\n\n  /** Builds the 
 overlay config based on the directive's inputs */\n  private _buildConfig(): OverlayConfig {\n    const positionStrategy = this._position = this._createPositionStrategy();\n    const overlayConfig = new OverlayConfig({\n      positionStrategy,\n      scrollStrategy: this.scrollStrategy,\n      hasBackdrop: this.hasBackdrop\n    });\n\n    if (this.width || this.width === 0) {\n      overlayConfig.width = this.width;\n    }\n\n    if (this.height || this.height === 0) {\n      overlayConfig.height = this.height;\n    }\n\n    if (this.minWidth || this.minWidth === 0) {\n      overlayConfig.minWidth = this.minWidth;\n    }\n\n    if (this.minHeight || this.minHeight === 0) {\n      overlayConfig.minHeight = this.minHeight;\n    }\n\n    if (this.backdropClass) {\n      overlayConfig.backdropClass = this.backdropClass;\n    }\n\n    return overlayConfig;\n  }\n\n  /** Returns the position strategy of the overlay to be set on the overlay config */\n  private _createPositionStrategy(): C
 onnectedPositionStrategy {\n    const primaryPosition = this.positions[0];\n    const originPoint = {originX: primaryPosition.originX, originY: primaryPosition.originY};\n    const overlayPoint = {overlayX: primaryPosition.overlayX, overlayY: primaryPosition.overlayY};\n    const strategy = this._overlay.position()\n      .connectedTo(this.origin.elementRef, originPoint, overlayPoint)\n      .withOffsetX(this.offsetX)\n      .withOffsetY(this.offsetY);\n\n    for (let i = 1; i < this.positions.length; i++) {\n      strategy.withFallbackPosition(\n          {originX: this.positions[i].originX, originY: this.positions[i].originY},\n          {overlayX: this.positions[i].overlayX, overlayY: this.positions[i].overlayY}\n      );\n    }\n\n    strategy.onPositionChange.subscribe(pos => this.positionChange.emit(pos));\n\n    return strategy;\n  }\n\n  /** Attaches the overlay and subscribes to backdrop clicks if backdrop exists */\n  private _attachOverlay() {\n    if (!this._overlayRef) 
 {\n      this._createOverlay();\n\n      this._overlayRef!.keydownEvents().subscribe((event: KeyboardEvent) => {\n        if (event.keyCode === ESCAPE) {\n          this._detachOverlay();\n        }\n      });\n    }\n\n    this._position.withDirection(this.dir);\n    this._overlayRef.setDirection(this.dir);\n\n    if (!this._overlayRef.hasAttached()) {\n      this._overlayRef.attach(this._templatePortal);\n      this.attach.emit();\n    }\n\n    if (this.hasBackdrop) {\n      this._backdropSubscription = this._overlayRef.backdropClick().subscribe(() => {\n        this.backdropClick.emit();\n      });\n    }\n  }\n\n  /** Detaches the overlay and unsubscribes to backdrop clicks if backdrop exists */\n  private _detachOverlay() {\n    if (this._overlayRef) {\n      this._overlayRef.detach();\n      this.detach.emit();\n    }\n\n    this._backdropSubscription.unsubscribe();\n  }\n\n  /** Destroys the overlay created by this directive. */\n  private _destroyOverlay() {\n    if (this._o
 verlayRef) {\n      this._overlayRef.dispose();\n    }\n\n    this._backdropSubscription.unsubscribe();\n  }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {\n  ComponentFactoryResolver,\n  Injectable,\n  ApplicationRef,\n  Injector,\n  NgZone,\n  Inject,\n} from '@angular/core';\nimport {DomPortalOutlet} from '@angular/cdk/portal';\nimport {OverlayConfig} from './overlay-config';\nimport {OverlayRef} from './overlay-ref';\nimport {OverlayPositionBuilder} from './position/overlay-position-builder';\nimport {OverlayKeyboardDispatcher} from './keyboard/overlay-keyboard-dispatcher';\nimport {OverlayContainer} from './overlay-container';\nimport {ScrollStrategyOptions} from './scroll/index';\nimport {DOCUMENT} from '@angular/common';\n\n\n/** Next overlay unique ID. */\nlet nextUniqueId = 0;\n\n/**\n * Service t
 o create Overlays. Overlays are dynamically added pieces of floating UI, meant to be\n * used as a low-level building building block for other components. Dialogs, tooltips, menus,\n * selects, etc. can all be built using overlays. The service should primarily be used by authors\n * of re-usable components rather than developers building end-user applications.\n *\n * An overlay *is* a PortalOutlet, so any kind of Portal can be loaded into one.\n */\n@Injectable()\nexport class Overlay {\n  constructor(\n              /** Scrolling strategies that can be used when creating an overlay. */\n              public scrollStrategies: ScrollStrategyOptions,\n              private _overlayContainer: OverlayContainer,\n              private _componentFactoryResolver: ComponentFactoryResolver,\n              private _positionBuilder: OverlayPositionBuilder,\n              private _keyboardDispatcher: OverlayKeyboardDispatcher,\n              private _appRef: ApplicationRef,\n              priv
 ate _injector: Injector,\n              private _ngZone: NgZone,\n              @Inject(DOCUMENT) private _document: any) { }\n\n  /**\n   * Creates an overlay.\n   * @param config Configuration applied to the overlay.\n   * @returns Reference to the created overlay.\n   */\n  create(config?: OverlayConfig): OverlayRef {\n    const pane = this._createPaneElement();\n    const portalOutlet = this._createPortalOutlet(pane);\n\n    return new OverlayRef(\n      portalOutlet,\n      pane,\n      new OverlayConfig(config),\n      this._ngZone,\n      this._keyboardDispatcher,\n      this._document\n    );\n  }\n\n  /**\n   * Gets a position builder that can be used, via fluent API,\n   * to construct and configure a position strategy.\n   * @returns An overlay position builder.\n   */\n  position(): OverlayPositionBuilder {\n    return this._positionBuilder;\n  }\n\n  /**\n   * Creates the DOM element for an overlay and appends it to the overlay container.\n   * @returns Newly-created pa
 ne element\n   */\n  private _createPaneElement(): HTMLElement {\n    const pane = this._document.createElement('div');\n\n    pane.id = `cdk-overlay-${nextUniqueId++}`;\n    pane.classList.add('cdk-overlay-pane');\n    this._overlayContainer.getContainerElement().appendChild(pane);\n\n    return pane;\n  }\n\n  /**\n   * Create a DomPortalOutlet into which the overlay content can be loaded.\n   * @param pane The DOM element to turn into a portal outlet.\n   * @returns A portal outlet for the given DOM element.\n   */\n  private _createPortalOutlet(pane: HTMLElement): DomPortalOutlet {\n    return new DomPortalOutlet(pane, this._componentFactoryResolver, this._appRef, this._injector);\n  }\n\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {Injectable, InjectionToken, Inject, Optional, SkipSelf, OnDestroy} fro
 m '@angular/core';\nimport {DOCUMENT} from '@angular/common';\n\n\n/** Container inside which all overlays will render. */\n@Injectable()\nexport class OverlayContainer implements OnDestroy {\n  protected _containerElement: HTMLElement;\n\n  constructor(@Inject(DOCUMENT) private _document: any) {}\n\n  ngOnDestroy() {\n    if (this._containerElement && this._containerElement.parentNode) {\n      this._containerElement.parentNode.removeChild(this._containerElement);\n    }\n  }\n\n  /**\n   * This method returns the overlay container element. It will lazily\n   * create the element the first time  it is called to facilitate using\n   * the container in non-browser environments.\n   * @returns the container element\n   */\n  getContainerElement(): HTMLElement {\n    if (!this._containerElement) { this._createContainer(); }\n    return this._containerElement;\n  }\n\n  /**\n   * Create the overlay container element, which is simply a div\n   * with the 'cdk-overlay-container' class on 
 the document body.\n   */\n  protected _createContainer(): void {\n    const container = this._document.createElement('div');\n\n    container.classList.add('cdk-overlay-container');\n    this._document.body.appendChild(container);\n    this._containerElement = container;\n  }\n}\n\n/** @docs-private */\nexport function OVERLAY_CONTAINER_PROVIDER_FACTORY(parentContainer: OverlayContainer,\n  _document: any) {\n  return parentContainer || new OverlayContainer(_document);\n}\n\n/** @docs-private */\nexport const OVERLAY_CONTAINER_PROVIDER = {\n  // If there is already an OverlayContainer available, use that. Otherwise, provide a new one.\n  provide: OverlayContainer,\n  deps: [\n    [new Optional(), new SkipSelf(), OverlayContainer],\n    DOCUMENT as InjectionToken<any> // We need to use the InjectionToken somewhere to keep TS happy\n  ],\n  useFactory: OVERLAY_CONTAINER_PROVIDER_FACTORY\n};\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source 
 code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {Injectable, Inject, InjectionToken, Optional, SkipSelf, OnDestroy} from '@angular/core';\nimport {OverlayRef} from '../overlay-ref';\nimport {Subscription} from 'rxjs/Subscription';\nimport {filter} from 'rxjs/operators/filter';\nimport {fromEvent} from 'rxjs/observable/fromEvent';\nimport {DOCUMENT} from '@angular/common';\n\n/**\n * Service for dispatching keyboard events that land on the body to appropriate overlay ref,\n * if any. It maintains a list of attached overlays to determine best suited overlay based\n * on event target and order of overlay opens.\n */\n@Injectable()\nexport class OverlayKeyboardDispatcher implements OnDestroy {\n\n  /** Currently attached overlays in the order they were attached. */\n  _attachedOverlays: OverlayRef[] = [];\n\n  private _keydownEventSubscription: Subscription | null;\n\n  constructor(@Inject(DOCUMENT) private 
 _document: any) {}\n\n  ngOnDestroy() {\n    this._unsubscribeFromKeydownEvents();\n  }\n\n  /** Add a new overlay to the list of attached overlay refs. */\n  add(overlayRef: OverlayRef): void {\n    // Lazily start dispatcher once first overlay is added\n    if (!this._keydownEventSubscription) {\n      this._subscribeToKeydownEvents();\n    }\n\n    this._attachedOverlays.push(overlayRef);\n  }\n\n  /** Remove an overlay from the list of attached overlay refs. */\n  remove(overlayRef: OverlayRef): void {\n    const index = this._attachedOverlays.indexOf(overlayRef);\n\n    if (index > -1) {\n      this._attachedOverlays.splice(index, 1);\n    }\n\n    // Remove the global listener once there are no more overlays.\n    if (this._attachedOverlays.length === 0) {\n      this._unsubscribeFromKeydownEvents();\n    }\n  }\n\n  /**\n   * Subscribe to keydown events that land on the body and dispatch those\n   * events to the appropriate overlay.\n   */\n  private _subscribeToKeydownEvent
 s(): void {\n    const bodyKeydownEvents = fromEvent<KeyboardEvent>(this._document.body, 'keydown', true);\n\n    this._keydownEventSubscription = bodyKeydownEvents.pipe(\n      filter(() => !!this._attachedOverlays.length)\n    ).subscribe(event => {\n      // Dispatch keydown event to the correct overlay.\n      this._selectOverlayFromEvent(event)._keydownEvents.next(event);\n    });\n  }\n\n  /** Removes the global keydown subscription. */\n  private _unsubscribeFromKeydownEvents(): void {\n    if (this._keydownEventSubscription) {\n      this._keydownEventSubscription.unsubscribe();\n      this._keydownEventSubscription = null;\n    }\n  }\n\n  /** Select the appropriate overlay from a keydown event. */\n  private _selectOverlayFromEvent(event: KeyboardEvent): OverlayRef {\n    // Check if any overlays contain the event\n    const targetedOverlay = this._attachedOverlays.find(overlay => {\n      return overlay.overlayElement === event.target ||\n          overlay.overlayElement.
 contains(event.target as HTMLElement);\n    });\n\n    // Use the overlay if it exists, otherwise choose the most recently attached one\n    return targetedOverlay || this._attachedOverlays[this._attachedOverlays.length - 1];\n  }\n\n}\n\n/** @docs-private */\nexport function OVERLAY_KEYBOARD_DISPATCHER_PROVIDER_FACTORY(\n    dispatcher: OverlayKeyboardDispatcher, _document: any) {\n  return dispatcher || new OverlayKeyboardDispatcher(_document);\n}\n\n/** @docs-private */\nexport const OVERLAY_KEYBOARD_DISPATCHER_PROVIDER = {\n  // If there is already an OverlayKeyboardDispatcher available, use that.\n  // Otherwise, provide a new one.\n  provide: OverlayKeyboardDispatcher,\n  deps: [\n    [new Optional(), new SkipSelf(), OverlayKeyboardDispatcher],\n\n    // Coerce to `InjectionToken` so that the `deps` match the \"shape\"\n    // of the type expected by Angular\n    DOCUMENT as InjectionToken<any>\n  ],\n  useFactory: OVERLAY_KEYBOARD_DISPATCHER_PROVIDER_FACTORY\n};\n","/**\n * @
 license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {ElementRef, Injectable, Inject} from '@angular/core';\nimport {ViewportRuler} from '@angular/cdk/scrolling';\nimport {ConnectedPositionStrategy} from './connected-position-strategy';\nimport {GlobalPositionStrategy} from './global-position-strategy';\nimport {OverlayConnectionPosition, OriginConnectionPosition} from './connected-position';\nimport {DOCUMENT} from '@angular/common';\n\n\n/** Builder for overlay position strategy. */\n@Injectable()\nexport class OverlayPositionBuilder {\n  constructor(private _viewportRuler: ViewportRuler,\n              @Inject(DOCUMENT) private _document: any) { }\n\n  /**\n   * Creates a global position strategy.\n   */\n  global(): GlobalPositionStrategy {\n    return new GlobalPositionStrategy(this._document);\n  }\n\n  /**\n   * Creates a 
 relative position strategy.\n   * @param elementRef\n   * @param originPos\n   * @param overlayPos\n   */\n  connectedTo(\n      elementRef: ElementRef,\n      originPos: OriginConnectionPosition,\n      overlayPos: OverlayConnectionPosition): ConnectedPositionStrategy {\n\n    return new ConnectedPositionStrategy(originPos, overlayPos, elementRef,\n        this._viewportRuler, this._document);\n  }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {PositionStrategy} from './position-strategy';\nimport {OverlayRef} from '../overlay-ref';\n\n\n/**\n * A strategy for positioning overlays. Using this strategy, an overlay is given an\n * explicit position relative to the browser's viewport. We use flexbox, instead of\n * transforms, in order to avoid issues with subpixel rendering which can cause the\n * element to
  become blurry.\n */\nexport class GlobalPositionStrategy implements PositionStrategy {\n  /** The overlay to which this strategy is attached. */\n  private _overlayRef: OverlayRef;\n\n  private _cssPosition: string = 'static';\n  private _topOffset: string = '';\n  private _bottomOffset: string = '';\n  private _leftOffset: string = '';\n  private _rightOffset: string = '';\n  private _alignItems: string = '';\n  private _justifyContent: string = '';\n  private _width: string = '';\n  private _height: string = '';\n\n  /** A lazily-created wrapper for the overlay element that is used as a flex container. */\n  private _wrapper: HTMLElement | null = null;\n\n  constructor(private _document: any) {}\n\n  attach(overlayRef: OverlayRef): void {\n    this._overlayRef = overlayRef;\n  }\n\n  /**\n   * Sets the top position of the overlay. Clears any previously set vertical position.\n   * @param value New top offset.\n   */\n  top(value: string = ''): this {\n    this._bottomOffset = '';
 \n    this._topOffset = value;\n    this._alignItems = 'flex-start';\n    return this;\n  }\n\n  /**\n   * Sets the left position of the overlay. Clears any previously set horizontal position.\n   * @param value New left offset.\n   */\n  left(value: string = ''): this {\n    this._rightOffset = '';\n    this._leftOffset = value;\n    this._justifyContent = 'flex-start';\n    return this;\n  }\n\n  /**\n   * Sets the bottom position of the overlay. Clears any previously set vertical position.\n   * @param value New bottom offset.\n   */\n  bottom(value: string = ''): this {\n    this._topOffset = '';\n    this._bottomOffset = value;\n    this._alignItems = 'flex-end';\n    return this;\n  }\n\n  /**\n   * Sets the right position of the overlay. Clears any previously set horizontal position.\n   * @param value New right offset.\n   */\n  right(value: string = ''): this {\n    this._leftOffset = '';\n    this._rightOffset = value;\n    this._justifyContent = 'flex-end';\n    return th
 is;\n  }\n\n  /**\n   * Sets the overlay width and clears any previously set width.\n   * @param value New width for the overlay\n   */\n  width(value: string = ''): this {\n    this._width = value;\n\n    // When the width is 100%, we should reset the `left` and the offset,\n    // in order to ensure that the element is flush against the viewport edge.\n    if (value === '100%') {\n      this.left('0px');\n    }\n\n    return this;\n  }\n\n  /**\n   * Sets the overlay height and clears any previously set height.\n   * @param value New height for the overlay\n   */\n  height(value: string = ''): this {\n    this._height = value;\n\n    // When the height is 100%, we should reset the `top` and the offset,\n    // in order to ensure that the element is flush against the viewport edge.\n    if (value === '100%') {\n      this.top('0px');\n    }\n\n    return this;\n  }\n\n  /**\n   * Centers the overlay horizontally with an optional offset.\n   * Clears any previously set horizontal po
 sition.\n   *\n   * @param offset Overlay offset from the horizontal center.\n   */\n  centerHorizontally(offset: string = ''): this {\n    this.left(offset);\n    this._justifyContent = 'center';\n    return this;\n  }\n\n  /**\n   * Centers the overlay vertically with an optional offset.\n   * Clears any previously set vertical position.\n   *\n   * @param offset Overlay offset from the vertical center.\n   */\n  centerVertically(offset: string = ''): this {\n    this.top(offset);\n    this._alignItems = 'center';\n    return this;\n  }\n\n  /**\n   * Apply the position to the element.\n   * @docs-private\n   *\n   * @returns Resolved when the styles have been applied.\n   */\n  apply(): void {\n    // Since the overlay ref applies the strategy asynchronously, it could\n    // have been disposed before it ends up being applied. If that is the\n    // case, we shouldn't do anything.\n    if (!this._overlayRef.hasAttached()) {\n      return;\n    }\n\n    const element = this._overl
 ayRef.overlayElement;\n\n    if (!this._wrapper && element.parentNode) {\n      this._wrapper = this._document.createElement('div');\n      this._wrapper!.classList.add('cdk-global-overlay-wrapper');\n      element.parentNode.insertBefore(this._wrapper!, element);\n      this._wrapper!.appendChild(element);\n    }\n\n    let styles = element.style;\n    let parentStyles = (element.parentNode as HTMLElement).style;\n\n    styles.position = this._cssPosition;\n    styles.marginTop = this._topOffset;\n    styles.marginLeft = this._leftOffset;\n    styles.marginBottom = this._bottomOffset;\n    styles.marginRight = this._rightOffset;\n    styles.width = this._width;\n    styles.height = this._height;\n\n    parentStyles.justifyContent = this._justifyContent;\n    parentStyles.alignItems = this._alignItems;\n  }\n\n  /** Removes the wrapper element from the DOM. */\n  dispose(): void {\n    if (this._wrapper && this._wrapper.parentNode) {\n      this._wrapper.parentNode.removeChild(this.
 _wrapper);\n      this._wrapper = null;\n    }\n  }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {PositionStrategy} from './position-strategy';\nimport {ElementRef} from '@angular/core';\nimport {ViewportRuler} from '@angular/cdk/scrolling';\nimport {\n  ConnectionPositionPair,\n  OriginConnectionPosition,\n  OverlayConnectionPosition,\n  ConnectedOverlayPositionChange,\n  ScrollingVisibility,\n} from './connected-position';\nimport {Subject} from 'rxjs/Subject';\nimport {Subscription} from 'rxjs/Subscription';\nimport {Observable} from 'rxjs/Observable';\nimport {CdkScrollable} from '@angular/cdk/scrolling';\nimport {isElementScrolledOutsideView, isElementClippedByScrolling} from './scroll-clip';\nimport {OverlayRef} from '../overlay-ref';\n\n\n\n/**\n * A strategy for positioning overlays. Using this str
 ategy, an overlay is given an\n * implicit position relative some origin element. The relative position is defined in terms of\n * a point on the origin element that is connected to a point on the overlay element. For example,\n * a basic dropdown is connecting the bottom-left corner of the origin to the top-left corner\n * of the overlay.\n */\nexport class ConnectedPositionStrategy implements PositionStrategy {\n  /** The overlay to which this strategy is attached. */\n  private _overlayRef: OverlayRef;\n\n  /** Layout direction of the position strategy. */\n  private _dir = 'ltr';\n\n  /** The offset in pixels for the overlay connection point on the x-axis */\n  private _offsetX: number = 0;\n\n  /** The offset in pixels for the overlay connection point on the y-axis */\n  private _offsetY: number = 0;\n\n  /** The Scrollable containers used to check scrollable view properties on position change. */\n  private scrollables: CdkScrollable[] = [];\n\n  /** Subscription to viewport r
 esize events. */\n  private _resizeSubscription = Subscription.EMPTY;\n\n  /** Whether the we're dealing with an RTL context */\n  get _isRtl() {\n    return this._dir === 'rtl';\n  }\n\n  /** Ordered list of preferred positions, from most to least desirable. */\n  _preferredPositions: ConnectionPositionPair[] = [];\n\n  /** The origin element against which the overlay will be positioned. */\n  private _origin: HTMLElement;\n\n  /** The overlay pane element. */\n  private _pane: HTMLElement;\n\n  /** The last position to have been calculated as the best fit position. */\n  private _lastConnectedPosition: ConnectionPositionPair;\n\n  /** Whether the position strategy is applied currently. */\n  private _applied = false;\n\n  /** Whether the overlay position is locked. */\n  private _positionLocked = false;\n\n  private _onPositionChange = new Subject<ConnectedOverlayPositionChange>();\n\n  /** Emits an event when the connection point changes. */\n  get onPositionChange(): Observable<
 ConnectedOverlayPositionChange> {\n    return this._onPositionChange.asObservable();\n  }\n\n  constructor(\n      originPos: OriginConnectionPosition,\n      overlayPos: OverlayConnectionPosition,\n      private _connectedTo: ElementRef,\n      private _viewportRuler: ViewportRuler,\n      private _document: any) {\n    this._origin = this._connectedTo.nativeElement;\n    this.withFallbackPosition(originPos, overlayPos);\n  }\n\n  /** Ordered list of preferred positions, from most to least desirable. */\n  get positions(): ConnectionPositionPair[] {\n    return this._preferredPositions;\n  }\n\n  /** Attach this position strategy to an overlay. */\n  attach(overlayRef: OverlayRef): void {\n    this._overlayRef = overlayRef;\n    this._pane = overlayRef.overlayElement;\n    this._resizeSubscription.unsubscribe();\n    this._resizeSubscription = this._viewportRuler.change().subscribe(() => this.apply());\n  }\n\n  /** Disposes all resources used by the position strategy. */\n  dispos
 e() {\n    this._applied = false;\n    this._resizeSubscription.unsubscribe();\n    this._onPositionChange.complete();\n  }\n\n  /** @docs-private */\n  detach() {\n    this._applied = false;\n    this._resizeSubscription.unsubscribe();\n  }\n\n  /**\n   * Updates the position of the overlay element, using whichever preferred position relative\n   * to the origin fits on-screen.\n   * @docs-private\n   */\n  apply(): void {\n    // If the position has been applied already (e.g. when the overlay was opened) and the\n    // consumer opted into locking in the position, re-use the  old position, in order to\n    // prevent the overlay from jumping around.\n    if (this._applied && this._positionLocked && this._lastConnectedPosition) {\n      this.recalculateLastPosition();\n      return;\n    }\n\n    this._applied = true;\n\n    // We need the bounding rects for the origin and the overlay to determine how to position\n    // the overlay relative to the origin.\n    const element = this
 ._pane;\n    const originRect = this._origin.getBoundingClientRect();\n    const overlayRect = element.getBoundingClientRect();\n\n    // We use the viewport size to determine whether a position would go off-screen.\n    const viewportSize = this._viewportRuler.getViewportSize();\n\n    // Fallback point if none of the fallbacks fit into the viewport.\n    let fallbackPoint: OverlayPoint | undefined;\n    let fallbackPosition: ConnectionPositionPair | undefined;\n\n    // We want to place the overlay in the first of the preferred positions such that the\n    // overlay fits on-screen.\n    for (let pos of this._preferredPositions) {\n      // Get the (x, y) point of connection on the origin, and then use that to get the\n      // (top, left) coordinate for the overlay at `pos`.\n      let originPoint = this._getOriginConnectionPoint(originRect, pos);\n      let overlayPoint = this._getOverlayPoint(originPoint, overlayRect, viewportSize, pos);\n\n      // If the overlay in the calcul
 ated position fits on-screen, put it there and we're done.\n      if (overlayPoint.fitsInViewport) {\n        this._setElementPosition(element, overlayRect, overlayPoint, pos);\n\n        // Save the last connected position in case the position needs to be re-calculated.\n        this._lastConnectedPosition = pos;\n\n        return;\n      } else if (!fallbackPoint || fallbackPoint.visibleArea < overlayPoint.visibleArea) {\n        fallbackPoint = overlayPoint;\n        fallbackPosition = pos;\n      }\n    }\n\n    // If none of the preferred positions were in the viewport, take the one\n    // with the largest visible area.\n    this._setElementPosition(element, overlayRect, fallbackPoint!, fallbackPosition!);\n  }\n\n  /**\n   * Re-positions the overlay element with the trigger in its last calculated position,\n   * even if a position higher in the \"preferred positions\" list would now fit. This\n   * allows one to re-align the panel without changing the orientation of the panel
 .\n   */\n  recalculateLastPosition(): void {\n    // If the overlay has never been positioned before, do nothing.\n    if (!this._lastConnectedPosition) {\n      return;\n    }\n\n    const originRect = this._origin.getBoundingClientRect();\n    const overlayRect = this._pane.getBoundingClientRect();\n    const viewportSize = this._viewportRuler.getViewportSize();\n    const lastPosition = this._lastConnectedPosition || this._preferredPositions[0];\n\n    let originPoint = this._getOriginConnectionPoint(originRect, lastPosition);\n    let overlayPoint = this._getOverlayPoint(originPoint, overlayRect, viewportSize, lastPosition);\n    this._setElementPosition(this._pane, overlayRect, overlayPoint, lastPosition);\n  }\n\n  /**\n   * Sets the list of Scrollable containers that host the origin element so that\n   * on reposition we can evaluate if it or the overlay has been clipped or outside view. Every\n   * Scrollable must be an ancestor element of the strategy's origin element.\n  
  */\n  withScrollableContainers(scrollables: CdkScrollable[]) {\n    this.scrollables = scrollables;\n  }\n\n  /**\n   * Adds a new preferred fallback position.\n   * @param originPos\n   * @param overlayPos\n   */\n  withFallbackPosition(\n      originPos: OriginConnectionPosition,\n      overlayPos: OverlayConnectionPosition,\n      offsetX?: number,\n      offsetY?: number): this {\n\n    const position = new ConnectionPositionPair(originPos, overlayPos, offsetX, offsetY);\n    this._preferredPositions.push(position);\n    return this;\n  }\n\n  /**\n   * Sets the layout direction so the overlay's position can be adjusted to match.\n   * @param dir New layout direction.\n   */\n  withDirection(dir: 'ltr' | 'rtl'): this {\n    this._dir = dir;\n    return this;\n  }\n\n  /**\n   * Sets an offset for the overlay's connection point on the x-axis\n   * @param offset New offset in the X axis.\n   */\n  withOffsetX(offset: number): this {\n    this._offsetX = offset;\n    return this;\
 n  }\n\n  /**\n   * Sets an offset for the overlay's connection point on the y-axis\n   * @param  offset New offset in the Y axis.\n   */\n  withOffsetY(offset: number): this {\n    this._offsetY = offset;\n    return this;\n  }\n\n  /**\n   * Sets whether the overlay's position should be locked in after it is positioned\n   * initially. When an overlay is locked in, it won't attempt to reposition itself\n   * when the position is re-applied (e.g. when the user scrolls away).\n   * @param isLocked Whether the overlay should locked in.\n   */\n  withLockedPosition(isLocked: boolean): this {\n    this._positionLocked = isLocked;\n    return this;\n  }\n\n  /**\n   * Overwrites the current set of positions with an array of new ones.\n   * @param positions Position pairs to be set on the strategy.\n   */\n  withPositions(positions: ConnectionPositionPair[]): this {\n    this._preferredPositions = positions.slice();\n    return this;\n  }\n\n  /**\n   * Sets the origin element, relative 
 to which to position the overlay.\n   * @param origin Reference to the new origin element.\n   */\n  setOrigin(origin: ElementRef): this {\n    this._origin = origin.nativeElement;\n    return this;\n  }\n\n  /**\n   * Gets the horizontal (x) \"start\" dimension based on whether the overlay is in an RTL context.\n   * @param rect\n   */\n  private _getStartX(rect: ClientRect): number {\n    return this._isRtl ? rect.right : rect.left;\n  }\n\n  /**\n   * Gets the horizontal (x) \"end\" dimension based on whether the overlay is in an RTL context.\n   * @param rect\n   */\n  private _getEndX(rect: ClientRect): number {\n    return this._isRtl ? rect.left : rect.right;\n  }\n\n\n  /**\n   * Gets the (x, y) coordinate of a connection point on the origin based on a relative position.\n   * @param originRect\n   * @param pos\n   */\n  private _getOriginConnectionPoint(originRect: ClientRect, pos: ConnectionPositionPair): Point {\n    const originStartX = this._getStartX(originRect);\n    
 const originEndX = this._getEndX(originRect);\n\n    let x: number;\n    if (pos.originX == 'center') {\n      x = originStartX + (originRect.width / 2);\n    } else {\n      x = pos.originX == 'start' ? originStartX : originEndX;\n    }\n\n    let y: number;\n    if (pos.originY == 'center') {\n      y = originRect.top + (originRect.height / 2);\n    } else {\n      y = pos.originY == 'top' ? originRect.top : originRect.bottom;\n    }\n\n    return {x, y};\n  }\n\n\n  /**\n   * Gets the (x, y) coordinate of the top-left corner of the overlay given a given position and\n   * origin point to which the overlay should be connected, as well as how much of the element\n   * would be inside the viewport at that position.\n   */\n  private _getOverlayPoint(\n      originPoint: Point,\n      overlayRect: ClientRect,\n      viewportSize: {width: number; height: number},\n      pos: ConnectionPositionPair): OverlayPoint {\n    // Calculate the (overlayStartX, overlayStartY), the start of the 
 potential overlay position\n    // relative to the origin point.\n    let overlayStartX: number;\n    if (pos.overlayX == 'center') {\n      overlayStartX = -overlayRect.width / 2;\n    } else if (pos.overlayX === 'start') {\n      overlayStartX = this._isRtl ? -overlayRect.width : 0;\n    } else {\n      overlayStartX = this._isRtl ? 0 : -overlayRect.width;\n    }\n\n    let overlayStartY: number;\n    if (pos.overlayY == 'center') {\n      overlayStartY = -overlayRect.height / 2;\n    } else {\n      overlayStartY = pos.overlayY == 'top' ? 0 : -overlayRect.height;\n    }\n\n    // The (x, y) offsets of the overlay based on the current position.\n    let offsetX = typeof pos.offsetX === 'undefined' ? this._offsetX : pos.offsetX;\n    let offsetY = typeof pos.offsetY === 'undefined' ? this._offsetY : pos.offsetY;\n\n    // The (x, y) coordinates of the overlay.\n    let x = originPoint.x + overlayStartX + offsetX;\n    let y = originPoint.y + overlayStartY + offsetY;\n\n    // How m
 uch the overlay would overflow at this position, on each side.\n    let leftOverflow = 0 - x;\n    let rightOverflow = (x + overlayRect.width) - viewportSize.width;\n    let topOverflow = 0 - y;\n    let bottomOverflow = (y + overlayRect.height) - viewportSize.height;\n\n    // Visible parts of the element on each axis.\n    let visibleWidth = this._subtractOverflows(overlayRect.width, leftOverflow, rightOverflow);\n    let visibleHeight = this._subtractOverflows(overlayRect.height, topOverflow, bottomOverflow);\n\n    // The area of the element that's within the viewport.\n    let visibleArea = visibleWidth * visibleHeight;\n    let fitsInViewport = (overlayRect.width * overlayRect.height) === visibleArea;\n\n    return {x, y, fitsInViewport, visibleArea};\n  }\n\n  /**\n   * Gets the view properties of the trigger and overlay, including whether they are clipped\n   * or completely outside the view of any of the strategy's scrollables.\n   */\n  private _getScrollVisibility(overlay
 : HTMLElement): ScrollingVisibility {\n    const originBounds = this._origin.getBoundingClientRect();\n    const overlayBounds = overlay.getBoundingClientRect();\n    const scrollContainerBounds =\n        this.scrollables.map(s => s.getElementRef().nativeElement.getBoundingClientRect());\n\n    return {\n      isOriginClipped: isElementClippedByScrolling(originBounds, scrollContainerBounds),\n      isOriginOutsideView: isElementScrolledOutsideView(originBounds, scrollContainerBounds),\n      isOverlayClipped: isElementClippedByScrolling(overlayBounds, scrollContainerBounds),\n      isOverlayOutsideView: isElementScrolledOutsideView(overlayBounds, scrollContainerBounds),\n    };\n  }\n\n  /** Physically positions the overlay element to the given coordinate. */\n  private _setElementPosition(\n      element: HTMLElement,\n      overlayRect: ClientRect,\n      overlayPoint: Point,\n      pos: ConnectionPositionPair) {\n\n    // We want to set either `top` or `bottom` based on whether 
 the overlay wants to appear above\n    // or below the origin and the direction in which the element will expand.\n    let verticalStyleProperty = pos.overlayY === 'bottom' ? 'bottom' : 'top';\n\n    // When using `bottom`, we adjust the y position such that it is the distance\n    // from the bottom of the viewport rather than the top.\n    let y = verticalStyleProperty === 'top' ?\n        overlayPoint.y :\n        this._document.documentElement.clientHeight - (overlayPoint.y + overlayRect.height);\n\n    // We want to set either `left` or `right` based on whether the overlay wants to appear \"before\"\n    // or \"after\" the origin, which determines the direction in which the element will expand.\n    // For the horizontal axis, the meaning of \"before\" and \"after\" change based on whether the\n    // page is in RTL or LTR.\n    let horizontalStyleProperty: string;\n    if (this._dir === 'rtl') {\n      horizontalStyleProperty = pos.overlayX === 'end' ? 'left' : 'right';\n    
 } else {\n      horizontalStyleProperty = pos.overlayX === 'end' ? 'right' : 'left';\n    }\n\n    // When we're setting `right`, we adjust the x position such that it is the distance\n    // from the right edge of the viewport rather than the left edge.\n    let x = horizontalStyleProperty === 'left' ?\n      overlayPoint.x :\n      this._document.documentElement.clientWidth - (overlayPoint.x + overlayRect.width);\n\n\n    // Reset any existing styles. This is necessary in case the preferred position has\n    // changed since the last `apply`.\n    ['top', 'bottom', 'left', 'right'].forEach(p => element.style[p] = null);\n\n    element.style[verticalStyleProperty] = `${y}px`;\n    element.style[horizontalStyleProperty] = `${x}px`;\n\n    // Notify that the position has been changed along with its change properties.\n    const scrollableViewProperties = this._getScrollVisibility(element);\n    const positionChange = new ConnectedOverlayPositionChange(pos, scrollableViewProperties);\
 n    this._onPositionChange.next(positionChange);\n  }\n\n  /**\n   * Subtracts the amount that an element is overflowing on an axis from it's length.\n   */\n  private _subtractOverflows(length: number, ...overflows: number[]): number {\n    return overflows.reduce((currentValue: number, currentOverflow: number) => {\n      return currentValue - Math.max(currentOverflow, 0);\n    }, length);\n  }\n}\n\n/** A simple (x, y) coordinate. */\ninterface Point {\n  x: number;\n  y: number;\n}\n\n/**\n * Expands the simple (x, y) coordinate by adding info about whether the\n * element would fit inside the viewport at that position, as well as\n * how much of the element would be visible.\n */\ninterface OverlayPoint extends Point {\n  visibleArea: number;\n  fitsInViewport: boolean;\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\
 n */\n\nimport {Direction} from '@angular/cdk/bidi';\nimport {ComponentPortal, Portal, PortalOutlet, TemplatePortal} from '@angular/cdk/portal';\nimport {ComponentRef, EmbeddedViewRef, NgZone} from '@angular/core';\nimport {Observable} from 'rxjs/Observable';\nimport {take} from 'rxjs/operators/take';\nimport {Subject} from 'rxjs/Subject';\nimport {OverlayKeyboardDispatcher} from './keyboard/overlay-keyboard-dispatcher';\nimport {OverlayConfig} from './overlay-config';\n\n\n/** An object where all of its properties cannot be written. */\nexport type ImmutableObject<T> = {\n  readonly [P in keyof T]: T[P];\n};\n\n/**\n * Reference to an overlay that has been created with the Overlay service.\n * Used to manipulate or dispose of said overlay.\n */\nexport class OverlayRef implements PortalOutlet {\n  private _backdropElement: HTMLElement | null = null;\n  private _backdropClick: Subject<MouseEvent> = new Subject();\n  private _attachments = new Subject<void>();\n  private _detachments
  = new Subject<void>();\n\n  /** Stream of keydown events dispatched to this overlay. */\n  _keydownEvents = new Subject<KeyboardEvent>();\n\n  constructor(\n      private _portalOutlet: PortalOutlet,\n      private _pane: HTMLElement,\n      private _config: ImmutableObject<OverlayConfig>,\n      private _ngZone: NgZone,\n      private _keyboardDispatcher: OverlayKeyboardDispatcher,\n      private _document: Document) {\n\n    if (_config.scrollStrategy) {\n      _config.scrollStrategy.attach(this);\n    }\n  }\n\n  /** The overlay's HTML element */\n  get overlayElement(): HTMLElement {\n    return this._pane;\n  }\n\n  /** The overlay's backdrop HTML element. */\n  get backdropElement(): HTMLElement | null {\n    return this._backdropElement;\n  }\n\n  attach<T>(portal: ComponentPortal<T>): ComponentRef<T>;\n  attach<T>(portal: TemplatePortal<T>): EmbeddedViewRef<T>;\n  attach(portal: any): any;\n\n  /**\n   * Attaches content, given via a Portal, to the overlay.\n   * If the ove
 rlay is configured to have a backdrop, it will be created.\n   *\n   * @param portal Portal instance to which to attach the overlay.\n   * @returns The portal attachment result.\n   */\n  attach(portal: Portal<any>): any {\n    let attachResult = this._portalOutlet.attach(portal);\n\n    if (this._config.positionStrategy) {\n      this._config.positionStrategy.attach(this);\n    }\n\n    // Update the pane element with the given configuration.\n    this._updateStackingOrder();\n    this._updateElementSize();\n    this._updateElementDirection();\n\n    if (this._config.scrollStrategy) {\n      this._config.scrollStrategy.enable();\n    }\n\n    // Update the position once the zone is stable so that the overlay will be fully rendered\n    // before attempting to position it, as the position may depend on the size of the rendered\n    // content.\n    this._ngZone.onStable.asObservable().pipe(take(1)).subscribe(() => {\n      // The overlay could've been detached before the zone has st
 abilized.\n      if (this.hasAttached()) {\n        this.updatePosition();\n      }\n    });\n\n    // Enable pointer events for the overlay pane element.\n    this._togglePointerEvents(true);\n\n    if (this._config.hasBackdrop) {\n      this._attachBackdrop();\n    }\n\n    if (this._config.panelClass) {\n      // We can't do a spread here, because IE doesn't support setting multiple classes.\n      if (Array.isArray(this._config.panelClass)) {\n        this._config.panelClass.forEach(cls => this._pane.classList.add(cls));\n      } else {\n        this._pane.classList.add(this._config.panelClass);\n      }\n    }\n\n    // Only emit the `attachments` event once all other setup is done.\n    this._attachments.next();\n\n    // Track this overlay by the keyboard dispatcher\n    this._keyboardDispatcher.add(this);\n\n    return attachResult;\n  }\n\n  /**\n   * Detaches an overlay from a portal.\n   * @returns The portal detachment result.\n   */\n  detach(): any {\n    if (!this.has
 Attached()) {\n      return;\n    }\n\n    this.detachBackdrop();\n\n    // When the overlay is detached, the pane element should disable pointer events.\n    // This is necessary because otherwise the pane element will cover the page and disable\n    // pointer events therefore. Depends on the position strategy and the applied pane boundaries.\n    this._togglePointerEvents(false);\n\n    if (this._config.positionStrategy && this._config.positionStrategy.detach) {\n      this._config.positionStrategy.detach();\n    }\n\n    if (this._config.scrollStrategy) {\n      this._config.scrollStrategy.disable();\n    }\n\n    const detachmentResult = this._portalOutlet.detach();\n\n    // Only emit after everything is detached.\n    this._detachments.next();\n\n    // Remove this overlay from keyboard dispatcher tracking\n    this._keyboardDispatcher.remove(this);\n\n    return detachmentResult;\n  }\n\n  /** Cleans up the overlay from the DOM. */\n  dispose(): void {\n    const isAttached 
 = this.hasAttached();\n\n    if (this._config.positionStrategy) {\n      this._config.positionStrategy.dispose();\n    }\n\n    if (this._config.scrollStrategy) {\n      this._config.scrollStrategy.disable();\n    }\n\n    this.detachBackdrop();\n    this._keyboardDispatcher.remove(this);\n    this._portalOutlet.dispose();\n    this._attachments.complete();\n    this._backdropClick.complete();\n    this._keydownEvents.complete();\n\n    if (isAttached) {\n      this._detachments.next();\n    }\n\n    this._detachments.complete();\n  }\n\n  /** Whether the overlay has attached content. */\n  hasAttached(): boolean {\n    return this._portalOutlet.hasAttached();\n  }\n\n  /** Gets an observable that emits when the backdrop has been clicked. */\n  backdropClick(): Observable<MouseEvent> {\n    return this._backdropClick.asObservable();\n  }\n\n  /** Gets an observable that emits when the overlay has been attached. */\n  attachments(): Observable<void> {\n    return this._attachments.as
 Observable();\n  }\n\n  /** Gets an observable that emits when the overlay has been detached. */\n  detachments(): Observable<void> {\n    return this._detachments.asObservable();\n  }\n\n  /** Gets an observable of keydown events targeted to this overlay. */\n  keydownEvents(): Observable<KeyboardEvent> {\n    return this._keydownEvents.asObservable();\n  }\n\n  /** Gets the the current overlay configuration, which is immutable. */\n  getConfig(): OverlayConfig {\n    return this._config;\n  }\n\n  /** Updates the position of the overlay based on the position strategy. */\n  updatePosition() {\n    if (this._config.positionStrategy) {\n      this._config.positionStrategy.apply();\n    }\n  }\n\n  /** Update the size properties of the overlay. */\n  updateSize(sizeConfig: OverlaySizeConfig) {\n    this._config = {...this._config, ...sizeConfig};\n    this._updateElementSize();\n  }\n\n  /** Sets the LTR/RTL direction for the overlay. */\n  setDirection(dir: Direction) {\n    this._c
 onfig = {...this._config, direction: dir};\n    this._updateElementDirection();\n  }\n\n  /** Updates the text direction of the overlay panel. */\n  private _updateElementDirection() {\n    this._pane.setAttribute('dir', this._config.direction!);\n  }\n\n  /** Updates the size of the overlay element based on the overlay config. */\n  private _updateElementSize() {\n    if (this._config.width || this._config.width === 0) {\n      this._pane.style.width = formatCssUnit(this._config.width);\n    }\n\n    if (this._config.height || this._config.height === 0) {\n      this._pane.style.height = formatCssUnit(this._config.height);\n    }\n\n    if (this._config.minWidth || this._config.minWidth === 0) {\n      this._pane.style.minWidth = formatCssUnit(this._config.minWidth);\n    }\n\n    if (this._config.minHeight || this._config.minHeight === 0) {\n      this._pane.style.minHeight = formatCssUnit(this._config.minHeight);\n    }\n\n    if (this._config.maxWidth || this._config.maxWidth ==
 = 0) {\n      this._pane.style.maxWidth = formatCssUnit(this._config.maxWidth);\n    }\n\n    if (this._config.maxHeight || this._config.maxHeight === 0) {\n      this._pane.style.maxHeight = formatCssUnit(this._config.maxHeight);\n    }\n  }\n\n  /** Toggles the pointer events for the overlay pane element. */\n  private _togglePointerEvents(enablePointer: boolean) {\n    this._pane.style.pointerEvents = enablePointer ? 'auto' : 'none';\n  }\n\n  /** Attaches a backdrop for this overlay. */\n  private _attachBackdrop() {\n    const showingClass = 'cdk-overlay-backdrop-showing';\n\n    this._backdropElement = this._document.createElement('div');\n    this._backdropElement.classList.add('cdk-overlay-backdrop');\n\n    if (this._config.backdropClass) {\n      this._backdropElement.classList.add(this._config.backdropClass);\n    }\n\n    // Insert the backdrop before the pane in the DOM order,\n    // in order to handle stacked overlays properly.\n    this._pane.parentElement!.insertBef
 ore(this._backdropElement, this._pane);\n\n    // Forward backdrop clicks such that the consumer of the overlay can perform whatever\n    // action desired when such a click occurs (usually closing the overlay).\n    this._backdropElement.addEventListener('click',\n        (event: MouseEvent) => this._backdropClick.next(event));\n\n    // Add class to fade-in the backdrop after one frame.\n    if (typeof requestAnimationFrame !== 'undefined') {\n      this._ngZone.runOutsideAngular(() => {\n        requestAnimationFrame(() => {\n          if (this._backdropElement) {\n            this._backdropElement.classList.add(showingClass);\n          }\n        });\n      });\n    } else {\n      this._backdropElement.classList.add(showingClass);\n    }\n  }\n\n  /**\n   * Updates the stacking order of the element, moving it to the top if necessary.\n   * This is required in cases where one overlay was detached, while another one,\n   * that should be behind it, was destroyed. The next time b
 oth of them are opened,\n   * the stacking will be wrong, because the detached element's pane will still be\n   * in its original DOM position.\n   */\n  private _updateStackingOrder() {\n    if (this._pane.nextSibling) {\n      this._pane.parentNode!.appendChild(this._pane);\n    }\n  }\n\n  /** Detaches the backdrop (if any) associated with the overlay. */\n  detachBackdrop(): void {\n    let backdropToDetach = this._backdropElement;\n\n    if (backdropToDetach) {\n      let finishDetach = () => {\n        // It may not be attached to anything in certain cases (e.g. unit tests).\n        if (backdropToDetach && backdropToDetach.parentNode) {\n          backdropToDetach.parentNode.removeChild(backdropToDetach);\n        }\n\n        // It is possible that a new portal has been attached to this overlay since we started\n        // removing the backdrop. If that is the case, only clear the backdrop reference if it\n        // is still the same instance that we started to remove.\n   
      if (this._backdropElement == backdropToDetach) {\n          this._backdropElement = null;\n        }\n      };\n\n      backdropToDetach.classList.remove('cdk-overlay-backdrop-showing');\n\n      if (this._config.backdropClass) {\n        backdropToDetach.classList.remove(this._config.backdropClass);\n      }\n\n      backdropToDetach.addEventListener('transitionend', finishDetach);\n\n      // If the backdrop doesn't have a transition, the `transitionend` event won't fire.\n      // In this case we make it unclickable and we try to remove it after a delay.\n      backdropToDetach.style.pointerEvents = 'none';\n\n      // Run this outside the Angular zone because there's nothing that Angular cares about.\n      // If it were to run inside the Angular zone, every test that used Overlay would have to be\n      // either async or fakeAsync.\n      this._ngZone.runOutsideAngular(() => {\n        setTimeout(finishDetach, 500);\n      });\n    }\n  }\n}\n\nfunction formatCssUnit(valu
 e: number | string) {\n  return typeof value === 'string' ? value as string : `${value}px`;\n}\n\n\n/** Size properties for an overlay. */\nexport interface OverlaySizeConfig {\n  width?: number | string;\n  height?: number | string;\n  minWidth?: number | string;\n  minHeight?: number | string;\n  maxWidth?: number | string;\n  maxHeight?: number | string;\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nimport {Injectable, NgZone, Inject} from '@angular/core';\nimport {CloseScrollStrategy, CloseScrollStrategyConfig} from './close-scroll-strategy';\nimport {NoopScrollStrategy} from './noop-scroll-strategy';\nimport {BlockScrollStrategy} from './block-scroll-strategy';\nimport {ScrollDispatcher} from '@angular/cdk/scrolling';\nimport {ViewportRuler} from '@angular/cdk/scrolling';\nimport {DOCUMENT} from '@angular/commo
 n';\nimport {\n  RepositionScrollStrategy,\n  RepositionScrollStrategyConfig,\n} from './reposition-scroll-strategy';\n\n\n/**\n * Options for how an overlay will handle scrolling.\n *\n * Users can provide a custom value for `ScrollStrategyOptions` to replace the default\n * behaviors. This class primarily acts as a factory for ScrollStrategy instances.\n */\n@Injectable()\nexport class ScrollStrategyOptions {\n  private _document: Document;\n\n  constructor(\n    private _scrollDispatcher: ScrollDispatcher,\n    private _viewportRuler: ViewportRuler,\n    private _ngZone: NgZone,\n    @Inject(DOCUMENT) document: any) {\n      this._document = document;\n    }\n\n  /** Do nothing on scroll. */\n  noop = () => new NoopScrollStrategy();\n\n  /**\n   * Close the overlay as soon as the user scrolls.\n   * @param config Configuration to be used inside the scroll strategy.\n   */\n  close = (config?: CloseScrollStrategyConfig) => new CloseScrollStrategy(this._scrollDispatcher,\n      thi
 s._ngZone, this._viewportRuler, config)\n\n  /** Block scrolling. */\n  block = () => new BlockScrollStrategy(this._viewportRuler, this._document);\n\n  /**\n   * Update the overlay's position on scroll.\n   * @param config Configuration to be used inside the scroll strategy.\n   * Allows debouncing the reposition calls.\n   */\n  reposition = (config?: RepositionScrollStrategyConfig) => new RepositionScrollStrategy(\n      this._scrollDispatcher, this._viewportRuler, this._ngZone, config)\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {NgZone} from '@angular/core';\nimport {Subscription} from 'rxjs/Subscription';\nimport {ScrollStrategy, getMatScrollStrategyAlreadyAttachedError} from './scroll-strategy';\nimport {OverlayRef} from '../overlay-ref';\nimport {ScrollDispatcher, ViewportRuler} from '@angular/cdk
 /scrolling';\nimport {isElementScrolledOutsideView} from '../position/scroll-clip';\n\n/**\n * Config options for the RepositionScrollStrategy.\n */\nexport interface RepositionScrollStrategyConfig {\n  /** Time in milliseconds to throttle the scroll events. */\n  scrollThrottle?: number;\n\n  /** Whether to close the overlay once the user has scrolled away completely. */\n  autoClose?: boolean;\n}\n\n/**\n * Strategy that will update the element position as the user is scrolling.\n */\nexport class RepositionScrollStrategy implements ScrollStrategy {\n  private _scrollSubscription: Subscription|null = null;\n  private _overlayRef: OverlayRef;\n\n  constructor(\n    private _scrollDispatcher: ScrollDispatcher,\n    private _viewportRuler: ViewportRuler,\n    private _ngZone: NgZone,\n    private _config?: RepositionScrollStrategyConfig) { }\n\n  /** Attaches this scroll strategy to an overlay. */\n  attach(overlayRef: OverlayRef) {\n    if (this._overlayRef) {\n      throw getMatScr
 ollStrategyAlreadyAttachedError();\n    }\n\n    this._overlayRef = overlayRef;\n  }\n\n  /** Enables repositioning of the attached overlay on scroll. */\n  enable() {\n    if (!this._scrollSubscription) {\n      const throttle = this._config ? this._config.scrollThrottle : 0;\n\n      this._scrollSubscription = this._scrollDispatcher.scrolled(throttle).subscribe(() => {\n        this._overlayRef.updatePosition();\n\n        // TODO(crisbeto): make `close` on by default once all components can handle it.\n        if (this._config && this._config.autoClose) {\n          const overlayRect = this._overlayRef.overlayElement.getBoundingClientRect();\n          const {width, height} = this._viewportRuler.getViewportSize();\n\n          // TODO(crisbeto): include all ancestor scroll containers here once\n          // we have a way of exposing the trigger element to the scroll strategy.\n          const parentRects = [{width, height, bottom: height, right: width, top: 0, left: 0}];\n\n     
      if (isElementScrolledOutsideView(overlayRect, parentRects)) {\n            this.disable();\n            this._ngZone.run(() => this._overlayRef.detach());\n          }\n        }\n      });\n    }\n  }\n\n  /** Disables repositioning of the attached overlay on scroll. */\n  disable() {\n    if (this._scrollSubscription) {\n      this._scrollSubscription.unsubscribe();\n      this._scrollSubscription = null;\n    }\n  }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n// TODO(jelbourn): move this to live with the rest of the scrolling code\n// TODO(jelbourn): someday replace this with IntersectionObservers\n\n/**\n * Gets whether an element is scrolled outside of view by any of its parent scrolling containers.\n * @param element Dimensions of the element (from getBoundingClientRect)\n * @param scrollContainers Di
 mensions of element's scrolling containers (from getBoundingClientRect)\n * @returns Whether the element is scrolled out of view\n * @docs-private\n */\nexport function isElementScrolledOutsideView(element: ClientRect, scrollContainers: ClientRect[]) {\n  return scrollContainers.some(containerBounds => {\n    const outsideAbove = element.bottom < containerBounds.top;\n    const outsideBelow = element.top > containerBounds.bottom;\n    const outsideLeft = element.right < containerBounds.left;\n    const outsideRight = element.left > containerBounds.right;\n\n    return outsideAbove || outsideBelow || outsideLeft || outsideRight;\n  });\n}\n\n\n/**\n * Gets whether an element is clipped by any of its scrolling containers.\n * @param element Dimensions of the element (from getBoundingClientRect)\n * @param scrollContainers Dimensions of element's scrolling containers (from getBoundingClientRect)\n * @returns Whether the element is clipped\n * @docs-private\n */\nexport function isEleme
 ntClippedByScrolling(element: ClientRect, scrollContainers: ClientRect[]) {\n  return scrollContainers.some(scrollContainerRect => {\n    const clippedAbove = element.top < scrollContainerRect.top;\n    const clippedBelow = element.bottom > scrollContainerRect.bottom;\n    const clippedLeft = element.left < scrollContainerRect.left;\n    const clippedRight = element.right > scrollContainerRect.right;\n\n    return clippedAbove || clippedBelow || clippedLeft || clippedRight;\n  });\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {ScrollStrategy} from './scroll-strategy';\nimport {ViewportRuler} from '@angular/cdk/scrolling';\n\n/**\n * Strategy that will prevent the user from scrolling while the overlay is visible.\n */\nexport class BlockScrollStrategy implements ScrollStrategy {\n  private _previousHTMLStyle
 s = { top: '', left: '' };\n  private _previousScrollPosition: { top: number, left: number };\n  private _isEnabled = false;\n  private _document: Document;\n\n  constructor(private _viewportRuler: ViewportRuler, document: any) {\n    this._document = document;\n  }\n\n  /** Attaches this scroll strategy to an overlay. */\n  attach() { }\n\n  /** Blocks page-level scroll while the attached overlay is open. */\n  enable() {\n    if (this._canBeEnabled()) {\n      const root = this._document.documentElement;\n\n      this._previousScrollPosition = this._viewportRuler.getViewportScrollPosition();\n\n      // Cache the previous inline styles in case the user had set them.\n      this._previousHTMLStyles.left = root.style.left || '';\n      this._previousHTMLStyles.top = root.style.top || '';\n\n      // Note: we're using the `html` node, instead of the `body`, because the `body` may\n      // have the user agent margin, whereas the `html` is guaranteed not to have one.\n      root.style
 .left = `${-this._previousScrollPosition.left}px`;\n      root.style.top = `${-this._previousScrollPosition.top}px`;\n      root.classList.add('cdk-global-scrollblock');\n      this._isEnabled = true;\n    }\n  }\n\n  /** Unblocks page-level scroll while the attached overlay is open. */\n  disable() {\n    if (this._isEnabled) {\n      const html = this._document.documentElement;\n      const body = this._document.body;\n      const previousHtmlScrollBehavior = html.style['scrollBehavior'] || '';\n      const previousBodyScrollBehavior = body.style['scrollBehavior'] || '';\n\n      this._isEnabled = false;\n\n      html.style.left = this._previousHTMLStyles.left;\n      html.style.top = this._previousHTMLStyles.top;\n      html.classList.remove('cdk-global-scrollblock');\n\n      // Disable user-defined smooth scrolling temporarily while we restore the scroll position.\n      // See https://developer.mozilla.org/en-US/docs/Web/CSS/scroll-behavior\n      html.style['scrollBehavior'] 
 = body.style['scrollBehavior'] = 'auto';\n\n      window.scroll(this._previousScrollPosition.left, this._previousScrollPosition.top);\n\n      html.style['scrollBehavior'] = previousHtmlScrollBehavior;\n      body.style['scrollBehavior'] = previousBodyScrollBehavior;\n    }\n  }\n\n  private _canBeEnabled(): boolean {\n    // Since the scroll strategies can't be singletons, we have to use a global CSS class\n    // (`cdk-global-scrollblock`) to make sure that we don't try to disable global\n    // scrolling multiple times.\n    const html = this._document.documentElement;\n\n    if (html.classList.contains('cdk-global-scrollblock') || this._isEnabled) {\n      return false;\n    }\n\n    const body = this._document.body;\n    const viewport = this._viewportRuler.getViewportSize();\n    return body.scrollHeight > viewport.height || body.scrollWidth > viewport.width;\n  }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed 
 by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nimport {NgZone} from '@angular/core';\nimport {ScrollStrategy, getMatScrollStrategyAlreadyAttachedError} from './scroll-strategy';\nimport {OverlayRef} from '../overlay-ref';\nimport {Subscription} from 'rxjs/Subscription';\nimport {ScrollDispatcher, ViewportRuler} from '@angular/cdk/scrolling';\n\n/**\n * Config options for the CloseScrollStrategy.\n */\nexport interface CloseScrollStrategyConfig {\n  /** Amount of pixels the user has to scroll before the overlay is closed. */\n  threshold?: number;\n}\n\n/**\n * Strategy that will close the overlay as soon as the user starts scrolling.\n */\nexport class CloseScrollStrategy implements ScrollStrategy {\n  private _scrollSubscription: Subscription|null = null;\n  private _overlayRef: OverlayRef;\n  private _initialScrollPosition: number;\n\n  constructor(\n    private _scrollDispatcher: ScrollDispatcher,\n    private _ngZone: NgZone
 ,\n    private _viewportRuler: ViewportRuler,\n    private _config?: CloseScrollStrategyConfig) {}\n\n  /** Attaches this scroll strategy to an overlay. */\n  attach(overlayRef: OverlayRef) {\n    if (this._overlayRef) {\n      throw getMatScrollStrategyAlreadyAttachedError();\n    }\n\n    this._overlayRef = overlayRef;\n  }\n\n  /** Enables the closing of the attached overlay on scroll. */\n  enable() {\n    if (this._scrollSubscription) {\n      return;\n    }\n\n    const stream = this._scrollDispatcher.scrolled(0);\n\n    if (this._config && this._config.threshold && this._config.threshold > 1) {\n      this._initialScrollPosition = this._viewportRuler.getViewportScrollPosition().top;\n\n      this._scrollSubscription = stream.subscribe(() => {\n        const scrollPosition = this._viewportRuler.getViewportScrollPosition().top;\n\n        if (Math.abs(scrollPosition - this._initialScrollPosition) > this._config!.threshold!) {\n          this._detach();\n        } else {\n      
     this._overlayRef.updatePosition();\n        }\n      });\n    } else {\n      this._scrollSubscription = stream.subscribe(this._detach);\n    }\n  }\n\n  /** Disables the closing the attached overlay on scroll. */\n  disable() {\n    if (this._scrollSubscription) {\n      this._scrollSubscription.unsubscribe();\n      this._scrollSubscription = null;\n    }\n  }\n\n  /** Detaches the overlay ref and disables the scroll strategy. */\n  private _detach = () => {\n    this.disable();\n\n    if (this._overlayRef.hasAttached()) {\n      this._ngZone.run(() => this._overlayRef.detach());\n    }\n  }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {OverlayRef} from '../overlay-ref';\n\n/**\n * Describes a strategy that will be used by an overlay to handle scroll events while it is open.\n */\nexport interface Sc
 rollStrategy {\n  /** Enable this scroll strategy (called when the attached overlay is attached to a portal). */\n  enable: () => void;\n\n  /** Disable this scroll strategy (called when the attached overlay is detached from a portal). */\n  disable: () => void;\n\n  /** Attaches this `ScrollStrategy` to an overlay. */\n  attach: (overlayRef: OverlayRef) => void;\n}\n\n/**\n * Returns an error to be thrown when attempting to attach an already-attached scroll strategy.\n */\nexport function getMatScrollStrategyAlreadyAttachedError(): Error {\n  return Error(`Scroll strategy has already been attached.`);\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/** Horizontal dimension of a connection point on the perimeter of the origin or overlay element. */\nimport {Optional} from '@angular/core';\nexport type HorizontalConn
 ectionPos = 'start' | 'center' | 'end';\n\n/** Vertical dimension of a connection point on the perimeter of the origin or overlay element. */\nexport type VerticalConnectionPos = 'top' | 'center' | 'bottom';\n\n\n/** A connection point on the origin element. */\nexport interface OriginConnectionPosition {\n  originX: HorizontalConnectionPos;\n  originY: VerticalConnectionPos;\n}\n\n/** A connection point on the overlay element. */\nexport interface OverlayConnectionPosition {\n  overlayX: HorizontalConnectionPos;\n  overlayY: VerticalConnectionPos;\n}\n\n/** The points of the origin element and the overlay element to connect. */\nexport class ConnectionPositionPair {\n  /** X-axis attachment point for connected overlay origin. Can be 'start', 'end', or 'center'. */\n  originX: HorizontalConnectionPos;\n  /** Y-axis attachment point for connected overlay origin. Can be 'top', 'bottom', or 'center'. */\n  originY: VerticalConnectionPos;\n  /** X-axis attachment point for connected ove
 rlay. Can be 'start', 'end', or 'center'. */\n  overlayX: HorizontalConnectionPos;\n  /** Y-axis attachment point for connected overlay. Can be 'top', 'bottom', or 'center'. */\n  overlayY: VerticalConnectionPos;\n\n  constructor(\n    origin: OriginConnectionPosition,\n    overlay: OverlayConnectionPosition,\n    public offsetX?: number,\n    public offsetY?: number) {\n\n    this.originX = origin.originX;\n    this.originY = origin.originY;\n    this.overlayX = overlay.overlayX;\n    this.overlayY = overlay.overlayY;\n  }\n}\n\n/**\n * Set of properties regarding the position of the origin and overlay relative to the viewport\n * with respect to the containing Scrollable elements.\n *\n * The overlay and origin are clipped if any part of their bounding client rectangle exceeds the\n * bounds of any one of the strategy's Scrollable's bounding client rectangle.\n *\n * The overlay and origin are outside view if there is no overlap between their bounding client\n * rectangle and any 
 one of the strategy's Scrollable's bounding client rectangle.\n *\n *       -----------                    -----------\n *       | outside |                    | clipped |\n *       |  view   |              --------------------------\n *       |         |              |     |         |        |\n *       ----------               |     -----------        |\n *  --------------------------    |                        |\n *  |                        |    |      Scrollable        |\n *  |                        |    |                        |\n *  |                        |     --------------------------\n *  |      Scrollable        |\n *  |                        |\n *  --------------------------\n *\n *  @docs-private\n */\nexport class ScrollingVisibility {\n  isOriginClipped: boolean;\n  isOriginOutsideView: boolean;\n  isOverlayClipped: boolean;\n  isOverlayOutsideView: boolean;\n}\n\n/** The change event emitted by the strategy when a fallback position is used. */\nexport class Co
 nnectedOverlayPositionChange {\n  constructor(\n      /** The position used as a result of this change. */\n      public connectionPair: ConnectionPositionPair,\n      /** @docs-private */\n      @Optional() public scrollableViewProperties: ScrollingVisibility) {}\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {PositionStrategy} from './position/position-strategy';\nimport {Direction} from '@angular/cdk/bidi';\nimport {ScrollStrategy} from './scroll/scroll-strategy';\nimport {NoopScrollStrategy} from './scroll/noop-scroll-strategy';\n\n\n/** Initial configuration used when creating an overlay. */\nexport class OverlayConfig {\n  /** Strategy with which to position the overlay. */\n  positionStrategy?: PositionStrategy;\n\n  /** Strategy to be used when handling scroll events while the overlay is open. */\n  
 scrollStrategy?: ScrollStrategy = new NoopScrollStrategy();\n\n  /** Custom class to add to the overlay pane. */\n  panelClass?: string | string[] = '';\n\n  /** Whether the overlay has a backdrop. */\n  hasBackdrop?: boolean = false;\n\n  /** Custom class to add to the backdrop */\n  backdropClass?: string = 'cdk-overlay-dark-backdrop';\n\n  /** The width of the overlay panel. If a number is provided, pixel units are assumed. */\n  width?: number | string;\n\n  /** The height of the overlay panel. If a number is provided, pixel units are assumed. */\n  height?: number | string;\n\n  /** The min-width of the overlay panel. If a number is provided, pixel units are assumed. */\n  minWidth?: number | string;\n\n  /** The min-height of the overlay panel. If a number is provided, pixel units are assumed. */\n  minHeight?: number | string;\n\n  /** The max-width of the overlay panel. If a number is provided, pixel units are assumed. */\n  maxWidth?: number | string;\n\n  /** The max-heigh
 t of the overlay panel. If a number is provided, pixel units are assumed. */\n  maxHeight?: number | string;\n\n  /** The direction of the text in the overlay panel. */\n  direction?: Direction = 'ltr';\n\n  constructor(config?: OverlayConfig) {\n    if (config) {\n      Object.keys(config)\n        .filter(key => typeof config[key] !== 'undefined')\n        .forEach(key => this[key] = config[key]);\n    }\n  }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {ScrollStrategy} from './scroll-strategy';\n\n/** Scroll strategy that doesn't do anything. */\nexport class NoopScrollStrategy implements ScrollStrategy {\n  /** Does nothing, as this scroll strategy is a no-op. */\n  enable() { }\n  /** Does nothing, as this scroll strategy is a no-op. */\n  disable() { }\n  /** Does nothing, as this scroll strategy is 
 a no-op. */\n  attach() { }\n}\n","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = Object.setPrototypeOf ||\r\n    ({ __proto__: [] }
  instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n    function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n\r\nexport function __extends(d, b) {\r\n    extendStatics(d, b);\r\n    function __() { this.constructor = d; }\r\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = Object.assign || function __assign(t) {\r\n    for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n        s = arguments[i];\r\n        for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n    }\r\n    return t;\r\n}\r\n\r\nexport function __rest(s, e) {\r\n    var t = {};\r\n    for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n        t[p] = s[p];\r\n    if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n        for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) if (e.indexOf(p[i]) < 0)
 \r\n            t[p[i]] = s[p[i]];\r\n    return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n    var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n    if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n    else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n    return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n    return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n    if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __a
 waiter(thisArg, _arguments, P, generator) {\r\n    return new (P || (P = Promise))(function (resolve, reject) {\r\n        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n        function rejected(value) { try { step(generator[\"throw\"](value)); } catc

<TRUNCATED>

[45/59] [abbrv] [partial] nifi-fds git commit: update gh-pages

Posted by sc...@apache.org.
http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/eec354e6/demo-app/index.html
----------------------------------------------------------------------
diff --git a/demo-app/index.html b/demo-app/index.html
new file mode 100644
index 0000000..ce269ea
--- /dev/null
+++ b/demo-app/index.html
@@ -0,0 +1,37 @@
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the 'License'); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+      http://www.apache.org/licenses/LICENSE-2.0
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an 'AS IS' BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+<!DOCTYPE html>
+<html>
+<head>
+    <title>Apache NiFi Flow Design System Demo</title>
+    <base href='/'>
+    <meta charset='UTF-8'>
+    <meta name='viewport' content='width=device-width, initial-scale=1'>
+    <meta http-equiv='Content-Type' content='text/html; charset=UTF-8'/>
+    <link rel="stylesheet" href="node_modules/@covalent/core/common/platform.css">
+    <link rel="stylesheet" href='demo-app/css/fds-demo.min.css'/>
+    <link rel='stylesheet' href='node_modules/font-awesome/css/font-awesome.css'/>
+</head>
+<body>
+<fds-app></fds-app>
+</body>
+<script src="node_modules/systemjs/dist/system.src.js"></script>
+<script src="demo-app/systemjs.config.js?"></script>
+<script>
+    System.import('demo-app/fds-bootstrap.js').catch(function (err) {
+        console.error(err);
+    });
+</script>
+</html>

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/eec354e6/demo-app/services/fds.service.js
----------------------------------------------------------------------
diff --git a/demo-app/services/fds.service.js b/demo-app/services/fds.service.js
new file mode 100644
index 0000000..7609ddc
--- /dev/null
+++ b/demo-app/services/fds.service.js
@@ -0,0 +1,52 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+var covalentCore = require('@covalent/core');
+var fdsDialogsModule = require('@flow-design-system/dialogs');
+var fdsSnackBarsModule = require('@flow-design-system/snackbars');
+
+/**
+ * FdsService constructor.
+ *
+ * @param tdDataTableService    The covalent data table service module.
+ * @param fdsDialogService      The FDS dialog service.
+ * @param fdsSnackBarService    The FDS snack bar service module.
+ * @constructor
+ */
+function FdsService(tdDataTableService, fdsDialogService, fdsSnackBarService) {
+    // Services
+    this.dialogService = fdsDialogService;
+    this.snackBarService = fdsSnackBarService;
+    this.dataTableService = tdDataTableService;
+
+    // General
+    this.title = "Apache NiFi Flow Design System Demo";
+    this.inProgress = true;
+    this.perspective = '';
+};
+
+FdsService.prototype = {
+    constructor: FdsService,
+};
+
+FdsService.parameters = [
+    covalentCore.TdDataTableService,
+    fdsDialogsModule.FdsDialogService,
+    fdsSnackBarsModule.FdsSnackBarService
+];
+
+module.exports = FdsService;

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/eec354e6/demo-app/systemjs-angular-loader.js
----------------------------------------------------------------------
diff --git a/demo-app/systemjs-angular-loader.js b/demo-app/systemjs-angular-loader.js
new file mode 100644
index 0000000..8e33bb5
--- /dev/null
+++ b/demo-app/systemjs-angular-loader.js
@@ -0,0 +1,66 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+var templateUrlRegex = /templateUrl\s*:(\s*['"`](.*?)['"`]\s*)/gm;
+var stylesRegex = /styleUrls *:(\s*\[[^\]]*?\])/g;
+var stringRegex = /(['`"])((?:[^\\]\\\1|.)*?)\1/g;
+
+module.exports.translate = function (load) {
+    if (load.source.indexOf('moduleId') != -1) return load;
+
+    var url = document.createElement('a');
+    url.href = load.address;
+
+    var basePathParts = url.pathname.split('/');
+
+    basePathParts.pop();
+    var basePath = basePathParts.join('/');
+
+    var baseHref = document.createElement('a');
+    baseHref.href = this.baseURL;
+    baseHref = baseHref.pathname;
+
+    if (!baseHref.startsWith('/base/')) { // it is not karma
+        basePath = basePath.replace(baseHref, '');
+    }
+
+    load.source = load.source
+        .replace(templateUrlRegex, function (match, quote, url) {
+            var resolvedUrl = url;
+
+            if (url.startsWith('.')) {
+                resolvedUrl = basePath + url.substr(1);
+            }
+
+            return 'templateUrl: "' + resolvedUrl + '"';
+        })
+        .replace(stylesRegex, function (match, relativeUrls) {
+            var urls = [];
+
+            while ((match = stringRegex.exec(relativeUrls)) !== null) {
+                if (match[2].startsWith('.')) {
+                    urls.push('"' + basePath + match[2].substr(1) + '"');
+                } else {
+                    urls.push('"' + match[2] + '"');
+                }
+            }
+
+            return "styleUrls: [" + urls.join(', ') + "]";
+        });
+
+    return load;
+};

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/eec354e6/demo-app/systemjs.config.extras.js
----------------------------------------------------------------------
diff --git a/demo-app/systemjs.config.extras.js b/demo-app/systemjs.config.extras.js
new file mode 100644
index 0000000..e2a256a
--- /dev/null
+++ b/demo-app/systemjs.config.extras.js
@@ -0,0 +1,27 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/**
+ * Add barrels and stuff
+ */
+(function (global) {
+    System.config({
+        packages: {
+            // add packages here
+        }
+    });
+})(this);

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/eec354e6/demo-app/systemjs.config.js
----------------------------------------------------------------------
diff --git a/demo-app/systemjs.config.js b/demo-app/systemjs.config.js
new file mode 100644
index 0000000..f9bfb96
--- /dev/null
+++ b/demo-app/systemjs.config.js
@@ -0,0 +1,128 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+(function (global) {
+    System.config({
+        paths: {
+            // paths serve as alias
+            'npm:': 'node_modules/'
+        },
+        // map tells the System loader where to look for things
+        map: {
+            'text': 'npm:systemjs-plugin-text/text.js',
+            'app': './demo-app',
+
+            // jquery
+            'jquery': 'npm:jquery/dist/jquery.min.js',
+
+            // Angular
+            '@angular/core': 'npm:@angular/core/bundles/core.umd.js',
+            '@angular/common': 'npm:@angular/common/bundles/common.umd.js',
+            '@angular/common/http': 'npm:@angular/common/bundles/common-http.umd.js',
+            '@angular/common/http/testing': 'npm:@angular/common/bundles/common-http-testing.umd.js',
+            '@angular/platform-browser': 'npm:@angular/platform-browser/bundles/platform-browser.umd.js',
+            '@angular/platform-browser-dynamic': 'npm:@angular/platform-browser-dynamic/bundles/platform-browser-dynamic.umd.js',
+            '@angular/http': 'npm:@angular/http/bundles/http.umd.js',
+            '@angular/router': 'npm:@angular/router/bundles/router.umd.js',
+            '@angular/forms': 'npm:@angular/forms/bundles/forms.umd.js',
+            '@angular/flex-layout': 'npm:@angular/flex-layout/bundles/flex-layout.umd.js',
+            '@angular/flex-layout/core': 'npm:@angular/flex-layout/bundles/flex-layout-core.umd.js',
+            '@angular/flex-layout/extended': 'npm:@angular/flex-layout/bundles/flex-layout-extended.umd.js',
+            '@angular/flex-layout/flex': 'npm:@angular/flex-layout/bundles/flex-layout-flex.umd.js',
+            '@angular/material': 'npm:@angular/material/bundles/material.umd.js',
+            '@angular/material/core': 'npm:@angular/material/bundles/material-core.umd.js',
+            '@angular/material/card': 'npm:@angular/material/bundles/material-card.umd.js',
+            '@angular/material/divider': 'npm:@angular/material/bundles/material-divider.umd.js',
+            '@angular/material/progress-bar': 'npm:@angular/material/bundles/material-progress-bar.umd.js',
+            '@angular/material/progress-spinner': 'npm:@angular/material/bundles/material-progress-spinner.umd.js',
+            '@angular/material/chips': 'npm:@angular/material/bundles/material-chips.umd.js',
+            '@angular/material/input': 'npm:@angular/material/bundles/material-input.umd.js',
+            '@angular/material/icon': 'npm:@angular/material/bundles/material-icon.umd.js',
+            '@angular/material/button': 'npm:@angular/material/bundles/material-button.umd.js',
+            '@angular/material/checkbox': 'npm:@angular/material/bundles/material-checkbox.umd.js',
+            '@angular/material/tooltip': 'npm:@angular/material/bundles/material-tooltip.umd.js',
+            '@angular/material/dialog': 'npm:@angular/material/bundles/material-dialog.umd.js',
+            '@angular/material/sidenav': 'npm:@angular/material/bundles/material-sidenav.umd.js',
+            '@angular/material/menu': 'npm:@angular/material/bundles/material-menu.umd.js',
+            '@angular/material/form-field': 'npm:@angular/material/bundles/material-form-field.umd.js',
+            '@angular/material/toolbar': 'npm:@angular/material/bundles/material-toolbar.umd.js',
+            '@angular/material/autocomplete': 'npm:@angular/material/bundles/material-autocomplete.umd.js',
+            '@angular/platform-browser/animations': 'npm:@angular/platform-browser/bundles/platform-browser-animations.umd.js',
+            '@angular/cdk': 'npm:@angular/cdk/bundles/cdk.umd.js',
+            '@angular/cdk/a11y': 'npm:@angular/cdk/bundles/cdk-a11y.umd.js',
+            '@angular/cdk/accordion': 'npm:@angular/cdk/bundles/cdk-accordion.umd.js',
+            '@angular/cdk/layout': 'npm:@angular/cdk/bundles/cdk-layout.umd.js',
+            '@angular/cdk/collections': 'npm:@angular/cdk/bundles/cdk-collections.umd.js',
+            '@angular/cdk/observers': 'npm:@angular/cdk/bundles/cdk-observers.umd.js',
+            '@angular/cdk/overlay': 'npm:@angular/cdk/bundles/cdk-overlay.umd.js',
+            '@angular/cdk/platform': 'npm:@angular/cdk/bundles/cdk-platform.umd.js',
+            '@angular/cdk/portal': 'npm:@angular/cdk/bundles/cdk-portal.umd.js',
+            '@angular/cdk/keycodes': 'npm:@angular/cdk/bundles/cdk-keycodes.umd.js',
+            '@angular/cdk/bidi': 'npm:@angular/cdk/bundles/cdk-bidi.umd.js',
+            '@angular/cdk/coercion': 'npm:@angular/cdk/bundles/cdk-coercion.umd.js',
+            '@angular/cdk/table': 'npm:@angular/cdk/bundles/cdk-table.umd.js',
+            '@angular/cdk/rxjs': 'npm:@angular/cdk/bundles/cdk-rxjs.umd.js',
+            '@angular/cdk/scrolling': 'npm:@angular/cdk/bundles/cdk-scrolling.umd.js',
+            '@angular/cdk/stepper': 'npm:@angular/cdk/bundles/cdk-stepper.umd.js',
+            '@angular/animations': 'npm:@angular/animations/bundles/animations.umd.js',
+            '@angular/animations/browser': 'npm:@angular/animations/bundles/animations-browser.umd.js',
+            '@angular/compiler': 'npm:@angular/compiler/bundles/compiler.umd.js',
+
+            // needed to support gestures for angular material
+            'hammerjs': 'npm:hammerjs/hammer.min.js',
+
+            // Covalent
+            '@covalent/core': 'npm:@covalent/core/bundles/covalent-core.umd.min.js',
+            '@covalent/core/common': 'npm:@covalent/core/bundles/covalent-core-common.umd.min.js',
+
+            // other libraries
+            'rxjs': 'npm:rxjs',
+            'zone.js': 'npm:zone.js/dist/zone.js',
+            'core-js': 'npm:core-js/client/shim.min.js',
+            'tslib': 'npm:tslib/tslib.js',
+
+            // Flow Design System
+            '@flow-design-system/core': 'npm:@nifi-fds/core/flow-design-system.module.js',
+            '@flow-design-system/dialogs': 'npm:@nifi-fds/core/dialogs/fds-dialogs.module.js',
+            '@flow-design-system/dialog-component': 'npm:@nifi-fds/core/dialogs/fds-dialog.component.js',
+            '@flow-design-system/dialog-service': 'npm:@nifi-fds/core/dialogs/services/dialog.service.js',
+            '@flow-design-system/confirm-dialog-component': 'npm:@nifi-fds/core/dialogs/confirm-dialog/confirm-dialog.component.js',
+            '@flow-design-system/snackbars': 'npm:@nifi-fds/core/snackbars/fds-snackbars.module.js',
+            '@flow-design-system/snackbar-component': 'npm:@nifi-fds/core/snackbars/fds-snackbar.component.js',
+            '@flow-design-system/snackbar-service': 'npm:@nifi-fds/core/snackbars/services/snackbar.service.js',
+            '@flow-design-system/coaster-component': 'npm:@nifi-fds/core/snackbars/coaster/coaster.component.js',
+            '@flow-design-system/common/storage-service': 'npm:@nifi-fds/core/common/services/fds-storage.service.js'
+        },
+        // packages tells the System loader how to load when no filename and/or no extension
+        packages: {
+            app: {
+                defaultExtension: 'js',
+                meta: {
+                    './*.js': {
+                        loader: 'demo-app/systemjs-angular-loader.js'
+                    }
+                }
+            },
+            'demo-app/systemjs-angular-loader.js': {
+                loader: false
+            },
+            'rxjs': {
+                defaultExtension: 'js'
+            }
+        }
+    });
+})(this);

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/eec354e6/demo-app/theming/_helperClasses.scss
----------------------------------------------------------------------
diff --git a/demo-app/theming/_helperClasses.scss b/demo-app/theming/_helperClasses.scss
new file mode 100644
index 0000000..6918db4
--- /dev/null
+++ b/demo-app/theming/_helperClasses.scss
@@ -0,0 +1,78 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the 'License'); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an 'AS IS' BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+.fa-rotate-45 {
+    -webkit-transform: rotate(45deg);
+    -moz-transform: rotate(45deg);
+    -ms-transform: rotate(45deg);
+    -o-transform: rotate(45deg);
+    transform: rotate(45deg);
+}
+
+.capitalize {
+    text-transform: capitalize;
+}
+
+.uppercase {
+    text-transform: uppercase;
+}
+
+.ellipsis {
+    white-space: nowrap;
+    overflow: hidden;
+    text-overflow: ellipsis;
+    display: block !important;
+}
+
+.info {
+    color: $blue8;
+}
+
+.authorized {
+    color: $red2;
+}
+
+.suspended {
+    color: $green3;
+}
+
+.nonconfigurable {
+    background: $grey9;
+}
+
+.selected-nonconfigurable {
+    background: repeating-linear-gradient(-45deg, $grey5, $grey5 10px, #fff 10px, #fff 20px) !important;
+}
+
+.fds-button-container {
+    position: absolute;
+    bottom: 0px;
+    height: 64px;
+    left: 0px;
+    right: 0px;
+    border-top: 1px solid $grey4;
+}
+
+.fds-button-container .done-button {
+    float: right;
+    margin-right: 15px;
+    margin-top: 15px;
+}
+
+.td-expansion-content {
+    background: $grey6;
+}

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/eec354e6/demo-app/theming/_structureElements.scss
----------------------------------------------------------------------
diff --git a/demo-app/theming/_structureElements.scss b/demo-app/theming/_structureElements.scss
new file mode 100644
index 0000000..b84c60a
--- /dev/null
+++ b/demo-app/theming/_structureElements.scss
@@ -0,0 +1,84 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+body {
+  background: $grey12;
+  background-size: 40%;
+}
+
+#fds-app-container {
+  margin: 0;
+  width: 100%;
+  height: 100%;
+}
+
+#fds-toolbar {
+  min-width: 1045px;
+  background-color: #FFFFFF;
+  position: absolute;
+  z-index: 1000;
+  background: $grey11;
+}
+
+#fds-toolbar .mat-icon-button {
+  color: $grey5;
+  font-size: 20px;
+  margin: 0;
+}
+
+#fds-toolbar .mat-select-value-text, #fds-toolbar .mat-select-arrow {
+  color: white;
+}
+
+#fds-toolbar span, #fds-toolbar .link {
+  color: $grey5;
+  font-weight: lighter;
+}
+
+#fds-perspectives-container {
+  position: absolute;
+  top: 64px;
+  left: 0px;
+  right: 0px;
+  bottom: 0px;
+  min-height: 370px;
+  min-width: 1045px;
+  overflow: auto;
+  background: $grey12;
+  background-size: 40%;
+}
+
+#loading-spinner {
+  position: absolute;
+  top: calc(50% - 50px);
+  left: calc(50% - 50px);
+  z-index: 2;
+}
+
+mat-sidenav {
+  width: 40%;
+  min-width: 418px;
+}
+
+.sidenav-content {
+  position: absolute;
+  bottom: 60px;
+  top: 80px;
+  right: 0px;
+  left: 0px;
+  overflow: auto;
+}

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/eec354e6/demo-app/theming/fds-demo.scss
----------------------------------------------------------------------
diff --git a/demo-app/theming/fds-demo.scss b/demo-app/theming/fds-demo.scss
new file mode 100644
index 0000000..b1aed8a
--- /dev/null
+++ b/demo-app/theming/fds-demo.scss
@@ -0,0 +1,51 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the 'License'); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an 'AS IS' BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/* Welcome to Compass.
+ * In this file you should centralize your imports. After compilation simply import this file using the following HTML or equivalent:
+ * <link href='demo-app/css/fds-demo.min.css' media='screen, projection' rel='stylesheet' type='text/css' /> */
+
+@import '../../target/node_modules/@nifi-fds/core/common/styles/globalVars';
+// Include the base styles for Nifi FDS core. We include this here so that you only
+// have to load a single css file for Nifi FDS in your app.
+@import '../../target/node_modules/@nifi-fds/core/theming/all-theme';
+@import 'structureElements';
+@import 'helperClasses';
+
+//Change these
+$primaryColor: $rose1;
+$primaryColorHover: $rose2;
+$accentColor: $blue7;
+$accentColorHover: $grey4;
+
+// Include the base styles for Angular Material core. We include this here so that you only
+// have to load a single css file for Angular Material in your app.
+@include mat-core;
+
+// Define the palettes
+$fds-base-palette: (50: #89df79, 100: $primaryColorHover, 200: #65d550, 300: #53d03b, 400: #46c32f, 500: $primaryColor, 600: $primaryColor, 700: #89df79, 800: #29701b, 900: #215c16, A100: #9be48d, A200: #ade9a2, A400: #bfedb6, A700: #1a4711, contrast: (50: $black-87-opacity, 100: $black-87-opacity, 200: $black-87-opacity, 300: white, 400: white, 500: $white-87-opacity, 600: $white-87-opacity, 700: $white-87-opacity, 800: $white-87-opacity, 900: $white-87-opacity, A100: $black-87-opacity, A200: white, A400: white, A700: $white-87-opacity));
+$fds-accent-palette: (50: #89df79, 100: $accentColorHover, 200: #65d550, 300: #53d03b, 400: #46c32f, 500: $accentColor, 600: $accentColor, 700: #89df79, 800: #29701b, 900: #215c16, A100: #9be48d, A200: #ade9a2, A400: #bfedb6, A700: #1a4711, contrast: (50: $black-87-opacity, 100: $black-87-opacity, 200: $black-87-opacity, 300: white, 400: white, 500: $white-87-opacity, 600: $white-87-opacity, 700: $white-87-opacity, 800: $white-87-opacity, 900: $white-87-opacity, A100: $black-87-opacity, A200: white, A400: white, A700: $white-87-opacity));
+$fds-warn-palette: (50: #81410f, 100: #D14A50, 200: #af5814, 300: #c66317, 400: #dd6f19, 500: $warnColor, 600: $warnColor, 700: #eea66e, 800: #f1b485, 900: #f4c29b, A100: #ec9857, A200: #89df79, A400: #89df79, A700: #f6d0b2, contrast: (50: $black-87-opacity, 100: $black-87-opacity, 200: $black-87-opacity, 300: white, 400: white, 500: $white-87-opacity, 600: $white-87-opacity, 700: $white-87-opacity, 800: $white-87-opacity, 900: $white-87-opacity, A100: $black-87-opacity, A200: white, A400: white, A700: $white-87-opacity));
+$fds-primary: mat-palette($fds-base-palette, 500, 100, 500);
+$fds-accent: mat-palette($fds-accent-palette, 500, 100, 500);
+$fds-warn: mat-palette($fds-warn-palette, 500, 100, 500);
+
+// Define the theme (Optionally specify a default, lighter, and darker hue.)
+$fds-theme: mat-light-theme($fds-primary, $fds-accent, $fds-warn);
+
+// FDS theme mixin
+@include fds-theme($fds-theme);

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/eec354e6/index.html
----------------------------------------------------------------------
diff --git a/index.html b/index.html
new file mode 100644
index 0000000..e759f14
--- /dev/null
+++ b/index.html
@@ -0,0 +1,36 @@
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the 'License'); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+      http://www.apache.org/licenses/LICENSE-2.0
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an 'AS IS' BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+<!DOCTYPE html>
+<html>
+<head>
+    <title>Apache NiFi Flow Design System Demo</title>
+    <base href='/nifi-fds/'>
+    <meta charset='UTF-8'>
+    <meta name='viewport' content='width=device-width, initial-scale=1'>
+    <meta http-equiv='Content-Type' content='text/html; charset=UTF-8'/>
+    <link rel="stylesheet" href="node_modules/@covalent/core/common/platform.css">
+    <link rel="stylesheet" href='node_modules/@nifi-fds/core/common/styles/css/flow-design-system.min.css'/>
+    <link rel="stylesheet" href='../demo-app/css/fds-demo.min.css'/>
+    <link rel='stylesheet' href='node_modules/font-awesome/css/font-awesome.css'/>
+</head>
+<body>
+<fds-app></fds-app>
+</body>
+<script src="node_modules/systemjs/dist/system.src.js"></script>
+<script src="../demo-app/systemjs.config.js?"></script>
+<script>
+  System.import('../demo-app/fds-bootstrap.js').catch(function(err) {console.error(err);});
+</script>
+</html>

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/eec354e6/node_modules/.bin/blocking-proxy
----------------------------------------------------------------------
diff --git a/node_modules/.bin/blocking-proxy b/node_modules/.bin/blocking-proxy
new file mode 120000
index 0000000..2b0fa22
--- /dev/null
+++ b/node_modules/.bin/blocking-proxy
@@ -0,0 +1 @@
+../blocking-proxy/built/lib/bin.js
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/eec354e6/node_modules/.bin/cake
----------------------------------------------------------------------
diff --git a/node_modules/.bin/cake b/node_modules/.bin/cake
new file mode 120000
index 0000000..373ed19
--- /dev/null
+++ b/node_modules/.bin/cake
@@ -0,0 +1 @@
+../coffeescript/bin/cake
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/eec354e6/node_modules/.bin/coffee
----------------------------------------------------------------------
diff --git a/node_modules/.bin/coffee b/node_modules/.bin/coffee
new file mode 120000
index 0000000..52c50e8
--- /dev/null
+++ b/node_modules/.bin/coffee
@@ -0,0 +1 @@
+../coffeescript/bin/coffee
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/eec354e6/node_modules/.bin/dateformat
----------------------------------------------------------------------
diff --git a/node_modules/.bin/dateformat b/node_modules/.bin/dateformat
new file mode 120000
index 0000000..bb9cf7b
--- /dev/null
+++ b/node_modules/.bin/dateformat
@@ -0,0 +1 @@
+../dateformat/bin/cli.js
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/eec354e6/node_modules/.bin/detect-libc
----------------------------------------------------------------------
diff --git a/node_modules/.bin/detect-libc b/node_modules/.bin/detect-libc
new file mode 120000
index 0000000..b4c4b76
--- /dev/null
+++ b/node_modules/.bin/detect-libc
@@ -0,0 +1 @@
+../detect-libc/bin/detect-libc.js
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/eec354e6/node_modules/.bin/ecstatic
----------------------------------------------------------------------
diff --git a/node_modules/.bin/ecstatic b/node_modules/.bin/ecstatic
new file mode 120000
index 0000000..5a8a58a
--- /dev/null
+++ b/node_modules/.bin/ecstatic
@@ -0,0 +1 @@
+../ecstatic/lib/ecstatic.js
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/eec354e6/node_modules/.bin/escodegen
----------------------------------------------------------------------
diff --git a/node_modules/.bin/escodegen b/node_modules/.bin/escodegen
new file mode 120000
index 0000000..01a7c32
--- /dev/null
+++ b/node_modules/.bin/escodegen
@@ -0,0 +1 @@
+../escodegen/bin/escodegen.js
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/eec354e6/node_modules/.bin/esgenerate
----------------------------------------------------------------------
diff --git a/node_modules/.bin/esgenerate b/node_modules/.bin/esgenerate
new file mode 120000
index 0000000..7d0293e
--- /dev/null
+++ b/node_modules/.bin/esgenerate
@@ -0,0 +1 @@
+../escodegen/bin/esgenerate.js
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/eec354e6/node_modules/.bin/esparse
----------------------------------------------------------------------
diff --git a/node_modules/.bin/esparse b/node_modules/.bin/esparse
new file mode 120000
index 0000000..7423b18
--- /dev/null
+++ b/node_modules/.bin/esparse
@@ -0,0 +1 @@
+../esprima/bin/esparse.js
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/eec354e6/node_modules/.bin/esvalidate
----------------------------------------------------------------------
diff --git a/node_modules/.bin/esvalidate b/node_modules/.bin/esvalidate
new file mode 120000
index 0000000..16069ef
--- /dev/null
+++ b/node_modules/.bin/esvalidate
@@ -0,0 +1 @@
+../esprima/bin/esvalidate.js
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/eec354e6/node_modules/.bin/grunt
----------------------------------------------------------------------
diff --git a/node_modules/.bin/grunt b/node_modules/.bin/grunt
new file mode 120000
index 0000000..47724d2
--- /dev/null
+++ b/node_modules/.bin/grunt
@@ -0,0 +1 @@
+../grunt/bin/grunt
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/eec354e6/node_modules/.bin/handlebars
----------------------------------------------------------------------
diff --git a/node_modules/.bin/handlebars b/node_modules/.bin/handlebars
new file mode 120000
index 0000000..fb7d090
--- /dev/null
+++ b/node_modules/.bin/handlebars
@@ -0,0 +1 @@
+../handlebars/bin/handlebars
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/eec354e6/node_modules/.bin/he
----------------------------------------------------------------------
diff --git a/node_modules/.bin/he b/node_modules/.bin/he
new file mode 120000
index 0000000..2a8eb5e
--- /dev/null
+++ b/node_modules/.bin/he
@@ -0,0 +1 @@
+../he/bin/he
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/eec354e6/node_modules/.bin/hs
----------------------------------------------------------------------
diff --git a/node_modules/.bin/hs b/node_modules/.bin/hs
new file mode 120000
index 0000000..cb3b666
--- /dev/null
+++ b/node_modules/.bin/hs
@@ -0,0 +1 @@
+../http-server/bin/http-server
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/eec354e6/node_modules/.bin/http-server
----------------------------------------------------------------------
diff --git a/node_modules/.bin/http-server b/node_modules/.bin/http-server
new file mode 120000
index 0000000..cb3b666
--- /dev/null
+++ b/node_modules/.bin/http-server
@@ -0,0 +1 @@
+../http-server/bin/http-server
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/eec354e6/node_modules/.bin/in-install
----------------------------------------------------------------------
diff --git a/node_modules/.bin/in-install b/node_modules/.bin/in-install
new file mode 120000
index 0000000..08c9689
--- /dev/null
+++ b/node_modules/.bin/in-install
@@ -0,0 +1 @@
+../in-publish/in-install.js
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/eec354e6/node_modules/.bin/in-publish
----------------------------------------------------------------------
diff --git a/node_modules/.bin/in-publish b/node_modules/.bin/in-publish
new file mode 120000
index 0000000..ae9e779
--- /dev/null
+++ b/node_modules/.bin/in-publish
@@ -0,0 +1 @@
+../in-publish/in-publish.js
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/eec354e6/node_modules/.bin/istanbul
----------------------------------------------------------------------
diff --git a/node_modules/.bin/istanbul b/node_modules/.bin/istanbul
new file mode 120000
index 0000000..c129fe5
--- /dev/null
+++ b/node_modules/.bin/istanbul
@@ -0,0 +1 @@
+../istanbul/lib/cli.js
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/eec354e6/node_modules/.bin/jasmine
----------------------------------------------------------------------
diff --git a/node_modules/.bin/jasmine b/node_modules/.bin/jasmine
new file mode 120000
index 0000000..d2c1bff
--- /dev/null
+++ b/node_modules/.bin/jasmine
@@ -0,0 +1 @@
+../jasmine/bin/jasmine.js
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/eec354e6/node_modules/.bin/js-yaml
----------------------------------------------------------------------
diff --git a/node_modules/.bin/js-yaml b/node_modules/.bin/js-yaml
new file mode 120000
index 0000000..9dbd010
--- /dev/null
+++ b/node_modules/.bin/js-yaml
@@ -0,0 +1 @@
+../js-yaml/bin/js-yaml.js
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/eec354e6/node_modules/.bin/karma
----------------------------------------------------------------------
diff --git a/node_modules/.bin/karma b/node_modules/.bin/karma
new file mode 120000
index 0000000..0dfd162
--- /dev/null
+++ b/node_modules/.bin/karma
@@ -0,0 +1 @@
+../karma-cli/bin/karma
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/eec354e6/node_modules/.bin/mime
----------------------------------------------------------------------
diff --git a/node_modules/.bin/mime b/node_modules/.bin/mime
new file mode 120000
index 0000000..fbb7ee0
--- /dev/null
+++ b/node_modules/.bin/mime
@@ -0,0 +1 @@
+../mime/cli.js
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/eec354e6/node_modules/.bin/mkdirp
----------------------------------------------------------------------
diff --git a/node_modules/.bin/mkdirp b/node_modules/.bin/mkdirp
new file mode 120000
index 0000000..017896c
--- /dev/null
+++ b/node_modules/.bin/mkdirp
@@ -0,0 +1 @@
+../mkdirp/bin/cmd.js
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/eec354e6/node_modules/.bin/node-gyp
----------------------------------------------------------------------
diff --git a/node_modules/.bin/node-gyp b/node_modules/.bin/node-gyp
new file mode 120000
index 0000000..9b31a4f
--- /dev/null
+++ b/node_modules/.bin/node-gyp
@@ -0,0 +1 @@
+../node-gyp/bin/node-gyp.js
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/eec354e6/node_modules/.bin/node-sass
----------------------------------------------------------------------
diff --git a/node_modules/.bin/node-sass b/node_modules/.bin/node-sass
new file mode 120000
index 0000000..a4b0134
--- /dev/null
+++ b/node_modules/.bin/node-sass
@@ -0,0 +1 @@
+../node-sass/bin/node-sass
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/eec354e6/node_modules/.bin/nopt
----------------------------------------------------------------------
diff --git a/node_modules/.bin/nopt b/node_modules/.bin/nopt
new file mode 120000
index 0000000..6b6566e
--- /dev/null
+++ b/node_modules/.bin/nopt
@@ -0,0 +1 @@
+../nopt/bin/nopt.js
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/eec354e6/node_modules/.bin/not-in-install
----------------------------------------------------------------------
diff --git a/node_modules/.bin/not-in-install b/node_modules/.bin/not-in-install
new file mode 120000
index 0000000..dbfcf38
--- /dev/null
+++ b/node_modules/.bin/not-in-install
@@ -0,0 +1 @@
+../in-publish/not-in-install.js
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/eec354e6/node_modules/.bin/not-in-publish
----------------------------------------------------------------------
diff --git a/node_modules/.bin/not-in-publish b/node_modules/.bin/not-in-publish
new file mode 120000
index 0000000..5cc2922
--- /dev/null
+++ b/node_modules/.bin/not-in-publish
@@ -0,0 +1 @@
+../in-publish/not-in-publish.js
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/eec354e6/node_modules/.bin/opener
----------------------------------------------------------------------
diff --git a/node_modules/.bin/opener b/node_modules/.bin/opener
new file mode 120000
index 0000000..120b591
--- /dev/null
+++ b/node_modules/.bin/opener
@@ -0,0 +1 @@
+../opener/opener.js
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/eec354e6/node_modules/.bin/prebuild-install
----------------------------------------------------------------------
diff --git a/node_modules/.bin/prebuild-install b/node_modules/.bin/prebuild-install
new file mode 120000
index 0000000..12a458d
--- /dev/null
+++ b/node_modules/.bin/prebuild-install
@@ -0,0 +1 @@
+../prebuild-install/bin.js
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/eec354e6/node_modules/.bin/protractor
----------------------------------------------------------------------
diff --git a/node_modules/.bin/protractor b/node_modules/.bin/protractor
new file mode 120000
index 0000000..58967e8
--- /dev/null
+++ b/node_modules/.bin/protractor
@@ -0,0 +1 @@
+../protractor/bin/protractor
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/eec354e6/node_modules/.bin/rc
----------------------------------------------------------------------
diff --git a/node_modules/.bin/rc b/node_modules/.bin/rc
new file mode 120000
index 0000000..48b3cda
--- /dev/null
+++ b/node_modules/.bin/rc
@@ -0,0 +1 @@
+../rc/cli.js
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/eec354e6/node_modules/.bin/rimraf
----------------------------------------------------------------------
diff --git a/node_modules/.bin/rimraf b/node_modules/.bin/rimraf
new file mode 120000
index 0000000..4cd49a4
--- /dev/null
+++ b/node_modules/.bin/rimraf
@@ -0,0 +1 @@
+../rimraf/bin.js
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/eec354e6/node_modules/.bin/sassgraph
----------------------------------------------------------------------
diff --git a/node_modules/.bin/sassgraph b/node_modules/.bin/sassgraph
new file mode 120000
index 0000000..901ada9
--- /dev/null
+++ b/node_modules/.bin/sassgraph
@@ -0,0 +1 @@
+../sass-graph/bin/sassgraph
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/eec354e6/node_modules/.bin/semver
----------------------------------------------------------------------
diff --git a/node_modules/.bin/semver b/node_modules/.bin/semver
new file mode 120000
index 0000000..317eb29
--- /dev/null
+++ b/node_modules/.bin/semver
@@ -0,0 +1 @@
+../semver/bin/semver
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/eec354e6/node_modules/.bin/sshpk-conv
----------------------------------------------------------------------
diff --git a/node_modules/.bin/sshpk-conv b/node_modules/.bin/sshpk-conv
new file mode 120000
index 0000000..a2a295c
--- /dev/null
+++ b/node_modules/.bin/sshpk-conv
@@ -0,0 +1 @@
+../sshpk/bin/sshpk-conv
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/eec354e6/node_modules/.bin/sshpk-sign
----------------------------------------------------------------------
diff --git a/node_modules/.bin/sshpk-sign b/node_modules/.bin/sshpk-sign
new file mode 120000
index 0000000..766b9b3
--- /dev/null
+++ b/node_modules/.bin/sshpk-sign
@@ -0,0 +1 @@
+../sshpk/bin/sshpk-sign
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/eec354e6/node_modules/.bin/sshpk-verify
----------------------------------------------------------------------
diff --git a/node_modules/.bin/sshpk-verify b/node_modules/.bin/sshpk-verify
new file mode 120000
index 0000000..bfd7e3a
--- /dev/null
+++ b/node_modules/.bin/sshpk-verify
@@ -0,0 +1 @@
+../sshpk/bin/sshpk-verify
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/eec354e6/node_modules/.bin/strip-indent
----------------------------------------------------------------------
diff --git a/node_modules/.bin/strip-indent b/node_modules/.bin/strip-indent
new file mode 120000
index 0000000..dddee7e
--- /dev/null
+++ b/node_modules/.bin/strip-indent
@@ -0,0 +1 @@
+../strip-indent/cli.js
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/eec354e6/node_modules/.bin/uglifyjs
----------------------------------------------------------------------
diff --git a/node_modules/.bin/uglifyjs b/node_modules/.bin/uglifyjs
new file mode 120000
index 0000000..fef3468
--- /dev/null
+++ b/node_modules/.bin/uglifyjs
@@ -0,0 +1 @@
+../uglify-js/bin/uglifyjs
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/eec354e6/node_modules/.bin/uuid
----------------------------------------------------------------------
diff --git a/node_modules/.bin/uuid b/node_modules/.bin/uuid
new file mode 120000
index 0000000..b3e45bc
--- /dev/null
+++ b/node_modules/.bin/uuid
@@ -0,0 +1 @@
+../uuid/bin/uuid
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/eec354e6/node_modules/.bin/webdriver-manager
----------------------------------------------------------------------
diff --git a/node_modules/.bin/webdriver-manager b/node_modules/.bin/webdriver-manager
new file mode 120000
index 0000000..bc2ec1a
--- /dev/null
+++ b/node_modules/.bin/webdriver-manager
@@ -0,0 +1 @@
+../protractor/bin/webdriver-manager
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/eec354e6/node_modules/.bin/which
----------------------------------------------------------------------
diff --git a/node_modules/.bin/which b/node_modules/.bin/which
new file mode 120000
index 0000000..f62471c
--- /dev/null
+++ b/node_modules/.bin/which
@@ -0,0 +1 @@
+../which/bin/which
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/eec354e6/node_modules/@angular/animations/README.md
----------------------------------------------------------------------
diff --git a/node_modules/@angular/animations/README.md b/node_modules/@angular/animations/README.md
new file mode 100644
index 0000000..7d8a6d3
--- /dev/null
+++ b/node_modules/@angular/animations/README.md
@@ -0,0 +1,6 @@
+Angular
+=======
+
+The sources for this package are in the main [Angular](https://github.com/angular/angular) repo. Please file issues and pull requests against that repo.
+
+License: MIT

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/eec354e6/node_modules/@angular/animations/animations.d.ts
----------------------------------------------------------------------
diff --git a/node_modules/@angular/animations/animations.d.ts b/node_modules/@angular/animations/animations.d.ts
new file mode 100644
index 0000000..7417cc8
--- /dev/null
+++ b/node_modules/@angular/animations/animations.d.ts
@@ -0,0 +1,4 @@
+/**
+ * Generated bundle index. Do not edit.
+ */
+export * from './public_api';

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/eec354e6/node_modules/@angular/animations/animations.metadata.json
----------------------------------------------------------------------
diff --git a/node_modules/@angular/animations/animations.metadata.json b/node_modules/@angular/animations/animations.metadata.json
new file mode 100644
index 0000000..ad39031
--- /dev/null
+++ b/node_modules/@angular/animations/animations.metadata.json
@@ -0,0 +1 @@
+{"__symbolic":"module","version":4,"metadata":{"AnimationBuilder":{"__symbolic":"class","members":{"build":[{"__symbolic":"method"}]}},"AnimationFactory":{"__symbolic":"class","members":{"create":[{"__symbolic":"method"}]}},"AnimationEvent":{"__symbolic":"interface"},"AUTO_STYLE":"*","AnimateChildOptions":{"__symbolic":"interface"},"AnimateTimings":{"__symbolic":"interface"},"AnimationAnimateChildMetadata":{"__symbolic":"interface"},"AnimationAnimateMetadata":{"__symbolic":"interface"},"AnimationAnimateRefMetadata":{"__symbolic":"interface"},"AnimationGroupMetadata":{"__symbolic":"interface"},"AnimationKeyframesSequenceMetadata":{"__symbolic":"interface"},"AnimationMetadata":{"__symbolic":"interface"},"AnimationMetadataType":{"State":0,"Transition":1,"Sequence":2,"Group":3,"Animate":4,"Keyframes":5,"Style":6,"Trigger":7,"Reference":8,"AnimateChild":9,"AnimateRef":10,"Query":11,"Stagger":12},"AnimationOptions":{"__symbolic":"interface"},"AnimationQueryMetadata":{"__symbolic":"interfa
 ce"},"AnimationQueryOptions":{"__symbolic":"interface"},"AnimationReferenceMetadata":{"__symbolic":"interface"},"AnimationSequenceMetadata":{"__symbolic":"interface"},"AnimationStaggerMetadata":{"__symbolic":"interface"},"AnimationStateMetadata":{"__symbolic":"interface"},"AnimationStyleMetadata":{"__symbolic":"interface"},"AnimationTransitionMetadata":{"__symbolic":"interface"},"AnimationTriggerMetadata":{"__symbolic":"interface"},"animate":{"__symbolic":"function","parameters":["timings","styles"],"defaults":[null,null],"value":{"type":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"AnimationMetadataType"},"member":"Animate"},"styles":{"__symbolic":"reference","name":"styles"},"timings":{"__symbolic":"reference","name":"timings"}}},"animateChild":{"__symbolic":"function","parameters":["options"],"defaults":[null],"value":{"type":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"AnimationMetadataType"},"member":"AnimateChild"},"options":{"_
 _symbolic":"reference","name":"options"}}},"animation":{"__symbolic":"function","parameters":["steps","options"],"defaults":[null,null],"value":{"type":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"AnimationMetadataType"},"member":"Reference"},"animation":{"__symbolic":"reference","name":"steps"},"options":{"__symbolic":"reference","name":"options"}}},"group":{"__symbolic":"function","parameters":["steps","options"],"defaults":[null,null],"value":{"type":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"AnimationMetadataType"},"member":"Group"},"steps":{"__symbolic":"reference","name":"steps"},"options":{"__symbolic":"reference","name":"options"}}},"keyframes":{"__symbolic":"function","parameters":["steps"],"value":{"type":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"AnimationMetadataType"},"member":"Keyframes"},"steps":{"__symbolic":"reference","name":"steps"}}},"query":{"__symbolic":"function","parameters":["sele
 ctor","animation","options"],"defaults":[null,null,null],"value":{"type":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"AnimationMetadataType"},"member":"Query"},"selector":{"__symbolic":"reference","name":"selector"},"animation":{"__symbolic":"reference","name":"animation"},"options":{"__symbolic":"reference","name":"options"}}},"sequence":{"__symbolic":"function","parameters":["steps","options"],"defaults":[null,null],"value":{"type":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"AnimationMetadataType"},"member":"Sequence"},"steps":{"__symbolic":"reference","name":"steps"},"options":{"__symbolic":"reference","name":"options"}}},"stagger":{"__symbolic":"function","parameters":["timings","animation"],"value":{"type":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"AnimationMetadataType"},"member":"Stagger"},"timings":{"__symbolic":"reference","name":"timings"},"animation":{"__symbolic":"reference","name":"animation"}
 }},"state":{"__symbolic":"function","parameters":["name","styles","options"],"value":{"type":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"AnimationMetadataType"},"member":"State"},"name":{"__symbolic":"reference","name":"name"},"styles":{"__symbolic":"reference","name":"styles"},"options":{"__symbolic":"reference","name":"options"}}},"style":{"__symbolic":"function","parameters":["tokens"],"value":{"type":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"AnimationMetadataType"},"member":"Style"},"styles":{"__symbolic":"reference","name":"tokens"},"offset":null}},"transition":{"__symbolic":"function","parameters":["stateChangeExpr","steps","options"],"defaults":[null,null,null],"value":{"type":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"AnimationMetadataType"},"member":"Transition"},"expr":{"__symbolic":"reference","name":"stateChangeExpr"},"animation":{"__symbolic":"reference","name":"steps"},"options":{"__symbol
 ic":"reference","name":"options"}}},"trigger":{"__symbolic":"function","parameters":["name","definitions"],"value":{"type":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"AnimationMetadataType"},"member":"Trigger"},"name":{"__symbolic":"reference","name":"name"},"definitions":{"__symbolic":"reference","name":"definitions"},"options":{}}},"useAnimation":{"__symbolic":"function","parameters":["animation","options"],"defaults":[null,null],"value":{"type":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"AnimationMetadataType"},"member":"AnimateRef"},"animation":{"__symbolic":"reference","name":"animation"},"options":{"__symbolic":"reference","name":"options"}}},"ɵStyleData":{"__symbolic":"interface"},"AnimationPlayer":{"__symbolic":"interface"},"NoopAnimationPlayer":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor"}],"_onFinish":[{"__symbolic":"method"}],"onStart":[{"__symbolic":"method"}],"onDone":[{"__symbolic":"method
 "}],"onDestroy":[{"__symbolic":"method"}],"hasStarted":[{"__symbolic":"method"}],"init":[{"__symbolic":"method"}],"play":[{"__symbolic":"method"}],"triggerMicrotask":[{"__symbolic":"method"}],"_onStart":[{"__symbolic":"method"}],"pause":[{"__symbolic":"method"}],"restart":[{"__symbolic":"method"}],"finish":[{"__symbolic":"method"}],"destroy":[{"__symbolic":"method"}],"reset":[{"__symbolic":"method"}],"setPosition":[{"__symbolic":"method"}],"getPosition":[{"__symbolic":"method"}],"triggerCallback":[{"__symbolic":"method"}]}},"ɵPRE_STYLE":"!","ɵAnimationGroupPlayer":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"Array","arguments":[{"__symbolic":"reference","name":"AnimationPlayer"}]}]}],"_onFinish":[{"__symbolic":"method"}],"init":[{"__symbolic":"method"}],"onStart":[{"__symbolic":"method"}],"_onStart":[{"__symbolic":"method"}],"onDone":[{"__symbolic":"method"}],"onDestroy":[{"__symbolic":"method"}],"hasStart
 ed":[{"__symbolic":"method"}],"play":[{"__symbolic":"method"}],"pause":[{"__symbolic":"method"}],"restart":[{"__symbolic":"method"}],"finish":[{"__symbolic":"method"}],"destroy":[{"__symbolic":"method"}],"_onDestroy":[{"__symbolic":"method"}],"reset":[{"__symbolic":"method"}],"setPosition":[{"__symbolic":"method"}],"getPosition":[{"__symbolic":"method"}],"beforeDestroy":[{"__symbolic":"method"}],"triggerCallback":[{"__symbolic":"method"}]}}},"origins":{"AnimationBuilder":"./src/animation_builder","AnimationFactory":"./src/animation_builder","AnimationEvent":"./src/animation_event","AUTO_STYLE":"./src/animation_metadata","AnimateChildOptions":"./src/animation_metadata","AnimateTimings":"./src/animation_metadata","AnimationAnimateChildMetadata":"./src/animation_metadata","AnimationAnimateMetadata":"./src/animation_metadata","AnimationAnimateRefMetadata":"./src/animation_metadata","AnimationGroupMetadata":"./src/animation_metadata","AnimationKeyframesSequenceMetadata":"./src/animation_
 metadata","AnimationMetadata":"./src/animation_metadata","AnimationMetadataType":"./src/animation_metadata","AnimationOptions":"./src/animation_metadata","AnimationQueryMetadata":"./src/animation_metadata","AnimationQueryOptions":"./src/animation_metadata","AnimationReferenceMetadata":"./src/animation_metadata","AnimationSequenceMetadata":"./src/animation_metadata","AnimationStaggerMetadata":"./src/animation_metadata","AnimationStateMetadata":"./src/animation_metadata","AnimationStyleMetadata":"./src/animation_metadata","AnimationTransitionMetadata":"./src/animation_metadata","AnimationTriggerMetadata":"./src/animation_metadata","animate":"./src/animation_metadata","animateChild":"./src/animation_metadata","animation":"./src/animation_metadata","group":"./src/animation_metadata","keyframes":"./src/animation_metadata","query":"./src/animation_metadata","sequence":"./src/animation_metadata","stagger":"./src/animation_metadata","state":"./src/animation_metadata","style":"./src/animatio
 n_metadata","transition":"./src/animation_metadata","trigger":"./src/animation_metadata","useAnimation":"./src/animation_metadata","ɵStyleData":"./src/animation_metadata","AnimationPlayer":"./src/players/animation_player","NoopAnimationPlayer":"./src/players/animation_player","ɵPRE_STYLE":"./src/private_export","ɵAnimationGroupPlayer":"./src/players/animation_group_player"},"importAs":"@angular/animations"}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/eec354e6/node_modules/@angular/animations/browser.d.ts
----------------------------------------------------------------------
diff --git a/node_modules/@angular/animations/browser.d.ts b/node_modules/@angular/animations/browser.d.ts
new file mode 100644
index 0000000..746d982
--- /dev/null
+++ b/node_modules/@angular/animations/browser.d.ts
@@ -0,0 +1,6 @@
+/**
+ * @license Angular v5.2.0
+ * (c) 2010-2018 Google, Inc. https://angular.io/
+ * License: MIT
+ */ 
+ export * from './browser/browser'

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/eec354e6/node_modules/@angular/animations/browser.metadata.json
----------------------------------------------------------------------
diff --git a/node_modules/@angular/animations/browser.metadata.json b/node_modules/@angular/animations/browser.metadata.json
new file mode 100644
index 0000000..d4e8b1c
--- /dev/null
+++ b/node_modules/@angular/animations/browser.metadata.json
@@ -0,0 +1 @@
+{"__symbolic":"module","version":3,"metadata":{},"exports":[{"from":"./browser/browser"}],"flatModuleIndexRedirect":true}

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/eec354e6/node_modules/@angular/animations/browser/browser.d.ts
----------------------------------------------------------------------
diff --git a/node_modules/@angular/animations/browser/browser.d.ts b/node_modules/@angular/animations/browser/browser.d.ts
new file mode 100644
index 0000000..7417cc8
--- /dev/null
+++ b/node_modules/@angular/animations/browser/browser.d.ts
@@ -0,0 +1,4 @@
+/**
+ * Generated bundle index. Do not edit.
+ */
+export * from './public_api';

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/eec354e6/node_modules/@angular/animations/browser/browser.metadata.json
----------------------------------------------------------------------
diff --git a/node_modules/@angular/animations/browser/browser.metadata.json b/node_modules/@angular/animations/browser/browser.metadata.json
new file mode 100644
index 0000000..79c7ee2
--- /dev/null
+++ b/node_modules/@angular/animations/browser/browser.metadata.json
@@ -0,0 +1 @@
+{"__symbolic":"module","version":4,"metadata":{"AnimationDriver":{"__symbolic":"class","members":{"validateStyleProperty":[{"__symbolic":"method"}],"matchesElement":[{"__symbolic":"method"}],"containsElement":[{"__symbolic":"method"}],"query":[{"__symbolic":"method"}],"computeStyle":[{"__symbolic":"method"}],"animate":[{"__symbolic":"method"}]},"statics":{"NOOP":{"__symbolic":"new","expression":{"__symbolic":"reference","name":"NoopAnimationDriver"}}}},"ɵAnimation":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"AnimationDriver"},{"__symbolic":"reference","module":"@angular/animations","name":"AnimationMetadata","line":20,"character":55}]}],"buildTimelines":[{"__symbolic":"method"}]}},"ɵAnimationStyleNormalizer":{"__symbolic":"class","members":{"normalizePropertyName":[{"__symbolic":"method"}],"normalizeStyleValue":[{"__symbolic":"method"}]}},"ɵNoopAnimationStyleNormalizer":{"__symbolic":"class","members":{"
 normalizePropertyName":[{"__symbolic":"method"}],"normalizeStyleValue":[{"__symbolic":"method"}]}},"ɵWebAnimationsStyleNormalizer":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"ɵAnimationStyleNormalizer"},"members":{"normalizePropertyName":[{"__symbolic":"method"}],"normalizeStyleValue":[{"__symbolic":"method"}]}},"ɵNoopAnimationDriver":{"__symbolic":"class","members":{"validateStyleProperty":[{"__symbolic":"method"}],"matchesElement":[{"__symbolic":"method"}],"containsElement":[{"__symbolic":"method"}],"query":[{"__symbolic":"method"}],"computeStyle":[{"__symbolic":"method"}],"animate":[{"__symbolic":"method"}]}},"ɵAnimationEngine":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"AnimationDriver"},{"__symbolic":"reference","name":"ɵAnimationStyleNormalizer"}]}],"registerTrigger":[{"__symbolic":"method"}],"register":[{"__symbolic":"method"}],"destroy":[{"__symbolic":"method"}],"onInsert"
 :[{"__symbolic":"method"}],"onRemove":[{"__symbolic":"method"}],"disableAnimations":[{"__symbolic":"method"}],"process":[{"__symbolic":"method"}],"listen":[{"__symbolic":"method"}],"flush":[{"__symbolic":"method"}],"whenRenderingDone":[{"__symbolic":"method"}]}},"ɵWebAnimationsDriver":{"__symbolic":"class","members":{"validateStyleProperty":[{"__symbolic":"method"}],"matchesElement":[{"__symbolic":"method"}],"containsElement":[{"__symbolic":"method"}],"query":[{"__symbolic":"method"}],"computeStyle":[{"__symbolic":"method"}],"animate":[{"__symbolic":"method"}]}},"ɵsupportsWebAnimations":{"__symbolic":"function","parameters":[],"value":{"__symbolic":"binop","operator":"&&","left":{"__symbolic":"binop","operator":"!==","left":{"__symbolic":"error","message":"Expression form not supported","line":50,"character":9,"module":"./src/render/web_animations/web_animations_driver"},"right":"undefined"},"right":{"__symbolic":"binop","operator":"===","left":{"__symbolic":"error","message":"Exp
 ression form not supported","line":50,"character":43,"module":"./src/render/web_animations/web_animations_driver"},"right":"function"}}},"ɵWebAnimationsPlayer":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"any"},{"__symbolic":"reference","name":"Array","arguments":[{"__symbolic":"error","message":"Expression form not supported","line":33,"character":45,"module":"./src/render/web_animations/web_animations_player"}]},{"__symbolic":"error","message":"Expression form not supported","line":34,"character":22,"module":"./src/render/web_animations/web_animations_player"},{"__symbolic":"reference","name":"Array","arguments":[{"__symbolic":"reference","name":"ɵWebAnimationsPlayer"}]}]}],"_onFinish":[{"__symbolic":"method"}],"init":[{"__symbolic":"method"}],"_buildPlayer":[{"__symbolic":"method"}],"_preparePlayerBeforeStart":[{"__symbolic":"method"}],"_triggerWebAnimation":[{"__symbolic":"method"}],"onStart":[{"__symb
 olic":"method"}],"onDone":[{"__symbolic":"method"}],"onDestroy":[{"__symbolic":"method"}],"play":[{"__symbolic":"method"}],"pause":[{"__symbolic":"method"}],"finish":[{"__symbolic":"method"}],"reset":[{"__symbolic":"method"}],"_resetDomPlayerState":[{"__symbolic":"method"}],"restart":[{"__symbolic":"method"}],"hasStarted":[{"__symbolic":"method"}],"destroy":[{"__symbolic":"method"}],"setPosition":[{"__symbolic":"method"}],"getPosition":[{"__symbolic":"method"}],"beforeDestroy":[{"__symbolic":"method"}],"triggerCallback":[{"__symbolic":"method"}]}}},"origins":{"AnimationDriver":"./src/render/animation_driver","ɵAnimation":"./src/dsl/animation","ɵAnimationStyleNormalizer":"./src/dsl/style_normalization/animation_style_normalizer","ɵNoopAnimationStyleNormalizer":"./src/dsl/style_normalization/animation_style_normalizer","ɵWebAnimationsStyleNormalizer":"./src/dsl/style_normalization/web_animations_style_normalizer","ɵNoopAnimationDriver":"./src/render/animation_driver","ɵAnimation
 Engine":"./src/render/animation_engine_next","ɵWebAnimationsDriver":"./src/render/web_animations/web_animations_driver","ɵsupportsWebAnimations":"./src/render/web_animations/web_animations_driver","ɵWebAnimationsPlayer":"./src/render/web_animations/web_animations_player"},"importAs":"@angular/animations/browser"}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/eec354e6/node_modules/@angular/animations/browser/package.json
----------------------------------------------------------------------
diff --git a/node_modules/@angular/animations/browser/package.json b/node_modules/@angular/animations/browser/package.json
new file mode 100644
index 0000000..880efc9
--- /dev/null
+++ b/node_modules/@angular/animations/browser/package.json
@@ -0,0 +1,7 @@
+{
+  "name": "@angular/animations/browser",
+  "typings": "./browser.d.ts",
+  "main": "../bundles/animations-browser.umd.js",
+  "module": "../esm5/browser.js",
+  "es2015": "../esm2015/browser.js"
+}

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/eec354e6/node_modules/@angular/animations/browser/public_api.d.ts
----------------------------------------------------------------------
diff --git a/node_modules/@angular/animations/browser/public_api.d.ts b/node_modules/@angular/animations/browser/public_api.d.ts
new file mode 100644
index 0000000..b7b69fc
--- /dev/null
+++ b/node_modules/@angular/animations/browser/public_api.d.ts
@@ -0,0 +1,13 @@
+/**
+ * @license
+ * Copyright Google Inc. All Rights Reserved.
+ *
+ * Use of this source code is governed by an MIT-style license that can be
+ * found in the LICENSE file at https://angular.io/license
+ */
+/**
+ * @module
+ * @description
+ * Entry point for all public APIs of this package.
+ */
+export * from './src/browser';

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/eec354e6/node_modules/@angular/animations/browser/testing.d.ts
----------------------------------------------------------------------
diff --git a/node_modules/@angular/animations/browser/testing.d.ts b/node_modules/@angular/animations/browser/testing.d.ts
new file mode 100644
index 0000000..ba8f8bc
--- /dev/null
+++ b/node_modules/@angular/animations/browser/testing.d.ts
@@ -0,0 +1,6 @@
+/**
+ * @license Angular v5.2.0
+ * (c) 2010-2018 Google, Inc. https://angular.io/
+ * License: MIT
+ */ 
+ export * from './testing/testing'

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/eec354e6/node_modules/@angular/animations/browser/testing.metadata.json
----------------------------------------------------------------------
diff --git a/node_modules/@angular/animations/browser/testing.metadata.json b/node_modules/@angular/animations/browser/testing.metadata.json
new file mode 100644
index 0000000..d2dff86
--- /dev/null
+++ b/node_modules/@angular/animations/browser/testing.metadata.json
@@ -0,0 +1 @@
+{"__symbolic":"module","version":3,"metadata":{},"exports":[{"from":"./testing/testing"}],"flatModuleIndexRedirect":true}

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/eec354e6/node_modules/@angular/animations/browser/testing/package.json
----------------------------------------------------------------------
diff --git a/node_modules/@angular/animations/browser/testing/package.json b/node_modules/@angular/animations/browser/testing/package.json
new file mode 100644
index 0000000..78ab3c2
--- /dev/null
+++ b/node_modules/@angular/animations/browser/testing/package.json
@@ -0,0 +1,7 @@
+{
+  "name": "@angular/animations/browser/testing",
+  "typings": "./testing.d.ts",
+  "main": "../../bundles/platform-browser-animations-testing.umd.js",
+  "module": "../../esm5/animations/testing.js",
+  "es2015": "../../esm2015/animations/testing.js"
+}

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/eec354e6/node_modules/@angular/animations/browser/testing/public_api.d.ts
----------------------------------------------------------------------
diff --git a/node_modules/@angular/animations/browser/testing/public_api.d.ts b/node_modules/@angular/animations/browser/testing/public_api.d.ts
new file mode 100644
index 0000000..16e13df
--- /dev/null
+++ b/node_modules/@angular/animations/browser/testing/public_api.d.ts
@@ -0,0 +1,13 @@
+/**
+ * @license
+ * Copyright Google Inc. All Rights Reserved.
+ *
+ * Use of this source code is governed by an MIT-style license that can be
+ * found in the LICENSE file at https://angular.io/license
+ */
+/**
+ * @module
+ * @description
+ * Entry point for all public APIs of this package.
+ */
+export * from './src/testing';

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/eec354e6/node_modules/@angular/animations/browser/testing/testing.d.ts
----------------------------------------------------------------------
diff --git a/node_modules/@angular/animations/browser/testing/testing.d.ts b/node_modules/@angular/animations/browser/testing/testing.d.ts
new file mode 100644
index 0000000..7417cc8
--- /dev/null
+++ b/node_modules/@angular/animations/browser/testing/testing.d.ts
@@ -0,0 +1,4 @@
+/**
+ * Generated bundle index. Do not edit.
+ */
+export * from './public_api';

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/eec354e6/node_modules/@angular/animations/browser/testing/testing.metadata.json
----------------------------------------------------------------------
diff --git a/node_modules/@angular/animations/browser/testing/testing.metadata.json b/node_modules/@angular/animations/browser/testing/testing.metadata.json
new file mode 100644
index 0000000..edf4f26
--- /dev/null
+++ b/node_modules/@angular/animations/browser/testing/testing.metadata.json
@@ -0,0 +1 @@
+{"__symbolic":"module","version":4,"metadata":{"MockAnimationDriver":{"__symbolic":"class","members":{"validateStyleProperty":[{"__symbolic":"method"}],"matchesElement":[{"__symbolic":"method"}],"containsElement":[{"__symbolic":"method"}],"query":[{"__symbolic":"method"}],"computeStyle":[{"__symbolic":"method"}],"animate":[{"__symbolic":"method"}]},"statics":{"log":[]}},"MockAnimationPlayer":{"__symbolic":"class","extends":{"__symbolic":"reference","module":"@angular/animations","name":"NoopAnimationPlayer","line":49,"character":41},"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"any"},{"__symbolic":"reference","name":"Array","arguments":[{"__symbolic":"error","message":"Expression form not supported","line":57,"character":45,"module":"./src/mock_animation_driver"}]},{"__symbolic":"reference","name":"number"},{"__symbolic":"reference","name":"number"},{"__symbolic":"reference","name":"string"},{"__symbolic":"reference","name":"Array
 ","arguments":[{"__symbolic":"reference","name":"any"}]}]}],"onInit":[{"__symbolic":"method"}],"init":[{"__symbolic":"method"}],"finish":[{"__symbolic":"method"}],"destroy":[{"__symbolic":"method"}],"triggerMicrotask":[{"__symbolic":"method"}],"play":[{"__symbolic":"method"}],"hasStarted":[{"__symbolic":"method"}],"beforeDestroy":[{"__symbolic":"method"}]}}},"origins":{"MockAnimationDriver":"./src/mock_animation_driver","MockAnimationPlayer":"./src/mock_animation_driver"},"importAs":"@angular/animations/browser/testing"}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/eec354e6/node_modules/@angular/animations/bundles/animations-browser-testing.umd.js
----------------------------------------------------------------------
diff --git a/node_modules/@angular/animations/bundles/animations-browser-testing.umd.js b/node_modules/@angular/animations/bundles/animations-browser-testing.umd.js
new file mode 100644
index 0000000..fe6084f
--- /dev/null
+++ b/node_modules/@angular/animations/bundles/animations-browser-testing.umd.js
@@ -0,0 +1,520 @@
+/**
+ * @license Angular v5.2.0
+ * (c) 2010-2018 Google, Inc. https://angular.io/
+ * License: MIT
+ */
+(function (global, factory) {
+	typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/animations')) :
+	typeof define === 'function' && define.amd ? define('@angular/animations/browser/testing', ['exports', '@angular/animations'], factory) :
+	(factory((global.ng = global.ng || {}, global.ng.animations = global.ng.animations || {}, global.ng.animations.browser = global.ng.animations.browser || {}, global.ng.animations.browser.testing = {}),global.ng.animations));
+}(this, (function (exports,_angular_animations) { 'use strict';
+
+/*! *****************************************************************************
+Copyright (c) Microsoft Corporation. All rights reserved.
+Licensed under the Apache License, Version 2.0 (the "License"); you may not use
+this file except in compliance with the License. You may obtain a copy of the
+License at http://www.apache.org/licenses/LICENSE-2.0
+
+THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED
+WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,
+MERCHANTABLITY OR NON-INFRINGEMENT.
+
+See the Apache Version 2.0 License for specific language governing permissions
+and limitations under the License.
+***************************************************************************** */
+/* global Reflect, Promise */
+
+var extendStatics = Object.setPrototypeOf ||
+    ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
+    function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
+
+function __extends(d, b) {
+    extendStatics(d, b);
+    function __() { this.constructor = d; }
+    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
+}
+
+/**
+ * @license Angular v5.2.0
+ * (c) 2010-2018 Google, Inc. https://angular.io/
+ * License: MIT
+ */
+/**
+ * @fileoverview added by tsickle
+ * @suppress {checkTypes} checked by tsc
+ */
+/**
+ * @param {?} players
+ * @return {?}
+ */
+
+/**
+ * @param {?} driver
+ * @param {?} normalizer
+ * @param {?} element
+ * @param {?} keyframes
+ * @param {?=} preStyles
+ * @param {?=} postStyles
+ * @return {?}
+ */
+
+/**
+ * @param {?} player
+ * @param {?} eventName
+ * @param {?} event
+ * @param {?} callback
+ * @return {?}
+ */
+
+/**
+ * @param {?} e
+ * @param {?=} phaseName
+ * @param {?=} totalTime
+ * @return {?}
+ */
+
+/**
+ * @param {?} element
+ * @param {?} triggerName
+ * @param {?} fromState
+ * @param {?} toState
+ * @param {?=} phaseName
+ * @param {?=} totalTime
+ * @return {?}
+ */
+
+/**
+ * @param {?} map
+ * @param {?} key
+ * @param {?} defaultValue
+ * @return {?}
+ */
+
+/**
+ * @param {?} command
+ * @return {?}
+ */
+
+var _contains = function (elm1, elm2) { return false; };
+var _matches = function (element, selector) {
+    return false;
+};
+var _query = function (element, selector, multi) {
+    return [];
+};
+if (typeof Element != 'undefined') {
+    // this is well supported in all browsers
+    _contains = function (elm1, elm2) { return /** @type {?} */ (elm1.contains(elm2)); };
+    if (Element.prototype.matches) {
+        _matches = function (element, selector) { return element.matches(selector); };
+    }
+    else {
+        var /** @type {?} */ proto = /** @type {?} */ (Element.prototype);
+        var /** @type {?} */ fn_1 = proto.matchesSelector || proto.mozMatchesSelector || proto.msMatchesSelector ||
+            proto.oMatchesSelector || proto.webkitMatchesSelector;
+        if (fn_1) {
+            _matches = function (element, selector) { return fn_1.apply(element, [selector]); };
+        }
+    }
+    _query = function (element, selector, multi) {
+        var /** @type {?} */ results = [];
+        if (multi) {
+            results.push.apply(results, element.querySelectorAll(selector));
+        }
+        else {
+            var /** @type {?} */ elm = element.querySelector(selector);
+            if (elm) {
+                results.push(elm);
+            }
+        }
+        return results;
+    };
+}
+/**
+ * @param {?} prop
+ * @return {?}
+ */
+function containsVendorPrefix(prop) {
+    // Webkit is the only real popular vendor prefix nowadays
+    // cc: http://shouldiprefix.com/
+    return prop.substring(1, 6) == 'ebkit'; // webkit or Webkit
+}
+var _CACHED_BODY = null;
+var _IS_WEBKIT = false;
+/**
+ * @param {?} prop
+ * @return {?}
+ */
+function validateStyleProperty(prop) {
+    if (!_CACHED_BODY) {
+        _CACHED_BODY = getBodyNode() || {};
+        _IS_WEBKIT = /** @type {?} */ ((_CACHED_BODY)).style ? ('WebkitAppearance' in /** @type {?} */ ((_CACHED_BODY)).style) : false;
+    }
+    var /** @type {?} */ result = true;
+    if (/** @type {?} */ ((_CACHED_BODY)).style && !containsVendorPrefix(prop)) {
+        result = prop in /** @type {?} */ ((_CACHED_BODY)).style;
+        if (!result && _IS_WEBKIT) {
+            var /** @type {?} */ camelProp = 'Webkit' + prop.charAt(0).toUpperCase() + prop.substr(1);
+            result = camelProp in /** @type {?} */ ((_CACHED_BODY)).style;
+        }
+    }
+    return result;
+}
+/**
+ * @return {?}
+ */
+function getBodyNode() {
+    if (typeof document != 'undefined') {
+        return document.body;
+    }
+    return null;
+}
+var matchesElement = _matches;
+var containsElement = _contains;
+var invokeQuery = _query;
+
+/**
+ * @fileoverview added by tsickle
+ * @suppress {checkTypes} checked by tsc
+ */
+
+
+
+
+
+
+
+
+
+
+
+/**
+ * @param {?} value
+ * @return {?}
+ */
+
+/**
+ * @param {?} timings
+ * @param {?} errors
+ * @param {?=} allowNegativeValues
+ * @return {?}
+ */
+
+/**
+ * @param {?} obj
+ * @param {?=} destination
+ * @return {?}
+ */
+
+/**
+ * @param {?} styles
+ * @return {?}
+ */
+
+/**
+ * @param {?} styles
+ * @param {?} readPrototype
+ * @param {?=} destination
+ * @return {?}
+ */
+
+/**
+ * @param {?} element
+ * @param {?} styles
+ * @return {?}
+ */
+
+/**
+ * @param {?} element
+ * @param {?} styles
+ * @return {?}
+ */
+
+/**
+ * @param {?} steps
+ * @return {?}
+ */
+
+/**
+ * @param {?} value
+ * @param {?} options
+ * @param {?} errors
+ * @return {?}
+ */
+
+/**
+ * @param {?} value
+ * @return {?}
+ */
+
+/**
+ * @param {?} value
+ * @param {?} params
+ * @param {?} errors
+ * @return {?}
+ */
+
+/**
+ * @param {?} iterator
+ * @return {?}
+ */
+
+/**
+ * @param {?} source
+ * @param {?} destination
+ * @return {?}
+ */
+
+/**
+ * @param {?} input
+ * @return {?}
+ */
+
+/**
+ * @param {?} duration
+ * @param {?} delay
+ * @return {?}
+ */
+function allowPreviousPlayerStylesMerge(duration, delay) {
+    return duration === 0 || delay === 0;
+}
+/**
+ * @param {?} visitor
+ * @param {?} node
+ * @param {?} context
+ * @return {?}
+ */
+
+/**
+ * @fileoverview added by tsickle
+ * @suppress {checkTypes} checked by tsc
+ */
+/**
+ * \@experimental Animation support is experimental.
+ */
+var MockAnimationDriver = /** @class */ (function () {
+    function MockAnimationDriver() {
+    }
+    /**
+     * @param {?} prop
+     * @return {?}
+     */
+    MockAnimationDriver.prototype.validateStyleProperty = /**
+     * @param {?} prop
+     * @return {?}
+     */
+    function (prop) { return validateStyleProperty(prop); };
+    /**
+     * @param {?} element
+     * @param {?} selector
+     * @return {?}
+     */
+    MockAnimationDriver.prototype.matchesElement = /**
+     * @param {?} element
+     * @param {?} selector
+     * @return {?}
+     */
+    function (element, selector) {
+        return matchesElement(element, selector);
+    };
+    /**
+     * @param {?} elm1
+     * @param {?} elm2
+     * @return {?}
+     */
+    MockAnimationDriver.prototype.containsElement = /**
+     * @param {?} elm1
+     * @param {?} elm2
+     * @return {?}
+     */
+    function (elm1, elm2) { return containsElement(elm1, elm2); };
+    /**
+     * @param {?} element
+     * @param {?} selector
+     * @param {?} multi
+     * @return {?}
+     */
+    MockAnimationDriver.prototype.query = /**
+     * @param {?} element
+     * @param {?} selector
+     * @param {?} multi
+     * @return {?}
+     */
+    function (element, selector, multi) {
+        return invokeQuery(element, selector, multi);
+    };
+    /**
+     * @param {?} element
+     * @param {?} prop
+     * @param {?=} defaultValue
+     * @return {?}
+     */
+    MockAnimationDriver.prototype.computeStyle = /**
+     * @param {?} element
+     * @param {?} prop
+     * @param {?=} defaultValue
+     * @return {?}
+     */
+    function (element, prop, defaultValue) {
+        return defaultValue || '';
+    };
+    /**
+     * @param {?} element
+     * @param {?} keyframes
+     * @param {?} duration
+     * @param {?} delay
+     * @param {?} easing
+     * @param {?=} previousPlayers
+     * @return {?}
+     */
+    MockAnimationDriver.prototype.animate = /**
+     * @param {?} element
+     * @param {?} keyframes
+     * @param {?} duration
+     * @param {?} delay
+     * @param {?} easing
+     * @param {?=} previousPlayers
+     * @return {?}
+     */
+    function (element, keyframes, duration, delay, easing, previousPlayers) {
+        if (previousPlayers === void 0) { previousPlayers = []; }
+        var /** @type {?} */ player = new MockAnimationPlayer(element, keyframes, duration, delay, easing, previousPlayers);
+        MockAnimationDriver.log.push(/** @type {?} */ (player));
+        return player;
+    };
+    MockAnimationDriver.log = [];
+    return MockAnimationDriver;
+}());
+/**
+ * \@experimental Animation support is experimental.
+ */
+var MockAnimationPlayer = /** @class */ (function (_super) {
+    __extends(MockAnimationPlayer, _super);
+    function MockAnimationPlayer(element, keyframes, duration, delay, easing, previousPlayers) {
+        var _this = _super.call(this) || this;
+        _this.element = element;
+        _this.keyframes = keyframes;
+        _this.duration = duration;
+        _this.delay = delay;
+        _this.easing = easing;
+        _this.previousPlayers = previousPlayers;
+        _this.__finished = false;
+        _this.__started = false;
+        _this.previousStyles = {};
+        _this._onInitFns = [];
+        _this.currentSnapshot = {};
+        if (allowPreviousPlayerStylesMerge(duration, delay)) {
+            previousPlayers.forEach(function (player) {
+                if (player instanceof MockAnimationPlayer) {
+                    var /** @type {?} */ styles_1 = player.currentSnapshot;
+                    Object.keys(styles_1).forEach(function (prop) { return _this.previousStyles[prop] = styles_1[prop]; });
+                }
+            });
+        }
+        _this.totalTime = delay + duration;
+        return _this;
+    }
+    /* @internal */
+    /**
+     * @param {?} fn
+     * @return {?}
+     */
+    MockAnimationPlayer.prototype.onInit = /**
+     * @param {?} fn
+     * @return {?}
+     */
+    function (fn) { this._onInitFns.push(fn); };
+    /* @internal */
+    /**
+     * @return {?}
+     */
+    MockAnimationPlayer.prototype.init = /**
+     * @return {?}
+     */
+    function () {
+        _super.prototype.init.call(this);
+        this._onInitFns.forEach(function (fn) { return fn(); });
+        this._onInitFns = [];
+    };
+    /**
+     * @return {?}
+     */
+    MockAnimationPlayer.prototype.finish = /**
+     * @return {?}
+     */
+    function () {
+        _super.prototype.finish.call(this);
+        this.__finished = true;
+    };
+    /**
+     * @return {?}
+     */
+    MockAnimationPlayer.prototype.destroy = /**
+     * @return {?}
+     */
+    function () {
+        _super.prototype.destroy.call(this);
+        this.__finished = true;
+    };
+    /* @internal */
+    /**
+     * @return {?}
+     */
+    MockAnimationPlayer.prototype.triggerMicrotask = /**
+     * @return {?}
+     */
+    function () { };
+    /**
+     * @return {?}
+     */
+    MockAnimationPlayer.prototype.play = /**
+     * @return {?}
+     */
+    function () {
+        _super.prototype.play.call(this);
+        this.__started = true;
+    };
+    /**
+     * @return {?}
+     */
+    MockAnimationPlayer.prototype.hasStarted = /**
+     * @return {?}
+     */
+    function () { return this.__started; };
+    /**
+     * @return {?}
+     */
+    MockAnimationPlayer.prototype.beforeDestroy = /**
+     * @return {?}
+     */
+    function () {
+        var _this = this;
+        var /** @type {?} */ captures = {};
+        Object.keys(this.previousStyles).forEach(function (prop) {
+            captures[prop] = _this.previousStyles[prop];
+        });
+        if (this.hasStarted()) {
+            // when assembling the captured styles, it's important that
+            // we build the keyframe styles in the following order:
+            // {other styles within keyframes, ... previousStyles }
+            this.keyframes.forEach(function (kf) {
+                Object.keys(kf).forEach(function (prop) {
+                    if (prop != 'offset') {
+                        captures[prop] = _this.__finished ? kf[prop] : _angular_animations.AUTO_STYLE;
+                    }
+                });
+            });
+        }
+        this.currentSnapshot = captures;
+    };
+    return MockAnimationPlayer;
+}(_angular_animations.NoopAnimationPlayer));
+
+exports.MockAnimationDriver = MockAnimationDriver;
+exports.MockAnimationPlayer = MockAnimationPlayer;
+
+Object.defineProperty(exports, '__esModule', { value: true });
+
+})));
+//# sourceMappingURL=animations-browser-testing.umd.js.map


[24/59] [abbrv] [partial] nifi-fds git commit: update gh-pages

Posted by sc...@apache.org.
http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/eec354e6/node_modules/@angular/cdk/bundles/cdk-a11y.umd.js.map
----------------------------------------------------------------------
diff --git a/node_modules/@angular/cdk/bundles/cdk-a11y.umd.js.map b/node_modules/@angular/cdk/bundles/cdk-a11y.umd.js.map
new file mode 100644
index 0000000..0f1bff8
--- /dev/null
+++ b/node_modules/@angular/cdk/bundles/cdk-a11y.umd.js.map
@@ -0,0 +1 @@
+{"version":3,"file":"cdk-a11y.umd.js","sources":["../../src/cdk/a11y/a11y-module.ts","../../src/cdk/a11y/fake-mousedown.ts","../../src/cdk/a11y/focus-monitor/focus-monitor.ts","../../src/cdk/a11y/live-announcer/live-announcer.ts","../../src/cdk/a11y/key-manager/focus-key-manager.ts","../../src/cdk/a11y/key-manager/activedescendant-key-manager.ts","../../src/cdk/a11y/key-manager/list-key-manager.ts","../../src/cdk/a11y/aria-describer/aria-describer.ts","../../src/cdk/a11y/aria-describer/aria-reference.ts","../../src/cdk/a11y/focus-trap/focus-trap.ts","../../src/cdk/a11y/interactivity-checker/interactivity-checker.ts","../../node_modules/tslib/tslib.es6.js"],"sourcesContent":["/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {PlatformModule} from '@angular/cdk/platform';\nimport {CommonModule} from '@angular/common';\n
 import {NgModule} from '@angular/core';\nimport {ARIA_DESCRIBER_PROVIDER, AriaDescriber} from './aria-describer/aria-describer';\nimport {CdkMonitorFocus, FOCUS_MONITOR_PROVIDER} from './focus-monitor/focus-monitor';\nimport {\n  CdkTrapFocus,\n  FocusTrapDeprecatedDirective,\n  FocusTrapFactory,\n} from './focus-trap/focus-trap';\nimport {InteractivityChecker} from './interactivity-checker/interactivity-checker';\nimport {LIVE_ANNOUNCER_PROVIDER} from './live-announcer/live-announcer';\n\n@NgModule({\n  imports: [CommonModule, PlatformModule],\n  declarations: [CdkTrapFocus, FocusTrapDeprecatedDirective, CdkMonitorFocus],\n  exports: [CdkTrapFocus, FocusTrapDeprecatedDirective, CdkMonitorFocus],\n  providers: [\n    InteractivityChecker,\n    FocusTrapFactory,\n    AriaDescriber,\n    LIVE_ANNOUNCER_PROVIDER,\n    ARIA_DESCRIBER_PROVIDER,\n    FOCUS_MONITOR_PROVIDER,\n  ]\n})\nexport class A11yModule {}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use 
 of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * Screenreaders will often fire fake mousedown events when a focusable element\n * is activated using the keyboard. We can typically distinguish between these faked\n * mousedown events and real mousedown events using the \"buttons\" property. While\n * real mousedowns will indicate the mouse button that was pressed (e.g. \"1\" for\n * the left mouse button), faked mousedowns will usually set the property value to 0.\n */\nexport function isFakeMousedownFromScreenReader(event: MouseEvent): boolean {\n  return event.buttons === 0;\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nimport {Platform, supportsPassiveEventListeners} from '@angular/cdk/platform';\nimport {\n  Directive,\
 n  ElementRef,\n  EventEmitter,\n  Injectable,\n  NgZone,\n  OnDestroy,\n  Optional,\n  Output,\n  Renderer2,\n  SkipSelf,\n} from '@angular/core';\nimport {Observable} from 'rxjs/Observable';\nimport {of as observableOf} from 'rxjs/observable/of';\nimport {Subject} from 'rxjs/Subject';\nimport {Subscription} from 'rxjs/Subscription';\n\n\n// This is the value used by AngularJS Material. Through trial and error (on iPhone 6S) they found\n// that a value of around 650ms seems appropriate.\nexport const TOUCH_BUFFER_MS = 650;\n\n\nexport type FocusOrigin = 'touch' | 'mouse' | 'keyboard' | 'program' | null;\n\n\ntype MonitoredElementInfo = {\n  unlisten: Function,\n  checkChildren: boolean,\n  subject: Subject<FocusOrigin>\n};\n\n\n/** Monitors mouse and keyboard events to determine the cause of focus events. */\n@Injectable()\nexport class FocusMonitor implements OnDestroy {\n  /** The focus origin that the next focus event is a result of. */\n  private _origin: FocusOrigin = null;\n\
 n  /** The FocusOrigin of the last focus event tracked by the FocusMonitor. */\n  private _lastFocusOrigin: FocusOrigin;\n\n  /** Whether the window has just been focused. */\n  private _windowFocused = false;\n\n  /** The target of the last touch event. */\n  private _lastTouchTarget: EventTarget | null;\n\n  /** The timeout id of the touch timeout, used to cancel timeout later. */\n  private _touchTimeoutId: number;\n\n  /** The timeout id of the window focus timeout. */\n  private _windowFocusTimeoutId: number;\n\n  /** The timeout id of the origin clearing timeout. */\n  private _originTimeoutId: number;\n\n  /** Map of elements being monitored to their info. */\n  private _elementInfo = new Map<HTMLElement, MonitoredElementInfo>();\n\n  /** A map of global objects to lists of current listeners. */\n  private _unregisterGlobalListeners = () => {};\n\n  /** The number of elements currently being monitored. */\n  private _monitoredElementCount = 0;\n\n  constructor(private _ngZone
 : NgZone, private _platform: Platform) {}\n\n  /**\n   * @docs-private\n   * @deprecated renderer param no longer needed.\n   * @deletion-target 6.0.0\n   */\n  monitor(element: HTMLElement, renderer: Renderer2, checkChildren: boolean):\n      Observable<FocusOrigin>;\n  /**\n   * Monitors focus on an element and applies appropriate CSS classes.\n   * @param element The element to monitor\n   * @param checkChildren Whether to count the element as focused when its children are focused.\n   * @returns An observable that emits when the focus state of the element changes.\n   *     When the element is blurred, null will be emitted.\n   */\n  monitor(element: HTMLElement, checkChildren?: boolean): Observable<FocusOrigin>;\n  monitor(\n      element: HTMLElement,\n      renderer?: Renderer2 | boolean,\n      checkChildren?: boolean): Observable<FocusOrigin> {\n    // TODO(mmalerba): clean up after deprecated signature is removed.\n    if (!(renderer instanceof Renderer2)) {\n      checkCh
 ildren = renderer;\n    }\n    checkChildren = !!checkChildren;\n\n    // Do nothing if we're not on the browser platform.\n    if (!this._platform.isBrowser) {\n      return observableOf(null);\n    }\n    // Check if we're already monitoring this element.\n    if (this._elementInfo.has(element)) {\n      let cachedInfo = this._elementInfo.get(element);\n      cachedInfo!.checkChildren = checkChildren;\n      return cachedInfo!.subject.asObservable();\n    }\n\n    // Create monitored element info.\n    let info: MonitoredElementInfo = {\n      unlisten: () => {},\n      checkChildren: checkChildren,\n      subject: new Subject<FocusOrigin>()\n    };\n    this._elementInfo.set(element, info);\n    this._incrementMonitoredElementCount();\n\n    // Start listening. We need to listen in capture phase since focus events don't bubble.\n    let focusListener = (event: FocusEvent) => this._onFocus(event, element);\n    let blurListener = (event: FocusEvent) => this._onBlur(event, element)
 ;\n    this._ngZone.runOutsideAngular(() => {\n      element.addEventListener('focus', focusListener, true);\n      element.addEventListener('blur', blurListener, true);\n    });\n\n    // Create an unlisten function for later.\n    info.unlisten = () => {\n      element.removeEventListener('focus', focusListener, true);\n      element.removeEventListener('blur', blurListener, true);\n    };\n\n    return info.subject.asObservable();\n  }\n\n  /**\n   * Stops monitoring an element and removes all focus classes.\n   * @param element The element to stop monitoring.\n   */\n  stopMonitoring(element: HTMLElement): void {\n    const elementInfo = this._elementInfo.get(element);\n\n    if (elementInfo) {\n      elementInfo.unlisten();\n      elementInfo.subject.complete();\n\n      this._setClasses(element);\n      this._elementInfo.delete(element);\n      this._decrementMonitoredElementCount();\n    }\n  }\n\n  /**\n   * Focuses the element via the specified focus origin.\n   * @param el
 ement The element to focus.\n   * @param origin The focus origin.\n   */\n  focusVia(element: HTMLElement, origin: FocusOrigin): void {\n    this._setOriginForCurrentEventQueue(origin);\n    element.focus();\n  }\n\n  ngOnDestroy() {\n    this._elementInfo.forEach((_info, element) => this.stopMonitoring(element));\n  }\n\n  /** Register necessary event listeners on the document and window. */\n  private _registerGlobalListeners() {\n    // Do nothing if we're not on the browser platform.\n    if (!this._platform.isBrowser) {\n      return;\n    }\n\n    // On keydown record the origin and clear any touch event that may be in progress.\n    let documentKeydownListener = () => {\n      this._lastTouchTarget = null;\n      this._setOriginForCurrentEventQueue('keyboard');\n    };\n\n    // On mousedown record the origin only if there is not touch target, since a mousedown can\n    // happen as a result of a touch event.\n    let documentMousedownListener = () => {\n      if (!this._last
 TouchTarget) {\n        this._setOriginForCurrentEventQueue('mouse');\n      }\n    };\n\n    // When the touchstart event fires the focus event is not yet in the event queue. This means\n    // we can't rely on the trick used above (setting timeout of 0ms). Instead we wait 650ms to\n    // see if a focus happens.\n    let documentTouchstartListener = (event: TouchEvent) => {\n      if (this._touchTimeoutId != null) {\n        clearTimeout(this._touchTimeoutId);\n      }\n      this._lastTouchTarget = event.target;\n      this._touchTimeoutId = setTimeout(() => this._lastTouchTarget = null, TOUCH_BUFFER_MS);\n    };\n\n    // Make a note of when the window regains focus, so we can restore the origin info for the\n    // focused element.\n    let windowFocusListener = () => {\n      this._windowFocused = true;\n      this._windowFocusTimeoutId = setTimeout(() => this._windowFocused = false, 0);\n    };\n\n    // Note: we listen to events in the capture phase so we can detect them eve
 n if the user stops\n    // propagation.\n    this._ngZone.runOutsideAngular(() => {\n      document.addEventListener('keydown', documentKeydownListener, true);\n      document.addEventListener('mousedown', documentMousedownListener, true);\n      document.addEventListener('touchstart', documentTouchstartListener,\n          supportsPassiveEventListeners() ? ({passive: true, capture: true} as any) : true);\n      window.addEventListener('focus', windowFocusListener);\n    });\n\n    this._unregisterGlobalListeners = () => {\n      document.removeEventListener('keydown', documentKeydownListener, true);\n      document.removeEventListener('mousedown', documentMousedownListener, true);\n      document.removeEventListener('touchstart', documentTouchstartListener,\n          supportsPassiveEventListeners() ? ({passive: true, capture: true} as any) : true);\n      window.removeEventListener('focus', windowFocusListener);\n\n      // Clear timeouts for all potentially pending timeouts to p
 revent the leaks.\n      clearTimeout(this._windowFocusTimeoutId);\n      clearTimeout(this._touchTimeoutId);\n      clearTimeout(this._originTimeoutId);\n    };\n  }\n\n  private _toggleClass(element: Element, className: string, shouldSet: boolean) {\n    if (shouldSet) {\n      element.classList.add(className);\n    } else {\n      element.classList.remove(className);\n    }\n  }\n\n  /**\n   * Sets the focus classes on the element based on the given focus origin.\n   * @param element The element to update the classes on.\n   * @param origin The focus origin.\n   */\n  private _setClasses(element: HTMLElement, origin?: FocusOrigin): void {\n    const elementInfo = this._elementInfo.get(element);\n\n    if (elementInfo) {\n      this._toggleClass(element, 'cdk-focused', !!origin);\n      this._toggleClass(element, 'cdk-touch-focused', origin === 'touch');\n      this._toggleClass(element, 'cdk-keyboard-focused', origin === 'keyboard');\n      this._toggleClass(element, 'cdk-mouse-f
 ocused', origin === 'mouse');\n      this._toggleClass(element, 'cdk-program-focused', origin === 'program');\n    }\n  }\n\n  /**\n   * Sets the origin and schedules an async function to clear it at the end of the event queue.\n   * @param origin The origin to set.\n   */\n  private _setOriginForCurrentEventQueue(origin: FocusOrigin): void {\n    this._origin = origin;\n    this._originTimeoutId = setTimeout(() => this._origin = null, 0);\n  }\n\n  /**\n   * Checks whether the given focus event was caused by a touchstart event.\n   * @param event The focus event to check.\n   * @returns Whether the event was caused by a touch.\n   */\n  private _wasCausedByTouch(event: FocusEvent): boolean {\n    // Note(mmalerba): This implementation is not quite perfect, there is a small edge case.\n    // Consider the following dom structure:\n    //\n    // <div #parent tabindex=\"0\" cdkFocusClasses>\n    //   <div #child (click)=\"#parent.focus()\"></div>\n    // </div>\n    //\n    // If the
  user touches the #child element and the #parent is programmatically focused as a\n    // result, this code will still consider it to have been caused by the touch event and will\n    // apply the cdk-touch-focused class rather than the cdk-program-focused class. This is a\n    // relatively small edge-case that can be worked around by using\n    // focusVia(parentEl, 'program') to focus the parent element.\n    //\n    // If we decide that we absolutely must handle this case correctly, we can do so by listening\n    // for the first focus event after the touchstart, and then the first blur event after that\n    // focus event. When that blur event fires we know that whatever follows is not a result of the\n    // touchstart.\n    let focusTarget = event.target;\n    return this._lastTouchTarget instanceof Node && focusTarget instanceof Node &&\n        (focusTarget === this._lastTouchTarget || focusTarget.contains(this._lastTouchTarget));\n  }\n\n  /**\n   * Handles focus events on
  a registered element.\n   * @param event The focus event.\n   * @param element The monitored element.\n   */\n  private _onFocus(event: FocusEvent, element: HTMLElement) {\n    // NOTE(mmalerba): We currently set the classes based on the focus origin of the most recent\n    // focus event affecting the monitored element. If we want to use the origin of the first event\n    // instead we should check for the cdk-focused class here and return if the element already has\n    // it. (This only matters for elements that have includesChildren = true).\n\n    // If we are not counting child-element-focus as focused, make sure that the event target is the\n    // monitored element itself.\n    const elementInfo = this._elementInfo.get(element);\n    if (!elementInfo || (!elementInfo.checkChildren && element !== event.target)) {\n      return;\n    }\n\n    // If we couldn't detect a cause for the focus event, it's due to one of three reasons:\n    // 1) The window has just regained focus, 
 in which case we want to restore the focused state of\n    //    the element from before the window blurred.\n    // 2) It was caused by a touch event, in which case we mark the origin as 'touch'.\n    // 3) The element was programmatically focused, in which case we should mark the origin as\n    //    'program'.\n    if (!this._origin) {\n      if (this._windowFocused && this._lastFocusOrigin) {\n        this._origin = this._lastFocusOrigin;\n      } else if (this._wasCausedByTouch(event)) {\n        this._origin = 'touch';\n      } else {\n        this._origin = 'program';\n      }\n    }\n\n    this._setClasses(element, this._origin);\n    elementInfo.subject.next(this._origin);\n    this._lastFocusOrigin = this._origin;\n    this._origin = null;\n  }\n\n  /**\n   * Handles blur events on a registered element.\n   * @param event The blur event.\n   * @param element The monitored element.\n   */\n  _onBlur(event: FocusEvent, element: HTMLElement) {\n    // If we are counting child
 -element-focus as focused, make sure that we aren't just blurring in\n    // order to focus another child of the monitored element.\n    const elementInfo = this._elementInfo.get(element);\n\n    if (!elementInfo || (elementInfo.checkChildren && event.relatedTarget instanceof Node &&\n        element.contains(event.relatedTarget))) {\n      return;\n    }\n\n    this._setClasses(element);\n    elementInfo.subject.next(null);\n  }\n\n  private _incrementMonitoredElementCount() {\n    // Register global listeners when first element is monitored.\n    if (++this._monitoredElementCount == 1) {\n      this._registerGlobalListeners();\n    }\n  }\n\n  private _decrementMonitoredElementCount() {\n    // Unregister global listeners when last element is unmonitored.\n    if (!--this._monitoredElementCount) {\n      this._unregisterGlobalListeners();\n      this._unregisterGlobalListeners = () => {};\n    }\n  }\n\n}\n\n\n/**\n * Directive that determines how a particular element was focused 
 (via keyboard, mouse, touch, or\n * programmatically) and adds corresponding classes to the element.\n *\n * There are two variants of this directive:\n * 1) cdkMonitorElementFocus: does not consider an element to be focused if one of its children is\n *    focused.\n * 2) cdkMonitorSubtreeFocus: considers an element focused if it or any of its children are focused.\n */\n@Directive({\n  selector: '[cdkMonitorElementFocus], [cdkMonitorSubtreeFocus]',\n})\nexport class CdkMonitorFocus implements OnDestroy {\n  private _monitorSubscription: Subscription;\n  @Output() cdkFocusChange = new EventEmitter<FocusOrigin>();\n\n  constructor(private _elementRef: ElementRef, private _focusMonitor: FocusMonitor) {\n    this._monitorSubscription = this._focusMonitor.monitor(\n        this._elementRef.nativeElement,\n        this._elementRef.nativeElement.hasAttribute('cdkMonitorSubtreeFocus'))\n        .subscribe(origin => this.cdkFocusChange.emit(origin));\n  }\n\n  ngOnDestroy() {\n    this._fo
 cusMonitor.stopMonitoring(this._elementRef.nativeElement);\n    this._monitorSubscription.unsubscribe();\n  }\n}\n\n/** @docs-private */\nexport function FOCUS_MONITOR_PROVIDER_FACTORY(\n    parentDispatcher: FocusMonitor, ngZone: NgZone, platform: Platform) {\n  return parentDispatcher || new FocusMonitor(ngZone, platform);\n}\n\n/** @docs-private */\nexport const FOCUS_MONITOR_PROVIDER = {\n  // If there is already a FocusMonitor available, use that. Otherwise, provide a new one.\n  provide: FocusMonitor,\n  deps: [[new Optional(), new SkipSelf(), FocusMonitor], NgZone, Platform],\n  useFactory: FOCUS_MONITOR_PROVIDER_FACTORY\n};\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {\n  Injectable,\n  InjectionToken,\n  Optional,\n  Inject,\n  SkipSelf,\n  OnDestroy,\n} from '@angular/core';\nimport {DOCUMENT} from
  '@angular/common';\n\n\nexport const LIVE_ANNOUNCER_ELEMENT_TOKEN = new InjectionToken<HTMLElement>('liveAnnouncerElement');\n\n/** Possible politeness levels. */\nexport type AriaLivePoliteness = 'off' | 'polite' | 'assertive';\n\n@Injectable()\nexport class LiveAnnouncer implements OnDestroy {\n  private _liveElement: Element;\n\n  constructor(\n      @Optional() @Inject(LIVE_ANNOUNCER_ELEMENT_TOKEN) elementToken: any,\n      @Inject(DOCUMENT) private _document: any) {\n\n    // We inject the live element as `any` because the constructor signature cannot reference\n    // browser globals (HTMLElement) on non-browser environments, since having a class decorator\n    // causes TypeScript to preserve the constructor signature types.\n    this._liveElement = elementToken || this._createLiveElement();\n  }\n\n  /**\n   * Announces a message to screenreaders.\n   * @param message Message to be announced to the screenreader\n   * @param politeness The politeness of the announcer element
 \n   */\n  announce(message: string, politeness: AriaLivePoliteness = 'polite'): void {\n    this._liveElement.textContent = '';\n\n    // TODO: ensure changing the politeness works on all environments we support.\n    this._liveElement.setAttribute('aria-live', politeness);\n\n    // This 100ms timeout is necessary for some browser + screen-reader combinations:\n    // - Both JAWS and NVDA over IE11 will not announce anything without a non-zero timeout.\n    // - With Chrome and IE11 with NVDA or JAWS, a repeated (identical) message won't be read a\n    //   second time without clearing and then using a non-zero delay.\n    // (using JAWS 17 at time of this writing).\n    setTimeout(() => this._liveElement.textContent = message, 100);\n  }\n\n  ngOnDestroy() {\n    if (this._liveElement && this._liveElement.parentNode) {\n      this._liveElement.parentNode.removeChild(this._liveElement);\n    }\n  }\n\n  private _createLiveElement(): Element {\n    let liveEl = this._document.creat
 eElement('div');\n\n    liveEl.classList.add('cdk-visually-hidden');\n    liveEl.setAttribute('aria-atomic', 'true');\n    liveEl.setAttribute('aria-live', 'polite');\n\n    this._document.body.appendChild(liveEl);\n\n    return liveEl;\n  }\n\n}\n\n/** @docs-private */\nexport function LIVE_ANNOUNCER_PROVIDER_FACTORY(\n    parentDispatcher: LiveAnnouncer, liveElement: any, _document: any) {\n  return parentDispatcher || new LiveAnnouncer(liveElement, _document);\n}\n\n/** @docs-private */\nexport const LIVE_ANNOUNCER_PROVIDER = {\n  // If there is already a LiveAnnouncer available, use that. Otherwise, provide a new one.\n  provide: LiveAnnouncer,\n  deps: [\n    [new Optional(), new SkipSelf(), LiveAnnouncer],\n    [new Optional(), new Inject(LIVE_ANNOUNCER_ELEMENT_TOKEN)],\n    DOCUMENT,\n  ],\n  useFactory: LIVE_ANNOUNCER_PROVIDER_FACTORY\n};\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license tha
 t can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {ListKeyManager, ListKeyManagerOption} from './list-key-manager';\nimport {FocusOrigin} from '../focus-monitor/focus-monitor';\n\n/**\n * This is the interface for focusable items (used by the FocusKeyManager).\n * Each item must know how to focus itself, whether or not it is currently disabled\n * and be able to supply it's label.\n */\nexport interface FocusableOption extends ListKeyManagerOption {\n  /** Focuses the `FocusableOption`. */\n  focus(origin?: FocusOrigin): void;\n}\n\nexport class FocusKeyManager<T> extends ListKeyManager<FocusableOption & T> {\n  private _origin: FocusOrigin = 'program';\n\n  /**\n   * Sets the focus origin that will be passed in to the items for any subsequent `focus` calls.\n   * @param origin Focus origin to be used when focusing items.\n   */\n  setFocusOrigin(origin: FocusOrigin): this {\n    this._origin = origin;\n    return this;\n  }\n\n  /**\n   * This meth
 od sets the active item to the item at the specified index.\n   * It also adds focuses the newly active item.\n   */\n  setActiveItem(index: number): void {\n    super.setActiveItem(index);\n\n    if (this.activeItem) {\n      this.activeItem.focus(this._origin);\n    }\n  }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {ListKeyManager, ListKeyManagerOption} from './list-key-manager';\n\n/**\n * This is the interface for highlightable items (used by the ActiveDescendantKeyManager).\n * Each item must know how to style itself as active or inactive and whether or not it is\n * currently disabled.\n */\nexport interface Highlightable extends ListKeyManagerOption {\n  /** Applies the styles for an active item to this item. */\n  setActiveStyles(): void;\n\n  /** Applies the styles for an inactive item to this i
 tem. */\n  setInactiveStyles(): void;\n}\n\nexport class ActiveDescendantKeyManager<T> extends ListKeyManager<Highlightable & T> {\n\n  /**\n   * This method sets the active item to the item at the specified index.\n   * It also adds active styles to the newly active item and removes active\n   * styles from the previously active item.\n   */\n  setActiveItem(index: number): void {\n    if (this.activeItem) {\n      this.activeItem.setInactiveStyles();\n    }\n    super.setActiveItem(index);\n    if (this.activeItem) {\n      this.activeItem.setActiveStyles();\n    }\n  }\n\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {QueryList} from '@angular/core';\nimport {Subject} from 'rxjs/Subject';\nimport {Subscription} from 'rxjs/Subscription';\nimport {\n  UP_ARROW,\n  DOWN_ARROW,\n  LEFT_ARROW,\n  RIGHT_ARROW,\
 n  TAB,\n  A,\n  Z,\n  ZERO,\n  NINE,\n} from '@angular/cdk/keycodes';\nimport {debounceTime} from 'rxjs/operators/debounceTime';\nimport {filter} from 'rxjs/operators/filter';\nimport {map} from 'rxjs/operators/map';\nimport {tap} from 'rxjs/operators/tap';\n\n/** This interface is for items that can be passed to a ListKeyManager. */\nexport interface ListKeyManagerOption {\n  /** Whether the option is disabled. */\n  disabled?: boolean;\n\n  /** Gets the label for this option. */\n  getLabel?(): string;\n}\n\n/**\n * This class manages keyboard events for selectable lists. If you pass it a query list\n * of items, it will set the active item correctly when arrow events occur.\n */\nexport class ListKeyManager<T extends ListKeyManagerOption> {\n  private _activeItemIndex = -1;\n  private _activeItem: T;\n  private _wrap = false;\n  private _letterKeyStream = new Subject<string>();\n  private _typeaheadSubscription = Subscription.EMPTY;\n  private _vertical = true;\n  private _horiz
 ontal: 'ltr' | 'rtl' | null;\n\n  // Buffer for the letters that the user has pressed when the typeahead option is turned on.\n  private _pressedLetters: string[] = [];\n\n  constructor(private _items: QueryList<T>) {\n    _items.changes.subscribe((newItems: QueryList<T>) => {\n      if (this._activeItem) {\n        const itemArray = newItems.toArray();\n        const newIndex = itemArray.indexOf(this._activeItem);\n\n        if (newIndex > -1 && newIndex !== this._activeItemIndex) {\n          this._activeItemIndex = newIndex;\n        }\n      }\n    });\n  }\n\n  /**\n   * Stream that emits any time the TAB key is pressed, so components can react\n   * when focus is shifted off of the list.\n   */\n  tabOut: Subject<void> = new Subject<void>();\n\n  /** Stream that emits whenever the active item of the list manager changes. */\n  change = new Subject<number>();\n\n  /**\n   * Turns on wrapping mode, which ensures that the active item will wrap to\n   * the other end of list when 
 there are no more items in the given direction.\n   */\n  withWrap(): this {\n    this._wrap = true;\n    return this;\n  }\n\n  /**\n   * Configures whether the key manager should be able to move the selection vertically.\n   * @param enabled Whether vertical selection should be enabled.\n   */\n  withVerticalOrientation(enabled: boolean = true): this {\n    this._vertical = enabled;\n    return this;\n  }\n\n  /**\n   * Configures the key manager to move the selection horizontally.\n   * Passing in `null` will disable horizontal movement.\n   * @param direction Direction in which the selection can be moved.\n   */\n  withHorizontalOrientation(direction: 'ltr' | 'rtl' | null): this {\n    this._horizontal = direction;\n    return this;\n  }\n\n  /**\n   * Turns on typeahead mode which allows users to set the active item by typing.\n   * @param debounceInterval Time to wait after the last keystroke before setting the active item.\n   */\n  withTypeAhead(debounceInterval: number = 20
 0): this {\n    if (this._items.length && this._items.some(item => typeof item.getLabel !== 'function')) {\n      throw Error('ListKeyManager items in typeahead mode must implement the `getLabel` method.');\n    }\n\n    this._typeaheadSubscription.unsubscribe();\n\n    // Debounce the presses of non-navigational keys, collect the ones that correspond to letters\n    // and convert those letters back into a string. Afterwards find the first item that starts\n    // with that string and select it.\n    this._typeaheadSubscription = this._letterKeyStream.pipe(\n      tap(keyCode => this._pressedLetters.push(keyCode)),\n      debounceTime(debounceInterval),\n      filter(() => this._pressedLetters.length > 0),\n      map(() => this._pressedLetters.join(''))\n    ).subscribe(inputString => {\n      const items = this._items.toArray();\n\n      // Start at 1 because we want to start searching at the item immediately\n      // following the current active item.\n      for (let i = 1; i < 
 items.length + 1; i++) {\n        const index = (this._activeItemIndex + i) % items.length;\n        const item = items[index];\n\n        if (!item.disabled && item.getLabel!().toUpperCase().trim().indexOf(inputString) === 0) {\n          this.setActiveItem(index);\n          break;\n        }\n      }\n\n      this._pressedLetters = [];\n    });\n\n    return this;\n  }\n\n  /**\n   * Sets the active item to the item at the index specified.\n   * @param index The index of the item to be set as active.\n   */\n  setActiveItem(index: number): void {\n    const previousIndex = this._activeItemIndex;\n\n    this._activeItemIndex = index;\n    this._activeItem = this._items.toArray()[index];\n\n    if (this._activeItemIndex !== previousIndex) {\n      this.change.next(index);\n    }\n  }\n\n  /**\n   * Sets the active item depending on the key event passed in.\n   * @param event Keyboard event to be used for determining which element should be active.\n   */\n  onKeydown(event: Keyboar
 dEvent): void {\n    const keyCode = event.keyCode;\n\n    switch (keyCode) {\n      case TAB:\n        this.tabOut.next();\n        return;\n\n      case DOWN_ARROW:\n        if (this._vertical) {\n          this.setNextItemActive();\n          break;\n        }\n\n      case UP_ARROW:\n        if (this._vertical) {\n          this.setPreviousItemActive();\n          break;\n        }\n\n      case RIGHT_ARROW:\n        if (this._horizontal === 'ltr') {\n          this.setNextItemActive();\n          break;\n        } else if (this._horizontal === 'rtl') {\n          this.setPreviousItemActive();\n          break;\n        }\n\n      case LEFT_ARROW:\n        if (this._horizontal === 'ltr') {\n          this.setPreviousItemActive();\n          break;\n        } else if (this._horizontal === 'rtl') {\n          this.setNextItemActive();\n          break;\n        }\n\n      default:\n        // Attempt to use the `event.key` which also maps it to the user's keyboard language,\n     
    // otherwise fall back to resolving alphanumeric characters via the keyCode.\n        if (event.key && event.key.length === 1) {\n          this._letterKeyStream.next(event.key.toLocaleUpperCase());\n        } else if ((keyCode >= A && keyCode <= Z) || (keyCode >= ZERO && keyCode <= NINE)) {\n          this._letterKeyStream.next(String.fromCharCode(keyCode));\n        }\n\n        // Note that we return here, in order to avoid preventing\n        // the default action of non-navigational keys.\n        return;\n    }\n\n    this._pressedLetters = [];\n    event.preventDefault();\n  }\n\n  /** Index of the currently active item. */\n  get activeItemIndex(): number | null {\n    return this._activeItemIndex;\n  }\n\n  /** The active item. */\n  get activeItem(): T | null {\n    return this._activeItem;\n  }\n\n  /** Sets the active item to the first enabled item in the list. */\n  setFirstItemActive(): void {\n    this._setActiveItemByIndex(0, 1);\n  }\n\n  /** Sets the active item
  to the last enabled item in the list. */\n  setLastItemActive(): void {\n    this._setActiveItemByIndex(this._items.length - 1, -1);\n  }\n\n  /** Sets the active item to the next enabled item in the list. */\n  setNextItemActive(): void {\n    this._activeItemIndex < 0 ? this.setFirstItemActive() : this._setActiveItemByDelta(1);\n  }\n\n  /** Sets the active item to a previous enabled item in the list. */\n  setPreviousItemActive(): void {\n    this._activeItemIndex < 0 && this._wrap ? this.setLastItemActive()\n                                            : this._setActiveItemByDelta(-1);\n  }\n\n  /**\n   * Allows setting of the activeItemIndex without any other effects.\n   * @param index The new activeItemIndex.\n   */\n  updateActiveItemIndex(index: number) {\n    this._activeItemIndex = index;\n  }\n\n  /**\n   * This method sets the active item, given a list of items and the delta between the\n   * currently active item and the new active item. It will calculate differently\n
    * depending on whether wrap mode is turned on.\n   */\n  private _setActiveItemByDelta(delta: number, items = this._items.toArray()): void {\n    this._wrap ? this._setActiveInWrapMode(delta, items)\n               : this._setActiveInDefaultMode(delta, items);\n  }\n\n  /**\n   * Sets the active item properly given \"wrap\" mode. In other words, it will continue to move\n   * down the list until it finds an item that is not disabled, and it will wrap if it\n   * encounters either end of the list.\n   */\n  private _setActiveInWrapMode(delta: number, items: T[]): void {\n    // when active item would leave menu, wrap to beginning or end\n    this._activeItemIndex =\n      (this._activeItemIndex + delta + items.length) % items.length;\n\n    // skip all disabled menu items recursively until an enabled one is reached\n    if (items[this._activeItemIndex].disabled) {\n      this._setActiveInWrapMode(delta, items);\n    } else {\n      this.setActiveItem(this._activeItemIndex);\n    }
 \n  }\n\n  /**\n   * Sets the active item properly given the default mode. In other words, it will\n   * continue to move down the list until it finds an item that is not disabled. If\n   * it encounters either end of the list, it will stop and not wrap.\n   */\n  private _setActiveInDefaultMode(delta: number, items: T[]): void {\n    this._setActiveItemByIndex(this._activeItemIndex + delta, delta, items);\n  }\n\n  /**\n   * Sets the active item to the first enabled item starting at the index specified. If the\n   * item is disabled, it will move in the fallbackDelta direction until it either\n   * finds an enabled item or encounters the end of the list.\n   */\n  private _setActiveItemByIndex(index: number, fallbackDelta: number,\n                                  items = this._items.toArray()): void {\n    if (!items[index]) { return; }\n\n    while (items[index].disabled) {\n      index += fallbackDelta;\n      if (!items[index]) { return; }\n    }\n\n    this.setActiveItem(inde
 x);\n  }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {Injectable, Inject, InjectionToken, Optional, SkipSelf} from '@angular/core';\nimport {DOCUMENT} from '@angular/common';\nimport {addAriaReferencedId, getAriaReferenceIds, removeAriaReferencedId} from './aria-reference';\n\n/**\n * Interface used to register message elements and keep a count of how many registrations have\n * the same message and the reference to the message element used for the `aria-describedby`.\n */\nexport interface RegisteredMessage {\n  /** The element containing the message. */\n  messageElement: Element;\n\n  /** The number of elements that reference this message element via `aria-describedby`. */\n  referenceCount: number;\n}\n\n/** ID used for the body container where all messages are appended. */\nexport const MESSAGES_CONT
 AINER_ID = 'cdk-describedby-message-container';\n\n/** ID prefix used for each created message element. */\nexport const CDK_DESCRIBEDBY_ID_PREFIX = 'cdk-describedby-message';\n\n/** Attribute given to each host element that is described by a message element. */\nexport const CDK_DESCRIBEDBY_HOST_ATTRIBUTE = 'cdk-describedby-host';\n\n/** Global incremental identifier for each registered message element. */\nlet nextId = 0;\n\n/** Global map of all registered message elements that have been placed into the document. */\nconst messageRegistry = new Map<string, RegisteredMessage>();\n\n/** Container for all registered messages. */\nlet messagesContainer: HTMLElement | null = null;\n\n/**\n * Utility that creates visually hidden elements with a message content. Useful for elements that\n * want to use aria-describedby to further describe themselves without adding additional visual\n * content.\n * @docs-private\n */\n@Injectable()\nexport class AriaDescriber {\n  private _document: Doc
 ument;\n\n  constructor(@Inject(DOCUMENT) _document: any) {\n    this._document = _document;\n  }\n\n  /**\n   * Adds to the host element an aria-describedby reference to a hidden element that contains\n   * the message. If the same message has already been registered, then it will reuse the created\n   * message element.\n   */\n  describe(hostElement: Element, message: string) {\n    if (hostElement.nodeType !== this._document.ELEMENT_NODE || !message.trim()) {\n      return;\n    }\n\n    if (!messageRegistry.has(message)) {\n      this._createMessageElement(message);\n    }\n\n    if (!this._isElementDescribedByMessage(hostElement, message)) {\n      this._addMessageReference(hostElement, message);\n    }\n  }\n\n  /** Removes the host element's aria-describedby reference to the message element. */\n  removeDescription(hostElement: Element, message: string) {\n    if (hostElement.nodeType !== this._document.ELEMENT_NODE || !message.trim()) {\n      return;\n    }\n\n    if (this
 ._isElementDescribedByMessage(hostElement, message)) {\n      this._removeMessageReference(hostElement, message);\n    }\n\n    const registeredMessage = messageRegistry.get(message);\n    if (registeredMessage && registeredMessage.referenceCount === 0) {\n      this._deleteMessageElement(message);\n    }\n\n    if (messagesContainer && messagesContainer.childNodes.length === 0) {\n      this._deleteMessagesContainer();\n    }\n  }\n\n  /** Unregisters all created message elements and removes the message container. */\n  ngOnDestroy() {\n    const describedElements =\n        this._document.querySelectorAll(`[${CDK_DESCRIBEDBY_HOST_ATTRIBUTE}]`);\n\n    for (let i = 0; i < describedElements.length; i++) {\n      this._removeCdkDescribedByReferenceIds(describedElements[i]);\n      describedElements[i].removeAttribute(CDK_DESCRIBEDBY_HOST_ATTRIBUTE);\n    }\n\n    if (messagesContainer) {\n      this._deleteMessagesContainer();\n    }\n\n    messageRegistry.clear();\n  }\n\n  /**\n   
 * Creates a new element in the visually hidden message container element with the message\n   * as its content and adds it to the message registry.\n   */\n  private _createMessageElement(message: string) {\n    const messageElement = this._document.createElement('div');\n    messageElement.setAttribute('id', `${CDK_DESCRIBEDBY_ID_PREFIX}-${nextId++}`);\n    messageElement.appendChild(this._document.createTextNode(message)!);\n\n    if (!messagesContainer) { this._createMessagesContainer(); }\n    messagesContainer!.appendChild(messageElement);\n\n    messageRegistry.set(message, {messageElement, referenceCount: 0});\n  }\n\n  /** Deletes the message element from the global messages container. */\n  private _deleteMessageElement(message: string) {\n    const registeredMessage = messageRegistry.get(message);\n    const messageElement = registeredMessage && registeredMessage.messageElement;\n    if (messagesContainer && messageElement) {\n      messagesContainer.removeChild(messageEle
 ment);\n    }\n    messageRegistry.delete(message);\n  }\n\n  /** Creates the global container for all aria-describedby messages. */\n  private _createMessagesContainer() {\n    messagesContainer = this._document.createElement('div');\n    messagesContainer.setAttribute('id', MESSAGES_CONTAINER_ID);\n    messagesContainer.setAttribute('aria-hidden', 'true');\n    messagesContainer.style.display = 'none';\n    this._document.body.appendChild(messagesContainer);\n  }\n\n  /** Deletes the global messages container. */\n  private _deleteMessagesContainer() {\n    if (messagesContainer && messagesContainer.parentNode) {\n      messagesContainer.parentNode.removeChild(messagesContainer);\n      messagesContainer = null;\n    }\n  }\n\n  /** Removes all cdk-describedby messages that are hosted through the element. */\n  private _removeCdkDescribedByReferenceIds(element: Element) {\n    // Remove all aria-describedby reference IDs that are prefixed by CDK_DESCRIBEDBY_ID_PREFIX\n    const or
 iginalReferenceIds = getAriaReferenceIds(element, 'aria-describedby')\n        .filter(id => id.indexOf(CDK_DESCRIBEDBY_ID_PREFIX) != 0);\n    element.setAttribute('aria-describedby', originalReferenceIds.join(' '));\n  }\n\n  /**\n   * Adds a message reference to the element using aria-describedby and increments the registered\n   * message's reference count.\n   */\n  private _addMessageReference(element: Element, message: string) {\n    const registeredMessage = messageRegistry.get(message)!;\n\n    // Add the aria-describedby reference and set the\n    // describedby_host attribute to mark the element.\n    addAriaReferencedId(element, 'aria-describedby', registeredMessage.messageElement.id);\n    element.setAttribute(CDK_DESCRIBEDBY_HOST_ATTRIBUTE, '');\n\n    registeredMessage.referenceCount++;\n  }\n\n  /**\n   * Removes a message reference from the element using aria-describedby\n   * and decrements the registered message's reference count.\n   */\n  private _removeMessageRe
 ference(element: Element, message: string) {\n    const registeredMessage = messageRegistry.get(message)!;\n    registeredMessage.referenceCount--;\n\n    removeAriaReferencedId(element, 'aria-describedby', registeredMessage.messageElement.id);\n    element.removeAttribute(CDK_DESCRIBEDBY_HOST_ATTRIBUTE);\n  }\n\n  /** Returns true if the element has been described by the provided message ID. */\n  private _isElementDescribedByMessage(element: Element, message: string): boolean {\n    const referenceIds = getAriaReferenceIds(element, 'aria-describedby');\n    const registeredMessage = messageRegistry.get(message);\n    const messageId = registeredMessage && registeredMessage.messageElement.id;\n\n    return !!messageId && referenceIds.indexOf(messageId) != -1;\n  }\n\n}\n\n/** @docs-private */\nexport function ARIA_DESCRIBER_PROVIDER_FACTORY(parentDispatcher: AriaDescriber, _document: any) {\n  return parentDispatcher || new AriaDescriber(_document);\n}\n\n/** @docs-private */\nexpo
 rt const ARIA_DESCRIBER_PROVIDER = {\n  // If there is already an AriaDescriber available, use that. Otherwise, provide a new one.\n  provide: AriaDescriber,\n  deps: [\n    [new Optional(), new SkipSelf(), AriaDescriber],\n    DOCUMENT as InjectionToken<any>\n  ],\n  useFactory: ARIA_DESCRIBER_PROVIDER_FACTORY\n};\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/** IDs are deliminated by an empty space, as per the spec. */\nconst ID_DELIMINATOR = ' ';\n\n/**\n * Adds the given ID to the specified ARIA attribute on an element.\n * Used for attributes such as aria-labelledby, aria-owns, etc.\n */\nexport function addAriaReferencedId(el: Element, attr: string, id: string) {\n  const ids = getAriaReferenceIds(el, attr);\n  if (ids.some(existingId => existingId.trim() == id.trim())) { return; }\n  ids.push(id.trim());\n\n 
  el.setAttribute(attr, ids.join(ID_DELIMINATOR));\n}\n\n/**\n * Removes the given ID from the specified ARIA attribute on an element.\n * Used for attributes such as aria-labelledby, aria-owns, etc.\n */\nexport function removeAriaReferencedId(el: Element, attr: string, id: string) {\n  const ids = getAriaReferenceIds(el, attr);\n  const filteredIds = ids.filter(val => val != id.trim());\n\n  el.setAttribute(attr, filteredIds.join(ID_DELIMINATOR));\n}\n\n/**\n * Gets the list of IDs referenced by the given ARIA attribute on an element.\n * Used for attributes such as aria-labelledby, aria-owns, etc.\n */\nexport function getAriaReferenceIds(el: Element, attr: string): string[] {\n  // Get string array of all individual ids (whitespace deliminated) in the attribute value\n  return (el.getAttribute(attr) || '').match(/\\S+/g) || [];\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * 
 found in the LICENSE file at https://angular.io/license\n */\n\nimport {\n  Directive,\n  ElementRef,\n  Input,\n  NgZone,\n  OnDestroy,\n  AfterContentInit,\n  Injectable,\n  Inject,\n} from '@angular/core';\nimport {coerceBooleanProperty} from '@angular/cdk/coercion';\nimport {take} from 'rxjs/operators/take';\nimport {InteractivityChecker} from '../interactivity-checker/interactivity-checker';\nimport {DOCUMENT} from '@angular/common';\n\n\n/**\n * Class that allows for trapping focus within a DOM element.\n *\n * This class currently uses a relatively simple approach to focus trapping.\n * It assumes that the tab order is the same as DOM order, which is not necessarily true.\n * Things like `tabIndex > 0`, flex `order`, and shadow roots can cause to two to misalign.\n */\nexport class FocusTrap {\n  private _startAnchor: HTMLElement | null;\n  private _endAnchor: HTMLElement | null;\n\n  /** Whether the focus trap is active. */\n  get enabled(): boolean { return this._enabled; }
 \n  set enabled(val: boolean) {\n    this._enabled = val;\n\n    if (this._startAnchor && this._endAnchor) {\n      this._startAnchor.tabIndex = this._endAnchor.tabIndex = this._enabled ? 0 : -1;\n    }\n  }\n  private _enabled: boolean = true;\n\n  constructor(\n    private _element: HTMLElement,\n    private _checker: InteractivityChecker,\n    private _ngZone: NgZone,\n    private _document: Document,\n    deferAnchors = false) {\n\n    if (!deferAnchors) {\n      this.attachAnchors();\n    }\n  }\n\n  /** Destroys the focus trap by cleaning up the anchors. */\n  destroy() {\n    if (this._startAnchor && this._startAnchor.parentNode) {\n      this._startAnchor.parentNode.removeChild(this._startAnchor);\n    }\n\n    if (this._endAnchor && this._endAnchor.parentNode) {\n      this._endAnchor.parentNode.removeChild(this._endAnchor);\n    }\n\n    this._startAnchor = this._endAnchor = null;\n  }\n\n  /**\n   * Inserts the anchors into the DOM. This is usually done automatically\n   
 * in the constructor, but can be deferred for cases like directives with `*ngIf`.\n   */\n  attachAnchors(): void {\n    if (!this._startAnchor) {\n      this._startAnchor = this._createAnchor();\n    }\n\n    if (!this._endAnchor) {\n      this._endAnchor = this._createAnchor();\n    }\n\n    this._ngZone.runOutsideAngular(() => {\n      this._startAnchor!.addEventListener('focus', () => {\n        this.focusLastTabbableElement();\n      });\n\n      this._endAnchor!.addEventListener('focus', () => {\n        this.focusFirstTabbableElement();\n      });\n\n      if (this._element.parentNode) {\n        this._element.parentNode.insertBefore(this._startAnchor!, this._element);\n        this._element.parentNode.insertBefore(this._endAnchor!, this._element.nextSibling);\n      }\n    });\n  }\n\n  /**\n   * Waits for the zone to stabilize, then either focuses the first element that the\n   * user specified, or the first tabbable element.\n   * @returns Returns a promise that resolves w
 ith a boolean, depending\n   * on whether focus was moved successfuly.\n   */\n  focusInitialElementWhenReady(): Promise<boolean> {\n    return new Promise<boolean>(resolve => {\n      this._executeOnStable(() => resolve(this.focusInitialElement()));\n    });\n  }\n\n  /**\n   * Waits for the zone to stabilize, then focuses\n   * the first tabbable element within the focus trap region.\n   * @returns Returns a promise that resolves with a boolean, depending\n   * on whether focus was moved successfuly.\n   */\n  focusFirstTabbableElementWhenReady(): Promise<boolean> {\n    return new Promise<boolean>(resolve => {\n      this._executeOnStable(() => resolve(this.focusFirstTabbableElement()));\n    });\n  }\n\n  /**\n   * Waits for the zone to stabilize, then focuses\n   * the last tabbable element within the focus trap region.\n   * @returns Returns a promise that resolves with a boolean, depending\n   * on whether focus was moved successfuly.\n   */\n  focusLastTabbableElementWhenRea
 dy(): Promise<boolean> {\n    return new Promise<boolean>(resolve => {\n      this._executeOnStable(() => resolve(this.focusLastTabbableElement()));\n    });\n  }\n\n  /**\n   * Get the specified boundary element of the trapped region.\n   * @param bound The boundary to get (start or end of trapped region).\n   * @returns The boundary element.\n   */\n  private _getRegionBoundary(bound: 'start' | 'end'): HTMLElement | null {\n    // Contains the deprecated version of selector, for temporary backwards comparability.\n    let markers = this._element.querySelectorAll(`[cdk-focus-region-${bound}], ` +\n                                                 `[cdkFocusRegion${bound}], ` +\n                                                 `[cdk-focus-${bound}]`) as NodeListOf<HTMLElement>;\n\n    for (let i = 0; i < markers.length; i++) {\n      if (markers[i].hasAttribute(`cdk-focus-${bound}`)) {\n        console.warn(`Found use of deprecated attribute 'cdk-focus-${bound}',` +\n                
      ` use 'cdkFocusRegion${bound}' instead.`, markers[i]);\n      } else if (markers[i].hasAttribute(`cdk-focus-region-${bound}`)) {\n        console.warn(`Found use of deprecated attribute 'cdk-focus-region-${bound}',` +\n                     ` use 'cdkFocusRegion${bound}' instead.`, markers[i]);\n      }\n    }\n\n    if (bound == 'start') {\n      return markers.length ? markers[0] : this._getFirstTabbableElement(this._element);\n    }\n    return markers.length ?\n        markers[markers.length - 1] : this._getLastTabbableElement(this._element);\n  }\n\n  /**\n   * Focuses the element that should be focused when the focus trap is initialized.\n   * @returns Whether focus was moved successfuly.\n   */\n  focusInitialElement(): boolean {\n    // Contains the deprecated version of selector, for temporary backwards comparability.\n    const redirectToElement = this._element.querySelector(`[cdk-focus-initial], ` +\n                                                          `[cdkFocus
 Initial]`) as HTMLElement;\n\n    if (this._element.hasAttribute(`cdk-focus-initial`)) {\n      console.warn(`Found use of deprecated attribute 'cdk-focus-initial',` +\n                    ` use 'cdkFocusInitial' instead.`, this._element);\n    }\n\n    if (redirectToElement) {\n      redirectToElement.focus();\n      return true;\n    }\n\n    return this.focusFirstTabbableElement();\n  }\n\n  /**\n   * Focuses the first tabbable element within the focus trap region.\n   * @returns Whether focus was moved successfuly.\n   */\n  focusFirstTabbableElement(): boolean {\n    const redirectToElement = this._getRegionBoundary('start');\n\n    if (redirectToElement) {\n      redirectToElement.focus();\n    }\n\n    return !!redirectToElement;\n  }\n\n  /**\n   * Focuses the last tabbable element within the focus trap region.\n   * @returns Whether focus was moved successfuly.\n   */\n  focusLastTabbableElement(): boolean {\n    const redirectToElement = this._getRegionBoundary('end');\n\n
     if (redirectToElement) {\n      redirectToElement.focus();\n    }\n\n    return !!redirectToElement;\n  }\n\n  /** Get the first tabbable element from a DOM subtree (inclusive). */\n  private _getFirstTabbableElement(root: HTMLElement): HTMLElement | null {\n    if (this._checker.isFocusable(root) && this._checker.isTabbable(root)) {\n      return root;\n    }\n\n    // Iterate in DOM order. Note that IE doesn't have `children` for SVG so we fall\n    // back to `childNodes` which includes text nodes, comments etc.\n    let children = root.children || root.childNodes;\n\n    for (let i = 0; i < children.length; i++) {\n      let tabbableChild = children[i].nodeType === this._document.ELEMENT_NODE ?\n        this._getFirstTabbableElement(children[i] as HTMLElement) :\n        null;\n\n      if (tabbableChild) {\n        return tabbableChild;\n      }\n    }\n\n    return null;\n  }\n\n  /** Get the last tabbable element from a DOM subtree (inclusive). */\n  private _getLastTabbab
 leElement(root: HTMLElement): HTMLElement | null {\n    if (this._checker.isFocusable(root) && this._checker.isTabbable(root)) {\n      return root;\n    }\n\n    // Iterate in reverse DOM order.\n    let children = root.children || root.childNodes;\n\n    for (let i = children.length - 1; i >= 0; i--) {\n      let tabbableChild = children[i].nodeType === this._document.ELEMENT_NODE ?\n        this._getLastTabbableElement(children[i] as HTMLElement) :\n        null;\n\n      if (tabbableChild) {\n        return tabbableChild;\n      }\n    }\n\n    return null;\n  }\n\n  /** Creates an anchor element. */\n  private _createAnchor(): HTMLElement {\n    const anchor = this._document.createElement('div');\n    anchor.tabIndex = this._enabled ? 0 : -1;\n    anchor.classList.add('cdk-visually-hidden');\n    anchor.classList.add('cdk-focus-trap-anchor');\n    return anchor;\n  }\n\n  /** Executes a function when the zone is stable. */\n  private _executeOnStable(fn: () => any): void {\n   
  if (this._ngZone.isStable) {\n      fn();\n    } else {\n      this._ngZone.onStable.asObservable().pipe(take(1)).subscribe(fn);\n    }\n  }\n}\n\n\n/** Factory that allows easy instantiation of focus traps. */\n@Injectable()\nexport class FocusTrapFactory {\n  private _document: Document;\n\n  constructor(\n      private _checker: InteractivityChecker,\n      private _ngZone: NgZone,\n      @Inject(DOCUMENT) _document: any) {\n\n    this._document = _document;\n  }\n\n  /**\n   * Creates a focus-trapped region around the given element.\n   * @param element The element around which focus will be trapped.\n   * @param deferCaptureElements Defers the creation of focus-capturing elements to be done\n   *     manually by the user.\n   * @returns The created focus trap instance.\n   */\n  create(element: HTMLElement, deferCaptureElements: boolean = false): FocusTrap {\n    return new FocusTrap(\n        element, this._checker, this._ngZone, this._document, deferCaptureElements);\n  }\n}
 \n\n\n/**\n * Directive for trapping focus within a region.\n * @docs-private\n * @deprecated\n * @deletion-target 6.0.0\n */\n@Directive({\n  selector: 'cdk-focus-trap',\n})\nexport class FocusTrapDeprecatedDirective implements OnDestroy, AfterContentInit {\n  focusTrap: FocusTrap;\n\n  /** Whether the focus trap is active. */\n  @Input()\n  get disabled(): boolean { return !this.focusTrap.enabled; }\n  set disabled(val: boolean) {\n    this.focusTrap.enabled = !coerceBooleanProperty(val);\n  }\n\n  constructor(private _elementRef: ElementRef, private _focusTrapFactory: FocusTrapFactory) {\n    this.focusTrap = this._focusTrapFactory.create(this._elementRef.nativeElement, true);\n  }\n\n  ngOnDestroy() {\n    this.focusTrap.destroy();\n  }\n\n  ngAfterContentInit() {\n    this.focusTrap.attachAnchors();\n  }\n}\n\n\n/** Directive for trapping focus within a region. */\n@Directive({\n  selector: '[cdkTrapFocus]',\n  exportAs: 'cdkTrapFocus',\n})\nexport class CdkTrapFocus implements
  OnDestroy, AfterContentInit {\n  private _document: Document;\n\n  /** Underlying FocusTrap instance. */\n  focusTrap: FocusTrap;\n\n  /** Previously focused element to restore focus to upon destroy when using autoCapture. */\n  private _previouslyFocusedElement: HTMLElement | null = null;\n\n  /** Whether the focus trap is active. */\n  @Input('cdkTrapFocus')\n  get enabled(): boolean { return this.focusTrap.enabled; }\n  set enabled(value: boolean) { this.focusTrap.enabled = coerceBooleanProperty(value); }\n\n  /**\n   * Whether the directive should automatially move focus into the trapped region upon\n   * initialization and return focus to the previous activeElement upon destruction.\n   */\n  @Input('cdkTrapFocusAutoCapture')\n  get autoCapture(): boolean { return this._autoCapture; }\n  set autoCapture(value: boolean) { this._autoCapture = coerceBooleanProperty(value); }\n  private _autoCapture: boolean;\n\n  constructor(\n      private _elementRef: ElementRef,\n      private
  _focusTrapFactory: FocusTrapFactory,\n      @Inject(DOCUMENT) _document: any) {\n\n    this._document = _document;\n    this.focusTrap = this._focusTrapFactory.create(this._elementRef.nativeElement, true);\n  }\n\n  ngOnDestroy() {\n    this.focusTrap.destroy();\n\n    // If we stored a previously focused element when using autoCapture, return focus to that\n    // element now that the trapped region is being destroyed.\n    if (this._previouslyFocusedElement) {\n      this._previouslyFocusedElement.focus();\n      this._previouslyFocusedElement = null;\n    }\n  }\n\n  ngAfterContentInit() {\n    this.focusTrap.attachAnchors();\n\n    if (this.autoCapture) {\n      this._previouslyFocusedElement = this._document.activeElement as HTMLElement;\n      this.focusTrap.focusInitialElementWhenReady();\n    }\n  }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE fi
 le at https://angular.io/license\n */\n\nimport {Injectable} from '@angular/core';\nimport {Platform} from '@angular/cdk/platform';\n\n\n// The InteractivityChecker leans heavily on the ally.js accessibility utilities.\n// Methods like `isTabbable` are only covering specific edge-cases for the browsers which are\n// supported.\n\n/**\n * Utility for checking the interactivity of an element, such as whether is is focusable or\n * tabbable.\n */\n@Injectable()\nexport class InteractivityChecker {\n\n  constructor(private _platform: Platform) {}\n\n  /**\n   * Gets whether an element is disabled.\n   *\n   * @param element Element to be checked.\n   * @returns Whether the element is disabled.\n   */\n  isDisabled(element: HTMLElement): boolean {\n    // This does not capture some cases, such as a non-form control with a disabled attribute or\n    // a form control inside of a disabled form, but should capture the most common cases.\n    return element.hasAttribute('disabled');\n  }\n\n
   /**\n   * Gets whether an element is visible for the purposes of interactivity.\n   *\n   * This will capture states like `display: none` and `visibility: hidden`, but not things like\n   * being clipped by an `overflow: hidden` parent or being outside the viewport.\n   *\n   * @returns Whether the element is visible.\n   */\n  isVisible(element: HTMLElement): boolean {\n    return hasGeometry(element) && getComputedStyle(element).visibility === 'visible';\n  }\n\n  /**\n   * Gets whether an element can be reached via Tab key.\n   * Assumes that the element has already been checked with isFocusable.\n   *\n   * @param element Element to be checked.\n   * @returns Whether the element is tabbable.\n   */\n  isTabbable(element: HTMLElement): boolean {\n    // Nothing is tabbable on the the server 😎\n    if (!this._platform.isBrowser) {\n      return false;\n    }\n\n    const frameElement = getFrameElement(getWindow(element));\n\n    if (frameElement) {\n      const frameType = fr
 ameElement && frameElement.nodeName.toLowerCase();\n\n      // Frame elements inherit their tabindex onto all child elements.\n      if (getTabIndexValue(frameElement) === -1) {\n        return false;\n      }\n\n      // Webkit and Blink consider anything inside of an <object> element as non-tabbable.\n      if ((this._platform.BLINK || this._platform.WEBKIT) && frameType === 'object') {\n        return false;\n      }\n\n      // Webkit and Blink disable tabbing to an element inside of an invisible frame.\n      if ((this._platform.BLINK || this._platform.WEBKIT) && !this.isVisible(frameElement)) {\n        return false;\n      }\n\n    }\n\n    let nodeName = element.nodeName.toLowerCase();\n    let tabIndexValue = getTabIndexValue(element);\n\n    if (element.hasAttribute('contenteditable')) {\n      return tabIndexValue !== -1;\n    }\n\n    if (nodeName === 'iframe') {\n      // The frames may be tabbable depending on content, but it's not possibly to reliably\n      // invest
 igate the content of the frames.\n      return false;\n    }\n\n    if (nodeName === 'audio') {\n      if (!element.hasAttribute('controls')) {\n        // By default an <audio> element without the controls enabled is not tabbable.\n        return false;\n      } else if (this._platform.BLINK) {\n        // In Blink <audio controls> elements are always tabbable.\n        return true;\n      }\n    }\n\n    if (nodeName === 'video') {\n      if (!element.hasAttribute('controls') && this._platform.TRIDENT) {\n        // In Trident a <video> element without the controls enabled is not tabbable.\n        return false;\n      } else if (this._platform.BLINK || this._platform.FIREFOX) {\n        // In Chrome and Firefox <video controls> elements are always tabbable.\n        return true;\n      }\n    }\n\n    if (nodeName === 'object' && (this._platform.BLINK || this._platform.WEBKIT)) {\n      // In all Blink and WebKit based browsers <object> elements are never tabbable.\n      return 
 false;\n    }\n\n    // In iOS the browser only considers some specific elements as tabbable.\n    if (this._platform.WEBKIT && this._platform.IOS && !isPotentiallyTabbableIOS(element)) {\n      return false;\n    }\n\n    return element.tabIndex >= 0;\n  }\n\n  /**\n   * Gets whether an element can be focused by the user.\n   *\n   * @param element Element to be checked.\n   * @returns Whether the element is focusable.\n   */\n  isFocusable(element: HTMLElement): boolean {\n    // Perform checks in order of left to most expensive.\n    // Again, naive approach that does not capture many edge cases and browser quirks.\n    return isPotentiallyFocusable(element) && !this.isDisabled(element) && this.isVisible(element);\n  }\n\n}\n\n/**\n * Returns the frame element from a window object. Since browsers like MS Edge throw errors if\n * the frameElement property is being accessed from a different host address, this property\n * should be accessed carefully.\n */\nfunction getFrameElement
 (window: Window) {\n  try {\n    return window.frameElement as HTMLElement;\n  } catch (e) {\n    return null;\n  }\n}\n\n/** Checks whether the specified element has any geometry / rectangles. */\nfunction hasGeometry(element: HTMLElement): boolean {\n  // Use logic from jQuery to check for an invisible element.\n  // See https://github.com/jquery/jquery/blob/master/src/css/hiddenVisibleSelectors.js#L12\n  return !!(element.offsetWidth || element.offsetHeight ||\n      (typeof element.getClientRects === 'function' && element.getClientRects().length));\n}\n\n/** Gets whether an element's  */\nfunction isNativeFormElement(element: Node) {\n  let nodeName = element.nodeName.toLowerCase();\n  return nodeName === 'input' ||\n      nodeName === 'select' ||\n      nodeName === 'button' ||\n      nodeName === 'textarea';\n}\n\n/** Gets whether an element is an `<input type=\"hidden\">`. */\nfunction isHiddenInput(element: HTMLElement): boolean {\n  return isInputElement(element) && element
 .type == 'hidden';\n}\n\n/** Gets whether an element is an anchor that has an href attribute. */\nfunction isAnchorWithHref(element: HTMLElement): boolean {\n  return isAnchorElement(element) && element.hasAttribute('href');\n}\n\n/** Gets whether an element is an input element. */\nfunction isInputElement(element: HTMLElement): element is HTMLInputElement {\n  return element.nodeName.toLowerCase() == 'input';\n}\n\n/** Gets whether an element is an anchor element. */\nfunction isAnchorElement(element: HTMLElement): element is HTMLAnchorElement {\n  return element.nodeName.toLowerCase() == 'a';\n}\n\n/** Gets whether an element has a valid tabindex. */\nfunction hasValidTabIndex(element: HTMLElement): boolean {\n  if (!element.hasAttribute('tabindex') || element.tabIndex === undefined) {\n    return false;\n  }\n\n  let tabIndex = element.getAttribute('tabindex');\n\n  // IE11 parses tabindex=\"\" as the value \"-32768\"\n  if (tabIndex == '-32768') {\n    return false;\n  }\n\n  re
 turn !!(tabIndex && !isNaN(parseInt(tabIndex, 10)));\n}\n\n/**\n * Returns the parsed tabindex from the element attributes instead of returning the\n * evaluated tabindex from the browsers defaults.\n */\nfunction getTabIndexValue(element: HTMLElement): number | null {\n  if (!hasValidTabIndex(element)) {\n    return null;\n  }\n\n  // See browser issue in Gecko https://bugzilla.mozilla.org/show_bug.cgi?id=1128054\n  const tabIndex = parseInt(element.getAttribute('tabindex') || '', 10);\n\n  return isNaN(tabIndex) ? -1 : tabIndex;\n}\n\n/** Checks whether the specified element is potentially tabbable on iOS */\nfunction isPotentiallyTabbableIOS(element: HTMLElement): boolean {\n  let nodeName = element.nodeName.toLowerCase();\n  let inputType = nodeName === 'input' && (element as HTMLInputElement).type;\n\n  return inputType === 'text'\n      || inputType === 'password'\n      || nodeName === 'select'\n      || nodeName === 'textarea';\n}\n\n/**\n * Gets whether an element is potent
 ially focusable without taking current visible/disabled state\n * into account.\n */\nfunction isPotentiallyFocusable(element: HTMLElement): boolean {\n  // Inputs are potentially focusable *unless* they're type=\"hidden\".\n  if (isHiddenInput(element)) {\n    return false;\n  }\n\n  return isNativeFormElement(element) ||\n      isAnchorWithHref(element) ||\n      element.hasAttribute('contenteditable') ||\n      hasValidTabIndex(element);\n}\n\n/** Gets the parent window of a DOM node with regards of being inside of an iframe. */\nfunction getWindow(node: HTMLElement): Window {\n  return node.ownerDocument.defaultView || window;\n}\n","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licens
 es/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = Object.setPrototypeOf ||\r\n    ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n    function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n\r\nexport function __extends(d, b) {\r\n    extendStatics(d, b);\r\n    function __() { this.constructor = d; }\r\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign 
 = Object.assign || function __assign(t) {\r\n    for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n        s = arguments[i];\r\n        for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n    }\r\n    return t;\r\n}\r\n\r\nexport function __rest(s, e) {\r\n    var t = {};\r\n    for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n        t[p] = s[p];\r\n    if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n        for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) if (e.indexOf(p[i]) < 0)\r\n            t[p[i]] = s[p[i]];\r\n    return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n    var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n    if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, ke
 y, desc);\r\n    else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n    return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n    return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n    if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n    return new (P || (P = Promise))(function (resolve, reject) {\r\n        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n        function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n        function step(result) { result.done ? resolve(result
 .value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }\r\n        step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n    });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n    var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n    return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n    function verb(n) { return function (v) { return step([n, v]); }; }\r\n    function step(op) {\r\n        if (f) throw new TypeError(\"Generator is already executing.\");\r\n        while (_) try {\r\n            if (f = 1, y && (t = y[op[0] & 2 ? \"return\" : op[0] ? \"throw\" : \"next\"]) && !(t = t.call(y, op[1])).done) return t;\r\n            if (y = 0, t) op = [0, t.value];\r\n            switch (op[0]) {\r\n                case 0: case 1: t = op; bre
 ak;\r\n                case 4: _.label++; return { value: op[1], done: false };\r\n                case 5: _.label++; y = op[1]; op = [0]; continue;\r\n                case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n                default:\r\n                    if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n                    if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n                    if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n                    if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n                    if (t[2]) _.ops.pop();\r\n                    _.trys.pop(); continue;\r\n            }\r\n            op = body.call(thisArg, _);\r\n        } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n        if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n    }\
 r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n    for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n    var m = typeof Symbol === \"function\" && o[Symbol.iterator], i = 0;\r\n    if (m) return m.call(o);\r\n    return {\r\n        next: function () {\r\n            if (o && i >= o.length) o = void 0;\r\n            return { value: o && o[i++], done: !o };\r\n        }\r\n    };\r\n}\r\n\r\nexport function __read(o, n) {\r\n    var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n    if (!m) return o;\r\n    var i = m.call(o), r, ar = [], e;\r\n    try {\r\n        while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n    }\r\n    catch (error) { e = { error: error }; }\r\n    finally {\r\n        try {\r\n            if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n        }\r\n        finally { if (e) throw e.error; }\r\n    }\r\n    return ar;\r\n}\r\n\r\nexport f
 unction __spread() {\r\n    for (var ar = [], i = 0; i < arguments.length; i++)\r\n        ar = ar.concat(__read(arguments[i]));\r\n    return ar;\r\n}\r\n\r\nexport function __await(v) {\r\n    return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n    if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n    var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n    return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n    function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n    function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n    function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][
 2], r);  }\r\n    function fulfill(value) { resume(\"next\", value); }\r\n    function reject(value) { resume(\"throw\", value); }\r\n    function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n    var i, p;\r\n    return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n    function verb(n, f) { if (o[n]) i[n] = function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; }; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n    if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n    var m = o[Symbol.asyncIterator];\r\n    return m ? m.call(o) : typeof __values === \"function\" ? __values(o) : o[Symbol.iterator]();\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n    if (Object.defineProperty) { Object.definePrope
 rty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n    return cooked;\r\n};\r\n"],"names":["CommonModule","PlatformModule","NgModule","Optional","SkipSelf","NgZone","Platform","Output","ElementRef","Directive","EventEmitter","Injectable","supportsPassiveEventListeners","Subject","observableOf","Renderer2","DOCUMENT","Inject","InjectionToken","tslib_1.__extends","A","Z","ZERO","NINE","LEFT_ARROW","RIGHT_ARROW","UP_ARROW","DOWN_ARROW","TAB","tap","debounceTime","filter","map","Subscription","Input","coerceBooleanProperty","take"],"mappings":"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

<TRUNCATED>

[34/59] [abbrv] [partial] nifi-fds git commit: update gh-pages

Posted by sc...@apache.org.
http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/eec354e6/node_modules/@angular/animations/esm2015/browser.js
----------------------------------------------------------------------
diff --git a/node_modules/@angular/animations/esm2015/browser.js b/node_modules/@angular/animations/esm2015/browser.js
new file mode 100644
index 0000000..bae363b
--- /dev/null
+++ b/node_modules/@angular/animations/esm2015/browser.js
@@ -0,0 +1,5138 @@
+/**
+ * @license Angular v5.2.0
+ * (c) 2010-2018 Google, Inc. https://angular.io/
+ * License: MIT
+ */
+import { AUTO_STYLE, NoopAnimationPlayer, sequence, style, ɵAnimationGroupPlayer, ɵPRE_STYLE } from '@angular/animations';
+
+/**
+ * @fileoverview added by tsickle
+ * @suppress {checkTypes} checked by tsc
+ */
+/**
+ * @param {?} players
+ * @return {?}
+ */
+function optimizeGroupPlayer(players) {
+    switch (players.length) {
+        case 0:
+            return new NoopAnimationPlayer();
+        case 1:
+            return players[0];
+        default:
+            return new ɵAnimationGroupPlayer(players);
+    }
+}
+/**
+ * @param {?} driver
+ * @param {?} normalizer
+ * @param {?} element
+ * @param {?} keyframes
+ * @param {?=} preStyles
+ * @param {?=} postStyles
+ * @return {?}
+ */
+function normalizeKeyframes(driver, normalizer, element, keyframes, preStyles = {}, postStyles = {}) {
+    const /** @type {?} */ errors = [];
+    const /** @type {?} */ normalizedKeyframes = [];
+    let /** @type {?} */ previousOffset = -1;
+    let /** @type {?} */ previousKeyframe = null;
+    keyframes.forEach(kf => {
+        const /** @type {?} */ offset = /** @type {?} */ (kf['offset']);
+        const /** @type {?} */ isSameOffset = offset == previousOffset;
+        const /** @type {?} */ normalizedKeyframe = (isSameOffset && previousKeyframe) || {};
+        Object.keys(kf).forEach(prop => {
+            let /** @type {?} */ normalizedProp = prop;
+            let /** @type {?} */ normalizedValue = kf[prop];
+            if (prop !== 'offset') {
+                normalizedProp = normalizer.normalizePropertyName(normalizedProp, errors);
+                switch (normalizedValue) {
+                    case ɵPRE_STYLE:
+                        normalizedValue = preStyles[prop];
+                        break;
+                    case AUTO_STYLE:
+                        normalizedValue = postStyles[prop];
+                        break;
+                    default:
+                        normalizedValue =
+                            normalizer.normalizeStyleValue(prop, normalizedProp, normalizedValue, errors);
+                        break;
+                }
+            }
+            normalizedKeyframe[normalizedProp] = normalizedValue;
+        });
+        if (!isSameOffset) {
+            normalizedKeyframes.push(normalizedKeyframe);
+        }
+        previousKeyframe = normalizedKeyframe;
+        previousOffset = offset;
+    });
+    if (errors.length) {
+        const /** @type {?} */ LINE_START = '\n - ';
+        throw new Error(`Unable to animate due to the following errors:${LINE_START}${errors.join(LINE_START)}`);
+    }
+    return normalizedKeyframes;
+}
+/**
+ * @param {?} player
+ * @param {?} eventName
+ * @param {?} event
+ * @param {?} callback
+ * @return {?}
+ */
+function listenOnPlayer(player, eventName, event, callback) {
+    switch (eventName) {
+        case 'start':
+            player.onStart(() => callback(event && copyAnimationEvent(event, 'start', player.totalTime)));
+            break;
+        case 'done':
+            player.onDone(() => callback(event && copyAnimationEvent(event, 'done', player.totalTime)));
+            break;
+        case 'destroy':
+            player.onDestroy(() => callback(event && copyAnimationEvent(event, 'destroy', player.totalTime)));
+            break;
+    }
+}
+/**
+ * @param {?} e
+ * @param {?=} phaseName
+ * @param {?=} totalTime
+ * @return {?}
+ */
+function copyAnimationEvent(e, phaseName, totalTime) {
+    const /** @type {?} */ event = makeAnimationEvent(e.element, e.triggerName, e.fromState, e.toState, phaseName || e.phaseName, totalTime == undefined ? e.totalTime : totalTime);
+    const /** @type {?} */ data = (/** @type {?} */ (e))['_data'];
+    if (data != null) {
+        (/** @type {?} */ (event))['_data'] = data;
+    }
+    return event;
+}
+/**
+ * @param {?} element
+ * @param {?} triggerName
+ * @param {?} fromState
+ * @param {?} toState
+ * @param {?=} phaseName
+ * @param {?=} totalTime
+ * @return {?}
+ */
+function makeAnimationEvent(element, triggerName, fromState, toState, phaseName = '', totalTime = 0) {
+    return { element, triggerName, fromState, toState, phaseName, totalTime };
+}
+/**
+ * @param {?} map
+ * @param {?} key
+ * @param {?} defaultValue
+ * @return {?}
+ */
+function getOrSetAsInMap(map, key, defaultValue) {
+    let /** @type {?} */ value;
+    if (map instanceof Map) {
+        value = map.get(key);
+        if (!value) {
+            map.set(key, value = defaultValue);
+        }
+    }
+    else {
+        value = map[key];
+        if (!value) {
+            value = map[key] = defaultValue;
+        }
+    }
+    return value;
+}
+/**
+ * @param {?} command
+ * @return {?}
+ */
+function parseTimelineCommand(command) {
+    const /** @type {?} */ separatorPos = command.indexOf(':');
+    const /** @type {?} */ id = command.substring(1, separatorPos);
+    const /** @type {?} */ action = command.substr(separatorPos + 1);
+    return [id, action];
+}
+let _contains = (elm1, elm2) => false;
+let _matches = (element, selector) => false;
+let _query = (element, selector, multi) => {
+    return [];
+};
+if (typeof Element != 'undefined') {
+    // this is well supported in all browsers
+    _contains = (elm1, elm2) => { return /** @type {?} */ (elm1.contains(elm2)); };
+    if (Element.prototype.matches) {
+        _matches = (element, selector) => element.matches(selector);
+    }
+    else {
+        const /** @type {?} */ proto = /** @type {?} */ (Element.prototype);
+        const /** @type {?} */ fn = proto.matchesSelector || proto.mozMatchesSelector || proto.msMatchesSelector ||
+            proto.oMatchesSelector || proto.webkitMatchesSelector;
+        if (fn) {
+            _matches = (element, selector) => fn.apply(element, [selector]);
+        }
+    }
+    _query = (element, selector, multi) => {
+        let /** @type {?} */ results = [];
+        if (multi) {
+            results.push(...element.querySelectorAll(selector));
+        }
+        else {
+            const /** @type {?} */ elm = element.querySelector(selector);
+            if (elm) {
+                results.push(elm);
+            }
+        }
+        return results;
+    };
+}
+/**
+ * @param {?} prop
+ * @return {?}
+ */
+function containsVendorPrefix(prop) {
+    // Webkit is the only real popular vendor prefix nowadays
+    // cc: http://shouldiprefix.com/
+    return prop.substring(1, 6) == 'ebkit'; // webkit or Webkit
+}
+let _CACHED_BODY = null;
+let _IS_WEBKIT = false;
+/**
+ * @param {?} prop
+ * @return {?}
+ */
+function validateStyleProperty(prop) {
+    if (!_CACHED_BODY) {
+        _CACHED_BODY = getBodyNode() || {};
+        _IS_WEBKIT = /** @type {?} */ ((_CACHED_BODY)).style ? ('WebkitAppearance' in /** @type {?} */ ((_CACHED_BODY)).style) : false;
+    }
+    let /** @type {?} */ result = true;
+    if (/** @type {?} */ ((_CACHED_BODY)).style && !containsVendorPrefix(prop)) {
+        result = prop in /** @type {?} */ ((_CACHED_BODY)).style;
+        if (!result && _IS_WEBKIT) {
+            const /** @type {?} */ camelProp = 'Webkit' + prop.charAt(0).toUpperCase() + prop.substr(1);
+            result = camelProp in /** @type {?} */ ((_CACHED_BODY)).style;
+        }
+    }
+    return result;
+}
+/**
+ * @return {?}
+ */
+function getBodyNode() {
+    if (typeof document != 'undefined') {
+        return document.body;
+    }
+    return null;
+}
+const matchesElement = _matches;
+const containsElement = _contains;
+const invokeQuery = _query;
+
+/**
+ * @fileoverview added by tsickle
+ * @suppress {checkTypes} checked by tsc
+ */
+/**
+ * \@experimental
+ */
+class NoopAnimationDriver {
+    /**
+     * @param {?} prop
+     * @return {?}
+     */
+    validateStyleProperty(prop) { return validateStyleProperty(prop); }
+    /**
+     * @param {?} element
+     * @param {?} selector
+     * @return {?}
+     */
+    matchesElement(element, selector) {
+        return matchesElement(element, selector);
+    }
+    /**
+     * @param {?} elm1
+     * @param {?} elm2
+     * @return {?}
+     */
+    containsElement(elm1, elm2) { return containsElement(elm1, elm2); }
+    /**
+     * @param {?} element
+     * @param {?} selector
+     * @param {?} multi
+     * @return {?}
+     */
+    query(element, selector, multi) {
+        return invokeQuery(element, selector, multi);
+    }
+    /**
+     * @param {?} element
+     * @param {?} prop
+     * @param {?=} defaultValue
+     * @return {?}
+     */
+    computeStyle(element, prop, defaultValue) {
+        return defaultValue || '';
+    }
+    /**
+     * @param {?} element
+     * @param {?} keyframes
+     * @param {?} duration
+     * @param {?} delay
+     * @param {?} easing
+     * @param {?=} previousPlayers
+     * @return {?}
+     */
+    animate(element, keyframes, duration, delay, easing, previousPlayers = []) {
+        return new NoopAnimationPlayer();
+    }
+}
+/**
+ * \@experimental
+ * @abstract
+ */
+class AnimationDriver {
+}
+AnimationDriver.NOOP = new NoopAnimationDriver();
+
+/**
+ * @fileoverview added by tsickle
+ * @suppress {checkTypes} checked by tsc
+ */
+const ONE_SECOND = 1000;
+const SUBSTITUTION_EXPR_START = '{{';
+const SUBSTITUTION_EXPR_END = '}}';
+const ENTER_CLASSNAME = 'ng-enter';
+const LEAVE_CLASSNAME = 'ng-leave';
+
+
+const NG_TRIGGER_CLASSNAME = 'ng-trigger';
+const NG_TRIGGER_SELECTOR = '.ng-trigger';
+const NG_ANIMATING_CLASSNAME = 'ng-animating';
+const NG_ANIMATING_SELECTOR = '.ng-animating';
+/**
+ * @param {?} value
+ * @return {?}
+ */
+function resolveTimingValue(value) {
+    if (typeof value == 'number')
+        return value;
+    const /** @type {?} */ matches = (/** @type {?} */ (value)).match(/^(-?[\.\d]+)(m?s)/);
+    if (!matches || matches.length < 2)
+        return 0;
+    return _convertTimeValueToMS(parseFloat(matches[1]), matches[2]);
+}
+/**
+ * @param {?} value
+ * @param {?} unit
+ * @return {?}
+ */
+function _convertTimeValueToMS(value, unit) {
+    switch (unit) {
+        case 's':
+            return value * ONE_SECOND;
+        default:
+            // ms or something else
+            return value;
+    }
+}
+/**
+ * @param {?} timings
+ * @param {?} errors
+ * @param {?=} allowNegativeValues
+ * @return {?}
+ */
+function resolveTiming(timings, errors, allowNegativeValues) {
+    return timings.hasOwnProperty('duration') ? /** @type {?} */ (timings) :
+        parseTimeExpression(/** @type {?} */ (timings), errors, allowNegativeValues);
+}
+/**
+ * @param {?} exp
+ * @param {?} errors
+ * @param {?=} allowNegativeValues
+ * @return {?}
+ */
+function parseTimeExpression(exp, errors, allowNegativeValues) {
+    const /** @type {?} */ regex = /^(-?[\.\d]+)(m?s)(?:\s+(-?[\.\d]+)(m?s))?(?:\s+([-a-z]+(?:\(.+?\))?))?$/i;
+    let /** @type {?} */ duration;
+    let /** @type {?} */ delay = 0;
+    let /** @type {?} */ easing = '';
+    if (typeof exp === 'string') {
+        const /** @type {?} */ matches = exp.match(regex);
+        if (matches === null) {
+            errors.push(`The provided timing value "${exp}" is invalid.`);
+            return { duration: 0, delay: 0, easing: '' };
+        }
+        duration = _convertTimeValueToMS(parseFloat(matches[1]), matches[2]);
+        const /** @type {?} */ delayMatch = matches[3];
+        if (delayMatch != null) {
+            delay = _convertTimeValueToMS(Math.floor(parseFloat(delayMatch)), matches[4]);
+        }
+        const /** @type {?} */ easingVal = matches[5];
+        if (easingVal) {
+            easing = easingVal;
+        }
+    }
+    else {
+        duration = /** @type {?} */ (exp);
+    }
+    if (!allowNegativeValues) {
+        let /** @type {?} */ containsErrors = false;
+        let /** @type {?} */ startIndex = errors.length;
+        if (duration < 0) {
+            errors.push(`Duration values below 0 are not allowed for this animation step.`);
+            containsErrors = true;
+        }
+        if (delay < 0) {
+            errors.push(`Delay values below 0 are not allowed for this animation step.`);
+            containsErrors = true;
+        }
+        if (containsErrors) {
+            errors.splice(startIndex, 0, `The provided timing value "${exp}" is invalid.`);
+        }
+    }
+    return { duration, delay, easing };
+}
+/**
+ * @param {?} obj
+ * @param {?=} destination
+ * @return {?}
+ */
+function copyObj(obj, destination = {}) {
+    Object.keys(obj).forEach(prop => { destination[prop] = obj[prop]; });
+    return destination;
+}
+/**
+ * @param {?} styles
+ * @return {?}
+ */
+function normalizeStyles(styles) {
+    const /** @type {?} */ normalizedStyles = {};
+    if (Array.isArray(styles)) {
+        styles.forEach(data => copyStyles(data, false, normalizedStyles));
+    }
+    else {
+        copyStyles(styles, false, normalizedStyles);
+    }
+    return normalizedStyles;
+}
+/**
+ * @param {?} styles
+ * @param {?} readPrototype
+ * @param {?=} destination
+ * @return {?}
+ */
+function copyStyles(styles, readPrototype, destination = {}) {
+    if (readPrototype) {
+        // we make use of a for-in loop so that the
+        // prototypically inherited properties are
+        // revealed from the backFill map
+        for (let /** @type {?} */ prop in styles) {
+            destination[prop] = styles[prop];
+        }
+    }
+    else {
+        copyObj(styles, destination);
+    }
+    return destination;
+}
+/**
+ * @param {?} element
+ * @param {?} styles
+ * @return {?}
+ */
+function setStyles(element, styles) {
+    if (element['style']) {
+        Object.keys(styles).forEach(prop => {
+            const /** @type {?} */ camelProp = dashCaseToCamelCase(prop);
+            element.style[camelProp] = styles[prop];
+        });
+    }
+}
+/**
+ * @param {?} element
+ * @param {?} styles
+ * @return {?}
+ */
+function eraseStyles(element, styles) {
+    if (element['style']) {
+        Object.keys(styles).forEach(prop => {
+            const /** @type {?} */ camelProp = dashCaseToCamelCase(prop);
+            element.style[camelProp] = '';
+        });
+    }
+}
+/**
+ * @param {?} steps
+ * @return {?}
+ */
+function normalizeAnimationEntry(steps) {
+    if (Array.isArray(steps)) {
+        if (steps.length == 1)
+            return steps[0];
+        return sequence(steps);
+    }
+    return /** @type {?} */ (steps);
+}
+/**
+ * @param {?} value
+ * @param {?} options
+ * @param {?} errors
+ * @return {?}
+ */
+function validateStyleParams(value, options, errors) {
+    const /** @type {?} */ params = options.params || {};
+    const /** @type {?} */ matches = extractStyleParams(value);
+    if (matches.length) {
+        matches.forEach(varName => {
+            if (!params.hasOwnProperty(varName)) {
+                errors.push(`Unable to resolve the local animation param ${varName} in the given list of values`);
+            }
+        });
+    }
+}
+const PARAM_REGEX = new RegExp(`${SUBSTITUTION_EXPR_START}\\s*(.+?)\\s*${SUBSTITUTION_EXPR_END}`, 'g');
+/**
+ * @param {?} value
+ * @return {?}
+ */
+function extractStyleParams(value) {
+    let /** @type {?} */ params = [];
+    if (typeof value === 'string') {
+        const /** @type {?} */ val = value.toString();
+        let /** @type {?} */ match;
+        while (match = PARAM_REGEX.exec(val)) {
+            params.push(/** @type {?} */ (match[1]));
+        }
+        PARAM_REGEX.lastIndex = 0;
+    }
+    return params;
+}
+/**
+ * @param {?} value
+ * @param {?} params
+ * @param {?} errors
+ * @return {?}
+ */
+function interpolateParams(value, params, errors) {
+    const /** @type {?} */ original = value.toString();
+    const /** @type {?} */ str = original.replace(PARAM_REGEX, (_, varName) => {
+        let /** @type {?} */ localVal = params[varName];
+        // this means that the value was never overidden by the data passed in by the user
+        if (!params.hasOwnProperty(varName)) {
+            errors.push(`Please provide a value for the animation param ${varName}`);
+            localVal = '';
+        }
+        return localVal.toString();
+    });
+    // we do this to assert that numeric values stay as they are
+    return str == original ? value : str;
+}
+/**
+ * @param {?} iterator
+ * @return {?}
+ */
+function iteratorToArray(iterator) {
+    const /** @type {?} */ arr = [];
+    let /** @type {?} */ item = iterator.next();
+    while (!item.done) {
+        arr.push(item.value);
+        item = iterator.next();
+    }
+    return arr;
+}
+/**
+ * @param {?} source
+ * @param {?} destination
+ * @return {?}
+ */
+
+const DASH_CASE_REGEXP = /-+([a-z0-9])/g;
+/**
+ * @param {?} input
+ * @return {?}
+ */
+function dashCaseToCamelCase(input) {
+    return input.replace(DASH_CASE_REGEXP, (...m) => m[1].toUpperCase());
+}
+/**
+ * @param {?} duration
+ * @param {?} delay
+ * @return {?}
+ */
+function allowPreviousPlayerStylesMerge(duration, delay) {
+    return duration === 0 || delay === 0;
+}
+/**
+ * @param {?} visitor
+ * @param {?} node
+ * @param {?} context
+ * @return {?}
+ */
+function visitDslNode(visitor, node, context) {
+    switch (node.type) {
+        case 7 /* Trigger */:
+            return visitor.visitTrigger(node, context);
+        case 0 /* State */:
+            return visitor.visitState(node, context);
+        case 1 /* Transition */:
+            return visitor.visitTransition(node, context);
+        case 2 /* Sequence */:
+            return visitor.visitSequence(node, context);
+        case 3 /* Group */:
+            return visitor.visitGroup(node, context);
+        case 4 /* Animate */:
+            return visitor.visitAnimate(node, context);
+        case 5 /* Keyframes */:
+            return visitor.visitKeyframes(node, context);
+        case 6 /* Style */:
+            return visitor.visitStyle(node, context);
+        case 8 /* Reference */:
+            return visitor.visitReference(node, context);
+        case 9 /* AnimateChild */:
+            return visitor.visitAnimateChild(node, context);
+        case 10 /* AnimateRef */:
+            return visitor.visitAnimateRef(node, context);
+        case 11 /* Query */:
+            return visitor.visitQuery(node, context);
+        case 12 /* Stagger */:
+            return visitor.visitStagger(node, context);
+        default:
+            throw new Error(`Unable to resolve animation metadata node #${node.type}`);
+    }
+}
+
+/**
+ * @fileoverview added by tsickle
+ * @suppress {checkTypes} checked by tsc
+ */
+/**
+ * @license
+ * Copyright Google Inc. All Rights Reserved.
+ *
+ * Use of this source code is governed by an MIT-style license that can be
+ * found in the LICENSE file at https://angular.io/license
+ */
+const ANY_STATE = '*';
+/**
+ * @param {?} transitionValue
+ * @param {?} errors
+ * @return {?}
+ */
+function parseTransitionExpr(transitionValue, errors) {
+    const /** @type {?} */ expressions = [];
+    if (typeof transitionValue == 'string') {
+        (/** @type {?} */ (transitionValue))
+            .split(/\s*,\s*/)
+            .forEach(str => parseInnerTransitionStr(str, expressions, errors));
+    }
+    else {
+        expressions.push(/** @type {?} */ (transitionValue));
+    }
+    return expressions;
+}
+/**
+ * @param {?} eventStr
+ * @param {?} expressions
+ * @param {?} errors
+ * @return {?}
+ */
+function parseInnerTransitionStr(eventStr, expressions, errors) {
+    if (eventStr[0] == ':') {
+        const /** @type {?} */ result = parseAnimationAlias(eventStr, errors);
+        if (typeof result == 'function') {
+            expressions.push(result);
+            return;
+        }
+        eventStr = /** @type {?} */ (result);
+    }
+    const /** @type {?} */ match = eventStr.match(/^(\*|[-\w]+)\s*(<?[=-]>)\s*(\*|[-\w]+)$/);
+    if (match == null || match.length < 4) {
+        errors.push(`The provided transition expression "${eventStr}" is not supported`);
+        return expressions;
+    }
+    const /** @type {?} */ fromState = match[1];
+    const /** @type {?} */ separator = match[2];
+    const /** @type {?} */ toState = match[3];
+    expressions.push(makeLambdaFromStates(fromState, toState));
+    const /** @type {?} */ isFullAnyStateExpr = fromState == ANY_STATE && toState == ANY_STATE;
+    if (separator[0] == '<' && !isFullAnyStateExpr) {
+        expressions.push(makeLambdaFromStates(toState, fromState));
+    }
+}
+/**
+ * @param {?} alias
+ * @param {?} errors
+ * @return {?}
+ */
+function parseAnimationAlias(alias, errors) {
+    switch (alias) {
+        case ':enter':
+            return 'void => *';
+        case ':leave':
+            return '* => void';
+        case ':increment':
+            return (fromState, toState) => parseFloat(toState) > parseFloat(fromState);
+        case ':decrement':
+            return (fromState, toState) => parseFloat(toState) < parseFloat(fromState);
+        default:
+            errors.push(`The transition alias value "${alias}" is not supported`);
+            return '* => *';
+    }
+}
+// DO NOT REFACTOR ... keep the follow set instantiations
+// with the values intact (closure compiler for some reason
+// removes follow-up lines that add the values outside of
+// the constructor...
+const TRUE_BOOLEAN_VALUES = new Set(['true', '1']);
+const FALSE_BOOLEAN_VALUES = new Set(['false', '0']);
+/**
+ * @param {?} lhs
+ * @param {?} rhs
+ * @return {?}
+ */
+function makeLambdaFromStates(lhs, rhs) {
+    const /** @type {?} */ LHS_MATCH_BOOLEAN = TRUE_BOOLEAN_VALUES.has(lhs) || FALSE_BOOLEAN_VALUES.has(lhs);
+    const /** @type {?} */ RHS_MATCH_BOOLEAN = TRUE_BOOLEAN_VALUES.has(rhs) || FALSE_BOOLEAN_VALUES.has(rhs);
+    return (fromState, toState) => {
+        let /** @type {?} */ lhsMatch = lhs == ANY_STATE || lhs == fromState;
+        let /** @type {?} */ rhsMatch = rhs == ANY_STATE || rhs == toState;
+        if (!lhsMatch && LHS_MATCH_BOOLEAN && typeof fromState === 'boolean') {
+            lhsMatch = fromState ? TRUE_BOOLEAN_VALUES.has(lhs) : FALSE_BOOLEAN_VALUES.has(lhs);
+        }
+        if (!rhsMatch && RHS_MATCH_BOOLEAN && typeof toState === 'boolean') {
+            rhsMatch = toState ? TRUE_BOOLEAN_VALUES.has(rhs) : FALSE_BOOLEAN_VALUES.has(rhs);
+        }
+        return lhsMatch && rhsMatch;
+    };
+}
+
+/**
+ * @fileoverview added by tsickle
+ * @suppress {checkTypes} checked by tsc
+ */
+const SELF_TOKEN = ':self';
+const SELF_TOKEN_REGEX = new RegExp(`\s*${SELF_TOKEN}\s*,?`, 'g');
+/**
+ * @param {?} driver
+ * @param {?} metadata
+ * @param {?} errors
+ * @return {?}
+ */
+function buildAnimationAst(driver, metadata, errors) {
+    return new AnimationAstBuilderVisitor(driver).build(metadata, errors);
+}
+const ROOT_SELECTOR = '';
+class AnimationAstBuilderVisitor {
+    /**
+     * @param {?} _driver
+     */
+    constructor(_driver) {
+        this._driver = _driver;
+    }
+    /**
+     * @param {?} metadata
+     * @param {?} errors
+     * @return {?}
+     */
+    build(metadata, errors) {
+        const /** @type {?} */ context = new AnimationAstBuilderContext(errors);
+        this._resetContextStyleTimingState(context);
+        return /** @type {?} */ (visitDslNode(this, normalizeAnimationEntry(metadata), context));
+    }
+    /**
+     * @param {?} context
+     * @return {?}
+     */
+    _resetContextStyleTimingState(context) {
+        context.currentQuerySelector = ROOT_SELECTOR;
+        context.collectedStyles = {};
+        context.collectedStyles[ROOT_SELECTOR] = {};
+        context.currentTime = 0;
+    }
+    /**
+     * @param {?} metadata
+     * @param {?} context
+     * @return {?}
+     */
+    visitTrigger(metadata, context) {
+        let /** @type {?} */ queryCount = context.queryCount = 0;
+        let /** @type {?} */ depCount = context.depCount = 0;
+        const /** @type {?} */ states = [];
+        const /** @type {?} */ transitions = [];
+        if (metadata.name.charAt(0) == '@') {
+            context.errors.push('animation triggers cannot be prefixed with an `@` sign (e.g. trigger(\'@foo\', [...]))');
+        }
+        metadata.definitions.forEach(def => {
+            this._resetContextStyleTimingState(context);
+            if (def.type == 0 /* State */) {
+                const /** @type {?} */ stateDef = /** @type {?} */ (def);
+                const /** @type {?} */ name = stateDef.name;
+                name.split(/\s*,\s*/).forEach(n => {
+                    stateDef.name = n;
+                    states.push(this.visitState(stateDef, context));
+                });
+                stateDef.name = name;
+            }
+            else if (def.type == 1 /* Transition */) {
+                const /** @type {?} */ transition = this.visitTransition(/** @type {?} */ (def), context);
+                queryCount += transition.queryCount;
+                depCount += transition.depCount;
+                transitions.push(transition);
+            }
+            else {
+                context.errors.push('only state() and transition() definitions can sit inside of a trigger()');
+            }
+        });
+        return {
+            type: 7 /* Trigger */,
+            name: metadata.name, states, transitions, queryCount, depCount,
+            options: null
+        };
+    }
+    /**
+     * @param {?} metadata
+     * @param {?} context
+     * @return {?}
+     */
+    visitState(metadata, context) {
+        const /** @type {?} */ styleAst = this.visitStyle(metadata.styles, context);
+        const /** @type {?} */ astParams = (metadata.options && metadata.options.params) || null;
+        if (styleAst.containsDynamicStyles) {
+            const /** @type {?} */ missingSubs = new Set();
+            const /** @type {?} */ params = astParams || {};
+            styleAst.styles.forEach(value => {
+                if (isObject(value)) {
+                    const /** @type {?} */ stylesObj = /** @type {?} */ (value);
+                    Object.keys(stylesObj).forEach(prop => {
+                        extractStyleParams(stylesObj[prop]).forEach(sub => {
+                            if (!params.hasOwnProperty(sub)) {
+                                missingSubs.add(sub);
+                            }
+                        });
+                    });
+                }
+            });
+            if (missingSubs.size) {
+                const /** @type {?} */ missingSubsArr = iteratorToArray(missingSubs.values());
+                context.errors.push(`state("${metadata.name}", ...) must define default values for all the following style substitutions: ${missingSubsArr.join(', ')}`);
+            }
+        }
+        return {
+            type: 0 /* State */,
+            name: metadata.name,
+            style: styleAst,
+            options: astParams ? { params: astParams } : null
+        };
+    }
+    /**
+     * @param {?} metadata
+     * @param {?} context
+     * @return {?}
+     */
+    visitTransition(metadata, context) {
+        context.queryCount = 0;
+        context.depCount = 0;
+        const /** @type {?} */ animation = visitDslNode(this, normalizeAnimationEntry(metadata.animation), context);
+        const /** @type {?} */ matchers = parseTransitionExpr(metadata.expr, context.errors);
+        return {
+            type: 1 /* Transition */,
+            matchers,
+            animation,
+            queryCount: context.queryCount,
+            depCount: context.depCount,
+            options: normalizeAnimationOptions(metadata.options)
+        };
+    }
+    /**
+     * @param {?} metadata
+     * @param {?} context
+     * @return {?}
+     */
+    visitSequence(metadata, context) {
+        return {
+            type: 2 /* Sequence */,
+            steps: metadata.steps.map(s => visitDslNode(this, s, context)),
+            options: normalizeAnimationOptions(metadata.options)
+        };
+    }
+    /**
+     * @param {?} metadata
+     * @param {?} context
+     * @return {?}
+     */
+    visitGroup(metadata, context) {
+        const /** @type {?} */ currentTime = context.currentTime;
+        let /** @type {?} */ furthestTime = 0;
+        const /** @type {?} */ steps = metadata.steps.map(step => {
+            context.currentTime = currentTime;
+            const /** @type {?} */ innerAst = visitDslNode(this, step, context);
+            furthestTime = Math.max(furthestTime, context.currentTime);
+            return innerAst;
+        });
+        context.currentTime = furthestTime;
+        return {
+            type: 3 /* Group */,
+            steps,
+            options: normalizeAnimationOptions(metadata.options)
+        };
+    }
+    /**
+     * @param {?} metadata
+     * @param {?} context
+     * @return {?}
+     */
+    visitAnimate(metadata, context) {
+        const /** @type {?} */ timingAst = constructTimingAst(metadata.timings, context.errors);
+        context.currentAnimateTimings = timingAst;
+        let /** @type {?} */ styleAst;
+        let /** @type {?} */ styleMetadata = metadata.styles ? metadata.styles : style({});
+        if (styleMetadata.type == 5 /* Keyframes */) {
+            styleAst = this.visitKeyframes(/** @type {?} */ (styleMetadata), context);
+        }
+        else {
+            let /** @type {?} */ styleMetadata = /** @type {?} */ (metadata.styles);
+            let /** @type {?} */ isEmpty = false;
+            if (!styleMetadata) {
+                isEmpty = true;
+                const /** @type {?} */ newStyleData = {};
+                if (timingAst.easing) {
+                    newStyleData['easing'] = timingAst.easing;
+                }
+                styleMetadata = style(newStyleData);
+            }
+            context.currentTime += timingAst.duration + timingAst.delay;
+            const /** @type {?} */ _styleAst = this.visitStyle(styleMetadata, context);
+            _styleAst.isEmptyStep = isEmpty;
+            styleAst = _styleAst;
+        }
+        context.currentAnimateTimings = null;
+        return {
+            type: 4 /* Animate */,
+            timings: timingAst,
+            style: styleAst,
+            options: null
+        };
+    }
+    /**
+     * @param {?} metadata
+     * @param {?} context
+     * @return {?}
+     */
+    visitStyle(metadata, context) {
+        const /** @type {?} */ ast = this._makeStyleAst(metadata, context);
+        this._validateStyleAst(ast, context);
+        return ast;
+    }
+    /**
+     * @param {?} metadata
+     * @param {?} context
+     * @return {?}
+     */
+    _makeStyleAst(metadata, context) {
+        const /** @type {?} */ styles = [];
+        if (Array.isArray(metadata.styles)) {
+            (/** @type {?} */ (metadata.styles)).forEach(styleTuple => {
+                if (typeof styleTuple == 'string') {
+                    if (styleTuple == AUTO_STYLE) {
+                        styles.push(/** @type {?} */ (styleTuple));
+                    }
+                    else {
+                        context.errors.push(`The provided style string value ${styleTuple} is not allowed.`);
+                    }
+                }
+                else {
+                    styles.push(/** @type {?} */ (styleTuple));
+                }
+            });
+        }
+        else {
+            styles.push(metadata.styles);
+        }
+        let /** @type {?} */ containsDynamicStyles = false;
+        let /** @type {?} */ collectedEasing = null;
+        styles.forEach(styleData => {
+            if (isObject(styleData)) {
+                const /** @type {?} */ styleMap = /** @type {?} */ (styleData);
+                const /** @type {?} */ easing = styleMap['easing'];
+                if (easing) {
+                    collectedEasing = /** @type {?} */ (easing);
+                    delete styleMap['easing'];
+                }
+                if (!containsDynamicStyles) {
+                    for (let /** @type {?} */ prop in styleMap) {
+                        const /** @type {?} */ value = styleMap[prop];
+                        if (value.toString().indexOf(SUBSTITUTION_EXPR_START) >= 0) {
+                            containsDynamicStyles = true;
+                            break;
+                        }
+                    }
+                }
+            }
+        });
+        return {
+            type: 6 /* Style */,
+            styles,
+            easing: collectedEasing,
+            offset: metadata.offset, containsDynamicStyles,
+            options: null
+        };
+    }
+    /**
+     * @param {?} ast
+     * @param {?} context
+     * @return {?}
+     */
+    _validateStyleAst(ast, context) {
+        const /** @type {?} */ timings = context.currentAnimateTimings;
+        let /** @type {?} */ endTime = context.currentTime;
+        let /** @type {?} */ startTime = context.currentTime;
+        if (timings && startTime > 0) {
+            startTime -= timings.duration + timings.delay;
+        }
+        ast.styles.forEach(tuple => {
+            if (typeof tuple == 'string')
+                return;
+            Object.keys(tuple).forEach(prop => {
+                if (!this._driver.validateStyleProperty(prop)) {
+                    context.errors.push(`The provided animation property "${prop}" is not a supported CSS property for animations`);
+                    return;
+                }
+                const /** @type {?} */ collectedStyles = context.collectedStyles[/** @type {?} */ ((context.currentQuerySelector))];
+                const /** @type {?} */ collectedEntry = collectedStyles[prop];
+                let /** @type {?} */ updateCollectedStyle = true;
+                if (collectedEntry) {
+                    if (startTime != endTime && startTime >= collectedEntry.startTime &&
+                        endTime <= collectedEntry.endTime) {
+                        context.errors.push(`The CSS property "${prop}" that exists between the times of "${collectedEntry.startTime}ms" and "${collectedEntry.endTime}ms" is also being animated in a parallel animation between the times of "${startTime}ms" and "${endTime}ms"`);
+                        updateCollectedStyle = false;
+                    }
+                    // we always choose the smaller start time value since we
+                    // want to have a record of the entire animation window where
+                    // the style property is being animated in between
+                    startTime = collectedEntry.startTime;
+                }
+                if (updateCollectedStyle) {
+                    collectedStyles[prop] = { startTime, endTime };
+                }
+                if (context.options) {
+                    validateStyleParams(tuple[prop], context.options, context.errors);
+                }
+            });
+        });
+    }
+    /**
+     * @param {?} metadata
+     * @param {?} context
+     * @return {?}
+     */
+    visitKeyframes(metadata, context) {
+        const /** @type {?} */ ast = { type: 5 /* Keyframes */, styles: [], options: null };
+        if (!context.currentAnimateTimings) {
+            context.errors.push(`keyframes() must be placed inside of a call to animate()`);
+            return ast;
+        }
+        const /** @type {?} */ MAX_KEYFRAME_OFFSET = 1;
+        let /** @type {?} */ totalKeyframesWithOffsets = 0;
+        const /** @type {?} */ offsets = [];
+        let /** @type {?} */ offsetsOutOfOrder = false;
+        let /** @type {?} */ keyframesOutOfRange = false;
+        let /** @type {?} */ previousOffset = 0;
+        const /** @type {?} */ keyframes = metadata.steps.map(styles => {
+            const /** @type {?} */ style$$1 = this._makeStyleAst(styles, context);
+            let /** @type {?} */ offsetVal = style$$1.offset != null ? style$$1.offset : consumeOffset(style$$1.styles);
+            let /** @type {?} */ offset = 0;
+            if (offsetVal != null) {
+                totalKeyframesWithOffsets++;
+                offset = style$$1.offset = offsetVal;
+            }
+            keyframesOutOfRange = keyframesOutOfRange || offset < 0 || offset > 1;
+            offsetsOutOfOrder = offsetsOutOfOrder || offset < previousOffset;
+            previousOffset = offset;
+            offsets.push(offset);
+            return style$$1;
+        });
+        if (keyframesOutOfRange) {
+            context.errors.push(`Please ensure that all keyframe offsets are between 0 and 1`);
+        }
+        if (offsetsOutOfOrder) {
+            context.errors.push(`Please ensure that all keyframe offsets are in order`);
+        }
+        const /** @type {?} */ length = metadata.steps.length;
+        let /** @type {?} */ generatedOffset = 0;
+        if (totalKeyframesWithOffsets > 0 && totalKeyframesWithOffsets < length) {
+            context.errors.push(`Not all style() steps within the declared keyframes() contain offsets`);
+        }
+        else if (totalKeyframesWithOffsets == 0) {
+            generatedOffset = MAX_KEYFRAME_OFFSET / (length - 1);
+        }
+        const /** @type {?} */ limit = length - 1;
+        const /** @type {?} */ currentTime = context.currentTime;
+        const /** @type {?} */ currentAnimateTimings = /** @type {?} */ ((context.currentAnimateTimings));
+        const /** @type {?} */ animateDuration = currentAnimateTimings.duration;
+        keyframes.forEach((kf, i) => {
+            const /** @type {?} */ offset = generatedOffset > 0 ? (i == limit ? 1 : (generatedOffset * i)) : offsets[i];
+            const /** @type {?} */ durationUpToThisFrame = offset * animateDuration;
+            context.currentTime = currentTime + currentAnimateTimings.delay + durationUpToThisFrame;
+            currentAnimateTimings.duration = durationUpToThisFrame;
+            this._validateStyleAst(kf, context);
+            kf.offset = offset;
+            ast.styles.push(kf);
+        });
+        return ast;
+    }
+    /**
+     * @param {?} metadata
+     * @param {?} context
+     * @return {?}
+     */
+    visitReference(metadata, context) {
+        return {
+            type: 8 /* Reference */,
+            animation: visitDslNode(this, normalizeAnimationEntry(metadata.animation), context),
+            options: normalizeAnimationOptions(metadata.options)
+        };
+    }
+    /**
+     * @param {?} metadata
+     * @param {?} context
+     * @return {?}
+     */
+    visitAnimateChild(metadata, context) {
+        context.depCount++;
+        return {
+            type: 9 /* AnimateChild */,
+            options: normalizeAnimationOptions(metadata.options)
+        };
+    }
+    /**
+     * @param {?} metadata
+     * @param {?} context
+     * @return {?}
+     */
+    visitAnimateRef(metadata, context) {
+        return {
+            type: 10 /* AnimateRef */,
+            animation: this.visitReference(metadata.animation, context),
+            options: normalizeAnimationOptions(metadata.options)
+        };
+    }
+    /**
+     * @param {?} metadata
+     * @param {?} context
+     * @return {?}
+     */
+    visitQuery(metadata, context) {
+        const /** @type {?} */ parentSelector = /** @type {?} */ ((context.currentQuerySelector));
+        const /** @type {?} */ options = /** @type {?} */ ((metadata.options || {}));
+        context.queryCount++;
+        context.currentQuery = metadata;
+        const [selector, includeSelf] = normalizeSelector(metadata.selector);
+        context.currentQuerySelector =
+            parentSelector.length ? (parentSelector + ' ' + selector) : selector;
+        getOrSetAsInMap(context.collectedStyles, context.currentQuerySelector, {});
+        const /** @type {?} */ animation = visitDslNode(this, normalizeAnimationEntry(metadata.animation), context);
+        context.currentQuery = null;
+        context.currentQuerySelector = parentSelector;
+        return {
+            type: 11 /* Query */,
+            selector,
+            limit: options.limit || 0,
+            optional: !!options.optional, includeSelf, animation,
+            originalSelector: metadata.selector,
+            options: normalizeAnimationOptions(metadata.options)
+        };
+    }
+    /**
+     * @param {?} metadata
+     * @param {?} context
+     * @return {?}
+     */
+    visitStagger(metadata, context) {
+        if (!context.currentQuery) {
+            context.errors.push(`stagger() can only be used inside of query()`);
+        }
+        const /** @type {?} */ timings = metadata.timings === 'full' ?
+            { duration: 0, delay: 0, easing: 'full' } :
+            resolveTiming(metadata.timings, context.errors, true);
+        return {
+            type: 12 /* Stagger */,
+            animation: visitDslNode(this, normalizeAnimationEntry(metadata.animation), context), timings,
+            options: null
+        };
+    }
+}
+/**
+ * @param {?} selector
+ * @return {?}
+ */
+function normalizeSelector(selector) {
+    const /** @type {?} */ hasAmpersand = selector.split(/\s*,\s*/).find(token => token == SELF_TOKEN) ? true : false;
+    if (hasAmpersand) {
+        selector = selector.replace(SELF_TOKEN_REGEX, '');
+    }
+    // the :enter and :leave selectors are filled in at runtime during timeline building
+    selector = selector.replace(/@\*/g, NG_TRIGGER_SELECTOR)
+        .replace(/@\w+/g, match => NG_TRIGGER_SELECTOR + '-' + match.substr(1))
+        .replace(/:animating/g, NG_ANIMATING_SELECTOR);
+    return [selector, hasAmpersand];
+}
+/**
+ * @param {?} obj
+ * @return {?}
+ */
+function normalizeParams(obj) {
+    return obj ? copyObj(obj) : null;
+}
+class AnimationAstBuilderContext {
+    /**
+     * @param {?} errors
+     */
+    constructor(errors) {
+        this.errors = errors;
+        this.queryCount = 0;
+        this.depCount = 0;
+        this.currentTransition = null;
+        this.currentQuery = null;
+        this.currentQuerySelector = null;
+        this.currentAnimateTimings = null;
+        this.currentTime = 0;
+        this.collectedStyles = {};
+        this.options = null;
+    }
+}
+/**
+ * @param {?} styles
+ * @return {?}
+ */
+function consumeOffset(styles) {
+    if (typeof styles == 'string')
+        return null;
+    let /** @type {?} */ offset = null;
+    if (Array.isArray(styles)) {
+        styles.forEach(styleTuple => {
+            if (isObject(styleTuple) && styleTuple.hasOwnProperty('offset')) {
+                const /** @type {?} */ obj = /** @type {?} */ (styleTuple);
+                offset = parseFloat(/** @type {?} */ (obj['offset']));
+                delete obj['offset'];
+            }
+        });
+    }
+    else if (isObject(styles) && styles.hasOwnProperty('offset')) {
+        const /** @type {?} */ obj = /** @type {?} */ (styles);
+        offset = parseFloat(/** @type {?} */ (obj['offset']));
+        delete obj['offset'];
+    }
+    return offset;
+}
+/**
+ * @param {?} value
+ * @return {?}
+ */
+function isObject(value) {
+    return !Array.isArray(value) && typeof value == 'object';
+}
+/**
+ * @param {?} value
+ * @param {?} errors
+ * @return {?}
+ */
+function constructTimingAst(value, errors) {
+    let /** @type {?} */ timings = null;
+    if (value.hasOwnProperty('duration')) {
+        timings = /** @type {?} */ (value);
+    }
+    else if (typeof value == 'number') {
+        const /** @type {?} */ duration = resolveTiming(/** @type {?} */ (value), errors).duration;
+        return makeTimingAst(/** @type {?} */ (duration), 0, '');
+    }
+    const /** @type {?} */ strValue = /** @type {?} */ (value);
+    const /** @type {?} */ isDynamic = strValue.split(/\s+/).some(v => v.charAt(0) == '{' && v.charAt(1) == '{');
+    if (isDynamic) {
+        const /** @type {?} */ ast = /** @type {?} */ (makeTimingAst(0, 0, ''));
+        ast.dynamic = true;
+        ast.strValue = strValue;
+        return /** @type {?} */ (ast);
+    }
+    timings = timings || resolveTiming(strValue, errors);
+    return makeTimingAst(timings.duration, timings.delay, timings.easing);
+}
+/**
+ * @param {?} options
+ * @return {?}
+ */
+function normalizeAnimationOptions(options) {
+    if (options) {
+        options = copyObj(options);
+        if (options['params']) {
+            options['params'] = /** @type {?} */ ((normalizeParams(options['params'])));
+        }
+    }
+    else {
+        options = {};
+    }
+    return options;
+}
+/**
+ * @param {?} duration
+ * @param {?} delay
+ * @param {?} easing
+ * @return {?}
+ */
+function makeTimingAst(duration, delay, easing) {
+    return { duration, delay, easing };
+}
+
+/**
+ * @fileoverview added by tsickle
+ * @suppress {checkTypes} checked by tsc
+ */
+/**
+ * @record
+ */
+
+/**
+ * @param {?} element
+ * @param {?} keyframes
+ * @param {?} preStyleProps
+ * @param {?} postStyleProps
+ * @param {?} duration
+ * @param {?} delay
+ * @param {?=} easing
+ * @param {?=} subTimeline
+ * @return {?}
+ */
+function createTimelineInstruction(element, keyframes, preStyleProps, postStyleProps, duration, delay, easing = null, subTimeline = false) {
+    return {
+        type: 1 /* TimelineAnimation */,
+        element,
+        keyframes,
+        preStyleProps,
+        postStyleProps,
+        duration,
+        delay,
+        totalTime: duration + delay, easing, subTimeline
+    };
+}
+
+/**
+ * @fileoverview added by tsickle
+ * @suppress {checkTypes} checked by tsc
+ */
+class ElementInstructionMap {
+    constructor() {
+        this._map = new Map();
+    }
+    /**
+     * @param {?} element
+     * @return {?}
+     */
+    consume(element) {
+        let /** @type {?} */ instructions = this._map.get(element);
+        if (instructions) {
+            this._map.delete(element);
+        }
+        else {
+            instructions = [];
+        }
+        return instructions;
+    }
+    /**
+     * @param {?} element
+     * @param {?} instructions
+     * @return {?}
+     */
+    append(element, instructions) {
+        let /** @type {?} */ existingInstructions = this._map.get(element);
+        if (!existingInstructions) {
+            this._map.set(element, existingInstructions = []);
+        }
+        existingInstructions.push(...instructions);
+    }
+    /**
+     * @param {?} element
+     * @return {?}
+     */
+    has(element) { return this._map.has(element); }
+    /**
+     * @return {?}
+     */
+    clear() { this._map.clear(); }
+}
+
+/**
+ * @fileoverview added by tsickle
+ * @suppress {checkTypes} checked by tsc
+ */
+const ONE_FRAME_IN_MILLISECONDS = 1;
+const ENTER_TOKEN = ':enter';
+const ENTER_TOKEN_REGEX = new RegExp(ENTER_TOKEN, 'g');
+const LEAVE_TOKEN = ':leave';
+const LEAVE_TOKEN_REGEX = new RegExp(LEAVE_TOKEN, 'g');
+/**
+ * @param {?} driver
+ * @param {?} rootElement
+ * @param {?} ast
+ * @param {?} enterClassName
+ * @param {?} leaveClassName
+ * @param {?=} startingStyles
+ * @param {?=} finalStyles
+ * @param {?=} options
+ * @param {?=} subInstructions
+ * @param {?=} errors
+ * @return {?}
+ */
+function buildAnimationTimelines(driver, rootElement, ast, enterClassName, leaveClassName, startingStyles = {}, finalStyles = {}, options, subInstructions, errors = []) {
+    return new AnimationTimelineBuilderVisitor().buildKeyframes(driver, rootElement, ast, enterClassName, leaveClassName, startingStyles, finalStyles, options, subInstructions, errors);
+}
+class AnimationTimelineBuilderVisitor {
+    /**
+     * @param {?} driver
+     * @param {?} rootElement
+     * @param {?} ast
+     * @param {?} enterClassName
+     * @param {?} leaveClassName
+     * @param {?} startingStyles
+     * @param {?} finalStyles
+     * @param {?} options
+     * @param {?=} subInstructions
+     * @param {?=} errors
+     * @return {?}
+     */
+    buildKeyframes(driver, rootElement, ast, enterClassName, leaveClassName, startingStyles, finalStyles, options, subInstructions, errors = []) {
+        subInstructions = subInstructions || new ElementInstructionMap();
+        const /** @type {?} */ context = new AnimationTimelineContext(driver, rootElement, subInstructions, enterClassName, leaveClassName, errors, []);
+        context.options = options;
+        context.currentTimeline.setStyles([startingStyles], null, context.errors, options);
+        visitDslNode(this, ast, context);
+        // this checks to see if an actual animation happened
+        const /** @type {?} */ timelines = context.timelines.filter(timeline => timeline.containsAnimation());
+        if (timelines.length && Object.keys(finalStyles).length) {
+            const /** @type {?} */ tl = timelines[timelines.length - 1];
+            if (!tl.allowOnlyTimelineStyles()) {
+                tl.setStyles([finalStyles], null, context.errors, options);
+            }
+        }
+        return timelines.length ? timelines.map(timeline => timeline.buildKeyframes()) :
+            [createTimelineInstruction(rootElement, [], [], [], 0, 0, '', false)];
+    }
+    /**
+     * @param {?} ast
+     * @param {?} context
+     * @return {?}
+     */
+    visitTrigger(ast, context) {
+        // these values are not visited in this AST
+    }
+    /**
+     * @param {?} ast
+     * @param {?} context
+     * @return {?}
+     */
+    visitState(ast, context) {
+        // these values are not visited in this AST
+    }
+    /**
+     * @param {?} ast
+     * @param {?} context
+     * @return {?}
+     */
+    visitTransition(ast, context) {
+        // these values are not visited in this AST
+    }
+    /**
+     * @param {?} ast
+     * @param {?} context
+     * @return {?}
+     */
+    visitAnimateChild(ast, context) {
+        const /** @type {?} */ elementInstructions = context.subInstructions.consume(context.element);
+        if (elementInstructions) {
+            const /** @type {?} */ innerContext = context.createSubContext(ast.options);
+            const /** @type {?} */ startTime = context.currentTimeline.currentTime;
+            const /** @type {?} */ endTime = this._visitSubInstructions(elementInstructions, innerContext, /** @type {?} */ (innerContext.options));
+            if (startTime != endTime) {
+                // we do this on the upper context because we created a sub context for
+                // the sub child animations
+                context.transformIntoNewTimeline(endTime);
+            }
+        }
+        context.previousNode = ast;
+    }
+    /**
+     * @param {?} ast
+     * @param {?} context
+     * @return {?}
+     */
+    visitAnimateRef(ast, context) {
+        const /** @type {?} */ innerContext = context.createSubContext(ast.options);
+        innerContext.transformIntoNewTimeline();
+        this.visitReference(ast.animation, innerContext);
+        context.transformIntoNewTimeline(innerContext.currentTimeline.currentTime);
+        context.previousNode = ast;
+    }
+    /**
+     * @param {?} instructions
+     * @param {?} context
+     * @param {?} options
+     * @return {?}
+     */
+    _visitSubInstructions(instructions, context, options) {
+        const /** @type {?} */ startTime = context.currentTimeline.currentTime;
+        let /** @type {?} */ furthestTime = startTime;
+        // this is a special-case for when a user wants to skip a sub
+        // animation from being fired entirely.
+        const /** @type {?} */ duration = options.duration != null ? resolveTimingValue(options.duration) : null;
+        const /** @type {?} */ delay = options.delay != null ? resolveTimingValue(options.delay) : null;
+        if (duration !== 0) {
+            instructions.forEach(instruction => {
+                const /** @type {?} */ instructionTimings = context.appendInstructionToTimeline(instruction, duration, delay);
+                furthestTime =
+                    Math.max(furthestTime, instructionTimings.duration + instructionTimings.delay);
+            });
+        }
+        return furthestTime;
+    }
+    /**
+     * @param {?} ast
+     * @param {?} context
+     * @return {?}
+     */
+    visitReference(ast, context) {
+        context.updateOptions(ast.options, true);
+        visitDslNode(this, ast.animation, context);
+        context.previousNode = ast;
+    }
+    /**
+     * @param {?} ast
+     * @param {?} context
+     * @return {?}
+     */
+    visitSequence(ast, context) {
+        const /** @type {?} */ subContextCount = context.subContextCount;
+        let /** @type {?} */ ctx = context;
+        const /** @type {?} */ options = ast.options;
+        if (options && (options.params || options.delay)) {
+            ctx = context.createSubContext(options);
+            ctx.transformIntoNewTimeline();
+            if (options.delay != null) {
+                if (ctx.previousNode.type == 6 /* Style */) {
+                    ctx.currentTimeline.snapshotCurrentStyles();
+                    ctx.previousNode = DEFAULT_NOOP_PREVIOUS_NODE;
+                }
+                const /** @type {?} */ delay = resolveTimingValue(options.delay);
+                ctx.delayNextStep(delay);
+            }
+        }
+        if (ast.steps.length) {
+            ast.steps.forEach(s => visitDslNode(this, s, ctx));
+            // this is here just incase the inner steps only contain or end with a style() call
+            ctx.currentTimeline.applyStylesToKeyframe();
+            // this means that some animation function within the sequence
+            // ended up creating a sub timeline (which means the current
+            // timeline cannot overlap with the contents of the sequence)
+            if (ctx.subContextCount > subContextCount) {
+                ctx.transformIntoNewTimeline();
+            }
+        }
+        context.previousNode = ast;
+    }
+    /**
+     * @param {?} ast
+     * @param {?} context
+     * @return {?}
+     */
+    visitGroup(ast, context) {
+        const /** @type {?} */ innerTimelines = [];
+        let /** @type {?} */ furthestTime = context.currentTimeline.currentTime;
+        const /** @type {?} */ delay = ast.options && ast.options.delay ? resolveTimingValue(ast.options.delay) : 0;
+        ast.steps.forEach(s => {
+            const /** @type {?} */ innerContext = context.createSubContext(ast.options);
+            if (delay) {
+                innerContext.delayNextStep(delay);
+            }
+            visitDslNode(this, s, innerContext);
+            furthestTime = Math.max(furthestTime, innerContext.currentTimeline.currentTime);
+            innerTimelines.push(innerContext.currentTimeline);
+        });
+        // this operation is run after the AST loop because otherwise
+        // if the parent timeline's collected styles were updated then
+        // it would pass in invalid data into the new-to-be forked items
+        innerTimelines.forEach(timeline => context.currentTimeline.mergeTimelineCollectedStyles(timeline));
+        context.transformIntoNewTimeline(furthestTime);
+        context.previousNode = ast;
+    }
+    /**
+     * @param {?} ast
+     * @param {?} context
+     * @return {?}
+     */
+    _visitTiming(ast, context) {
+        if ((/** @type {?} */ (ast)).dynamic) {
+            const /** @type {?} */ strValue = (/** @type {?} */ (ast)).strValue;
+            const /** @type {?} */ timingValue = context.params ? interpolateParams(strValue, context.params, context.errors) : strValue;
+            return resolveTiming(timingValue, context.errors);
+        }
+        else {
+            return { duration: ast.duration, delay: ast.delay, easing: ast.easing };
+        }
+    }
+    /**
+     * @param {?} ast
+     * @param {?} context
+     * @return {?}
+     */
+    visitAnimate(ast, context) {
+        const /** @type {?} */ timings = context.currentAnimateTimings = this._visitTiming(ast.timings, context);
+        const /** @type {?} */ timeline = context.currentTimeline;
+        if (timings.delay) {
+            context.incrementTime(timings.delay);
+            timeline.snapshotCurrentStyles();
+        }
+        const /** @type {?} */ style$$1 = ast.style;
+        if (style$$1.type == 5 /* Keyframes */) {
+            this.visitKeyframes(style$$1, context);
+        }
+        else {
+            context.incrementTime(timings.duration);
+            this.visitStyle(/** @type {?} */ (style$$1), context);
+            timeline.applyStylesToKeyframe();
+        }
+        context.currentAnimateTimings = null;
+        context.previousNode = ast;
+    }
+    /**
+     * @param {?} ast
+     * @param {?} context
+     * @return {?}
+     */
+    visitStyle(ast, context) {
+        const /** @type {?} */ timeline = context.currentTimeline;
+        const /** @type {?} */ timings = /** @type {?} */ ((context.currentAnimateTimings));
+        // this is a special case for when a style() call
+        // directly follows  an animate() call (but not inside of an animate() call)
+        if (!timings && timeline.getCurrentStyleProperties().length) {
+            timeline.forwardFrame();
+        }
+        const /** @type {?} */ easing = (timings && timings.easing) || ast.easing;
+        if (ast.isEmptyStep) {
+            timeline.applyEmptyStep(easing);
+        }
+        else {
+            timeline.setStyles(ast.styles, easing, context.errors, context.options);
+        }
+        context.previousNode = ast;
+    }
+    /**
+     * @param {?} ast
+     * @param {?} context
+     * @return {?}
+     */
+    visitKeyframes(ast, context) {
+        const /** @type {?} */ currentAnimateTimings = /** @type {?} */ ((context.currentAnimateTimings));
+        const /** @type {?} */ startTime = (/** @type {?} */ ((context.currentTimeline))).duration;
+        const /** @type {?} */ duration = currentAnimateTimings.duration;
+        const /** @type {?} */ innerContext = context.createSubContext();
+        const /** @type {?} */ innerTimeline = innerContext.currentTimeline;
+        innerTimeline.easing = currentAnimateTimings.easing;
+        ast.styles.forEach(step => {
+            const /** @type {?} */ offset = step.offset || 0;
+            innerTimeline.forwardTime(offset * duration);
+            innerTimeline.setStyles(step.styles, step.easing, context.errors, context.options);
+            innerTimeline.applyStylesToKeyframe();
+        });
+        // this will ensure that the parent timeline gets all the styles from
+        // the child even if the new timeline below is not used
+        context.currentTimeline.mergeTimelineCollectedStyles(innerTimeline);
+        // we do this because the window between this timeline and the sub timeline
+        // should ensure that the styles within are exactly the same as they were before
+        context.transformIntoNewTimeline(startTime + duration);
+        context.previousNode = ast;
+    }
+    /**
+     * @param {?} ast
+     * @param {?} context
+     * @return {?}
+     */
+    visitQuery(ast, context) {
+        // in the event that the first step before this is a style step we need
+        // to ensure the styles are applied before the children are animated
+        const /** @type {?} */ startTime = context.currentTimeline.currentTime;
+        const /** @type {?} */ options = /** @type {?} */ ((ast.options || {}));
+        const /** @type {?} */ delay = options.delay ? resolveTimingValue(options.delay) : 0;
+        if (delay && (context.previousNode.type === 6 /* Style */ ||
+            (startTime == 0 && context.currentTimeline.getCurrentStyleProperties().length))) {
+            context.currentTimeline.snapshotCurrentStyles();
+            context.previousNode = DEFAULT_NOOP_PREVIOUS_NODE;
+        }
+        let /** @type {?} */ furthestTime = startTime;
+        const /** @type {?} */ elms = context.invokeQuery(ast.selector, ast.originalSelector, ast.limit, ast.includeSelf, options.optional ? true : false, context.errors);
+        context.currentQueryTotal = elms.length;
+        let /** @type {?} */ sameElementTimeline = null;
+        elms.forEach((element, i) => {
+            context.currentQueryIndex = i;
+            const /** @type {?} */ innerContext = context.createSubContext(ast.options, element);
+            if (delay) {
+                innerContext.delayNextStep(delay);
+            }
+            if (element === context.element) {
+                sameElementTimeline = innerContext.currentTimeline;
+            }
+            visitDslNode(this, ast.animation, innerContext);
+            // this is here just incase the inner steps only contain or end
+            // with a style() call (which is here to signal that this is a preparatory
+            // call to style an element before it is animated again)
+            innerContext.currentTimeline.applyStylesToKeyframe();
+            const /** @type {?} */ endTime = innerContext.currentTimeline.currentTime;
+            furthestTime = Math.max(furthestTime, endTime);
+        });
+        context.currentQueryIndex = 0;
+        context.currentQueryTotal = 0;
+        context.transformIntoNewTimeline(furthestTime);
+        if (sameElementTimeline) {
+            context.currentTimeline.mergeTimelineCollectedStyles(sameElementTimeline);
+            context.currentTimeline.snapshotCurrentStyles();
+        }
+        context.previousNode = ast;
+    }
+    /**
+     * @param {?} ast
+     * @param {?} context
+     * @return {?}
+     */
+    visitStagger(ast, context) {
+        const /** @type {?} */ parentContext = /** @type {?} */ ((context.parentContext));
+        const /** @type {?} */ tl = context.currentTimeline;
+        const /** @type {?} */ timings = ast.timings;
+        const /** @type {?} */ duration = Math.abs(timings.duration);
+        const /** @type {?} */ maxTime = duration * (context.currentQueryTotal - 1);
+        let /** @type {?} */ delay = duration * context.currentQueryIndex;
+        let /** @type {?} */ staggerTransformer = timings.duration < 0 ? 'reverse' : timings.easing;
+        switch (staggerTransformer) {
+            case 'reverse':
+                delay = maxTime - delay;
+                break;
+            case 'full':
+                delay = parentContext.currentStaggerTime;
+                break;
+        }
+        const /** @type {?} */ timeline = context.currentTimeline;
+        if (delay) {
+            timeline.delayNextStep(delay);
+        }
+        const /** @type {?} */ startingTime = timeline.currentTime;
+        visitDslNode(this, ast.animation, context);
+        context.previousNode = ast;
+        // time = duration + delay
+        // the reason why this computation is so complex is because
+        // the inner timeline may either have a delay value or a stretched
+        // keyframe depending on if a subtimeline is not used or is used.
+        parentContext.currentStaggerTime =
+            (tl.currentTime - startingTime) + (tl.startTime - parentContext.currentTimeline.startTime);
+    }
+}
+const DEFAULT_NOOP_PREVIOUS_NODE = /** @type {?} */ ({});
+class AnimationTimelineContext {
+    /**
+     * @param {?} _driver
+     * @param {?} element
+     * @param {?} subInstructions
+     * @param {?} _enterClassName
+     * @param {?} _leaveClassName
+     * @param {?} errors
+     * @param {?} timelines
+     * @param {?=} initialTimeline
+     */
+    constructor(_driver, element, subInstructions, _enterClassName, _leaveClassName, errors, timelines, initialTimeline) {
+        this._driver = _driver;
+        this.element = element;
+        this.subInstructions = subInstructions;
+        this._enterClassName = _enterClassName;
+        this._leaveClassName = _leaveClassName;
+        this.errors = errors;
+        this.timelines = timelines;
+        this.parentContext = null;
+        this.currentAnimateTimings = null;
+        this.previousNode = DEFAULT_NOOP_PREVIOUS_NODE;
+        this.subContextCount = 0;
+        this.options = {};
+        this.currentQueryIndex = 0;
+        this.currentQueryTotal = 0;
+        this.currentStaggerTime = 0;
+        this.currentTimeline = initialTimeline || new TimelineBuilder(this._driver, element, 0);
+        timelines.push(this.currentTimeline);
+    }
+    /**
+     * @return {?}
+     */
+    get params() { return this.options.params; }
+    /**
+     * @param {?} options
+     * @param {?=} skipIfExists
+     * @return {?}
+     */
+    updateOptions(options, skipIfExists) {
+        if (!options)
+            return;
+        const /** @type {?} */ newOptions = /** @type {?} */ (options);
+        let /** @type {?} */ optionsToUpdate = this.options;
+        // NOTE: this will get patched up when other animation methods support duration overrides
+        if (newOptions.duration != null) {
+            (/** @type {?} */ (optionsToUpdate)).duration = resolveTimingValue(newOptions.duration);
+        }
+        if (newOptions.delay != null) {
+            optionsToUpdate.delay = resolveTimingValue(newOptions.delay);
+        }
+        const /** @type {?} */ newParams = newOptions.params;
+        if (newParams) {
+            let /** @type {?} */ paramsToUpdate = /** @type {?} */ ((optionsToUpdate.params));
+            if (!paramsToUpdate) {
+                paramsToUpdate = this.options.params = {};
+            }
+            Object.keys(newParams).forEach(name => {
+                if (!skipIfExists || !paramsToUpdate.hasOwnProperty(name)) {
+                    paramsToUpdate[name] = interpolateParams(newParams[name], paramsToUpdate, this.errors);
+                }
+            });
+        }
+    }
+    /**
+     * @return {?}
+     */
+    _copyOptions() {
+        const /** @type {?} */ options = {};
+        if (this.options) {
+            const /** @type {?} */ oldParams = this.options.params;
+            if (oldParams) {
+                const /** @type {?} */ params = options['params'] = {};
+                Object.keys(oldParams).forEach(name => { params[name] = oldParams[name]; });
+            }
+        }
+        return options;
+    }
+    /**
+     * @param {?=} options
+     * @param {?=} element
+     * @param {?=} newTime
+     * @return {?}
+     */
+    createSubContext(options = null, element, newTime) {
+        const /** @type {?} */ target = element || this.element;
+        const /** @type {?} */ context = new AnimationTimelineContext(this._driver, target, this.subInstructions, this._enterClassName, this._leaveClassName, this.errors, this.timelines, this.currentTimeline.fork(target, newTime || 0));
+        context.previousNode = this.previousNode;
+        context.currentAnimateTimings = this.currentAnimateTimings;
+        context.options = this._copyOptions();
+        context.updateOptions(options);
+        context.currentQueryIndex = this.currentQueryIndex;
+        context.currentQueryTotal = this.currentQueryTotal;
+        context.parentContext = this;
+        this.subContextCount++;
+        return context;
+    }
+    /**
+     * @param {?=} newTime
+     * @return {?}
+     */
+    transformIntoNewTimeline(newTime) {
+        this.previousNode = DEFAULT_NOOP_PREVIOUS_NODE;
+        this.currentTimeline = this.currentTimeline.fork(this.element, newTime);
+        this.timelines.push(this.currentTimeline);
+        return this.currentTimeline;
+    }
+    /**
+     * @param {?} instruction
+     * @param {?} duration
+     * @param {?} delay
+     * @return {?}
+     */
+    appendInstructionToTimeline(instruction, duration, delay) {
+        const /** @type {?} */ updatedTimings = {
+            duration: duration != null ? duration : instruction.duration,
+            delay: this.currentTimeline.currentTime + (delay != null ? delay : 0) + instruction.delay,
+            easing: ''
+        };
+        const /** @type {?} */ builder = new SubTimelineBuilder(this._driver, instruction.element, instruction.keyframes, instruction.preStyleProps, instruction.postStyleProps, updatedTimings, instruction.stretchStartingKeyframe);
+        this.timelines.push(builder);
+        return updatedTimings;
+    }
+    /**
+     * @param {?} time
+     * @return {?}
+     */
+    incrementTime(time) {
+        this.currentTimeline.forwardTime(this.currentTimeline.duration + time);
+    }
+    /**
+     * @param {?} delay
+     * @return {?}
+     */
+    delayNextStep(delay) {
+        // negative delays are not yet supported
+        if (delay > 0) {
+            this.currentTimeline.delayNextStep(delay);
+        }
+    }
+    /**
+     * @param {?} selector
+     * @param {?} originalSelector
+     * @param {?} limit
+     * @param {?} includeSelf
+     * @param {?} optional
+     * @param {?} errors
+     * @return {?}
+     */
+    invokeQuery(selector, originalSelector, limit, includeSelf, optional, errors) {
+        let /** @type {?} */ results = [];
+        if (includeSelf) {
+            results.push(this.element);
+        }
+        if (selector.length > 0) {
+            // if :self is only used then the selector is empty
+            selector = selector.replace(ENTER_TOKEN_REGEX, '.' + this._enterClassName);
+            selector = selector.replace(LEAVE_TOKEN_REGEX, '.' + this._leaveClassName);
+            const /** @type {?} */ multi = limit != 1;
+            let /** @type {?} */ elements = this._driver.query(this.element, selector, multi);
+            if (limit !== 0) {
+                elements = limit < 0 ? elements.slice(elements.length + limit, elements.length) :
+                    elements.slice(0, limit);
+            }
+            results.push(...elements);
+        }
+        if (!optional && results.length == 0) {
+            errors.push(`\`query("${originalSelector}")\` returned zero elements. (Use \`query("${originalSelector}", { optional: true })\` if you wish to allow this.)`);
+        }
+        return results;
+    }
+}
+class TimelineBuilder {
+    /**
+     * @param {?} _driver
+     * @param {?} element
+     * @param {?} startTime
+     * @param {?=} _elementTimelineStylesLookup
+     */
+    constructor(_driver, element, startTime, _elementTimelineStylesLookup) {
+        this._driver = _driver;
+        this.element = element;
+        this.startTime = startTime;
+        this._elementTimelineStylesLookup = _elementTimelineStylesLookup;
+        this.duration = 0;
+        this._previousKeyframe = {};
+        this._currentKeyframe = {};
+        this._keyframes = new Map();
+        this._styleSummary = {};
+        this._pendingStyles = {};
+        this._backFill = {};
+        this._currentEmptyStepKeyframe = null;
+        if (!this._elementTimelineStylesLookup) {
+            this._elementTimelineStylesLookup = new Map();
+        }
+        this._localTimelineStyles = Object.create(this._backFill, {});
+        this._globalTimelineStyles = /** @type {?} */ ((this._elementTimelineStylesLookup.get(element)));
+        if (!this._globalTimelineStyles) {
+            this._globalTimelineStyles = this._localTimelineStyles;
+            this._elementTimelineStylesLookup.set(element, this._localTimelineStyles);
+        }
+        this._loadKeyframe();
+    }
+    /**
+     * @return {?}
+     */
+    containsAnimation() {
+        switch (this._keyframes.size) {
+            case 0:
+                return false;
+            case 1:
+                return this.getCurrentStyleProperties().length > 0;
+            default:
+                return true;
+        }
+    }
+    /**
+     * @return {?}
+     */
+    getCurrentStyleProperties() { return Object.keys(this._currentKeyframe); }
+    /**
+     * @return {?}
+     */
+    get currentTime() { return this.startTime + this.duration; }
+    /**
+     * @param {?} delay
+     * @return {?}
+     */
+    delayNextStep(delay) {
+        // in the event that a style() step is placed right before a stagger()
+        // and that style() step is the very first style() value in the animation
+        // then we need to make a copy of the keyframe [0, copy, 1] so that the delay
+        // properly applies the style() values to work with the stagger...
+        const /** @type {?} */ hasPreStyleStep = this._keyframes.size == 1 && Object.keys(this._pendingStyles).length;
+        if (this.duration || hasPreStyleStep) {
+            this.forwardTime(this.currentTime + delay);
+            if (hasPreStyleStep) {
+                this.snapshotCurrentStyles();
+            }
+        }
+        else {
+            this.startTime += delay;
+        }
+    }
+    /**
+     * @param {?} element
+     * @param {?=} currentTime
+     * @return {?}
+     */
+    fork(element, currentTime) {
+        this.applyStylesToKeyframe();
+        return new TimelineBuilder(this._driver, element, currentTime || this.currentTime, this._elementTimelineStylesLookup);
+    }
+    /**
+     * @return {?}
+     */
+    _loadKeyframe() {
+        if (this._currentKeyframe) {
+            this._previousKeyframe = this._currentKeyframe;
+        }
+        this._currentKeyframe = /** @type {?} */ ((this._keyframes.get(this.duration)));
+        if (!this._currentKeyframe) {
+            this._currentKeyframe = Object.create(this._backFill, {});
+            this._keyframes.set(this.duration, this._currentKeyframe);
+        }
+    }
+    /**
+     * @return {?}
+     */
+    forwardFrame() {
+        this.duration += ONE_FRAME_IN_MILLISECONDS;
+        this._loadKeyframe();
+    }
+    /**
+     * @param {?} time
+     * @return {?}
+     */
+    forwardTime(time) {
+        this.applyStylesToKeyframe();
+        this.duration = time;
+        this._loadKeyframe();
+    }
+    /**
+     * @param {?} prop
+     * @param {?} value
+     * @return {?}
+     */
+    _updateStyle(prop, value) {
+        this._localTimelineStyles[prop] = value;
+        this._globalTimelineStyles[prop] = value;
+        this._styleSummary[prop] = { time: this.currentTime, value };
+    }
+    /**
+     * @return {?}
+     */
+    allowOnlyTimelineStyles() { return this._currentEmptyStepKeyframe !== this._currentKeyframe; }
+    /**
+     * @param {?} easing
+     * @return {?}
+     */
+    applyEmptyStep(easing) {
+        if (easing) {
+            this._previousKeyframe['easing'] = easing;
+        }
+        // special case for animate(duration):
+        // all missing styles are filled with a `*` value then
+        // if any destination styles are filled in later on the same
+        // keyframe then they will override the overridden styles
+        // We use `_globalTimelineStyles` here because there may be
+        // styles in previous keyframes that are not present in this timeline
+        Object.keys(this._globalTimelineStyles).forEach(prop => {
+            this._backFill[prop] = this._globalTimelineStyles[prop] || AUTO_STYLE;
+            this._currentKeyframe[prop] = AUTO_STYLE;
+        });
+        this._currentEmptyStepKeyframe = this._currentKeyframe;
+    }
+    /**
+     * @param {?} input
+     * @param {?} easing
+     * @param {?} errors
+     * @param {?=} options
+     * @return {?}
+     */
+    setStyles(input, easing, errors, options) {
+        if (easing) {
+            this._previousKeyframe['easing'] = easing;
+        }
+        const /** @type {?} */ params = (options && options.params) || {};
+        const /** @type {?} */ styles = flattenStyles(input, this._globalTimelineStyles);
+        Object.keys(styles).forEach(prop => {
+            const /** @type {?} */ val = interpolateParams(styles[prop], params, errors);
+            this._pendingStyles[prop] = val;
+            if (!this._localTimelineStyles.hasOwnProperty(prop)) {
+                this._backFill[prop] = this._globalTimelineStyles.hasOwnProperty(prop) ?
+                    this._globalTimelineStyles[prop] :
+                    AUTO_STYLE;
+            }
+            this._updateStyle(prop, val);
+        });
+    }
+    /**
+     * @return {?}
+     */
+    applyStylesToKeyframe() {
+        const /** @type {?} */ styles = this._pendingStyles;
+        const /** @type {?} */ props = Object.keys(styles);
+        if (props.length == 0)
+            return;
+        this._pendingStyles = {};
+        props.forEach(prop => {
+            const /** @type {?} */ val = styles[prop];
+            this._currentKeyframe[prop] = val;
+        });
+        Object.keys(this._localTimelineStyles).forEach(prop => {
+            if (!this._currentKeyframe.hasOwnProperty(prop)) {
+                this._currentKeyframe[prop] = this._localTimelineStyles[prop];
+            }
+        });
+    }
+    /**
+     * @return {?}
+     */
+    snapshotCurrentStyles() {
+        Object.keys(this._localTimelineStyles).forEach(prop => {
+            const /** @type {?} */ val = this._localTimelineStyles[prop];
+            this._pendingStyles[prop] = val;
+            this._updateStyle(prop, val);
+        });
+    }
+    /**
+     * @return {?}
+     */
+    getFinalKeyframe() { return this._keyframes.get(this.duration); }
+    /**
+     * @return {?}
+     */
+    get properties() {
+        const /** @type {?} */ properties = [];
+        for (let /** @type {?} */ prop in this._currentKeyframe) {
+            properties.push(prop);
+        }
+        return properties;
+    }
+    /**
+     * @param {?} timeline
+     * @return {?}
+     */
+    mergeTimelineCollectedStyles(timeline) {
+        Object.keys(timeline._styleSummary).forEach(prop => {
+            const /** @type {?} */ details0 = this._styleSummary[prop];
+            const /** @type {?} */ details1 = timeline._styleSummary[prop];
+            if (!details0 || details1.time > details0.time) {
+                this._updateStyle(prop, details1.value);
+            }
+        });
+    }
+    /**
+     * @return {?}
+     */
+    buildKeyframes() {
+        this.applyStylesToKeyframe();
+        const /** @type {?} */ preStyleProps = new Set();
+        const /** @type {?} */ postStyleProps = new Set();
+        const /** @type {?} */ isEmpty = this._keyframes.size === 1 && this.duration === 0;
+        let /** @type {?} */ finalKeyframes = [];
+        this._keyframes.forEach((keyframe, time) => {
+            const /** @type {?} */ finalKeyframe = copyStyles(keyframe, true);
+            Object.keys(finalKeyframe).forEach(prop => {
+                const /** @type {?} */ value = finalKeyframe[prop];
+                if (value == ɵPRE_STYLE) {
+                    preStyleProps.add(prop);
+                }
+                else if (value == AUTO_STYLE) {
+                    postStyleProps.add(prop);
+                }
+            });
+            if (!isEmpty) {
+                finalKeyframe['offset'] = time / this.duration;
+            }
+            finalKeyframes.push(finalKeyframe);
+        });
+        const /** @type {?} */ preProps = preStyleProps.size ? iteratorToArray(preStyleProps.values()) : [];
+        const /** @type {?} */ postProps = postStyleProps.size ? iteratorToArray(postStyleProps.values()) : [];
+        // special case for a 0-second animation (which is designed just to place styles onscreen)
+        if (isEmpty) {
+            const /** @type {?} */ kf0 = finalKeyframes[0];
+            const /** @type {?} */ kf1 = copyObj(kf0);
+            kf0['offset'] = 0;
+            kf1['offset'] = 1;
+            finalKeyframes = [kf0, kf1];
+        }
+        return createTimelineInstruction(this.element, finalKeyframes, preProps, postProps, this.duration, this.startTime, this.easing, false);
+    }
+}
+class SubTimelineBuilder extends TimelineBuilder {
+    /**
+     * @param {?} driver
+     * @param {?} element
+     * @param {?} keyframes
+     * @param {?} preStyleProps
+     * @param {?} postStyleProps
+     * @param {?} timings
+     * @param {?=} _stretchStartingKeyframe
+     */
+    constructor(driver, element, keyframes, preStyleProps, postStyleProps, timings, _stretchStartingKeyframe = false) {
+        super(driver, element, timings.delay);
+        this.element = element;
+        this.keyframes = keyframes;
+        this.preStyleProps = preStyleProps;
+        this.postStyleProps = postStyleProps;
+        this._stretchStartingKeyframe = _stretchStartingKeyframe;
+        this.timings = { duration: timings.duration, delay: timings.delay, easing: timings.easing };
+    }
+    /**
+     * @return {?}
+     */
+    containsAnimation() { return this.keyframes.length > 1; }
+    /**
+     * @return {?}
+     */
+    buildKeyframes() {
+        let /** @type {?} */ keyframes = this.keyframes;
+        let { delay, duration, easing } = this.timings;
+        if (this._stretchStartingKeyframe && delay) {
+            const /** @type {?} */ newKeyframes = [];
+            const /** @type {?} */ totalTime = duration + delay;
+            const /** @type {?} */ startingGap = delay / totalTime;
+            // the original starting keyframe now starts once the delay is done
+            const /** @type {?} */ newFirstKeyframe = copyStyles(keyframes[0], false);
+            newFirstKeyframe['offset'] = 0;
+            newKeyframes.push(newFirstKeyframe);
+            const /** @type {?} */ oldFirstKeyframe = copyStyles(keyframes[0], false);
+            oldFirstKeyframe['offset'] = roundOffset(startingGap);
+            newKeyframes.push(oldFirstKeyframe);
+            /*
+                    When the keyframe is stretched then it means that the delay before the animation
+                    starts is gone. Instead the first keyframe is placed at the start of the animation
+                    and it is then copied to where it starts when the original delay is over. This basically
+                    means nothing animates during that delay, but the styles are still renderered. For this
+                    to work the original offset values that exist in the original keyframes must be "warped"
+                    so that they can take the new keyframe + delay into account.
+            
+                    delay=1000, duration=1000, keyframes = 0 .5 1
+            
+                    turns into
+            
+                    delay=0, duration=2000, keyframes = 0 .33 .66 1
+                   */
+            // offsets between 1 ... n -1 are all warped by the keyframe stretch
+            const /** @type {?} */ limit = keyframes.length - 1;
+            for (let /** @type {?} */ i = 1; i <= limit; i++) {
+                let /** @type {?} */ kf = copyStyles(keyframes[i], false);
+                const /** @type {?} */ oldOffset = /** @type {?} */ (kf['offset']);
+                const /** @type {?} */ timeAtKeyframe = delay + oldOffset * duration;
+                kf['offset'] = roundOffset(timeAtKeyframe / totalTime);
+                newKeyframes.push(kf);
+            }
+            // the new starting keyframe should be added at the start
+            duration = totalTime;
+            delay = 0;
+            easing = '';
+            keyframes = newKeyframes;
+        }
+        return createTimelineInstruction(this.element, keyframes, this.preStyleProps, this.postStyleProps, duration, delay, easing, true);
+    }
+}
+/**
+ * @param {?} offset
+ * @param {?=} decimalPoints
+ * @return {?}
+ */
+function roundOffset(offset, decimalPoints = 3) {
+    const /** @type {?} */ mult = Math.pow(10, decimalPoints - 1);
+    return Math.round(offset * mult) / mult;
+}
+/**
+ * @param {?} input
+ * @param {?} allStyles
+ * @return {?}
+ */
+function flattenStyles(input, allStyles) {
+    const /** @type {?} */ styles = {};
+    let /** @type {?} */ allProperties;
+    input.forEach(token => {
+        if (token === '*') {
+            allProperties = allProperties || Object.keys(allStyles);
+            allProperties.forEach(prop => { styles[prop] = AUTO_STYLE; });
+        }
+        else {
+            copyStyles(/** @type {?} */ (token), false, styles);
+        }
+    });
+    return styles;
+}
+
+/**
+ * @fileoverview added by tsickle
+ * @suppress {checkTypes} checked by tsc
+ */
+class Animation {
+    /**
+     * @param {?} _driver
+     * @param {?} input
+     */
+    constructor(_driver, input) {
+        this._driver = _driver;
+        const /** @type {?} */ errors = [];
+        const /** @type {?} */ ast = buildAnimationAst(_driver, input, errors);
+        if (errors.length) {
+            const /** @type {?} */ errorMessage = `animation validation failed:\n${errors.join("\n")}`;
+            throw new Error(errorMessage);
+        }
+        this._animationAst = ast;
+    }
+    /**
+     * @param {?} element
+     * @param {?} startingStyles
+     * @param {?} destinationStyles
+     * @param {?} options
+     * @param {?=} subInstructions
+     * @return {?}
+     */
+    buildTimelines(element, startingStyles, destinationStyles, options, subInstructions) {
+        const /** @type {?} */ start = Array.isArray(startingStyles) ? normalizeStyles(startingStyles) : /** @type {?} */ (startingStyles);
+        const /** @type {?} */ dest = Array.isArray(destinationStyles) ? normalizeStyles(destinationStyles) : /** @type {?} */ (destinationStyles);
+        const /** @type {?} */ errors = [];
+        subInstructions = subInstructions || new ElementInstructionMap();
+        const /** @type {?} */ result = buildAnimationTimelines(this._driver, element, this._animationAst, ENTER_CLASSNAME, LEAVE_CLASSNAME, start, dest, options, subInstructions, errors);
+        if (errors.length) {
+            const /** @type {?} */ errorMessage = `animation building failed:\n${errors.join("\n")}`;
+            throw new Error(errorMessage);
+        }
+        return result;
+    }
+}
+
+/**
+ * @fileoverview added by tsickle
+ * @suppress {checkTypes} checked by tsc
+ */
+/**
+ * @license
+ * Copyright Google Inc. All Rights Reserved.
+ *
+ * Use of this source code is governed by an MIT-style license that can be
+ * found in the LICENSE file at https://angular.io/license
+ */
+/**
+ * \@experimental Animation support is experimental.
+ * @abstract
+ */
+class AnimationStyleNormalizer {
+}
+/**
+ * \@experimental Animation support is experimental.
+ */
+class NoopAnimationStyleNormalizer {
+    /**
+     * @param {?} propertyName
+     * @param {?} errors
+     * @return {?}
+     */
+    normalizePropertyName(propertyName, errors) { return propertyName; }
+    /**
+     * @param {?} userProvidedProperty
+     * @param {?} normalizedProperty
+     * @param {?} value
+     * @param {?} errors
+     * @return {?}
+     */
+    normalizeStyleValue(userProvidedProperty, normalizedProperty, value, errors) {
+        return /** @type {?} */ (value);
+    }
+}
+
+/**
+ * @fileoverview added by tsickle
+ * @suppress {checkTypes} checked by tsc
+ */
+class WebAnimationsStyleNormalizer extends AnimationStyleNormalizer {
+    /**
+     * @param {?} propertyName
+     * @param {?} errors
+     * @return {?}
+     */
+    normalizePropertyName(propertyName, errors) {
+        return dashCaseToCamelCase(propertyName);
+    }
+    /**
+     * @param {?} userProvidedProperty
+     * @param {?} normalizedProperty
+     * @param {?} value
+     * @param {?} errors
+     * @return {?}
+     */
+    normalizeStyleValue(userProvidedProperty, normalizedProperty, value, errors) {
+        let /** @type {?} */ unit = '';
+        const /** @type {?} */ strVal = value.toString().trim();
+        if (DIMENSIONAL_PROP_MAP[normalizedProperty] && value !== 0 && value !== '0') {
+            if (typeof value === 'number') {
+                unit = 'px';
+            }
+            else {
+                const /** @type {?} */ valAndSuffixMatch = value.match(/^[+-]?[\d\.]+([a-z]*)$/);
+                if (valAndSuffixMatch && valAndSuffixMatch[1].length == 0) {
+                    errors.push(`Please provide a CSS unit value for ${userProvidedProperty}:${value}`);
+                }
+            }
+        }
+        return strVal + unit;
+    }
+}
+const DIMENSIONAL_PROP_MAP = makeBooleanMap('width,height,minWidth,minHeight,maxWidth,maxHeight,left,top,bottom,right,fontSize,outlineWidth,outlineOffset,paddingTop,paddingLeft,paddingBottom,paddingRight,marginTop,marginLeft,marginBottom,marginRight,borderRadius,borderWidth,borderTopWidth,borderLeftWidth,borderRightWidth,borderBottomWidth,textIndent,perspective'
+    .split(','));
+/**
+ * @param {?} keys
+ * @return {?}
+ */
+function makeBooleanMap(keys) {
+    const /** @type {?} */ map = {};
+    keys.forEach(key => map[key] = true);
+    return map;
+}
+
+/**
+ * @fileoverview added by tsickle
+ * @suppress {checkTypes} checked by tsc
+ */
+/**
+ * @record
+ */
+
+/**
+ * @param {?} element
+ * @param {?} triggerName
+ * @param {?} fromState
+ * @param {?} toState
+ * @param {?} isRemovalTransition
+ * @param {?} fromStyles
+ * @param {?} toStyles
+ * @param {?} timelines
+ * @param {?} queriedElements
+ * @param {?} preStyleProps
+ * @param {?} postStyleProps
+ * @param {?=} errors
+ * @return {?}
+ */
+function createTransitionInstruction(element, triggerName, fromState, toState, isRemovalTransition, fromStyles, toStyles, timelines, queriedElements, preStyleProps, postStyle

<TRUNCATED>

[50/59] [abbrv] [partial] nifi-fds git commit: update gh-pages

Posted by sc...@apache.org.
http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/eec354e6/Gruntfile.js
----------------------------------------------------------------------
diff --git a/Gruntfile.js b/Gruntfile.js
deleted file mode 100644
index 9d30a0b..0000000
--- a/Gruntfile.js
+++ /dev/null
@@ -1,68 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-module.exports = function (grunt) {
-    // load all grunt tasks matching the ['grunt-*', '@*/grunt-*'] patterns
-    require('load-grunt-tasks')(grunt);
-
-    grunt.initConfig({
-        sass: {
-            options: {
-                outputStyle: 'compressed',
-                sourceMap: true
-            },
-            minifyFdsDemo: {
-                files: [{
-                    './demo-app/css/fds-demo.min.css': ['./demo-app/theming/fds-demo.scss']
-                }]
-            }
-        },
-        compress: {
-            options: {
-                mode: 'gzip'
-            },
-            fdsDemoStyles: {
-                files: [{
-                    expand: true,
-                    src: ['./demo-app/css/fds-demo.min.css'],
-                    dest: './',
-                    ext: '.min.css.gz'
-                }]
-            }
-        },
-        bump: {
-            options: {
-                files: ['package.json'],
-                updateConfigs: [],
-                commit: true,
-                commitMessage: 'Release FDS-%VERSION%',
-                commitFiles: ['-a'],
-                createTag: true,
-                tagName: 'FDS-%VERSION%',
-                tagMessage: 'Version FDS-%VERSION%',
-                push: true,
-                pushTo: 'origin',
-                gitDescribeOptions: '--tags --always --abbrev=1 --dirty=-d',
-                globalReplace: false,
-                prereleaseName: 'RC',
-                metadata: '',
-                regExp: false
-            }
-        }
-    });
-    grunt.registerTask('compile-fds-demo-styles', ['sass:minifyFdsDemo', 'compress:fdsDemoStyles']);
-};

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/eec354e6/LICENSE
----------------------------------------------------------------------
diff --git a/LICENSE b/LICENSE
deleted file mode 100644
index 8d6dc97..0000000
--- a/LICENSE
+++ /dev/null
@@ -1,240 +0,0 @@
-
-                                 Apache License
-                           Version 2.0, January 2004
-                        http://www.apache.org/licenses/
-
-   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
-   1. Definitions.
-
-      "License" shall mean the terms and conditions for use, reproduction,
-      and distribution as defined by Sections 1 through 9 of this document.
-
-      "Licensor" shall mean the copyright owner or entity authorized by
-      the copyright owner that is granting the License.
-
-      "Legal Entity" shall mean the union of the acting entity and all
-      other entities that control, are controlled by, or are under common
-      control with that entity. For the purposes of this definition,
-      "control" means (i) the power, direct or indirect, to cause the
-      direction or management of such entity, whether by contract or
-      otherwise, or (ii) ownership of fifty percent (50%) or more of the
-      outstanding shares, or (iii) beneficial ownership of such entity.
-
-      "You" (or "Your") shall mean an individual or Legal Entity
-      exercising permissions granted by this License.
-
-      "Source" form shall mean the preferred form for making modifications,
-      including but not limited to software source code, documentation
-      source, and configuration files.
-
-      "Object" form shall mean any form resulting from mechanical
-      transformation or translation of a Source form, including but
-      not limited to compiled object code, generated documentation,
-      and conversions to other media types.
-
-      "Work" shall mean the work of authorship, whether in Source or
-      Object form, made available under the License, as indicated by a
-      copyright notice that is included in or attached to the work
-      (an example is provided in the Appendix below).
-
-      "Derivative Works" shall mean any work, whether in Source or Object
-      form, that is based on (or derived from) the Work and for which the
-      editorial revisions, annotations, elaborations, or other modifications
-      represent, as a whole, an original work of authorship. For the purposes
-      of this License, Derivative Works shall not include works that remain
-      separable from, or merely link (or bind by name) to the interfaces of,
-      the Work and Derivative Works thereof.
-
-      "Contribution" shall mean any work of authorship, including
-      the original version of the Work and any modifications or additions
-      to that Work or Derivative Works thereof, that is intentionally
-      submitted to Licensor for inclusion in the Work by the copyright owner
-      or by an individual or Legal Entity authorized to submit on behalf of
-      the copyright owner. For the purposes of this definition, "submitted"
-      means any form of electronic, verbal, or written communication sent
-      to the Licensor or its representatives, including but not limited to
-      communication on electronic mailing lists, source code control systems,
-      and issue tracking systems that are managed by, or on behalf of, the
-      Licensor for the purpose of discussing and improving the Work, but
-      excluding communication that is conspicuously marked or otherwise
-      designated in writing by the copyright owner as "Not a Contribution."
-
-      "Contributor" shall mean Licensor and any individual or Legal Entity
-      on behalf of whom a Contribution has been received by Licensor and
-      subsequently incorporated within the Work.
-
-   2. Grant of Copyright License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      copyright license to reproduce, prepare Derivative Works of,
-      publicly display, publicly perform, sublicense, and distribute the
-      Work and such Derivative Works in Source or Object form.
-
-   3. Grant of Patent License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      (except as stated in this section) patent license to make, have made,
-      use, offer to sell, sell, import, and otherwise transfer the Work,
-      where such license applies only to those patent claims licensable
-      by such Contributor that are necessarily infringed by their
-      Contribution(s) alone or by combination of their Contribution(s)
-      with the Work to which such Contribution(s) was submitted. If You
-      institute patent litigation against any entity (including a
-      cross-claim or counterclaim in a lawsuit) alleging that the Work
-      or a Contribution incorporated within the Work constitutes direct
-      or contributory patent infringement, then any patent licenses
-      granted to You under this License for that Work shall terminate
-      as of the date such litigation is filed.
-
-   4. Redistribution. You may reproduce and distribute copies of the
-      Work or Derivative Works thereof in any medium, with or without
-      modifications, and in Source or Object form, provided that You
-      meet the following conditions:
-
-      (a) You must give any other recipients of the Work or
-          Derivative Works a copy of this License; and
-
-      (b) You must cause any modified files to carry prominent notices
-          stating that You changed the files; and
-
-      (c) You must retain, in the Source form of any Derivative Works
-          that You distribute, all copyright, patent, trademark, and
-          attribution notices from the Source form of the Work,
-          excluding those notices that do not pertain to any part of
-          the Derivative Works; and
-
-      (d) If the Work includes a "NOTICE" text file as part of its
-          distribution, then any Derivative Works that You distribute must
-          include a readable copy of the attribution notices contained
-          within such NOTICE file, excluding those notices that do not
-          pertain to any part of the Derivative Works, in at least one
-          of the following places: within a NOTICE text file distributed
-          as part of the Derivative Works; within the Source form or
-          documentation, if provided along with the Derivative Works; or,
-          within a display generated by the Derivative Works, if and
-          wherever such third-party notices normally appear. The contents
-          of the NOTICE file are for informational purposes only and
-          do not modify the License. You may add Your own attribution
-          notices within Derivative Works that You distribute, alongside
-          or as an addendum to the NOTICE text from the Work, provided
-          that such additional attribution notices cannot be construed
-          as modifying the License.
-
-      You may add Your own copyright statement to Your modifications and
-      may provide additional or different license terms and conditions
-      for use, reproduction, or distribution of Your modifications, or
-      for any such Derivative Works as a whole, provided Your use,
-      reproduction, and distribution of the Work otherwise complies with
-      the conditions stated in this License.
-
-   5. Submission of Contributions. Unless You explicitly state otherwise,
-      any Contribution intentionally submitted for inclusion in the Work
-      by You to the Licensor shall be under the terms and conditions of
-      this License, without any additional terms or conditions.
-      Notwithstanding the above, nothing herein shall supersede or modify
-      the terms of any separate license agreement you may have executed
-      with Licensor regarding such Contributions.
-
-   6. Trademarks. This License does not grant permission to use the trade
-      names, trademarks, service marks, or product names of the Licensor,
-      except as required for reasonable and customary use in describing the
-      origin of the Work and reproducing the content of the NOTICE file.
-
-   7. Disclaimer of Warranty. Unless required by applicable law or
-      agreed to in writing, Licensor provides the Work (and each
-      Contributor provides its Contributions) on an "AS IS" BASIS,
-      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
-      implied, including, without limitation, any warranties or conditions
-      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
-      PARTICULAR PURPOSE. You are solely responsible for determining the
-      appropriateness of using or redistributing the Work and assume any
-      risks associated with Your exercise of permissions under this License.
-
-   8. Limitation of Liability. In no event and under no legal theory,
-      whether in tort (including negligence), contract, or otherwise,
-      unless required by applicable law (such as deliberate and grossly
-      negligent acts) or agreed to in writing, shall any Contributor be
-      liable to You for damages, including any direct, indirect, special,
-      incidental, or consequential damages of any character arising as a
-      result of this License or out of the use or inability to use the
-      Work (including but not limited to damages for loss of goodwill,
-      work stoppage, computer failure or malfunction, or any and all
-      other commercial damages or losses), even if such Contributor
-      has been advised of the possibility of such damages.
-
-   9. Accepting Warranty or Additional Liability. While redistributing
-      the Work or Derivative Works thereof, You may choose to offer,
-      and charge a fee for, acceptance of support, warranty, indemnity,
-      or other liability obligations and/or rights consistent with this
-      License. However, in accepting such obligations, You may act only
-      on Your own behalf and on Your sole responsibility, not on behalf
-      of any other Contributor, and only if You agree to indemnify,
-      defend, and hold each Contributor harmless for any liability
-      incurred by, or claims asserted against, such Contributor by reason
-      of your accepting any such warranty or additional liability.
-
-   END OF TERMS AND CONDITIONS
-
-   APPENDIX: How to apply the Apache License to your work.
-
-      To apply the Apache License to your work, attach the following
-      boilerplate notice, with the fields enclosed by brackets "[]"
-      replaced with your own identifying information. (Don't include
-      the brackets!)  The text should be enclosed in the appropriate
-      comment syntax for the file format. We also recommend that a
-      file or class name and description of purpose be included on the
-      same "printed page" as the copyright notice for easier
-      identification within third-party archives.
-
-   Copyright [yyyy] [name of copyright owner]
-
-   Licensed under the Apache License, Version 2.0 (the "License");
-   you may not use this file except in compliance with the License.
-   You may obtain a copy of the License at
-
-       http://www.apache.org/licenses/LICENSE-2.0
-
-   Unless required by applicable law or agreed to in writing, software
-   distributed under the License is distributed on an "AS IS" BASIS,
-   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-   See the License for the specific language governing permissions and
-   limitations under the License.
-
-This product bundles 'Apache NiFi Registry' source code which is available under an ASLv2 license.
-
-    Copyright (c) 2018 Apache NiFi Registry https://nifi.apache.org/registry.html
-
-   Licensed under the Apache License, Version 2.0 (the "License");
-   you may not use this file except in compliance with the License.
-   You may obtain a copy of the License at
-
-       http://www.apache.org/licenses/LICENSE-2.0
-
-   Unless required by applicable law or agreed to in writing, software
-   distributed under the License is distributed on an "AS IS" BASIS,
-   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-   See the License for the specific language governing permissions and
-   limitations under the License.
-
-This product bundles karma-test-shim.js from 'Angular Quickstart' which is available under an MIT license.
-
-    Copyright (c) 2010-2016 Google, Inc. http://angularjs.org
-
-    Permission is hereby granted, free of charge, to any person obtaining a copy
-    of this software and associated documentation files (the "Software"), to deal
-    in the Software without restriction, including without limitation the rights
-    to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-    copies of the Software, and to permit persons to whom the Software is
-    furnished to do so, subject to the following conditions:
-
-    The above copyright notice and this permission notice shall be included in
-    all copies or substantial portions of the Software.
-
-    THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-    IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-    FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-    AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-    LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-    OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-    THE SOFTWARE.

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/eec354e6/NOTICE
----------------------------------------------------------------------
diff --git a/NOTICE b/NOTICE
deleted file mode 100644
index 94b420c..0000000
--- a/NOTICE
+++ /dev/null
@@ -1,5 +0,0 @@
-Apache NiFi Flow Design System
-Copyright 2014-2018 The Apache Software Foundation
-
-This product includes software developed at
-The Apache Software Foundation (http://www.apache.org/).

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/eec354e6/demo-app/components/flow-design-system/dialogs/demo/fds-demo-dialog.html
----------------------------------------------------------------------
diff --git a/demo-app/components/flow-design-system/dialogs/demo/fds-demo-dialog.html b/demo-app/components/flow-design-system/dialogs/demo/fds-demo-dialog.html
new file mode 100644
index 0000000..c283684
--- /dev/null
+++ b/demo-app/components/flow-design-system/dialogs/demo/fds-demo-dialog.html
@@ -0,0 +1,18 @@
+<!--
+Licensed to the Apache Software Foundation (ASF) under one or more
+contributor license agreements.  See the NOTICE file distributed with
+this work for additional information regarding copyright ownership.
+The ASF licenses this file to You under the Apache License, Version 2.0
+(the "License"); you may not use this file except in compliance with
+the License.  You may obtain a copy of the License at
+
+http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+-->
+
+<div>Hello Dialog!</div>

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/eec354e6/demo-app/components/flow-design-system/dialogs/demo/fds-demo-dialog.js
----------------------------------------------------------------------
diff --git a/demo-app/components/flow-design-system/dialogs/demo/fds-demo-dialog.js b/demo-app/components/flow-design-system/dialogs/demo/fds-demo-dialog.js
new file mode 100644
index 0000000..d3ead2b
--- /dev/null
+++ b/demo-app/components/flow-design-system/dialogs/demo/fds-demo-dialog.js
@@ -0,0 +1,59 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+var ngMaterial = require('@angular/material');
+var ngCore = require('@angular/core');
+
+/**
+ * NfRegistryEditBucketPolicy constructor.
+ *
+ * @param nfRegistryApi         The api service.
+ * @param nfRegistryService     The nf-registry.service module.
+ * @param activatedRoute        The angular route module.
+ * @param matDialogRef          The angular material dialog ref.
+ * @param data                  The data passed into this component.
+ * @constructor
+ */
+function FdsDemoDialog(matDialogRef, data) {
+    // Services
+    this.dialogRef = matDialogRef;
+    this.data = data;
+};
+
+FdsDemoDialog.prototype = {
+    constructor: FdsDemoDialog,
+
+    /**
+     * Cancel creation of a new policy and close dialog.
+     */
+    cancel: function () {
+        this.dialogRef.close();
+    }
+};
+
+FdsDemoDialog.annotations = [
+    new ngCore.Component({
+        template: require('./fds-demo-dialog.html!text')
+    })
+];
+
+FdsDemoDialog.parameters = [
+    ngMaterial.MatDialogRef,
+    ngMaterial.MAT_DIALOG_DATA
+];
+
+module.exports = FdsDemoDialog;


[11/59] [abbrv] [partial] nifi-fds git commit: update gh-pages

Posted by sc...@apache.org.
http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/eec354e6/node_modules/@angular/cdk/bundles/cdk-stepper.umd.js
----------------------------------------------------------------------
diff --git a/node_modules/@angular/cdk/bundles/cdk-stepper.umd.js b/node_modules/@angular/cdk/bundles/cdk-stepper.umd.js
new file mode 100644
index 0000000..5514336
--- /dev/null
+++ b/node_modules/@angular/cdk/bundles/cdk-stepper.umd.js
@@ -0,0 +1,633 @@
+/**
+ * @license
+ * Copyright Google LLC All Rights Reserved.
+ *
+ * Use of this source code is governed by an MIT-style license that can be
+ * found in the LICENSE file at https://angular.io/license
+ */
+(function (global, factory) {
+	typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/core'), require('@angular/cdk/keycodes'), require('@angular/cdk/coercion'), require('@angular/forms'), require('@angular/cdk/bidi'), require('rxjs/Subject'), require('@angular/common')) :
+	typeof define === 'function' && define.amd ? define(['exports', '@angular/core', '@angular/cdk/keycodes', '@angular/cdk/coercion', '@angular/forms', '@angular/cdk/bidi', 'rxjs/Subject', '@angular/common'], factory) :
+	(factory((global.ng = global.ng || {}, global.ng.cdk = global.ng.cdk || {}, global.ng.cdk.stepper = global.ng.cdk.stepper || {}),global.ng.core,global.ng.cdk.keycodes,global.ng.cdk.coercion,global.ng.forms,global.ng.cdk.bidi,global.Rx,global.ng.common));
+}(this, (function (exports,_angular_core,_angular_cdk_keycodes,_angular_cdk_coercion,_angular_forms,_angular_cdk_bidi,rxjs_Subject,_angular_common) { 'use strict';
+
+/**
+ * @fileoverview added by tsickle
+ * @suppress {checkTypes} checked by tsc
+ */
+
+var CdkStepLabel = /** @class */ (function () {
+    function CdkStepLabel(template) {
+        this.template = template;
+    }
+    CdkStepLabel.decorators = [
+        { type: _angular_core.Directive, args: [{
+                    selector: '[cdkStepLabel]',
+                },] },
+    ];
+    /** @nocollapse */
+    CdkStepLabel.ctorParameters = function () { return [
+        { type: _angular_core.TemplateRef, },
+    ]; };
+    return CdkStepLabel;
+}());
+
+/**
+ * @fileoverview added by tsickle
+ * @suppress {checkTypes} checked by tsc
+ */
+
+/**
+ * Used to generate unique ID for each stepper component.
+ */
+var nextId = 0;
+/**
+ * Change event emitted on selection changes.
+ */
+var StepperSelectionEvent = /** @class */ (function () {
+    function StepperSelectionEvent() {
+    }
+    return StepperSelectionEvent;
+}());
+var CdkStep = /** @class */ (function () {
+    function CdkStep(_stepper) {
+        this._stepper = _stepper;
+        /**
+         * Whether user has seen the expanded step content or not.
+         */
+        this.interacted = false;
+        this._editable = true;
+        this._optional = false;
+        this._customCompleted = null;
+    }
+    Object.defineProperty(CdkStep.prototype, "editable", {
+        get: /**
+         * Whether the user can return to this step once it has been marked as complted.
+         * @return {?}
+         */
+        function () { return this._editable; },
+        set: /**
+         * @param {?} value
+         * @return {?}
+         */
+        function (value) {
+            this._editable = _angular_cdk_coercion.coerceBooleanProperty(value);
+        },
+        enumerable: true,
+        configurable: true
+    });
+    Object.defineProperty(CdkStep.prototype, "optional", {
+        get: /**
+         * Whether the completion of step is optional.
+         * @return {?}
+         */
+        function () { return this._optional; },
+        set: /**
+         * @param {?} value
+         * @return {?}
+         */
+        function (value) {
+            this._optional = _angular_cdk_coercion.coerceBooleanProperty(value);
+        },
+        enumerable: true,
+        configurable: true
+    });
+    Object.defineProperty(CdkStep.prototype, "completed", {
+        get: /**
+         * Whether step is marked as completed.
+         * @return {?}
+         */
+        function () {
+            return this._customCompleted == null ? this._defaultCompleted : this._customCompleted;
+        },
+        set: /**
+         * @param {?} value
+         * @return {?}
+         */
+        function (value) {
+            this._customCompleted = _angular_cdk_coercion.coerceBooleanProperty(value);
+        },
+        enumerable: true,
+        configurable: true
+    });
+    Object.defineProperty(CdkStep.prototype, "_defaultCompleted", {
+        get: /**
+         * @return {?}
+         */
+        function () {
+            return this.stepControl ? this.stepControl.valid && this.interacted : this.interacted;
+        },
+        enumerable: true,
+        configurable: true
+    });
+    /** Selects this step component. */
+    /**
+     * Selects this step component.
+     * @return {?}
+     */
+    CdkStep.prototype.select = /**
+     * Selects this step component.
+     * @return {?}
+     */
+    function () {
+        this._stepper.selected = this;
+    };
+    /** Resets the step to its initial state. Note that this includes resetting form data. */
+    /**
+     * Resets the step to its initial state. Note that this includes resetting form data.
+     * @return {?}
+     */
+    CdkStep.prototype.reset = /**
+     * Resets the step to its initial state. Note that this includes resetting form data.
+     * @return {?}
+     */
+    function () {
+        this.interacted = false;
+        if (this._customCompleted != null) {
+            this._customCompleted = false;
+        }
+        if (this.stepControl) {
+            this.stepControl.reset();
+        }
+    };
+    /**
+     * @return {?}
+     */
+    CdkStep.prototype.ngOnChanges = /**
+     * @return {?}
+     */
+    function () {
+        // Since basically all inputs of the MatStep get proxied through the view down to the
+        // underlying MatStepHeader, we have to make sure that change detection runs correctly.
+        this._stepper._stateChanged();
+    };
+    CdkStep.decorators = [
+        { type: _angular_core.Component, args: [{selector: 'cdk-step',
+                    exportAs: 'cdkStep',
+                    template: "<ng-template><ng-content></ng-content></ng-template>",
+                    encapsulation: _angular_core.ViewEncapsulation.None,
+                    preserveWhitespaces: false,
+                    changeDetection: _angular_core.ChangeDetectionStrategy.OnPush,
+                },] },
+    ];
+    /** @nocollapse */
+    CdkStep.ctorParameters = function () { return [
+        { type: CdkStepper, decorators: [{ type: _angular_core.Inject, args: [_angular_core.forwardRef(function () { return CdkStepper; }),] },] },
+    ]; };
+    CdkStep.propDecorators = {
+        "stepLabel": [{ type: _angular_core.ContentChild, args: [CdkStepLabel,] },],
+        "content": [{ type: _angular_core.ViewChild, args: [_angular_core.TemplateRef,] },],
+        "stepControl": [{ type: _angular_core.Input },],
+        "label": [{ type: _angular_core.Input },],
+        "editable": [{ type: _angular_core.Input },],
+        "optional": [{ type: _angular_core.Input },],
+        "completed": [{ type: _angular_core.Input },],
+    };
+    return CdkStep;
+}());
+var CdkStepper = /** @class */ (function () {
+    function CdkStepper(_dir, _changeDetectorRef) {
+        this._dir = _dir;
+        this._changeDetectorRef = _changeDetectorRef;
+        /**
+         * Emits when the component is destroyed.
+         */
+        this._destroyed = new rxjs_Subject.Subject();
+        this._linear = false;
+        this._selectedIndex = 0;
+        /**
+         * Event emitted when the selected step has changed.
+         */
+        this.selectionChange = new _angular_core.EventEmitter();
+        /**
+         * The index of the step that the focus can be set.
+         */
+        this._focusIndex = 0;
+        this._orientation = 'horizontal';
+        this._groupId = nextId++;
+    }
+    Object.defineProperty(CdkStepper.prototype, "linear", {
+        get: /**
+         * Whether the validity of previous steps should be checked or not.
+         * @return {?}
+         */
+        function () { return this._linear; },
+        set: /**
+         * @param {?} value
+         * @return {?}
+         */
+        function (value) { this._linear = _angular_cdk_coercion.coerceBooleanProperty(value); },
+        enumerable: true,
+        configurable: true
+    });
+    Object.defineProperty(CdkStepper.prototype, "selectedIndex", {
+        get: /**
+         * The index of the selected step.
+         * @return {?}
+         */
+        function () { return this._selectedIndex; },
+        set: /**
+         * @param {?} index
+         * @return {?}
+         */
+        function (index) {
+            if (this._steps) {
+                // Ensure that the index can't be out of bounds.
+                if (index < 0 || index > this._steps.length - 1) {
+                    throw Error('cdkStepper: Cannot assign out-of-bounds value to `selectedIndex`.');
+                }
+                if (this._anyControlsInvalidOrPending(index) || index < this._selectedIndex &&
+                    !this._steps.toArray()[index].editable) {
+                    // remove focus from clicked step header if the step is not able to be selected
+                    this._stepHeader.toArray()[index].nativeElement.blur();
+                }
+                else if (this._selectedIndex != index) {
+                    this._emitStepperSelectionEvent(index);
+                    this._focusIndex = this._selectedIndex;
+                }
+            }
+            else {
+                this._selectedIndex = this._focusIndex = index;
+            }
+        },
+        enumerable: true,
+        configurable: true
+    });
+    Object.defineProperty(CdkStepper.prototype, "selected", {
+        get: /**
+         * The step that is selected.
+         * @return {?}
+         */
+        function () { return this._steps.toArray()[this.selectedIndex]; },
+        set: /**
+         * @param {?} step
+         * @return {?}
+         */
+        function (step) {
+            this.selectedIndex = this._steps.toArray().indexOf(step);
+        },
+        enumerable: true,
+        configurable: true
+    });
+    /**
+     * @return {?}
+     */
+    CdkStepper.prototype.ngOnDestroy = /**
+     * @return {?}
+     */
+    function () {
+        this._destroyed.next();
+        this._destroyed.complete();
+    };
+    /** Selects and focuses the next step in list. */
+    /**
+     * Selects and focuses the next step in list.
+     * @return {?}
+     */
+    CdkStepper.prototype.next = /**
+     * Selects and focuses the next step in list.
+     * @return {?}
+     */
+    function () {
+        this.selectedIndex = Math.min(this._selectedIndex + 1, this._steps.length - 1);
+    };
+    /** Selects and focuses the previous step in list. */
+    /**
+     * Selects and focuses the previous step in list.
+     * @return {?}
+     */
+    CdkStepper.prototype.previous = /**
+     * Selects and focuses the previous step in list.
+     * @return {?}
+     */
+    function () {
+        this.selectedIndex = Math.max(this._selectedIndex - 1, 0);
+    };
+    /** Resets the stepper to its initial state. Note that this includes clearing form data. */
+    /**
+     * Resets the stepper to its initial state. Note that this includes clearing form data.
+     * @return {?}
+     */
+    CdkStepper.prototype.reset = /**
+     * Resets the stepper to its initial state. Note that this includes clearing form data.
+     * @return {?}
+     */
+    function () {
+        this.selectedIndex = 0;
+        this._steps.forEach(function (step) { return step.reset(); });
+        this._stateChanged();
+    };
+    /** Returns a unique id for each step label element. */
+    /**
+     * Returns a unique id for each step label element.
+     * @param {?} i
+     * @return {?}
+     */
+    CdkStepper.prototype._getStepLabelId = /**
+     * Returns a unique id for each step label element.
+     * @param {?} i
+     * @return {?}
+     */
+    function (i) {
+        return "cdk-step-label-" + this._groupId + "-" + i;
+    };
+    /** Returns unique id for each step content element. */
+    /**
+     * Returns unique id for each step content element.
+     * @param {?} i
+     * @return {?}
+     */
+    CdkStepper.prototype._getStepContentId = /**
+     * Returns unique id for each step content element.
+     * @param {?} i
+     * @return {?}
+     */
+    function (i) {
+        return "cdk-step-content-" + this._groupId + "-" + i;
+    };
+    /** Marks the component to be change detected. */
+    /**
+     * Marks the component to be change detected.
+     * @return {?}
+     */
+    CdkStepper.prototype._stateChanged = /**
+     * Marks the component to be change detected.
+     * @return {?}
+     */
+    function () {
+        this._changeDetectorRef.markForCheck();
+    };
+    /** Returns position state of the step with the given index. */
+    /**
+     * Returns position state of the step with the given index.
+     * @param {?} index
+     * @return {?}
+     */
+    CdkStepper.prototype._getAnimationDirection = /**
+     * Returns position state of the step with the given index.
+     * @param {?} index
+     * @return {?}
+     */
+    function (index) {
+        var /** @type {?} */ position = index - this._selectedIndex;
+        if (position < 0) {
+            return this._layoutDirection() === 'rtl' ? 'next' : 'previous';
+        }
+        else if (position > 0) {
+            return this._layoutDirection() === 'rtl' ? 'previous' : 'next';
+        }
+        return 'current';
+    };
+    /** Returns the type of icon to be displayed. */
+    /**
+     * Returns the type of icon to be displayed.
+     * @param {?} index
+     * @return {?}
+     */
+    CdkStepper.prototype._getIndicatorType = /**
+     * Returns the type of icon to be displayed.
+     * @param {?} index
+     * @return {?}
+     */
+    function (index) {
+        var /** @type {?} */ step = this._steps.toArray()[index];
+        if (!step.completed || this._selectedIndex == index) {
+            return 'number';
+        }
+        else {
+            return step.editable ? 'edit' : 'done';
+        }
+    };
+    /**
+     * @param {?} newIndex
+     * @return {?}
+     */
+    CdkStepper.prototype._emitStepperSelectionEvent = /**
+     * @param {?} newIndex
+     * @return {?}
+     */
+    function (newIndex) {
+        var /** @type {?} */ stepsArray = this._steps.toArray();
+        this.selectionChange.emit({
+            selectedIndex: newIndex,
+            previouslySelectedIndex: this._selectedIndex,
+            selectedStep: stepsArray[newIndex],
+            previouslySelectedStep: stepsArray[this._selectedIndex],
+        });
+        this._selectedIndex = newIndex;
+        this._stateChanged();
+    };
+    /**
+     * @param {?} event
+     * @return {?}
+     */
+    CdkStepper.prototype._onKeydown = /**
+     * @param {?} event
+     * @return {?}
+     */
+    function (event) {
+        var /** @type {?} */ keyCode = event.keyCode;
+        // Note that the left/right arrows work both in vertical and horizontal mode.
+        if (keyCode === _angular_cdk_keycodes.RIGHT_ARROW) {
+            this._layoutDirection() === 'rtl' ? this._focusPreviousStep() : this._focusNextStep();
+            event.preventDefault();
+        }
+        if (keyCode === _angular_cdk_keycodes.LEFT_ARROW) {
+            this._layoutDirection() === 'rtl' ? this._focusNextStep() : this._focusPreviousStep();
+            event.preventDefault();
+        }
+        // Note that the up/down arrows only work in vertical mode.
+        // See: https://www.w3.org/TR/wai-aria-practices-1.1/#tabpanel
+        if (this._orientation === 'vertical' && (keyCode === _angular_cdk_keycodes.UP_ARROW || keyCode === _angular_cdk_keycodes.DOWN_ARROW)) {
+            keyCode === _angular_cdk_keycodes.UP_ARROW ? this._focusPreviousStep() : this._focusNextStep();
+            event.preventDefault();
+        }
+        if (keyCode === _angular_cdk_keycodes.SPACE || keyCode === _angular_cdk_keycodes.ENTER) {
+            this.selectedIndex = this._focusIndex;
+            event.preventDefault();
+        }
+        if (keyCode === _angular_cdk_keycodes.HOME) {
+            this._focusStep(0);
+            event.preventDefault();
+        }
+        if (keyCode === _angular_cdk_keycodes.END) {
+            this._focusStep(this._steps.length - 1);
+            event.preventDefault();
+        }
+    };
+    /**
+     * @return {?}
+     */
+    CdkStepper.prototype._focusNextStep = /**
+     * @return {?}
+     */
+    function () {
+        this._focusStep((this._focusIndex + 1) % this._steps.length);
+    };
+    /**
+     * @return {?}
+     */
+    CdkStepper.prototype._focusPreviousStep = /**
+     * @return {?}
+     */
+    function () {
+        this._focusStep((this._focusIndex + this._steps.length - 1) % this._steps.length);
+    };
+    /**
+     * @param {?} index
+     * @return {?}
+     */
+    CdkStepper.prototype._focusStep = /**
+     * @param {?} index
+     * @return {?}
+     */
+    function (index) {
+        this._focusIndex = index;
+        this._stepHeader.toArray()[this._focusIndex].nativeElement.focus();
+    };
+    /**
+     * @param {?} index
+     * @return {?}
+     */
+    CdkStepper.prototype._anyControlsInvalidOrPending = /**
+     * @param {?} index
+     * @return {?}
+     */
+    function (index) {
+        var /** @type {?} */ steps = this._steps.toArray();
+        steps[this._selectedIndex].interacted = true;
+        if (this._linear && index >= 0) {
+            return steps.slice(0, index).some(function (step) {
+                var /** @type {?} */ control = step.stepControl;
+                var /** @type {?} */ isIncomplete = control ? (control.invalid || control.pending) : !step.completed;
+                return isIncomplete && !step.optional;
+            });
+        }
+        return false;
+    };
+    /**
+     * @return {?}
+     */
+    CdkStepper.prototype._layoutDirection = /**
+     * @return {?}
+     */
+    function () {
+        return this._dir && this._dir.value === 'rtl' ? 'rtl' : 'ltr';
+    };
+    CdkStepper.decorators = [
+        { type: _angular_core.Directive, args: [{
+                    selector: '[cdkStepper]',
+                    exportAs: 'cdkStepper',
+                },] },
+    ];
+    /** @nocollapse */
+    CdkStepper.ctorParameters = function () { return [
+        { type: _angular_cdk_bidi.Directionality, decorators: [{ type: _angular_core.Optional },] },
+        { type: _angular_core.ChangeDetectorRef, },
+    ]; };
+    CdkStepper.propDecorators = {
+        "_steps": [{ type: _angular_core.ContentChildren, args: [CdkStep,] },],
+        "linear": [{ type: _angular_core.Input },],
+        "selectedIndex": [{ type: _angular_core.Input },],
+        "selected": [{ type: _angular_core.Input },],
+        "selectionChange": [{ type: _angular_core.Output },],
+    };
+    return CdkStepper;
+}());
+
+/**
+ * @fileoverview added by tsickle
+ * @suppress {checkTypes} checked by tsc
+ */
+
+/**
+ * Button that moves to the next step in a stepper workflow.
+ */
+var CdkStepperNext = /** @class */ (function () {
+    function CdkStepperNext(_stepper) {
+        this._stepper = _stepper;
+        /**
+         * Type of the next button. Defaults to "submit" if not specified.
+         */
+        this.type = 'submit';
+    }
+    CdkStepperNext.decorators = [
+        { type: _angular_core.Directive, args: [{
+                    selector: 'button[cdkStepperNext]',
+                    host: {
+                        '(click)': '_stepper.next()',
+                        '[type]': 'type',
+                    }
+                },] },
+    ];
+    /** @nocollapse */
+    CdkStepperNext.ctorParameters = function () { return [
+        { type: CdkStepper, },
+    ]; };
+    CdkStepperNext.propDecorators = {
+        "type": [{ type: _angular_core.Input },],
+    };
+    return CdkStepperNext;
+}());
+/**
+ * Button that moves to the previous step in a stepper workflow.
+ */
+var CdkStepperPrevious = /** @class */ (function () {
+    function CdkStepperPrevious(_stepper) {
+        this._stepper = _stepper;
+        /**
+         * Type of the previous button. Defaults to "button" if not specified.
+         */
+        this.type = 'button';
+    }
+    CdkStepperPrevious.decorators = [
+        { type: _angular_core.Directive, args: [{
+                    selector: 'button[cdkStepperPrevious]',
+                    host: {
+                        '(click)': '_stepper.previous()',
+                        '[type]': 'type',
+                    }
+                },] },
+    ];
+    /** @nocollapse */
+    CdkStepperPrevious.ctorParameters = function () { return [
+        { type: CdkStepper, },
+    ]; };
+    CdkStepperPrevious.propDecorators = {
+        "type": [{ type: _angular_core.Input },],
+    };
+    return CdkStepperPrevious;
+}());
+
+/**
+ * @fileoverview added by tsickle
+ * @suppress {checkTypes} checked by tsc
+ */
+
+var CdkStepperModule = /** @class */ (function () {
+    function CdkStepperModule() {
+    }
+    CdkStepperModule.decorators = [
+        { type: _angular_core.NgModule, args: [{
+                    imports: [_angular_cdk_bidi.BidiModule, _angular_common.CommonModule],
+                    exports: [CdkStep, CdkStepper, CdkStepLabel, CdkStepperNext, CdkStepperPrevious],
+                    declarations: [CdkStep, CdkStepper, CdkStepLabel, CdkStepperNext, CdkStepperPrevious]
+                },] },
+    ];
+    /** @nocollapse */
+    CdkStepperModule.ctorParameters = function () { return []; };
+    return CdkStepperModule;
+}());
+
+exports.StepperSelectionEvent = StepperSelectionEvent;
+exports.CdkStep = CdkStep;
+exports.CdkStepper = CdkStepper;
+exports.CdkStepLabel = CdkStepLabel;
+exports.CdkStepperNext = CdkStepperNext;
+exports.CdkStepperPrevious = CdkStepperPrevious;
+exports.CdkStepperModule = CdkStepperModule;
+
+Object.defineProperty(exports, '__esModule', { value: true });
+
+})));
+//# sourceMappingURL=cdk-stepper.umd.js.map

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/eec354e6/node_modules/@angular/cdk/bundles/cdk-stepper.umd.js.map
----------------------------------------------------------------------
diff --git a/node_modules/@angular/cdk/bundles/cdk-stepper.umd.js.map b/node_modules/@angular/cdk/bundles/cdk-stepper.umd.js.map
new file mode 100644
index 0000000..bb8201a
--- /dev/null
+++ b/node_modules/@angular/cdk/bundles/cdk-stepper.umd.js.map
@@ -0,0 +1 @@
+{"version":3,"file":"cdk-stepper.umd.js","sources":["../../src/cdk/stepper/stepper-module.ts","../../src/cdk/stepper/stepper-button.ts","../../src/cdk/stepper/stepper.ts","../../src/cdk/stepper/step-label.ts"],"sourcesContent":["/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {NgModule} from '@angular/core';\nimport {CdkStepper, CdkStep} from './stepper';\nimport {CommonModule} from '@angular/common';\nimport {CdkStepLabel} from './step-label';\nimport {CdkStepperNext, CdkStepperPrevious} from './stepper-button';\nimport {BidiModule} from '@angular/cdk/bidi';\n\n@NgModule({\n  imports: [BidiModule, CommonModule],\n  exports: [CdkStep, CdkStepper, CdkStepLabel, CdkStepperNext, CdkStepperPrevious],\n  declarations: [CdkStep, CdkStepper, CdkStepLabel, CdkStepperNext, CdkStepperPrevious]\n})\nexport class CdkStepperModu
 le {}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {Directive, Input} from '@angular/core';\nimport {CdkStepper} from './stepper';\n\n/** Button that moves to the next step in a stepper workflow. */\n@Directive({\n  selector: 'button[cdkStepperNext]',\n  host: {\n    '(click)': '_stepper.next()',\n    '[type]': 'type',\n  }\n})\nexport class CdkStepperNext {\n  /** Type of the next button. Defaults to \"submit\" if not specified. */\n  @Input() type: string = 'submit';\n\n  constructor(public _stepper: CdkStepper) {}\n}\n\n/** Button that moves to the previous step in a stepper workflow. */\n@Directive({\n  selector: 'button[cdkStepperPrevious]',\n  host: {\n    '(click)': '_stepper.previous()',\n    '[type]': 'type',\n  }\n})\nexport class CdkStepperPrevious {\n  /** Type of the previous button. Defaults to 
 \"button\" if not specified. */\n  @Input() type: string = 'button';\n\n  constructor(public _stepper: CdkStepper) {}\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {\n  ContentChildren,\n  EventEmitter,\n  Input,\n  Output,\n  QueryList,\n  Directive,\n  ElementRef,\n  Component,\n  ContentChild,\n  ViewChild,\n  TemplateRef,\n  ViewEncapsulation,\n  Optional,\n  Inject,\n  forwardRef,\n  ChangeDetectionStrategy,\n  ChangeDetectorRef,\n  OnChanges,\n  OnDestroy\n} from '@angular/core';\nimport {\n  LEFT_ARROW,\n  RIGHT_ARROW,\n  DOWN_ARROW,\n  UP_ARROW,\n  ENTER,\n  SPACE,\n  HOME,\n  END,\n} from '@angular/cdk/keycodes';\nimport {CdkStepLabel} from './step-label';\nimport {coerceBooleanProperty} from '@angular/cdk/coercion';\nimport {AbstractControl} from '@angular/forms';\nimport {Direction, Directionalit
 y} from '@angular/cdk/bidi';\nimport {Subject} from 'rxjs/Subject';\n\n/** Used to generate unique ID for each stepper component. */\nlet nextId = 0;\n\n/**\n * Position state of the content of each step in stepper that is used for transitioning\n * the content into correct position upon step selection change.\n */\nexport type StepContentPositionState = 'previous' | 'current' | 'next';\n\n/** Possible orientation of a stepper. */\nexport type StepperOrientation = 'horizontal' | 'vertical';\n\n/** Change event emitted on selection changes. */\nexport class StepperSelectionEvent {\n  /** Index of the step now selected. */\n  selectedIndex: number;\n\n  /** Index of the step previously selected. */\n  previouslySelectedIndex: number;\n\n  /** The step instance now selected. */\n  selectedStep: CdkStep;\n\n  /** The step instance previously selected. */\n  previouslySelectedStep: CdkStep;\n}\n\n@Component({\n  moduleId: module.id,\n  selector: 'cdk-step',\n  exportAs: 'cdkStep',\n  tem
 plateUrl: 'step.html',\n  encapsulation: ViewEncapsulation.None,\n  preserveWhitespaces: false,\n  changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class CdkStep implements OnChanges {\n  /** Template for step label if it exists. */\n  @ContentChild(CdkStepLabel) stepLabel: CdkStepLabel;\n\n  /** Template for step content. */\n  @ViewChild(TemplateRef) content: TemplateRef<any>;\n\n  /** The top level abstract control of the step. */\n  @Input() stepControl: AbstractControl;\n\n  /** Whether user has seen the expanded step content or not. */\n  interacted = false;\n\n  /** Label of the step. */\n  @Input() label: string;\n\n  /** Whether the user can return to this step once it has been marked as complted. */\n  @Input()\n  get editable(): boolean { return this._editable; }\n  set editable(value: boolean) {\n    this._editable = coerceBooleanProperty(value);\n  }\n  private _editable = true;\n\n  /** Whether the completion of step is optional. */\n  @Input()\n  get optio
 nal(): boolean { return this._optional; }\n  set optional(value: boolean) {\n    this._optional = coerceBooleanProperty(value);\n  }\n  private _optional = false;\n\n  /** Whether step is marked as completed. */\n  @Input()\n  get completed(): boolean {\n    return this._customCompleted == null ? this._defaultCompleted : this._customCompleted;\n  }\n  set completed(value: boolean) {\n    this._customCompleted = coerceBooleanProperty(value);\n  }\n  private _customCompleted: boolean | null = null;\n\n  private get _defaultCompleted() {\n    return this.stepControl ? this.stepControl.valid && this.interacted : this.interacted;\n  }\n\n  constructor(@Inject(forwardRef(() => CdkStepper)) private _stepper: CdkStepper) { }\n\n  /** Selects this step component. */\n  select(): void {\n    this._stepper.selected = this;\n  }\n\n  /** Resets the step to its initial state. Note that this includes resetting form data. */\n  reset(): void {\n    this.interacted = false;\n\n    if (this._customC
 ompleted != null) {\n      this._customCompleted = false;\n    }\n\n    if (this.stepControl) {\n      this.stepControl.reset();\n    }\n  }\n\n  ngOnChanges() {\n    // Since basically all inputs of the MatStep get proxied through the view down to the\n    // underlying MatStepHeader, we have to make sure that change detection runs correctly.\n    this._stepper._stateChanged();\n  }\n}\n\n@Directive({\n  selector: '[cdkStepper]',\n  exportAs: 'cdkStepper',\n})\nexport class CdkStepper implements OnDestroy {\n  /** Emits when the component is destroyed. */\n  protected _destroyed = new Subject<void>();\n\n  /** The list of step components that the stepper is holding. */\n  @ContentChildren(CdkStep) _steps: QueryList<CdkStep>;\n\n  /** The list of step headers of the steps in the stepper. */\n  _stepHeader: QueryList<ElementRef>;\n\n  /** Whether the validity of previous steps should be checked or not. */\n  @Input()\n  get linear(): boolean { return this._linear; }\n  set linear(val
 ue: boolean) { this._linear = coerceBooleanProperty(value); }\n  private _linear = false;\n\n  /** The index of the selected step. */\n  @Input()\n  get selectedIndex() { return this._selectedIndex; }\n  set selectedIndex(index: number) {\n    if (this._steps) {\n      // Ensure that the index can't be out of bounds.\n      if (index < 0 || index > this._steps.length - 1) {\n        throw Error('cdkStepper: Cannot assign out-of-bounds value to `selectedIndex`.');\n      }\n\n      if (this._anyControlsInvalidOrPending(index) || index < this._selectedIndex &&\n          !this._steps.toArray()[index].editable) {\n        // remove focus from clicked step header if the step is not able to be selected\n        this._stepHeader.toArray()[index].nativeElement.blur();\n      } else if (this._selectedIndex != index) {\n        this._emitStepperSelectionEvent(index);\n        this._focusIndex = this._selectedIndex;\n      }\n    } else {\n      this._selectedIndex = this._focusIndex = index;
 \n    }\n  }\n  private _selectedIndex = 0;\n\n  /** The step that is selected. */\n  @Input()\n  get selected(): CdkStep { return this._steps.toArray()[this.selectedIndex]; }\n  set selected(step: CdkStep) {\n    this.selectedIndex = this._steps.toArray().indexOf(step);\n  }\n\n  /** Event emitted when the selected step has changed. */\n  @Output() selectionChange: EventEmitter<StepperSelectionEvent>\n      = new EventEmitter<StepperSelectionEvent>();\n\n  /** The index of the step that the focus can be set. */\n  _focusIndex: number = 0;\n\n  /** Used to track unique ID for each stepper component. */\n  _groupId: number;\n\n  protected _orientation: StepperOrientation = 'horizontal';\n\n  constructor(\n    @Optional() private _dir: Directionality,\n    private _changeDetectorRef: ChangeDetectorRef) {\n    this._groupId = nextId++;\n  }\n\n  ngOnDestroy() {\n    this._destroyed.next();\n    this._destroyed.complete();\n  }\n\n  /** Selects and focuses the next step in list. */\n  n
 ext(): void {\n    this.selectedIndex = Math.min(this._selectedIndex + 1, this._steps.length - 1);\n  }\n\n  /** Selects and focuses the previous step in list. */\n  previous(): void {\n    this.selectedIndex = Math.max(this._selectedIndex - 1, 0);\n  }\n\n  /** Resets the stepper to its initial state. Note that this includes clearing form data. */\n  reset(): void {\n    this.selectedIndex = 0;\n    this._steps.forEach(step => step.reset());\n    this._stateChanged();\n  }\n\n  /** Returns a unique id for each step label element. */\n  _getStepLabelId(i: number): string {\n    return `cdk-step-label-${this._groupId}-${i}`;\n  }\n\n  /** Returns unique id for each step content element. */\n  _getStepContentId(i: number): string {\n    return `cdk-step-content-${this._groupId}-${i}`;\n  }\n\n  /** Marks the component to be change detected. */\n  _stateChanged() {\n    this._changeDetectorRef.markForCheck();\n  }\n\n  /** Returns position state of the step with the given index. */\n  
 _getAnimationDirection(index: number): StepContentPositionState {\n    const position = index - this._selectedIndex;\n    if (position < 0) {\n      return this._layoutDirection() === 'rtl' ? 'next' : 'previous';\n    } else if (position > 0) {\n      return this._layoutDirection() === 'rtl' ? 'previous' : 'next';\n    }\n    return 'current';\n  }\n\n  /** Returns the type of icon to be displayed. */\n  _getIndicatorType(index: number): 'number' | 'edit' | 'done' {\n    const step = this._steps.toArray()[index];\n    if (!step.completed || this._selectedIndex == index) {\n      return 'number';\n    } else {\n      return step.editable ? 'edit' : 'done';\n    }\n  }\n\n  private _emitStepperSelectionEvent(newIndex: number): void {\n    const stepsArray = this._steps.toArray();\n    this.selectionChange.emit({\n      selectedIndex: newIndex,\n      previouslySelectedIndex: this._selectedIndex,\n      selectedStep: stepsArray[newIndex],\n      previouslySelectedStep: stepsArray[this.
 _selectedIndex],\n    });\n    this._selectedIndex = newIndex;\n    this._stateChanged();\n  }\n\n  _onKeydown(event: KeyboardEvent) {\n    const keyCode = event.keyCode;\n\n    // Note that the left/right arrows work both in vertical and horizontal mode.\n    if (keyCode === RIGHT_ARROW) {\n      this._layoutDirection() === 'rtl' ? this._focusPreviousStep() : this._focusNextStep();\n      event.preventDefault();\n    }\n\n    if (keyCode === LEFT_ARROW) {\n      this._layoutDirection() === 'rtl' ? this._focusNextStep() : this._focusPreviousStep();\n      event.preventDefault();\n    }\n\n    // Note that the up/down arrows only work in vertical mode.\n    // See: https://www.w3.org/TR/wai-aria-practices-1.1/#tabpanel\n    if (this._orientation === 'vertical' && (keyCode === UP_ARROW || keyCode === DOWN_ARROW)) {\n      keyCode === UP_ARROW ? this._focusPreviousStep() : this._focusNextStep();\n      event.preventDefault();\n    }\n\n    if (keyCode === SPACE || keyCode === ENTER) {\
 n      this.selectedIndex = this._focusIndex;\n      event.preventDefault();\n    }\n\n    if (keyCode === HOME) {\n      this._focusStep(0);\n      event.preventDefault();\n    }\n\n    if (keyCode === END) {\n      this._focusStep(this._steps.length - 1);\n      event.preventDefault();\n    }\n  }\n\n  private _focusNextStep() {\n    this._focusStep((this._focusIndex + 1) % this._steps.length);\n  }\n\n  private _focusPreviousStep() {\n    this._focusStep((this._focusIndex + this._steps.length - 1) % this._steps.length);\n  }\n\n  private _focusStep(index: number) {\n    this._focusIndex = index;\n    this._stepHeader.toArray()[this._focusIndex].nativeElement.focus();\n  }\n\n  private _anyControlsInvalidOrPending(index: number): boolean {\n    const steps = this._steps.toArray();\n\n    steps[this._selectedIndex].interacted = true;\n\n    if (this._linear && index >= 0) {\n      return steps.slice(0, index).some(step => {\n        const control = step.stepControl;\n        const 
 isIncomplete = control ? (control.invalid || control.pending) : !step.completed;\n        return isIncomplete && !step.optional;\n      });\n    }\n\n    return false;\n  }\n\n  private _layoutDirection(): Direction {\n    return this._dir && this._dir.value === 'rtl' ? 'rtl' : 'ltr';\n  }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {Directive, TemplateRef} from '@angular/core';\n\n@Directive({\n  selector: '[cdkStepLabel]',\n})\nexport class CdkStepLabel {\n  constructor(/** @docs-private */ public template: TemplateRef<any>) { }\n}\n"],"names":["BidiModule","CommonModule","NgModule","Input","Directive","Output","END","HOME","SPACE","ENTER","LEFT_ARROW","RIGHT_ARROW","ChangeDetectionStrategy","ViewEncapsulation","Component","coerceBooleanProperty","TemplateRef"],"mappings":";;;;;;;;;;;;;;;;;;AGQA,IAAA,YA
 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"}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/eec354e6/node_modules/@angular/cdk/bundles/cdk-stepper.umd.min.js
----------------------------------------------------------------------
diff --git a/node_modules/@angular/cdk/bundles/cdk-stepper.umd.min.js b/node_modules/@angular/cdk/bundles/cdk-stepper.umd.min.js
new file mode 100644
index 0000000..c8be99a
--- /dev/null
+++ b/node_modules/@angular/cdk/bundles/cdk-stepper.umd.min.js
@@ -0,0 +1,9 @@
+/**
+ * @license
+ * Copyright Google LLC All Rights Reserved.
+ *
+ * Use of this source code is governed by an MIT-style license that can be
+ * found in the LICENSE file at https://angular.io/license
+ */
+!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@angular/core"),require("@angular/cdk/keycodes"),require("@angular/cdk/coercion"),require("@angular/forms"),require("@angular/cdk/bidi"),require("rxjs/Subject"),require("@angular/common")):"function"==typeof define&&define.amd?define(["exports","@angular/core","@angular/cdk/keycodes","@angular/cdk/coercion","@angular/forms","@angular/cdk/bidi","rxjs/Subject","@angular/common"],t):t((e.ng=e.ng||{},e.ng.cdk=e.ng.cdk||{},e.ng.cdk.stepper=e.ng.cdk.stepper||{}),e.ng.core,e.ng.cdk.keycodes,e.ng.cdk.coercion,e.ng.forms,e.ng.cdk.bidi,e.Rx,e.ng.common)}(this,function(e,t,n,o,r,s,i,p){"use strict";var c=function(){function e(e){this.template=e}return e.decorators=[{type:t.Directive,args:[{selector:"[cdkStepLabel]"}]}],e.ctorParameters=function(){return[{type:t.TemplateRef}]},e}(),u=0,a=function(){function e(){}return e}(),d=function(){function e(e){this._stepper=e,this.interacted=!1,this._editable=!0,this._
 optional=!1,this._customCompleted=null}return Object.defineProperty(e.prototype,"editable",{get:function(){return this._editable},set:function(e){this._editable=o.coerceBooleanProperty(e)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"optional",{get:function(){return this._optional},set:function(e){this._optional=o.coerceBooleanProperty(e)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"completed",{get:function(){return null==this._customCompleted?this._defaultCompleted:this._customCompleted},set:function(e){this._customCompleted=o.coerceBooleanProperty(e)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"_defaultCompleted",{get:function(){return this.stepControl?this.stepControl.valid&&this.interacted:this.interacted},enumerable:!0,configurable:!0}),e.prototype.select=function(){this._stepper.selected=this},e.prototype.reset=function(){this.interacted=!1,null!=this._customCompleted&&(this._customCompleted=!1),this.stepContr
 ol&&this.stepControl.reset()},e.prototype.ngOnChanges=function(){this._stepper._stateChanged()},e.decorators=[{type:t.Component,args:[{selector:"cdk-step",exportAs:"cdkStep",template:"<ng-template><ng-content></ng-content></ng-template>",encapsulation:t.ViewEncapsulation.None,preserveWhitespaces:!1,changeDetection:t.ChangeDetectionStrategy.OnPush}]}],e.ctorParameters=function(){return[{type:l,decorators:[{type:t.Inject,args:[t.forwardRef(function(){return l})]}]}]},e.propDecorators={stepLabel:[{type:t.ContentChild,args:[c]}],content:[{type:t.ViewChild,args:[t.TemplateRef]}],stepControl:[{type:t.Input}],label:[{type:t.Input}],editable:[{type:t.Input}],optional:[{type:t.Input}],completed:[{type:t.Input}]},e}(),l=function(){function e(e,n){this._dir=e,this._changeDetectorRef=n,this._destroyed=new i.Subject,this._linear=!1,this._selectedIndex=0,this.selectionChange=new t.EventEmitter,this._focusIndex=0,this._orientation="horizontal",this._groupId=u++}return Object.defineProperty(e.proto
 type,"linear",{get:function(){return this._linear},set:function(e){this._linear=o.coerceBooleanProperty(e)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"selectedIndex",{get:function(){return this._selectedIndex},set:function(e){if(this._steps){if(e<0||e>this._steps.length-1)throw Error("cdkStepper: Cannot assign out-of-bounds value to `selectedIndex`.");this._anyControlsInvalidOrPending(e)||e<this._selectedIndex&&!this._steps.toArray()[e].editable?this._stepHeader.toArray()[e].nativeElement.blur():this._selectedIndex!=e&&(this._emitStepperSelectionEvent(e),this._focusIndex=this._selectedIndex)}else this._selectedIndex=this._focusIndex=e},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"selected",{get:function(){return this._steps.toArray()[this.selectedIndex]},set:function(e){this.selectedIndex=this._steps.toArray().indexOf(e)},enumerable:!0,configurable:!0}),e.prototype.ngOnDestroy=function(){this._destroyed.next(),this._destroyed.complete()}
 ,e.prototype.next=function(){this.selectedIndex=Math.min(this._selectedIndex+1,this._steps.length-1)},e.prototype.previous=function(){this.selectedIndex=Math.max(this._selectedIndex-1,0)},e.prototype.reset=function(){this.selectedIndex=0,this._steps.forEach(function(e){return e.reset()}),this._stateChanged()},e.prototype._getStepLabelId=function(e){return"cdk-step-label-"+this._groupId+"-"+e},e.prototype._getStepContentId=function(e){return"cdk-step-content-"+this._groupId+"-"+e},e.prototype._stateChanged=function(){this._changeDetectorRef.markForCheck()},e.prototype._getAnimationDirection=function(e){var t=e-this._selectedIndex;return t<0?"rtl"===this._layoutDirection()?"next":"previous":t>0?"rtl"===this._layoutDirection()?"previous":"next":"current"},e.prototype._getIndicatorType=function(e){var t=this._steps.toArray()[e];return t.completed&&this._selectedIndex!=e?t.editable?"edit":"done":"number"},e.prototype._emitStepperSelectionEvent=function(e){var t=this._steps.toArray();this
 .selectionChange.emit({selectedIndex:e,previouslySelectedIndex:this._selectedIndex,selectedStep:t[e],previouslySelectedStep:t[this._selectedIndex]}),this._selectedIndex=e,this._stateChanged()},e.prototype._onKeydown=function(e){var t=e.keyCode;t===n.RIGHT_ARROW&&("rtl"===this._layoutDirection()?this._focusPreviousStep():this._focusNextStep(),e.preventDefault()),t===n.LEFT_ARROW&&("rtl"===this._layoutDirection()?this._focusNextStep():this._focusPreviousStep(),e.preventDefault()),"vertical"!==this._orientation||t!==n.UP_ARROW&&t!==n.DOWN_ARROW||(t===n.UP_ARROW?this._focusPreviousStep():this._focusNextStep(),e.preventDefault()),t!==n.SPACE&&t!==n.ENTER||(this.selectedIndex=this._focusIndex,e.preventDefault()),t===n.HOME&&(this._focusStep(0),e.preventDefault()),t===n.END&&(this._focusStep(this._steps.length-1),e.preventDefault())},e.prototype._focusNextStep=function(){this._focusStep((this._focusIndex+1)%this._steps.length)},e.prototype._focusPreviousStep=function(){this._focusStep((thi
 s._focusIndex+this._steps.length-1)%this._steps.length)},e.prototype._focusStep=function(e){this._focusIndex=e,this._stepHeader.toArray()[this._focusIndex].nativeElement.focus()},e.prototype._anyControlsInvalidOrPending=function(e){var t=this._steps.toArray();return t[this._selectedIndex].interacted=!0,!!(this._linear&&e>=0)&&t.slice(0,e).some(function(e){var t=e.stepControl;return(t?t.invalid||t.pending:!e.completed)&&!e.optional})},e.prototype._layoutDirection=function(){return this._dir&&"rtl"===this._dir.value?"rtl":"ltr"},e.decorators=[{type:t.Directive,args:[{selector:"[cdkStepper]",exportAs:"cdkStepper"}]}],e.ctorParameters=function(){return[{type:s.Directionality,decorators:[{type:t.Optional}]},{type:t.ChangeDetectorRef}]},e.propDecorators={_steps:[{type:t.ContentChildren,args:[d]}],linear:[{type:t.Input}],selectedIndex:[{type:t.Input}],selected:[{type:t.Input}],selectionChange:[{type:t.Output}]},e}(),h=function(){function e(e){this._stepper=e,this.type="submit"}return e.dec
 orators=[{type:t.Directive,args:[{selector:"button[cdkStepperNext]",host:{"(click)":"_stepper.next()","[type]":"type"}}]}],e.ctorParameters=function(){return[{type:l}]},e.propDecorators={type:[{type:t.Input}]},e}(),f=function(){function e(e){this._stepper=e,this.type="button"}return e.decorators=[{type:t.Directive,args:[{selector:"button[cdkStepperPrevious]",host:{"(click)":"_stepper.previous()","[type]":"type"}}]}],e.ctorParameters=function(){return[{type:l}]},e.propDecorators={type:[{type:t.Input}]},e}(),_=function(){function e(){}return e.decorators=[{type:t.NgModule,args:[{imports:[s.BidiModule,p.CommonModule],exports:[d,l,c,h,f],declarations:[d,l,c,h,f]}]}],e.ctorParameters=function(){return[]},e}();e.StepperSelectionEvent=a,e.CdkStep=d,e.CdkStepper=l,e.CdkStepLabel=c,e.CdkStepperNext=h,e.CdkStepperPrevious=f,e.CdkStepperModule=_,Object.defineProperty(e,"__esModule",{value:!0})});
+//# sourceMappingURL=cdk-stepper.umd.min.js.map

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/eec354e6/node_modules/@angular/cdk/bundles/cdk-stepper.umd.min.js.map
----------------------------------------------------------------------
diff --git a/node_modules/@angular/cdk/bundles/cdk-stepper.umd.min.js.map b/node_modules/@angular/cdk/bundles/cdk-stepper.umd.min.js.map
new file mode 100644
index 0000000..1ac6201
--- /dev/null
+++ b/node_modules/@angular/cdk/bundles/cdk-stepper.umd.min.js.map
@@ -0,0 +1 @@
+{"version":3,"file":"cdk-stepper.umd.min.js","sources":["../../src/cdk/stepper/step-label.ts","../../src/cdk/stepper/stepper.ts","../../src/cdk/stepper/stepper-button.ts","../../src/cdk/stepper/stepper-module.ts"],"sourcesContent":["/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {Directive, TemplateRef} from '@angular/core';\n\n@Directive({\n  selector: '[cdkStepLabel]',\n})\nexport class CdkStepLabel {\n  constructor(/** @docs-private */ public template: TemplateRef<any>) { }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {\n  ContentChildren,\n  EventEmitter,\n  Input,\n  Output,\n  QueryList,\n  Directive,\n  ElementRef,\n  Component,\n 
  ContentChild,\n  ViewChild,\n  TemplateRef,\n  ViewEncapsulation,\n  Optional,\n  Inject,\n  forwardRef,\n  ChangeDetectionStrategy,\n  ChangeDetectorRef,\n  OnChanges,\n  OnDestroy\n} from '@angular/core';\nimport {\n  LEFT_ARROW,\n  RIGHT_ARROW,\n  DOWN_ARROW,\n  UP_ARROW,\n  ENTER,\n  SPACE,\n  HOME,\n  END,\n} from '@angular/cdk/keycodes';\nimport {CdkStepLabel} from './step-label';\nimport {coerceBooleanProperty} from '@angular/cdk/coercion';\nimport {AbstractControl} from '@angular/forms';\nimport {Direction, Directionality} from '@angular/cdk/bidi';\nimport {Subject} from 'rxjs/Subject';\n\n/** Used to generate unique ID for each stepper component. */\nlet nextId = 0;\n\n/**\n * Position state of the content of each step in stepper that is used for transitioning\n * the content into correct position upon step selection change.\n */\nexport type StepContentPositionState = 'previous' | 'current' | 'next';\n\n/** Possible orientation of a stepper. */\nexport type StepperOrienta
 tion = 'horizontal' | 'vertical';\n\n/** Change event emitted on selection changes. */\nexport class StepperSelectionEvent {\n  /** Index of the step now selected. */\n  selectedIndex: number;\n\n  /** Index of the step previously selected. */\n  previouslySelectedIndex: number;\n\n  /** The step instance now selected. */\n  selectedStep: CdkStep;\n\n  /** The step instance previously selected. */\n  previouslySelectedStep: CdkStep;\n}\n\n@Component({\n  moduleId: module.id,\n  selector: 'cdk-step',\n  exportAs: 'cdkStep',\n  templateUrl: 'step.html',\n  encapsulation: ViewEncapsulation.None,\n  preserveWhitespaces: false,\n  changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class CdkStep implements OnChanges {\n  /** Template for step label if it exists. */\n  @ContentChild(CdkStepLabel) stepLabel: CdkStepLabel;\n\n  /** Template for step content. */\n  @ViewChild(TemplateRef) content: TemplateRef<any>;\n\n  /** The top level abstract control of the step. */\n  @Input() 
 stepControl: AbstractControl;\n\n  /** Whether user has seen the expanded step content or not. */\n  interacted = false;\n\n  /** Label of the step. */\n  @Input() label: string;\n\n  /** Whether the user can return to this step once it has been marked as complted. */\n  @Input()\n  get editable(): boolean { return this._editable; }\n  set editable(value: boolean) {\n    this._editable = coerceBooleanProperty(value);\n  }\n  private _editable = true;\n\n  /** Whether the completion of step is optional. */\n  @Input()\n  get optional(): boolean { return this._optional; }\n  set optional(value: boolean) {\n    this._optional = coerceBooleanProperty(value);\n  }\n  private _optional = false;\n\n  /** Whether step is marked as completed. */\n  @Input()\n  get completed(): boolean {\n    return this._customCompleted == null ? this._defaultCompleted : this._customCompleted;\n  }\n  set completed(value: boolean) {\n    this._customCompleted = coerceBooleanProperty(value);\n  }\n  private _
 customCompleted: boolean | null = null;\n\n  private get _defaultCompleted() {\n    return this.stepControl ? this.stepControl.valid && this.interacted : this.interacted;\n  }\n\n  constructor(@Inject(forwardRef(() => CdkStepper)) private _stepper: CdkStepper) { }\n\n  /** Selects this step component. */\n  select(): void {\n    this._stepper.selected = this;\n  }\n\n  /** Resets the step to its initial state. Note that this includes resetting form data. */\n  reset(): void {\n    this.interacted = false;\n\n    if (this._customCompleted != null) {\n      this._customCompleted = false;\n    }\n\n    if (this.stepControl) {\n      this.stepControl.reset();\n    }\n  }\n\n  ngOnChanges() {\n    // Since basically all inputs of the MatStep get proxied through the view down to the\n    // underlying MatStepHeader, we have to make sure that change detection runs correctly.\n    this._stepper._stateChanged();\n  }\n}\n\n@Directive({\n  selector: '[cdkStepper]',\n  exportAs: 'cdkStepper',\
 n})\nexport class CdkStepper implements OnDestroy {\n  /** Emits when the component is destroyed. */\n  protected _destroyed = new Subject<void>();\n\n  /** The list of step components that the stepper is holding. */\n  @ContentChildren(CdkStep) _steps: QueryList<CdkStep>;\n\n  /** The list of step headers of the steps in the stepper. */\n  _stepHeader: QueryList<ElementRef>;\n\n  /** Whether the validity of previous steps should be checked or not. */\n  @Input()\n  get linear(): boolean { return this._linear; }\n  set linear(value: boolean) { this._linear = coerceBooleanProperty(value); }\n  private _linear = false;\n\n  /** The index of the selected step. */\n  @Input()\n  get selectedIndex() { return this._selectedIndex; }\n  set selectedIndex(index: number) {\n    if (this._steps) {\n      // Ensure that the index can't be out of bounds.\n      if (index < 0 || index > this._steps.length - 1) {\n        throw Error('cdkStepper: Cannot assign out-of-bounds value to `selectedIndex
 `.');\n      }\n\n      if (this._anyControlsInvalidOrPending(index) || index < this._selectedIndex &&\n          !this._steps.toArray()[index].editable) {\n        // remove focus from clicked step header if the step is not able to be selected\n        this._stepHeader.toArray()[index].nativeElement.blur();\n      } else if (this._selectedIndex != index) {\n        this._emitStepperSelectionEvent(index);\n        this._focusIndex = this._selectedIndex;\n      }\n    } else {\n      this._selectedIndex = this._focusIndex = index;\n    }\n  }\n  private _selectedIndex = 0;\n\n  /** The step that is selected. */\n  @Input()\n  get selected(): CdkStep { return this._steps.toArray()[this.selectedIndex]; }\n  set selected(step: CdkStep) {\n    this.selectedIndex = this._steps.toArray().indexOf(step);\n  }\n\n  /** Event emitted when the selected step has changed. */\n  @Output() selectionChange: EventEmitter<StepperSelectionEvent>\n      = new EventEmitter<StepperSelectionEvent>();\n\n  
 /** The index of the step that the focus can be set. */\n  _focusIndex: number = 0;\n\n  /** Used to track unique ID for each stepper component. */\n  _groupId: number;\n\n  protected _orientation: StepperOrientation = 'horizontal';\n\n  constructor(\n    @Optional() private _dir: Directionality,\n    private _changeDetectorRef: ChangeDetectorRef) {\n    this._groupId = nextId++;\n  }\n\n  ngOnDestroy() {\n    this._destroyed.next();\n    this._destroyed.complete();\n  }\n\n  /** Selects and focuses the next step in list. */\n  next(): void {\n    this.selectedIndex = Math.min(this._selectedIndex + 1, this._steps.length - 1);\n  }\n\n  /** Selects and focuses the previous step in list. */\n  previous(): void {\n    this.selectedIndex = Math.max(this._selectedIndex - 1, 0);\n  }\n\n  /** Resets the stepper to its initial state. Note that this includes clearing form data. */\n  reset(): void {\n    this.selectedIndex = 0;\n    this._steps.forEach(step => step.reset());\n    this._stat
 eChanged();\n  }\n\n  /** Returns a unique id for each step label element. */\n  _getStepLabelId(i: number): string {\n    return `cdk-step-label-${this._groupId}-${i}`;\n  }\n\n  /** Returns unique id for each step content element. */\n  _getStepContentId(i: number): string {\n    return `cdk-step-content-${this._groupId}-${i}`;\n  }\n\n  /** Marks the component to be change detected. */\n  _stateChanged() {\n    this._changeDetectorRef.markForCheck();\n  }\n\n  /** Returns position state of the step with the given index. */\n  _getAnimationDirection(index: number): StepContentPositionState {\n    const position = index - this._selectedIndex;\n    if (position < 0) {\n      return this._layoutDirection() === 'rtl' ? 'next' : 'previous';\n    } else if (position > 0) {\n      return this._layoutDirection() === 'rtl' ? 'previous' : 'next';\n    }\n    return 'current';\n  }\n\n  /** Returns the type of icon to be displayed. */\n  _getIndicatorType(index: number): 'number' | 'edit' | 
 'done' {\n    const step = this._steps.toArray()[index];\n    if (!step.completed || this._selectedIndex == index) {\n      return 'number';\n    } else {\n      return step.editable ? 'edit' : 'done';\n    }\n  }\n\n  private _emitStepperSelectionEvent(newIndex: number): void {\n    const stepsArray = this._steps.toArray();\n    this.selectionChange.emit({\n      selectedIndex: newIndex,\n      previouslySelectedIndex: this._selectedIndex,\n      selectedStep: stepsArray[newIndex],\n      previouslySelectedStep: stepsArray[this._selectedIndex],\n    });\n    this._selectedIndex = newIndex;\n    this._stateChanged();\n  }\n\n  _onKeydown(event: KeyboardEvent) {\n    const keyCode = event.keyCode;\n\n    // Note that the left/right arrows work both in vertical and horizontal mode.\n    if (keyCode === RIGHT_ARROW) {\n      this._layoutDirection() === 'rtl' ? this._focusPreviousStep() : this._focusNextStep();\n      event.preventDefault();\n    }\n\n    if (keyCode === LEFT_ARROW) {\n
       this._layoutDirection() === 'rtl' ? this._focusNextStep() : this._focusPreviousStep();\n      event.preventDefault();\n    }\n\n    // Note that the up/down arrows only work in vertical mode.\n    // See: https://www.w3.org/TR/wai-aria-practices-1.1/#tabpanel\n    if (this._orientation === 'vertical' && (keyCode === UP_ARROW || keyCode === DOWN_ARROW)) {\n      keyCode === UP_ARROW ? this._focusPreviousStep() : this._focusNextStep();\n      event.preventDefault();\n    }\n\n    if (keyCode === SPACE || keyCode === ENTER) {\n      this.selectedIndex = this._focusIndex;\n      event.preventDefault();\n    }\n\n    if (keyCode === HOME) {\n      this._focusStep(0);\n      event.preventDefault();\n    }\n\n    if (keyCode === END) {\n      this._focusStep(this._steps.length - 1);\n      event.preventDefault();\n    }\n  }\n\n  private _focusNextStep() {\n    this._focusStep((this._focusIndex + 1) % this._steps.length);\n  }\n\n  private _focusPreviousStep() {\n    this._focusStep(
 (this._focusIndex + this._steps.length - 1) % this._steps.length);\n  }\n\n  private _focusStep(index: number) {\n    this._focusIndex = index;\n    this._stepHeader.toArray()[this._focusIndex].nativeElement.focus();\n  }\n\n  private _anyControlsInvalidOrPending(index: number): boolean {\n    const steps = this._steps.toArray();\n\n    steps[this._selectedIndex].interacted = true;\n\n    if (this._linear && index >= 0) {\n      return steps.slice(0, index).some(step => {\n        const control = step.stepControl;\n        const isIncomplete = control ? (control.invalid || control.pending) : !step.completed;\n        return isIncomplete && !step.optional;\n      });\n    }\n\n    return false;\n  }\n\n  private _layoutDirection(): Direction {\n    return this._dir && this._dir.value === 'rtl' ? 'rtl' : 'ltr';\n  }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICE
 NSE file at https://angular.io/license\n */\n\nimport {Directive, Input} from '@angular/core';\nimport {CdkStepper} from './stepper';\n\n/** Button that moves to the next step in a stepper workflow. */\n@Directive({\n  selector: 'button[cdkStepperNext]',\n  host: {\n    '(click)': '_stepper.next()',\n    '[type]': 'type',\n  }\n})\nexport class CdkStepperNext {\n  /** Type of the next button. Defaults to \"submit\" if not specified. */\n  @Input() type: string = 'submit';\n\n  constructor(public _stepper: CdkStepper) {}\n}\n\n/** Button that moves to the previous step in a stepper workflow. */\n@Directive({\n  selector: 'button[cdkStepperPrevious]',\n  host: {\n    '(click)': '_stepper.previous()',\n    '[type]': 'type',\n  }\n})\nexport class CdkStepperPrevious {\n  /** Type of the previous button. Defaults to \"button\" if not specified. */\n  @Input() type: string = 'button';\n\n  constructor(public _stepper: CdkStepper) {}\n}\n","/**\n * @license\n * Copyright Google LLC All Rig
 hts Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {NgModule} from '@angular/core';\nimport {CdkStepper, CdkStep} from './stepper';\nimport {CommonModule} from '@angular/common';\nimport {CdkStepLabel} from './step-label';\nimport {CdkStepperNext, CdkStepperPrevious} from './stepper-button';\nimport {BidiModule} from '@angular/cdk/bidi';\n\n@NgModule({\n  imports: [BidiModule, CommonModule],\n  exports: [CdkStep, CdkStepper, CdkStepLabel, CdkStepperNext, CdkStepperPrevious],\n  declarations: [CdkStep, CdkStepper, CdkStepLabel, CdkStepperNext, CdkStepperPrevious]\n})\nexport class CdkStepperModule {}\n"],"names":["CdkStepLabel","template","this","type","Directive","args","selector","TemplateRef","nextId","StepperSelectionEvent","CdkStep","_stepper","interacted","_editable","_optional","_customCompleted","Object","defineProperty","prototype","value","coerceBooleanPrope
 rty","_defaultCompleted","stepControl","valid","select","selected","reset","ngOnChanges","_stateChanged","Component","exportAs","encapsulation","ViewEncapsulation","None","preserveWhitespaces","changeDetection","ChangeDetectionStrategy","OnPush","propDecorators","Input","label","editable","optional","completed","CdkStepper","_changeDetectorRef","_selectedIndex","_groupId","get","configurable","index","_steps","length","_anyControlsInvalidOrPending","toArray","_stepHeader","nativeElement","blur","_emitStepperSelectionEvent","_focusIndex","enumerable","_destroyed","complete","forEach","step","position","_layoutDirection","selectionChange","emit","selectedIndex","newIndex","previouslySelectedIndex","selectedStep","stepsArray","previouslySelectedStep","keyCode","RIGHT_ARROW","event","preventDefault","LEFT_ARROW","_focusNextStep","_focusPreviousStep","SPACE","ENTER","HOME","_focusStep","END","focus","steps","_linear","slice","some","control","invalid","pending","decorators","Output","Cdk
 StepperNext","host","(click)","[type]","CdkStepperPrevious","CdkStepperModule","NgModule","imports","BidiModule","CommonModule","exports","declarations"],"mappings":"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"}
\ No newline at end of file


[31/59] [abbrv] [partial] nifi-fds git commit: update gh-pages

Posted by sc...@apache.org.
http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/eec354e6/node_modules/@angular/animations/esm5/animations.js
----------------------------------------------------------------------
diff --git a/node_modules/@angular/animations/esm5/animations.js b/node_modules/@angular/animations/esm5/animations.js
new file mode 100644
index 0000000..c612650
--- /dev/null
+++ b/node_modules/@angular/animations/esm5/animations.js
@@ -0,0 +1,1644 @@
+/**
+ * @license Angular v5.2.0
+ * (c) 2010-2018 Google, Inc. https://angular.io/
+ * License: MIT
+ */
+/**
+ * @fileoverview added by tsickle
+ * @suppress {checkTypes} checked by tsc
+ */
+/**
+ * AnimationBuilder is an injectable service that is available when the {\@link
+ * BrowserAnimationsModule BrowserAnimationsModule} or {\@link NoopAnimationsModule
+ * NoopAnimationsModule} modules are used within an application.
+ *
+ * The purpose if this service is to produce an animation sequence programmatically within an
+ * angular component or directive.
+ *
+ * Programmatic animations are first built and then a player is created when the build animation is
+ * attached to an element.
+ *
+ * ```ts
+ * // remember to include the BrowserAnimationsModule module for this to work...
+ * import {AnimationBuilder} from '\@angular/animations';
+ *
+ * class MyCmp {
+ *   constructor(private _builder: AnimationBuilder) {}
+ *
+ *   makeAnimation(element: any) {
+ *     // first build the animation
+ *     const myAnimation = this._builder.build([
+ *       style({ width: 0 }),
+ *       animate(1000, style({ width: '100px' }))
+ *     ]);
+ *
+ *     // then create a player from it
+ *     const player = myAnimation.create(element);
+ *
+ *     player.play();
+ *   }
+ * }
+ * ```
+ *
+ * When an animation is built an instance of {\@link AnimationFactory AnimationFactory} will be
+ * returned. Using that an {\@link AnimationPlayer AnimationPlayer} can be created which can then be
+ * used to start the animation.
+ *
+ * \@experimental Animation support is experimental.
+ * @abstract
+ */
+var AnimationBuilder = /** @class */ (function () {
+    function AnimationBuilder() {
+    }
+    return AnimationBuilder;
+}());
+/**
+ * An instance of `AnimationFactory` is returned from {\@link AnimationBuilder#build
+ * AnimationBuilder.build}.
+ *
+ * \@experimental Animation support is experimental.
+ * @abstract
+ */
+var AnimationFactory = /** @class */ (function () {
+    function AnimationFactory() {
+    }
+    return AnimationFactory;
+}());
+
+/**
+ * @fileoverview added by tsickle
+ * @suppress {checkTypes} checked by tsc
+ */
+/**
+ * @license
+ * Copyright Google Inc. All Rights Reserved.
+ *
+ * Use of this source code is governed by an MIT-style license that can be
+ * found in the LICENSE file at https://angular.io/license
+ * @record
+ */
+
+/**
+ * \@experimental Animation support is experimental.
+ */
+var AUTO_STYLE = '*';
+/**
+ * \@experimental Animation support is experimental.
+ * @record
+ */
+
+/**
+ * Metadata representing the entry of animations. Instances of this interface are provided via the
+ * animation DSL when the {\@link trigger trigger animation function} is called.
+ *
+ * \@experimental Animation support is experimental.
+ * @record
+ */
+
+/**
+ * Metadata representing the entry of animations. Instances of this interface are provided via the
+ * animation DSL when the {\@link state state animation function} is called.
+ *
+ * \@experimental Animation support is experimental.
+ * @record
+ */
+
+/**
+ * Metadata representing the entry of animations. Instances of this interface are provided via the
+ * animation DSL when the {\@link transition transition animation function} is called.
+ *
+ * \@experimental Animation support is experimental.
+ * @record
+ */
+
+/**
+ * \@experimental Animation support is experimental.
+ * @record
+ */
+
+/**
+ * \@experimental Animation support is experimental.
+ * @record
+ */
+
+/**
+ * Metadata representing the entry of animations. Instances of this interface are provided via the
+ * animation DSL when the {\@link keyframes keyframes animation function} is called.
+ *
+ * \@experimental Animation support is experimental.
+ * @record
+ */
+
+/**
+ * Metadata representing the entry of animations. Instances of this interface are provided via the
+ * animation DSL when the {\@link style style animation function} is called.
+ *
+ * \@experimental Animation support is experimental.
+ * @record
+ */
+
+/**
+ * Metadata representing the entry of animations. Instances of this interface are provided via the
+ * animation DSL when the {\@link animate animate animation function} is called.
+ *
+ * \@experimental Animation support is experimental.
+ * @record
+ */
+
+/**
+ * Metadata representing the entry of animations. Instances of this interface are provided via the
+ * animation DSL when the {\@link animateChild animateChild animation function} is called.
+ *
+ * \@experimental Animation support is experimental.
+ * @record
+ */
+
+/**
+ * Metadata representing the entry of animations. Instances of this interface are provided via the
+ * animation DSL when the {\@link useAnimation useAnimation animation function} is called.
+ *
+ * \@experimental Animation support is experimental.
+ * @record
+ */
+
+/**
+ * Metadata representing the entry of animations. Instances of this interface are provided via the
+ * animation DSL when the {\@link sequence sequence animation function} is called.
+ *
+ * \@experimental Animation support is experimental.
+ * @record
+ */
+
+/**
+ * Metadata representing the entry of animations. Instances of this interface are provided via the
+ * animation DSL when the {\@link group group animation function} is called.
+ *
+ * \@experimental Animation support is experimental.
+ * @record
+ */
+
+/**
+ * Metadata representing the entry of animations. Instances of this interface are provided via the
+ * animation DSL when the {\@link stagger stagger animation function} is called.
+ *
+ * \@experimental Animation support is experimental.
+ * @record
+ */
+
+/**
+ * `trigger` is an animation-specific function that is designed to be used inside of Angular's
+ * animation DSL language. If this information is new, please navigate to the
+ * {\@link Component#animations component animations metadata page} to gain a better
+ * understanding of how animations in Angular are used.
+ *
+ * `trigger` Creates an animation trigger which will a list of {\@link state state} and
+ * {\@link transition transition} entries that will be evaluated when the expression
+ * bound to the trigger changes.
+ *
+ * Triggers are registered within the component annotation data under the
+ * {\@link Component#animations animations section}. An animation trigger can be placed on an element
+ * within a template by referencing the name of the trigger followed by the expression value that
+ * the
+ * trigger is bound to (in the form of `[\@triggerName]="expression"`.
+ *
+ * Animation trigger bindings strigify values and then match the previous and current values against
+ * any linked transitions. If a boolean value is provided into the trigger binding then it will both
+ * be represented as `1` or `true` and `0` or `false` for a true and false boolean values
+ * respectively.
+ *
+ * ### Usage
+ *
+ * `trigger` will create an animation trigger reference based on the provided `name` value. The
+ * provided `animation` value is expected to be an array consisting of {\@link state state} and
+ * {\@link transition transition} declarations.
+ *
+ * ```typescript
+ * \@Component({
+ *   selector: 'my-component',
+ *   templateUrl: 'my-component-tpl.html',
+ *   animations: [
+ *     trigger("myAnimationTrigger", [
+ *       state(...),
+ *       state(...),
+ *       transition(...),
+ *       transition(...)
+ *     ])
+ *   ]
+ * })
+ * class MyComponent {
+ *   myStatusExp = "something";
+ * }
+ * ```
+ *
+ * The template associated with this component will make use of the `myAnimationTrigger` animation
+ * trigger by binding to an element within its template code.
+ *
+ * ```html
+ * <!-- somewhere inside of my-component-tpl.html -->
+ * <div [\@myAnimationTrigger]="myStatusExp">...</div>
+ * ```
+ *
+ * ## Disable Animations
+ * A special animation control binding called `\@.disabled` can be placed on an element which will
+ * then disable animations for any inner animation triggers situated within the element as well as
+ * any animations on the element itself.
+ *
+ * When true, the `\@.disabled` binding will prevent all animations from rendering. The example
+ * below shows how to use this feature:
+ *
+ * ```ts
+ * \@Component({
+ *   selector: 'my-component',
+ *   template: `
+ *     <div [\@.disabled]="isDisabled">
+ *       <div [\@childAnimation]="exp"></div>
+ *     </div>
+ *   `,
+ *   animations: [
+ *     trigger("childAnimation", [
+ *       // ...
+ *     ])
+ *   ]
+ * })
+ * class MyComponent {
+ *   isDisabled = true;
+ *   exp = '...';
+ * }
+ * ```
+ *
+ * The `\@childAnimation` trigger will not animate because `\@.disabled` prevents it from happening
+ * (when true).
+ *
+ * Note that `\@.disbled` will only disable all animations (this means any animations running on
+ * the same element will also be disabled).
+ *
+ * ### Disabling Animations Application-wide
+ * When an area of the template is set to have animations disabled, **all** inner components will
+ * also have their animations disabled as well. This means that all animations for an angular
+ * application can be disabled by placing a host binding set on `\@.disabled` on the topmost Angular
+ * component.
+ *
+ * ```ts
+ * import {Component, HostBinding} from '\@angular/core';
+ *
+ * \@Component({
+ *   selector: 'app-component',
+ *   templateUrl: 'app.component.html',
+ * })
+ * class AppComponent {
+ *   \@HostBinding('\@.disabled')
+ *   public animationsDisabled = true;
+ * }
+ * ```
+ *
+ * ### What about animations that us `query()` and `animateChild()`?
+ * Despite inner animations being disabled, a parent animation can {\@link query query} for inner
+ * elements located in disabled areas of the template and still animate them as it sees fit. This is
+ * also the case for when a sub animation is queried by a parent and then later animated using {\@link
+ * animateChild animateChild}.
+ *
+ * \@experimental Animation support is experimental.
+ * @param {?} name
+ * @param {?} definitions
+ * @return {?}
+ */
+function trigger(name, definitions) {
+    return { type: 7 /* Trigger */, name: name, definitions: definitions, options: {} };
+}
+/**
+ * `animate` is an animation-specific function that is designed to be used inside of Angular's
+ * animation DSL language. If this information is new, please navigate to the {\@link
+ * Component#animations component animations metadata page} to gain a better understanding of
+ * how animations in Angular are used.
+ *
+ * `animate` specifies an animation step that will apply the provided `styles` data for a given
+ * amount of time based on the provided `timing` expression value. Calls to `animate` are expected
+ * to be used within {\@link sequence an animation sequence}, {\@link group group}, or {\@link
+ * transition transition}.
+ *
+ * ### Usage
+ *
+ * The `animate` function accepts two input parameters: `timing` and `styles`:
+ *
+ * - `timing` is a string based value that can be a combination of a duration with optional delay
+ * and easing values. The format for the expression breaks down to `duration delay easing`
+ * (therefore a value such as `1s 100ms ease-out` will be parse itself into `duration=1000,
+ * delay=100, easing=ease-out`. If a numeric value is provided then that will be used as the
+ * `duration` value in millisecond form.
+ * - `styles` is the style input data which can either be a call to {\@link style style} or {\@link
+ * keyframes keyframes}. If left empty then the styles from the destination state will be collected
+ * and used (this is useful when describing an animation step that will complete an animation by
+ * {\@link transition#the-final-animate-call animating to the final state}).
+ *
+ * ```typescript
+ * // various functions for specifying timing data
+ * animate(500, style(...))
+ * animate("1s", style(...))
+ * animate("100ms 0.5s", style(...))
+ * animate("5s ease", style(...))
+ * animate("5s 10ms cubic-bezier(.17,.67,.88,.1)", style(...))
+ *
+ * // either style() of keyframes() can be used
+ * animate(500, style({ background: "red" }))
+ * animate(500, keyframes([
+ *   style({ background: "blue" })),
+ *   style({ background: "red" }))
+ * ])
+ * ```
+ *
+ * {\@example core/animation/ts/dsl/animation_example.ts region='Component'}
+ *
+ * \@experimental Animation support is experimental.
+ * @param {?} timings
+ * @param {?=} styles
+ * @return {?}
+ */
+function animate(timings, styles) {
+    if (styles === void 0) { styles = null; }
+    return { type: 4 /* Animate */, styles: styles, timings: timings };
+}
+/**
+ * `group` is an animation-specific function that is designed to be used inside of Angular's
+ * animation DSL language. If this information is new, please navigate to the {\@link
+ * Component#animations component animations metadata page} to gain a better understanding of
+ * how animations in Angular are used.
+ *
+ * `group` specifies a list of animation steps that are all run in parallel. Grouped animations are
+ * useful when a series of styles must be animated/closed off at different starting/ending times.
+ *
+ * The `group` function can either be used within a {\@link sequence sequence} or a {\@link transition
+ * transition} and it will only continue to the next instruction once all of the inner animation
+ * steps have completed.
+ *
+ * ### Usage
+ *
+ * The `steps` data that is passed into the `group` animation function can either consist of {\@link
+ * style style} or {\@link animate animate} function calls. Each call to `style()` or `animate()`
+ * within a group will be executed instantly (use {\@link keyframes keyframes} or a {\@link
+ * animate#usage animate() with a delay value} to offset styles to be applied at a later time).
+ *
+ * ```typescript
+ * group([
+ *   animate("1s", { background: "black" }))
+ *   animate("2s", { color: "white" }))
+ * ])
+ * ```
+ *
+ * {\@example core/animation/ts/dsl/animation_example.ts region='Component'}
+ *
+ * \@experimental Animation support is experimental.
+ * @param {?} steps
+ * @param {?=} options
+ * @return {?}
+ */
+function group(steps, options) {
+    if (options === void 0) { options = null; }
+    return { type: 3 /* Group */, steps: steps, options: options };
+}
+/**
+ * `sequence` is an animation-specific function that is designed to be used inside of Angular's
+ * animation DSL language. If this information is new, please navigate to the {\@link
+ * Component#animations component animations metadata page} to gain a better understanding of
+ * how animations in Angular are used.
+ *
+ * `sequence` Specifies a list of animation steps that are run one by one. (`sequence` is used by
+ * default when an array is passed as animation data into {\@link transition transition}.)
+ *
+ * The `sequence` function can either be used within a {\@link group group} or a {\@link transition
+ * transition} and it will only continue to the next instruction once each of the inner animation
+ * steps have completed.
+ *
+ * To perform animation styling in parallel with other animation steps then have a look at the
+ * {\@link group group} animation function.
+ *
+ * ### Usage
+ *
+ * The `steps` data that is passed into the `sequence` animation function can either consist of
+ * {\@link style style} or {\@link animate animate} function calls. A call to `style()` will apply the
+ * provided styling data immediately while a call to `animate()` will apply its styling data over a
+ * given time depending on its timing data.
+ *
+ * ```typescript
+ * sequence([
+ *   style({ opacity: 0 })),
+ *   animate("1s", { opacity: 1 }))
+ * ])
+ * ```
+ *
+ * {\@example core/animation/ts/dsl/animation_example.ts region='Component'}
+ *
+ * \@experimental Animation support is experimental.
+ * @param {?} steps
+ * @param {?=} options
+ * @return {?}
+ */
+function sequence(steps, options) {
+    if (options === void 0) { options = null; }
+    return { type: 2 /* Sequence */, steps: steps, options: options };
+}
+/**
+ * `style` is an animation-specific function that is designed to be used inside of Angular's
+ * animation DSL language. If this information is new, please navigate to the {\@link
+ * Component#animations component animations metadata page} to gain a better understanding of
+ * how animations in Angular are used.
+ *
+ * `style` declares a key/value object containing CSS properties/styles that can then be used for
+ * {\@link state animation states}, within an {\@link sequence animation sequence}, or as styling data
+ * for both {\@link animate animate} and {\@link keyframes keyframes}.
+ *
+ * ### Usage
+ *
+ * `style` takes in a key/value string map as data and expects one or more CSS property/value pairs
+ * to be defined.
+ *
+ * ```typescript
+ * // string values are used for css properties
+ * style({ background: "red", color: "blue" })
+ *
+ * // numerical (pixel) values are also supported
+ * style({ width: 100, height: 0 })
+ * ```
+ *
+ * #### Auto-styles (using `*`)
+ *
+ * When an asterix (`*`) character is used as a value then it will be detected from the element
+ * being animated and applied as animation data when the animation starts.
+ *
+ * This feature proves useful for a state depending on layout and/or environment factors; in such
+ * cases the styles are calculated just before the animation starts.
+ *
+ * ```typescript
+ * // the steps below will animate from 0 to the
+ * // actual height of the element
+ * style({ height: 0 }),
+ * animate("1s", style({ height: "*" }))
+ * ```
+ *
+ * {\@example core/animation/ts/dsl/animation_example.ts region='Component'}
+ *
+ * \@experimental Animation support is experimental.
+ * @param {?} tokens
+ * @return {?}
+ */
+function style(tokens) {
+    return { type: 6 /* Style */, styles: tokens, offset: null };
+}
+/**
+ * `state` is an animation-specific function that is designed to be used inside of Angular's
+ * animation DSL language. If this information is new, please navigate to the {\@link
+ * Component#animations component animations metadata page} to gain a better understanding of
+ * how animations in Angular are used.
+ *
+ * `state` declares an animation state within the given trigger. When a state is active within a
+ * component then its associated styles will persist on the element that the trigger is attached to
+ * (even when the animation ends).
+ *
+ * To animate between states, have a look at the animation {\@link transition transition} DSL
+ * function. To register states to an animation trigger please have a look at the {\@link trigger
+ * trigger} function.
+ *
+ * #### The `void` state
+ *
+ * The `void` state value is a reserved word that angular uses to determine when the element is not
+ * apart of the application anymore (e.g. when an `ngIf` evaluates to false then the state of the
+ * associated element is void).
+ *
+ * #### The `*` (default) state
+ *
+ * The `*` state (when styled) is a fallback state that will be used if the state that is being
+ * animated is not declared within the trigger.
+ *
+ * ### Usage
+ *
+ * `state` will declare an animation state with its associated styles
+ * within the given trigger.
+ *
+ * - `stateNameExpr` can be one or more state names separated by commas.
+ * - `styles` refers to the {\@link style styling data} that will be persisted on the element once
+ * the state has been reached.
+ *
+ * ```typescript
+ * // "void" is a reserved name for a state and is used to represent
+ * // the state in which an element is detached from from the application.
+ * state("void", style({ height: 0 }))
+ *
+ * // user-defined states
+ * state("closed", style({ height: 0 }))
+ * state("open, visible", style({ height: "*" }))
+ * ```
+ *
+ * {\@example core/animation/ts/dsl/animation_example.ts region='Component'}
+ *
+ * \@experimental Animation support is experimental.
+ * @param {?} name
+ * @param {?} styles
+ * @param {?=} options
+ * @return {?}
+ */
+function state(name, styles, options) {
+    return { type: 0 /* State */, name: name, styles: styles, options: options };
+}
+/**
+ * `keyframes` is an animation-specific function that is designed to be used inside of Angular's
+ * animation DSL language. If this information is new, please navigate to the {\@link
+ * Component#animations component animations metadata page} to gain a better understanding of
+ * how animations in Angular are used.
+ *
+ * `keyframes` specifies a collection of {\@link style style} entries each optionally characterized
+ * by an `offset` value.
+ *
+ * ### Usage
+ *
+ * The `keyframes` animation function is designed to be used alongside the {\@link animate animate}
+ * animation function. Instead of applying animations from where they are currently to their
+ * destination, keyframes can describe how each style entry is applied and at what point within the
+ * animation arc (much like CSS Keyframe Animations do).
+ *
+ * For each `style()` entry an `offset` value can be set. Doing so allows to specifiy at what
+ * percentage of the animate time the styles will be applied.
+ *
+ * ```typescript
+ * // the provided offset values describe when each backgroundColor value is applied.
+ * animate("5s", keyframes([
+ *   style({ backgroundColor: "red", offset: 0 }),
+ *   style({ backgroundColor: "blue", offset: 0.2 }),
+ *   style({ backgroundColor: "orange", offset: 0.3 }),
+ *   style({ backgroundColor: "black", offset: 1 })
+ * ]))
+ * ```
+ *
+ * Alternatively, if there are no `offset` values used within the style entries then the offsets
+ * will be calculated automatically.
+ *
+ * ```typescript
+ * animate("5s", keyframes([
+ *   style({ backgroundColor: "red" }) // offset = 0
+ *   style({ backgroundColor: "blue" }) // offset = 0.33
+ *   style({ backgroundColor: "orange" }) // offset = 0.66
+ *   style({ backgroundColor: "black" }) // offset = 1
+ * ]))
+ * ```
+ *
+ * {\@example core/animation/ts/dsl/animation_example.ts region='Component'}
+ *
+ * \@experimental Animation support is experimental.
+ * @param {?} steps
+ * @return {?}
+ */
+function keyframes(steps) {
+    return { type: 5 /* Keyframes */, steps: steps };
+}
+/**
+ * `transition` is an animation-specific function that is designed to be used inside of Angular's
+ * animation DSL language. If this information is new, please navigate to the {\@link
+ * Component#animations component animations metadata page} to gain a better understanding of
+ * how animations in Angular are used.
+ *
+ * `transition` declares the {\@link sequence sequence of animation steps} that will be run when the
+ * provided `stateChangeExpr` value is satisfied. The `stateChangeExpr` consists of a `state1 =>
+ * state2` which consists of two known states (use an asterix (`*`) to refer to a dynamic starting
+ * and/or ending state).
+ *
+ * A function can also be provided as the `stateChangeExpr` argument for a transition and this
+ * function will be executed each time a state change occurs. If the value returned within the
+ * function is true then the associated animation will be run.
+ *
+ * Animation transitions are placed within an {\@link trigger animation trigger}. For an transition
+ * to animate to a state value and persist its styles then one or more {\@link state animation
+ * states} is expected to be defined.
+ *
+ * ### Usage
+ *
+ * An animation transition is kicked off the `stateChangeExpr` predicate evaluates to true based on
+ * what the previous state is and what the current state has become. In other words, if a transition
+ * is defined that matches the old/current state criteria then the associated animation will be
+ * triggered.
+ *
+ * ```typescript
+ * // all transition/state changes are defined within an animation trigger
+ * trigger("myAnimationTrigger", [
+ *   // if a state is defined then its styles will be persisted when the
+ *   // animation has fully completed itself
+ *   state("on", style({ background: "green" })),
+ *   state("off", style({ background: "grey" })),
+ *
+ *   // a transition animation that will be kicked off when the state value
+ *   // bound to "myAnimationTrigger" changes from "on" to "off"
+ *   transition("on => off", animate(500)),
+ *
+ *   // it is also possible to do run the same animation for both directions
+ *   transition("on <=> off", animate(500)),
+ *
+ *   // or to define multiple states pairs separated by commas
+ *   transition("on => off, off => void", animate(500)),
+ *
+ *   // this is a catch-all state change for when an element is inserted into
+ *   // the page and the destination state is unknown
+ *   transition("void => *", [
+ *     style({ opacity: 0 }),
+ *     animate(500)
+ *   ]),
+ *
+ *   // this will capture a state change between any states
+ *   transition("* => *", animate("1s 0s")),
+ *
+ *   // you can also go full out and include a function
+ *   transition((fromState, toState) => {
+ *     // when `true` then it will allow the animation below to be invoked
+ *     return fromState == "off" && toState == "on";
+ *   }, animate("1s 0s"))
+ * ])
+ * ```
+ *
+ * The template associated with this component will make use of the `myAnimationTrigger` animation
+ * trigger by binding to an element within its template code.
+ *
+ * ```html
+ * <!-- somewhere inside of my-component-tpl.html -->
+ * <div [\@myAnimationTrigger]="myStatusExp">...</div>
+ * ```
+ *
+ * #### The final `animate` call
+ *
+ * If the final step within the transition steps is a call to `animate()` that **only** uses a
+ * timing value with **no style data** then it will be automatically used as the final animation arc
+ * for the element to animate itself to the final state. This involves an automatic mix of
+ * adding/removing CSS styles so that the element will be in the exact state it should be for the
+ * applied state to be presented correctly.
+ *
+ * ```
+ * // start off by hiding the element, but make sure that it animates properly to whatever state
+ * // is currently active for "myAnimationTrigger"
+ * transition("void => *", [
+ *   style({ opacity: 0 }),
+ *   animate(500)
+ * ])
+ * ```
+ *
+ * ### Using :enter and :leave
+ *
+ * Given that enter (insertion) and leave (removal) animations are so common, the `transition`
+ * function accepts both `:enter` and `:leave` values which are aliases for the `void => *` and `*
+ * => void` state changes.
+ *
+ * ```
+ * transition(":enter", [
+ *   style({ opacity: 0 }),
+ *   animate(500, style({ opacity: 1 }))
+ * ]),
+ * transition(":leave", [
+ *   animate(500, style({ opacity: 0 }))
+ * ])
+ * ```
+ *
+ * ### Boolean values
+ * if a trigger binding value is a boolean value then it can be matched using a transition
+ * expression that compares `true` and `false` or `1` and `0`.
+ *
+ * ```
+ * // in the template
+ * <div [\@openClose]="open ? true : false">...</div>
+ *
+ * // in the component metadata
+ * trigger('openClose', [
+ *   state('true', style({ height: '*' })),
+ *   state('false', style({ height: '0px' })),
+ *   transition('false <=> true', animate(500))
+ * ])
+ * ```
+ *
+ * ### Using :increment and :decrement
+ * In addition to the :enter and :leave transition aliases, the :increment and :decrement aliases
+ * can be used to kick off a transition when a numeric value has increased or decreased in value.
+ *
+ * ```
+ * import {group, animate, query, transition, style, trigger} from '\@angular/animations';
+ * import {Component} from '\@angular/core';
+ *
+ * \@Component({
+ *   selector: 'banner-carousel-component',
+ *   styles: [`
+ *     .banner-container {
+ *        position:relative;
+ *        height:500px;
+ *        overflow:hidden;
+ *      }
+ *     .banner-container > .banner {
+ *        position:absolute;
+ *        left:0;
+ *        top:0;
+ *        font-size:200px;
+ *        line-height:500px;
+ *        font-weight:bold;
+ *        text-align:center;
+ *        width:100%;
+ *      }
+ *   `],
+ *   template: `
+ *     <button (click)="previous()">Previous</button>
+ *     <button (click)="next()">Next</button>
+ *     <hr>
+ *     <div [\@bannerAnimation]="selectedIndex" class="banner-container">
+ *       <div class="banner"> {{ banner }} </div>
+ *     </div>
+ *   `
+ *   animations: [
+ *     trigger('bannerAnimation', [
+ *       transition(":increment", group([
+ *         query(':enter', [
+ *           style({ left: '100%' }),
+ *           animate('0.5s ease-out', style('*'))
+ *         ]),
+ *         query(':leave', [
+ *           animate('0.5s ease-out', style({ left: '-100%' }))
+ *         ])
+ *       ])),
+ *       transition(":decrement", group([
+ *         query(':enter', [
+ *           style({ left: '-100%' }),
+ *           animate('0.5s ease-out', style('*'))
+ *         ]),
+ *         query(':leave', [
+ *           animate('0.5s ease-out', style({ left: '100%' }))
+ *         ])
+ *       ])),
+ *     ])
+ *   ]
+ * })
+ * class BannerCarouselComponent {
+ *   allBanners: string[] = ['1', '2', '3', '4'];
+ *   selectedIndex: number = 0;
+ *
+ *   get banners() {
+ *      return [this.allBanners[this.selectedIndex]];
+ *   }
+ *
+ *   previous() {
+ *     this.selectedIndex = Math.max(this.selectedIndex - 1, 0);
+ *   }
+ *
+ *   next() {
+ *     this.selectedIndex = Math.min(this.selectedIndex + 1, this.allBanners.length - 1);
+ *   }
+ * }
+ * ```
+ *
+ * {\@example core/animation/ts/dsl/animation_example.ts region='Component'}
+ *
+ * \@experimental Animation support is experimental.
+ * @param {?} stateChangeExpr
+ * @param {?} steps
+ * @param {?=} options
+ * @return {?}
+ */
+function transition(stateChangeExpr, steps, options) {
+    if (options === void 0) { options = null; }
+    return { type: 1 /* Transition */, expr: stateChangeExpr, animation: steps, options: options };
+}
+/**
+ * `animation` is an animation-specific function that is designed to be used inside of Angular's
+ * animation DSL language.
+ *
+ * `var myAnimation = animation(...)` is designed to produce a reusable animation that can be later
+ * invoked in another animation or sequence. Reusable animations are designed to make use of
+ * animation parameters and the produced animation can be used via the `useAnimation` method.
+ *
+ * ```
+ * var fadeAnimation = animation([
+ *   style({ opacity: '{{ start }}' }),
+ *   animate('{{ time }}',
+ *     style({ opacity: '{{ end }}'}))
+ * ], { params: { time: '1000ms', start: 0, end: 1 }});
+ * ```
+ *
+ * If parameters are attached to an animation then they act as **default parameter values**. When an
+ * animation is invoked via `useAnimation` then parameter values are allowed to be passed in
+ * directly. If any of the passed in parameter values are missing then the default values will be
+ * used.
+ *
+ * ```
+ * useAnimation(fadeAnimation, {
+ *   params: {
+ *     time: '2s',
+ *     start: 1,
+ *     end: 0
+ *   }
+ * })
+ * ```
+ *
+ * If one or more parameter values are missing before animated then an error will be thrown.
+ *
+ * \@experimental Animation support is experimental.
+ * @param {?} steps
+ * @param {?=} options
+ * @return {?}
+ */
+function animation(steps, options) {
+    if (options === void 0) { options = null; }
+    return { type: 8 /* Reference */, animation: steps, options: options };
+}
+/**
+ * `animateChild` is an animation-specific function that is designed to be used inside of Angular's
+ * animation DSL language. It works by allowing a queried element to execute its own
+ * animation within the animation sequence.
+ *
+ * Each time an animation is triggered in angular, the parent animation
+ * will always get priority and any child animations will be blocked. In order
+ * for a child animation to run, the parent animation must query each of the elements
+ * containing child animations and then allow the animations to run using `animateChild`.
+ *
+ * The example HTML code below shows both parent and child elements that have animation
+ * triggers that will execute at the same time.
+ *
+ * ```html
+ * <!-- parent-child.component.html -->
+ * <button (click)="exp =! exp">Toggle</button>
+ * <hr>
+ *
+ * <div [\@parentAnimation]="exp">
+ *   <header>Hello</header>
+ *   <div [\@childAnimation]="exp">
+ *       one
+ *   </div>
+ *   <div [\@childAnimation]="exp">
+ *       two
+ *   </div>
+ *   <div [\@childAnimation]="exp">
+ *       three
+ *   </div>
+ * </div>
+ * ```
+ *
+ * Now when the `exp` value changes to true, only the `parentAnimation` animation will animate
+ * because it has priority. However, using `query` and `animateChild` each of the inner animations
+ * can also fire:
+ *
+ * ```ts
+ * // parent-child.component.ts
+ * import {trigger, transition, animate, style, query, animateChild} from '\@angular/animations';
+ * \@Component({
+ *   selector: 'parent-child-component',
+ *   animations: [
+ *     trigger('parentAnimation', [
+ *       transition('false => true', [
+ *         query('header', [
+ *           style({ opacity: 0 }),
+ *           animate(500, style({ opacity: 1 }))
+ *         ]),
+ *         query('\@childAnimation', [
+ *           animateChild()
+ *         ])
+ *       ])
+ *     ]),
+ *     trigger('childAnimation', [
+ *       transition('false => true', [
+ *         style({ opacity: 0 }),
+ *         animate(500, style({ opacity: 1 }))
+ *       ])
+ *     ])
+ *   ]
+ * })
+ * class ParentChildCmp {
+ *   exp: boolean = false;
+ * }
+ * ```
+ *
+ * In the animation code above, when the `parentAnimation` transition kicks off it first queries to
+ * find the header element and fades it in. It then finds each of the sub elements that contain the
+ * `\@childAnimation` trigger and then allows for their animations to fire.
+ *
+ * This example can be further extended by using stagger:
+ *
+ * ```ts
+ * query('\@childAnimation', stagger(100, [
+ *   animateChild()
+ * ]))
+ * ```
+ *
+ * Now each of the sub animations start off with respect to the `100ms` staggering step.
+ *
+ * ## The first frame of child animations
+ * When sub animations are executed using `animateChild` the animation engine will always apply the
+ * first frame of every sub animation immediately at the start of the animation sequence. This way
+ * the parent animation does not need to set any initial styling data on the sub elements before the
+ * sub animations kick off.
+ *
+ * In the example above the first frame of the `childAnimation`'s `false => true` transition
+ * consists of a style of `opacity: 0`. This is applied immediately when the `parentAnimation`
+ * animation transition sequence starts. Only then when the `\@childAnimation` is queried and called
+ * with `animateChild` will it then animate to its destination of `opacity: 1`.
+ *
+ * Note that this feature designed to be used alongside {\@link query query()} and it will only work
+ * with animations that are assigned using the Angular animation DSL (this means that CSS keyframes
+ * and transitions are not handled by this API).
+ *
+ * \@experimental Animation support is experimental.
+ * @param {?=} options
+ * @return {?}
+ */
+function animateChild(options) {
+    if (options === void 0) { options = null; }
+    return { type: 9 /* AnimateChild */, options: options };
+}
+/**
+ * `useAnimation` is an animation-specific function that is designed to be used inside of Angular's
+ * animation DSL language. It is used to kick off a reusable animation that is created using {\@link
+ * animation animation()}.
+ *
+ * \@experimental Animation support is experimental.
+ * @param {?} animation
+ * @param {?=} options
+ * @return {?}
+ */
+function useAnimation(animation, options) {
+    if (options === void 0) { options = null; }
+    return { type: 10 /* AnimateRef */, animation: animation, options: options };
+}
+/**
+ * `query` is an animation-specific function that is designed to be used inside of Angular's
+ * animation DSL language.
+ *
+ * query() is used to find one or more inner elements within the current element that is
+ * being animated within the sequence. The provided animation steps are applied
+ * to the queried element (by default, an array is provided, then this will be
+ * treated as an animation sequence).
+ *
+ * ### Usage
+ *
+ * query() is designed to collect mutiple elements and works internally by using
+ * `element.querySelectorAll`. An additional options object can be provided which
+ * can be used to limit the total amount of items to be collected.
+ *
+ * ```js
+ * query('div', [
+ *   animate(...),
+ *   animate(...)
+ * ], { limit: 1 })
+ * ```
+ *
+ * query(), by default, will throw an error when zero items are found. If a query
+ * has the `optional` flag set to true then this error will be ignored.
+ *
+ * ```js
+ * query('.some-element-that-may-not-be-there', [
+ *   animate(...),
+ *   animate(...)
+ * ], { optional: true })
+ * ```
+ *
+ * ### Special Selector Values
+ *
+ * The selector value within a query can collect elements that contain angular-specific
+ * characteristics
+ * using special pseudo-selectors tokens.
+ *
+ * These include:
+ *
+ *  - Querying for newly inserted/removed elements using `query(":enter")`/`query(":leave")`
+ *  - Querying all currently animating elements using `query(":animating")`
+ *  - Querying elements that contain an animation trigger using `query("\@triggerName")`
+ *  - Querying all elements that contain an animation triggers using `query("\@*")`
+ *  - Including the current element into the animation sequence using `query(":self")`
+ *
+ *
+ *  Each of these pseudo-selector tokens can be merged together into a combined query selector
+ * string:
+ *
+ *  ```
+ *  query(':self, .record:enter, .record:leave, \@subTrigger', [...])
+ *  ```
+ *
+ * ### Demo
+ *
+ * ```
+ * \@Component({
+ *   selector: 'inner',
+ *   template: `
+ *     <div [\@queryAnimation]="exp">
+ *       <h1>Title</h1>
+ *       <div class="content">
+ *         Blah blah blah
+ *       </div>
+ *     </div>
+ *   `,
+ *   animations: [
+ *    trigger('queryAnimation', [
+ *      transition('* => goAnimate', [
+ *        // hide the inner elements
+ *        query('h1', style({ opacity: 0 })),
+ *        query('.content', style({ opacity: 0 })),
+ *
+ *        // animate the inner elements in, one by one
+ *        query('h1', animate(1000, style({ opacity: 1 })),
+ *        query('.content', animate(1000, style({ opacity: 1 })),
+ *      ])
+ *    ])
+ *  ]
+ * })
+ * class Cmp {
+ *   exp = '';
+ *
+ *   goAnimate() {
+ *     this.exp = 'goAnimate';
+ *   }
+ * }
+ * ```
+ *
+ * \@experimental Animation support is experimental.
+ * @param {?} selector
+ * @param {?} animation
+ * @param {?=} options
+ * @return {?}
+ */
+function query(selector, animation, options) {
+    if (options === void 0) { options = null; }
+    return { type: 11 /* Query */, selector: selector, animation: animation, options: options };
+}
+/**
+ * `stagger` is an animation-specific function that is designed to be used inside of Angular's
+ * animation DSL language. It is designed to be used inside of an animation {\@link query query()}
+ * and works by issuing a timing gap between after each queried item is animated.
+ *
+ * ### Usage
+ *
+ * In the example below there is a container element that wraps a list of items stamped out
+ * by an ngFor. The container element contains an animation trigger that will later be set
+ * to query for each of the inner items.
+ *
+ * ```html
+ * <!-- list.component.html -->
+ * <button (click)="toggle()">Show / Hide Items</button>
+ * <hr />
+ * <div [\@listAnimation]="items.length">
+ *   <div *ngFor="let item of items">
+ *     {{ item }}
+ *   </div>
+ * </div>
+ * ```
+ *
+ * The component code for this looks as such:
+ *
+ * ```ts
+ * import {trigger, transition, style, animate, query, stagger} from '\@angular/animations';
+ * \@Component({
+ *   templateUrl: 'list.component.html',
+ *   animations: [
+ *     trigger('listAnimation', [
+ *        //...
+ *     ])
+ *   ]
+ * })
+ * class ListComponent {
+ *   items = [];
+ *
+ *   showItems() {
+ *     this.items = [0,1,2,3,4];
+ *   }
+ *
+ *   hideItems() {
+ *     this.items = [];
+ *   }
+ *
+ *   toggle() {
+ *     this.items.length ? this.hideItems() : this.showItems();
+ *   }
+ * }
+ * ```
+ *
+ * And now for the animation trigger code:
+ *
+ * ```ts
+ * trigger('listAnimation', [
+ *   transition('* => *', [ // each time the binding value changes
+ *     query(':leave', [
+ *       stagger(100, [
+ *         animate('0.5s', style({ opacity: 0 }))
+ *       ])
+ *     ]),
+ *     query(':enter', [
+ *       style({ opacity: 0 }),
+ *       stagger(100, [
+ *         animate('0.5s', style({ opacity: 1 }))
+ *       ])
+ *     ])
+ *   ])
+ * ])
+ * ```
+ *
+ * Now each time the items are added/removed then either the opacity
+ * fade-in animation will run or each removed item will be faded out.
+ * When either of these animations occur then a stagger effect will be
+ * applied after each item's animation is started.
+ *
+ * \@experimental Animation support is experimental.
+ * @param {?} timings
+ * @param {?} animation
+ * @return {?}
+ */
+function stagger(timings, animation) {
+    return { type: 12 /* Stagger */, timings: timings, animation: animation };
+}
+
+/**
+ * @fileoverview added by tsickle
+ * @suppress {checkTypes} checked by tsc
+ */
+/**
+ * @license
+ * Copyright Google Inc. All Rights Reserved.
+ *
+ * Use of this source code is governed by an MIT-style license that can be
+ * found in the LICENSE file at https://angular.io/license
+ * @param {?} cb
+ * @return {?}
+ */
+function scheduleMicroTask(cb) {
+    Promise.resolve(null).then(cb);
+}
+
+/**
+ * @fileoverview added by tsickle
+ * @suppress {checkTypes} checked by tsc
+ */
+/**
+ * AnimationPlayer controls an animation sequence that was produced from a programmatic animation.
+ * (see {\@link AnimationBuilder AnimationBuilder} for more information on how to create programmatic
+ * animations.)
+ *
+ * \@experimental Animation support is experimental.
+ * @record
+ */
+
+/**
+ * \@experimental Animation support is experimental.
+ */
+var NoopAnimationPlayer = /** @class */ (function () {
+    function NoopAnimationPlayer() {
+        this._onDoneFns = [];
+        this._onStartFns = [];
+        this._onDestroyFns = [];
+        this._started = false;
+        this._destroyed = false;
+        this._finished = false;
+        this.parentPlayer = null;
+        this.totalTime = 0;
+    }
+    /**
+     * @return {?}
+     */
+    NoopAnimationPlayer.prototype._onFinish = /**
+     * @return {?}
+     */
+    function () {
+        if (!this._finished) {
+            this._finished = true;
+            this._onDoneFns.forEach(function (fn) { return fn(); });
+            this._onDoneFns = [];
+        }
+    };
+    /**
+     * @param {?} fn
+     * @return {?}
+     */
+    NoopAnimationPlayer.prototype.onStart = /**
+     * @param {?} fn
+     * @return {?}
+     */
+    function (fn) { this._onStartFns.push(fn); };
+    /**
+     * @param {?} fn
+     * @return {?}
+     */
+    NoopAnimationPlayer.prototype.onDone = /**
+     * @param {?} fn
+     * @return {?}
+     */
+    function (fn) { this._onDoneFns.push(fn); };
+    /**
+     * @param {?} fn
+     * @return {?}
+     */
+    NoopAnimationPlayer.prototype.onDestroy = /**
+     * @param {?} fn
+     * @return {?}
+     */
+    function (fn) { this._onDestroyFns.push(fn); };
+    /**
+     * @return {?}
+     */
+    NoopAnimationPlayer.prototype.hasStarted = /**
+     * @return {?}
+     */
+    function () { return this._started; };
+    /**
+     * @return {?}
+     */
+    NoopAnimationPlayer.prototype.init = /**
+     * @return {?}
+     */
+    function () { };
+    /**
+     * @return {?}
+     */
+    NoopAnimationPlayer.prototype.play = /**
+     * @return {?}
+     */
+    function () {
+        if (!this.hasStarted()) {
+            this._onStart();
+            this.triggerMicrotask();
+        }
+        this._started = true;
+    };
+    /* @internal */
+    /**
+     * @return {?}
+     */
+    NoopAnimationPlayer.prototype.triggerMicrotask = /**
+     * @return {?}
+     */
+    function () {
+        var _this = this;
+        scheduleMicroTask(function () { return _this._onFinish(); });
+    };
+    /**
+     * @return {?}
+     */
+    NoopAnimationPlayer.prototype._onStart = /**
+     * @return {?}
+     */
+    function () {
+        this._onStartFns.forEach(function (fn) { return fn(); });
+        this._onStartFns = [];
+    };
+    /**
+     * @return {?}
+     */
+    NoopAnimationPlayer.prototype.pause = /**
+     * @return {?}
+     */
+    function () { };
+    /**
+     * @return {?}
+     */
+    NoopAnimationPlayer.prototype.restart = /**
+     * @return {?}
+     */
+    function () { };
+    /**
+     * @return {?}
+     */
+    NoopAnimationPlayer.prototype.finish = /**
+     * @return {?}
+     */
+    function () { this._onFinish(); };
+    /**
+     * @return {?}
+     */
+    NoopAnimationPlayer.prototype.destroy = /**
+     * @return {?}
+     */
+    function () {
+        if (!this._destroyed) {
+            this._destroyed = true;
+            if (!this.hasStarted()) {
+                this._onStart();
+            }
+            this.finish();
+            this._onDestroyFns.forEach(function (fn) { return fn(); });
+            this._onDestroyFns = [];
+        }
+    };
+    /**
+     * @return {?}
+     */
+    NoopAnimationPlayer.prototype.reset = /**
+     * @return {?}
+     */
+    function () { };
+    /**
+     * @param {?} p
+     * @return {?}
+     */
+    NoopAnimationPlayer.prototype.setPosition = /**
+     * @param {?} p
+     * @return {?}
+     */
+    function (p) { };
+    /**
+     * @return {?}
+     */
+    NoopAnimationPlayer.prototype.getPosition = /**
+     * @return {?}
+     */
+    function () { return 0; };
+    /* @internal */
+    /**
+     * @param {?} phaseName
+     * @return {?}
+     */
+    NoopAnimationPlayer.prototype.triggerCallback = /**
+     * @param {?} phaseName
+     * @return {?}
+     */
+    function (phaseName) {
+        var /** @type {?} */ methods = phaseName == 'start' ? this._onStartFns : this._onDoneFns;
+        methods.forEach(function (fn) { return fn(); });
+        methods.length = 0;
+    };
+    return NoopAnimationPlayer;
+}());
+
+/**
+ * @fileoverview added by tsickle
+ * @suppress {checkTypes} checked by tsc
+ */
+/**
+ * @license
+ * Copyright Google Inc. All Rights Reserved.
+ *
+ * Use of this source code is governed by an MIT-style license that can be
+ * found in the LICENSE file at https://angular.io/license
+ */
+var AnimationGroupPlayer = /** @class */ (function () {
+    function AnimationGroupPlayer(_players) {
+        var _this = this;
+        this._onDoneFns = [];
+        this._onStartFns = [];
+        this._finished = false;
+        this._started = false;
+        this._destroyed = false;
+        this._onDestroyFns = [];
+        this.parentPlayer = null;
+        this.totalTime = 0;
+        this.players = _players;
+        var /** @type {?} */ doneCount = 0;
+        var /** @type {?} */ destroyCount = 0;
+        var /** @type {?} */ startCount = 0;
+        var /** @type {?} */ total = this.players.length;
+        if (total == 0) {
+            scheduleMicroTask(function () { return _this._onFinish(); });
+        }
+        else {
+            this.players.forEach(function (player) {
+                player.onDone(function () {
+                    if (++doneCount == total) {
+                        _this._onFinish();
+                    }
+                });
+                player.onDestroy(function () {
+                    if (++destroyCount == total) {
+                        _this._onDestroy();
+                    }
+                });
+                player.onStart(function () {
+                    if (++startCount == total) {
+                        _this._onStart();
+                    }
+                });
+            });
+        }
+        this.totalTime = this.players.reduce(function (time, player) { return Math.max(time, player.totalTime); }, 0);
+    }
+    /**
+     * @return {?}
+     */
+    AnimationGroupPlayer.prototype._onFinish = /**
+     * @return {?}
+     */
+    function () {
+        if (!this._finished) {
+            this._finished = true;
+            this._onDoneFns.forEach(function (fn) { return fn(); });
+            this._onDoneFns = [];
+        }
+    };
+    /**
+     * @return {?}
+     */
+    AnimationGroupPlayer.prototype.init = /**
+     * @return {?}
+     */
+    function () { this.players.forEach(function (player) { return player.init(); }); };
+    /**
+     * @param {?} fn
+     * @return {?}
+     */
+    AnimationGroupPlayer.prototype.onStart = /**
+     * @param {?} fn
+     * @return {?}
+     */
+    function (fn) { this._onStartFns.push(fn); };
+    /**
+     * @return {?}
+     */
+    AnimationGroupPlayer.prototype._onStart = /**
+     * @return {?}
+     */
+    function () {
+        if (!this.hasStarted()) {
+            this._started = true;
+            this._onStartFns.forEach(function (fn) { return fn(); });
+            this._onStartFns = [];
+        }
+    };
+    /**
+     * @param {?} fn
+     * @return {?}
+     */
+    AnimationGroupPlayer.prototype.onDone = /**
+     * @param {?} fn
+     * @return {?}
+     */
+    function (fn) { this._onDoneFns.push(fn); };
+    /**
+     * @param {?} fn
+     * @return {?}
+     */
+    AnimationGroupPlayer.prototype.onDestroy = /**
+     * @param {?} fn
+     * @return {?}
+     */
+    function (fn) { this._onDestroyFns.push(fn); };
+    /**
+     * @return {?}
+     */
+    AnimationGroupPlayer.prototype.hasStarted = /**
+     * @return {?}
+     */
+    function () { return this._started; };
+    /**
+     * @return {?}
+     */
+    AnimationGroupPlayer.prototype.play = /**
+     * @return {?}
+     */
+    function () {
+        if (!this.parentPlayer) {
+            this.init();
+        }
+        this._onStart();
+        this.players.forEach(function (player) { return player.play(); });
+    };
+    /**
+     * @return {?}
+     */
+    AnimationGroupPlayer.prototype.pause = /**
+     * @return {?}
+     */
+    function () { this.players.forEach(function (player) { return player.pause(); }); };
+    /**
+     * @return {?}
+     */
+    AnimationGroupPlayer.prototype.restart = /**
+     * @return {?}
+     */
+    function () { this.players.forEach(function (player) { return player.restart(); }); };
+    /**
+     * @return {?}
+     */
+    AnimationGroupPlayer.prototype.finish = /**
+     * @return {?}
+     */
+    function () {
+        this._onFinish();
+        this.players.forEach(function (player) { return player.finish(); });
+    };
+    /**
+     * @return {?}
+     */
+    AnimationGroupPlayer.prototype.destroy = /**
+     * @return {?}
+     */
+    function () { this._onDestroy(); };
+    /**
+     * @return {?}
+     */
+    AnimationGroupPlayer.prototype._onDestroy = /**
+     * @return {?}
+     */
+    function () {
+        if (!this._destroyed) {
+            this._destroyed = true;
+            this._onFinish();
+            this.players.forEach(function (player) { return player.destroy(); });
+            this._onDestroyFns.forEach(function (fn) { return fn(); });
+            this._onDestroyFns = [];
+        }
+    };
+    /**
+     * @return {?}
+     */
+    AnimationGroupPlayer.prototype.reset = /**
+     * @return {?}
+     */
+    function () {
+        this.players.forEach(function (player) { return player.reset(); });
+        this._destroyed = false;
+        this._finished = false;
+        this._started = false;
+    };
+    /**
+     * @param {?} p
+     * @return {?}
+     */
+    AnimationGroupPlayer.prototype.setPosition = /**
+     * @param {?} p
+     * @return {?}
+     */
+    function (p) {
+        var /** @type {?} */ timeAtPosition = p * this.totalTime;
+        this.players.forEach(function (player) {
+            var /** @type {?} */ position = player.totalTime ? Math.min(1, timeAtPosition / player.totalTime) : 1;
+            player.setPosition(position);
+        });
+    };
+    /**
+     * @return {?}
+     */
+    AnimationGroupPlayer.prototype.getPosition = /**
+     * @return {?}
+     */
+    function () {
+        var /** @type {?} */ min = 0;
+        this.players.forEach(function (player) {
+            var /** @type {?} */ p = player.getPosition();
+            min = Math.min(p, min);
+        });
+        return min;
+    };
+    /**
+     * @return {?}
+     */
+    AnimationGroupPlayer.prototype.beforeDestroy = /**
+     * @return {?}
+     */
+    function () {
+        this.players.forEach(function (player) {
+            if (player.beforeDestroy) {
+                player.beforeDestroy();
+            }
+        });
+    };
+    /* @internal */
+    /**
+     * @param {?} phaseName
+     * @return {?}
+     */
+    AnimationGroupPlayer.prototype.triggerCallback = /**
+     * @param {?} phaseName
+     * @return {?}
+     */
+    function (phaseName) {
+        var /** @type {?} */ methods = phaseName == 'start' ? this._onStartFns : this._onDoneFns;
+        methods.forEach(function (fn) { return fn(); });
+        methods.length = 0;
+    };
+    return AnimationGroupPlayer;
+}());
+
+/**
+ * @fileoverview added by tsickle
+ * @suppress {checkTypes} checked by tsc
+ */
+var ɵPRE_STYLE = '!';
+
+/**
+ * @fileoverview added by tsickle
+ * @suppress {checkTypes} checked by tsc
+ */
+/**
+ * @license
+ * Copyright Google Inc. All Rights Reserved.
+ *
+ * Use of this source code is governed by an MIT-style license that can be
+ * found in the LICENSE file at https://angular.io/license
+ */
+
+/**
+ * @fileoverview added by tsickle
+ * @suppress {checkTypes} checked by tsc
+ */
+/**
+ * @license
+ * Copyright Google Inc. All Rights Reserved.
+ *
+ * Use of this source code is governed by an MIT-style license that can be
+ * found in the LICENSE file at https://angular.io/license
+ */
+/**
+ * @module
+ * @description
+ * Entry point for all public APIs of this package.
+ */
+
+/**
+ * @fileoverview added by tsickle
+ * @suppress {checkTypes} checked by tsc
+ */
+/**
+ * Generated bundle index. Do not edit.
+ */
+
+export { AnimationBuilder, AnimationFactory, AUTO_STYLE, animate, animateChild, animation, group, keyframes, query, sequence, stagger, state, style, transition, trigger, useAnimation, NoopAnimationPlayer, AnimationGroupPlayer as ɵAnimationGroupPlayer, ɵPRE_STYLE };
+//# sourceMappingURL=animations.js.map


[37/59] [abbrv] [partial] nifi-fds git commit: update gh-pages

Posted by sc...@apache.org.
http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/eec354e6/node_modules/@angular/animations/bundles/animations.umd.min.js.map
----------------------------------------------------------------------
diff --git a/node_modules/@angular/animations/bundles/animations.umd.min.js.map b/node_modules/@angular/animations/bundles/animations.umd.min.js.map
new file mode 100644
index 0000000..760d02c
--- /dev/null
+++ b/node_modules/@angular/animations/bundles/animations.umd.min.js.map
@@ -0,0 +1 @@
+{"version":3,"sources":["animations.umd.js"],"names":["global","factory","exports","module","define","amd","ng","animations","this","trigger","name","definitions","type","options","animate","timings","styles","group","steps","sequence","style","tokens","offset","state","keyframes","transition","stateChangeExpr","expr","animation","animateChild","useAnimation","query","selector","stagger","scheduleMicroTask","cb","Promise","resolve","then","AnimationBuilder","AnimationFactory","NoopAnimationPlayer","_onDoneFns","_onStartFns","_onDestroyFns","_started","_destroyed","_finished","parentPlayer","totalTime","prototype","_onFinish","forEach","fn","onStart","push","onDone","onDestroy","hasStarted","init","play","_onStart","triggerMicrotask","_this","pause","restart","finish","destroy","reset","setPosition","p","getPosition","triggerCallback","phaseName","methods","length","AnimationGroupPlayer","_players","players","doneCount","destroyCount","startCount","total","player","_onDestroy","reduc
 e","time","Math","max","timeAtPosition","position","min","beforeDestroy","AUTO_STYLE","ɵAnimationGroupPlayer","ɵPRE_STYLE","Object","defineProperty","value"],"mappings":"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","file":"animations.umd.min.js","sourcesContent":["/**\n * @license Angular v5.2.0\n * (c) 2010-2018 Google, Inc. https://angular.io/\n * License: MIT\n */
 \n(function (global, factory) {\n\ttypeof exports === 'object' && typeof module !== 'undefined' ? factory(exports) :\n\ttypeof define === 'function' && define.amd ? define('@angular/animations', ['exports'], factory) :\n\t(factory((global.ng = global.ng || {}, global.ng.animations = {})));\n}(this, (function (exports) { 'use strict';\n\n/**\n * @license Angular v5.2.0\n * (c) 2010-2018 Google, Inc. https://angular.io/\n * License: MIT\n */\n/**\n * @fileoverview added by tsickle\n * @suppress {checkTypes} checked by tsc\n */\n/**\n * AnimationBuilder is an injectable service that is available when the {\\@link\n * BrowserAnimationsModule BrowserAnimationsModule} or {\\@link NoopAnimationsModule\n * NoopAnimationsModule} modules are used within an application.\n *\n * The purpose if this service is to produce an animation sequence programmatically within an\n * angular component or directive.\n *\n * Programmatic animations are first built and then a player is created when the build 
 animation is\n * attached to an element.\n *\n * ```ts\n * // remember to include the BrowserAnimationsModule module for this to work...\n * import {AnimationBuilder} from '\\@angular/animations';\n *\n * class MyCmp {\n *   constructor(private _builder: AnimationBuilder) {}\n *\n *   makeAnimation(element: any) {\n *     // first build the animation\n *     const myAnimation = this._builder.build([\n *       style({ width: 0 }),\n *       animate(1000, style({ width: '100px' }))\n *     ]);\n *\n *     // then create a player from it\n *     const player = myAnimation.create(element);\n *\n *     player.play();\n *   }\n * }\n * ```\n *\n * When an animation is built an instance of {\\@link AnimationFactory AnimationFactory} will be\n * returned. Using that an {\\@link AnimationPlayer AnimationPlayer} can be created which can then be\n * used to start the animation.\n *\n * \\@experimental Animation support is experimental.\n * @abstract\n */\nvar AnimationBuilder = /** @class */ (
 function () {\n    function AnimationBuilder() {\n    }\n    return AnimationBuilder;\n}());\n/**\n * An instance of `AnimationFactory` is returned from {\\@link AnimationBuilder#build\n * AnimationBuilder.build}.\n *\n * \\@experimental Animation support is experimental.\n * @abstract\n */\nvar AnimationFactory = /** @class */ (function () {\n    function AnimationFactory() {\n    }\n    return AnimationFactory;\n}());\n\n/**\n * @fileoverview added by tsickle\n * @suppress {checkTypes} checked by tsc\n */\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n * @record\n */\n\n/**\n * \\@experimental Animation support is experimental.\n */\nvar AUTO_STYLE = '*';\n/**\n * \\@experimental Animation support is experimental.\n * @record\n */\n\n/**\n * Metadata representing the entry of animations. Instances of this interface are provi
 ded via the\n * animation DSL when the {\\@link trigger trigger animation function} is called.\n *\n * \\@experimental Animation support is experimental.\n * @record\n */\n\n/**\n * Metadata representing the entry of animations. Instances of this interface are provided via the\n * animation DSL when the {\\@link state state animation function} is called.\n *\n * \\@experimental Animation support is experimental.\n * @record\n */\n\n/**\n * Metadata representing the entry of animations. Instances of this interface are provided via the\n * animation DSL when the {\\@link transition transition animation function} is called.\n *\n * \\@experimental Animation support is experimental.\n * @record\n */\n\n/**\n * \\@experimental Animation support is experimental.\n * @record\n */\n\n/**\n * \\@experimental Animation support is experimental.\n * @record\n */\n\n/**\n * Metadata representing the entry of animations. Instances of this interface are provided via the\n * animation DSL when the 
 {\\@link keyframes keyframes animation function} is called.\n *\n * \\@experimental Animation support is experimental.\n * @record\n */\n\n/**\n * Metadata representing the entry of animations. Instances of this interface are provided via the\n * animation DSL when the {\\@link style style animation function} is called.\n *\n * \\@experimental Animation support is experimental.\n * @record\n */\n\n/**\n * Metadata representing the entry of animations. Instances of this interface are provided via the\n * animation DSL when the {\\@link animate animate animation function} is called.\n *\n * \\@experimental Animation support is experimental.\n * @record\n */\n\n/**\n * Metadata representing the entry of animations. Instances of this interface are provided via the\n * animation DSL when the {\\@link animateChild animateChild animation function} is called.\n *\n * \\@experimental Animation support is experimental.\n * @record\n */\n\n/**\n * Metadata representing the entry of animations.
  Instances of this interface are provided via the\n * animation DSL when the {\\@link useAnimation useAnimation animation function} is called.\n *\n * \\@experimental Animation support is experimental.\n * @record\n */\n\n/**\n * Metadata representing the entry of animations. Instances of this interface are provided via the\n * animation DSL when the {\\@link sequence sequence animation function} is called.\n *\n * \\@experimental Animation support is experimental.\n * @record\n */\n\n/**\n * Metadata representing the entry of animations. Instances of this interface are provided via the\n * animation DSL when the {\\@link group group animation function} is called.\n *\n * \\@experimental Animation support is experimental.\n * @record\n */\n\n/**\n * Metadata representing the entry of animations. Instances of this interface are provided via the\n * animation DSL when the {\\@link stagger stagger animation function} is called.\n *\n * \\@experimental Animation support is experimental.
 \n * @record\n */\n\n/**\n * `trigger` is an animation-specific function that is designed to be used inside of Angular's\n * animation DSL language. If this information is new, please navigate to the\n * {\\@link Component#animations component animations metadata page} to gain a better\n * understanding of how animations in Angular are used.\n *\n * `trigger` Creates an animation trigger which will a list of {\\@link state state} and\n * {\\@link transition transition} entries that will be evaluated when the expression\n * bound to the trigger changes.\n *\n * Triggers are registered within the component annotation data under the\n * {\\@link Component#animations animations section}. An animation trigger can be placed on an element\n * within a template by referencing the name of the trigger followed by the expression value that\n * the\n * trigger is bound to (in the form of `[\\@triggerName]=\"expression\"`.\n *\n * Animation trigger bindings strigify values and then match the pre
 vious and current values against\n * any linked transitions. If a boolean value is provided into the trigger binding then it will both\n * be represented as `1` or `true` and `0` or `false` for a true and false boolean values\n * respectively.\n *\n * ### Usage\n *\n * `trigger` will create an animation trigger reference based on the provided `name` value. The\n * provided `animation` value is expected to be an array consisting of {\\@link state state} and\n * {\\@link transition transition} declarations.\n *\n * ```typescript\n * \\@Component({\n *   selector: 'my-component',\n *   templateUrl: 'my-component-tpl.html',\n *   animations: [\n *     trigger(\"myAnimationTrigger\", [\n *       state(...),\n *       state(...),\n *       transition(...),\n *       transition(...)\n *     ])\n *   ]\n * })\n * class MyComponent {\n *   myStatusExp = \"something\";\n * }\n * ```\n *\n * The template associated with this component will make use of the `myAnimationTrigger` animation\n * tri
 gger by binding to an element within its template code.\n *\n * ```html\n * <!-- somewhere inside of my-component-tpl.html -->\n * <div [\\@myAnimationTrigger]=\"myStatusExp\">...</div>\n * ```\n *\n * ## Disable Animations\n * A special animation control binding called `\\@.disabled` can be placed on an element which will\n * then disable animations for any inner animation triggers situated within the element as well as\n * any animations on the element itself.\n *\n * When true, the `\\@.disabled` binding will prevent all animations from rendering. The example\n * below shows how to use this feature:\n *\n * ```ts\n * \\@Component({\n *   selector: 'my-component',\n *   template: `\n *     <div [\\@.disabled]=\"isDisabled\">\n *       <div [\\@childAnimation]=\"exp\"></div>\n *     </div>\n *   `,\n *   animations: [\n *     trigger(\"childAnimation\", [\n *       // ...\n *     ])\n *   ]\n * })\n * class MyComponent {\n *   isDisabled = true;\n *   exp = '...';\n * }\n * ```\n *
 \n * The `\\@childAnimation` trigger will not animate because `\\@.disabled` prevents it from happening\n * (when true).\n *\n * Note that `\\@.disbled` will only disable all animations (this means any animations running on\n * the same element will also be disabled).\n *\n * ### Disabling Animations Application-wide\n * When an area of the template is set to have animations disabled, **all** inner components will\n * also have their animations disabled as well. This means that all animations for an angular\n * application can be disabled by placing a host binding set on `\\@.disabled` on the topmost Angular\n * component.\n *\n * ```ts\n * import {Component, HostBinding} from '\\@angular/core';\n *\n * \\@Component({\n *   selector: 'app-component',\n *   templateUrl: 'app.component.html',\n * })\n * class AppComponent {\n *   \\@HostBinding('\\@.disabled')\n *   public animationsDisabled = true;\n * }\n * ```\n *\n * ### What about animations that us `query()` and `animateChild()`
 ?\n * Despite inner animations being disabled, a parent animation can {\\@link query query} for inner\n * elements located in disabled areas of the template and still animate them as it sees fit. This is\n * also the case for when a sub animation is queried by a parent and then later animated using {\\@link\n * animateChild animateChild}.\n *\n * \\@experimental Animation support is experimental.\n * @param {?} name\n * @param {?} definitions\n * @return {?}\n */\nfunction trigger(name, definitions) {\n    return { type: 7 /* Trigger */, name: name, definitions: definitions, options: {} };\n}\n/**\n * `animate` is an animation-specific function that is designed to be used inside of Angular's\n * animation DSL language. If this information is new, please navigate to the {\\@link\n * Component#animations component animations metadata page} to gain a better understanding of\n * how animations in Angular are used.\n *\n * `animate` specifies an animation step that will apply the provide
 d `styles` data for a given\n * amount of time based on the provided `timing` expression value. Calls to `animate` are expected\n * to be used within {\\@link sequence an animation sequence}, {\\@link group group}, or {\\@link\n * transition transition}.\n *\n * ### Usage\n *\n * The `animate` function accepts two input parameters: `timing` and `styles`:\n *\n * - `timing` is a string based value that can be a combination of a duration with optional delay\n * and easing values. The format for the expression breaks down to `duration delay easing`\n * (therefore a value such as `1s 100ms ease-out` will be parse itself into `duration=1000,\n * delay=100, easing=ease-out`. If a numeric value is provided then that will be used as the\n * `duration` value in millisecond form.\n * - `styles` is the style input data which can either be a call to {\\@link style style} or {\\@link\n * keyframes keyframes}. If left empty then the styles from the destination state will be collected\n * and used
  (this is useful when describing an animation step that will complete an animation by\n * {\\@link transition#the-final-animate-call animating to the final state}).\n *\n * ```typescript\n * // various functions for specifying timing data\n * animate(500, style(...))\n * animate(\"1s\", style(...))\n * animate(\"100ms 0.5s\", style(...))\n * animate(\"5s ease\", style(...))\n * animate(\"5s 10ms cubic-bezier(.17,.67,.88,.1)\", style(...))\n *\n * // either style() of keyframes() can be used\n * animate(500, style({ background: \"red\" }))\n * animate(500, keyframes([\n *   style({ background: \"blue\" })),\n *   style({ background: \"red\" }))\n * ])\n * ```\n *\n * {\\@example core/animation/ts/dsl/animation_example.ts region='Component'}\n *\n * \\@experimental Animation support is experimental.\n * @param {?} timings\n * @param {?=} styles\n * @return {?}\n */\nfunction animate(timings, styles) {\n    if (styles === void 0) { styles = null; }\n    return { type: 4 /* Animate */, 
 styles: styles, timings: timings };\n}\n/**\n * `group` is an animation-specific function that is designed to be used inside of Angular's\n * animation DSL language. If this information is new, please navigate to the {\\@link\n * Component#animations component animations metadata page} to gain a better understanding of\n * how animations in Angular are used.\n *\n * `group` specifies a list of animation steps that are all run in parallel. Grouped animations are\n * useful when a series of styles must be animated/closed off at different starting/ending times.\n *\n * The `group` function can either be used within a {\\@link sequence sequence} or a {\\@link transition\n * transition} and it will only continue to the next instruction once all of the inner animation\n * steps have completed.\n *\n * ### Usage\n *\n * The `steps` data that is passed into the `group` animation function can either consist of {\\@link\n * style style} or {\\@link animate animate} function calls. Each call t
 o `style()` or `animate()`\n * within a group will be executed instantly (use {\\@link keyframes keyframes} or a {\\@link\n * animate#usage animate() with a delay value} to offset styles to be applied at a later time).\n *\n * ```typescript\n * group([\n *   animate(\"1s\", { background: \"black\" }))\n *   animate(\"2s\", { color: \"white\" }))\n * ])\n * ```\n *\n * {\\@example core/animation/ts/dsl/animation_example.ts region='Component'}\n *\n * \\@experimental Animation support is experimental.\n * @param {?} steps\n * @param {?=} options\n * @return {?}\n */\nfunction group(steps, options) {\n    if (options === void 0) { options = null; }\n    return { type: 3 /* Group */, steps: steps, options: options };\n}\n/**\n * `sequence` is an animation-specific function that is designed to be used inside of Angular's\n * animation DSL language. If this information is new, please navigate to the {\\@link\n * Component#animations component animations metadata page} to gain a better und
 erstanding of\n * how animations in Angular are used.\n *\n * `sequence` Specifies a list of animation steps that are run one by one. (`sequence` is used by\n * default when an array is passed as animation data into {\\@link transition transition}.)\n *\n * The `sequence` function can either be used within a {\\@link group group} or a {\\@link transition\n * transition} and it will only continue to the next instruction once each of the inner animation\n * steps have completed.\n *\n * To perform animation styling in parallel with other animation steps then have a look at the\n * {\\@link group group} animation function.\n *\n * ### Usage\n *\n * The `steps` data that is passed into the `sequence` animation function can either consist of\n * {\\@link style style} or {\\@link animate animate} function calls. A call to `style()` will apply the\n * provided styling data immediately while a call to `animate()` will apply its styling data over a\n * given time depending on its timing data
 .\n *\n * ```typescript\n * sequence([\n *   style({ opacity: 0 })),\n *   animate(\"1s\", { opacity: 1 }))\n * ])\n * ```\n *\n * {\\@example core/animation/ts/dsl/animation_example.ts region='Component'}\n *\n * \\@experimental Animation support is experimental.\n * @param {?} steps\n * @param {?=} options\n * @return {?}\n */\nfunction sequence(steps, options) {\n    if (options === void 0) { options = null; }\n    return { type: 2 /* Sequence */, steps: steps, options: options };\n}\n/**\n * `style` is an animation-specific function that is designed to be used inside of Angular's\n * animation DSL language. If this information is new, please navigate to the {\\@link\n * Component#animations component animations metadata page} to gain a better understanding of\n * how animations in Angular are used.\n *\n * `style` declares a key/value object containing CSS properties/styles that can then be used for\n * {\\@link state animation states}, within an {\\@link sequence animation sequ
 ence}, or as styling data\n * for both {\\@link animate animate} and {\\@link keyframes keyframes}.\n *\n * ### Usage\n *\n * `style` takes in a key/value string map as data and expects one or more CSS property/value pairs\n * to be defined.\n *\n * ```typescript\n * // string values are used for css properties\n * style({ background: \"red\", color: \"blue\" })\n *\n * // numerical (pixel) values are also supported\n * style({ width: 100, height: 0 })\n * ```\n *\n * #### Auto-styles (using `*`)\n *\n * When an asterix (`*`) character is used as a value then it will be detected from the element\n * being animated and applied as animation data when the animation starts.\n *\n * This feature proves useful for a state depending on layout and/or environment factors; in such\n * cases the styles are calculated just before the animation starts.\n *\n * ```typescript\n * // the steps below will animate from 0 to the\n * // actual height of the element\n * style({ height: 0 }),\n * animate
 (\"1s\", style({ height: \"*\" }))\n * ```\n *\n * {\\@example core/animation/ts/dsl/animation_example.ts region='Component'}\n *\n * \\@experimental Animation support is experimental.\n * @param {?} tokens\n * @return {?}\n */\nfunction style(tokens) {\n    return { type: 6 /* Style */, styles: tokens, offset: null };\n}\n/**\n * `state` is an animation-specific function that is designed to be used inside of Angular's\n * animation DSL language. If this information is new, please navigate to the {\\@link\n * Component#animations component animations metadata page} to gain a better understanding of\n * how animations in Angular are used.\n *\n * `state` declares an animation state within the given trigger. When a state is active within a\n * component then its associated styles will persist on the element that the trigger is attached to\n * (even when the animation ends).\n *\n * To animate between states, have a look at the animation {\\@link transition transition} DSL\n * function
 . To register states to an animation trigger please have a look at the {\\@link trigger\n * trigger} function.\n *\n * #### The `void` state\n *\n * The `void` state value is a reserved word that angular uses to determine when the element is not\n * apart of the application anymore (e.g. when an `ngIf` evaluates to false then the state of the\n * associated element is void).\n *\n * #### The `*` (default) state\n *\n * The `*` state (when styled) is a fallback state that will be used if the state that is being\n * animated is not declared within the trigger.\n *\n * ### Usage\n *\n * `state` will declare an animation state with its associated styles\n * within the given trigger.\n *\n * - `stateNameExpr` can be one or more state names separated by commas.\n * - `styles` refers to the {\\@link style styling data} that will be persisted on the element once\n * the state has been reached.\n *\n * ```typescript\n * // \"void\" is a reserved name for a state and is used to represent\n * 
 // the state in which an element is detached from from the application.\n * state(\"void\", style({ height: 0 }))\n *\n * // user-defined states\n * state(\"closed\", style({ height: 0 }))\n * state(\"open, visible\", style({ height: \"*\" }))\n * ```\n *\n * {\\@example core/animation/ts/dsl/animation_example.ts region='Component'}\n *\n * \\@experimental Animation support is experimental.\n * @param {?} name\n * @param {?} styles\n * @param {?=} options\n * @return {?}\n */\nfunction state(name, styles, options) {\n    return { type: 0 /* State */, name: name, styles: styles, options: options };\n}\n/**\n * `keyframes` is an animation-specific function that is designed to be used inside of Angular's\n * animation DSL language. If this information is new, please navigate to the {\\@link\n * Component#animations component animations metadata page} to gain a better understanding of\n * how animations in Angular are used.\n *\n * `keyframes` specifies a collection of {\\@link style st
 yle} entries each optionally characterized\n * by an `offset` value.\n *\n * ### Usage\n *\n * The `keyframes` animation function is designed to be used alongside the {\\@link animate animate}\n * animation function. Instead of applying animations from where they are currently to their\n * destination, keyframes can describe how each style entry is applied and at what point within the\n * animation arc (much like CSS Keyframe Animations do).\n *\n * For each `style()` entry an `offset` value can be set. Doing so allows to specifiy at what\n * percentage of the animate time the styles will be applied.\n *\n * ```typescript\n * // the provided offset values describe when each backgroundColor value is applied.\n * animate(\"5s\", keyframes([\n *   style({ backgroundColor: \"red\", offset: 0 }),\n *   style({ backgroundColor: \"blue\", offset: 0.2 }),\n *   style({ backgroundColor: \"orange\", offset: 0.3 }),\n *   style({ backgroundColor: \"black\", offset: 1 })\n * ]))\n * ```\n *\n *
  Alternatively, if there are no `offset` values used within the style entries then the offsets\n * will be calculated automatically.\n *\n * ```typescript\n * animate(\"5s\", keyframes([\n *   style({ backgroundColor: \"red\" }) // offset = 0\n *   style({ backgroundColor: \"blue\" }) // offset = 0.33\n *   style({ backgroundColor: \"orange\" }) // offset = 0.66\n *   style({ backgroundColor: \"black\" }) // offset = 1\n * ]))\n * ```\n *\n * {\\@example core/animation/ts/dsl/animation_example.ts region='Component'}\n *\n * \\@experimental Animation support is experimental.\n * @param {?} steps\n * @return {?}\n */\nfunction keyframes(steps) {\n    return { type: 5 /* Keyframes */, steps: steps };\n}\n/**\n * `transition` is an animation-specific function that is designed to be used inside of Angular's\n * animation DSL language. If this information is new, please navigate to the {\\@link\n * Component#animations component animations metadata page} to gain a better understanding of\
 n * how animations in Angular are used.\n *\n * `transition` declares the {\\@link sequence sequence of animation steps} that will be run when the\n * provided `stateChangeExpr` value is satisfied. The `stateChangeExpr` consists of a `state1 =>\n * state2` which consists of two known states (use an asterix (`*`) to refer to a dynamic starting\n * and/or ending state).\n *\n * A function can also be provided as the `stateChangeExpr` argument for a transition and this\n * function will be executed each time a state change occurs. If the value returned within the\n * function is true then the associated animation will be run.\n *\n * Animation transitions are placed within an {\\@link trigger animation trigger}. For an transition\n * to animate to a state value and persist its styles then one or more {\\@link state animation\n * states} is expected to be defined.\n *\n * ### Usage\n *\n * An animation transition is kicked off the `stateChangeExpr` predicate evaluates to true based on\n
  * what the previous state is and what the current state has become. In other words, if a transition\n * is defined that matches the old/current state criteria then the associated animation will be\n * triggered.\n *\n * ```typescript\n * // all transition/state changes are defined within an animation trigger\n * trigger(\"myAnimationTrigger\", [\n *   // if a state is defined then its styles will be persisted when the\n *   // animation has fully completed itself\n *   state(\"on\", style({ background: \"green\" })),\n *   state(\"off\", style({ background: \"grey\" })),\n *\n *   // a transition animation that will be kicked off when the state value\n *   // bound to \"myAnimationTrigger\" changes from \"on\" to \"off\"\n *   transition(\"on => off\", animate(500)),\n *\n *   // it is also possible to do run the same animation for both directions\n *   transition(\"on <=> off\", animate(500)),\n *\n *   // or to define multiple states pairs separated by commas\n *   transition(\"o
 n => off, off => void\", animate(500)),\n *\n *   // this is a catch-all state change for when an element is inserted into\n *   // the page and the destination state is unknown\n *   transition(\"void => *\", [\n *     style({ opacity: 0 }),\n *     animate(500)\n *   ]),\n *\n *   // this will capture a state change between any states\n *   transition(\"* => *\", animate(\"1s 0s\")),\n *\n *   // you can also go full out and include a function\n *   transition((fromState, toState) => {\n *     // when `true` then it will allow the animation below to be invoked\n *     return fromState == \"off\" && toState == \"on\";\n *   }, animate(\"1s 0s\"))\n * ])\n * ```\n *\n * The template associated with this component will make use of the `myAnimationTrigger` animation\n * trigger by binding to an element within its template code.\n *\n * ```html\n * <!-- somewhere inside of my-component-tpl.html -->\n * <div [\\@myAnimationTrigger]=\"myStatusExp\">...</div>\n * ```\n *\n * #### The fina
 l `animate` call\n *\n * If the final step within the transition steps is a call to `animate()` that **only** uses a\n * timing value with **no style data** then it will be automatically used as the final animation arc\n * for the element to animate itself to the final state. This involves an automatic mix of\n * adding/removing CSS styles so that the element will be in the exact state it should be for the\n * applied state to be presented correctly.\n *\n * ```\n * // start off by hiding the element, but make sure that it animates properly to whatever state\n * // is currently active for \"myAnimationTrigger\"\n * transition(\"void => *\", [\n *   style({ opacity: 0 }),\n *   animate(500)\n * ])\n * ```\n *\n * ### Using :enter and :leave\n *\n * Given that enter (insertion) and leave (removal) animations are so common, the `transition`\n * function accepts both `:enter` and `:leave` values which are aliases for the `void => *` and `*\n * => void` state changes.\n *\n * ```\n * tra
 nsition(\":enter\", [\n *   style({ opacity: 0 }),\n *   animate(500, style({ opacity: 1 }))\n * ]),\n * transition(\":leave\", [\n *   animate(500, style({ opacity: 0 }))\n * ])\n * ```\n *\n * ### Boolean values\n * if a trigger binding value is a boolean value then it can be matched using a transition\n * expression that compares `true` and `false` or `1` and `0`.\n *\n * ```\n * // in the template\n * <div [\\@openClose]=\"open ? true : false\">...</div>\n *\n * // in the component metadata\n * trigger('openClose', [\n *   state('true', style({ height: '*' })),\n *   state('false', style({ height: '0px' })),\n *   transition('false <=> true', animate(500))\n * ])\n * ```\n *\n * ### Using :increment and :decrement\n * In addition to the :enter and :leave transition aliases, the :increment and :decrement aliases\n * can be used to kick off a transition when a numeric value has increased or decreased in value.\n *\n * ```\n * import {group, animate, query, transition, style, trigg
 er} from '\\@angular/animations';\n * import {Component} from '\\@angular/core';\n *\n * \\@Component({\n *   selector: 'banner-carousel-component',\n *   styles: [`\n *     .banner-container {\n *        position:relative;\n *        height:500px;\n *        overflow:hidden;\n *      }\n *     .banner-container > .banner {\n *        position:absolute;\n *        left:0;\n *        top:0;\n *        font-size:200px;\n *        line-height:500px;\n *        font-weight:bold;\n *        text-align:center;\n *        width:100%;\n *      }\n *   `],\n *   template: `\n *     <button (click)=\"previous()\">Previous</button>\n *     <button (click)=\"next()\">Next</button>\n *     <hr>\n *     <div [\\@bannerAnimation]=\"selectedIndex\" class=\"banner-container\">\n *       <div class=\"banner\"> {{ banner }} </div>\n *     </div>\n *   `\n *   animations: [\n *     trigger('bannerAnimation', [\n *       transition(\":increment\", group([\n *         query(':enter', [\n *           styl
 e({ left: '100%' }),\n *           animate('0.5s ease-out', style('*'))\n *         ]),\n *         query(':leave', [\n *           animate('0.5s ease-out', style({ left: '-100%' }))\n *         ])\n *       ])),\n *       transition(\":decrement\", group([\n *         query(':enter', [\n *           style({ left: '-100%' }),\n *           animate('0.5s ease-out', style('*'))\n *         ]),\n *         query(':leave', [\n *           animate('0.5s ease-out', style({ left: '100%' }))\n *         ])\n *       ])),\n *     ])\n *   ]\n * })\n * class BannerCarouselComponent {\n *   allBanners: string[] = ['1', '2', '3', '4'];\n *   selectedIndex: number = 0;\n *\n *   get banners() {\n *      return [this.allBanners[this.selectedIndex]];\n *   }\n *\n *   previous() {\n *     this.selectedIndex = Math.max(this.selectedIndex - 1, 0);\n *   }\n *\n *   next() {\n *     this.selectedIndex = Math.min(this.selectedIndex + 1, this.allBanners.length - 1);\n *   }\n * }\n * ```\n *\n * {\\@ex
 ample core/animation/ts/dsl/animation_example.ts region='Component'}\n *\n * \\@experimental Animation support is experimental.\n * @param {?} stateChangeExpr\n * @param {?} steps\n * @param {?=} options\n * @return {?}\n */\nfunction transition(stateChangeExpr, steps, options) {\n    if (options === void 0) { options = null; }\n    return { type: 1 /* Transition */, expr: stateChangeExpr, animation: steps, options: options };\n}\n/**\n * `animation` is an animation-specific function that is designed to be used inside of Angular's\n * animation DSL language.\n *\n * `var myAnimation = animation(...)` is designed to produce a reusable animation that can be later\n * invoked in another animation or sequence. Reusable animations are designed to make use of\n * animation parameters and the produced animation can be used via the `useAnimation` method.\n *\n * ```\n * var fadeAnimation = animation([\n *   style({ opacity: '{{ start }}' }),\n *   animate('{{ time }}',\n *     style({ opaci
 ty: '{{ end }}'}))\n * ], { params: { time: '1000ms', start: 0, end: 1 }});\n * ```\n *\n * If parameters are attached to an animation then they act as **default parameter values**. When an\n * animation is invoked via `useAnimation` then parameter values are allowed to be passed in\n * directly. If any of the passed in parameter values are missing then the default values will be\n * used.\n *\n * ```\n * useAnimation(fadeAnimation, {\n *   params: {\n *     time: '2s',\n *     start: 1,\n *     end: 0\n *   }\n * })\n * ```\n *\n * If one or more parameter values are missing before animated then an error will be thrown.\n *\n * \\@experimental Animation support is experimental.\n * @param {?} steps\n * @param {?=} options\n * @return {?}\n */\nfunction animation(steps, options) {\n    if (options === void 0) { options = null; }\n    return { type: 8 /* Reference */, animation: steps, options: options };\n}\n/**\n * `animateChild` is an animation-specific function that is designed t
 o be used inside of Angular's\n * animation DSL language. It works by allowing a queried element to execute its own\n * animation within the animation sequence.\n *\n * Each time an animation is triggered in angular, the parent animation\n * will always get priority and any child animations will be blocked. In order\n * for a child animation to run, the parent animation must query each of the elements\n * containing child animations and then allow the animations to run using `animateChild`.\n *\n * The example HTML code below shows both parent and child elements that have animation\n * triggers that will execute at the same time.\n *\n * ```html\n * <!-- parent-child.component.html -->\n * <button (click)=\"exp =! exp\">Toggle</button>\n * <hr>\n *\n * <div [\\@parentAnimation]=\"exp\">\n *   <header>Hello</header>\n *   <div [\\@childAnimation]=\"exp\">\n *       one\n *   </div>\n *   <div [\\@childAnimation]=\"exp\">\n *       two\n *   </div>\n *   <div [\\@childAnimation]=\"exp
 \">\n *       three\n *   </div>\n * </div>\n * ```\n *\n * Now when the `exp` value changes to true, only the `parentAnimation` animation will animate\n * because it has priority. However, using `query` and `animateChild` each of the inner animations\n * can also fire:\n *\n * ```ts\n * // parent-child.component.ts\n * import {trigger, transition, animate, style, query, animateChild} from '\\@angular/animations';\n * \\@Component({\n *   selector: 'parent-child-component',\n *   animations: [\n *     trigger('parentAnimation', [\n *       transition('false => true', [\n *         query('header', [\n *           style({ opacity: 0 }),\n *           animate(500, style({ opacity: 1 }))\n *         ]),\n *         query('\\@childAnimation', [\n *           animateChild()\n *         ])\n *       ])\n *     ]),\n *     trigger('childAnimation', [\n *       transition('false => true', [\n *         style({ opacity: 0 }),\n *         animate(500, style({ opacity: 1 }))\n *       ])\n *   
   ])\n *   ]\n * })\n * class ParentChildCmp {\n *   exp: boolean = false;\n * }\n * ```\n *\n * In the animation code above, when the `parentAnimation` transition kicks off it first queries to\n * find the header element and fades it in. It then finds each of the sub elements that contain the\n * `\\@childAnimation` trigger and then allows for their animations to fire.\n *\n * This example can be further extended by using stagger:\n *\n * ```ts\n * query('\\@childAnimation', stagger(100, [\n *   animateChild()\n * ]))\n * ```\n *\n * Now each of the sub animations start off with respect to the `100ms` staggering step.\n *\n * ## The first frame of child animations\n * When sub animations are executed using `animateChild` the animation engine will always apply the\n * first frame of every sub animation immediately at the start of the animation sequence. This way\n * the parent animation does not need to set any initial styling data on the sub elements before the\n * sub animations k
 ick off.\n *\n * In the example above the first frame of the `childAnimation`'s `false => true` transition\n * consists of a style of `opacity: 0`. This is applied immediately when the `parentAnimation`\n * animation transition sequence starts. Only then when the `\\@childAnimation` is queried and called\n * with `animateChild` will it then animate to its destination of `opacity: 1`.\n *\n * Note that this feature designed to be used alongside {\\@link query query()} and it will only work\n * with animations that are assigned using the Angular animation DSL (this means that CSS keyframes\n * and transitions are not handled by this API).\n *\n * \\@experimental Animation support is experimental.\n * @param {?=} options\n * @return {?}\n */\nfunction animateChild(options) {\n    if (options === void 0) { options = null; }\n    return { type: 9 /* AnimateChild */, options: options };\n}\n/**\n * `useAnimation` is an animation-specific function that is designed to be used inside of Angu
 lar's\n * animation DSL language. It is used to kick off a reusable animation that is created using {\\@link\n * animation animation()}.\n *\n * \\@experimental Animation support is experimental.\n * @param {?} animation\n * @param {?=} options\n * @return {?}\n */\nfunction useAnimation(animation, options) {\n    if (options === void 0) { options = null; }\n    return { type: 10 /* AnimateRef */, animation: animation, options: options };\n}\n/**\n * `query` is an animation-specific function that is designed to be used inside of Angular's\n * animation DSL language.\n *\n * query() is used to find one or more inner elements within the current element that is\n * being animated within the sequence. The provided animation steps are applied\n * to the queried element (by default, an array is provided, then this will be\n * treated as an animation sequence).\n *\n * ### Usage\n *\n * query() is designed to collect mutiple elements and works internally by using\n * `element.querySelector
 All`. An additional options object can be provided which\n * can be used to limit the total amount of items to be collected.\n *\n * ```js\n * query('div', [\n *   animate(...),\n *   animate(...)\n * ], { limit: 1 })\n * ```\n *\n * query(), by default, will throw an error when zero items are found. If a query\n * has the `optional` flag set to true then this error will be ignored.\n *\n * ```js\n * query('.some-element-that-may-not-be-there', [\n *   animate(...),\n *   animate(...)\n * ], { optional: true })\n * ```\n *\n * ### Special Selector Values\n *\n * The selector value within a query can collect elements that contain angular-specific\n * characteristics\n * using special pseudo-selectors tokens.\n *\n * These include:\n *\n *  - Querying for newly inserted/removed elements using `query(\":enter\")`/`query(\":leave\")`\n *  - Querying all currently animating elements using `query(\":animating\")`\n *  - Querying elements that contain an animation trigger using `query(\"\\
 @triggerName\")`\n *  - Querying all elements that contain an animation triggers using `query(\"\\@*\")`\n *  - Including the current element into the animation sequence using `query(\":self\")`\n *\n *\n *  Each of these pseudo-selector tokens can be merged together into a combined query selector\n * string:\n *\n *  ```\n *  query(':self, .record:enter, .record:leave, \\@subTrigger', [...])\n *  ```\n *\n * ### Demo\n *\n * ```\n * \\@Component({\n *   selector: 'inner',\n *   template: `\n *     <div [\\@queryAnimation]=\"exp\">\n *       <h1>Title</h1>\n *       <div class=\"content\">\n *         Blah blah blah\n *       </div>\n *     </div>\n *   `,\n *   animations: [\n *    trigger('queryAnimation', [\n *      transition('* => goAnimate', [\n *        // hide the inner elements\n *        query('h1', style({ opacity: 0 })),\n *        query('.content', style({ opacity: 0 })),\n *\n *        // animate the inner elements in, one by one\n *        query('h1', animate(1000, st
 yle({ opacity: 1 })),\n *        query('.content', animate(1000, style({ opacity: 1 })),\n *      ])\n *    ])\n *  ]\n * })\n * class Cmp {\n *   exp = '';\n *\n *   goAnimate() {\n *     this.exp = 'goAnimate';\n *   }\n * }\n * ```\n *\n * \\@experimental Animation support is experimental.\n * @param {?} selector\n * @param {?} animation\n * @param {?=} options\n * @return {?}\n */\nfunction query(selector, animation, options) {\n    if (options === void 0) { options = null; }\n    return { type: 11 /* Query */, selector: selector, animation: animation, options: options };\n}\n/**\n * `stagger` is an animation-specific function that is designed to be used inside of Angular's\n * animation DSL language. It is designed to be used inside of an animation {\\@link query query()}\n * and works by issuing a timing gap between after each queried item is animated.\n *\n * ### Usage\n *\n * In the example below there is a container element that wraps a list of items stamped out\n * by an n
 gFor. The container element contains an animation trigger that will later be set\n * to query for each of the inner items.\n *\n * ```html\n * <!-- list.component.html -->\n * <button (click)=\"toggle()\">Show / Hide Items</button>\n * <hr />\n * <div [\\@listAnimation]=\"items.length\">\n *   <div *ngFor=\"let item of items\">\n *     {{ item }}\n *   </div>\n * </div>\n * ```\n *\n * The component code for this looks as such:\n *\n * ```ts\n * import {trigger, transition, style, animate, query, stagger} from '\\@angular/animations';\n * \\@Component({\n *   templateUrl: 'list.component.html',\n *   animations: [\n *     trigger('listAnimation', [\n *        //...\n *     ])\n *   ]\n * })\n * class ListComponent {\n *   items = [];\n *\n *   showItems() {\n *     this.items = [0,1,2,3,4];\n *   }\n *\n *   hideItems() {\n *     this.items = [];\n *   }\n *\n *   toggle() {\n *     this.items.length ? this.hideItems() : this.showItems();\n *   }\n * }\n * ```\n *\n * And now for th
 e animation trigger code:\n *\n * ```ts\n * trigger('listAnimation', [\n *   transition('* => *', [ // each time the binding value changes\n *     query(':leave', [\n *       stagger(100, [\n *         animate('0.5s', style({ opacity: 0 }))\n *       ])\n *     ]),\n *     query(':enter', [\n *       style({ opacity: 0 }),\n *       stagger(100, [\n *         animate('0.5s', style({ opacity: 1 }))\n *       ])\n *     ])\n *   ])\n * ])\n * ```\n *\n * Now each time the items are added/removed then either the opacity\n * fade-in animation will run or each removed item will be faded out.\n * When either of these animations occur then a stagger effect will be\n * applied after each item's animation is started.\n *\n * \\@experimental Animation support is experimental.\n * @param {?} timings\n * @param {?} animation\n * @return {?}\n */\nfunction stagger(timings, animation) {\n    return { type: 12 /* Stagger */, timings: timings, animation: animation };\n}\n\n/**\n * @fileoverview add
 ed by tsickle\n * @suppress {checkTypes} checked by tsc\n */\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n * @param {?} cb\n * @return {?}\n */\nfunction scheduleMicroTask(cb) {\n    Promise.resolve(null).then(cb);\n}\n\n/**\n * @fileoverview added by tsickle\n * @suppress {checkTypes} checked by tsc\n */\n/**\n * AnimationPlayer controls an animation sequence that was produced from a programmatic animation.\n * (see {\\@link AnimationBuilder AnimationBuilder} for more information on how to create programmatic\n * animations.)\n *\n * \\@experimental Animation support is experimental.\n * @record\n */\n\n/**\n * \\@experimental Animation support is experimental.\n */\nvar NoopAnimationPlayer = /** @class */ (function () {\n    function NoopAnimationPlayer() {\n        this._onDoneFns = [];\n        this._onStartFns = [];\n  
       this._onDestroyFns = [];\n        this._started = false;\n        this._destroyed = false;\n        this._finished = false;\n        this.parentPlayer = null;\n        this.totalTime = 0;\n    }\n    /**\n     * @return {?}\n     */\n    NoopAnimationPlayer.prototype._onFinish = /**\n     * @return {?}\n     */\n    function () {\n        if (!this._finished) {\n            this._finished = true;\n            this._onDoneFns.forEach(function (fn) { return fn(); });\n            this._onDoneFns = [];\n        }\n    };\n    /**\n     * @param {?} fn\n     * @return {?}\n     */\n    NoopAnimationPlayer.prototype.onStart = /**\n     * @param {?} fn\n     * @return {?}\n     */\n    function (fn) { this._onStartFns.push(fn); };\n    /**\n     * @param {?} fn\n     * @return {?}\n     */\n    NoopAnimationPlayer.prototype.onDone = /**\n     * @param {?} fn\n     * @return {?}\n     */\n    function (fn) { this._onDoneFns.push(fn); };\n    /**\n     * @param {?} fn\n     * @return 
 {?}\n     */\n    NoopAnimationPlayer.prototype.onDestroy = /**\n     * @param {?} fn\n     * @return {?}\n     */\n    function (fn) { this._onDestroyFns.push(fn); };\n    /**\n     * @return {?}\n     */\n    NoopAnimationPlayer.prototype.hasStarted = /**\n     * @return {?}\n     */\n    function () { return this._started; };\n    /**\n     * @return {?}\n     */\n    NoopAnimationPlayer.prototype.init = /**\n     * @return {?}\n     */\n    function () { };\n    /**\n     * @return {?}\n     */\n    NoopAnimationPlayer.prototype.play = /**\n     * @return {?}\n     */\n    function () {\n        if (!this.hasStarted()) {\n            this._onStart();\n            this.triggerMicrotask();\n        }\n        this._started = true;\n    };\n    /* @internal */\n    /**\n     * @return {?}\n     */\n    NoopAnimationPlayer.prototype.triggerMicrotask = /**\n     * @return {?}\n     */\n    function () {\n        var _this = this;\n        scheduleMicroTask(function () { return _this.
 _onFinish(); });\n    };\n    /**\n     * @return {?}\n     */\n    NoopAnimationPlayer.prototype._onStart = /**\n     * @return {?}\n     */\n    function () {\n        this._onStartFns.forEach(function (fn) { return fn(); });\n        this._onStartFns = [];\n    };\n    /**\n     * @return {?}\n     */\n    NoopAnimationPlayer.prototype.pause = /**\n     * @return {?}\n     */\n    function () { };\n    /**\n     * @return {?}\n     */\n    NoopAnimationPlayer.prototype.restart = /**\n     * @return {?}\n     */\n    function () { };\n    /**\n     * @return {?}\n     */\n    NoopAnimationPlayer.prototype.finish = /**\n     * @return {?}\n     */\n    function () { this._onFinish(); };\n    /**\n     * @return {?}\n     */\n    NoopAnimationPlayer.prototype.destroy = /**\n     * @return {?}\n     */\n    function () {\n        if (!this._destroyed) {\n            this._destroyed = true;\n            if (!this.hasStarted()) {\n                this._onStart();\n            }\n      
       this.finish();\n            this._onDestroyFns.forEach(function (fn) { return fn(); });\n            this._onDestroyFns = [];\n        }\n    };\n    /**\n     * @return {?}\n     */\n    NoopAnimationPlayer.prototype.reset = /**\n     * @return {?}\n     */\n    function () { };\n    /**\n     * @param {?} p\n     * @return {?}\n     */\n    NoopAnimationPlayer.prototype.setPosition = /**\n     * @param {?} p\n     * @return {?}\n     */\n    function (p) { };\n    /**\n     * @return {?}\n     */\n    NoopAnimationPlayer.prototype.getPosition = /**\n     * @return {?}\n     */\n    function () { return 0; };\n    /* @internal */\n    /**\n     * @param {?} phaseName\n     * @return {?}\n     */\n    NoopAnimationPlayer.prototype.triggerCallback = /**\n     * @param {?} phaseName\n     * @return {?}\n     */\n    function (phaseName) {\n        var /** @type {?} */ methods = phaseName == 'start' ? this._onStartFns : this._onDoneFns;\n        methods.forEach(function (fn) { re
 turn fn(); });\n        methods.length = 0;\n    };\n    return NoopAnimationPlayer;\n}());\n\n/**\n * @fileoverview added by tsickle\n * @suppress {checkTypes} checked by tsc\n */\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nvar AnimationGroupPlayer = /** @class */ (function () {\n    function AnimationGroupPlayer(_players) {\n        var _this = this;\n        this._onDoneFns = [];\n        this._onStartFns = [];\n        this._finished = false;\n        this._started = false;\n        this._destroyed = false;\n        this._onDestroyFns = [];\n        this.parentPlayer = null;\n        this.totalTime = 0;\n        this.players = _players;\n        var /** @type {?} */ doneCount = 0;\n        var /** @type {?} */ destroyCount = 0;\n        var /** @type {?} */ startCount = 0;\n        var /** @type {?} */ total = this
 .players.length;\n        if (total == 0) {\n            scheduleMicroTask(function () { return _this._onFinish(); });\n        }\n        else {\n            this.players.forEach(function (player) {\n                player.onDone(function () {\n                    if (++doneCount == total) {\n                        _this._onFinish();\n                    }\n                });\n                player.onDestroy(function () {\n                    if (++destroyCount == total) {\n                        _this._onDestroy();\n                    }\n                });\n                player.onStart(function () {\n                    if (++startCount == total) {\n                        _this._onStart();\n                    }\n                });\n            });\n        }\n        this.totalTime = this.players.reduce(function (time, player) { return Math.max(time, player.totalTime); }, 0);\n    }\n    /**\n     * @return {?}\n     */\n    AnimationGroupPlayer.prototype._onFinish = /*
 *\n     * @return {?}\n     */\n    function () {\n        if (!this._finished) {\n            this._finished = true;\n            this._onDoneFns.forEach(function (fn) { return fn(); });\n            this._onDoneFns = [];\n        }\n    };\n    /**\n     * @return {?}\n     */\n    AnimationGroupPlayer.prototype.init = /**\n     * @return {?}\n     */\n    function () { this.players.forEach(function (player) { return player.init(); }); };\n    /**\n     * @param {?} fn\n     * @return {?}\n     */\n    AnimationGroupPlayer.prototype.onStart = /**\n     * @param {?} fn\n     * @return {?}\n     */\n    function (fn) { this._onStartFns.push(fn); };\n    /**\n     * @return {?}\n     */\n    AnimationGroupPlayer.prototype._onStart = /**\n     * @return {?}\n     */\n    function () {\n        if (!this.hasStarted()) {\n            this._started = true;\n            this._onStartFns.forEach(function (fn) { return fn(); });\n            this._onStartFns = [];\n        }\n    };\n    /*
 *\n     * @param {?} fn\n     * @return {?}\n     */\n    AnimationGroupPlayer.prototype.onDone = /**\n     * @param {?} fn\n     * @return {?}\n     */\n    function (fn) { this._onDoneFns.push(fn); };\n    /**\n     * @param {?} fn\n     * @return {?}\n     */\n    AnimationGroupPlayer.prototype.onDestroy = /**\n     * @param {?} fn\n     * @return {?}\n     */\n    function (fn) { this._onDestroyFns.push(fn); };\n    /**\n     * @return {?}\n     */\n    AnimationGroupPlayer.prototype.hasStarted = /**\n     * @return {?}\n     */\n    function () { return this._started; };\n    /**\n     * @return {?}\n     */\n    AnimationGroupPlayer.prototype.play = /**\n     * @return {?}\n     */\n    function () {\n        if (!this.parentPlayer) {\n            this.init();\n        }\n        this._onStart();\n        this.players.forEach(function (player) { return player.play(); });\n    };\n    /**\n     * @return {?}\n     */\n    AnimationGroupPlayer.prototype.pause = /**\n     * @retu
 rn {?}\n     */\n    function () { this.players.forEach(function (player) { return player.pause(); }); };\n    /**\n     * @return {?}\n     */\n    AnimationGroupPlayer.prototype.restart = /**\n     * @return {?}\n     */\n    function () { this.players.forEach(function (player) { return player.restart(); }); };\n    /**\n     * @return {?}\n     */\n    AnimationGroupPlayer.prototype.finish = /**\n     * @return {?}\n     */\n    function () {\n        this._onFinish();\n        this.players.forEach(function (player) { return player.finish(); });\n    };\n    /**\n     * @return {?}\n     */\n    AnimationGroupPlayer.prototype.destroy = /**\n     * @return {?}\n     */\n    function () { this._onDestroy(); };\n    /**\n     * @return {?}\n     */\n    AnimationGroupPlayer.prototype._onDestroy = /**\n     * @return {?}\n     */\n    function () {\n        if (!this._destroyed) {\n            this._destroyed = true;\n            this._onFinish();\n            this.players.forEach(fu
 nction (player) { return player.destroy(); });\n            this._onDestroyFns.forEach(function (fn) { return fn(); });\n            this._onDestroyFns = [];\n        }\n    };\n    /**\n     * @return {?}\n     */\n    AnimationGroupPlayer.prototype.reset = /**\n     * @return {?}\n     */\n    function () {\n        this.players.forEach(function (player) { return player.reset(); });\n        this._destroyed = false;\n        this._finished = false;\n        this._started = false;\n    };\n    /**\n     * @param {?} p\n     * @return {?}\n     */\n    AnimationGroupPlayer.prototype.setPosition = /**\n     * @param {?} p\n     * @return {?}\n     */\n    function (p) {\n        var /** @type {?} */ timeAtPosition = p * this.totalTime;\n        this.players.forEach(function (player) {\n            var /** @type {?} */ position = player.totalTime ? Math.min(1, timeAtPosition / player.totalTime) : 1;\n            player.setPosition(position);\n        });\n    };\n    /**\n     * @retu
 rn {?}\n     */\n    AnimationGroupPlayer.prototype.getPosition = /**\n     * @return {?}\n     */\n    function () {\n        var /** @type {?} */ min = 0;\n        this.players.forEach(function (player) {\n            var /** @type {?} */ p = player.getPosition();\n            min = Math.min(p, min);\n        });\n        return min;\n    };\n    /**\n     * @return {?}\n     */\n    AnimationGroupPlayer.prototype.beforeDestroy = /**\n     * @return {?}\n     */\n    function () {\n        this.players.forEach(function (player) {\n            if (player.beforeDestroy) {\n                player.beforeDestroy();\n            }\n        });\n    };\n    /* @internal */\n    /**\n     * @param {?} phaseName\n     * @return {?}\n     */\n    AnimationGroupPlayer.prototype.triggerCallback = /**\n     * @param {?} phaseName\n     * @return {?}\n     */\n    function (phaseName) {\n        var /** @type {?} */ methods = phaseName == 'start' ? this._onStartFns : this._onDoneFns;\n        m
 ethods.forEach(function (fn) { return fn(); });\n        methods.length = 0;\n    };\n    return AnimationGroupPlayer;\n}());\n\n/**\n * @fileoverview added by tsickle\n * @suppress {checkTypes} checked by tsc\n */\nvar ɵPRE_STYLE = '!';\n\nexports.AnimationBuilder = AnimationBuilder;\nexports.AnimationFactory = AnimationFactory;\nexports.AUTO_STYLE = AUTO_STYLE;\nexports.animate = animate;\nexports.animateChild = animateChild;\nexports.animation = animation;\nexports.group = group;\nexports.keyframes = keyframes;\nexports.query = query;\nexports.sequence = sequence;\nexports.stagger = stagger;\nexports.state = state;\nexports.style = style;\nexports.transition = transition;\nexports.trigger = trigger;\nexports.useAnimation = useAnimation;\nexports.NoopAnimationPlayer = NoopAnimationPlayer;\nexports.ɵAnimationGroupPlayer = AnimationGroupPlayer;\nexports.ɵPRE_STYLE = ɵPRE_STYLE;\n\nObject.defineProperty(exports, '__esModule', { value: true });\n\n})));\n//# sourceMappingURL=anima
 tions.umd.js.map\n"]}
\ No newline at end of file


[15/59] [abbrv] [partial] nifi-fds git commit: update gh-pages

Posted by sc...@apache.org.
http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/eec354e6/node_modules/@angular/cdk/bundles/cdk-overlay.umd.min.js.map
----------------------------------------------------------------------
diff --git a/node_modules/@angular/cdk/bundles/cdk-overlay.umd.min.js.map b/node_modules/@angular/cdk/bundles/cdk-overlay.umd.min.js.map
new file mode 100644
index 0000000..2455e4b
--- /dev/null
+++ b/node_modules/@angular/cdk/bundles/cdk-overlay.umd.min.js.map
@@ -0,0 +1 @@
+{"version":3,"file":"cdk-overlay.umd.min.js","sources":["../../node_modules/tslib/tslib.es6.js","../../src/cdk/overlay/scroll/scroll-strategy.ts","../../src/cdk/overlay/position/scroll-clip.ts","../../src/cdk/overlay/overlay-ref.ts","../../src/cdk/overlay/keyboard/overlay-keyboard-dispatcher.ts","../../src/cdk/overlay/overlay-container.ts","../../src/cdk/overlay/overlay-directives.ts","../../src/cdk/overlay/scroll/noop-scroll-strategy.ts","../../src/cdk/overlay/overlay-config.ts","../../src/cdk/overlay/position/connected-position.ts","../../src/cdk/overlay/scroll/close-scroll-strategy.ts","../../src/cdk/overlay/scroll/block-scroll-strategy.ts","../../src/cdk/overlay/scroll/reposition-scroll-strategy.ts","../../src/cdk/overlay/scroll/scroll-strategy-options.ts","../../src/cdk/overlay/position/connected-position-strategy.ts","../../src/cdk/overlay/position/global-position-strategy.ts","../../src/cdk/overlay/position/overlay-position-builder.ts","../../src/cdk/overlay/overlay.ts","../.
 ./src/cdk/overlay/overlay-module.ts","../../src/cdk/overlay/fullscreen-overlay-container.ts"],"sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */
 \r\n\r\nvar extendStatics = Object.setPrototypeOf ||\r\n    ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n    function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n\r\nexport function __extends(d, b) {\r\n    extendStatics(d, b);\r\n    function __() { this.constructor = d; }\r\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = Object.assign || function __assign(t) {\r\n    for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n        s = arguments[i];\r\n        for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n    }\r\n    return t;\r\n}\r\n\r\nexport function __rest(s, e) {\r\n    var t = {};\r\n    for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n        t[p] = s[p];\r\n    if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n        for (var i = 0, p 
 = Object.getOwnPropertySymbols(s); i < p.length; i++) if (e.indexOf(p[i]) < 0)\r\n            t[p[i]] = s[p[i]];\r\n    return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n    var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n    if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n    else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n    return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n    return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n    if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return
  Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n    return new (P || (P = Promise))(function (resolve, reject) {\r\n        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n        function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n        function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }\r\n        step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n    });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n    var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n    return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n
     function verb(n) { return function (v) { return step([n, v]); }; }\r\n    function step(op) {\r\n        if (f) throw new TypeError(\"Generator is already executing.\");\r\n        while (_) try {\r\n            if (f = 1, y && (t = y[op[0] & 2 ? \"return\" : op[0] ? \"throw\" : \"next\"]) && !(t = t.call(y, op[1])).done) return t;\r\n            if (y = 0, t) op = [0, t.value];\r\n            switch (op[0]) {\r\n                case 0: case 1: t = op; break;\r\n                case 4: _.label++; return { value: op[1], done: false };\r\n                case 5: _.label++; y = op[1]; op = [0]; continue;\r\n                case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n                default:\r\n                    if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n                    if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n                    if (op[0] === 6 && _.l
 abel < t[1]) { _.label = t[1]; t = op; break; }\r\n                    if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n                    if (t[2]) _.ops.pop();\r\n                    _.trys.pop(); continue;\r\n            }\r\n            op = body.call(thisArg, _);\r\n        } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n        if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n    }\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n    for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n    var m = typeof Symbol === \"function\" && o[Symbol.iterator], i = 0;\r\n    if (m) return m.call(o);\r\n    return {\r\n        next: function () {\r\n            if (o && i >= o.length) o = void 0;\r\n            return { value: o && o[i++], done: !o };\r\n        }\r\n    };\r\n}\r\n\r\nexport function __read(o, n) {\r\n    var m = typeof Symbol === 
 \"function\" && o[Symbol.iterator];\r\n    if (!m) return o;\r\n    var i = m.call(o), r, ar = [], e;\r\n    try {\r\n        while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n    }\r\n    catch (error) { e = { error: error }; }\r\n    finally {\r\n        try {\r\n            if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n        }\r\n        finally { if (e) throw e.error; }\r\n    }\r\n    return ar;\r\n}\r\n\r\nexport function __spread() {\r\n    for (var ar = [], i = 0; i < arguments.length; i++)\r\n        ar = ar.concat(__read(arguments[i]));\r\n    return ar;\r\n}\r\n\r\nexport function __await(v) {\r\n    return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n    if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n    var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n    return i = {}, 
 verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n    function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n    function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n    function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r);  }\r\n    function fulfill(value) { resume(\"next\", value); }\r\n    function reject(value) { resume(\"throw\", value); }\r\n    function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n    var i, p;\r\n    return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n    function verb(n, f) { if (o[n]) i[n] = function (v) { return (p = !p) ? { value: __a
 wait(o[n](v)), done: n === \"return\" } : f ? f(v) : v; }; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n    if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n    var m = o[Symbol.asyncIterator];\r\n    return m ? m.call(o) : typeof __values === \"function\" ? __values(o) : o[Symbol.iterator]();\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n    if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n    return cooked;\r\n};\r\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {OverlayRef} from '../overlay-ref';\n\n/**\n * Describes a strategy that will be used by an overlay to handle scroll events while it is open.\n */\nexport interface ScrollStrategy {\n  /** Enable this scroll strate
 gy (called when the attached overlay is attached to a portal). */\n  enable: () => void;\n\n  /** Disable this scroll strategy (called when the attached overlay is detached from a portal). */\n  disable: () => void;\n\n  /** Attaches this `ScrollStrategy` to an overlay. */\n  attach: (overlayRef: OverlayRef) => void;\n}\n\n/**\n * Returns an error to be thrown when attempting to attach an already-attached scroll strategy.\n */\nexport function getMatScrollStrategyAlreadyAttachedError(): Error {\n  return Error(`Scroll strategy has already been attached.`);\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n// TODO(jelbourn): move this to live with the rest of the scrolling code\n// TODO(jelbourn): someday replace this with IntersectionObservers\n\n/**\n * Gets whether an element is scrolled outside of view by any of it
 s parent scrolling containers.\n * @param element Dimensions of the element (from getBoundingClientRect)\n * @param scrollContainers Dimensions of element's scrolling containers (from getBoundingClientRect)\n * @returns Whether the element is scrolled out of view\n * @docs-private\n */\nexport function isElementScrolledOutsideView(element: ClientRect, scrollContainers: ClientRect[]) {\n  return scrollContainers.some(containerBounds => {\n    const outsideAbove = element.bottom < containerBounds.top;\n    const outsideBelow = element.top > containerBounds.bottom;\n    const outsideLeft = element.right < containerBounds.left;\n    const outsideRight = element.left > containerBounds.right;\n\n    return outsideAbove || outsideBelow || outsideLeft || outsideRight;\n  });\n}\n\n\n/**\n * Gets whether an element is clipped by any of its scrolling containers.\n * @param element Dimensions of the element (from getBoundingClientRect)\n * @param scrollContainers Dimensions of element's scroll
 ing containers (from getBoundingClientRect)\n * @returns Whether the element is clipped\n * @docs-private\n */\nexport function isElementClippedByScrolling(element: ClientRect, scrollContainers: ClientRect[]) {\n  return scrollContainers.some(scrollContainerRect => {\n    const clippedAbove = element.top < scrollContainerRect.top;\n    const clippedBelow = element.bottom > scrollContainerRect.bottom;\n    const clippedLeft = element.left < scrollContainerRect.left;\n    const clippedRight = element.right > scrollContainerRect.right;\n\n    return clippedAbove || clippedBelow || clippedLeft || clippedRight;\n  });\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {Direction} from '@angular/cdk/bidi';\nimport {ComponentPortal, Portal, PortalOutlet, TemplatePortal} from '@angular/cdk/portal';\nimport {ComponentRef
 , EmbeddedViewRef, NgZone} from '@angular/core';\nimport {Observable} from 'rxjs/Observable';\nimport {take} from 'rxjs/operators/take';\nimport {Subject} from 'rxjs/Subject';\nimport {OverlayKeyboardDispatcher} from './keyboard/overlay-keyboard-dispatcher';\nimport {OverlayConfig} from './overlay-config';\n\n\n/** An object where all of its properties cannot be written. */\nexport type ImmutableObject<T> = {\n  readonly [P in keyof T]: T[P];\n};\n\n/**\n * Reference to an overlay that has been created with the Overlay service.\n * Used to manipulate or dispose of said overlay.\n */\nexport class OverlayRef implements PortalOutlet {\n  private _backdropElement: HTMLElement | null = null;\n  private _backdropClick: Subject<MouseEvent> = new Subject();\n  private _attachments = new Subject<void>();\n  private _detachments = new Subject<void>();\n\n  /** Stream of keydown events dispatched to this overlay. */\n  _keydownEvents = new Subject<KeyboardEvent>();\n\n  constructor(\n      pr
 ivate _portalOutlet: PortalOutlet,\n      private _pane: HTMLElement,\n      private _config: ImmutableObject<OverlayConfig>,\n      private _ngZone: NgZone,\n      private _keyboardDispatcher: OverlayKeyboardDispatcher,\n      private _document: Document) {\n\n    if (_config.scrollStrategy) {\n      _config.scrollStrategy.attach(this);\n    }\n  }\n\n  /** The overlay's HTML element */\n  get overlayElement(): HTMLElement {\n    return this._pane;\n  }\n\n  /** The overlay's backdrop HTML element. */\n  get backdropElement(): HTMLElement | null {\n    return this._backdropElement;\n  }\n\n  attach<T>(portal: ComponentPortal<T>): ComponentRef<T>;\n  attach<T>(portal: TemplatePortal<T>): EmbeddedViewRef<T>;\n  attach(portal: any): any;\n\n  /**\n   * Attaches content, given via a Portal, to the overlay.\n   * If the overlay is configured to have a backdrop, it will be created.\n   *\n   * @param portal Portal instance to which to attach the overlay.\n   * @returns The portal attachm
 ent result.\n   */\n  attach(portal: Portal<any>): any {\n    let attachResult = this._portalOutlet.attach(portal);\n\n    if (this._config.positionStrategy) {\n      this._config.positionStrategy.attach(this);\n    }\n\n    // Update the pane element with the given configuration.\n    this._updateStackingOrder();\n    this._updateElementSize();\n    this._updateElementDirection();\n\n    if (this._config.scrollStrategy) {\n      this._config.scrollStrategy.enable();\n    }\n\n    // Update the position once the zone is stable so that the overlay will be fully rendered\n    // before attempting to position it, as the position may depend on the size of the rendered\n    // content.\n    this._ngZone.onStable.asObservable().pipe(take(1)).subscribe(() => {\n      // The overlay could've been detached before the zone has stabilized.\n      if (this.hasAttached()) {\n        this.updatePosition();\n      }\n    });\n\n    // Enable pointer events for the overlay pane element.\n    this._
 togglePointerEvents(true);\n\n    if (this._config.hasBackdrop) {\n      this._attachBackdrop();\n    }\n\n    if (this._config.panelClass) {\n      // We can't do a spread here, because IE doesn't support setting multiple classes.\n      if (Array.isArray(this._config.panelClass)) {\n        this._config.panelClass.forEach(cls => this._pane.classList.add(cls));\n      } else {\n        this._pane.classList.add(this._config.panelClass);\n      }\n    }\n\n    // Only emit the `attachments` event once all other setup is done.\n    this._attachments.next();\n\n    // Track this overlay by the keyboard dispatcher\n    this._keyboardDispatcher.add(this);\n\n    return attachResult;\n  }\n\n  /**\n   * Detaches an overlay from a portal.\n   * @returns The portal detachment result.\n   */\n  detach(): any {\n    if (!this.hasAttached()) {\n      return;\n    }\n\n    this.detachBackdrop();\n\n    // When the overlay is detached, the pane element should disable pointer events.\n    // This
  is necessary because otherwise the pane element will cover the page and disable\n    // pointer events therefore. Depends on the position strategy and the applied pane boundaries.\n    this._togglePointerEvents(false);\n\n    if (this._config.positionStrategy && this._config.positionStrategy.detach) {\n      this._config.positionStrategy.detach();\n    }\n\n    if (this._config.scrollStrategy) {\n      this._config.scrollStrategy.disable();\n    }\n\n    const detachmentResult = this._portalOutlet.detach();\n\n    // Only emit after everything is detached.\n    this._detachments.next();\n\n    // Remove this overlay from keyboard dispatcher tracking\n    this._keyboardDispatcher.remove(this);\n\n    return detachmentResult;\n  }\n\n  /** Cleans up the overlay from the DOM. */\n  dispose(): void {\n    const isAttached = this.hasAttached();\n\n    if (this._config.positionStrategy) {\n      this._config.positionStrategy.dispose();\n    }\n\n    if (this._config.scrollStrategy) {\n  
     this._config.scrollStrategy.disable();\n    }\n\n    this.detachBackdrop();\n    this._keyboardDispatcher.remove(this);\n    this._portalOutlet.dispose();\n    this._attachments.complete();\n    this._backdropClick.complete();\n    this._keydownEvents.complete();\n\n    if (isAttached) {\n      this._detachments.next();\n    }\n\n    this._detachments.complete();\n  }\n\n  /** Whether the overlay has attached content. */\n  hasAttached(): boolean {\n    return this._portalOutlet.hasAttached();\n  }\n\n  /** Gets an observable that emits when the backdrop has been clicked. */\n  backdropClick(): Observable<MouseEvent> {\n    return this._backdropClick.asObservable();\n  }\n\n  /** Gets an observable that emits when the overlay has been attached. */\n  attachments(): Observable<void> {\n    return this._attachments.asObservable();\n  }\n\n  /** Gets an observable that emits when the overlay has been detached. */\n  detachments(): Observable<void> {\n    return this._detachments.as
 Observable();\n  }\n\n  /** Gets an observable of keydown events targeted to this overlay. */\n  keydownEvents(): Observable<KeyboardEvent> {\n    return this._keydownEvents.asObservable();\n  }\n\n  /** Gets the the current overlay configuration, which is immutable. */\n  getConfig(): OverlayConfig {\n    return this._config;\n  }\n\n  /** Updates the position of the overlay based on the position strategy. */\n  updatePosition() {\n    if (this._config.positionStrategy) {\n      this._config.positionStrategy.apply();\n    }\n  }\n\n  /** Update the size properties of the overlay. */\n  updateSize(sizeConfig: OverlaySizeConfig) {\n    this._config = {...this._config, ...sizeConfig};\n    this._updateElementSize();\n  }\n\n  /** Sets the LTR/RTL direction for the overlay. */\n  setDirection(dir: Direction) {\n    this._config = {...this._config, direction: dir};\n    this._updateElementDirection();\n  }\n\n  /** Updates the text direction of the overlay panel. */\n  private _updateEl
 ementDirection() {\n    this._pane.setAttribute('dir', this._config.direction!);\n  }\n\n  /** Updates the size of the overlay element based on the overlay config. */\n  private _updateElementSize() {\n    if (this._config.width || this._config.width === 0) {\n      this._pane.style.width = formatCssUnit(this._config.width);\n    }\n\n    if (this._config.height || this._config.height === 0) {\n      this._pane.style.height = formatCssUnit(this._config.height);\n    }\n\n    if (this._config.minWidth || this._config.minWidth === 0) {\n      this._pane.style.minWidth = formatCssUnit(this._config.minWidth);\n    }\n\n    if (this._config.minHeight || this._config.minHeight === 0) {\n      this._pane.style.minHeight = formatCssUnit(this._config.minHeight);\n    }\n\n    if (this._config.maxWidth || this._config.maxWidth === 0) {\n      this._pane.style.maxWidth = formatCssUnit(this._config.maxWidth);\n    }\n\n    if (this._config.maxHeight || this._config.maxHeight === 0) {\n      thi
 s._pane.style.maxHeight = formatCssUnit(this._config.maxHeight);\n    }\n  }\n\n  /** Toggles the pointer events for the overlay pane element. */\n  private _togglePointerEvents(enablePointer: boolean) {\n    this._pane.style.pointerEvents = enablePointer ? 'auto' : 'none';\n  }\n\n  /** Attaches a backdrop for this overlay. */\n  private _attachBackdrop() {\n    const showingClass = 'cdk-overlay-backdrop-showing';\n\n    this._backdropElement = this._document.createElement('div');\n    this._backdropElement.classList.add('cdk-overlay-backdrop');\n\n    if (this._config.backdropClass) {\n      this._backdropElement.classList.add(this._config.backdropClass);\n    }\n\n    // Insert the backdrop before the pane in the DOM order,\n    // in order to handle stacked overlays properly.\n    this._pane.parentElement!.insertBefore(this._backdropElement, this._pane);\n\n    // Forward backdrop clicks such that the consumer of the overlay can perform whatever\n    // action desired when such 
 a click occurs (usually closing the overlay).\n    this._backdropElement.addEventListener('click',\n        (event: MouseEvent) => this._backdropClick.next(event));\n\n    // Add class to fade-in the backdrop after one frame.\n    if (typeof requestAnimationFrame !== 'undefined') {\n      this._ngZone.runOutsideAngular(() => {\n        requestAnimationFrame(() => {\n          if (this._backdropElement) {\n            this._backdropElement.classList.add(showingClass);\n          }\n        });\n      });\n    } else {\n      this._backdropElement.classList.add(showingClass);\n    }\n  }\n\n  /**\n   * Updates the stacking order of the element, moving it to the top if necessary.\n   * This is required in cases where one overlay was detached, while another one,\n   * that should be behind it, was destroyed. The next time both of them are opened,\n   * the stacking will be wrong, because the detached element's pane will still be\n   * in its original DOM position.\n   */\n  private _upd
 ateStackingOrder() {\n    if (this._pane.nextSibling) {\n      this._pane.parentNode!.appendChild(this._pane);\n    }\n  }\n\n  /** Detaches the backdrop (if any) associated with the overlay. */\n  detachBackdrop(): void {\n    let backdropToDetach = this._backdropElement;\n\n    if (backdropToDetach) {\n      let finishDetach = () => {\n        // It may not be attached to anything in certain cases (e.g. unit tests).\n        if (backdropToDetach && backdropToDetach.parentNode) {\n          backdropToDetach.parentNode.removeChild(backdropToDetach);\n        }\n\n        // It is possible that a new portal has been attached to this overlay since we started\n        // removing the backdrop. If that is the case, only clear the backdrop reference if it\n        // is still the same instance that we started to remove.\n        if (this._backdropElement == backdropToDetach) {\n          this._backdropElement = null;\n        }\n      };\n\n      backdropToDetach.classList.remove('cdk-ov
 erlay-backdrop-showing');\n\n      if (this._config.backdropClass) {\n        backdropToDetach.classList.remove(this._config.backdropClass);\n      }\n\n      backdropToDetach.addEventListener('transitionend', finishDetach);\n\n      // If the backdrop doesn't have a transition, the `transitionend` event won't fire.\n      // In this case we make it unclickable and we try to remove it after a delay.\n      backdropToDetach.style.pointerEvents = 'none';\n\n      // Run this outside the Angular zone because there's nothing that Angular cares about.\n      // If it were to run inside the Angular zone, every test that used Overlay would have to be\n      // either async or fakeAsync.\n      this._ngZone.runOutsideAngular(() => {\n        setTimeout(finishDetach, 500);\n      });\n    }\n  }\n}\n\nfunction formatCssUnit(value: number | string) {\n  return typeof value === 'string' ? value as string : `${value}px`;\n}\n\n\n/** Size properties for an overlay. */\nexport interface OverlaySi
 zeConfig {\n  width?: number | string;\n  height?: number | string;\n  minWidth?: number | string;\n  minHeight?: number | string;\n  maxWidth?: number | string;\n  maxHeight?: number | string;\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {Injectable, Inject, InjectionToken, Optional, SkipSelf, OnDestroy} from '@angular/core';\nimport {OverlayRef} from '../overlay-ref';\nimport {Subscription} from 'rxjs/Subscription';\nimport {filter} from 'rxjs/operators/filter';\nimport {fromEvent} from 'rxjs/observable/fromEvent';\nimport {DOCUMENT} from '@angular/common';\n\n/**\n * Service for dispatching keyboard events that land on the body to appropriate overlay ref,\n * if any. It maintains a list of attached overlays to determine best suited overlay based\n * on event target and order of overlay opens.\n */\n@Inj
 ectable()\nexport class OverlayKeyboardDispatcher implements OnDestroy {\n\n  /** Currently attached overlays in the order they were attached. */\n  _attachedOverlays: OverlayRef[] = [];\n\n  private _keydownEventSubscription: Subscription | null;\n\n  constructor(@Inject(DOCUMENT) private _document: any) {}\n\n  ngOnDestroy() {\n    this._unsubscribeFromKeydownEvents();\n  }\n\n  /** Add a new overlay to the list of attached overlay refs. */\n  add(overlayRef: OverlayRef): void {\n    // Lazily start dispatcher once first overlay is added\n    if (!this._keydownEventSubscription) {\n      this._subscribeToKeydownEvents();\n    }\n\n    this._attachedOverlays.push(overlayRef);\n  }\n\n  /** Remove an overlay from the list of attached overlay refs. */\n  remove(overlayRef: OverlayRef): void {\n    const index = this._attachedOverlays.indexOf(overlayRef);\n\n    if (index > -1) {\n      this._attachedOverlays.splice(index, 1);\n    }\n\n    // Remove the global listener once there are
  no more overlays.\n    if (this._attachedOverlays.length === 0) {\n      this._unsubscribeFromKeydownEvents();\n    }\n  }\n\n  /**\n   * Subscribe to keydown events that land on the body and dispatch those\n   * events to the appropriate overlay.\n   */\n  private _subscribeToKeydownEvents(): void {\n    const bodyKeydownEvents = fromEvent<KeyboardEvent>(this._document.body, 'keydown', true);\n\n    this._keydownEventSubscription = bodyKeydownEvents.pipe(\n      filter(() => !!this._attachedOverlays.length)\n    ).subscribe(event => {\n      // Dispatch keydown event to the correct overlay.\n      this._selectOverlayFromEvent(event)._keydownEvents.next(event);\n    });\n  }\n\n  /** Removes the global keydown subscription. */\n  private _unsubscribeFromKeydownEvents(): void {\n    if (this._keydownEventSubscription) {\n      this._keydownEventSubscription.unsubscribe();\n      this._keydownEventSubscription = null;\n    }\n  }\n\n  /** Select the appropriate overlay from a keydown
  event. */\n  private _selectOverlayFromEvent(event: KeyboardEvent): OverlayRef {\n    // Check if any overlays contain the event\n    const targetedOverlay = this._attachedOverlays.find(overlay => {\n      return overlay.overlayElement === event.target ||\n          overlay.overlayElement.contains(event.target as HTMLElement);\n    });\n\n    // Use the overlay if it exists, otherwise choose the most recently attached one\n    return targetedOverlay || this._attachedOverlays[this._attachedOverlays.length - 1];\n  }\n\n}\n\n/** @docs-private */\nexport function OVERLAY_KEYBOARD_DISPATCHER_PROVIDER_FACTORY(\n    dispatcher: OverlayKeyboardDispatcher, _document: any) {\n  return dispatcher || new OverlayKeyboardDispatcher(_document);\n}\n\n/** @docs-private */\nexport const OVERLAY_KEYBOARD_DISPATCHER_PROVIDER = {\n  // If there is already an OverlayKeyboardDispatcher available, use that.\n  // Otherwise, provide a new one.\n  provide: OverlayKeyboardDispatcher,\n  deps: [\n    [new O
 ptional(), new SkipSelf(), OverlayKeyboardDispatcher],\n\n    // Coerce to `InjectionToken` so that the `deps` match the \"shape\"\n    // of the type expected by Angular\n    DOCUMENT as InjectionToken<any>\n  ],\n  useFactory: OVERLAY_KEYBOARD_DISPATCHER_PROVIDER_FACTORY\n};\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {Injectable, InjectionToken, Inject, Optional, SkipSelf, OnDestroy} from '@angular/core';\nimport {DOCUMENT} from '@angular/common';\n\n\n/** Container inside which all overlays will render. */\n@Injectable()\nexport class OverlayContainer implements OnDestroy {\n  protected _containerElement: HTMLElement;\n\n  constructor(@Inject(DOCUMENT) private _document: any) {}\n\n  ngOnDestroy() {\n    if (this._containerElement && this._containerElement.parentNode) {\n      this._containerElement.pare
 ntNode.removeChild(this._containerElement);\n    }\n  }\n\n  /**\n   * This method returns the overlay container element. It will lazily\n   * create the element the first time  it is called to facilitate using\n   * the container in non-browser environments.\n   * @returns the container element\n   */\n  getContainerElement(): HTMLElement {\n    if (!this._containerElement) { this._createContainer(); }\n    return this._containerElement;\n  }\n\n  /**\n   * Create the overlay container element, which is simply a div\n   * with the 'cdk-overlay-container' class on the document body.\n   */\n  protected _createContainer(): void {\n    const container = this._document.createElement('div');\n\n    container.classList.add('cdk-overlay-container');\n    this._document.body.appendChild(container);\n    this._containerElement = container;\n  }\n}\n\n/** @docs-private */\nexport function OVERLAY_CONTAINER_PROVIDER_FACTORY(parentContainer: OverlayContainer,\n  _document: any) {\n  return par
 entContainer || new OverlayContainer(_document);\n}\n\n/** @docs-private */\nexport const OVERLAY_CONTAINER_PROVIDER = {\n  // If there is already an OverlayContainer available, use that. Otherwise, provide a new one.\n  provide: OverlayContainer,\n  deps: [\n    [new Optional(), new SkipSelf(), OverlayContainer],\n    DOCUMENT as InjectionToken<any> // We need to use the InjectionToken somewhere to keep TS happy\n  ],\n  useFactory: OVERLAY_CONTAINER_PROVIDER_FACTORY\n};\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {Direction, Directionality} from '@angular/cdk/bidi';\nimport {coerceBooleanProperty} from '@angular/cdk/coercion';\nimport {ESCAPE} from '@angular/cdk/keycodes';\nimport {TemplatePortal} from '@angular/cdk/portal';\nimport {\n  Directive,\n  ElementRef,\n  EventEmitter,\n  Inject,\n  InjectionTok
 en,\n  Input,\n  OnChanges,\n  OnDestroy,\n  Optional,\n  Output,\n  SimpleChanges,\n  TemplateRef,\n  ViewContainerRef,\n} from '@angular/core';\nimport {Subscription} from 'rxjs/Subscription';\nimport {Overlay} from './overlay';\nimport {OverlayConfig} from './overlay-config';\nimport {OverlayRef} from './overlay-ref';\nimport {\n  ConnectedOverlayPositionChange,\n  ConnectionPositionPair,\n} from './position/connected-position';\nimport {ConnectedPositionStrategy} from './position/connected-position-strategy';\nimport {RepositionScrollStrategy, ScrollStrategy} from './scroll/index';\n\n\n/** Default set of positions for the overlay. Follows the behavior of a dropdown. */\nconst defaultPositionList = [\n  new ConnectionPositionPair(\n      {originX: 'start', originY: 'bottom'},\n      {overlayX: 'start', overlayY: 'top'}),\n  new ConnectionPositionPair(\n      {originX: 'start', originY: 'top'},\n      {overlayX: 'start', overlayY: 'bottom'}),\n  new ConnectionPositionPair(\n    {
 originX: 'end', originY: 'top'},\n    {overlayX: 'end', overlayY: 'bottom'}),\n  new ConnectionPositionPair(\n    {originX: 'end', originY: 'bottom'},\n    {overlayX: 'end', overlayY: 'top'}),\n];\n\n/** Injection token that determines the scroll handling while the connected overlay is open. */\nexport const CDK_CONNECTED_OVERLAY_SCROLL_STRATEGY =\n    new InjectionToken<() => ScrollStrategy>('cdk-connected-overlay-scroll-strategy');\n\n/** @docs-private */\nexport function CDK_CONNECTED_OVERLAY_SCROLL_STRATEGY_PROVIDER_FACTORY(overlay: Overlay):\n    () => RepositionScrollStrategy {\n  return () => overlay.scrollStrategies.reposition();\n}\n\n/** @docs-private */\nexport const CDK_CONNECTED_OVERLAY_SCROLL_STRATEGY_PROVIDER = {\n  provide: CDK_CONNECTED_OVERLAY_SCROLL_STRATEGY,\n  deps: [Overlay],\n  useFactory: CDK_CONNECTED_OVERLAY_SCROLL_STRATEGY_PROVIDER_FACTORY,\n};\n\n\n/**\n * Directive applied to an element to make it usable as an origin for an Overlay using a\n * ConnectedP
 ositionStrategy.\n */\n@Directive({\n  selector: '[cdk-overlay-origin], [overlay-origin], [cdkOverlayOrigin]',\n  exportAs: 'cdkOverlayOrigin',\n})\nexport class CdkOverlayOrigin {\n  constructor(\n      /** Reference to the element on which the directive is applied. */\n      public elementRef: ElementRef) { }\n}\n\n\n/**\n * Directive to facilitate declarative creation of an Overlay using a ConnectedPositionStrategy.\n */\n@Directive({\n  selector: '[cdk-connected-overlay], [connected-overlay], [cdkConnectedOverlay]',\n  exportAs: 'cdkConnectedOverlay'\n})\nexport class CdkConnectedOverlay implements OnDestroy, OnChanges {\n  private _overlayRef: OverlayRef;\n  private _templatePortal: TemplatePortal;\n  private _hasBackdrop = false;\n  private _backdropSubscription = Subscription.EMPTY;\n  private _offsetX: number = 0;\n  private _offsetY: number = 0;\n  private _position: ConnectedPositionStrategy;\n\n  /** Origin for the connected overlay. */\n  @Input('cdkConnectedOverlayOrigi
 n') origin: CdkOverlayOrigin;\n\n  /** Registered connected position pairs. */\n  @Input('cdkConnectedOverlayPositions') positions: ConnectionPositionPair[];\n\n  /** The offset in pixels for the overlay connection point on the x-axis */\n  @Input('cdkConnectedOverlayOffsetX')\n  get offsetX(): number { return this._offsetX; }\n  set offsetX(offsetX: number) {\n    this._offsetX = offsetX;\n    if (this._position) {\n      this._position.withOffsetX(offsetX);\n    }\n  }\n\n  /** The offset in pixels for the overlay connection point on the y-axis */\n  @Input('cdkConnectedOverlayOffsetY')\n  get offsetY() { return this._offsetY; }\n  set offsetY(offsetY: number) {\n    this._offsetY = offsetY;\n    if (this._position) {\n      this._position.withOffsetY(offsetY);\n    }\n  }\n\n  /** The width of the overlay panel. */\n  @Input('cdkConnectedOverlayWidth') width: number | string;\n\n  /** The height of the overlay panel. */\n  @Input('cdkConnectedOverlayHeight') height: number | stri
 ng;\n\n  /** The min width of the overlay panel. */\n  @Input('cdkConnectedOverlayMinWidth') minWidth: number | string;\n\n  /** The min height of the overlay panel. */\n  @Input('cdkConnectedOverlayMinHeight') minHeight: number | string;\n\n  /** The custom class to be set on the backdrop element. */\n  @Input('cdkConnectedOverlayBackdropClass') backdropClass: string;\n\n  /** Strategy to be used when handling scroll events while the overlay is open. */\n  @Input('cdkConnectedOverlayScrollStrategy') scrollStrategy: ScrollStrategy =\n      this._scrollStrategy();\n\n  /** Whether the overlay is open. */\n  @Input('cdkConnectedOverlayOpen') open: boolean = false;\n\n  /** Whether or not the overlay should attach a backdrop. */\n  @Input('cdkConnectedOverlayHasBackdrop')\n  get hasBackdrop() { return this._hasBackdrop; }\n  set hasBackdrop(value: any) { this._hasBackdrop = coerceBooleanProperty(value); }\n\n  /**\n   * @deprecated\n   * @deletion-target 6.0.0\n   */\n  @Input('origin'
 )\n  get _deprecatedOrigin(): CdkOverlayOrigin { return this.origin; }\n  set _deprecatedOrigin(_origin: CdkOverlayOrigin) { this.origin = _origin; }\n\n  /**\n   * @deprecated\n   * @deletion-target 6.0.0\n   */\n  @Input('positions')\n  get _deprecatedPositions(): ConnectionPositionPair[] { return this.positions; }\n  set _deprecatedPositions(_positions: ConnectionPositionPair[]) { this.positions = _positions; }\n\n  /**\n   * @deprecated\n   * @deletion-target 6.0.0\n   */\n  @Input('offsetX')\n  get _deprecatedOffsetX(): number { return this.offsetX; }\n  set _deprecatedOffsetX(_offsetX: number) { this.offsetX = _offsetX; }\n\n  /**\n   * @deprecated\n   * @deletion-target 6.0.0\n   */\n  @Input('offsetY')\n  get _deprecatedOffsetY(): number { return this.offsetY; }\n  set _deprecatedOffsetY(_offsetY: number) { this.offsetY = _offsetY; }\n\n  /**\n   * @deprecated\n   * @deletion-target 6.0.0\n   */\n  @Input('width')\n  get _deprecatedWidth(): number | string { return this.widt
 h; }\n  set _deprecatedWidth(_width: number | string) { this.width = _width; }\n\n  /**\n   * @deprecated\n   * @deletion-target 6.0.0\n   */\n  @Input('height')\n  get _deprecatedHeight(): number | string { return this.height; }\n  set _deprecatedHeight(_height: number | string) { this.height = _height; }\n\n  /**\n   * @deprecated\n   * @deletion-target 6.0.0\n   */\n  @Input('minWidth')\n  get _deprecatedMinWidth(): number | string { return this.minWidth; }\n  set _deprecatedMinWidth(_minWidth: number | string) { this.minWidth = _minWidth; }\n\n  /**\n   * @deprecated\n   * @deletion-target 6.0.0\n   */\n  @Input('minHeight')\n  get _deprecatedMinHeight(): number | string { return this.minHeight; }\n  set _deprecatedMinHeight(_minHeight: number | string) { this.minHeight = _minHeight; }\n\n  /**\n   * @deprecated\n   * @deletion-target 6.0.0\n   */\n  @Input('backdropClass')\n  get _deprecatedBackdropClass(): string { return this.backdropClass; }\n  set _deprecatedBackdropClass(_
 backdropClass: string) { this.backdropClass = _backdropClass; }\n\n  /**\n   * @deprecated\n   * @deletion-target 6.0.0\n   */\n  @Input('scrollStrategy')\n  get _deprecatedScrollStrategy(): ScrollStrategy { return this.scrollStrategy; }\n  set _deprecatedScrollStrategy(_scrollStrategy: ScrollStrategy) {\n    this.scrollStrategy = _scrollStrategy;\n  }\n\n  /**\n   * @deprecated\n   * @deletion-target 6.0.0\n   */\n  @Input('open')\n  get _deprecatedOpen(): boolean { return this.open; }\n  set _deprecatedOpen(_open: boolean) { this.open = _open; }\n\n  /**\n   * @deprecated\n   * @deletion-target 6.0.0\n   */\n  @Input('hasBackdrop')\n  get _deprecatedHasBackdrop() { return this.hasBackdrop; }\n  set _deprecatedHasBackdrop(_hasBackdrop: any) { this.hasBackdrop = _hasBackdrop; }\n\n  /** Event emitted when the backdrop is clicked. */\n  @Output() backdropClick = new EventEmitter<void>();\n\n  /** Event emitted when the position has changed. */\n  @Output() positionChange = new EventE
 mitter<ConnectedOverlayPositionChange>();\n\n  /** Event emitted when the overlay has been attached. */\n  @Output() attach = new EventEmitter<void>();\n\n  /** Event emitted when the overlay has been detached. */\n  @Output() detach = new EventEmitter<void>();\n\n  // TODO(jelbourn): inputs for size, scroll behavior, animation, etc.\n\n  constructor(\n      private _overlay: Overlay,\n      templateRef: TemplateRef<any>,\n      viewContainerRef: ViewContainerRef,\n      @Inject(CDK_CONNECTED_OVERLAY_SCROLL_STRATEGY) private _scrollStrategy,\n      @Optional() private _dir: Directionality) {\n    this._templatePortal = new TemplatePortal(templateRef, viewContainerRef);\n  }\n\n  /** The associated overlay reference. */\n  get overlayRef(): OverlayRef {\n    return this._overlayRef;\n  }\n\n  /** The element's layout direction. */\n  get dir(): Direction {\n    return this._dir ? this._dir.value : 'ltr';\n  }\n\n  ngOnDestroy() {\n    this._destroyOverlay();\n  }\n\n  ngOnChanges(cha
 nges: SimpleChanges) {\n    if (this._position) {\n      if (changes['positions'] || changes['_deprecatedPositions']) {\n        this._position.withPositions(this.positions);\n      }\n\n      if (changes['origin'] || changes['_deprecatedOrigin']) {\n        this._position.setOrigin(this.origin.elementRef);\n\n        if (this.open) {\n          this._position.apply();\n        }\n      }\n    }\n\n    if (changes['open'] || changes['_deprecatedOpen']) {\n      this.open ? this._attachOverlay() : this._detachOverlay();\n    }\n  }\n\n  /** Creates an overlay */\n  private _createOverlay() {\n    if (!this.positions || !this.positions.length) {\n      this.positions = defaultPositionList;\n    }\n\n    this._overlayRef = this._overlay.create(this._buildConfig());\n  }\n\n  /** Builds the overlay config based on the directive's inputs */\n  private _buildConfig(): OverlayConfig {\n    const positionStrategy = this._position = this._createPositionStrategy();\n    const overlayConfig = 
 new OverlayConfig({\n      positionStrategy,\n      scrollStrategy: this.scrollStrategy,\n      hasBackdrop: this.hasBackdrop\n    });\n\n    if (this.width || this.width === 0) {\n      overlayConfig.width = this.width;\n    }\n\n    if (this.height || this.height === 0) {\n      overlayConfig.height = this.height;\n    }\n\n    if (this.minWidth || this.minWidth === 0) {\n      overlayConfig.minWidth = this.minWidth;\n    }\n\n    if (this.minHeight || this.minHeight === 0) {\n      overlayConfig.minHeight = this.minHeight;\n    }\n\n    if (this.backdropClass) {\n      overlayConfig.backdropClass = this.backdropClass;\n    }\n\n    return overlayConfig;\n  }\n\n  /** Returns the position strategy of the overlay to be set on the overlay config */\n  private _createPositionStrategy(): ConnectedPositionStrategy {\n    const primaryPosition = this.positions[0];\n    const originPoint = {originX: primaryPosition.originX, originY: primaryPosition.originY};\n    const overlayPoint = {ov
 erlayX: primaryPosition.overlayX, overlayY: primaryPosition.overlayY};\n    const strategy = this._overlay.position()\n      .connectedTo(this.origin.elementRef, originPoint, overlayPoint)\n      .withOffsetX(this.offsetX)\n      .withOffsetY(this.offsetY);\n\n    for (let i = 1; i < this.positions.length; i++) {\n      strategy.withFallbackPosition(\n          {originX: this.positions[i].originX, originY: this.positions[i].originY},\n          {overlayX: this.positions[i].overlayX, overlayY: this.positions[i].overlayY}\n      );\n    }\n\n    strategy.onPositionChange.subscribe(pos => this.positionChange.emit(pos));\n\n    return strategy;\n  }\n\n  /** Attaches the overlay and subscribes to backdrop clicks if backdrop exists */\n  private _attachOverlay() {\n    if (!this._overlayRef) {\n      this._createOverlay();\n\n      this._overlayRef!.keydownEvents().subscribe((event: KeyboardEvent) => {\n        if (event.keyCode === ESCAPE) {\n          this._detachOverlay();\n        }\
 n      });\n    }\n\n    this._position.withDirection(this.dir);\n    this._overlayRef.setDirection(this.dir);\n\n    if (!this._overlayRef.hasAttached()) {\n      this._overlayRef.attach(this._templatePortal);\n      this.attach.emit();\n    }\n\n    if (this.hasBackdrop) {\n      this._backdropSubscription = this._overlayRef.backdropClick().subscribe(() => {\n        this.backdropClick.emit();\n      });\n    }\n  }\n\n  /** Detaches the overlay and unsubscribes to backdrop clicks if backdrop exists */\n  private _detachOverlay() {\n    if (this._overlayRef) {\n      this._overlayRef.detach();\n      this.detach.emit();\n    }\n\n    this._backdropSubscription.unsubscribe();\n  }\n\n  /** Destroys the overlay created by this directive. */\n  private _destroyOverlay() {\n    if (this._overlayRef) {\n      this._overlayRef.dispose();\n    }\n\n    this._backdropSubscription.unsubscribe();\n  }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this 
 source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {ScrollStrategy} from './scroll-strategy';\n\n/** Scroll strategy that doesn't do anything. */\nexport class NoopScrollStrategy implements ScrollStrategy {\n  /** Does nothing, as this scroll strategy is a no-op. */\n  enable() { }\n  /** Does nothing, as this scroll strategy is a no-op. */\n  disable() { }\n  /** Does nothing, as this scroll strategy is a no-op. */\n  attach() { }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {PositionStrategy} from './position/position-strategy';\nimport {Direction} from '@angular/cdk/bidi';\nimport {ScrollStrategy} from './scroll/scroll-strategy';\nimport {NoopScrollStrategy} from './scroll/noop-scroll-strategy';\n\n\n/** Initial configur
 ation used when creating an overlay. */\nexport class OverlayConfig {\n  /** Strategy with which to position the overlay. */\n  positionStrategy?: PositionStrategy;\n\n  /** Strategy to be used when handling scroll events while the overlay is open. */\n  scrollStrategy?: ScrollStrategy = new NoopScrollStrategy();\n\n  /** Custom class to add to the overlay pane. */\n  panelClass?: string | string[] = '';\n\n  /** Whether the overlay has a backdrop. */\n  hasBackdrop?: boolean = false;\n\n  /** Custom class to add to the backdrop */\n  backdropClass?: string = 'cdk-overlay-dark-backdrop';\n\n  /** The width of the overlay panel. If a number is provided, pixel units are assumed. */\n  width?: number | string;\n\n  /** The height of the overlay panel. If a number is provided, pixel units are assumed. */\n  height?: number | string;\n\n  /** The min-width of the overlay panel. If a number is provided, pixel units are assumed. */\n  minWidth?: number | string;\n\n  /** The min-height of 
 the overlay panel. If a number is provided, pixel units are assumed. */\n  minHeight?: number | string;\n\n  /** The max-width of the overlay panel. If a number is provided, pixel units are assumed. */\n  maxWidth?: number | string;\n\n  /** The max-height of the overlay panel. If a number is provided, pixel units are assumed. */\n  maxHeight?: number | string;\n\n  /** The direction of the text in the overlay panel. */\n  direction?: Direction = 'ltr';\n\n  constructor(config?: OverlayConfig) {\n    if (config) {\n      Object.keys(config)\n        .filter(key => typeof config[key] !== 'undefined')\n        .forEach(key => this[key] = config[key]);\n    }\n  }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/** Horizontal dimension of a connection point on the perimeter of the origin or overlay element. */\nimport 
 {Optional} from '@angular/core';\nexport type HorizontalConnectionPos = 'start' | 'center' | 'end';\n\n/** Vertical dimension of a connection point on the perimeter of the origin or overlay element. */\nexport type VerticalConnectionPos = 'top' | 'center' | 'bottom';\n\n\n/** A connection point on the origin element. */\nexport interface OriginConnectionPosition {\n  originX: HorizontalConnectionPos;\n  originY: VerticalConnectionPos;\n}\n\n/** A connection point on the overlay element. */\nexport interface OverlayConnectionPosition {\n  overlayX: HorizontalConnectionPos;\n  overlayY: VerticalConnectionPos;\n}\n\n/** The points of the origin element and the overlay element to connect. */\nexport class ConnectionPositionPair {\n  /** X-axis attachment point for connected overlay origin. Can be 'start', 'end', or 'center'. */\n  originX: HorizontalConnectionPos;\n  /** Y-axis attachment point for connected overlay origin. Can be 'top', 'bottom', or 'center'. */\n  originY: VerticalCon
 nectionPos;\n  /** X-axis attachment point for connected overlay. Can be 'start', 'end', or 'center'. */\n  overlayX: HorizontalConnectionPos;\n  /** Y-axis attachment point for connected overlay. Can be 'top', 'bottom', or 'center'. */\n  overlayY: VerticalConnectionPos;\n\n  constructor(\n    origin: OriginConnectionPosition,\n    overlay: OverlayConnectionPosition,\n    public offsetX?: number,\n    public offsetY?: number) {\n\n    this.originX = origin.originX;\n    this.originY = origin.originY;\n    this.overlayX = overlay.overlayX;\n    this.overlayY = overlay.overlayY;\n  }\n}\n\n/**\n * Set of properties regarding the position of the origin and overlay relative to the viewport\n * with respect to the containing Scrollable elements.\n *\n * The overlay and origin are clipped if any part of their bounding client rectangle exceeds the\n * bounds of any one of the strategy's Scrollable's bounding client rectangle.\n *\n * The overlay and origin are outside view if there is no 
 overlap between their bounding client\n * rectangle and any one of the strategy's Scrollable's bounding client rectangle.\n *\n *       -----------                    -----------\n *       | outside |                    | clipped |\n *       |  view   |              --------------------------\n *       |         |              |     |         |        |\n *       ----------               |     -----------        |\n *  --------------------------    |                        |\n *  |                        |    |      Scrollable        |\n *  |                        |    |                        |\n *  |                        |     --------------------------\n *  |      Scrollable        |\n *  |                        |\n *  --------------------------\n *\n *  @docs-private\n */\nexport class ScrollingVisibility {\n  isOriginClipped: boolean;\n  isOriginOutsideView: boolean;\n  isOverlayClipped: boolean;\n  isOverlayOutsideView: boolean;\n}\n\n/** The change event emitted by the st
 rategy when a fallback position is used. */\nexport class ConnectedOverlayPositionChange {\n  constructor(\n      /** The position used as a result of this change. */\n      public connectionPair: ConnectionPositionPair,\n      /** @docs-private */\n      @Optional() public scrollableViewProperties: ScrollingVisibility) {}\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nimport {NgZone} from '@angular/core';\nimport {ScrollStrategy, getMatScrollStrategyAlreadyAttachedError} from './scroll-strategy';\nimport {OverlayRef} from '../overlay-ref';\nimport {Subscription} from 'rxjs/Subscription';\nimport {ScrollDispatcher, ViewportRuler} from '@angular/cdk/scrolling';\n\n/**\n * Config options for the CloseScrollStrategy.\n */\nexport interface CloseScrollStrategyConfig {\n  /** Amount of pixels the user has to scroll before
  the overlay is closed. */\n  threshold?: number;\n}\n\n/**\n * Strategy that will close the overlay as soon as the user starts scrolling.\n */\nexport class CloseScrollStrategy implements ScrollStrategy {\n  private _scrollSubscription: Subscription|null = null;\n  private _overlayRef: OverlayRef;\n  private _initialScrollPosition: number;\n\n  constructor(\n    private _scrollDispatcher: ScrollDispatcher,\n    private _ngZone: NgZone,\n    private _viewportRuler: ViewportRuler,\n    private _config?: CloseScrollStrategyConfig) {}\n\n  /** Attaches this scroll strategy to an overlay. */\n  attach(overlayRef: OverlayRef) {\n    if (this._overlayRef) {\n      throw getMatScrollStrategyAlreadyAttachedError();\n    }\n\n    this._overlayRef = overlayRef;\n  }\n\n  /** Enables the closing of the attached overlay on scroll. */\n  enable() {\n    if (this._scrollSubscription) {\n      return;\n    }\n\n    const stream = this._scrollDispatcher.scrolled(0);\n\n    if (this._config && this.
 _config.threshold && this._config.threshold > 1) {\n      this._initialScrollPosition = this._viewportRuler.getViewportScrollPosition().top;\n\n      this._scrollSubscription = stream.subscribe(() => {\n        const scrollPosition = this._viewportRuler.getViewportScrollPosition().top;\n\n        if (Math.abs(scrollPosition - this._initialScrollPosition) > this._config!.threshold!) {\n          this._detach();\n        } else {\n          this._overlayRef.updatePosition();\n        }\n      });\n    } else {\n      this._scrollSubscription = stream.subscribe(this._detach);\n    }\n  }\n\n  /** Disables the closing the attached overlay on scroll. */\n  disable() {\n    if (this._scrollSubscription) {\n      this._scrollSubscription.unsubscribe();\n      this._scrollSubscription = null;\n    }\n  }\n\n  /** Detaches the overlay ref and disables the scroll strategy. */\n  private _detach = () => {\n    this.disable();\n\n    if (this._overlayRef.hasAttached()) {\n      this._ngZone.run
 (() => this._overlayRef.detach());\n    }\n  }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {ScrollStrategy} from './scroll-strategy';\nimport {ViewportRuler} from '@angular/cdk/scrolling';\n\n/**\n * Strategy that will prevent the user from scrolling while the overlay is visible.\n */\nexport class BlockScrollStrategy implements ScrollStrategy {\n  private _previousHTMLStyles = { top: '', left: '' };\n  private _previousScrollPosition: { top: number, left: number };\n  private _isEnabled = false;\n  private _document: Document;\n\n  constructor(private _viewportRuler: ViewportRuler, document: any) {\n    this._document = document;\n  }\n\n  /** Attaches this scroll strategy to an overlay. */\n  attach() { }\n\n  /** Blocks page-level scroll while the attached overlay is open. */\n  enable() {\n    if (thi
 s._canBeEnabled()) {\n      const root = this._document.documentElement;\n\n      this._previousScrollPosition = this._viewportRuler.getViewportScrollPosition();\n\n      // Cache the previous inline styles in case the user had set them.\n      this._previousHTMLStyles.left = root.style.left || '';\n      this._previousHTMLStyles.top = root.style.top || '';\n\n      // Note: we're using the `html` node, instead of the `body`, because the `body` may\n      // have the user agent margin, whereas the `html` is guaranteed not to have one.\n      root.style.left = `${-this._previousScrollPosition.left}px`;\n      root.style.top = `${-this._previousScrollPosition.top}px`;\n      root.classList.add('cdk-global-scrollblock');\n      this._isEnabled = true;\n    }\n  }\n\n  /** Unblocks page-level scroll while the attached overlay is open. */\n  disable() {\n    if (this._isEnabled) {\n      const html = this._document.documentElement;\n      const body = this._document.body;\n      const pr
 eviousHtmlScrollBehavior = html.style['scrollBehavior'] || '';\n      const previousBodyScrollBehavior = body.style['scrollBehavior'] || '';\n\n      this._isEnabled = false;\n\n      html.style.left = this._previousHTMLStyles.left;\n      html.style.top = this._previousHTMLStyles.top;\n      html.classList.remove('cdk-global-scrollblock');\n\n      // Disable user-defined smooth scrolling temporarily while we restore the scroll position.\n      // See https://developer.mozilla.org/en-US/docs/Web/CSS/scroll-behavior\n      html.style['scrollBehavior'] = body.style['scrollBehavior'] = 'auto';\n\n      window.scroll(this._previousScrollPosition.left, this._previousScrollPosition.top);\n\n      html.style['scrollBehavior'] = previousHtmlScrollBehavior;\n      body.style['scrollBehavior'] = previousBodyScrollBehavior;\n    }\n  }\n\n  private _canBeEnabled(): boolean {\n    // Since the scroll strategies can't be singletons, we have to use a global CSS class\n    // (`cdk-global-scrollb
 lock`) to make sure that we don't try to disable global\n    // scrolling multiple times.\n    const html = this._document.documentElement;\n\n    if (html.classList.contains('cdk-global-scrollblock') || this._isEnabled) {\n      return false;\n    }\n\n    const body = this._document.body;\n    const viewport = this._viewportRuler.getViewportSize();\n    return body.scrollHeight > viewport.height || body.scrollWidth > viewport.width;\n  }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {NgZone} from '@angular/core';\nimport {Subscription} from 'rxjs/Subscription';\nimport {ScrollStrategy, getMatScrollStrategyAlreadyAttachedError} from './scroll-strategy';\nimport {OverlayRef} from '../overlay-ref';\nimport {ScrollDispatcher, ViewportRuler} from '@angular/cdk/scrolling';\nimport {isElementScrolledOutsideView}
  from '../position/scroll-clip';\n\n/**\n * Config options for the RepositionScrollStrategy.\n */\nexport interface RepositionScrollStrategyConfig {\n  /** Time in milliseconds to throttle the scroll events. */\n  scrollThrottle?: number;\n\n  /** Whether to close the overlay once the user has scrolled away completely. */\n  autoClose?: boolean;\n}\n\n/**\n * Strategy that will update the element position as the user is scrolling.\n */\nexport class RepositionScrollStrategy implements ScrollStrategy {\n  private _scrollSubscription: Subscription|null = null;\n  private _overlayRef: OverlayRef;\n\n  constructor(\n    private _scrollDispatcher: ScrollDispatcher,\n    private _viewportRuler: ViewportRuler,\n    private _ngZone: NgZone,\n    private _config?: RepositionScrollStrategyConfig) { }\n\n  /** Attaches this scroll strategy to an overlay. */\n  attach(overlayRef: OverlayRef) {\n    if (this._overlayRef) {\n      throw getMatScrollStrategyAlreadyAttachedError();\n    }\n\n    th
 is._overlayRef = overlayRef;\n  }\n\n  /** Enables repositioning of the attached overlay on scroll. */\n  enable() {\n    if (!this._scrollSubscription) {\n      const throttle = this._config ? this._config.scrollThrottle : 0;\n\n      this._scrollSubscription = this._scrollDispatcher.scrolled(throttle).subscribe(() => {\n        this._overlayRef.updatePosition();\n\n        // TODO(crisbeto): make `close` on by default once all components can handle it.\n        if (this._config && this._config.autoClose) {\n          const overlayRect = this._overlayRef.overlayElement.getBoundingClientRect();\n          const {width, height} = this._viewportRuler.getViewportSize();\n\n          // TODO(crisbeto): include all ancestor scroll containers here once\n          // we have a way of exposing the trigger element to the scroll strategy.\n          const parentRects = [{width, height, bottom: height, right: width, top: 0, left: 0}];\n\n          if (isElementScrolledOutsideView(overlayRect, 
 parentRects)) {\n            this.disable();\n            this._ngZone.run(() => this._overlayRef.detach());\n          }\n        }\n      });\n    }\n  }\n\n  /** Disables repositioning of the attached overlay on scroll. */\n  disable() {\n    if (this._scrollSubscription) {\n      this._scrollSubscription.unsubscribe();\n      this._scrollSubscription = null;\n    }\n  }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nimport {Injectable, NgZone, Inject} from '@angular/core';\nimport {CloseScrollStrategy, CloseScrollStrategyConfig} from './close-scroll-strategy';\nimport {NoopScrollStrategy} from './noop-scroll-strategy';\nimport {BlockScrollStrategy} from './block-scroll-strategy';\nimport {ScrollDispatcher} from '@angular/cdk/scrolling';\nimport {ViewportRuler} from '@angular/cdk/scrolling';\nimport {DOCUMENT} fro
 m '@angular/common';\nimport {\n  RepositionScrollStrategy,\n  RepositionScrollStrategyConfig,\n} from './reposition-scroll-strategy';\n\n\n/**\n * Options for how an overlay will handle scrolling.\n *\n * Users can provide a custom value for `ScrollStrategyOptions` to replace the default\n * behaviors. This class primarily acts as a factory for ScrollStrategy instances.\n */\n@Injectable()\nexport class ScrollStrategyOptions {\n  private _document: Document;\n\n  constructor(\n    private _scrollDispatcher: ScrollDispatcher,\n    private _viewportRuler: ViewportRuler,\n    private _ngZone: NgZone,\n    @Inject(DOCUMENT) document: any) {\n      this._document = document;\n    }\n\n  /** Do nothing on scroll. */\n  noop = () => new NoopScrollStrategy();\n\n  /**\n   * Close the overlay as soon as the user scrolls.\n   * @param config Configuration to be used inside the scroll strategy.\n   */\n  close = (config?: CloseScrollStrategyConfig) => new CloseScrollStrategy(this._scrollDispa
 tcher,\n      this._ngZone, this._viewportRuler, config)\n\n  /** Block scrolling. */\n  block = () => new BlockScrollStrategy(this._viewportRuler, this._document);\n\n  /**\n   * Update the overlay's position on scroll.\n   * @param config Configuration to be used inside the scroll strategy.\n   * Allows debouncing the reposition calls.\n   */\n  reposition = (config?: RepositionScrollStrategyConfig) => new RepositionScrollStrategy(\n      this._scrollDispatcher, this._viewportRuler, this._ngZone, config)\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {PositionStrategy} from './position-strategy';\nimport {ElementRef} from '@angular/core';\nimport {ViewportRuler} from '@angular/cdk/scrolling';\nimport {\n  ConnectionPositionPair,\n  OriginConnectionPosition,\n  OverlayConnectionPosition,\n  ConnectedOverlay
 PositionChange,\n  ScrollingVisibility,\n} from './connected-position';\nimport {Subject} from 'rxjs/Subject';\nimport {Subscription} from 'rxjs/Subscription';\nimport {Observable} from 'rxjs/Observable';\nimport {CdkScrollable} from '@angular/cdk/scrolling';\nimport {isElementScrolledOutsideView, isElementClippedByScrolling} from './scroll-clip';\nimport {OverlayRef} from '../overlay-ref';\n\n\n\n/**\n * A strategy for positioning overlays. Using this strategy, an overlay is given an\n * implicit position relative some origin element. The relative position is defined in terms of\n * a point on the origin element that is connected to a point on the overlay element. For example,\n * a basic dropdown is connecting the bottom-left corner of the origin to the top-left corner\n * of the overlay.\n */\nexport class ConnectedPositionStrategy implements PositionStrategy {\n  /** The overlay to which this strategy is attached. */\n  private _overlayRef: OverlayRef;\n\n  /** Layout direction 
 of the position strategy. */\n  private _dir = 'ltr';\n\n  /** The offset in pixels for the overlay connection point on the x-axis */\n  private _offsetX: number = 0;\n\n  /** The offset in pixels for the overlay connection point on the y-axis */\n  private _offsetY: number = 0;\n\n  /** The Scrollable containers used to check scrollable view properties on position change. */\n  private scrollables: CdkScrollable[] = [];\n\n  /** Subscription to viewport resize events. */\n  private _resizeSubscription = Subscription.EMPTY;\n\n  /** Whether the we're dealing with an RTL context */\n  get _isRtl() {\n    return this._dir === 'rtl';\n  }\n\n  /** Ordered list of preferred positions, from most to least desirable. */\n  _preferredPositions: ConnectionPositionPair[] = [];\n\n  /** The origin element against which the overlay will be positioned. */\n  private _origin: HTMLElement;\n\n  /** The overlay pane element. */\n  private _pane: HTMLElement;\n\n  /** The last position to have been 
 calculated as the best fit position. */\n  private _lastConnectedPosition: ConnectionPositionPair;\n\n  /** Whether the position strategy is applied currently. */\n  private _applied = false;\n\n  /** Whether the overlay position is locked. */\n  private _positionLocked = false;\n\n  private _onPositionChange = new Subject<ConnectedOverlayPositionChange>();\n\n  /** Emits an event when the connection point changes. */\n  get onPositionChange(): Observable<ConnectedOverlayPositionChange> {\n    return this._onPositionChange.asObservable();\n  }\n\n  constructor(\n      originPos: OriginConnectionPosition,\n      overlayPos: OverlayConnectionPosition,\n      private _connectedTo: ElementRef,\n      private _viewportRuler: ViewportRuler,\n      private _document: any) {\n    this._origin = this._connectedTo.nativeElement;\n    this.withFallbackPosition(originPos, overlayPos);\n  }\n\n  /** Ordered list of preferred positions, from most to least desirable. */\n  get positions(): Connect
 ionPositionPair[] {\n    return this._preferredPositions;\n  }\n\n  /** Attach this position strategy to an overlay. */\n  attach(overlayRef: OverlayRef): void {\n    this._overlayRef = overlayRef;\n    this._pane = overlayRef.overlayElement;\n    this._resizeSubscription.unsubscribe();\n    this._resizeSubscription = this._viewportRuler.change().subscribe(() => this.apply());\n  }\n\n  /** Disposes all resources used by the position strategy. */\n  dispose() {\n    this._applied = false;\n    this._resizeSubscription.unsubscribe();\n    this._onPositionChange.complete();\n  }\n\n  /** @docs-private */\n  detach() {\n    this._applied = false;\n    this._resizeSubscription.unsubscribe();\n  }\n\n  /**\n   * Updates the position of the overlay element, using whichever preferred position relative\n   * to the origin fits on-screen.\n   * @docs-private\n   */\n  apply(): void {\n    // If the position has been applied already (e.g. when the overlay was opened) and the\n    // consumer 
 opted into locking in the position, re-use the  old position, in order to\n    // prevent the overlay from jumping around.\n    if (this._applied && this._positionLocked && this._lastConnectedPosition) {\n      this.recalculateLastPosition();\n      return;\n    }\n\n    this._applied = true;\n\n    // We need the bounding rects for the origin and the overlay to determine how to position\n    // the overlay relative to the origin.\n    const element = this._pane;\n    const originRect = this._origin.getBoundingClientRect();\n    const overlayRect = element.getBoundingClientRect();\n\n    // We use the viewport size to determine whether a position would go off-screen.\n    const viewportSize = this._viewportRuler.getViewportSize();\n\n    // Fallback point if none of the fallbacks fit into the viewport.\n    let fallbackPoint: OverlayPoint | undefined;\n    let fallbackPosition: ConnectionPositionPair | undefined;\n\n    // We want to place the overlay in the first of the preferred p
 ositions such that the\n    // overlay fits on-screen.\n    for (let pos of this._preferredPositions) {\n      // Get the (x, y) point of connection on the origin, and then use that to get the\n      // (top, left) coordinate for the overlay at `pos`.\n      let originPoint = this._getOriginConnectionPoint(originRect, pos);\n      let overlayPoint = this._getOverlayPoint(originPoint, overlayRect, viewportSize, pos);\n\n      // If the overlay in the calculated position fits on-screen, put it there and we're done.\n      if (overlayPoint.fitsInViewport) {\n        this._setElementPosition(element, overlayRect, overlayPoint, pos);\n\n        // Save the last connected position in case the position needs to be re-calculated.\n        this._lastConnectedPosition = pos;\n\n        return;\n      } else if (!fallbackPoint || fallbackPoint.visibleArea < overlayPoint.visibleArea) {\n        fallbackPoint = overlayPoint;\n        fallbackPosition = pos;\n      }\n    }\n\n    // If none of t
 he preferred positions were in the viewport, take the one\n    // with the largest visible area.\n    this._setElementPosition(element, overlayRect, fallbackPoint!, fallbackPosition!);\n  }\n\n  /**\n   * Re-positions the overlay element with the trigger in its last calculated position,\n   * even if a position higher in the \"preferred positions\" list would now fit. This\n   * allows one to re-align the panel without changing the orientation of the panel.\n   */\n  recalculateLastPosition(): void {\n    // If the overlay has never been positioned before, do nothing.\n    if (!this._lastConnectedPosition) {\n      return;\n    }\n\n    const originRect = this._origin.getBoundingClientRect();\n    const overlayRect = this._pane.getBoundingClientRect();\n    const viewportSize = this._viewportRuler.getViewportSize();\n    const lastPosition = this._lastConnectedPosition || this._preferredPositions[0];\n\n    let originPoint = this._getOriginConnectionPoint(originRect, lastPosition);\
 n    let overlayPoint = this._getOverlayPoint(originPoint, overlayRect, viewportSize, lastPosition);\n    this._setElementPosition(this._pane, overlayRect, overlayPoint, lastPosition);\n  }\n\n  /**\n   * Sets the list of Scrollable containers that host the origin element so that\n   * on reposition we can evaluate if it or the overlay has been clipped or outside view. Every\n   * Scrollable must be an ancestor element of the strategy's origin element.\n   */\n  withScrollableContainers(scrollables: CdkScrollable[]) {\n    this.scrollables = scrollables;\n  }\n\n  /**\n   * Adds a new preferred fallback position.\n   * @param originPos\n   * @param overlayPos\n   */\n  withFallbackPosition(\n      originPos: OriginConnectionPosition,\n      overlayPos: OverlayConnectionPosition,\n      offsetX?: number,\n      offsetY?: number): this {\n\n    const position = new ConnectionPositionPair(originPos, overlayPos, offsetX, offsetY);\n    this._preferredPositions.push(position);\n    retur
 n this;\n  }\n\n  /**\n   * Sets the layout direction so the overlay's position can be adjusted to match.\n   * @param dir New layout direction.\n   */\n  withDirection(dir: 'ltr' | 'rtl'): this {\n    this._dir = dir;\n    return this;\n  }\n\n  /**\n   * Sets an offset for the overlay's connection point on the x-axis\n   * @param offset New offset in the X axis.\n   */\n  withOffsetX(offset: number): this {\n    this._offsetX = offset;\n    return this;\n  }\n\n  /**\n   * Sets an offset for the overlay's connection point on the y-axis\n   * @param  offset New offset in the Y axis.\n   */\n  withOffsetY(offset: number): this {\n    this._offsetY = offset;\n    return this;\n  }\n\n  /**\n   * Sets whether the overlay's position should be locked in after it is positioned\n   * initially. When an overlay is locked in, it won't attempt to reposition itself\n   * when the position is re-applied (e.g. when the user scrolls away).\n   * @param isLocked Whether the overlay should locked 
 in.\n   */\n  withLockedPosition(isLocked: boolean): this {\n    this._positionLocked = isLocked;\n    return this;\n  }\n\n  /**\n   * Overwrites the current set of positions with an array of new ones.\n   * @param positions Position pairs to be set on the strategy.\n   */\n  withPositions(positions: ConnectionPositionPair[]): this {\n    this._preferredPositions = positions.slice();\n    return this;\n  }\n\n  /**\n   * Sets the origin element, relative to which to position the overlay.\n   * @param origin Reference to the new origin element.\n   */\n  setOrigin(origin: ElementRef): this {\n    this._origin = origin.nativeElement;\n    return this;\n  }\n\n  /**\n   * Gets the horizontal (x) \"start\" dimension based on whether the overlay is in an RTL context.\n   * @param rect\n   */\n  private _getStartX(rect: ClientRect): number {\n    return this._isRtl ? rect.right : rect.left;\n  }\n\n  /**\n   * Gets the horizontal (x) \"end\" dimension based on whether the overlay is in a
 n RTL context.\n   * @param rect\n   */\n  private _getEndX(rect: ClientRect): number {\n    return this._isRtl ? rect.left : rect.right;\n  }\n\n\n  /**\n   * Gets the (x, y) coordinate of a connection point on the origin based on a relative position.\n   * @param originRect\n   * @param pos\n   */\n  private _getOriginConnectionPoint(originRect: ClientRect, pos: ConnectionPositionPair): Point {\n    const originStartX = this._getStartX(originRect);\n    const originEndX = this._getEndX(originRect);\n\n    let x: number;\n    if (pos.originX == 'center') {\n      x = originStartX + (originRect.width / 2);\n    } else {\n      x = pos.originX == 'start' ? originStartX : originEndX;\n    }\n\n    let y: number;\n    if (pos.originY == 'center') {\n      y = originRect.top + (originRect.height / 2);\n    } else {\n      y = pos.originY == 'top' ? originRect.top : originRect.bottom;\n    }\n\n    return {x, y};\n  }\n\n\n  /**\n   * Gets the (x, y) coordinate of the top-left corner of 
 the overlay given a given position and\n   * origin point to which the overlay should be connected, as well as how much of the element\n   * would be inside the viewport at that position.\n   */\n  private _getOverlayPoint(\n      originPoint: Point,\n      overlayRect: ClientRect,\n      viewportSize: {width: number; height: number},\n      pos: ConnectionPositionPair): OverlayPoint {\n    // Calculate the (overlayStartX, overlayStartY), the start of the potential overlay position\n    // relative to the origin point.\n    let overlayStartX: number;\n    if (pos.overlayX == 'center') {\n      overlayStartX = -overlayRect.width / 2;\n    } else if (pos.overlayX === 'start') {\n      overlayStartX = this._isRtl ? -overlayRect.width : 0;\n    } else {\n      overlayStartX = this._isRtl ? 0 : -overlayRect.width;\n    }\n\n    let overlayStartY: number;\n    if (pos.overlayY == 'center') {\n      overlayStartY = -overlayRect.height / 2;\n    } else {\n      overlayStartY = pos.overlayY 
 == 'top' ? 0 : -overlayRect.height;\n    }\n\n    // The (x, y) offsets of the overlay based on the current position.\n    let offsetX = typeof pos.offsetX === 'undefined' ? this._offsetX : pos.offsetX;\n    let offsetY = typeof pos.offsetY === 'undefined' ? this._offsetY : pos.offsetY;\n\n    // The (x, y) coordinates of the overlay.\n    let x = originPoint.x + overlayStartX + offsetX;\n    let y = originPoint.y + overlayStartY + offsetY;\n\n    // How much the overlay would overflow at this position, on each side.\n    let leftOverflow = 0 - x;\n    let rightOverflow = (x + overlayRect.width) - viewportSize.width;\n    let topOverflow = 0 - y;\n    let bottomOverflow = (y + overlayRect.height) - viewportSize.height;\n\n    // Visible parts of the element on each axis.\n    let visibleWidth = this._subtractOverflows(overlayRect.width, leftOverflow, rightOverflow);\n    let visibleHeight = this._subtractOverflows(overlayRect.height, topOverflow, bottomOverflow);\n\n    // The area 
 of the element that's within the viewport.\n    let visibleArea = visibleWidth * visibleHeight;\n    let fitsInViewport = (overlayRect.width * overlayRect.height) === visibleArea;\n\n    return {x, y, fitsInViewport, visibleArea};\n  }\n\n  /**\n   * Gets the view properties of the trigger and overlay, including whether they are clipped\n   * or completely outside the view of any of the strategy's scrollables.\n   */\n  private _getScrollVisibility(overlay: HTMLElement): ScrollingVisibility {\n    const originBounds = this._origin.getBoundingClientRect();\n    const overlayBounds = overlay.getBoundingClientRect();\n    const scrollContainerBounds =\n        this.scrollables.map(s => s.getElementRef().nativeElement.getBoundingClientRect());\n\n    return {\n      isOriginClipped: isElementClippedByScrolling(originBounds, scrollContainerBounds),\n      isOriginOutsideView: isElementScrolledOutsideView(originBounds, scrollContainerBounds),\n      isOverlayClipped: isElementClippedByScr
 olling(overlayBounds, scrollContainerBounds),\n      isOverlayOutsideView: isElementScrolledOutsideView(overlayBounds, scrollContainerBounds),\n    };\n  }\n\n  /** Physically positions the overlay element to the given coordinate. */\n  private _setElementPosition(\n      element: HTMLElement,\n      overlayRect: ClientRect,\n      overlayPoint: Point,\n      pos: ConnectionPositionPair) {\n\n    // We want to set either `top` or `bottom` based on whether the overlay wants to appear above\n    // or below the origin and the direction in which the element will expand.\n    let verticalStyleProperty = pos.overlayY === 'bottom' ? 'bottom' : 'top';\n\n    // When using `bottom`, we adjust the y position such that it is the distance\n    // from the bottom of the viewport rather than the top.\n    let y = verticalStyleProperty === 'top' ?\n        overlayPoint.y :\n        this._document.documentElement.clientHeight - (overlayPoint.y + overlayRect.height);\n\n    // We want to set either
  `left` or `right` based on whether the overlay wants to appear \"before\"\n    // or \"after\" the origin, which determines the direction in which the element will expand.\n    // For the horizontal axis, the meaning of \"before\" and \"after\" change based on whether the\n    // page is in RTL or LTR.\n    let horizontalStyleProperty: string;\n    if (this._dir === 'rtl') {\n      horizontalStyleProperty = pos.overlayX === 'end' ? 'left' : 'right';\n    } else {\n      horizontalStyleProperty = pos.overlayX === 'end' ? 'right' : 'left';\n    }\n\n    // When we're setting `right`, we adjust the x position such that it is the distance\n    // from the right edge of the viewport rather than the left edge.\n    let x = horizontalStyleProperty === 'left' ?\n      overlayPoint.x :\n      this._document.documentElement.clientWidth - (overlayPoint.x + overlayRect.width);\n\n\n    // Reset any existing styles. This is necessary in case the preferred position has\n    // changed since the 
 last `apply`.\n    ['top', 'bottom', 'left', 'right'].forEach(p => element.style[p] = null);\n\n    element.style[verticalStyleProperty] = `${y}px`;\n    element.style[horizontalStyleProperty] = `${x}px`;\n\n    // Notify that the position has been changed along with its change properties.\n    const scrollableViewProperties = this._getScrollVisibility(element);\n    const positionChange = new ConnectedOverlayPositionChange(pos, scrollableViewProperties);\n    this._onPositionChange.next(positionChange);\n  }\n\n  /**\n   * Subtracts the amount that an element is overflowing on an axis from it's length.\n   */\n  private _subtractOverflows(length: number, ...overflows: number[]): number {\n    return overflows.reduce((currentValue: number, currentOverflow: number) => {\n      return currentValue - Math.max(currentOverflow, 0);\n    }, length);\n  }\n}\n\n/** A simple (x, y) coordinate. */\ninterface Point {\n  x: number;\n  y: number;\n}\n\n/**\n * Expands the simple (x, y) coordina
 te by adding info about whether the\n * element would fit inside the viewport at that position, as well as\n * how much of the element would be visible.\n */\ninterface OverlayPoint extends Point {\n  visibleArea: number;\n  fitsInViewport: boolean;\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {PositionStrategy} from './position-strategy';\nimport {OverlayRef} from '../overlay-ref';\n\n\n/**\n * A strategy for positioning overlays. Using this strategy, an overlay is given an\n * explicit position relative to the browser's viewport. We use flexbox, instead of\n * transforms, in order to avoid issues with subpixel rendering which can cause the\n * element to become blurry.\n */\nexport class GlobalPositionStrategy implements PositionStrategy {\n  /** The overlay to which this strategy is attached. */\n  priv
 ate _overlayRef: OverlayRef;\n\n  private _cssPosition: string = 'static';\n  private _topOffset: string = '';\n  private _bottomOffset: string = '';\n  private _leftOffset: string = '';\n  private _rightOffset: string = '';\n  private _alignItems: string = '';\n  private _justifyContent: string = '';\n  private _width: string = '';\n  private _height: string = '';\n\n  /** A lazily-created wrapper for the overlay element that is used as a flex container. */\n  private _wrapper: HTMLElement | null = null;\n\n  constructor(private _document: any) {}\n\n  attach(overlayRef: OverlayRef): void {\n    this._overlayRef = overlayRef;\n  }\n\n  /**\n   * Sets the top position of the overlay. Clears any previously set vertical position.\n   * @param value New top offset.\n   */\n  top(value: string = ''): this {\n    this._bottomOffset = '';\n    this._topOffset = value;\n    this._alignItems = 'flex-start';\n    return this;\n  }\n\n  /**\n   * Sets the left position of the overlay. Clears 
 any previously set horizontal position.\n   * @param value New left offset.\n   */\n  left(value: string = ''): this {\n    this._rightOffset = '';\n    this._leftOffset = value;\n    this._justifyContent = 'flex-start';\n    return this;\n  }\n\n  /**\n   * Sets the bottom position of the overlay. Clears any previously set vertical position.\n   * @param value New bottom offset.\n   */\n  bottom(value: string = ''): this {\n    this._topOffset = '';\n    this._bottomOffset = value;\n    this._alignItems = 'flex-end';\n    return this;\n  }\n\n  /**\n   * Sets the right position of the overlay. Clears any previously set horizontal position.\n   * @param value New right offset.\n   */\n  right(value: string = ''): this {\n    this._leftOffset = '';\n    this._rightOffset = value;\n    this._justifyContent = 'flex-end';\n    return this;\n  }\n\n  /**\n   * Sets the overlay width and clears any previously set width.\n   * @param value New width for the overlay\n   */\n  width(value: s
 tring = ''): this {\n    this._width = value;\n\n    // When the width is 100%, we should reset the `left` and the offset,\n    // in order to ensure that the element is flush against the viewport edge.\n    if (value === '100%') {\n      this.left('0px');\n    }\n\n    return this;\n  }\n\n  /**\n   * Sets the overlay height and clears any previously set height.\n   * @param value New height for the overlay\n   */\n  height(value: string = ''): this {\n    this._height = value;\n\n    // When the height is 100%, we should reset the `top` and the offset,\n    // in order to ensure that the element is flush against the viewport edge.\n    if (value === '100%') {\n      this.top('0px');\n    }\n\n    return this;\n  }\n\n  /**\n   * Centers the overlay horizontally with an optional offset.\n   * Clears any previously set horizontal position.\n   *\n   * @param offset Overlay offset from the horizontal center.\n   */\n  centerHorizontally(offset: string = ''): this {\n    this.left(off
 set);\n    this._justifyContent = 'center';\n    return this;\n  }\n\n  /**\n   * Centers the overlay vertically with an optional offset.\n   * Clears any previously set vertical position.\n   *\n   * @param offset Overlay offset from the vertical center.\n   */\n  centerVertically(offset: string = ''): this {\n    this.top(offset);\n    this._alignItems = 'center';\n    return this;\n  }\n\n  /**\n   * Apply the position to the element.\n   * @docs-private\n   *\n   * @returns Resolved when the styles have been applied.\n   */\n  apply(): void {\n    // Since the overlay ref applies the strategy asynchronously, it could\n    // have been disposed before it ends up being applied. If that is the\n    // case, we shouldn't do anything.\n    if (!this._overlayRef.hasAttached()) {\n      return;\n    }\n\n    const element = this._overlayRef.overlayElement;\n\n    if (!this._wrapper && element.parentNode) {\n      this._wrapper = this._document.createElement('div');\n      this._wrapper
 !.classList.add('cdk-global-overlay-wrapper');\n      element.parentNode.insertBefore(this._wrapper!, element);\n      this._wrapper!.appendChild(element);\n    }\n\n    let styles = element.style;\n    let parentStyles = (element.parentNode as HTMLElement).style;\n\n    styles.position = this._cssPosition;\n    styles.marginTop = this._topOffset;\n    styles.marginLeft = this._leftOffset;\n    styles.marginBottom = this._bottomOffset;\n    styles.marginRight = this._rightOffset;\n    styles.width = this._width;\n    styles.height = this._height;\n\n    parentStyles.justifyContent = this._justifyContent;\n    parentStyles.alignItems = this._alignItems;\n  }\n\n  /** Removes the wrapper element from the DOM. */\n  dispose(): void {\n    if (this._wrapper && this._wrapper.parentNode) {\n      this._wrapper.parentNode.removeChild(this._wrapper);\n      this._wrapper = null;\n    }\n  }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code
  is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {ElementRef, Injectable, Inject} from '@angular/core';\nimport {ViewportRuler} from '@angular/cdk/scrolling';\nimport {ConnectedPositionStrategy} from './connected-position-strategy';\nimport {GlobalPositionStrategy} from './global-position-strategy';\nimport {OverlayConnectionPosition, OriginConnectionPosition} from './connected-position';\nimport {DOCUMENT} from '@angular/common';\n\n\n/** Builder for overlay position strategy. */\n@Injectable()\nexport class OverlayPositionBuilder {\n  constructor(private _viewportRuler: ViewportRuler,\n              @Inject(DOCUMENT) private _document: any) { }\n\n  /**\n   * Creates a global position strategy.\n   */\n  global(): GlobalPositionStrategy {\n    return new GlobalPositionStrategy(this._document);\n  }\n\n  /**\n   * Creates a relative position strategy.\n   * @param elementRef\n   * @param originPos\n   * @par
 am overlayPos\n   */\n  connectedTo(\n      elementRef: ElementRef,\n      originPos: OriginConnectionPosition,\n      overlayPos: OverlayConnectionPosition): ConnectedPositionStrategy {\n\n    return new ConnectedPositionStrategy(originPos, overlayPos, elementRef,\n        this._viewportRuler, this._document);\n  }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {\n  ComponentFactoryResolver,\n  Injectable,\n  ApplicationRef,\n  Injector,\n  NgZone,\n  Inject,\n} from '@angular/core';\nimport {DomPortalOutlet} from '@angular/cdk/portal';\nimport {OverlayConfig} from './overlay-config';\nimport {OverlayRef} from './overlay-ref';\nimport {OverlayPositionBuilder} from './position/overlay-position-builder';\nimport {OverlayKeyboardDispatcher} from './keyboard/overlay-keyboard-dispatcher';\nimport {OverlayContain
 er} from './overlay-container';\nimport {ScrollStrategyOptions} from './scroll/index';\nimport {DOCUMENT} from '@angular/common';\n\n\n/** Next overlay unique ID. */\nlet nextUniqueId = 0;\n\n/**\n * Service to create Overlays. Overlays are dynamically added pieces of floating UI, meant to be\n * used as a low-level building building block for other components. Dialogs, tooltips, menus,\n * selects, etc. can all be built using overlays. The service should primarily be used by authors\n * of re-usable components rather than developers building end-user applications.\n *\n * An overlay *is* a PortalOutlet, so any kind of Portal can be loaded into one.\n */\n@Injectable()\nexport class Overlay {\n  constructor(\n              /** Scrolling strategies that can be used when creating an overlay. */\n              public scrollStrategies: ScrollStrategyOptions,\n              private _overlayContainer: OverlayContainer,\n              private _componentFactoryResolver: ComponentFactoryReso
 lver,\n              private _positionBuilder: OverlayPositionBuilder,\n              private _keyboardDispatcher: OverlayKeyboardDispatcher,\n              private _appRef: ApplicationRef,\n              private _injector: Injector,\n              private _ngZone: NgZone,\n         

<TRUNCATED>

[06/59] [abbrv] [partial] nifi-fds git commit: update gh-pages

Posted by sc...@apache.org.
http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/eec354e6/node_modules/@angular/cdk/esm2015/a11y.js.map
----------------------------------------------------------------------
diff --git a/node_modules/@angular/cdk/esm2015/a11y.js.map b/node_modules/@angular/cdk/esm2015/a11y.js.map
new file mode 100644
index 0000000..2b4eb28
--- /dev/null
+++ b/node_modules/@angular/cdk/esm2015/a11y.js.map
@@ -0,0 +1 @@
+{"version":3,"file":"a11y.js","sources":["../../../src/cdk/a11y/index.ts","../../../src/cdk/a11y/public-api.ts","../../../src/cdk/a11y/a11y-module.ts","../../../src/cdk/a11y/fake-mousedown.ts","../../../src/cdk/a11y/focus-monitor/focus-monitor.ts","../../../src/cdk/a11y/live-announcer/live-announcer.ts","../../../src/cdk/a11y/key-manager/focus-key-manager.ts","../../../src/cdk/a11y/key-manager/activedescendant-key-manager.ts","../../../src/cdk/a11y/key-manager/list-key-manager.ts","../../../src/cdk/a11y/aria-describer/aria-describer.ts","../../../src/cdk/a11y/aria-describer/aria-reference.ts","../../../src/cdk/a11y/focus-trap/focus-trap.ts","../../../src/cdk/a11y/interactivity-checker/interactivity-checker.ts"],"sourcesContent":["/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE fi
 le at https://angular.io/license\n */\nimport {CdkTrapFocus} from './focus-trap/focus-trap';\n\n\nexport * from './aria-describer/aria-describer';\nexport * from './key-manager/activedescendant-key-manager';\nexport * from './key-manager/focus-key-manager';\nexport * from './key-manager/list-key-manager';\nexport * from './focus-trap/focus-trap';\nexport * from './interactivity-checker/interactivity-checker';\nexport * from './live-announcer/live-announcer';\nexport * from './focus-monitor/focus-monitor';\nexport * from './fake-mousedown';\nexport * from './a11y-module';\n\n/**\n * @deprecated Renamed to CdkTrapFocus.\n * @deletion-target 6.0.0\n */\nexport {CdkTrapFocus as FocusTrapDirective};\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {PlatformModule} from '@angular/cdk/platform';\nimport {CommonModule} f
 rom '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {ARIA_DESCRIBER_PROVIDER, AriaDescriber} from './aria-describer/aria-describer';\nimport {CdkMonitorFocus, FOCUS_MONITOR_PROVIDER} from './focus-monitor/focus-monitor';\nimport {\n  CdkTrapFocus,\n  FocusTrapDeprecatedDirective,\n  FocusTrapFactory,\n} from './focus-trap/focus-trap';\nimport {InteractivityChecker} from './interactivity-checker/interactivity-checker';\nimport {LIVE_ANNOUNCER_PROVIDER} from './live-announcer/live-announcer';\n\n@NgModule({\n  imports: [CommonModule, PlatformModule],\n  declarations: [CdkTrapFocus, FocusTrapDeprecatedDirective, CdkMonitorFocus],\n  exports: [CdkTrapFocus, FocusTrapDeprecatedDirective, CdkMonitorFocus],\n  providers: [\n    InteractivityChecker,\n    FocusTrapFactory,\n    AriaDescriber,\n    LIVE_ANNOUNCER_PROVIDER,\n    ARIA_DESCRIBER_PROVIDER,\n    FOCUS_MONITOR_PROVIDER,\n  ]\n})\nexport class A11yModule {}\n","/**\n * @license\n * Copyright Google LLC All Right
 s Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * Screenreaders will often fire fake mousedown events when a focusable element\n * is activated using the keyboard. We can typically distinguish between these faked\n * mousedown events and real mousedown events using the \"buttons\" property. While\n * real mousedowns will indicate the mouse button that was pressed (e.g. \"1\" for\n * the left mouse button), faked mousedowns will usually set the property value to 0.\n */\nexport function isFakeMousedownFromScreenReader(event: MouseEvent): boolean {\n  return event.buttons === 0;\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nimport {Platform, supportsPassiveEventListeners} from '@angular/cdk/platform';\
 nimport {\n  Directive,\n  ElementRef,\n  EventEmitter,\n  Injectable,\n  NgZone,\n  OnDestroy,\n  Optional,\n  Output,\n  Renderer2,\n  SkipSelf,\n} from '@angular/core';\nimport {Observable} from 'rxjs/Observable';\nimport {of as observableOf} from 'rxjs/observable/of';\nimport {Subject} from 'rxjs/Subject';\nimport {Subscription} from 'rxjs/Subscription';\n\n\n// This is the value used by AngularJS Material. Through trial and error (on iPhone 6S) they found\n// that a value of around 650ms seems appropriate.\nexport const TOUCH_BUFFER_MS = 650;\n\n\nexport type FocusOrigin = 'touch' | 'mouse' | 'keyboard' | 'program' | null;\n\n\ntype MonitoredElementInfo = {\n  unlisten: Function,\n  checkChildren: boolean,\n  subject: Subject<FocusOrigin>\n};\n\n\n/** Monitors mouse and keyboard events to determine the cause of focus events. */\n@Injectable()\nexport class FocusMonitor implements OnDestroy {\n  /** The focus origin that the next focus event is a result of. */\n  private _origin
 : FocusOrigin = null;\n\n  /** The FocusOrigin of the last focus event tracked by the FocusMonitor. */\n  private _lastFocusOrigin: FocusOrigin;\n\n  /** Whether the window has just been focused. */\n  private _windowFocused = false;\n\n  /** The target of the last touch event. */\n  private _lastTouchTarget: EventTarget | null;\n\n  /** The timeout id of the touch timeout, used to cancel timeout later. */\n  private _touchTimeoutId: number;\n\n  /** The timeout id of the window focus timeout. */\n  private _windowFocusTimeoutId: number;\n\n  /** The timeout id of the origin clearing timeout. */\n  private _originTimeoutId: number;\n\n  /** Map of elements being monitored to their info. */\n  private _elementInfo = new Map<HTMLElement, MonitoredElementInfo>();\n\n  /** A map of global objects to lists of current listeners. */\n  private _unregisterGlobalListeners = () => {};\n\n  /** The number of elements currently being monitored. */\n  private _monitoredElementCount = 0;\n\n  con
 structor(private _ngZone: NgZone, private _platform: Platform) {}\n\n  /**\n   * @docs-private\n   * @deprecated renderer param no longer needed.\n   * @deletion-target 6.0.0\n   */\n  monitor(element: HTMLElement, renderer: Renderer2, checkChildren: boolean):\n      Observable<FocusOrigin>;\n  /**\n   * Monitors focus on an element and applies appropriate CSS classes.\n   * @param element The element to monitor\n   * @param checkChildren Whether to count the element as focused when its children are focused.\n   * @returns An observable that emits when the focus state of the element changes.\n   *     When the element is blurred, null will be emitted.\n   */\n  monitor(element: HTMLElement, checkChildren?: boolean): Observable<FocusOrigin>;\n  monitor(\n      element: HTMLElement,\n      renderer?: Renderer2 | boolean,\n      checkChildren?: boolean): Observable<FocusOrigin> {\n    // TODO(mmalerba): clean up after deprecated signature is removed.\n    if (!(renderer instanceof Rend
 erer2)) {\n      checkChildren = renderer;\n    }\n    checkChildren = !!checkChildren;\n\n    // Do nothing if we're not on the browser platform.\n    if (!this._platform.isBrowser) {\n      return observableOf(null);\n    }\n    // Check if we're already monitoring this element.\n    if (this._elementInfo.has(element)) {\n      let cachedInfo = this._elementInfo.get(element);\n      cachedInfo!.checkChildren = checkChildren;\n      return cachedInfo!.subject.asObservable();\n    }\n\n    // Create monitored element info.\n    let info: MonitoredElementInfo = {\n      unlisten: () => {},\n      checkChildren: checkChildren,\n      subject: new Subject<FocusOrigin>()\n    };\n    this._elementInfo.set(element, info);\n    this._incrementMonitoredElementCount();\n\n    // Start listening. We need to listen in capture phase since focus events don't bubble.\n    let focusListener = (event: FocusEvent) => this._onFocus(event, element);\n    let blurListener = (event: FocusEvent) => this
 ._onBlur(event, element);\n    this._ngZone.runOutsideAngular(() => {\n      element.addEventListener('focus', focusListener, true);\n      element.addEventListener('blur', blurListener, true);\n    });\n\n    // Create an unlisten function for later.\n    info.unlisten = () => {\n      element.removeEventListener('focus', focusListener, true);\n      element.removeEventListener('blur', blurListener, true);\n    };\n\n    return info.subject.asObservable();\n  }\n\n  /**\n   * Stops monitoring an element and removes all focus classes.\n   * @param element The element to stop monitoring.\n   */\n  stopMonitoring(element: HTMLElement): void {\n    const elementInfo = this._elementInfo.get(element);\n\n    if (elementInfo) {\n      elementInfo.unlisten();\n      elementInfo.subject.complete();\n\n      this._setClasses(element);\n      this._elementInfo.delete(element);\n      this._decrementMonitoredElementCount();\n    }\n  }\n\n  /**\n   * Focuses the element via the specified focus
  origin.\n   * @param element The element to focus.\n   * @param origin The focus origin.\n   */\n  focusVia(element: HTMLElement, origin: FocusOrigin): void {\n    this._setOriginForCurrentEventQueue(origin);\n    element.focus();\n  }\n\n  ngOnDestroy() {\n    this._elementInfo.forEach((_info, element) => this.stopMonitoring(element));\n  }\n\n  /** Register necessary event listeners on the document and window. */\n  private _registerGlobalListeners() {\n    // Do nothing if we're not on the browser platform.\n    if (!this._platform.isBrowser) {\n      return;\n    }\n\n    // On keydown record the origin and clear any touch event that may be in progress.\n    let documentKeydownListener = () => {\n      this._lastTouchTarget = null;\n      this._setOriginForCurrentEventQueue('keyboard');\n    };\n\n    // On mousedown record the origin only if there is not touch target, since a mousedown can\n    // happen as a result of a touch event.\n    let documentMousedownListener = () => 
 {\n      if (!this._lastTouchTarget) {\n        this._setOriginForCurrentEventQueue('mouse');\n      }\n    };\n\n    // When the touchstart event fires the focus event is not yet in the event queue. This means\n    // we can't rely on the trick used above (setting timeout of 0ms). Instead we wait 650ms to\n    // see if a focus happens.\n    let documentTouchstartListener = (event: TouchEvent) => {\n      if (this._touchTimeoutId != null) {\n        clearTimeout(this._touchTimeoutId);\n      }\n      this._lastTouchTarget = event.target;\n      this._touchTimeoutId = setTimeout(() => this._lastTouchTarget = null, TOUCH_BUFFER_MS);\n    };\n\n    // Make a note of when the window regains focus, so we can restore the origin info for the\n    // focused element.\n    let windowFocusListener = () => {\n      this._windowFocused = true;\n      this._windowFocusTimeoutId = setTimeout(() => this._windowFocused = false, 0);\n    };\n\n    // Note: we listen to events in the capture phase s
 o we can detect them even if the user stops\n    // propagation.\n    this._ngZone.runOutsideAngular(() => {\n      document.addEventListener('keydown', documentKeydownListener, true);\n      document.addEventListener('mousedown', documentMousedownListener, true);\n      document.addEventListener('touchstart', documentTouchstartListener,\n          supportsPassiveEventListeners() ? ({passive: true, capture: true} as any) : true);\n      window.addEventListener('focus', windowFocusListener);\n    });\n\n    this._unregisterGlobalListeners = () => {\n      document.removeEventListener('keydown', documentKeydownListener, true);\n      document.removeEventListener('mousedown', documentMousedownListener, true);\n      document.removeEventListener('touchstart', documentTouchstartListener,\n          supportsPassiveEventListeners() ? ({passive: true, capture: true} as any) : true);\n      window.removeEventListener('focus', windowFocusListener);\n\n      // Clear timeouts for all potential
 ly pending timeouts to prevent the leaks.\n      clearTimeout(this._windowFocusTimeoutId);\n      clearTimeout(this._touchTimeoutId);\n      clearTimeout(this._originTimeoutId);\n    };\n  }\n\n  private _toggleClass(element: Element, className: string, shouldSet: boolean) {\n    if (shouldSet) {\n      element.classList.add(className);\n    } else {\n      element.classList.remove(className);\n    }\n  }\n\n  /**\n   * Sets the focus classes on the element based on the given focus origin.\n   * @param element The element to update the classes on.\n   * @param origin The focus origin.\n   */\n  private _setClasses(element: HTMLElement, origin?: FocusOrigin): void {\n    const elementInfo = this._elementInfo.get(element);\n\n    if (elementInfo) {\n      this._toggleClass(element, 'cdk-focused', !!origin);\n      this._toggleClass(element, 'cdk-touch-focused', origin === 'touch');\n      this._toggleClass(element, 'cdk-keyboard-focused', origin === 'keyboard');\n      this._toggleCla
 ss(element, 'cdk-mouse-focused', origin === 'mouse');\n      this._toggleClass(element, 'cdk-program-focused', origin === 'program');\n    }\n  }\n\n  /**\n   * Sets the origin and schedules an async function to clear it at the end of the event queue.\n   * @param origin The origin to set.\n   */\n  private _setOriginForCurrentEventQueue(origin: FocusOrigin): void {\n    this._origin = origin;\n    this._originTimeoutId = setTimeout(() => this._origin = null, 0);\n  }\n\n  /**\n   * Checks whether the given focus event was caused by a touchstart event.\n   * @param event The focus event to check.\n   * @returns Whether the event was caused by a touch.\n   */\n  private _wasCausedByTouch(event: FocusEvent): boolean {\n    // Note(mmalerba): This implementation is not quite perfect, there is a small edge case.\n    // Consider the following dom structure:\n    //\n    // <div #parent tabindex=\"0\" cdkFocusClasses>\n    //   <div #child (click)=\"#parent.focus()\"></div>\n    // </div
 >\n    //\n    // If the user touches the #child element and the #parent is programmatically focused as a\n    // result, this code will still consider it to have been caused by the touch event and will\n    // apply the cdk-touch-focused class rather than the cdk-program-focused class. This is a\n    // relatively small edge-case that can be worked around by using\n    // focusVia(parentEl, 'program') to focus the parent element.\n    //\n    // If we decide that we absolutely must handle this case correctly, we can do so by listening\n    // for the first focus event after the touchstart, and then the first blur event after that\n    // focus event. When that blur event fires we know that whatever follows is not a result of the\n    // touchstart.\n    let focusTarget = event.target;\n    return this._lastTouchTarget instanceof Node && focusTarget instanceof Node &&\n        (focusTarget === this._lastTouchTarget || focusTarget.contains(this._lastTouchTarget));\n  }\n\n  /**\n   *
  Handles focus events on a registered element.\n   * @param event The focus event.\n   * @param element The monitored element.\n   */\n  private _onFocus(event: FocusEvent, element: HTMLElement) {\n    // NOTE(mmalerba): We currently set the classes based on the focus origin of the most recent\n    // focus event affecting the monitored element. If we want to use the origin of the first event\n    // instead we should check for the cdk-focused class here and return if the element already has\n    // it. (This only matters for elements that have includesChildren = true).\n\n    // If we are not counting child-element-focus as focused, make sure that the event target is the\n    // monitored element itself.\n    const elementInfo = this._elementInfo.get(element);\n    if (!elementInfo || (!elementInfo.checkChildren && element !== event.target)) {\n      return;\n    }\n\n    // If we couldn't detect a cause for the focus event, it's due to one of three reasons:\n    // 1) The window h
 as just regained focus, in which case we want to restore the focused state of\n    //    the element from before the window blurred.\n    // 2) It was caused by a touch event, in which case we mark the origin as 'touch'.\n    // 3) The element was programmatically focused, in which case we should mark the origin as\n    //    'program'.\n    if (!this._origin) {\n      if (this._windowFocused && this._lastFocusOrigin) {\n        this._origin = this._lastFocusOrigin;\n      } else if (this._wasCausedByTouch(event)) {\n        this._origin = 'touch';\n      } else {\n        this._origin = 'program';\n      }\n    }\n\n    this._setClasses(element, this._origin);\n    elementInfo.subject.next(this._origin);\n    this._lastFocusOrigin = this._origin;\n    this._origin = null;\n  }\n\n  /**\n   * Handles blur events on a registered element.\n   * @param event The blur event.\n   * @param element The monitored element.\n   */\n  _onBlur(event: FocusEvent, element: HTMLElement) {\n    // 
 If we are counting child-element-focus as focused, make sure that we aren't just blurring in\n    // order to focus another child of the monitored element.\n    const elementInfo = this._elementInfo.get(element);\n\n    if (!elementInfo || (elementInfo.checkChildren && event.relatedTarget instanceof Node &&\n        element.contains(event.relatedTarget))) {\n      return;\n    }\n\n    this._setClasses(element);\n    elementInfo.subject.next(null);\n  }\n\n  private _incrementMonitoredElementCount() {\n    // Register global listeners when first element is monitored.\n    if (++this._monitoredElementCount == 1) {\n      this._registerGlobalListeners();\n    }\n  }\n\n  private _decrementMonitoredElementCount() {\n    // Unregister global listeners when last element is unmonitored.\n    if (!--this._monitoredElementCount) {\n      this._unregisterGlobalListeners();\n      this._unregisterGlobalListeners = () => {};\n    }\n  }\n\n}\n\n\n/**\n * Directive that determines how a particu
 lar element was focused (via keyboard, mouse, touch, or\n * programmatically) and adds corresponding classes to the element.\n *\n * There are two variants of this directive:\n * 1) cdkMonitorElementFocus: does not consider an element to be focused if one of its children is\n *    focused.\n * 2) cdkMonitorSubtreeFocus: considers an element focused if it or any of its children are focused.\n */\n@Directive({\n  selector: '[cdkMonitorElementFocus], [cdkMonitorSubtreeFocus]',\n})\nexport class CdkMonitorFocus implements OnDestroy {\n  private _monitorSubscription: Subscription;\n  @Output() cdkFocusChange = new EventEmitter<FocusOrigin>();\n\n  constructor(private _elementRef: ElementRef, private _focusMonitor: FocusMonitor) {\n    this._monitorSubscription = this._focusMonitor.monitor(\n        this._elementRef.nativeElement,\n        this._elementRef.nativeElement.hasAttribute('cdkMonitorSubtreeFocus'))\n        .subscribe(origin => this.cdkFocusChange.emit(origin));\n  }\n\n  ngOnD
 estroy() {\n    this._focusMonitor.stopMonitoring(this._elementRef.nativeElement);\n    this._monitorSubscription.unsubscribe();\n  }\n}\n\n/** @docs-private */\nexport function FOCUS_MONITOR_PROVIDER_FACTORY(\n    parentDispatcher: FocusMonitor, ngZone: NgZone, platform: Platform) {\n  return parentDispatcher || new FocusMonitor(ngZone, platform);\n}\n\n/** @docs-private */\nexport const FOCUS_MONITOR_PROVIDER = {\n  // If there is already a FocusMonitor available, use that. Otherwise, provide a new one.\n  provide: FocusMonitor,\n  deps: [[new Optional(), new SkipSelf(), FocusMonitor], NgZone, Platform],\n  useFactory: FOCUS_MONITOR_PROVIDER_FACTORY\n};\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {\n  Injectable,\n  InjectionToken,\n  Optional,\n  Inject,\n  SkipSelf,\n  OnDestroy,\n} from '@angular/core';
 \nimport {DOCUMENT} from '@angular/common';\n\n\nexport const LIVE_ANNOUNCER_ELEMENT_TOKEN = new InjectionToken<HTMLElement>('liveAnnouncerElement');\n\n/** Possible politeness levels. */\nexport type AriaLivePoliteness = 'off' | 'polite' | 'assertive';\n\n@Injectable()\nexport class LiveAnnouncer implements OnDestroy {\n  private _liveElement: Element;\n\n  constructor(\n      @Optional() @Inject(LIVE_ANNOUNCER_ELEMENT_TOKEN) elementToken: any,\n      @Inject(DOCUMENT) private _document: any) {\n\n    // We inject the live element as `any` because the constructor signature cannot reference\n    // browser globals (HTMLElement) on non-browser environments, since having a class decorator\n    // causes TypeScript to preserve the constructor signature types.\n    this._liveElement = elementToken || this._createLiveElement();\n  }\n\n  /**\n   * Announces a message to screenreaders.\n   * @param message Message to be announced to the screenreader\n   * @param politeness The politeness 
 of the announcer element\n   */\n  announce(message: string, politeness: AriaLivePoliteness = 'polite'): void {\n    this._liveElement.textContent = '';\n\n    // TODO: ensure changing the politeness works on all environments we support.\n    this._liveElement.setAttribute('aria-live', politeness);\n\n    // This 100ms timeout is necessary for some browser + screen-reader combinations:\n    // - Both JAWS and NVDA over IE11 will not announce anything without a non-zero timeout.\n    // - With Chrome and IE11 with NVDA or JAWS, a repeated (identical) message won't be read a\n    //   second time without clearing and then using a non-zero delay.\n    // (using JAWS 17 at time of this writing).\n    setTimeout(() => this._liveElement.textContent = message, 100);\n  }\n\n  ngOnDestroy() {\n    if (this._liveElement && this._liveElement.parentNode) {\n      this._liveElement.parentNode.removeChild(this._liveElement);\n    }\n  }\n\n  private _createLiveElement(): Element {\n    let liveE
 l = this._document.createElement('div');\n\n    liveEl.classList.add('cdk-visually-hidden');\n    liveEl.setAttribute('aria-atomic', 'true');\n    liveEl.setAttribute('aria-live', 'polite');\n\n    this._document.body.appendChild(liveEl);\n\n    return liveEl;\n  }\n\n}\n\n/** @docs-private */\nexport function LIVE_ANNOUNCER_PROVIDER_FACTORY(\n    parentDispatcher: LiveAnnouncer, liveElement: any, _document: any) {\n  return parentDispatcher || new LiveAnnouncer(liveElement, _document);\n}\n\n/** @docs-private */\nexport const LIVE_ANNOUNCER_PROVIDER = {\n  // If there is already a LiveAnnouncer available, use that. Otherwise, provide a new one.\n  provide: LiveAnnouncer,\n  deps: [\n    [new Optional(), new SkipSelf(), LiveAnnouncer],\n    [new Optional(), new Inject(LIVE_ANNOUNCER_ELEMENT_TOKEN)],\n    DOCUMENT,\n  ],\n  useFactory: LIVE_ANNOUNCER_PROVIDER_FACTORY\n};\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by 
 an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {ListKeyManager, ListKeyManagerOption} from './list-key-manager';\nimport {FocusOrigin} from '../focus-monitor/focus-monitor';\n\n/**\n * This is the interface for focusable items (used by the FocusKeyManager).\n * Each item must know how to focus itself, whether or not it is currently disabled\n * and be able to supply it's label.\n */\nexport interface FocusableOption extends ListKeyManagerOption {\n  /** Focuses the `FocusableOption`. */\n  focus(origin?: FocusOrigin): void;\n}\n\nexport class FocusKeyManager<T> extends ListKeyManager<FocusableOption & T> {\n  private _origin: FocusOrigin = 'program';\n\n  /**\n   * Sets the focus origin that will be passed in to the items for any subsequent `focus` calls.\n   * @param origin Focus origin to be used when focusing items.\n   */\n  setFocusOrigin(origin: FocusOrigin): this {\n    this._origin = origin;\n    return this;\n  }\
 n\n  /**\n   * This method sets the active item to the item at the specified index.\n   * It also adds focuses the newly active item.\n   */\n  setActiveItem(index: number): void {\n    super.setActiveItem(index);\n\n    if (this.activeItem) {\n      this.activeItem.focus(this._origin);\n    }\n  }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {ListKeyManager, ListKeyManagerOption} from './list-key-manager';\n\n/**\n * This is the interface for highlightable items (used by the ActiveDescendantKeyManager).\n * Each item must know how to style itself as active or inactive and whether or not it is\n * currently disabled.\n */\nexport interface Highlightable extends ListKeyManagerOption {\n  /** Applies the styles for an active item to this item. */\n  setActiveStyles(): void;\n\n  /** Applies the styles for an
  inactive item to this item. */\n  setInactiveStyles(): void;\n}\n\nexport class ActiveDescendantKeyManager<T> extends ListKeyManager<Highlightable & T> {\n\n  /**\n   * This method sets the active item to the item at the specified index.\n   * It also adds active styles to the newly active item and removes active\n   * styles from the previously active item.\n   */\n  setActiveItem(index: number): void {\n    if (this.activeItem) {\n      this.activeItem.setInactiveStyles();\n    }\n    super.setActiveItem(index);\n    if (this.activeItem) {\n      this.activeItem.setActiveStyles();\n    }\n  }\n\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {QueryList} from '@angular/core';\nimport {Subject} from 'rxjs/Subject';\nimport {Subscription} from 'rxjs/Subscription';\nimport {\n  UP_ARROW,\n  DOWN_ARROW,\n  LEFT
 _ARROW,\n  RIGHT_ARROW,\n  TAB,\n  A,\n  Z,\n  ZERO,\n  NINE,\n} from '@angular/cdk/keycodes';\nimport {debounceTime} from 'rxjs/operators/debounceTime';\nimport {filter} from 'rxjs/operators/filter';\nimport {map} from 'rxjs/operators/map';\nimport {tap} from 'rxjs/operators/tap';\n\n/** This interface is for items that can be passed to a ListKeyManager. */\nexport interface ListKeyManagerOption {\n  /** Whether the option is disabled. */\n  disabled?: boolean;\n\n  /** Gets the label for this option. */\n  getLabel?(): string;\n}\n\n/**\n * This class manages keyboard events for selectable lists. If you pass it a query list\n * of items, it will set the active item correctly when arrow events occur.\n */\nexport class ListKeyManager<T extends ListKeyManagerOption> {\n  private _activeItemIndex = -1;\n  private _activeItem: T;\n  private _wrap = false;\n  private _letterKeyStream = new Subject<string>();\n  private _typeaheadSubscription = Subscription.EMPTY;\n  private _vertical =
  true;\n  private _horizontal: 'ltr' | 'rtl' | null;\n\n  // Buffer for the letters that the user has pressed when the typeahead option is turned on.\n  private _pressedLetters: string[] = [];\n\n  constructor(private _items: QueryList<T>) {\n    _items.changes.subscribe((newItems: QueryList<T>) => {\n      if (this._activeItem) {\n        const itemArray = newItems.toArray();\n        const newIndex = itemArray.indexOf(this._activeItem);\n\n        if (newIndex > -1 && newIndex !== this._activeItemIndex) {\n          this._activeItemIndex = newIndex;\n        }\n      }\n    });\n  }\n\n  /**\n   * Stream that emits any time the TAB key is pressed, so components can react\n   * when focus is shifted off of the list.\n   */\n  tabOut: Subject<void> = new Subject<void>();\n\n  /** Stream that emits whenever the active item of the list manager changes. */\n  change = new Subject<number>();\n\n  /**\n   * Turns on wrapping mode, which ensures that the active item will wrap to\n   * the
  other end of list when there are no more items in the given direction.\n   */\n  withWrap(): this {\n    this._wrap = true;\n    return this;\n  }\n\n  /**\n   * Configures whether the key manager should be able to move the selection vertically.\n   * @param enabled Whether vertical selection should be enabled.\n   */\n  withVerticalOrientation(enabled: boolean = true): this {\n    this._vertical = enabled;\n    return this;\n  }\n\n  /**\n   * Configures the key manager to move the selection horizontally.\n   * Passing in `null` will disable horizontal movement.\n   * @param direction Direction in which the selection can be moved.\n   */\n  withHorizontalOrientation(direction: 'ltr' | 'rtl' | null): this {\n    this._horizontal = direction;\n    return this;\n  }\n\n  /**\n   * Turns on typeahead mode which allows users to set the active item by typing.\n   * @param debounceInterval Time to wait after the last keystroke before setting the active item.\n   */\n  withTypeAhead(debou
 nceInterval: number = 200): this {\n    if (this._items.length && this._items.some(item => typeof item.getLabel !== 'function')) {\n      throw Error('ListKeyManager items in typeahead mode must implement the `getLabel` method.');\n    }\n\n    this._typeaheadSubscription.unsubscribe();\n\n    // Debounce the presses of non-navigational keys, collect the ones that correspond to letters\n    // and convert those letters back into a string. Afterwards find the first item that starts\n    // with that string and select it.\n    this._typeaheadSubscription = this._letterKeyStream.pipe(\n      tap(keyCode => this._pressedLetters.push(keyCode)),\n      debounceTime(debounceInterval),\n      filter(() => this._pressedLetters.length > 0),\n      map(() => this._pressedLetters.join(''))\n    ).subscribe(inputString => {\n      const items = this._items.toArray();\n\n      // Start at 1 because we want to start searching at the item immediately\n      // following the current active item.\n  
     for (let i = 1; i < items.length + 1; i++) {\n        const index = (this._activeItemIndex + i) % items.length;\n        const item = items[index];\n\n        if (!item.disabled && item.getLabel!().toUpperCase().trim().indexOf(inputString) === 0) {\n          this.setActiveItem(index);\n          break;\n        }\n      }\n\n      this._pressedLetters = [];\n    });\n\n    return this;\n  }\n\n  /**\n   * Sets the active item to the item at the index specified.\n   * @param index The index of the item to be set as active.\n   */\n  setActiveItem(index: number): void {\n    const previousIndex = this._activeItemIndex;\n\n    this._activeItemIndex = index;\n    this._activeItem = this._items.toArray()[index];\n\n    if (this._activeItemIndex !== previousIndex) {\n      this.change.next(index);\n    }\n  }\n\n  /**\n   * Sets the active item depending on the key event passed in.\n   * @param event Keyboard event to be used for determining which element should be active.\n   */\n  
 onKeydown(event: KeyboardEvent): void {\n    const keyCode = event.keyCode;\n\n    switch (keyCode) {\n      case TAB:\n        this.tabOut.next();\n        return;\n\n      case DOWN_ARROW:\n        if (this._vertical) {\n          this.setNextItemActive();\n          break;\n        }\n\n      case UP_ARROW:\n        if (this._vertical) {\n          this.setPreviousItemActive();\n          break;\n        }\n\n      case RIGHT_ARROW:\n        if (this._horizontal === 'ltr') {\n          this.setNextItemActive();\n          break;\n        } else if (this._horizontal === 'rtl') {\n          this.setPreviousItemActive();\n          break;\n        }\n\n      case LEFT_ARROW:\n        if (this._horizontal === 'ltr') {\n          this.setPreviousItemActive();\n          break;\n        } else if (this._horizontal === 'rtl') {\n          this.setNextItemActive();\n          break;\n        }\n\n      default:\n        // Attempt to use the `event.key` which also maps it to the user's k
 eyboard language,\n        // otherwise fall back to resolving alphanumeric characters via the keyCode.\n        if (event.key && event.key.length === 1) {\n          this._letterKeyStream.next(event.key.toLocaleUpperCase());\n        } else if ((keyCode >= A && keyCode <= Z) || (keyCode >= ZERO && keyCode <= NINE)) {\n          this._letterKeyStream.next(String.fromCharCode(keyCode));\n        }\n\n        // Note that we return here, in order to avoid preventing\n        // the default action of non-navigational keys.\n        return;\n    }\n\n    this._pressedLetters = [];\n    event.preventDefault();\n  }\n\n  /** Index of the currently active item. */\n  get activeItemIndex(): number | null {\n    return this._activeItemIndex;\n  }\n\n  /** The active item. */\n  get activeItem(): T | null {\n    return this._activeItem;\n  }\n\n  /** Sets the active item to the first enabled item in the list. */\n  setFirstItemActive(): void {\n    this._setActiveItemByIndex(0, 1);\n  }\n\n  
 /** Sets the active item to the last enabled item in the list. */\n  setLastItemActive(): void {\n    this._setActiveItemByIndex(this._items.length - 1, -1);\n  }\n\n  /** Sets the active item to the next enabled item in the list. */\n  setNextItemActive(): void {\n    this._activeItemIndex < 0 ? this.setFirstItemActive() : this._setActiveItemByDelta(1);\n  }\n\n  /** Sets the active item to a previous enabled item in the list. */\n  setPreviousItemActive(): void {\n    this._activeItemIndex < 0 && this._wrap ? this.setLastItemActive()\n                                            : this._setActiveItemByDelta(-1);\n  }\n\n  /**\n   * Allows setting of the activeItemIndex without any other effects.\n   * @param index The new activeItemIndex.\n   */\n  updateActiveItemIndex(index: number) {\n    this._activeItemIndex = index;\n  }\n\n  /**\n   * This method sets the active item, given a list of items and the delta between the\n   * currently active item and the new active item. It will
  calculate differently\n   * depending on whether wrap mode is turned on.\n   */\n  private _setActiveItemByDelta(delta: number, items = this._items.toArray()): void {\n    this._wrap ? this._setActiveInWrapMode(delta, items)\n               : this._setActiveInDefaultMode(delta, items);\n  }\n\n  /**\n   * Sets the active item properly given \"wrap\" mode. In other words, it will continue to move\n   * down the list until it finds an item that is not disabled, and it will wrap if it\n   * encounters either end of the list.\n   */\n  private _setActiveInWrapMode(delta: number, items: T[]): void {\n    // when active item would leave menu, wrap to beginning or end\n    this._activeItemIndex =\n      (this._activeItemIndex + delta + items.length) % items.length;\n\n    // skip all disabled menu items recursively until an enabled one is reached\n    if (items[this._activeItemIndex].disabled) {\n      this._setActiveInWrapMode(delta, items);\n    } else {\n      this.setActiveItem(this._
 activeItemIndex);\n    }\n  }\n\n  /**\n   * Sets the active item properly given the default mode. In other words, it will\n   * continue to move down the list until it finds an item that is not disabled. If\n   * it encounters either end of the list, it will stop and not wrap.\n   */\n  private _setActiveInDefaultMode(delta: number, items: T[]): void {\n    this._setActiveItemByIndex(this._activeItemIndex + delta, delta, items);\n  }\n\n  /**\n   * Sets the active item to the first enabled item starting at the index specified. If the\n   * item is disabled, it will move in the fallbackDelta direction until it either\n   * finds an enabled item or encounters the end of the list.\n   */\n  private _setActiveItemByIndex(index: number, fallbackDelta: number,\n                                  items = this._items.toArray()): void {\n    if (!items[index]) { return; }\n\n    while (items[index].disabled) {\n      index += fallbackDelta;\n      if (!items[index]) { return; }\n    }\n\n   
  this.setActiveItem(index);\n  }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {Injectable, Inject, InjectionToken, Optional, SkipSelf} from '@angular/core';\nimport {DOCUMENT} from '@angular/common';\nimport {addAriaReferencedId, getAriaReferenceIds, removeAriaReferencedId} from './aria-reference';\n\n/**\n * Interface used to register message elements and keep a count of how many registrations have\n * the same message and the reference to the message element used for the `aria-describedby`.\n */\nexport interface RegisteredMessage {\n  /** The element containing the message. */\n  messageElement: Element;\n\n  /** The number of elements that reference this message element via `aria-describedby`. */\n  referenceCount: number;\n}\n\n/** ID used for the body container where all messages are appended. */\nex
 port const MESSAGES_CONTAINER_ID = 'cdk-describedby-message-container';\n\n/** ID prefix used for each created message element. */\nexport const CDK_DESCRIBEDBY_ID_PREFIX = 'cdk-describedby-message';\n\n/** Attribute given to each host element that is described by a message element. */\nexport const CDK_DESCRIBEDBY_HOST_ATTRIBUTE = 'cdk-describedby-host';\n\n/** Global incremental identifier for each registered message element. */\nlet nextId = 0;\n\n/** Global map of all registered message elements that have been placed into the document. */\nconst messageRegistry = new Map<string, RegisteredMessage>();\n\n/** Container for all registered messages. */\nlet messagesContainer: HTMLElement | null = null;\n\n/**\n * Utility that creates visually hidden elements with a message content. Useful for elements that\n * want to use aria-describedby to further describe themselves without adding additional visual\n * content.\n * @docs-private\n */\n@Injectable()\nexport class AriaDescriber {\n
   private _document: Document;\n\n  constructor(@Inject(DOCUMENT) _document: any) {\n    this._document = _document;\n  }\n\n  /**\n   * Adds to the host element an aria-describedby reference to a hidden element that contains\n   * the message. If the same message has already been registered, then it will reuse the created\n   * message element.\n   */\n  describe(hostElement: Element, message: string) {\n    if (hostElement.nodeType !== this._document.ELEMENT_NODE || !message.trim()) {\n      return;\n    }\n\n    if (!messageRegistry.has(message)) {\n      this._createMessageElement(message);\n    }\n\n    if (!this._isElementDescribedByMessage(hostElement, message)) {\n      this._addMessageReference(hostElement, message);\n    }\n  }\n\n  /** Removes the host element's aria-describedby reference to the message element. */\n  removeDescription(hostElement: Element, message: string) {\n    if (hostElement.nodeType !== this._document.ELEMENT_NODE || !message.trim()) {\n      return
 ;\n    }\n\n    if (this._isElementDescribedByMessage(hostElement, message)) {\n      this._removeMessageReference(hostElement, message);\n    }\n\n    const registeredMessage = messageRegistry.get(message);\n    if (registeredMessage && registeredMessage.referenceCount === 0) {\n      this._deleteMessageElement(message);\n    }\n\n    if (messagesContainer && messagesContainer.childNodes.length === 0) {\n      this._deleteMessagesContainer();\n    }\n  }\n\n  /** Unregisters all created message elements and removes the message container. */\n  ngOnDestroy() {\n    const describedElements =\n        this._document.querySelectorAll(`[${CDK_DESCRIBEDBY_HOST_ATTRIBUTE}]`);\n\n    for (let i = 0; i < describedElements.length; i++) {\n      this._removeCdkDescribedByReferenceIds(describedElements[i]);\n      describedElements[i].removeAttribute(CDK_DESCRIBEDBY_HOST_ATTRIBUTE);\n    }\n\n    if (messagesContainer) {\n      this._deleteMessagesContainer();\n    }\n\n    messageRegistry.cle
 ar();\n  }\n\n  /**\n   * Creates a new element in the visually hidden message container element with the message\n   * as its content and adds it to the message registry.\n   */\n  private _createMessageElement(message: string) {\n    const messageElement = this._document.createElement('div');\n    messageElement.setAttribute('id', `${CDK_DESCRIBEDBY_ID_PREFIX}-${nextId++}`);\n    messageElement.appendChild(this._document.createTextNode(message)!);\n\n    if (!messagesContainer) { this._createMessagesContainer(); }\n    messagesContainer!.appendChild(messageElement);\n\n    messageRegistry.set(message, {messageElement, referenceCount: 0});\n  }\n\n  /** Deletes the message element from the global messages container. */\n  private _deleteMessageElement(message: string) {\n    const registeredMessage = messageRegistry.get(message);\n    const messageElement = registeredMessage && registeredMessage.messageElement;\n    if (messagesContainer && messageElement) {\n      messagesContaine
 r.removeChild(messageElement);\n    }\n    messageRegistry.delete(message);\n  }\n\n  /** Creates the global container for all aria-describedby messages. */\n  private _createMessagesContainer() {\n    messagesContainer = this._document.createElement('div');\n    messagesContainer.setAttribute('id', MESSAGES_CONTAINER_ID);\n    messagesContainer.setAttribute('aria-hidden', 'true');\n    messagesContainer.style.display = 'none';\n    this._document.body.appendChild(messagesContainer);\n  }\n\n  /** Deletes the global messages container. */\n  private _deleteMessagesContainer() {\n    if (messagesContainer && messagesContainer.parentNode) {\n      messagesContainer.parentNode.removeChild(messagesContainer);\n      messagesContainer = null;\n    }\n  }\n\n  /** Removes all cdk-describedby messages that are hosted through the element. */\n  private _removeCdkDescribedByReferenceIds(element: Element) {\n    // Remove all aria-describedby reference IDs that are prefixed by CDK_DESCRIBEDBY
 _ID_PREFIX\n    const originalReferenceIds = getAriaReferenceIds(element, 'aria-describedby')\n        .filter(id => id.indexOf(CDK_DESCRIBEDBY_ID_PREFIX) != 0);\n    element.setAttribute('aria-describedby', originalReferenceIds.join(' '));\n  }\n\n  /**\n   * Adds a message reference to the element using aria-describedby and increments the registered\n   * message's reference count.\n   */\n  private _addMessageReference(element: Element, message: string) {\n    const registeredMessage = messageRegistry.get(message)!;\n\n    // Add the aria-describedby reference and set the\n    // describedby_host attribute to mark the element.\n    addAriaReferencedId(element, 'aria-describedby', registeredMessage.messageElement.id);\n    element.setAttribute(CDK_DESCRIBEDBY_HOST_ATTRIBUTE, '');\n\n    registeredMessage.referenceCount++;\n  }\n\n  /**\n   * Removes a message reference from the element using aria-describedby\n   * and decrements the registered message's reference count.\n   */\n  
 private _removeMessageReference(element: Element, message: string) {\n    const registeredMessage = messageRegistry.get(message)!;\n    registeredMessage.referenceCount--;\n\n    removeAriaReferencedId(element, 'aria-describedby', registeredMessage.messageElement.id);\n    element.removeAttribute(CDK_DESCRIBEDBY_HOST_ATTRIBUTE);\n  }\n\n  /** Returns true if the element has been described by the provided message ID. */\n  private _isElementDescribedByMessage(element: Element, message: string): boolean {\n    const referenceIds = getAriaReferenceIds(element, 'aria-describedby');\n    const registeredMessage = messageRegistry.get(message);\n    const messageId = registeredMessage && registeredMessage.messageElement.id;\n\n    return !!messageId && referenceIds.indexOf(messageId) != -1;\n  }\n\n}\n\n/** @docs-private */\nexport function ARIA_DESCRIBER_PROVIDER_FACTORY(parentDispatcher: AriaDescriber, _document: any) {\n  return parentDispatcher || new AriaDescriber(_document);\n}\n\n/*
 * @docs-private */\nexport const ARIA_DESCRIBER_PROVIDER = {\n  // If there is already an AriaDescriber available, use that. Otherwise, provide a new one.\n  provide: AriaDescriber,\n  deps: [\n    [new Optional(), new SkipSelf(), AriaDescriber],\n    DOCUMENT as InjectionToken<any>\n  ],\n  useFactory: ARIA_DESCRIBER_PROVIDER_FACTORY\n};\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/** IDs are deliminated by an empty space, as per the spec. */\nconst ID_DELIMINATOR = ' ';\n\n/**\n * Adds the given ID to the specified ARIA attribute on an element.\n * Used for attributes such as aria-labelledby, aria-owns, etc.\n */\nexport function addAriaReferencedId(el: Element, attr: string, id: string) {\n  const ids = getAriaReferenceIds(el, attr);\n  if (ids.some(existingId => existingId.trim() == id.trim())) { return; }\n  i
 ds.push(id.trim());\n\n  el.setAttribute(attr, ids.join(ID_DELIMINATOR));\n}\n\n/**\n * Removes the given ID from the specified ARIA attribute on an element.\n * Used for attributes such as aria-labelledby, aria-owns, etc.\n */\nexport function removeAriaReferencedId(el: Element, attr: string, id: string) {\n  const ids = getAriaReferenceIds(el, attr);\n  const filteredIds = ids.filter(val => val != id.trim());\n\n  el.setAttribute(attr, filteredIds.join(ID_DELIMINATOR));\n}\n\n/**\n * Gets the list of IDs referenced by the given ARIA attribute on an element.\n * Used for attributes such as aria-labelledby, aria-owns, etc.\n */\nexport function getAriaReferenceIds(el: Element, attr: string): string[] {\n  // Get string array of all individual ids (whitespace deliminated) in the attribute value\n  return (el.getAttribute(attr) || '').match(/\\S+/g) || [];\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style 
 license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {\n  Directive,\n  ElementRef,\n  Input,\n  NgZone,\n  OnDestroy,\n  AfterContentInit,\n  Injectable,\n  Inject,\n} from '@angular/core';\nimport {coerceBooleanProperty} from '@angular/cdk/coercion';\nimport {take} from 'rxjs/operators/take';\nimport {InteractivityChecker} from '../interactivity-checker/interactivity-checker';\nimport {DOCUMENT} from '@angular/common';\n\n\n/**\n * Class that allows for trapping focus within a DOM element.\n *\n * This class currently uses a relatively simple approach to focus trapping.\n * It assumes that the tab order is the same as DOM order, which is not necessarily true.\n * Things like `tabIndex > 0`, flex `order`, and shadow roots can cause to two to misalign.\n */\nexport class FocusTrap {\n  private _startAnchor: HTMLElement | null;\n  private _endAnchor: HTMLElement | null;\n\n  /** Whether the focus trap is active. */\n  get enabled(): boolean {
  return this._enabled; }\n  set enabled(val: boolean) {\n    this._enabled = val;\n\n    if (this._startAnchor && this._endAnchor) {\n      this._startAnchor.tabIndex = this._endAnchor.tabIndex = this._enabled ? 0 : -1;\n    }\n  }\n  private _enabled: boolean = true;\n\n  constructor(\n    private _element: HTMLElement,\n    private _checker: InteractivityChecker,\n    private _ngZone: NgZone,\n    private _document: Document,\n    deferAnchors = false) {\n\n    if (!deferAnchors) {\n      this.attachAnchors();\n    }\n  }\n\n  /** Destroys the focus trap by cleaning up the anchors. */\n  destroy() {\n    if (this._startAnchor && this._startAnchor.parentNode) {\n      this._startAnchor.parentNode.removeChild(this._startAnchor);\n    }\n\n    if (this._endAnchor && this._endAnchor.parentNode) {\n      this._endAnchor.parentNode.removeChild(this._endAnchor);\n    }\n\n    this._startAnchor = this._endAnchor = null;\n  }\n\n  /**\n   * Inserts the anchors into the DOM. This is usually
  done automatically\n   * in the constructor, but can be deferred for cases like directives with `*ngIf`.\n   */\n  attachAnchors(): void {\n    if (!this._startAnchor) {\n      this._startAnchor = this._createAnchor();\n    }\n\n    if (!this._endAnchor) {\n      this._endAnchor = this._createAnchor();\n    }\n\n    this._ngZone.runOutsideAngular(() => {\n      this._startAnchor!.addEventListener('focus', () => {\n        this.focusLastTabbableElement();\n      });\n\n      this._endAnchor!.addEventListener('focus', () => {\n        this.focusFirstTabbableElement();\n      });\n\n      if (this._element.parentNode) {\n        this._element.parentNode.insertBefore(this._startAnchor!, this._element);\n        this._element.parentNode.insertBefore(this._endAnchor!, this._element.nextSibling);\n      }\n    });\n  }\n\n  /**\n   * Waits for the zone to stabilize, then either focuses the first element that the\n   * user specified, or the first tabbable element.\n   * @returns Returns a
  promise that resolves with a boolean, depending\n   * on whether focus was moved successfuly.\n   */\n  focusInitialElementWhenReady(): Promise<boolean> {\n    return new Promise<boolean>(resolve => {\n      this._executeOnStable(() => resolve(this.focusInitialElement()));\n    });\n  }\n\n  /**\n   * Waits for the zone to stabilize, then focuses\n   * the first tabbable element within the focus trap region.\n   * @returns Returns a promise that resolves with a boolean, depending\n   * on whether focus was moved successfuly.\n   */\n  focusFirstTabbableElementWhenReady(): Promise<boolean> {\n    return new Promise<boolean>(resolve => {\n      this._executeOnStable(() => resolve(this.focusFirstTabbableElement()));\n    });\n  }\n\n  /**\n   * Waits for the zone to stabilize, then focuses\n   * the last tabbable element within the focus trap region.\n   * @returns Returns a promise that resolves with a boolean, depending\n   * on whether focus was moved successfuly.\n   */\n  focusLa
 stTabbableElementWhenReady(): Promise<boolean> {\n    return new Promise<boolean>(resolve => {\n      this._executeOnStable(() => resolve(this.focusLastTabbableElement()));\n    });\n  }\n\n  /**\n   * Get the specified boundary element of the trapped region.\n   * @param bound The boundary to get (start or end of trapped region).\n   * @returns The boundary element.\n   */\n  private _getRegionBoundary(bound: 'start' | 'end'): HTMLElement | null {\n    // Contains the deprecated version of selector, for temporary backwards comparability.\n    let markers = this._element.querySelectorAll(`[cdk-focus-region-${bound}], ` +\n                                                 `[cdkFocusRegion${bound}], ` +\n                                                 `[cdk-focus-${bound}]`) as NodeListOf<HTMLElement>;\n\n    for (let i = 0; i < markers.length; i++) {\n      if (markers[i].hasAttribute(`cdk-focus-${bound}`)) {\n        console.warn(`Found use of deprecated attribute 'cdk-focus-${bound
 }',` +\n                     ` use 'cdkFocusRegion${bound}' instead.`, markers[i]);\n      } else if (markers[i].hasAttribute(`cdk-focus-region-${bound}`)) {\n        console.warn(`Found use of deprecated attribute 'cdk-focus-region-${bound}',` +\n                     ` use 'cdkFocusRegion${bound}' instead.`, markers[i]);\n      }\n    }\n\n    if (bound == 'start') {\n      return markers.length ? markers[0] : this._getFirstTabbableElement(this._element);\n    }\n    return markers.length ?\n        markers[markers.length - 1] : this._getLastTabbableElement(this._element);\n  }\n\n  /**\n   * Focuses the element that should be focused when the focus trap is initialized.\n   * @returns Whether focus was moved successfuly.\n   */\n  focusInitialElement(): boolean {\n    // Contains the deprecated version of selector, for temporary backwards comparability.\n    const redirectToElement = this._element.querySelector(`[cdk-focus-initial], ` +\n                                            
               `[cdkFocusInitial]`) as HTMLElement;\n\n    if (this._element.hasAttribute(`cdk-focus-initial`)) {\n      console.warn(`Found use of deprecated attribute 'cdk-focus-initial',` +\n                    ` use 'cdkFocusInitial' instead.`, this._element);\n    }\n\n    if (redirectToElement) {\n      redirectToElement.focus();\n      return true;\n    }\n\n    return this.focusFirstTabbableElement();\n  }\n\n  /**\n   * Focuses the first tabbable element within the focus trap region.\n   * @returns Whether focus was moved successfuly.\n   */\n  focusFirstTabbableElement(): boolean {\n    const redirectToElement = this._getRegionBoundary('start');\n\n    if (redirectToElement) {\n      redirectToElement.focus();\n    }\n\n    return !!redirectToElement;\n  }\n\n  /**\n   * Focuses the last tabbable element within the focus trap region.\n   * @returns Whether focus was moved successfuly.\n   */\n  focusLastTabbableElement(): boolean {\n    const redirectToElement = this._getRe
 gionBoundary('end');\n\n    if (redirectToElement) {\n      redirectToElement.focus();\n    }\n\n    return !!redirectToElement;\n  }\n\n  /** Get the first tabbable element from a DOM subtree (inclusive). */\n  private _getFirstTabbableElement(root: HTMLElement): HTMLElement | null {\n    if (this._checker.isFocusable(root) && this._checker.isTabbable(root)) {\n      return root;\n    }\n\n    // Iterate in DOM order. Note that IE doesn't have `children` for SVG so we fall\n    // back to `childNodes` which includes text nodes, comments etc.\n    let children = root.children || root.childNodes;\n\n    for (let i = 0; i < children.length; i++) {\n      let tabbableChild = children[i].nodeType === this._document.ELEMENT_NODE ?\n        this._getFirstTabbableElement(children[i] as HTMLElement) :\n        null;\n\n      if (tabbableChild) {\n        return tabbableChild;\n      }\n    }\n\n    return null;\n  }\n\n  /** Get the last tabbable element from a DOM subtree (inclusive). */\n
   private _getLastTabbableElement(root: HTMLElement): HTMLElement | null {\n    if (this._checker.isFocusable(root) && this._checker.isTabbable(root)) {\n      return root;\n    }\n\n    // Iterate in reverse DOM order.\n    let children = root.children || root.childNodes;\n\n    for (let i = children.length - 1; i >= 0; i--) {\n      let tabbableChild = children[i].nodeType === this._document.ELEMENT_NODE ?\n        this._getLastTabbableElement(children[i] as HTMLElement) :\n        null;\n\n      if (tabbableChild) {\n        return tabbableChild;\n      }\n    }\n\n    return null;\n  }\n\n  /** Creates an anchor element. */\n  private _createAnchor(): HTMLElement {\n    const anchor = this._document.createElement('div');\n    anchor.tabIndex = this._enabled ? 0 : -1;\n    anchor.classList.add('cdk-visually-hidden');\n    anchor.classList.add('cdk-focus-trap-anchor');\n    return anchor;\n  }\n\n  /** Executes a function when the zone is stable. */\n  private _executeOnStable(fn:
  () => any): void {\n    if (this._ngZone.isStable) {\n      fn();\n    } else {\n      this._ngZone.onStable.asObservable().pipe(take(1)).subscribe(fn);\n    }\n  }\n}\n\n\n/** Factory that allows easy instantiation of focus traps. */\n@Injectable()\nexport class FocusTrapFactory {\n  private _document: Document;\n\n  constructor(\n      private _checker: InteractivityChecker,\n      private _ngZone: NgZone,\n      @Inject(DOCUMENT) _document: any) {\n\n    this._document = _document;\n  }\n\n  /**\n   * Creates a focus-trapped region around the given element.\n   * @param element The element around which focus will be trapped.\n   * @param deferCaptureElements Defers the creation of focus-capturing elements to be done\n   *     manually by the user.\n   * @returns The created focus trap instance.\n   */\n  create(element: HTMLElement, deferCaptureElements: boolean = false): FocusTrap {\n    return new FocusTrap(\n        element, this._checker, this._ngZone, this._document, deferC
 aptureElements);\n  }\n}\n\n\n/**\n * Directive for trapping focus within a region.\n * @docs-private\n * @deprecated\n * @deletion-target 6.0.0\n */\n@Directive({\n  selector: 'cdk-focus-trap',\n})\nexport class FocusTrapDeprecatedDirective implements OnDestroy, AfterContentInit {\n  focusTrap: FocusTrap;\n\n  /** Whether the focus trap is active. */\n  @Input()\n  get disabled(): boolean { return !this.focusTrap.enabled; }\n  set disabled(val: boolean) {\n    this.focusTrap.enabled = !coerceBooleanProperty(val);\n  }\n\n  constructor(private _elementRef: ElementRef, private _focusTrapFactory: FocusTrapFactory) {\n    this.focusTrap = this._focusTrapFactory.create(this._elementRef.nativeElement, true);\n  }\n\n  ngOnDestroy() {\n    this.focusTrap.destroy();\n  }\n\n  ngAfterContentInit() {\n    this.focusTrap.attachAnchors();\n  }\n}\n\n\n/** Directive for trapping focus within a region. */\n@Directive({\n  selector: '[cdkTrapFocus]',\n  exportAs: 'cdkTrapFocus',\n})\nexport class
  CdkTrapFocus implements OnDestroy, AfterContentInit {\n  private _document: Document;\n\n  /** Underlying FocusTrap instance. */\n  focusTrap: FocusTrap;\n\n  /** Previously focused element to restore focus to upon destroy when using autoCapture. */\n  private _previouslyFocusedElement: HTMLElement | null = null;\n\n  /** Whether the focus trap is active. */\n  @Input('cdkTrapFocus')\n  get enabled(): boolean { return this.focusTrap.enabled; }\n  set enabled(value: boolean) { this.focusTrap.enabled = coerceBooleanProperty(value); }\n\n  /**\n   * Whether the directive should automatially move focus into the trapped region upon\n   * initialization and return focus to the previous activeElement upon destruction.\n   */\n  @Input('cdkTrapFocusAutoCapture')\n  get autoCapture(): boolean { return this._autoCapture; }\n  set autoCapture(value: boolean) { this._autoCapture = coerceBooleanProperty(value); }\n  private _autoCapture: boolean;\n\n  constructor(\n      private _elementRef: El
 ementRef,\n      private _focusTrapFactory: FocusTrapFactory,\n      @Inject(DOCUMENT) _document: any) {\n\n    this._document = _document;\n    this.focusTrap = this._focusTrapFactory.create(this._elementRef.nativeElement, true);\n  }\n\n  ngOnDestroy() {\n    this.focusTrap.destroy();\n\n    // If we stored a previously focused element when using autoCapture, return focus to that\n    // element now that the trapped region is being destroyed.\n    if (this._previouslyFocusedElement) {\n      this._previouslyFocusedElement.focus();\n      this._previouslyFocusedElement = null;\n    }\n  }\n\n  ngAfterContentInit() {\n    this.focusTrap.attachAnchors();\n\n    if (this.autoCapture) {\n      this._previouslyFocusedElement = this._document.activeElement as HTMLElement;\n      this.focusTrap.focusInitialElementWhenReady();\n    }\n  }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n *
  found in the LICENSE file at https://angular.io/license\n */\n\nimport {Injectable} from '@angular/core';\nimport {Platform} from '@angular/cdk/platform';\n\n\n// The InteractivityChecker leans heavily on the ally.js accessibility utilities.\n// Methods like `isTabbable` are only covering specific edge-cases for the browsers which are\n// supported.\n\n/**\n * Utility for checking the interactivity of an element, such as whether is is focusable or\n * tabbable.\n */\n@Injectable()\nexport class InteractivityChecker {\n\n  constructor(private _platform: Platform) {}\n\n  /**\n   * Gets whether an element is disabled.\n   *\n   * @param element Element to be checked.\n   * @returns Whether the element is disabled.\n   */\n  isDisabled(element: HTMLElement): boolean {\n    // This does not capture some cases, such as a non-form control with a disabled attribute or\n    // a form control inside of a disabled form, but should capture the most common cases.\n    return element.hasAttribu
 te('disabled');\n  }\n\n  /**\n   * Gets whether an element is visible for the purposes of interactivity.\n   *\n   * This will capture states like `display: none` and `visibility: hidden`, but not things like\n   * being clipped by an `overflow: hidden` parent or being outside the viewport.\n   *\n   * @returns Whether the element is visible.\n   */\n  isVisible(element: HTMLElement): boolean {\n    return hasGeometry(element) && getComputedStyle(element).visibility === 'visible';\n  }\n\n  /**\n   * Gets whether an element can be reached via Tab key.\n   * Assumes that the element has already been checked with isFocusable.\n   *\n   * @param element Element to be checked.\n   * @returns Whether the element is tabbable.\n   */\n  isTabbable(element: HTMLElement): boolean {\n    // Nothing is tabbable on the the server 😎\n    if (!this._platform.isBrowser) {\n      return false;\n    }\n\n    const frameElement = getFrameElement(getWindow(element));\n\n    if (frameElement) {\n  
     const frameType = frameElement && frameElement.nodeName.toLowerCase();\n\n      // Frame elements inherit their tabindex onto all child elements.\n      if (getTabIndexValue(frameElement) === -1) {\n        return false;\n      }\n\n      // Webkit and Blink consider anything inside of an <object> element as non-tabbable.\n      if ((this._platform.BLINK || this._platform.WEBKIT) && frameType === 'object') {\n        return false;\n      }\n\n      // Webkit and Blink disable tabbing to an element inside of an invisible frame.\n      if ((this._platform.BLINK || this._platform.WEBKIT) && !this.isVisible(frameElement)) {\n        return false;\n      }\n\n    }\n\n    let nodeName = element.nodeName.toLowerCase();\n    let tabIndexValue = getTabIndexValue(element);\n\n    if (element.hasAttribute('contenteditable')) {\n      return tabIndexValue !== -1;\n    }\n\n    if (nodeName === 'iframe') {\n      // The frames may be tabbable depending on content, but it's not possibly to r
 eliably\n      // investigate the content of the frames.\n      return false;\n    }\n\n    if (nodeName === 'audio') {\n      if (!element.hasAttribute('controls')) {\n        // By default an <audio> element without the controls enabled is not tabbable.\n        return false;\n      } else if (this._platform.BLINK) {\n        // In Blink <audio controls> elements are always tabbable.\n        return true;\n      }\n    }\n\n    if (nodeName === 'video') {\n      if (!element.hasAttribute('controls') && this._platform.TRIDENT) {\n        // In Trident a <video> element without the controls enabled is not tabbable.\n        return false;\n      } else if (this._platform.BLINK || this._platform.FIREFOX) {\n        // In Chrome and Firefox <video controls> elements are always tabbable.\n        return true;\n      }\n    }\n\n    if (nodeName === 'object' && (this._platform.BLINK || this._platform.WEBKIT)) {\n      // In all Blink and WebKit based browsers <object> elements are never 
 tabbable.\n      return false;\n    }\n\n    // In iOS the browser only considers some specific elements as tabbable.\n    if (this._platform.WEBKIT && this._platform.IOS && !isPotentiallyTabbableIOS(element)) {\n      return false;\n    }\n\n    return element.tabIndex >= 0;\n  }\n\n  /**\n   * Gets whether an element can be focused by the user.\n   *\n   * @param element Element to be checked.\n   * @returns Whether the element is focusable.\n   */\n  isFocusable(element: HTMLElement): boolean {\n    // Perform checks in order of left to most expensive.\n    // Again, naive approach that does not capture many edge cases and browser quirks.\n    return isPotentiallyFocusable(element) && !this.isDisabled(element) && this.isVisible(element);\n  }\n\n}\n\n/**\n * Returns the frame element from a window object. Since browsers like MS Edge throw errors if\n * the frameElement property is being accessed from a different host address, this property\n * should be accessed carefully.\n */\n
 function getFrameElement(window: Window) {\n  try {\n    return window.frameElement as HTMLElement;\n  } catch (e) {\n    return null;\n  }\n}\n\n/** Checks whether the specified element has any geometry / rectangles. */\nfunction hasGeometry(element: HTMLElement): boolean {\n  // Use logic from jQuery to check for an invisible element.\n  // See https://github.com/jquery/jquery/blob/master/src/css/hiddenVisibleSelectors.js#L12\n  return !!(element.offsetWidth || element.offsetHeight ||\n      (typeof element.getClientRects === 'function' && element.getClientRects().length));\n}\n\n/** Gets whether an element's  */\nfunction isNativeFormElement(element: Node) {\n  let nodeName = element.nodeName.toLowerCase();\n  return nodeName === 'input' ||\n      nodeName === 'select' ||\n      nodeName === 'button' ||\n      nodeName === 'textarea';\n}\n\n/** Gets whether an element is an `<input type=\"hidden\">`. */\nfunction isHiddenInput(element: HTMLElement): boolean {\n  return isInputEle
 ment(element) && element.type == 'hidden';\n}\n\n/** Gets whether an element is an anchor that has an href attribute. */\nfunction isAnchorWithHref(element: HTMLElement): boolean {\n  return isAnchorElement(element) && element.hasAttribute('href');\n}\n\n/** Gets whether an element is an input element. */\nfunction isInputElement(element: HTMLElement): element is HTMLInputElement {\n  return element.nodeName.toLowerCase() == 'input';\n}\n\n/** Gets whether an element is an anchor element. */\nfunction isAnchorElement(element: HTMLElement): element is HTMLAnchorElement {\n  return element.nodeName.toLowerCase() == 'a';\n}\n\n/** Gets whether an element has a valid tabindex. */\nfunction hasValidTabIndex(element: HTMLElement): boolean {\n  if (!element.hasAttribute('tabindex') || element.tabIndex === undefined) {\n    return false;\n  }\n\n  let tabIndex = element.getAttribute('tabindex');\n\n  // IE11 parses tabindex=\"\" as the value \"-32768\"\n  if (tabIndex == '-32768') {\n    re
 turn false;\n  }\n\n  return !!(tabIndex && !isNaN(parseInt(tabIndex, 10)));\n}\n\n/**\n * Returns the parsed tabindex from the element attributes instead of returning the\n * evaluated tabindex from the browsers defaults.\n */\nfunction getTabIndexValue(element: HTMLElement): number | null {\n  if (!hasValidTabIndex(element)) {\n    return null;\n  }\n\n  // See browser issue in Gecko https://bugzilla.mozilla.org/show_bug.cgi?id=1128054\n  const tabIndex = parseInt(element.getAttribute('tabindex') || '', 10);\n\n  return isNaN(tabIndex) ? -1 : tabIndex;\n}\n\n/** Checks whether the specified element is potentially tabbable on iOS */\nfunction isPotentiallyTabbableIOS(element: HTMLElement): boolean {\n  let nodeName = element.nodeName.toLowerCase();\n  let inputType = nodeName === 'input' && (element as HTMLInputElement).type;\n\n  return inputType === 'text'\n      || inputType === 'password'\n      || nodeName === 'select'\n      || nodeName === 'textarea';\n}\n\n/**\n * Gets whet
 her an element is potentially focusable without taking current visible/disabled state\n * into account.\n */\nfunction isPotentiallyFocusable(element: HTMLElement): boolean {\n  // Inputs are potentially focusable *unless* they're type=\"hidden\".\n  if (isHiddenInput(element)) {\n    return false;\n  }\n\n  return isNativeFormElement(element) ||\n      isAnchorWithHref(element) ||\n      element.hasAttribute('contenteditable') ||\n      hasValidTabIndex(element);\n}\n\n/** Gets the parent window of a DOM node with regards of being inside of an iframe. */\nfunction getWindow(node: HTMLElement): Window {\n  return node.ownerDocument.defaultView || window;\n}\n"],"names":["observableOf"],"mappings":"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

<TRUNCATED>

[43/59] [abbrv] [partial] nifi-fds git commit: update gh-pages

Posted by sc...@apache.org.
http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/eec354e6/node_modules/@angular/animations/bundles/animations-browser.umd.js
----------------------------------------------------------------------
diff --git a/node_modules/@angular/animations/bundles/animations-browser.umd.js b/node_modules/@angular/animations/bundles/animations-browser.umd.js
new file mode 100644
index 0000000..a4a5e7f
--- /dev/null
+++ b/node_modules/@angular/animations/bundles/animations-browser.umd.js
@@ -0,0 +1,6144 @@
+/**
+ * @license Angular v5.2.0
+ * (c) 2010-2018 Google, Inc. https://angular.io/
+ * License: MIT
+ */
+(function (global, factory) {
+	typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/animations')) :
+	typeof define === 'function' && define.amd ? define('@angular/animations/browser', ['exports', '@angular/animations'], factory) :
+	(factory((global.ng = global.ng || {}, global.ng.animations = global.ng.animations || {}, global.ng.animations.browser = {}),global.ng.animations));
+}(this, (function (exports,_angular_animations) { 'use strict';
+
+/*! *****************************************************************************
+Copyright (c) Microsoft Corporation. All rights reserved.
+Licensed under the Apache License, Version 2.0 (the "License"); you may not use
+this file except in compliance with the License. You may obtain a copy of the
+License at http://www.apache.org/licenses/LICENSE-2.0
+
+THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED
+WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,
+MERCHANTABLITY OR NON-INFRINGEMENT.
+
+See the Apache Version 2.0 License for specific language governing permissions
+and limitations under the License.
+***************************************************************************** */
+/* global Reflect, Promise */
+
+var extendStatics = Object.setPrototypeOf ||
+    ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
+    function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
+
+function __extends(d, b) {
+    extendStatics(d, b);
+    function __() { this.constructor = d; }
+    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
+}
+
+var __assign = Object.assign || function __assign(t) {
+    for (var s, i = 1, n = arguments.length; i < n; i++) {
+        s = arguments[i];
+        for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];
+    }
+    return t;
+};
+
+/**
+ * @license Angular v5.2.0
+ * (c) 2010-2018 Google, Inc. https://angular.io/
+ * License: MIT
+ */
+/**
+ * @fileoverview added by tsickle
+ * @suppress {checkTypes} checked by tsc
+ */
+/**
+ * @param {?} players
+ * @return {?}
+ */
+function optimizeGroupPlayer(players) {
+    switch (players.length) {
+        case 0:
+            return new _angular_animations.NoopAnimationPlayer();
+        case 1:
+            return players[0];
+        default:
+            return new _angular_animations.ɵAnimationGroupPlayer(players);
+    }
+}
+/**
+ * @param {?} driver
+ * @param {?} normalizer
+ * @param {?} element
+ * @param {?} keyframes
+ * @param {?=} preStyles
+ * @param {?=} postStyles
+ * @return {?}
+ */
+function normalizeKeyframes(driver, normalizer, element, keyframes, preStyles, postStyles) {
+    if (preStyles === void 0) { preStyles = {}; }
+    if (postStyles === void 0) { postStyles = {}; }
+    var /** @type {?} */ errors = [];
+    var /** @type {?} */ normalizedKeyframes = [];
+    var /** @type {?} */ previousOffset = -1;
+    var /** @type {?} */ previousKeyframe = null;
+    keyframes.forEach(function (kf) {
+        var /** @type {?} */ offset = /** @type {?} */ (kf['offset']);
+        var /** @type {?} */ isSameOffset = offset == previousOffset;
+        var /** @type {?} */ normalizedKeyframe = (isSameOffset && previousKeyframe) || {};
+        Object.keys(kf).forEach(function (prop) {
+            var /** @type {?} */ normalizedProp = prop;
+            var /** @type {?} */ normalizedValue = kf[prop];
+            if (prop !== 'offset') {
+                normalizedProp = normalizer.normalizePropertyName(normalizedProp, errors);
+                switch (normalizedValue) {
+                    case _angular_animations.ɵPRE_STYLE:
+                        normalizedValue = preStyles[prop];
+                        break;
+                    case _angular_animations.AUTO_STYLE:
+                        normalizedValue = postStyles[prop];
+                        break;
+                    default:
+                        normalizedValue =
+                            normalizer.normalizeStyleValue(prop, normalizedProp, normalizedValue, errors);
+                        break;
+                }
+            }
+            normalizedKeyframe[normalizedProp] = normalizedValue;
+        });
+        if (!isSameOffset) {
+            normalizedKeyframes.push(normalizedKeyframe);
+        }
+        previousKeyframe = normalizedKeyframe;
+        previousOffset = offset;
+    });
+    if (errors.length) {
+        var /** @type {?} */ LINE_START = '\n - ';
+        throw new Error("Unable to animate due to the following errors:" + LINE_START + errors.join(LINE_START));
+    }
+    return normalizedKeyframes;
+}
+/**
+ * @param {?} player
+ * @param {?} eventName
+ * @param {?} event
+ * @param {?} callback
+ * @return {?}
+ */
+function listenOnPlayer(player, eventName, event, callback) {
+    switch (eventName) {
+        case 'start':
+            player.onStart(function () { return callback(event && copyAnimationEvent(event, 'start', player.totalTime)); });
+            break;
+        case 'done':
+            player.onDone(function () { return callback(event && copyAnimationEvent(event, 'done', player.totalTime)); });
+            break;
+        case 'destroy':
+            player.onDestroy(function () { return callback(event && copyAnimationEvent(event, 'destroy', player.totalTime)); });
+            break;
+    }
+}
+/**
+ * @param {?} e
+ * @param {?=} phaseName
+ * @param {?=} totalTime
+ * @return {?}
+ */
+function copyAnimationEvent(e, phaseName, totalTime) {
+    var /** @type {?} */ event = makeAnimationEvent(e.element, e.triggerName, e.fromState, e.toState, phaseName || e.phaseName, totalTime == undefined ? e.totalTime : totalTime);
+    var /** @type {?} */ data = (/** @type {?} */ (e))['_data'];
+    if (data != null) {
+        (/** @type {?} */ (event))['_data'] = data;
+    }
+    return event;
+}
+/**
+ * @param {?} element
+ * @param {?} triggerName
+ * @param {?} fromState
+ * @param {?} toState
+ * @param {?=} phaseName
+ * @param {?=} totalTime
+ * @return {?}
+ */
+function makeAnimationEvent(element, triggerName, fromState, toState, phaseName, totalTime) {
+    if (phaseName === void 0) { phaseName = ''; }
+    if (totalTime === void 0) { totalTime = 0; }
+    return { element: element, triggerName: triggerName, fromState: fromState, toState: toState, phaseName: phaseName, totalTime: totalTime };
+}
+/**
+ * @param {?} map
+ * @param {?} key
+ * @param {?} defaultValue
+ * @return {?}
+ */
+function getOrSetAsInMap(map, key, defaultValue) {
+    var /** @type {?} */ value;
+    if (map instanceof Map) {
+        value = map.get(key);
+        if (!value) {
+            map.set(key, value = defaultValue);
+        }
+    }
+    else {
+        value = map[key];
+        if (!value) {
+            value = map[key] = defaultValue;
+        }
+    }
+    return value;
+}
+/**
+ * @param {?} command
+ * @return {?}
+ */
+function parseTimelineCommand(command) {
+    var /** @type {?} */ separatorPos = command.indexOf(':');
+    var /** @type {?} */ id = command.substring(1, separatorPos);
+    var /** @type {?} */ action = command.substr(separatorPos + 1);
+    return [id, action];
+}
+var _contains = function (elm1, elm2) { return false; };
+var _matches = function (element, selector) {
+    return false;
+};
+var _query = function (element, selector, multi) {
+    return [];
+};
+if (typeof Element != 'undefined') {
+    // this is well supported in all browsers
+    _contains = function (elm1, elm2) { return /** @type {?} */ (elm1.contains(elm2)); };
+    if (Element.prototype.matches) {
+        _matches = function (element, selector) { return element.matches(selector); };
+    }
+    else {
+        var /** @type {?} */ proto = /** @type {?} */ (Element.prototype);
+        var /** @type {?} */ fn_1 = proto.matchesSelector || proto.mozMatchesSelector || proto.msMatchesSelector ||
+            proto.oMatchesSelector || proto.webkitMatchesSelector;
+        if (fn_1) {
+            _matches = function (element, selector) { return fn_1.apply(element, [selector]); };
+        }
+    }
+    _query = function (element, selector, multi) {
+        var /** @type {?} */ results = [];
+        if (multi) {
+            results.push.apply(results, element.querySelectorAll(selector));
+        }
+        else {
+            var /** @type {?} */ elm = element.querySelector(selector);
+            if (elm) {
+                results.push(elm);
+            }
+        }
+        return results;
+    };
+}
+/**
+ * @param {?} prop
+ * @return {?}
+ */
+function containsVendorPrefix(prop) {
+    // Webkit is the only real popular vendor prefix nowadays
+    // cc: http://shouldiprefix.com/
+    return prop.substring(1, 6) == 'ebkit'; // webkit or Webkit
+}
+var _CACHED_BODY = null;
+var _IS_WEBKIT = false;
+/**
+ * @param {?} prop
+ * @return {?}
+ */
+function validateStyleProperty(prop) {
+    if (!_CACHED_BODY) {
+        _CACHED_BODY = getBodyNode() || {};
+        _IS_WEBKIT = /** @type {?} */ ((_CACHED_BODY)).style ? ('WebkitAppearance' in /** @type {?} */ ((_CACHED_BODY)).style) : false;
+    }
+    var /** @type {?} */ result = true;
+    if (/** @type {?} */ ((_CACHED_BODY)).style && !containsVendorPrefix(prop)) {
+        result = prop in /** @type {?} */ ((_CACHED_BODY)).style;
+        if (!result && _IS_WEBKIT) {
+            var /** @type {?} */ camelProp = 'Webkit' + prop.charAt(0).toUpperCase() + prop.substr(1);
+            result = camelProp in /** @type {?} */ ((_CACHED_BODY)).style;
+        }
+    }
+    return result;
+}
+/**
+ * @return {?}
+ */
+function getBodyNode() {
+    if (typeof document != 'undefined') {
+        return document.body;
+    }
+    return null;
+}
+var matchesElement = _matches;
+var containsElement = _contains;
+var invokeQuery = _query;
+
+/**
+ * @fileoverview added by tsickle
+ * @suppress {checkTypes} checked by tsc
+ */
+/**
+ * \@experimental
+ */
+var NoopAnimationDriver = /** @class */ (function () {
+    function NoopAnimationDriver() {
+    }
+    /**
+     * @param {?} prop
+     * @return {?}
+     */
+    NoopAnimationDriver.prototype.validateStyleProperty = /**
+     * @param {?} prop
+     * @return {?}
+     */
+    function (prop) { return validateStyleProperty(prop); };
+    /**
+     * @param {?} element
+     * @param {?} selector
+     * @return {?}
+     */
+    NoopAnimationDriver.prototype.matchesElement = /**
+     * @param {?} element
+     * @param {?} selector
+     * @return {?}
+     */
+    function (element, selector) {
+        return matchesElement(element, selector);
+    };
+    /**
+     * @param {?} elm1
+     * @param {?} elm2
+     * @return {?}
+     */
+    NoopAnimationDriver.prototype.containsElement = /**
+     * @param {?} elm1
+     * @param {?} elm2
+     * @return {?}
+     */
+    function (elm1, elm2) { return containsElement(elm1, elm2); };
+    /**
+     * @param {?} element
+     * @param {?} selector
+     * @param {?} multi
+     * @return {?}
+     */
+    NoopAnimationDriver.prototype.query = /**
+     * @param {?} element
+     * @param {?} selector
+     * @param {?} multi
+     * @return {?}
+     */
+    function (element, selector, multi) {
+        return invokeQuery(element, selector, multi);
+    };
+    /**
+     * @param {?} element
+     * @param {?} prop
+     * @param {?=} defaultValue
+     * @return {?}
+     */
+    NoopAnimationDriver.prototype.computeStyle = /**
+     * @param {?} element
+     * @param {?} prop
+     * @param {?=} defaultValue
+     * @return {?}
+     */
+    function (element, prop, defaultValue) {
+        return defaultValue || '';
+    };
+    /**
+     * @param {?} element
+     * @param {?} keyframes
+     * @param {?} duration
+     * @param {?} delay
+     * @param {?} easing
+     * @param {?=} previousPlayers
+     * @return {?}
+     */
+    NoopAnimationDriver.prototype.animate = /**
+     * @param {?} element
+     * @param {?} keyframes
+     * @param {?} duration
+     * @param {?} delay
+     * @param {?} easing
+     * @param {?=} previousPlayers
+     * @return {?}
+     */
+    function (element, keyframes, duration, delay, easing, previousPlayers) {
+        if (previousPlayers === void 0) { previousPlayers = []; }
+        return new _angular_animations.NoopAnimationPlayer();
+    };
+    return NoopAnimationDriver;
+}());
+/**
+ * \@experimental
+ * @abstract
+ */
+var AnimationDriver = /** @class */ (function () {
+    function AnimationDriver() {
+    }
+    AnimationDriver.NOOP = new NoopAnimationDriver();
+    return AnimationDriver;
+}());
+
+/**
+ * @fileoverview added by tsickle
+ * @suppress {checkTypes} checked by tsc
+ */
+var ONE_SECOND = 1000;
+var SUBSTITUTION_EXPR_START = '{{';
+var SUBSTITUTION_EXPR_END = '}}';
+var ENTER_CLASSNAME = 'ng-enter';
+var LEAVE_CLASSNAME = 'ng-leave';
+
+
+var NG_TRIGGER_CLASSNAME = 'ng-trigger';
+var NG_TRIGGER_SELECTOR = '.ng-trigger';
+var NG_ANIMATING_CLASSNAME = 'ng-animating';
+var NG_ANIMATING_SELECTOR = '.ng-animating';
+/**
+ * @param {?} value
+ * @return {?}
+ */
+function resolveTimingValue(value) {
+    if (typeof value == 'number')
+        return value;
+    var /** @type {?} */ matches = (/** @type {?} */ (value)).match(/^(-?[\.\d]+)(m?s)/);
+    if (!matches || matches.length < 2)
+        return 0;
+    return _convertTimeValueToMS(parseFloat(matches[1]), matches[2]);
+}
+/**
+ * @param {?} value
+ * @param {?} unit
+ * @return {?}
+ */
+function _convertTimeValueToMS(value, unit) {
+    switch (unit) {
+        case 's':
+            return value * ONE_SECOND;
+        default:
+            // ms or something else
+            return value;
+    }
+}
+/**
+ * @param {?} timings
+ * @param {?} errors
+ * @param {?=} allowNegativeValues
+ * @return {?}
+ */
+function resolveTiming(timings, errors, allowNegativeValues) {
+    return timings.hasOwnProperty('duration') ? /** @type {?} */ (timings) :
+        parseTimeExpression(/** @type {?} */ (timings), errors, allowNegativeValues);
+}
+/**
+ * @param {?} exp
+ * @param {?} errors
+ * @param {?=} allowNegativeValues
+ * @return {?}
+ */
+function parseTimeExpression(exp, errors, allowNegativeValues) {
+    var /** @type {?} */ regex = /^(-?[\.\d]+)(m?s)(?:\s+(-?[\.\d]+)(m?s))?(?:\s+([-a-z]+(?:\(.+?\))?))?$/i;
+    var /** @type {?} */ duration;
+    var /** @type {?} */ delay = 0;
+    var /** @type {?} */ easing = '';
+    if (typeof exp === 'string') {
+        var /** @type {?} */ matches = exp.match(regex);
+        if (matches === null) {
+            errors.push("The provided timing value \"" + exp + "\" is invalid.");
+            return { duration: 0, delay: 0, easing: '' };
+        }
+        duration = _convertTimeValueToMS(parseFloat(matches[1]), matches[2]);
+        var /** @type {?} */ delayMatch = matches[3];
+        if (delayMatch != null) {
+            delay = _convertTimeValueToMS(Math.floor(parseFloat(delayMatch)), matches[4]);
+        }
+        var /** @type {?} */ easingVal = matches[5];
+        if (easingVal) {
+            easing = easingVal;
+        }
+    }
+    else {
+        duration = /** @type {?} */ (exp);
+    }
+    if (!allowNegativeValues) {
+        var /** @type {?} */ containsErrors = false;
+        var /** @type {?} */ startIndex = errors.length;
+        if (duration < 0) {
+            errors.push("Duration values below 0 are not allowed for this animation step.");
+            containsErrors = true;
+        }
+        if (delay < 0) {
+            errors.push("Delay values below 0 are not allowed for this animation step.");
+            containsErrors = true;
+        }
+        if (containsErrors) {
+            errors.splice(startIndex, 0, "The provided timing value \"" + exp + "\" is invalid.");
+        }
+    }
+    return { duration: duration, delay: delay, easing: easing };
+}
+/**
+ * @param {?} obj
+ * @param {?=} destination
+ * @return {?}
+ */
+function copyObj(obj, destination) {
+    if (destination === void 0) { destination = {}; }
+    Object.keys(obj).forEach(function (prop) { destination[prop] = obj[prop]; });
+    return destination;
+}
+/**
+ * @param {?} styles
+ * @return {?}
+ */
+function normalizeStyles(styles) {
+    var /** @type {?} */ normalizedStyles = {};
+    if (Array.isArray(styles)) {
+        styles.forEach(function (data) { return copyStyles(data, false, normalizedStyles); });
+    }
+    else {
+        copyStyles(styles, false, normalizedStyles);
+    }
+    return normalizedStyles;
+}
+/**
+ * @param {?} styles
+ * @param {?} readPrototype
+ * @param {?=} destination
+ * @return {?}
+ */
+function copyStyles(styles, readPrototype, destination) {
+    if (destination === void 0) { destination = {}; }
+    if (readPrototype) {
+        // we make use of a for-in loop so that the
+        // prototypically inherited properties are
+        // revealed from the backFill map
+        for (var /** @type {?} */ prop in styles) {
+            destination[prop] = styles[prop];
+        }
+    }
+    else {
+        copyObj(styles, destination);
+    }
+    return destination;
+}
+/**
+ * @param {?} element
+ * @param {?} styles
+ * @return {?}
+ */
+function setStyles(element, styles) {
+    if (element['style']) {
+        Object.keys(styles).forEach(function (prop) {
+            var /** @type {?} */ camelProp = dashCaseToCamelCase(prop);
+            element.style[camelProp] = styles[prop];
+        });
+    }
+}
+/**
+ * @param {?} element
+ * @param {?} styles
+ * @return {?}
+ */
+function eraseStyles(element, styles) {
+    if (element['style']) {
+        Object.keys(styles).forEach(function (prop) {
+            var /** @type {?} */ camelProp = dashCaseToCamelCase(prop);
+            element.style[camelProp] = '';
+        });
+    }
+}
+/**
+ * @param {?} steps
+ * @return {?}
+ */
+function normalizeAnimationEntry(steps) {
+    if (Array.isArray(steps)) {
+        if (steps.length == 1)
+            return steps[0];
+        return _angular_animations.sequence(steps);
+    }
+    return /** @type {?} */ (steps);
+}
+/**
+ * @param {?} value
+ * @param {?} options
+ * @param {?} errors
+ * @return {?}
+ */
+function validateStyleParams(value, options, errors) {
+    var /** @type {?} */ params = options.params || {};
+    var /** @type {?} */ matches = extractStyleParams(value);
+    if (matches.length) {
+        matches.forEach(function (varName) {
+            if (!params.hasOwnProperty(varName)) {
+                errors.push("Unable to resolve the local animation param " + varName + " in the given list of values");
+            }
+        });
+    }
+}
+var PARAM_REGEX = new RegExp(SUBSTITUTION_EXPR_START + "\\s*(.+?)\\s*" + SUBSTITUTION_EXPR_END, 'g');
+/**
+ * @param {?} value
+ * @return {?}
+ */
+function extractStyleParams(value) {
+    var /** @type {?} */ params = [];
+    if (typeof value === 'string') {
+        var /** @type {?} */ val = value.toString();
+        var /** @type {?} */ match = void 0;
+        while (match = PARAM_REGEX.exec(val)) {
+            params.push(/** @type {?} */ (match[1]));
+        }
+        PARAM_REGEX.lastIndex = 0;
+    }
+    return params;
+}
+/**
+ * @param {?} value
+ * @param {?} params
+ * @param {?} errors
+ * @return {?}
+ */
+function interpolateParams(value, params, errors) {
+    var /** @type {?} */ original = value.toString();
+    var /** @type {?} */ str = original.replace(PARAM_REGEX, function (_, varName) {
+        var /** @type {?} */ localVal = params[varName];
+        // this means that the value was never overidden by the data passed in by the user
+        if (!params.hasOwnProperty(varName)) {
+            errors.push("Please provide a value for the animation param " + varName);
+            localVal = '';
+        }
+        return localVal.toString();
+    });
+    // we do this to assert that numeric values stay as they are
+    return str == original ? value : str;
+}
+/**
+ * @param {?} iterator
+ * @return {?}
+ */
+function iteratorToArray(iterator) {
+    var /** @type {?} */ arr = [];
+    var /** @type {?} */ item = iterator.next();
+    while (!item.done) {
+        arr.push(item.value);
+        item = iterator.next();
+    }
+    return arr;
+}
+/**
+ * @param {?} source
+ * @param {?} destination
+ * @return {?}
+ */
+
+var DASH_CASE_REGEXP = /-+([a-z0-9])/g;
+/**
+ * @param {?} input
+ * @return {?}
+ */
+function dashCaseToCamelCase(input) {
+    return input.replace(DASH_CASE_REGEXP, function () {
+        var m = [];
+        for (var _i = 0; _i < arguments.length; _i++) {
+            m[_i] = arguments[_i];
+        }
+        return m[1].toUpperCase();
+    });
+}
+/**
+ * @param {?} duration
+ * @param {?} delay
+ * @return {?}
+ */
+function allowPreviousPlayerStylesMerge(duration, delay) {
+    return duration === 0 || delay === 0;
+}
+/**
+ * @param {?} visitor
+ * @param {?} node
+ * @param {?} context
+ * @return {?}
+ */
+function visitDslNode(visitor, node, context) {
+    switch (node.type) {
+        case 7 /* Trigger */:
+            return visitor.visitTrigger(node, context);
+        case 0 /* State */:
+            return visitor.visitState(node, context);
+        case 1 /* Transition */:
+            return visitor.visitTransition(node, context);
+        case 2 /* Sequence */:
+            return visitor.visitSequence(node, context);
+        case 3 /* Group */:
+            return visitor.visitGroup(node, context);
+        case 4 /* Animate */:
+            return visitor.visitAnimate(node, context);
+        case 5 /* Keyframes */:
+            return visitor.visitKeyframes(node, context);
+        case 6 /* Style */:
+            return visitor.visitStyle(node, context);
+        case 8 /* Reference */:
+            return visitor.visitReference(node, context);
+        case 9 /* AnimateChild */:
+            return visitor.visitAnimateChild(node, context);
+        case 10 /* AnimateRef */:
+            return visitor.visitAnimateRef(node, context);
+        case 11 /* Query */:
+            return visitor.visitQuery(node, context);
+        case 12 /* Stagger */:
+            return visitor.visitStagger(node, context);
+        default:
+            throw new Error("Unable to resolve animation metadata node #" + node.type);
+    }
+}
+
+/**
+ * @fileoverview added by tsickle
+ * @suppress {checkTypes} checked by tsc
+ */
+/**
+ * @license
+ * Copyright Google Inc. All Rights Reserved.
+ *
+ * Use of this source code is governed by an MIT-style license that can be
+ * found in the LICENSE file at https://angular.io/license
+ */
+var ANY_STATE = '*';
+/**
+ * @param {?} transitionValue
+ * @param {?} errors
+ * @return {?}
+ */
+function parseTransitionExpr(transitionValue, errors) {
+    var /** @type {?} */ expressions = [];
+    if (typeof transitionValue == 'string') {
+        (/** @type {?} */ (transitionValue))
+            .split(/\s*,\s*/)
+            .forEach(function (str) { return parseInnerTransitionStr(str, expressions, errors); });
+    }
+    else {
+        expressions.push(/** @type {?} */ (transitionValue));
+    }
+    return expressions;
+}
+/**
+ * @param {?} eventStr
+ * @param {?} expressions
+ * @param {?} errors
+ * @return {?}
+ */
+function parseInnerTransitionStr(eventStr, expressions, errors) {
+    if (eventStr[0] == ':') {
+        var /** @type {?} */ result = parseAnimationAlias(eventStr, errors);
+        if (typeof result == 'function') {
+            expressions.push(result);
+            return;
+        }
+        eventStr = /** @type {?} */ (result);
+    }
+    var /** @type {?} */ match = eventStr.match(/^(\*|[-\w]+)\s*(<?[=-]>)\s*(\*|[-\w]+)$/);
+    if (match == null || match.length < 4) {
+        errors.push("The provided transition expression \"" + eventStr + "\" is not supported");
+        return expressions;
+    }
+    var /** @type {?} */ fromState = match[1];
+    var /** @type {?} */ separator = match[2];
+    var /** @type {?} */ toState = match[3];
+    expressions.push(makeLambdaFromStates(fromState, toState));
+    var /** @type {?} */ isFullAnyStateExpr = fromState == ANY_STATE && toState == ANY_STATE;
+    if (separator[0] == '<' && !isFullAnyStateExpr) {
+        expressions.push(makeLambdaFromStates(toState, fromState));
+    }
+}
+/**
+ * @param {?} alias
+ * @param {?} errors
+ * @return {?}
+ */
+function parseAnimationAlias(alias, errors) {
+    switch (alias) {
+        case ':enter':
+            return 'void => *';
+        case ':leave':
+            return '* => void';
+        case ':increment':
+            return function (fromState, toState) { return parseFloat(toState) > parseFloat(fromState); };
+        case ':decrement':
+            return function (fromState, toState) { return parseFloat(toState) < parseFloat(fromState); };
+        default:
+            errors.push("The transition alias value \"" + alias + "\" is not supported");
+            return '* => *';
+    }
+}
+// DO NOT REFACTOR ... keep the follow set instantiations
+// with the values intact (closure compiler for some reason
+// removes follow-up lines that add the values outside of
+// the constructor...
+var TRUE_BOOLEAN_VALUES = new Set(['true', '1']);
+var FALSE_BOOLEAN_VALUES = new Set(['false', '0']);
+/**
+ * @param {?} lhs
+ * @param {?} rhs
+ * @return {?}
+ */
+function makeLambdaFromStates(lhs, rhs) {
+    var /** @type {?} */ LHS_MATCH_BOOLEAN = TRUE_BOOLEAN_VALUES.has(lhs) || FALSE_BOOLEAN_VALUES.has(lhs);
+    var /** @type {?} */ RHS_MATCH_BOOLEAN = TRUE_BOOLEAN_VALUES.has(rhs) || FALSE_BOOLEAN_VALUES.has(rhs);
+    return function (fromState, toState) {
+        var /** @type {?} */ lhsMatch = lhs == ANY_STATE || lhs == fromState;
+        var /** @type {?} */ rhsMatch = rhs == ANY_STATE || rhs == toState;
+        if (!lhsMatch && LHS_MATCH_BOOLEAN && typeof fromState === 'boolean') {
+            lhsMatch = fromState ? TRUE_BOOLEAN_VALUES.has(lhs) : FALSE_BOOLEAN_VALUES.has(lhs);
+        }
+        if (!rhsMatch && RHS_MATCH_BOOLEAN && typeof toState === 'boolean') {
+            rhsMatch = toState ? TRUE_BOOLEAN_VALUES.has(rhs) : FALSE_BOOLEAN_VALUES.has(rhs);
+        }
+        return lhsMatch && rhsMatch;
+    };
+}
+
+/**
+ * @fileoverview added by tsickle
+ * @suppress {checkTypes} checked by tsc
+ */
+var SELF_TOKEN = ':self';
+var SELF_TOKEN_REGEX = new RegExp("s*" + SELF_TOKEN + "s*,?", 'g');
+/**
+ * @param {?} driver
+ * @param {?} metadata
+ * @param {?} errors
+ * @return {?}
+ */
+function buildAnimationAst(driver, metadata, errors) {
+    return new AnimationAstBuilderVisitor(driver).build(metadata, errors);
+}
+var ROOT_SELECTOR = '';
+var AnimationAstBuilderVisitor = /** @class */ (function () {
+    function AnimationAstBuilderVisitor(_driver) {
+        this._driver = _driver;
+    }
+    /**
+     * @param {?} metadata
+     * @param {?} errors
+     * @return {?}
+     */
+    AnimationAstBuilderVisitor.prototype.build = /**
+     * @param {?} metadata
+     * @param {?} errors
+     * @return {?}
+     */
+    function (metadata, errors) {
+        var /** @type {?} */ context = new AnimationAstBuilderContext(errors);
+        this._resetContextStyleTimingState(context);
+        return /** @type {?} */ (visitDslNode(this, normalizeAnimationEntry(metadata), context));
+    };
+    /**
+     * @param {?} context
+     * @return {?}
+     */
+    AnimationAstBuilderVisitor.prototype._resetContextStyleTimingState = /**
+     * @param {?} context
+     * @return {?}
+     */
+    function (context) {
+        context.currentQuerySelector = ROOT_SELECTOR;
+        context.collectedStyles = {};
+        context.collectedStyles[ROOT_SELECTOR] = {};
+        context.currentTime = 0;
+    };
+    /**
+     * @param {?} metadata
+     * @param {?} context
+     * @return {?}
+     */
+    AnimationAstBuilderVisitor.prototype.visitTrigger = /**
+     * @param {?} metadata
+     * @param {?} context
+     * @return {?}
+     */
+    function (metadata, context) {
+        var _this = this;
+        var /** @type {?} */ queryCount = context.queryCount = 0;
+        var /** @type {?} */ depCount = context.depCount = 0;
+        var /** @type {?} */ states = [];
+        var /** @type {?} */ transitions = [];
+        if (metadata.name.charAt(0) == '@') {
+            context.errors.push('animation triggers cannot be prefixed with an `@` sign (e.g. trigger(\'@foo\', [...]))');
+        }
+        metadata.definitions.forEach(function (def) {
+            _this._resetContextStyleTimingState(context);
+            if (def.type == 0 /* State */) {
+                var /** @type {?} */ stateDef_1 = /** @type {?} */ (def);
+                var /** @type {?} */ name_1 = stateDef_1.name;
+                name_1.split(/\s*,\s*/).forEach(function (n) {
+                    stateDef_1.name = n;
+                    states.push(_this.visitState(stateDef_1, context));
+                });
+                stateDef_1.name = name_1;
+            }
+            else if (def.type == 1 /* Transition */) {
+                var /** @type {?} */ transition = _this.visitTransition(/** @type {?} */ (def), context);
+                queryCount += transition.queryCount;
+                depCount += transition.depCount;
+                transitions.push(transition);
+            }
+            else {
+                context.errors.push('only state() and transition() definitions can sit inside of a trigger()');
+            }
+        });
+        return {
+            type: 7 /* Trigger */,
+            name: metadata.name, states: states, transitions: transitions, queryCount: queryCount, depCount: depCount,
+            options: null
+        };
+    };
+    /**
+     * @param {?} metadata
+     * @param {?} context
+     * @return {?}
+     */
+    AnimationAstBuilderVisitor.prototype.visitState = /**
+     * @param {?} metadata
+     * @param {?} context
+     * @return {?}
+     */
+    function (metadata, context) {
+        var /** @type {?} */ styleAst = this.visitStyle(metadata.styles, context);
+        var /** @type {?} */ astParams = (metadata.options && metadata.options.params) || null;
+        if (styleAst.containsDynamicStyles) {
+            var /** @type {?} */ missingSubs_1 = new Set();
+            var /** @type {?} */ params_1 = astParams || {};
+            styleAst.styles.forEach(function (value) {
+                if (isObject(value)) {
+                    var /** @type {?} */ stylesObj_1 = /** @type {?} */ (value);
+                    Object.keys(stylesObj_1).forEach(function (prop) {
+                        extractStyleParams(stylesObj_1[prop]).forEach(function (sub) {
+                            if (!params_1.hasOwnProperty(sub)) {
+                                missingSubs_1.add(sub);
+                            }
+                        });
+                    });
+                }
+            });
+            if (missingSubs_1.size) {
+                var /** @type {?} */ missingSubsArr = iteratorToArray(missingSubs_1.values());
+                context.errors.push("state(\"" + metadata.name + "\", ...) must define default values for all the following style substitutions: " + missingSubsArr.join(', '));
+            }
+        }
+        return {
+            type: 0 /* State */,
+            name: metadata.name,
+            style: styleAst,
+            options: astParams ? { params: astParams } : null
+        };
+    };
+    /**
+     * @param {?} metadata
+     * @param {?} context
+     * @return {?}
+     */
+    AnimationAstBuilderVisitor.prototype.visitTransition = /**
+     * @param {?} metadata
+     * @param {?} context
+     * @return {?}
+     */
+    function (metadata, context) {
+        context.queryCount = 0;
+        context.depCount = 0;
+        var /** @type {?} */ animation = visitDslNode(this, normalizeAnimationEntry(metadata.animation), context);
+        var /** @type {?} */ matchers = parseTransitionExpr(metadata.expr, context.errors);
+        return {
+            type: 1 /* Transition */,
+            matchers: matchers,
+            animation: animation,
+            queryCount: context.queryCount,
+            depCount: context.depCount,
+            options: normalizeAnimationOptions(metadata.options)
+        };
+    };
+    /**
+     * @param {?} metadata
+     * @param {?} context
+     * @return {?}
+     */
+    AnimationAstBuilderVisitor.prototype.visitSequence = /**
+     * @param {?} metadata
+     * @param {?} context
+     * @return {?}
+     */
+    function (metadata, context) {
+        var _this = this;
+        return {
+            type: 2 /* Sequence */,
+            steps: metadata.steps.map(function (s) { return visitDslNode(_this, s, context); }),
+            options: normalizeAnimationOptions(metadata.options)
+        };
+    };
+    /**
+     * @param {?} metadata
+     * @param {?} context
+     * @return {?}
+     */
+    AnimationAstBuilderVisitor.prototype.visitGroup = /**
+     * @param {?} metadata
+     * @param {?} context
+     * @return {?}
+     */
+    function (metadata, context) {
+        var _this = this;
+        var /** @type {?} */ currentTime = context.currentTime;
+        var /** @type {?} */ furthestTime = 0;
+        var /** @type {?} */ steps = metadata.steps.map(function (step) {
+            context.currentTime = currentTime;
+            var /** @type {?} */ innerAst = visitDslNode(_this, step, context);
+            furthestTime = Math.max(furthestTime, context.currentTime);
+            return innerAst;
+        });
+        context.currentTime = furthestTime;
+        return {
+            type: 3 /* Group */,
+            steps: steps,
+            options: normalizeAnimationOptions(metadata.options)
+        };
+    };
+    /**
+     * @param {?} metadata
+     * @param {?} context
+     * @return {?}
+     */
+    AnimationAstBuilderVisitor.prototype.visitAnimate = /**
+     * @param {?} metadata
+     * @param {?} context
+     * @return {?}
+     */
+    function (metadata, context) {
+        var /** @type {?} */ timingAst = constructTimingAst(metadata.timings, context.errors);
+        context.currentAnimateTimings = timingAst;
+        var /** @type {?} */ styleAst;
+        var /** @type {?} */ styleMetadata = metadata.styles ? metadata.styles : _angular_animations.style({});
+        if (styleMetadata.type == 5 /* Keyframes */) {
+            styleAst = this.visitKeyframes(/** @type {?} */ (styleMetadata), context);
+        }
+        else {
+            var /** @type {?} */ styleMetadata_1 = /** @type {?} */ (metadata.styles);
+            var /** @type {?} */ isEmpty = false;
+            if (!styleMetadata_1) {
+                isEmpty = true;
+                var /** @type {?} */ newStyleData = {};
+                if (timingAst.easing) {
+                    newStyleData['easing'] = timingAst.easing;
+                }
+                styleMetadata_1 = _angular_animations.style(newStyleData);
+            }
+            context.currentTime += timingAst.duration + timingAst.delay;
+            var /** @type {?} */ _styleAst = this.visitStyle(styleMetadata_1, context);
+            _styleAst.isEmptyStep = isEmpty;
+            styleAst = _styleAst;
+        }
+        context.currentAnimateTimings = null;
+        return {
+            type: 4 /* Animate */,
+            timings: timingAst,
+            style: styleAst,
+            options: null
+        };
+    };
+    /**
+     * @param {?} metadata
+     * @param {?} context
+     * @return {?}
+     */
+    AnimationAstBuilderVisitor.prototype.visitStyle = /**
+     * @param {?} metadata
+     * @param {?} context
+     * @return {?}
+     */
+    function (metadata, context) {
+        var /** @type {?} */ ast = this._makeStyleAst(metadata, context);
+        this._validateStyleAst(ast, context);
+        return ast;
+    };
+    /**
+     * @param {?} metadata
+     * @param {?} context
+     * @return {?}
+     */
+    AnimationAstBuilderVisitor.prototype._makeStyleAst = /**
+     * @param {?} metadata
+     * @param {?} context
+     * @return {?}
+     */
+    function (metadata, context) {
+        var /** @type {?} */ styles = [];
+        if (Array.isArray(metadata.styles)) {
+            (/** @type {?} */ (metadata.styles)).forEach(function (styleTuple) {
+                if (typeof styleTuple == 'string') {
+                    if (styleTuple == _angular_animations.AUTO_STYLE) {
+                        styles.push(/** @type {?} */ (styleTuple));
+                    }
+                    else {
+                        context.errors.push("The provided style string value " + styleTuple + " is not allowed.");
+                    }
+                }
+                else {
+                    styles.push(/** @type {?} */ (styleTuple));
+                }
+            });
+        }
+        else {
+            styles.push(metadata.styles);
+        }
+        var /** @type {?} */ containsDynamicStyles = false;
+        var /** @type {?} */ collectedEasing = null;
+        styles.forEach(function (styleData) {
+            if (isObject(styleData)) {
+                var /** @type {?} */ styleMap = /** @type {?} */ (styleData);
+                var /** @type {?} */ easing = styleMap['easing'];
+                if (easing) {
+                    collectedEasing = /** @type {?} */ (easing);
+                    delete styleMap['easing'];
+                }
+                if (!containsDynamicStyles) {
+                    for (var /** @type {?} */ prop in styleMap) {
+                        var /** @type {?} */ value = styleMap[prop];
+                        if (value.toString().indexOf(SUBSTITUTION_EXPR_START) >= 0) {
+                            containsDynamicStyles = true;
+                            break;
+                        }
+                    }
+                }
+            }
+        });
+        return {
+            type: 6 /* Style */,
+            styles: styles,
+            easing: collectedEasing,
+            offset: metadata.offset, containsDynamicStyles: containsDynamicStyles,
+            options: null
+        };
+    };
+    /**
+     * @param {?} ast
+     * @param {?} context
+     * @return {?}
+     */
+    AnimationAstBuilderVisitor.prototype._validateStyleAst = /**
+     * @param {?} ast
+     * @param {?} context
+     * @return {?}
+     */
+    function (ast, context) {
+        var _this = this;
+        var /** @type {?} */ timings = context.currentAnimateTimings;
+        var /** @type {?} */ endTime = context.currentTime;
+        var /** @type {?} */ startTime = context.currentTime;
+        if (timings && startTime > 0) {
+            startTime -= timings.duration + timings.delay;
+        }
+        ast.styles.forEach(function (tuple) {
+            if (typeof tuple == 'string')
+                return;
+            Object.keys(tuple).forEach(function (prop) {
+                if (!_this._driver.validateStyleProperty(prop)) {
+                    context.errors.push("The provided animation property \"" + prop + "\" is not a supported CSS property for animations");
+                    return;
+                }
+                var /** @type {?} */ collectedStyles = context.collectedStyles[/** @type {?} */ ((context.currentQuerySelector))];
+                var /** @type {?} */ collectedEntry = collectedStyles[prop];
+                var /** @type {?} */ updateCollectedStyle = true;
+                if (collectedEntry) {
+                    if (startTime != endTime && startTime >= collectedEntry.startTime &&
+                        endTime <= collectedEntry.endTime) {
+                        context.errors.push("The CSS property \"" + prop + "\" that exists between the times of \"" + collectedEntry.startTime + "ms\" and \"" + collectedEntry.endTime + "ms\" is also being animated in a parallel animation between the times of \"" + startTime + "ms\" and \"" + endTime + "ms\"");
+                        updateCollectedStyle = false;
+                    }
+                    // we always choose the smaller start time value since we
+                    // want to have a record of the entire animation window where
+                    // the style property is being animated in between
+                    startTime = collectedEntry.startTime;
+                }
+                if (updateCollectedStyle) {
+                    collectedStyles[prop] = { startTime: startTime, endTime: endTime };
+                }
+                if (context.options) {
+                    validateStyleParams(tuple[prop], context.options, context.errors);
+                }
+            });
+        });
+    };
+    /**
+     * @param {?} metadata
+     * @param {?} context
+     * @return {?}
+     */
+    AnimationAstBuilderVisitor.prototype.visitKeyframes = /**
+     * @param {?} metadata
+     * @param {?} context
+     * @return {?}
+     */
+    function (metadata, context) {
+        var _this = this;
+        var /** @type {?} */ ast = { type: 5 /* Keyframes */, styles: [], options: null };
+        if (!context.currentAnimateTimings) {
+            context.errors.push("keyframes() must be placed inside of a call to animate()");
+            return ast;
+        }
+        var /** @type {?} */ MAX_KEYFRAME_OFFSET = 1;
+        var /** @type {?} */ totalKeyframesWithOffsets = 0;
+        var /** @type {?} */ offsets = [];
+        var /** @type {?} */ offsetsOutOfOrder = false;
+        var /** @type {?} */ keyframesOutOfRange = false;
+        var /** @type {?} */ previousOffset = 0;
+        var /** @type {?} */ keyframes = metadata.steps.map(function (styles) {
+            var /** @type {?} */ style$$1 = _this._makeStyleAst(styles, context);
+            var /** @type {?} */ offsetVal = style$$1.offset != null ? style$$1.offset : consumeOffset(style$$1.styles);
+            var /** @type {?} */ offset = 0;
+            if (offsetVal != null) {
+                totalKeyframesWithOffsets++;
+                offset = style$$1.offset = offsetVal;
+            }
+            keyframesOutOfRange = keyframesOutOfRange || offset < 0 || offset > 1;
+            offsetsOutOfOrder = offsetsOutOfOrder || offset < previousOffset;
+            previousOffset = offset;
+            offsets.push(offset);
+            return style$$1;
+        });
+        if (keyframesOutOfRange) {
+            context.errors.push("Please ensure that all keyframe offsets are between 0 and 1");
+        }
+        if (offsetsOutOfOrder) {
+            context.errors.push("Please ensure that all keyframe offsets are in order");
+        }
+        var /** @type {?} */ length = metadata.steps.length;
+        var /** @type {?} */ generatedOffset = 0;
+        if (totalKeyframesWithOffsets > 0 && totalKeyframesWithOffsets < length) {
+            context.errors.push("Not all style() steps within the declared keyframes() contain offsets");
+        }
+        else if (totalKeyframesWithOffsets == 0) {
+            generatedOffset = MAX_KEYFRAME_OFFSET / (length - 1);
+        }
+        var /** @type {?} */ limit = length - 1;
+        var /** @type {?} */ currentTime = context.currentTime;
+        var /** @type {?} */ currentAnimateTimings = /** @type {?} */ ((context.currentAnimateTimings));
+        var /** @type {?} */ animateDuration = currentAnimateTimings.duration;
+        keyframes.forEach(function (kf, i) {
+            var /** @type {?} */ offset = generatedOffset > 0 ? (i == limit ? 1 : (generatedOffset * i)) : offsets[i];
+            var /** @type {?} */ durationUpToThisFrame = offset * animateDuration;
+            context.currentTime = currentTime + currentAnimateTimings.delay + durationUpToThisFrame;
+            currentAnimateTimings.duration = durationUpToThisFrame;
+            _this._validateStyleAst(kf, context);
+            kf.offset = offset;
+            ast.styles.push(kf);
+        });
+        return ast;
+    };
+    /**
+     * @param {?} metadata
+     * @param {?} context
+     * @return {?}
+     */
+    AnimationAstBuilderVisitor.prototype.visitReference = /**
+     * @param {?} metadata
+     * @param {?} context
+     * @return {?}
+     */
+    function (metadata, context) {
+        return {
+            type: 8 /* Reference */,
+            animation: visitDslNode(this, normalizeAnimationEntry(metadata.animation), context),
+            options: normalizeAnimationOptions(metadata.options)
+        };
+    };
+    /**
+     * @param {?} metadata
+     * @param {?} context
+     * @return {?}
+     */
+    AnimationAstBuilderVisitor.prototype.visitAnimateChild = /**
+     * @param {?} metadata
+     * @param {?} context
+     * @return {?}
+     */
+    function (metadata, context) {
+        context.depCount++;
+        return {
+            type: 9 /* AnimateChild */,
+            options: normalizeAnimationOptions(metadata.options)
+        };
+    };
+    /**
+     * @param {?} metadata
+     * @param {?} context
+     * @return {?}
+     */
+    AnimationAstBuilderVisitor.prototype.visitAnimateRef = /**
+     * @param {?} metadata
+     * @param {?} context
+     * @return {?}
+     */
+    function (metadata, context) {
+        return {
+            type: 10 /* AnimateRef */,
+            animation: this.visitReference(metadata.animation, context),
+            options: normalizeAnimationOptions(metadata.options)
+        };
+    };
+    /**
+     * @param {?} metadata
+     * @param {?} context
+     * @return {?}
+     */
+    AnimationAstBuilderVisitor.prototype.visitQuery = /**
+     * @param {?} metadata
+     * @param {?} context
+     * @return {?}
+     */
+    function (metadata, context) {
+        var /** @type {?} */ parentSelector = /** @type {?} */ ((context.currentQuerySelector));
+        var /** @type {?} */ options = /** @type {?} */ ((metadata.options || {}));
+        context.queryCount++;
+        context.currentQuery = metadata;
+        var _a = normalizeSelector(metadata.selector), selector = _a[0], includeSelf = _a[1];
+        context.currentQuerySelector =
+            parentSelector.length ? (parentSelector + ' ' + selector) : selector;
+        getOrSetAsInMap(context.collectedStyles, context.currentQuerySelector, {});
+        var /** @type {?} */ animation = visitDslNode(this, normalizeAnimationEntry(metadata.animation), context);
+        context.currentQuery = null;
+        context.currentQuerySelector = parentSelector;
+        return {
+            type: 11 /* Query */,
+            selector: selector,
+            limit: options.limit || 0,
+            optional: !!options.optional, includeSelf: includeSelf, animation: animation,
+            originalSelector: metadata.selector,
+            options: normalizeAnimationOptions(metadata.options)
+        };
+    };
+    /**
+     * @param {?} metadata
+     * @param {?} context
+     * @return {?}
+     */
+    AnimationAstBuilderVisitor.prototype.visitStagger = /**
+     * @param {?} metadata
+     * @param {?} context
+     * @return {?}
+     */
+    function (metadata, context) {
+        if (!context.currentQuery) {
+            context.errors.push("stagger() can only be used inside of query()");
+        }
+        var /** @type {?} */ timings = metadata.timings === 'full' ?
+            { duration: 0, delay: 0, easing: 'full' } :
+            resolveTiming(metadata.timings, context.errors, true);
+        return {
+            type: 12 /* Stagger */,
+            animation: visitDslNode(this, normalizeAnimationEntry(metadata.animation), context), timings: timings,
+            options: null
+        };
+    };
+    return AnimationAstBuilderVisitor;
+}());
+/**
+ * @param {?} selector
+ * @return {?}
+ */
+function normalizeSelector(selector) {
+    var /** @type {?} */ hasAmpersand = selector.split(/\s*,\s*/).find(function (token) { return token == SELF_TOKEN; }) ? true : false;
+    if (hasAmpersand) {
+        selector = selector.replace(SELF_TOKEN_REGEX, '');
+    }
+    // the :enter and :leave selectors are filled in at runtime during timeline building
+    selector = selector.replace(/@\*/g, NG_TRIGGER_SELECTOR)
+        .replace(/@\w+/g, function (match) { return NG_TRIGGER_SELECTOR + '-' + match.substr(1); })
+        .replace(/:animating/g, NG_ANIMATING_SELECTOR);
+    return [selector, hasAmpersand];
+}
+/**
+ * @param {?} obj
+ * @return {?}
+ */
+function normalizeParams(obj) {
+    return obj ? copyObj(obj) : null;
+}
+var AnimationAstBuilderContext = /** @class */ (function () {
+    function AnimationAstBuilderContext(errors) {
+        this.errors = errors;
+        this.queryCount = 0;
+        this.depCount = 0;
+        this.currentTransition = null;
+        this.currentQuery = null;
+        this.currentQuerySelector = null;
+        this.currentAnimateTimings = null;
+        this.currentTime = 0;
+        this.collectedStyles = {};
+        this.options = null;
+    }
+    return AnimationAstBuilderContext;
+}());
+/**
+ * @param {?} styles
+ * @return {?}
+ */
+function consumeOffset(styles) {
+    if (typeof styles == 'string')
+        return null;
+    var /** @type {?} */ offset = null;
+    if (Array.isArray(styles)) {
+        styles.forEach(function (styleTuple) {
+            if (isObject(styleTuple) && styleTuple.hasOwnProperty('offset')) {
+                var /** @type {?} */ obj = /** @type {?} */ (styleTuple);
+                offset = parseFloat(/** @type {?} */ (obj['offset']));
+                delete obj['offset'];
+            }
+        });
+    }
+    else if (isObject(styles) && styles.hasOwnProperty('offset')) {
+        var /** @type {?} */ obj = /** @type {?} */ (styles);
+        offset = parseFloat(/** @type {?} */ (obj['offset']));
+        delete obj['offset'];
+    }
+    return offset;
+}
+/**
+ * @param {?} value
+ * @return {?}
+ */
+function isObject(value) {
+    return !Array.isArray(value) && typeof value == 'object';
+}
+/**
+ * @param {?} value
+ * @param {?} errors
+ * @return {?}
+ */
+function constructTimingAst(value, errors) {
+    var /** @type {?} */ timings = null;
+    if (value.hasOwnProperty('duration')) {
+        timings = /** @type {?} */ (value);
+    }
+    else if (typeof value == 'number') {
+        var /** @type {?} */ duration = resolveTiming(/** @type {?} */ (value), errors).duration;
+        return makeTimingAst(/** @type {?} */ (duration), 0, '');
+    }
+    var /** @type {?} */ strValue = /** @type {?} */ (value);
+    var /** @type {?} */ isDynamic = strValue.split(/\s+/).some(function (v) { return v.charAt(0) == '{' && v.charAt(1) == '{'; });
+    if (isDynamic) {
+        var /** @type {?} */ ast = /** @type {?} */ (makeTimingAst(0, 0, ''));
+        ast.dynamic = true;
+        ast.strValue = strValue;
+        return /** @type {?} */ (ast);
+    }
+    timings = timings || resolveTiming(strValue, errors);
+    return makeTimingAst(timings.duration, timings.delay, timings.easing);
+}
+/**
+ * @param {?} options
+ * @return {?}
+ */
+function normalizeAnimationOptions(options) {
+    if (options) {
+        options = copyObj(options);
+        if (options['params']) {
+            options['params'] = /** @type {?} */ ((normalizeParams(options['params'])));
+        }
+    }
+    else {
+        options = {};
+    }
+    return options;
+}
+/**
+ * @param {?} duration
+ * @param {?} delay
+ * @param {?} easing
+ * @return {?}
+ */
+function makeTimingAst(duration, delay, easing) {
+    return { duration: duration, delay: delay, easing: easing };
+}
+
+/**
+ * @fileoverview added by tsickle
+ * @suppress {checkTypes} checked by tsc
+ */
+/**
+ * @record
+ */
+
+/**
+ * @param {?} element
+ * @param {?} keyframes
+ * @param {?} preStyleProps
+ * @param {?} postStyleProps
+ * @param {?} duration
+ * @param {?} delay
+ * @param {?=} easing
+ * @param {?=} subTimeline
+ * @return {?}
+ */
+function createTimelineInstruction(element, keyframes, preStyleProps, postStyleProps, duration, delay, easing, subTimeline) {
+    if (easing === void 0) { easing = null; }
+    if (subTimeline === void 0) { subTimeline = false; }
+    return {
+        type: 1 /* TimelineAnimation */,
+        element: element,
+        keyframes: keyframes,
+        preStyleProps: preStyleProps,
+        postStyleProps: postStyleProps,
+        duration: duration,
+        delay: delay,
+        totalTime: duration + delay, easing: easing, subTimeline: subTimeline
+    };
+}
+
+/**
+ * @fileoverview added by tsickle
+ * @suppress {checkTypes} checked by tsc
+ */
+var ElementInstructionMap = /** @class */ (function () {
+    function ElementInstructionMap() {
+        this._map = new Map();
+    }
+    /**
+     * @param {?} element
+     * @return {?}
+     */
+    ElementInstructionMap.prototype.consume = /**
+     * @param {?} element
+     * @return {?}
+     */
+    function (element) {
+        var /** @type {?} */ instructions = this._map.get(element);
+        if (instructions) {
+            this._map.delete(element);
+        }
+        else {
+            instructions = [];
+        }
+        return instructions;
+    };
+    /**
+     * @param {?} element
+     * @param {?} instructions
+     * @return {?}
+     */
+    ElementInstructionMap.prototype.append = /**
+     * @param {?} element
+     * @param {?} instructions
+     * @return {?}
+     */
+    function (element, instructions) {
+        var /** @type {?} */ existingInstructions = this._map.get(element);
+        if (!existingInstructions) {
+            this._map.set(element, existingInstructions = []);
+        }
+        existingInstructions.push.apply(existingInstructions, instructions);
+    };
+    /**
+     * @param {?} element
+     * @return {?}
+     */
+    ElementInstructionMap.prototype.has = /**
+     * @param {?} element
+     * @return {?}
+     */
+    function (element) { return this._map.has(element); };
+    /**
+     * @return {?}
+     */
+    ElementInstructionMap.prototype.clear = /**
+     * @return {?}
+     */
+    function () { this._map.clear(); };
+    return ElementInstructionMap;
+}());
+
+/**
+ * @fileoverview added by tsickle
+ * @suppress {checkTypes} checked by tsc
+ */
+var ONE_FRAME_IN_MILLISECONDS = 1;
+var ENTER_TOKEN = ':enter';
+var ENTER_TOKEN_REGEX = new RegExp(ENTER_TOKEN, 'g');
+var LEAVE_TOKEN = ':leave';
+var LEAVE_TOKEN_REGEX = new RegExp(LEAVE_TOKEN, 'g');
+/**
+ * @param {?} driver
+ * @param {?} rootElement
+ * @param {?} ast
+ * @param {?} enterClassName
+ * @param {?} leaveClassName
+ * @param {?=} startingStyles
+ * @param {?=} finalStyles
+ * @param {?=} options
+ * @param {?=} subInstructions
+ * @param {?=} errors
+ * @return {?}
+ */
+function buildAnimationTimelines(driver, rootElement, ast, enterClassName, leaveClassName, startingStyles, finalStyles, options, subInstructions, errors) {
+    if (startingStyles === void 0) { startingStyles = {}; }
+    if (finalStyles === void 0) { finalStyles = {}; }
+    if (errors === void 0) { errors = []; }
+    return new AnimationTimelineBuilderVisitor().buildKeyframes(driver, rootElement, ast, enterClassName, leaveClassName, startingStyles, finalStyles, options, subInstructions, errors);
+}
+var AnimationTimelineBuilderVisitor = /** @class */ (function () {
+    function AnimationTimelineBuilderVisitor() {
+    }
+    /**
+     * @param {?} driver
+     * @param {?} rootElement
+     * @param {?} ast
+     * @param {?} enterClassName
+     * @param {?} leaveClassName
+     * @param {?} startingStyles
+     * @param {?} finalStyles
+     * @param {?} options
+     * @param {?=} subInstructions
+     * @param {?=} errors
+     * @return {?}
+     */
+    AnimationTimelineBuilderVisitor.prototype.buildKeyframes = /**
+     * @param {?} driver
+     * @param {?} rootElement
+     * @param {?} ast
+     * @param {?} enterClassName
+     * @param {?} leaveClassName
+     * @param {?} startingStyles
+     * @param {?} finalStyles
+     * @param {?} options
+     * @param {?=} subInstructions
+     * @param {?=} errors
+     * @return {?}
+     */
+    function (driver, rootElement, ast, enterClassName, leaveClassName, startingStyles, finalStyles, options, subInstructions, errors) {
+        if (errors === void 0) { errors = []; }
+        subInstructions = subInstructions || new ElementInstructionMap();
+        var /** @type {?} */ context = new AnimationTimelineContext(driver, rootElement, subInstructions, enterClassName, leaveClassName, errors, []);
+        context.options = options;
+        context.currentTimeline.setStyles([startingStyles], null, context.errors, options);
+        visitDslNode(this, ast, context);
+        // this checks to see if an actual animation happened
+        var /** @type {?} */ timelines = context.timelines.filter(function (timeline) { return timeline.containsAnimation(); });
+        if (timelines.length && Object.keys(finalStyles).length) {
+            var /** @type {?} */ tl = timelines[timelines.length - 1];
+            if (!tl.allowOnlyTimelineStyles()) {
+                tl.setStyles([finalStyles], null, context.errors, options);
+            }
+        }
+        return timelines.length ? timelines.map(function (timeline) { return timeline.buildKeyframes(); }) :
+            [createTimelineInstruction(rootElement, [], [], [], 0, 0, '', false)];
+    };
+    /**
+     * @param {?} ast
+     * @param {?} context
+     * @return {?}
+     */
+    AnimationTimelineBuilderVisitor.prototype.visitTrigger = /**
+     * @param {?} ast
+     * @param {?} context
+     * @return {?}
+     */
+    function (ast, context) {
+        // these values are not visited in this AST
+    };
+    /**
+     * @param {?} ast
+     * @param {?} context
+     * @return {?}
+     */
+    AnimationTimelineBuilderVisitor.prototype.visitState = /**
+     * @param {?} ast
+     * @param {?} context
+     * @return {?}
+     */
+    function (ast, context) {
+        // these values are not visited in this AST
+    };
+    /**
+     * @param {?} ast
+     * @param {?} context
+     * @return {?}
+     */
+    AnimationTimelineBuilderVisitor.prototype.visitTransition = /**
+     * @param {?} ast
+     * @param {?} context
+     * @return {?}
+     */
+    function (ast, context) {
+        // these values are not visited in this AST
+    };
+    /**
+     * @param {?} ast
+     * @param {?} context
+     * @return {?}
+     */
+    AnimationTimelineBuilderVisitor.prototype.visitAnimateChild = /**
+     * @param {?} ast
+     * @param {?} context
+     * @return {?}
+     */
+    function (ast, context) {
+        var /** @type {?} */ elementInstructions = context.subInstructions.consume(context.element);
+        if (elementInstructions) {
+            var /** @type {?} */ innerContext = context.createSubContext(ast.options);
+            var /** @type {?} */ startTime = context.currentTimeline.currentTime;
+            var /** @type {?} */ endTime = this._visitSubInstructions(elementInstructions, innerContext, /** @type {?} */ (innerContext.options));
+            if (startTime != endTime) {
+                // we do this on the upper context because we created a sub context for
+                // the sub child animations
+                context.transformIntoNewTimeline(endTime);
+            }
+        }
+        context.previousNode = ast;
+    };
+    /**
+     * @param {?} ast
+     * @param {?} context
+     * @return {?}
+     */
+    AnimationTimelineBuilderVisitor.prototype.visitAnimateRef = /**
+     * @param {?} ast
+     * @param {?} context
+     * @return {?}
+     */
+    function (ast, context) {
+        var /** @type {?} */ innerContext = context.createSubContext(ast.options);
+        innerContext.transformIntoNewTimeline();
+        this.visitReference(ast.animation, innerContext);
+        context.transformIntoNewTimeline(innerContext.currentTimeline.currentTime);
+        context.previousNode = ast;
+    };
+    /**
+     * @param {?} instructions
+     * @param {?} context
+     * @param {?} options
+     * @return {?}
+     */
+    AnimationTimelineBuilderVisitor.prototype._visitSubInstructions = /**
+     * @param {?} instructions
+     * @param {?} context
+     * @param {?} options
+     * @return {?}
+     */
+    function (instructions, context, options) {
+        var /** @type {?} */ startTime = context.currentTimeline.currentTime;
+        var /** @type {?} */ furthestTime = startTime;
+        // this is a special-case for when a user wants to skip a sub
+        // animation from being fired entirely.
+        var /** @type {?} */ duration = options.duration != null ? resolveTimingValue(options.duration) : null;
+        var /** @type {?} */ delay = options.delay != null ? resolveTimingValue(options.delay) : null;
+        if (duration !== 0) {
+            instructions.forEach(function (instruction) {
+                var /** @type {?} */ instructionTimings = context.appendInstructionToTimeline(instruction, duration, delay);
+                furthestTime =
+                    Math.max(furthestTime, instructionTimings.duration + instructionTimings.delay);
+            });
+        }
+        return furthestTime;
+    };
+    /**
+     * @param {?} ast
+     * @param {?} context
+     * @return {?}
+     */
+    AnimationTimelineBuilderVisitor.prototype.visitReference = /**
+     * @param {?} ast
+     * @param {?} context
+     * @return {?}
+     */
+    function (ast, context) {
+        context.updateOptions(ast.options, true);
+        visitDslNode(this, ast.animation, context);
+        context.previousNode = ast;
+    };
+    /**
+     * @param {?} ast
+     * @param {?} context
+     * @return {?}
+     */
+    AnimationTimelineBuilderVisitor.prototype.visitSequence = /**
+     * @param {?} ast
+     * @param {?} context
+     * @return {?}
+     */
+    function (ast, context) {
+        var _this = this;
+        var /** @type {?} */ subContextCount = context.subContextCount;
+        var /** @type {?} */ ctx = context;
+        var /** @type {?} */ options = ast.options;
+        if (options && (options.params || options.delay)) {
+            ctx = context.createSubContext(options);
+            ctx.transformIntoNewTimeline();
+            if (options.delay != null) {
+                if (ctx.previousNode.type == 6 /* Style */) {
+                    ctx.currentTimeline.snapshotCurrentStyles();
+                    ctx.previousNode = DEFAULT_NOOP_PREVIOUS_NODE;
+                }
+                var /** @type {?} */ delay = resolveTimingValue(options.delay);
+                ctx.delayNextStep(delay);
+            }
+        }
+        if (ast.steps.length) {
+            ast.steps.forEach(function (s) { return visitDslNode(_this, s, ctx); });
+            // this is here just incase the inner steps only contain or end with a style() call
+            ctx.currentTimeline.applyStylesToKeyframe();
+            // this means that some animation function within the sequence
+            // ended up creating a sub timeline (which means the current
+            // timeline cannot overlap with the contents of the sequence)
+            if (ctx.subContextCount > subContextCount) {
+                ctx.transformIntoNewTimeline();
+            }
+        }
+        context.previousNode = ast;
+    };
+    /**
+     * @param {?} ast
+     * @param {?} context
+     * @return {?}
+     */
+    AnimationTimelineBuilderVisitor.prototype.visitGroup = /**
+     * @param {?} ast
+     * @param {?} context
+     * @return {?}
+     */
+    function (ast, context) {
+        var _this = this;
+        var /** @type {?} */ innerTimelines = [];
+        var /** @type {?} */ furthestTime = context.currentTimeline.currentTime;
+        var /** @type {?} */ delay = ast.options && ast.options.delay ? resolveTimingValue(ast.options.delay) : 0;
+        ast.steps.forEach(function (s) {
+            var /** @type {?} */ innerContext = context.createSubContext(ast.options);
+            if (delay) {
+                innerContext.delayNextStep(delay);
+            }
+            visitDslNode(_this, s, innerContext);
+            furthestTime = Math.max(furthestTime, innerContext.currentTimeline.currentTime);
+            innerTimelines.push(innerContext.currentTimeline);
+        });
+        // this operation is run after the AST loop because otherwise
+        // if the parent timeline's collected styles were updated then
+        // it would pass in invalid data into the new-to-be forked items
+        innerTimelines.forEach(function (timeline) { return context.currentTimeline.mergeTimelineCollectedStyles(timeline); });
+        context.transformIntoNewTimeline(furthestTime);
+        context.previousNode = ast;
+    };
+    /**
+     * @param {?} ast
+     * @param {?} context
+     * @return {?}
+     */
+    AnimationTimelineBuilderVisitor.prototype._visitTiming = /**
+     * @param {?} ast
+     * @param {?} context
+     * @return {?}
+     */
+    function (ast, context) {
+        if ((/** @type {?} */ (ast)).dynamic) {
+            var /** @type {?} */ strValue = (/** @type {?} */ (ast)).strValue;
+            var /** @type {?} */ timingValue = context.params ? interpolateParams(strValue, context.params, context.errors) : strValue;
+            return resolveTiming(timingValue, context.errors);
+        }
+        else {
+            return { duration: ast.duration, delay: ast.delay, easing: ast.easing };
+        }
+    };
+    /**
+     * @param {?} ast
+     * @param {?} context
+     * @return {?}
+     */
+    AnimationTimelineBuilderVisitor.prototype.visitAnimate = /**
+     * @param {?} ast
+     * @param {?} context
+     * @return {?}
+     */
+    function (ast, context) {
+        var /** @type {?} */ timings = context.currentAnimateTimings = this._visitTiming(ast.timings, context);
+        var /** @type {?} */ timeline = context.currentTimeline;
+        if (timings.delay) {
+            context.incrementTime(timings.delay);
+            timeline.snapshotCurrentStyles();
+        }
+        var /** @type {?} */ style$$1 = ast.style;
+        if (style$$1.type == 5 /* Keyframes */) {
+            this.visitKeyframes(style$$1, context);
+        }
+        else {
+            context.incrementTime(timings.duration);
+            this.visitStyle(/** @type {?} */ (style$$1), context);
+            timeline.applyStylesToKeyframe();
+        }
+        context.currentAnimateTimings = null;
+        context.previousNode = ast;
+    };
+    /**
+     * @param {?} ast
+     * @param {?} context
+     * @return {?}
+     */
+    AnimationTimelineBuilderVisitor.prototype.visitStyle = /**
+     * @param {?} ast
+     * @param {?} context
+     * @return {?}
+     */
+    function (ast, context) {
+        var /** @type {?} */ timeline = context.currentTimeline;
+        var /** @type {?} */ timings = /** @type {?} */ ((context.currentAnimateTimings));
+        // this is a special case for when a style() call
+        // directly follows  an animate() call (but not inside of an animate() call)
+        if (!timings && timeline.getCurrentStyleProperties().length) {
+            timeline.forwardFrame();
+        }
+        var /** @type {?} */ easing = (timings && timings.easing) || ast.easing;
+        if (ast.isEmptyStep) {
+            timeline.applyEmptyStep(easing);
+        }
+        else {
+            timeline.setStyles(ast.styles, easing, context.errors, context.options);
+        }
+        context.previousNode = ast;
+    };
+    /**
+     * @param {?} ast
+     * @param {?} context
+     * @return {?}
+     */
+    AnimationTimelineBuilderVisitor.prototype.visitKeyframes = /**
+     * @param {?} ast
+     * @param {?} context
+     * @return {?}
+     */
+    function (ast, context) {
+        var /** @type {?} */ currentAnimateTimings = /** @type {?} */ ((context.currentAnimateTimings));
+        var /** @type {?} */ startTime = (/** @type {?} */ ((context.currentTimeline))).duration;
+        var /** @type {?} */ duration = currentAnimateTimings.duration;
+        var /** @type {?} */ innerContext = context.createSubContext();
+        var /** @type {?} */ innerTimeline = innerContext.currentTimeline;
+        innerTimeline.easing = currentAnimateTimings.easing;
+        ast.styles.forEach(function (step) {
+            var /** @type {?} */ offset = step.offset || 0;
+            innerTimeline.forwardTime(offset * duration);
+            innerTimeline.setStyles(step.styles, step.easing, context.errors, context.options);
+            innerTimeline.applyStylesToKeyframe();
+        });
+        // this will ensure that the parent timeline gets all the styles from
+        // the child even if the new timeline below is not used
+        context.currentTimeline.mergeTimelineCollectedStyles(innerTimeline);
+        // we do this because the window between this timeline and the sub timeline
+        // should ensure that the styles within are exactly the same as they were before
+        context.transformIntoNewTimeline(startTime + duration);
+        context.previousNode = ast;
+    };
+    /**
+     * @param {?} ast
+     * @param {?} context
+     * @return {?}
+     */
+    AnimationTimelineBuilderVisitor.prototype.visitQuery = /**
+     * @param {?} ast
+     * @param {?} context
+     * @return {?}
+     */
+    function (ast, context) {
+        var _this = this;
+        // in the event that the first step before this is a style step we need
+        // to ensure the styles are applied before the children are animated
+        var /** @type {?} */ startTime = context.currentTimeline.currentTime;
+        var /** @type {?} */ options = /** @type {?} */ ((ast.options || {}));
+        var /** @type {?} */ delay = options.delay ? resolveTimingValue(options.delay) : 0;
+        if (delay && (context.previousNode.type === 6 /* Style */ ||
+            (startTime == 0 && context.currentTimeline.getCurrentStyleProperties().length))) {
+            context.currentTimeline.snapshotCurrentStyles();
+            context.previousNode = DEFAULT_NOOP_PREVIOUS_NODE;
+        }
+        var /** @type {?} */ furthestTime = startTime;
+        var /** @type {?} */ elms = context.invokeQuery(ast.selector, ast.originalSelector, ast.limit, ast.includeSelf, options.optional ? true : false, context.errors);
+        context.currentQueryTotal = elms.length;
+        var /** @type {?} */ sameElementTimeline = null;
+        elms.forEach(function (element, i) {
+            context.currentQueryIndex = i;
+            var /** @type {?} */ innerContext = context.createSubContext(ast.options, element);
+            if (delay) {
+                innerContext.delayNextStep(delay);
+            }
+            if (element === context.element) {
+                sameElementTimeline = innerContext.currentTimeline;
+            }
+            visitDslNode(_this, ast.animation, innerContext);
+            // this is here just incase the inner steps only contain or end
+            // with a style() call (which is here to signal that this is a preparatory
+            // call to style an element before it is animated again)
+            innerContext.currentTimeline.applyStylesToKeyframe();
+            var /** @type {?} */ endTime = innerContext.currentTimeline.currentTime;
+            furthestTime = Math.max(furthestTime, endTime);
+        });
+        context.currentQueryIndex = 0;
+        context.currentQueryTotal = 0;
+        context.transformIntoNewTimeline(furthestTime);
+        if (sameElementTimeline) {
+            context.currentTimeline.mergeTimelineCollectedStyles(sameElementTimeline);
+            context.currentTimeline.snapshotCurrentStyles();
+        }
+        context.previousNode = ast;
+    };
+    /**
+     * @param {?} ast
+     * @param {?} context
+     * @return {?}
+     */
+    AnimationTimelineBuilderVisitor.prototype.visitStagger = /**
+     * @param {?} ast
+     * @param {?} context
+     * @return {?}
+     */
+    function (ast, context) {
+        var /** @type {?} */ parentContext = /** @type {?} */ ((context.parentContext));
+        var /** @type {?} */ tl = context.currentTimeline;
+        var /** @type {?} */ timings = ast.timings;
+        var /** @type {?} */ duration = Math.abs(timings.duration);
+        var /** @type {?} */ maxTime = duration * (context.currentQueryTotal - 1);
+        var /** @type {?} */ delay = duration * context.currentQueryIndex;
+        var /** @type {?} */ staggerTransformer = timings.duration < 0 ? 'reverse' : timings.easing;
+        switch (staggerTransformer) {
+            case 'reverse':
+                delay = maxTime - delay;
+                break;
+            case 'full':
+                delay = parentContext.currentStaggerTime;
+                break;
+        }
+        var /** @type {?} */ timeline = context.currentTimeline;
+        if (delay) {
+            timeline.delayNextStep(delay);
+        }
+        var /** @type {?} */ startingTime = timeline.currentTime;
+        visitDslNode(this, ast.animation, context);
+        context.previousNode = ast;
+        // time = duration + delay
+        // the reason why this computation is so complex is because
+        // the inner timeline may either have a delay value or a stretched
+        // keyframe depending on if a subtimeline is not used or is used.
+        parentContext.currentStaggerTime =
+            (tl.currentTime - startingTime) + (tl.startTime - parentContext.currentTimeline.startTime);
+    };
+    return AnimationTimelineBuilderVisitor;
+}());
+var DEFAULT_NOOP_PREVIOUS_NODE = /** @type {?} */ ({});
+var AnimationTimelineContext = /** @class */ (function () {
+    function AnimationTimelineContext(_driver, element, subInstructions, _enterClassName, _leaveClassName, errors, timelines, initialTimeline) {
+        this._driver = _driver;
+        this.element = element;
+        this.subInstructions = subInstructions;
+        this._enterClassName = _enterClassName;
+        this._leaveClassName = _leaveClassName;
+        this.errors = errors;
+        this.timelines = timelines;
+        this.parentContext = null;
+        this.currentAnimateTimings = null;
+        this.previousNode = DEFAULT_NOOP_PREVIOUS_NODE;
+        this.subContextCount = 0;
+        this.options = {};
+        this.currentQueryIndex = 0;
+        this.currentQueryTotal = 0;
+        this.currentStaggerTime = 0;
+        this.currentTimeline = initialTimeline || new TimelineBuilder(this._driver, element, 0);
+        timelines.push(this.currentTimeline);
+    }
+    Object.defineProperty(AnimationTimelineContext.prototype, "params", {
+        get: /**
+         * @return {?}
+         */
+        function () { return this.options.params; },
+        enumerable: true,
+        configurable: true
+    });
+    /**
+     * @param {?} options
+     * @param {?=} skipIfExists
+     * @return {?}
+     */
+    AnimationTimelineContext.prototype.updateOptions = /**
+     * @param {?} options
+     * @param {?=} skipIfExists
+     * @return {?}
+     */
+    function (options, skipIfExists) {
+        var _this = this;
+        if (!options)
+            return;
+        var /** @type {?} */ newOptions = /** @type {?} */ (options);
+        var /** @type {?} */ optionsToUpdate = this.options;
+        // NOTE: this will get patched up when other animation methods support duration overrides
+        if (newOptions.duration != null) {
+            (/** @type {?} */ (optionsToUpdate)).duration = resolveTimingValue(newOptions.duration);
+        }
+        if (newOptions.delay != null) {
+            optionsToUpdate.delay = resolveTimingValue(newOptions.delay);
+        }
+        var /** @type {?} */ newParams = newOptions.params;
+        if (newParams) {
+            var /** @type {?} */ paramsToUpdate_1 = /** @type {?} */ ((optionsToUpdate.params));
+            if (!paramsToUpdate_1) {
+                paramsToUpdate_1 = this.options.params = {};
+            }
+            Object.keys(newParams).forEach(function (name) {
+                if (!skipIfExists || !paramsToUpdate_1.hasOwnProperty(name)) {
+                    paramsToUpdate_1[name] = interpolateParams(newParams[name], paramsToUpdate_1, _this.errors);
+                }
+            });
+        }
+    };
+    /**
+     * @return {?}
+     */
+    AnimationTimelineContext.prototype._copyOptions = /**
+     * @return {?}
+     */
+    function () {
+        var /** @type {?} */ options = {};
+        if (this.options) {
+            var /** @type {?} */ oldParams_1 = this.options.params;
+            if (oldParams_1) {
+                var /** @type {?} */ params_1 = options['params'] = {};
+                Object.keys(oldParams_1).forEach(function (name) { params_1[name] = oldParams_1[name]; });
+            }
+        }
+        return options;
+    };
+    /**
+     * @param {?=} options
+     * @param {?=} element
+     * @param {?=} newTime
+     * @return {?}
+     */
+    AnimationTimelineContext.prototype.createSubContext = /**
+     * @param {?=} options
+     * @param {?=} element
+     * @param {?=} newTime
+     * @return {?}
+     */
+    function (options, element, newTime) {
+        if (options === void 0) { options = null; }
+        var /** @type {?} */ target = element || this.element;
+        var /** @type {?} */ context = new AnimationTimelineContext(this._driver, target, this.subInstructions, this._enterClassName, this._leaveClassName, this.errors, this.timelines, this.currentTimeline.fork(target, newTime || 0));
+        context.previousNode = this.previousNode;
+        context.currentAnimateTimings = this.currentAnimateTimings;
+        context.options = this._copyOptions();
+        context.updateOptions(options);
+        context.currentQueryIndex = this.currentQueryIndex;
+        context.currentQueryTotal = this.currentQueryTotal;
+        context.parentContext = this;
+        this.subContextCount++;
+        return context;
+    };
+    /**
+     * @param {?=} newTime
+     * @return {?}
+     */
+    AnimationTimelineContext.prototype.transformIntoNewTimeline = /**
+     * @param {?=} newTime
+     * @return {?}
+     */
+    function (newTime) {
+        this.previousNode = DEFAULT_NOOP_PREVIOUS_NODE;
+        this.currentTimeline = this.currentTimeline.fork(this.element, newTime);
+        this.timelines.push(this.currentTimeline);
+        return this.currentTimeline;
+    };
+    /**
+     * @param {?} instruction
+     * @param {?} duration
+     * @param {?} delay
+     * @return {?}
+     */
+    AnimationTimelineContext.prototype.appendInstructionToTimeline = /**
+     * @param {?} instruction
+     * @param {?} duration
+     * @param {?} delay
+     * @return {?}
+     */
+    function (instruction, duration, delay) {
+        var /** @type {?} */ updatedTimings = {
+            duration: duration != null ? duration : instruction.duration,
+            delay: this.currentTimeline.currentTime + (delay != null ? delay : 0) + instruction.delay,
+            easing: ''
+        };
+        var /** @type {?} */ builder = new SubTimelineBuilder(this._driver, instruction.element, instruction.keyframes, instruction.preStyleProps, instruction.postStyleProps, updatedTimings, instruction.stretchStartingKeyframe);
+        this.timelines.push(builder);
+        return updatedTimings;
+    };
+    /**
+     * @param {?} time
+     * @return {?}
+     */
+    AnimationTimelineContext.prototype.incrementTime = /**
+     * @param {?} time
+     * @return {?}
+     */
+    function (time) {
+        this.currentTimeline.forwardTime(this.currentTimeline.duration + time);
+    };
+    /**
+     * @param {?} delay
+     * @return {?}
+     */
+    AnimationTimelineContext.prototype.delayNextStep = /**
+     * @param {?} delay
+     * @return {?}
+     */
+    function (delay) {
+        // negative delays are not yet supported
+        if (delay > 0) {
+            this.currentTimeline.delayNextStep(delay);
+        }
+    };
+    /**
+     * @param {?} selector
+     * @param {?} originalSelector
+     * @param {?} limit
+     * @param {?} includeSelf
+     * @param {?} optional
+     * @param {?} errors
+     * @return {?}
+     */
+    AnimationTimelineContext.prototype.invokeQuery = /**
+     * @param {?} selector
+     * @param {?} originalSelector
+     * @param {?} limit
+     * @param {?} includeSelf
+     * @param {?} optional
+     * @param {?} errors
+     * @return {?}
+     */
+    function (selector, originalSelector, limit, includeSelf, optional, errors) {
+        var /** @type {?} */ results = [];
+        if (includeSelf) {
+            results.push(this.element);
+        }
+        if (selector.length > 0) {
+            // if :self is only used then the selector is empty
+            selector = selector.replace(ENTER_TOKEN_REGEX, '.' + this._enterClassName);
+            selector = selector.replace(LEAVE_TOKEN_REGEX, '.' + this._leaveClassName);
+            var /** @type {?} */ multi = limit != 1;
+            var /** @type {?} */ elements = this._driver.query(this.element, selector, multi);
+            if (limit !== 0) {
+                elements = limit < 0 ? elements.slice(elements.length + limit, elements.length) :
+                    elements.slice(0, limit);
+            }
+            results.push.apply(results, elements);
+        }
+        if (!optional && results.length == 0) {
+            errors.push("`query(\"" + originalSelector + "\")` returned zero elements. (Use `query(\"" + originalSelector + "\", { optional: true })` if you wish to allow this.)");
+        }
+        return results;
+    };
+    return AnimationTimelineContext;
+}());
+var TimelineBuilder = /** @class */ (function () {
+    function TimelineBuilder(_driver, element, startTime, _elementTimelineStylesLookup) {
+        this._driver = _driver;
+        this.element = element;
+        this.startTime = startTime;
+        this._elementTimelineStylesLookup = _elementTimelineStylesLookup;
+        this.duration = 0;
+        this._previousKeyframe = {};
+        this._currentKeyframe = {};
+        this._keyframes = new Map();
+        this._styleSummary = {};
+        this._pendingStyles = {};
+        this._backFill = {};
+        this._currentEmptyStepKeyframe = null;
+        if (!this._elementTimelineStylesLookup) {
+            this._elementTimelineStylesLookup = new Map();
+        }
+        this._localTimelineStyles = Object.create(this._backFill, {});
+        this._globalTimelineStyles = /** @type {?} */ ((this._elementTimelineStylesLookup.get(element)));
+        if (!this._globalTimelineStyles) {
+            this._globalTimelineStyles = this._localTimelineStyles;
+            this._elementTimelineStylesLookup.set(element, this._localTimelineStyles);
+        }
+        this._loadKeyframe();
+    }
+    /**
+     * @return {?}
+     */
+    TimelineBuilder.prototype.containsAnimation = /**
+     * @return {?}
+     */
+    function () {
+        switch (this._keyframes.size) {
+            case 0:
+                return false;
+            case 1:
+                return this.getCurrentStyleProperties().length > 0;
+            default:
+                return true;
+        }
+    };
+    /**
+     * @return {?}
+     */
+    TimelineBuilder.prototype.getCurrentStyleProperties = /**
+     * @return {?}
+     */
+    function () { return Object.keys(this._currentKeyframe); };
+    Object.defineProperty(TimelineBuilder.prototype, "currentTime", {
+        get: /**
+         * @return {?}
+         */
+        function () { return this.startTime + this.duration; },
+        enumerable: true,
+        configurable: true
+    });
+    /**
+     * @param {?} delay
+     * @return {?}
+     */
+    TimelineBuilder.prototype.delayNextStep = /**
+     * @param {?} delay
+     * @return {?}
+     */
+    function (delay) {
+        // in the event that a style() step is placed right before a stagger()
+        // and that style() step is the very first style() value in the animation
+        // then we need to make a copy of the keyframe [0, copy, 1] so that the delay
+        // properly applies the style() values to work with the stagger...
+        var /** @type {?} */ hasPreStyleStep = this._keyframes.size == 1 && Object.keys(this._pendingStyles).length;
+        if (this.duration || hasPreStyleStep) {
+            this.forwardTime(this.currentTime + delay);
+            if (hasPreStyleStep) {
+                this.snapshotCurrentStyles();
+            }
+        }
+        else {
+            this.startTime += delay;
+        }
+    };
+    /**
+     * @param {?} element
+     * @param {?=} currentTime
+     * @return {?}
+     */
+    TimelineBuilder.prototype.fork = /**
+     * @param {?} element
+     * @param {?=} currentTime
+     * @return {?}
+     */
+    function (element, currentTime) {
+        this.applyStylesToKeyframe();
+        return new TimelineBuilder(this._driver, element, currentTime || this.currentTime, this._elementTimelineStylesLookup);
+    };
+    /**
+     * @return {?}
+     */
+    TimelineBuilder.prototype._loadKeyframe = /**
+     * @return {?}
+     */
+    function () {
+        if (this._currentKeyframe) {
+            this._previousKeyframe = this._currentKeyframe;
+        }
+        this._currentKeyframe = /** @type {?} */ ((this._keyframes.get(this.duration)));
+        if (!this._currentKeyframe) {
+            this._currentKeyframe = Object.create(this._backFill, {});
+            this._keyframes.set(this.duration, this._currentKeyframe);
+        }
+    };
+    /**
+     * @return {?}
+     */
+    TimelineBuilder.prototype.forwardFrame = /**
+     * @return {?}
+     */
+    function () {
+        this.duration += ONE_FRAME_IN_MILLISECONDS;
+        this._loadKeyframe();
+    };
+    /**
+     * @param {?} time
+     * @return {?}
+     */
+    TimelineBuilder.prototype.forwardTime = /**
+     * @param {?} time
+     * @return {?}
+     */
+    function (time) {
+        this.applyStylesToKeyframe();
+        this.duration = time;
+        this._loadKeyframe();
+    };
+    /**
+     * @param {?} prop
+     * @param {?} value
+     * @return {?}
+     */
+    TimelineBuilder.prototype._updateStyle = /**
+     * @param {?} prop
+     * @param {?} value
+     * @return {?}
+     */
+    function (prop, value) {
+        this._localTimelineStyles[prop] = value;
+        this._globalTimelineStyles[prop] = value;
+        this._styleSummary[prop] = { time: this.currentTime, value: value };
+    };
+    /**
+     * @return {?}
+     */
+    TimelineBuilder.prototype.allowOnlyTimelineStyles = /**
+     * @return {?}
+     */
+    function () { return this._currentEmptyStepKeyframe !== this._currentKeyframe; };
+    /**
+     * @param {?} easing
+     * @return {?}
+     */
+    TimelineBuilder.prototype.applyEmptyStep = /**
+     * @param {?} easing
+     * @return {?}
+     */
+    function (easing) {
+        var _this = this;
+        if (easing) {
+            this._previousKeyframe['easing'] = easing;
+        }
+        // special case for animate(duration):
+        // all missing styles are filled with a `*` value then
+        // if any destination styles are filled in later on the same
+        // keyframe then they will override the overridden styles
+        // We use `_globalTimelineStyles` here because there may be
+        // styles in previous keyframes that are not present in this timeline
+        Object.keys(this._globalTimelineStyles).forEach(function (prop) {
+            _this._backFill[prop] = _this._globalTimelineStyles[prop] || _angular_animations.AUTO_STYLE;
+            _this._currentKeyframe[prop] = _angular_animations.AUTO_STYLE;
+        });
+        this._currentEmptyStepKeyframe = this._currentKeyframe;
+    };
+    /**
+     * @param {?} input
+     * @param {?} easing
+     * @param {?} errors
+     * @param {?=} options
+     * @return {?}
+     */
+    TimelineBuilder.prototype.setStyles = /**
+     * @param {?} input
+     * @param {?} easing
+     * @param {?} errors
+     * @param {?=} options
+     * @return {?}
+     */
+    function (input, easing, errors, options) {
+        var _this = this;
+        if (easing) {
+            this._previousKeyframe['easing'] = easing;
+        }
+        var /** @type {?} */ params = (options && options.params) || {};
+        var /** @type {?} */ styles = flattenStyles(input, this._globalTimelineStyles);
+        Object.keys(styles).forEach(function (prop) {
+            var /** @type {?} */ val = interpolateParams(styles[prop], params, errors);
+            _t

<TRUNCATED>

[22/59] [abbrv] [partial] nifi-fds git commit: update gh-pages

Posted by sc...@apache.org.
http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/eec354e6/node_modules/@angular/cdk/bundles/cdk-a11y.umd.min.js.map
----------------------------------------------------------------------
diff --git a/node_modules/@angular/cdk/bundles/cdk-a11y.umd.min.js.map b/node_modules/@angular/cdk/bundles/cdk-a11y.umd.min.js.map
new file mode 100644
index 0000000..8b86704
--- /dev/null
+++ b/node_modules/@angular/cdk/bundles/cdk-a11y.umd.min.js.map
@@ -0,0 +1 @@
+{"version":3,"file":"cdk-a11y.umd.min.js","sources":["../../node_modules/tslib/tslib.es6.js","../../src/cdk/a11y/interactivity-checker/interactivity-checker.ts","../../src/cdk/a11y/aria-describer/aria-reference.ts","../../src/cdk/a11y/aria-describer/aria-describer.ts","../../src/cdk/a11y/live-announcer/live-announcer.ts","../../src/cdk/a11y/focus-monitor/focus-monitor.ts","../../src/cdk/a11y/fake-mousedown.ts","../../src/cdk/a11y/focus-trap/focus-trap.ts","../../src/cdk/a11y/key-manager/list-key-manager.ts","../../src/cdk/a11y/key-manager/activedescendant-key-manager.ts","../../src/cdk/a11y/key-manager/focus-key-manager.ts","../../src/cdk/a11y/a11y-module.ts"],"sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\
 r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = Object.setPrototypeOf ||\r\n    ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n    function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n\r\nexport function __extends(d, b) {\r\n    extendStatics(d, b);\r\n    function __() { this.constructor = d; }\r\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, n
 ew __());\r\n}\r\n\r\nexport var __assign = Object.assign || function __assign(t) {\r\n    for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n        s = arguments[i];\r\n        for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n    }\r\n    return t;\r\n}\r\n\r\nexport function __rest(s, e) {\r\n    var t = {};\r\n    for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n        t[p] = s[p];\r\n    if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n        for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) if (e.indexOf(p[i]) < 0)\r\n            t[p[i]] = s[p[i]];\r\n    return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n    var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n    if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r
  = Reflect.decorate(decorators, target, key, desc);\r\n    else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n    return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n    return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n    if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n    return new (P || (P = Promise))(function (resolve, reject) {\r\n        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n        function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n        function s
 tep(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }\r\n        step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n    });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n    var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n    return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n    function verb(n) { return function (v) { return step([n, v]); }; }\r\n    function step(op) {\r\n        if (f) throw new TypeError(\"Generator is already executing.\");\r\n        while (_) try {\r\n            if (f = 1, y && (t = y[op[0] & 2 ? \"return\" : op[0] ? \"throw\" : \"next\"]) && !(t = t.call(y, op[1])).done) return t;\r\n            if (y = 0, t) op = [0, t.value];\r\n            switch (op[0]) {\r\n 
                case 0: case 1: t = op; break;\r\n                case 4: _.label++; return { value: op[1], done: false };\r\n                case 5: _.label++; y = op[1]; op = [0]; continue;\r\n                case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n                default:\r\n                    if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n                    if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n                    if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n                    if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n                    if (t[2]) _.ops.pop();\r\n                    _.trys.pop(); continue;\r\n            }\r\n            op = body.call(thisArg, _);\r\n        } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n        if (op[0] & 5) throw op[1]; return { value: op[0]
  ? op[1] : void 0, done: true };\r\n    }\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n    for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n    var m = typeof Symbol === \"function\" && o[Symbol.iterator], i = 0;\r\n    if (m) return m.call(o);\r\n    return {\r\n        next: function () {\r\n            if (o && i >= o.length) o = void 0;\r\n            return { value: o && o[i++], done: !o };\r\n        }\r\n    };\r\n}\r\n\r\nexport function __read(o, n) {\r\n    var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n    if (!m) return o;\r\n    var i = m.call(o), r, ar = [], e;\r\n    try {\r\n        while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n    }\r\n    catch (error) { e = { error: error }; }\r\n    finally {\r\n        try {\r\n            if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n        }\r\n        finally { if (e) throw e.error; }\r\n  
   }\r\n    return ar;\r\n}\r\n\r\nexport function __spread() {\r\n    for (var ar = [], i = 0; i < arguments.length; i++)\r\n        ar = ar.concat(__read(arguments[i]));\r\n    return ar;\r\n}\r\n\r\nexport function __await(v) {\r\n    return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n    if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n    var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n    return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n    function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n    function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n    function step(r) { r.value instanceof __await ? Promise.resolve(r.val
 ue.v).then(fulfill, reject) : settle(q[0][2], r);  }\r\n    function fulfill(value) { resume(\"next\", value); }\r\n    function reject(value) { resume(\"throw\", value); }\r\n    function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n    var i, p;\r\n    return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n    function verb(n, f) { if (o[n]) i[n] = function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; }; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n    if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n    var m = o[Symbol.asyncIterator];\r\n    return m ? m.call(o) : typeof __values === \"function\" ? __values(o) : o[Symbol.iterator]();\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n    if (O
 bject.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n    return cooked;\r\n};\r\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {Injectable} from '@angular/core';\nimport {Platform} from '@angular/cdk/platform';\n\n\n// The InteractivityChecker leans heavily on the ally.js accessibility utilities.\n// Methods like `isTabbable` are only covering specific edge-cases for the browsers which are\n// supported.\n\n/**\n * Utility for checking the interactivity of an element, such as whether is is focusable or\n * tabbable.\n */\n@Injectable()\nexport class InteractivityChecker {\n\n  constructor(private _platform: Platform) {}\n\n  /**\n   * Gets whether an element is disabled.\n   *\n   * @param element Element to be checked.\n   * @returns Whether the elemen
 t is disabled.\n   */\n  isDisabled(element: HTMLElement): boolean {\n    // This does not capture some cases, such as a non-form control with a disabled attribute or\n    // a form control inside of a disabled form, but should capture the most common cases.\n    return element.hasAttribute('disabled');\n  }\n\n  /**\n   * Gets whether an element is visible for the purposes of interactivity.\n   *\n   * This will capture states like `display: none` and `visibility: hidden`, but not things like\n   * being clipped by an `overflow: hidden` parent or being outside the viewport.\n   *\n   * @returns Whether the element is visible.\n   */\n  isVisible(element: HTMLElement): boolean {\n    return hasGeometry(element) && getComputedStyle(element).visibility === 'visible';\n  }\n\n  /**\n   * Gets whether an element can be reached via Tab key.\n   * Assumes that the element has already been checked with isFocusable.\n   *\n   * @param element Element to be checked.\n   * @returns Whether th
 e element is tabbable.\n   */\n  isTabbable(element: HTMLElement): boolean {\n    // Nothing is tabbable on the the server 😎\n    if (!this._platform.isBrowser) {\n      return false;\n    }\n\n    const frameElement = getFrameElement(getWindow(element));\n\n    if (frameElement) {\n      const frameType = frameElement && frameElement.nodeName.toLowerCase();\n\n      // Frame elements inherit their tabindex onto all child elements.\n      if (getTabIndexValue(frameElement) === -1) {\n        return false;\n      }\n\n      // Webkit and Blink consider anything inside of an <object> element as non-tabbable.\n      if ((this._platform.BLINK || this._platform.WEBKIT) && frameType === 'object') {\n        return false;\n      }\n\n      // Webkit and Blink disable tabbing to an element inside of an invisible frame.\n      if ((this._platform.BLINK || this._platform.WEBKIT) && !this.isVisible(frameElement)) {\n        return false;\n      }\n\n    }\n\n    let nodeName = element.nodeN
 ame.toLowerCase();\n    let tabIndexValue = getTabIndexValue(element);\n\n    if (element.hasAttribute('contenteditable')) {\n      return tabIndexValue !== -1;\n    }\n\n    if (nodeName === 'iframe') {\n      // The frames may be tabbable depending on content, but it's not possibly to reliably\n      // investigate the content of the frames.\n      return false;\n    }\n\n    if (nodeName === 'audio') {\n      if (!element.hasAttribute('controls')) {\n        // By default an <audio> element without the controls enabled is not tabbable.\n        return false;\n      } else if (this._platform.BLINK) {\n        // In Blink <audio controls> elements are always tabbable.\n        return true;\n      }\n    }\n\n    if (nodeName === 'video') {\n      if (!element.hasAttribute('controls') && this._platform.TRIDENT) {\n        // In Trident a <video> element without the controls enabled is not tabbable.\n        return false;\n      } else if (this._platform.BLINK || this._platform.FIREF
 OX) {\n        // In Chrome and Firefox <video controls> elements are always tabbable.\n        return true;\n      }\n    }\n\n    if (nodeName === 'object' && (this._platform.BLINK || this._platform.WEBKIT)) {\n      // In all Blink and WebKit based browsers <object> elements are never tabbable.\n      return false;\n    }\n\n    // In iOS the browser only considers some specific elements as tabbable.\n    if (this._platform.WEBKIT && this._platform.IOS && !isPotentiallyTabbableIOS(element)) {\n      return false;\n    }\n\n    return element.tabIndex >= 0;\n  }\n\n  /**\n   * Gets whether an element can be focused by the user.\n   *\n   * @param element Element to be checked.\n   * @returns Whether the element is focusable.\n   */\n  isFocusable(element: HTMLElement): boolean {\n    // Perform checks in order of left to most expensive.\n    // Again, naive approach that does not capture many edge cases and browser quirks.\n    return isPotentiallyFocusable(element) && !this.isDis
 abled(element) && this.isVisible(element);\n  }\n\n}\n\n/**\n * Returns the frame element from a window object. Since browsers like MS Edge throw errors if\n * the frameElement property is being accessed from a different host address, this property\n * should be accessed carefully.\n */\nfunction getFrameElement(window: Window) {\n  try {\n    return window.frameElement as HTMLElement;\n  } catch (e) {\n    return null;\n  }\n}\n\n/** Checks whether the specified element has any geometry / rectangles. */\nfunction hasGeometry(element: HTMLElement): boolean {\n  // Use logic from jQuery to check for an invisible element.\n  // See https://github.com/jquery/jquery/blob/master/src/css/hiddenVisibleSelectors.js#L12\n  return !!(element.offsetWidth || element.offsetHeight ||\n      (typeof element.getClientRects === 'function' && element.getClientRects().length));\n}\n\n/** Gets whether an element's  */\nfunction isNativeFormElement(element: Node) {\n  let nodeName = element.nodeName.toL
 owerCase();\n  return nodeName === 'input' ||\n      nodeName === 'select' ||\n      nodeName === 'button' ||\n      nodeName === 'textarea';\n}\n\n/** Gets whether an element is an `<input type=\"hidden\">`. */\nfunction isHiddenInput(element: HTMLElement): boolean {\n  return isInputElement(element) && element.type == 'hidden';\n}\n\n/** Gets whether an element is an anchor that has an href attribute. */\nfunction isAnchorWithHref(element: HTMLElement): boolean {\n  return isAnchorElement(element) && element.hasAttribute('href');\n}\n\n/** Gets whether an element is an input element. */\nfunction isInputElement(element: HTMLElement): element is HTMLInputElement {\n  return element.nodeName.toLowerCase() == 'input';\n}\n\n/** Gets whether an element is an anchor element. */\nfunction isAnchorElement(element: HTMLElement): element is HTMLAnchorElement {\n  return element.nodeName.toLowerCase() == 'a';\n}\n\n/** Gets whether an element has a valid tabindex. */\nfunction hasValidTabIn
 dex(element: HTMLElement): boolean {\n  if (!element.hasAttribute('tabindex') || element.tabIndex === undefined) {\n    return false;\n  }\n\n  let tabIndex = element.getAttribute('tabindex');\n\n  // IE11 parses tabindex=\"\" as the value \"-32768\"\n  if (tabIndex == '-32768') {\n    return false;\n  }\n\n  return !!(tabIndex && !isNaN(parseInt(tabIndex, 10)));\n}\n\n/**\n * Returns the parsed tabindex from the element attributes instead of returning the\n * evaluated tabindex from the browsers defaults.\n */\nfunction getTabIndexValue(element: HTMLElement): number | null {\n  if (!hasValidTabIndex(element)) {\n    return null;\n  }\n\n  // See browser issue in Gecko https://bugzilla.mozilla.org/show_bug.cgi?id=1128054\n  const tabIndex = parseInt(element.getAttribute('tabindex') || '', 10);\n\n  return isNaN(tabIndex) ? -1 : tabIndex;\n}\n\n/** Checks whether the specified element is potentially tabbable on iOS */\nfunction isPotentiallyTabbableIOS(element: HTMLElement): boolean 
 {\n  let nodeName = element.nodeName.toLowerCase();\n  let inputType = nodeName === 'input' && (element as HTMLInputElement).type;\n\n  return inputType === 'text'\n      || inputType === 'password'\n      || nodeName === 'select'\n      || nodeName === 'textarea';\n}\n\n/**\n * Gets whether an element is potentially focusable without taking current visible/disabled state\n * into account.\n */\nfunction isPotentiallyFocusable(element: HTMLElement): boolean {\n  // Inputs are potentially focusable *unless* they're type=\"hidden\".\n  if (isHiddenInput(element)) {\n    return false;\n  }\n\n  return isNativeFormElement(element) ||\n      isAnchorWithHref(element) ||\n      element.hasAttribute('contenteditable') ||\n      hasValidTabIndex(element);\n}\n\n/** Gets the parent window of a DOM node with regards of being inside of an iframe. */\nfunction getWindow(node: HTMLElement): Window {\n  return node.ownerDocument.defaultView || window;\n}\n","/**\n * @license\n * Copyright Google 
 LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/** IDs are deliminated by an empty space, as per the spec. */\nconst ID_DELIMINATOR = ' ';\n\n/**\n * Adds the given ID to the specified ARIA attribute on an element.\n * Used for attributes such as aria-labelledby, aria-owns, etc.\n */\nexport function addAriaReferencedId(el: Element, attr: string, id: string) {\n  const ids = getAriaReferenceIds(el, attr);\n  if (ids.some(existingId => existingId.trim() == id.trim())) { return; }\n  ids.push(id.trim());\n\n  el.setAttribute(attr, ids.join(ID_DELIMINATOR));\n}\n\n/**\n * Removes the given ID from the specified ARIA attribute on an element.\n * Used for attributes such as aria-labelledby, aria-owns, etc.\n */\nexport function removeAriaReferencedId(el: Element, attr: string, id: string) {\n  const ids = getAriaReferenceIds(el, attr);\n  const filteredIds = ids.f
 ilter(val => val != id.trim());\n\n  el.setAttribute(attr, filteredIds.join(ID_DELIMINATOR));\n}\n\n/**\n * Gets the list of IDs referenced by the given ARIA attribute on an element.\n * Used for attributes such as aria-labelledby, aria-owns, etc.\n */\nexport function getAriaReferenceIds(el: Element, attr: string): string[] {\n  // Get string array of all individual ids (whitespace deliminated) in the attribute value\n  return (el.getAttribute(attr) || '').match(/\\S+/g) || [];\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {Injectable, Inject, InjectionToken, Optional, SkipSelf} from '@angular/core';\nimport {DOCUMENT} from '@angular/common';\nimport {addAriaReferencedId, getAriaReferenceIds, removeAriaReferencedId} from './aria-reference';\n\n/**\n * Interface used to register message elements and keep a 
 count of how many registrations have\n * the same message and the reference to the message element used for the `aria-describedby`.\n */\nexport interface RegisteredMessage {\n  /** The element containing the message. */\n  messageElement: Element;\n\n  /** The number of elements that reference this message element via `aria-describedby`. */\n  referenceCount: number;\n}\n\n/** ID used for the body container where all messages are appended. */\nexport const MESSAGES_CONTAINER_ID = 'cdk-describedby-message-container';\n\n/** ID prefix used for each created message element. */\nexport const CDK_DESCRIBEDBY_ID_PREFIX = 'cdk-describedby-message';\n\n/** Attribute given to each host element that is described by a message element. */\nexport const CDK_DESCRIBEDBY_HOST_ATTRIBUTE = 'cdk-describedby-host';\n\n/** Global incremental identifier for each registered message element. */\nlet nextId = 0;\n\n/** Global map of all registered message elements that have been placed into the document. 
 */\nconst messageRegistry = new Map<string, RegisteredMessage>();\n\n/** Container for all registered messages. */\nlet messagesContainer: HTMLElement | null = null;\n\n/**\n * Utility that creates visually hidden elements with a message content. Useful for elements that\n * want to use aria-describedby to further describe themselves without adding additional visual\n * content.\n * @docs-private\n */\n@Injectable()\nexport class AriaDescriber {\n  private _document: Document;\n\n  constructor(@Inject(DOCUMENT) _document: any) {\n    this._document = _document;\n  }\n\n  /**\n   * Adds to the host element an aria-describedby reference to a hidden element that contains\n   * the message. If the same message has already been registered, then it will reuse the created\n   * message element.\n   */\n  describe(hostElement: Element, message: string) {\n    if (hostElement.nodeType !== this._document.ELEMENT_NODE || !message.trim()) {\n      return;\n    }\n\n    if (!messageRegistry.has(
 message)) {\n      this._createMessageElement(message);\n    }\n\n    if (!this._isElementDescribedByMessage(hostElement, message)) {\n      this._addMessageReference(hostElement, message);\n    }\n  }\n\n  /** Removes the host element's aria-describedby reference to the message element. */\n  removeDescription(hostElement: Element, message: string) {\n    if (hostElement.nodeType !== this._document.ELEMENT_NODE || !message.trim()) {\n      return;\n    }\n\n    if (this._isElementDescribedByMessage(hostElement, message)) {\n      this._removeMessageReference(hostElement, message);\n    }\n\n    const registeredMessage = messageRegistry.get(message);\n    if (registeredMessage && registeredMessage.referenceCount === 0) {\n      this._deleteMessageElement(message);\n    }\n\n    if (messagesContainer && messagesContainer.childNodes.length === 0) {\n      this._deleteMessagesContainer();\n    }\n  }\n\n  /** Unregisters all created message elements and removes the message container. *
 /\n  ngOnDestroy() {\n    const describedElements =\n        this._document.querySelectorAll(`[${CDK_DESCRIBEDBY_HOST_ATTRIBUTE}]`);\n\n    for (let i = 0; i < describedElements.length; i++) {\n      this._removeCdkDescribedByReferenceIds(describedElements[i]);\n      describedElements[i].removeAttribute(CDK_DESCRIBEDBY_HOST_ATTRIBUTE);\n    }\n\n    if (messagesContainer) {\n      this._deleteMessagesContainer();\n    }\n\n    messageRegistry.clear();\n  }\n\n  /**\n   * Creates a new element in the visually hidden message container element with the message\n   * as its content and adds it to the message registry.\n   */\n  private _createMessageElement(message: string) {\n    const messageElement = this._document.createElement('div');\n    messageElement.setAttribute('id', `${CDK_DESCRIBEDBY_ID_PREFIX}-${nextId++}`);\n    messageElement.appendChild(this._document.createTextNode(message)!);\n\n    if (!messagesContainer) { this._createMessagesContainer(); }\n    messagesContainer!.
 appendChild(messageElement);\n\n    messageRegistry.set(message, {messageElement, referenceCount: 0});\n  }\n\n  /** Deletes the message element from the global messages container. */\n  private _deleteMessageElement(message: string) {\n    const registeredMessage = messageRegistry.get(message);\n    const messageElement = registeredMessage && registeredMessage.messageElement;\n    if (messagesContainer && messageElement) {\n      messagesContainer.removeChild(messageElement);\n    }\n    messageRegistry.delete(message);\n  }\n\n  /** Creates the global container for all aria-describedby messages. */\n  private _createMessagesContainer() {\n    messagesContainer = this._document.createElement('div');\n    messagesContainer.setAttribute('id', MESSAGES_CONTAINER_ID);\n    messagesContainer.setAttribute('aria-hidden', 'true');\n    messagesContainer.style.display = 'none';\n    this._document.body.appendChild(messagesContainer);\n  }\n\n  /** Deletes the global messages container. */\n
   private _deleteMessagesContainer() {\n    if (messagesContainer && messagesContainer.parentNode) {\n      messagesContainer.parentNode.removeChild(messagesContainer);\n      messagesContainer = null;\n    }\n  }\n\n  /** Removes all cdk-describedby messages that are hosted through the element. */\n  private _removeCdkDescribedByReferenceIds(element: Element) {\n    // Remove all aria-describedby reference IDs that are prefixed by CDK_DESCRIBEDBY_ID_PREFIX\n    const originalReferenceIds = getAriaReferenceIds(element, 'aria-describedby')\n        .filter(id => id.indexOf(CDK_DESCRIBEDBY_ID_PREFIX) != 0);\n    element.setAttribute('aria-describedby', originalReferenceIds.join(' '));\n  }\n\n  /**\n   * Adds a message reference to the element using aria-describedby and increments the registered\n   * message's reference count.\n   */\n  private _addMessageReference(element: Element, message: string) {\n    const registeredMessage = messageRegistry.get(message)!;\n\n    // Add the ari
 a-describedby reference and set the\n    // describedby_host attribute to mark the element.\n    addAriaReferencedId(element, 'aria-describedby', registeredMessage.messageElement.id);\n    element.setAttribute(CDK_DESCRIBEDBY_HOST_ATTRIBUTE, '');\n\n    registeredMessage.referenceCount++;\n  }\n\n  /**\n   * Removes a message reference from the element using aria-describedby\n   * and decrements the registered message's reference count.\n   */\n  private _removeMessageReference(element: Element, message: string) {\n    const registeredMessage = messageRegistry.get(message)!;\n    registeredMessage.referenceCount--;\n\n    removeAriaReferencedId(element, 'aria-describedby', registeredMessage.messageElement.id);\n    element.removeAttribute(CDK_DESCRIBEDBY_HOST_ATTRIBUTE);\n  }\n\n  /** Returns true if the element has been described by the provided message ID. */\n  private _isElementDescribedByMessage(element: Element, message: string): boolean {\n    const referenceIds = getAriaRefe
 renceIds(element, 'aria-describedby');\n    const registeredMessage = messageRegistry.get(message);\n    const messageId = registeredMessage && registeredMessage.messageElement.id;\n\n    return !!messageId && referenceIds.indexOf(messageId) != -1;\n  }\n\n}\n\n/** @docs-private */\nexport function ARIA_DESCRIBER_PROVIDER_FACTORY(parentDispatcher: AriaDescriber, _document: any) {\n  return parentDispatcher || new AriaDescriber(_document);\n}\n\n/** @docs-private */\nexport const ARIA_DESCRIBER_PROVIDER = {\n  // If there is already an AriaDescriber available, use that. Otherwise, provide a new one.\n  provide: AriaDescriber,\n  deps: [\n    [new Optional(), new SkipSelf(), AriaDescriber],\n    DOCUMENT as InjectionToken<any>\n  ],\n  useFactory: ARIA_DESCRIBER_PROVIDER_FACTORY\n};\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/licens
 e\n */\n\nimport {\n  Injectable,\n  InjectionToken,\n  Optional,\n  Inject,\n  SkipSelf,\n  OnDestroy,\n} from '@angular/core';\nimport {DOCUMENT} from '@angular/common';\n\n\nexport const LIVE_ANNOUNCER_ELEMENT_TOKEN = new InjectionToken<HTMLElement>('liveAnnouncerElement');\n\n/** Possible politeness levels. */\nexport type AriaLivePoliteness = 'off' | 'polite' | 'assertive';\n\n@Injectable()\nexport class LiveAnnouncer implements OnDestroy {\n  private _liveElement: Element;\n\n  constructor(\n      @Optional() @Inject(LIVE_ANNOUNCER_ELEMENT_TOKEN) elementToken: any,\n      @Inject(DOCUMENT) private _document: any) {\n\n    // We inject the live element as `any` because the constructor signature cannot reference\n    // browser globals (HTMLElement) on non-browser environments, since having a class decorator\n    // causes TypeScript to preserve the constructor signature types.\n    this._liveElement = elementToken || this._createLiveElement();\n  }\n\n  /**\n   * Announces a me
 ssage to screenreaders.\n   * @param message Message to be announced to the screenreader\n   * @param politeness The politeness of the announcer element\n   */\n  announce(message: string, politeness: AriaLivePoliteness = 'polite'): void {\n    this._liveElement.textContent = '';\n\n    // TODO: ensure changing the politeness works on all environments we support.\n    this._liveElement.setAttribute('aria-live', politeness);\n\n    // This 100ms timeout is necessary for some browser + screen-reader combinations:\n    // - Both JAWS and NVDA over IE11 will not announce anything without a non-zero timeout.\n    // - With Chrome and IE11 with NVDA or JAWS, a repeated (identical) message won't be read a\n    //   second time without clearing and then using a non-zero delay.\n    // (using JAWS 17 at time of this writing).\n    setTimeout(() => this._liveElement.textContent = message, 100);\n  }\n\n  ngOnDestroy() {\n    if (this._liveElement && this._liveElement.parentNode) {\n      this
 ._liveElement.parentNode.removeChild(this._liveElement);\n    }\n  }\n\n  private _createLiveElement(): Element {\n    let liveEl = this._document.createElement('div');\n\n    liveEl.classList.add('cdk-visually-hidden');\n    liveEl.setAttribute('aria-atomic', 'true');\n    liveEl.setAttribute('aria-live', 'polite');\n\n    this._document.body.appendChild(liveEl);\n\n    return liveEl;\n  }\n\n}\n\n/** @docs-private */\nexport function LIVE_ANNOUNCER_PROVIDER_FACTORY(\n    parentDispatcher: LiveAnnouncer, liveElement: any, _document: any) {\n  return parentDispatcher || new LiveAnnouncer(liveElement, _document);\n}\n\n/** @docs-private */\nexport const LIVE_ANNOUNCER_PROVIDER = {\n  // If there is already a LiveAnnouncer available, use that. Otherwise, provide a new one.\n  provide: LiveAnnouncer,\n  deps: [\n    [new Optional(), new SkipSelf(), LiveAnnouncer],\n    [new Optional(), new Inject(LIVE_ANNOUNCER_ELEMENT_TOKEN)],\n    DOCUMENT,\n  ],\n  useFactory: LIVE_ANNOUNCER_PROVIDE
 R_FACTORY\n};\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nimport {Platform, supportsPassiveEventListeners} from '@angular/cdk/platform';\nimport {\n  Directive,\n  ElementRef,\n  EventEmitter,\n  Injectable,\n  NgZone,\n  OnDestroy,\n  Optional,\n  Output,\n  Renderer2,\n  SkipSelf,\n} from '@angular/core';\nimport {Observable} from 'rxjs/Observable';\nimport {of as observableOf} from 'rxjs/observable/of';\nimport {Subject} from 'rxjs/Subject';\nimport {Subscription} from 'rxjs/Subscription';\n\n\n// This is the value used by AngularJS Material. Through trial and error (on iPhone 6S) they found\n// that a value of around 650ms seems appropriate.\nexport const TOUCH_BUFFER_MS = 650;\n\n\nexport type FocusOrigin = 'touch' | 'mouse' | 'keyboard' | 'program' | null;\n\n\ntype MonitoredElementInfo = {\n  unlisten: Functio
 n,\n  checkChildren: boolean,\n  subject: Subject<FocusOrigin>\n};\n\n\n/** Monitors mouse and keyboard events to determine the cause of focus events. */\n@Injectable()\nexport class FocusMonitor implements OnDestroy {\n  /** The focus origin that the next focus event is a result of. */\n  private _origin: FocusOrigin = null;\n\n  /** The FocusOrigin of the last focus event tracked by the FocusMonitor. */\n  private _lastFocusOrigin: FocusOrigin;\n\n  /** Whether the window has just been focused. */\n  private _windowFocused = false;\n\n  /** The target of the last touch event. */\n  private _lastTouchTarget: EventTarget | null;\n\n  /** The timeout id of the touch timeout, used to cancel timeout later. */\n  private _touchTimeoutId: number;\n\n  /** The timeout id of the window focus timeout. */\n  private _windowFocusTimeoutId: number;\n\n  /** The timeout id of the origin clearing timeout. */\n  private _originTimeoutId: number;\n\n  /** Map of elements being monitored to their i
 nfo. */\n  private _elementInfo = new Map<HTMLElement, MonitoredElementInfo>();\n\n  /** A map of global objects to lists of current listeners. */\n  private _unregisterGlobalListeners = () => {};\n\n  /** The number of elements currently being monitored. */\n  private _monitoredElementCount = 0;\n\n  constructor(private _ngZone: NgZone, private _platform: Platform) {}\n\n  /**\n   * @docs-private\n   * @deprecated renderer param no longer needed.\n   * @deletion-target 6.0.0\n   */\n  monitor(element: HTMLElement, renderer: Renderer2, checkChildren: boolean):\n      Observable<FocusOrigin>;\n  /**\n   * Monitors focus on an element and applies appropriate CSS classes.\n   * @param element The element to monitor\n   * @param checkChildren Whether to count the element as focused when its children are focused.\n   * @returns An observable that emits when the focus state of the element changes.\n   *     When the element is blurred, null will be emitted.\n   */\n  monitor(element: HTML
 Element, checkChildren?: boolean): Observable<FocusOrigin>;\n  monitor(\n      element: HTMLElement,\n      renderer?: Renderer2 | boolean,\n      checkChildren?: boolean): Observable<FocusOrigin> {\n    // TODO(mmalerba): clean up after deprecated signature is removed.\n    if (!(renderer instanceof Renderer2)) {\n      checkChildren = renderer;\n    }\n    checkChildren = !!checkChildren;\n\n    // Do nothing if we're not on the browser platform.\n    if (!this._platform.isBrowser) {\n      return observableOf(null);\n    }\n    // Check if we're already monitoring this element.\n    if (this._elementInfo.has(element)) {\n      let cachedInfo = this._elementInfo.get(element);\n      cachedInfo!.checkChildren = checkChildren;\n      return cachedInfo!.subject.asObservable();\n    }\n\n    // Create monitored element info.\n    let info: MonitoredElementInfo = {\n      unlisten: () => {},\n      checkChildren: checkChildren,\n      subject: new Subject<FocusOrigin>()\n    };\n    th
 is._elementInfo.set(element, info);\n    this._incrementMonitoredElementCount();\n\n    // Start listening. We need to listen in capture phase since focus events don't bubble.\n    let focusListener = (event: FocusEvent) => this._onFocus(event, element);\n    let blurListener = (event: FocusEvent) => this._onBlur(event, element);\n    this._ngZone.runOutsideAngular(() => {\n      element.addEventListener('focus', focusListener, true);\n      element.addEventListener('blur', blurListener, true);\n    });\n\n    // Create an unlisten function for later.\n    info.unlisten = () => {\n      element.removeEventListener('focus', focusListener, true);\n      element.removeEventListener('blur', blurListener, true);\n    };\n\n    return info.subject.asObservable();\n  }\n\n  /**\n   * Stops monitoring an element and removes all focus classes.\n   * @param element The element to stop monitoring.\n   */\n  stopMonitoring(element: HTMLElement): void {\n    const elementInfo = this._elementInfo
 .get(element);\n\n    if (elementInfo) {\n      elementInfo.unlisten();\n      elementInfo.subject.complete();\n\n      this._setClasses(element);\n      this._elementInfo.delete(element);\n      this._decrementMonitoredElementCount();\n    }\n  }\n\n  /**\n   * Focuses the element via the specified focus origin.\n   * @param element The element to focus.\n   * @param origin The focus origin.\n   */\n  focusVia(element: HTMLElement, origin: FocusOrigin): void {\n    this._setOriginForCurrentEventQueue(origin);\n    element.focus();\n  }\n\n  ngOnDestroy() {\n    this._elementInfo.forEach((_info, element) => this.stopMonitoring(element));\n  }\n\n  /** Register necessary event listeners on the document and window. */\n  private _registerGlobalListeners() {\n    // Do nothing if we're not on the browser platform.\n    if (!this._platform.isBrowser) {\n      return;\n    }\n\n    // On keydown record the origin and clear any touch event that may be in progress.\n    let documentKeydown
 Listener = () => {\n      this._lastTouchTarget = null;\n      this._setOriginForCurrentEventQueue('keyboard');\n    };\n\n    // On mousedown record the origin only if there is not touch target, since a mousedown can\n    // happen as a result of a touch event.\n    let documentMousedownListener = () => {\n      if (!this._lastTouchTarget) {\n        this._setOriginForCurrentEventQueue('mouse');\n      }\n    };\n\n    // When the touchstart event fires the focus event is not yet in the event queue. This means\n    // we can't rely on the trick used above (setting timeout of 0ms). Instead we wait 650ms to\n    // see if a focus happens.\n    let documentTouchstartListener = (event: TouchEvent) => {\n      if (this._touchTimeoutId != null) {\n        clearTimeout(this._touchTimeoutId);\n      }\n      this._lastTouchTarget = event.target;\n      this._touchTimeoutId = setTimeout(() => this._lastTouchTarget = null, TOUCH_BUFFER_MS);\n    };\n\n    // Make a note of when the window re
 gains focus, so we can restore the origin info for the\n    // focused element.\n    let windowFocusListener = () => {\n      this._windowFocused = true;\n      this._windowFocusTimeoutId = setTimeout(() => this._windowFocused = false, 0);\n    };\n\n    // Note: we listen to events in the capture phase so we can detect them even if the user stops\n    // propagation.\n    this._ngZone.runOutsideAngular(() => {\n      document.addEventListener('keydown', documentKeydownListener, true);\n      document.addEventListener('mousedown', documentMousedownListener, true);\n      document.addEventListener('touchstart', documentTouchstartListener,\n          supportsPassiveEventListeners() ? ({passive: true, capture: true} as any) : true);\n      window.addEventListener('focus', windowFocusListener);\n    });\n\n    this._unregisterGlobalListeners = () => {\n      document.removeEventListener('keydown', documentKeydownListener, true);\n      document.removeEventListener('mousedown', documentM
 ousedownListener, true);\n      document.removeEventListener('touchstart', documentTouchstartListener,\n          supportsPassiveEventListeners() ? ({passive: true, capture: true} as any) : true);\n      window.removeEventListener('focus', windowFocusListener);\n\n      // Clear timeouts for all potentially pending timeouts to prevent the leaks.\n      clearTimeout(this._windowFocusTimeoutId);\n      clearTimeout(this._touchTimeoutId);\n      clearTimeout(this._originTimeoutId);\n    };\n  }\n\n  private _toggleClass(element: Element, className: string, shouldSet: boolean) {\n    if (shouldSet) {\n      element.classList.add(className);\n    } else {\n      element.classList.remove(className);\n    }\n  }\n\n  /**\n   * Sets the focus classes on the element based on the given focus origin.\n   * @param element The element to update the classes on.\n   * @param origin The focus origin.\n   */\n  private _setClasses(element: HTMLElement, origin?: FocusOrigin): void {\n    const elemen
 tInfo = this._elementInfo.get(element);\n\n    if (elementInfo) {\n      this._toggleClass(element, 'cdk-focused', !!origin);\n      this._toggleClass(element, 'cdk-touch-focused', origin === 'touch');\n      this._toggleClass(element, 'cdk-keyboard-focused', origin === 'keyboard');\n      this._toggleClass(element, 'cdk-mouse-focused', origin === 'mouse');\n      this._toggleClass(element, 'cdk-program-focused', origin === 'program');\n    }\n  }\n\n  /**\n   * Sets the origin and schedules an async function to clear it at the end of the event queue.\n   * @param origin The origin to set.\n   */\n  private _setOriginForCurrentEventQueue(origin: FocusOrigin): void {\n    this._origin = origin;\n    this._originTimeoutId = setTimeout(() => this._origin = null, 0);\n  }\n\n  /**\n   * Checks whether the given focus event was caused by a touchstart event.\n   * @param event The focus event to check.\n   * @returns Whether the event was caused by a touch.\n   */\n  private _wasCausedByT
 ouch(event: FocusEvent): boolean {\n    // Note(mmalerba): This implementation is not quite perfect, there is a small edge case.\n    // Consider the following dom structure:\n    //\n    // <div #parent tabindex=\"0\" cdkFocusClasses>\n    //   <div #child (click)=\"#parent.focus()\"></div>\n    // </div>\n    //\n    // If the user touches the #child element and the #parent is programmatically focused as a\n    // result, this code will still consider it to have been caused by the touch event and will\n    // apply the cdk-touch-focused class rather than the cdk-program-focused class. This is a\n    // relatively small edge-case that can be worked around by using\n    // focusVia(parentEl, 'program') to focus the parent element.\n    //\n    // If we decide that we absolutely must handle this case correctly, we can do so by listening\n    // for the first focus event after the touchstart, and then the first blur event after that\n    // focus event. When that blur event fires we k
 now that whatever follows is not a result of the\n    // touchstart.\n    let focusTarget = event.target;\n    return this._lastTouchTarget instanceof Node && focusTarget instanceof Node &&\n        (focusTarget === this._lastTouchTarget || focusTarget.contains(this._lastTouchTarget));\n  }\n\n  /**\n   * Handles focus events on a registered element.\n   * @param event The focus event.\n   * @param element The monitored element.\n   */\n  private _onFocus(event: FocusEvent, element: HTMLElement) {\n    // NOTE(mmalerba): We currently set the classes based on the focus origin of the most recent\n    // focus event affecting the monitored element. If we want to use the origin of the first event\n    // instead we should check for the cdk-focused class here and return if the element already has\n    // it. (This only matters for elements that have includesChildren = true).\n\n    // If we are not counting child-element-focus as focused, make sure that the event target is the\n    // mo
 nitored element itself.\n    const elementInfo = this._elementInfo.get(element);\n    if (!elementInfo || (!elementInfo.checkChildren && element !== event.target)) {\n      return;\n    }\n\n    // If we couldn't detect a cause for the focus event, it's due to one of three reasons:\n    // 1) The window has just regained focus, in which case we want to restore the focused state of\n    //    the element from before the window blurred.\n    // 2) It was caused by a touch event, in which case we mark the origin as 'touch'.\n    // 3) The element was programmatically focused, in which case we should mark the origin as\n    //    'program'.\n    if (!this._origin) {\n      if (this._windowFocused && this._lastFocusOrigin) {\n        this._origin = this._lastFocusOrigin;\n      } else if (this._wasCausedByTouch(event)) {\n        this._origin = 'touch';\n      } else {\n        this._origin = 'program';\n      }\n    }\n\n    this._setClasses(element, this._origin);\n    elementInfo.subj
 ect.next(this._origin);\n    this._lastFocusOrigin = this._origin;\n    this._origin = null;\n  }\n\n  /**\n   * Handles blur events on a registered element.\n   * @param event The blur event.\n   * @param element The monitored element.\n   */\n  _onBlur(event: FocusEvent, element: HTMLElement) {\n    // If we are counting child-element-focus as focused, make sure that we aren't just blurring in\n    // order to focus another child of the monitored element.\n    const elementInfo = this._elementInfo.get(element);\n\n    if (!elementInfo || (elementInfo.checkChildren && event.relatedTarget instanceof Node &&\n        element.contains(event.relatedTarget))) {\n      return;\n    }\n\n    this._setClasses(element);\n    elementInfo.subject.next(null);\n  }\n\n  private _incrementMonitoredElementCount() {\n    // Register global listeners when first element is monitored.\n    if (++this._monitoredElementCount == 1) {\n      this._registerGlobalListeners();\n    }\n  }\n\n  private _decr
 ementMonitoredElementCount() {\n    // Unregister global listeners when last element is unmonitored.\n    if (!--this._monitoredElementCount) {\n      this._unregisterGlobalListeners();\n      this._unregisterGlobalListeners = () => {};\n    }\n  }\n\n}\n\n\n/**\n * Directive that determines how a particular element was focused (via keyboard, mouse, touch, or\n * programmatically) and adds corresponding classes to the element.\n *\n * There are two variants of this directive:\n * 1) cdkMonitorElementFocus: does not consider an element to be focused if one of its children is\n *    focused.\n * 2) cdkMonitorSubtreeFocus: considers an element focused if it or any of its children are focused.\n */\n@Directive({\n  selector: '[cdkMonitorElementFocus], [cdkMonitorSubtreeFocus]',\n})\nexport class CdkMonitorFocus implements OnDestroy {\n  private _monitorSubscription: Subscription;\n  @Output() cdkFocusChange = new EventEmitter<FocusOrigin>();\n\n  constructor(private _elementRef: Element
 Ref, private _focusMonitor: FocusMonitor) {\n    this._monitorSubscription = this._focusMonitor.monitor(\n        this._elementRef.nativeElement,\n        this._elementRef.nativeElement.hasAttribute('cdkMonitorSubtreeFocus'))\n        .subscribe(origin => this.cdkFocusChange.emit(origin));\n  }\n\n  ngOnDestroy() {\n    this._focusMonitor.stopMonitoring(this._elementRef.nativeElement);\n    this._monitorSubscription.unsubscribe();\n  }\n}\n\n/** @docs-private */\nexport function FOCUS_MONITOR_PROVIDER_FACTORY(\n    parentDispatcher: FocusMonitor, ngZone: NgZone, platform: Platform) {\n  return parentDispatcher || new FocusMonitor(ngZone, platform);\n}\n\n/** @docs-private */\nexport const FOCUS_MONITOR_PROVIDER = {\n  // If there is already a FocusMonitor available, use that. Otherwise, provide a new one.\n  provide: FocusMonitor,\n  deps: [[new Optional(), new SkipSelf(), FocusMonitor], NgZone, Platform],\n  useFactory: FOCUS_MONITOR_PROVIDER_FACTORY\n};\n","/**\n * @license\n * Co
 pyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * Screenreaders will often fire fake mousedown events when a focusable element\n * is activated using the keyboard. We can typically distinguish between these faked\n * mousedown events and real mousedown events using the \"buttons\" property. While\n * real mousedowns will indicate the mouse button that was pressed (e.g. \"1\" for\n * the left mouse button), faked mousedowns will usually set the property value to 0.\n */\nexport function isFakeMousedownFromScreenReader(event: MouseEvent): boolean {\n  return event.buttons === 0;\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {\n  Directive,\n  ElementRef,\n  Input,\n
   NgZone,\n  OnDestroy,\n  AfterContentInit,\n  Injectable,\n  Inject,\n} from '@angular/core';\nimport {coerceBooleanProperty} from '@angular/cdk/coercion';\nimport {take} from 'rxjs/operators/take';\nimport {InteractivityChecker} from '../interactivity-checker/interactivity-checker';\nimport {DOCUMENT} from '@angular/common';\n\n\n/**\n * Class that allows for trapping focus within a DOM element.\n *\n * This class currently uses a relatively simple approach to focus trapping.\n * It assumes that the tab order is the same as DOM order, which is not necessarily true.\n * Things like `tabIndex > 0`, flex `order`, and shadow roots can cause to two to misalign.\n */\nexport class FocusTrap {\n  private _startAnchor: HTMLElement | null;\n  private _endAnchor: HTMLElement | null;\n\n  /** Whether the focus trap is active. */\n  get enabled(): boolean { return this._enabled; }\n  set enabled(val: boolean) {\n    this._enabled = val;\n\n    if (this._startAnchor && this._endAnchor) {\n   
    this._startAnchor.tabIndex = this._endAnchor.tabIndex = this._enabled ? 0 : -1;\n    }\n  }\n  private _enabled: boolean = true;\n\n  constructor(\n    private _element: HTMLElement,\n    private _checker: InteractivityChecker,\n    private _ngZone: NgZone,\n    private _document: Document,\n    deferAnchors = false) {\n\n    if (!deferAnchors) {\n      this.attachAnchors();\n    }\n  }\n\n  /** Destroys the focus trap by cleaning up the anchors. */\n  destroy() {\n    if (this._startAnchor && this._startAnchor.parentNode) {\n      this._startAnchor.parentNode.removeChild(this._startAnchor);\n    }\n\n    if (this._endAnchor && this._endAnchor.parentNode) {\n      this._endAnchor.parentNode.removeChild(this._endAnchor);\n    }\n\n    this._startAnchor = this._endAnchor = null;\n  }\n\n  /**\n   * Inserts the anchors into the DOM. This is usually done automatically\n   * in the constructor, but can be deferred for cases like directives with `*ngIf`.\n   */\n  attachAnchors(): void
  {\n    if (!this._startAnchor) {\n      this._startAnchor = this._createAnchor();\n    }\n\n    if (!this._endAnchor) {\n      this._endAnchor = this._createAnchor();\n    }\n\n    this._ngZone.runOutsideAngular(() => {\n      this._startAnchor!.addEventListener('focus', () => {\n        this.focusLastTabbableElement();\n      });\n\n      this._endAnchor!.addEventListener('focus', () => {\n        this.focusFirstTabbableElement();\n      });\n\n      if (this._element.parentNode) {\n        this._element.parentNode.insertBefore(this._startAnchor!, this._element);\n        this._element.parentNode.insertBefore(this._endAnchor!, this._element.nextSibling);\n      }\n    });\n  }\n\n  /**\n   * Waits for the zone to stabilize, then either focuses the first element that the\n   * user specified, or the first tabbable element.\n   * @returns Returns a promise that resolves with a boolean, depending\n   * on whether focus was moved successfuly.\n   */\n  focusInitialElementWhenReady(): 
 Promise<boolean> {\n    return new Promise<boolean>(resolve => {\n      this._executeOnStable(() => resolve(this.focusInitialElement()));\n    });\n  }\n\n  /**\n   * Waits for the zone to stabilize, then focuses\n   * the first tabbable element within the focus trap region.\n   * @returns Returns a promise that resolves with a boolean, depending\n   * on whether focus was moved successfuly.\n   */\n  focusFirstTabbableElementWhenReady(): Promise<boolean> {\n    return new Promise<boolean>(resolve => {\n      this._executeOnStable(() => resolve(this.focusFirstTabbableElement()));\n    });\n  }\n\n  /**\n   * Waits for the zone to stabilize, then focuses\n   * the last tabbable element within the focus trap region.\n   * @returns Returns a promise that resolves with a boolean, depending\n   * on whether focus was moved successfuly.\n   */\n  focusLastTabbableElementWhenReady(): Promise<boolean> {\n    return new Promise<boolean>(resolve => {\n      this._executeOnStable(() => resolve
 (this.focusLastTabbableElement()));\n    });\n  }\n\n  /**\n   * Get the specified boundary element of the trapped region.\n   * @param bound The boundary to get (start or end of trapped region).\n   * @returns The boundary element.\n   */\n  private _getRegionBoundary(bound: 'start' | 'end'): HTMLElement | null {\n    // Contains the deprecated version of selector, for temporary backwards comparability.\n    let markers = this._element.querySelectorAll(`[cdk-focus-region-${bound}], ` +\n                                                 `[cdkFocusRegion${bound}], ` +\n                                                 `[cdk-focus-${bound}]`) as NodeListOf<HTMLElement>;\n\n    for (let i = 0; i < markers.length; i++) {\n      if (markers[i].hasAttribute(`cdk-focus-${bound}`)) {\n        console.warn(`Found use of deprecated attribute 'cdk-focus-${bound}',` +\n                     ` use 'cdkFocusRegion${bound}' instead.`, markers[i]);\n      } else if (markers[i].hasAttribute(`cdk-focus-
 region-${bound}`)) {\n        console.warn(`Found use of deprecated attribute 'cdk-focus-region-${bound}',` +\n                     ` use 'cdkFocusRegion${bound}' instead.`, markers[i]);\n      }\n    }\n\n    if (bound == 'start') {\n      return markers.length ? markers[0] : this._getFirstTabbableElement(this._element);\n    }\n    return markers.length ?\n        markers[markers.length - 1] : this._getLastTabbableElement(this._element);\n  }\n\n  /**\n   * Focuses the element that should be focused when the focus trap is initialized.\n   * @returns Whether focus was moved successfuly.\n   */\n  focusInitialElement(): boolean {\n    // Contains the deprecated version of selector, for temporary backwards comparability.\n    const redirectToElement = this._element.querySelector(`[cdk-focus-initial], ` +\n                                                          `[cdkFocusInitial]`) as HTMLElement;\n\n    if (this._element.hasAttribute(`cdk-focus-initial`)) {\n      console.warn(`Fou
 nd use of deprecated attribute 'cdk-focus-initial',` +\n                    ` use 'cdkFocusInitial' instead.`, this._element);\n    }\n\n    if (redirectToElement) {\n      redirectToElement.focus();\n      return true;\n    }\n\n    return this.focusFirstTabbableElement();\n  }\n\n  /**\n   * Focuses the first tabbable element within the focus trap region.\n   * @returns Whether focus was moved successfuly.\n   */\n  focusFirstTabbableElement(): boolean {\n    const redirectToElement = this._getRegionBoundary('start');\n\n    if (redirectToElement) {\n      redirectToElement.focus();\n    }\n\n    return !!redirectToElement;\n  }\n\n  /**\n   * Focuses the last tabbable element within the focus trap region.\n   * @returns Whether focus was moved successfuly.\n   */\n  focusLastTabbableElement(): boolean {\n    const redirectToElement = this._getRegionBoundary('end');\n\n    if (redirectToElement) {\n      redirectToElement.focus();\n    }\n\n    return !!redirectToElement;\n  }\n\n
   /** Get the first tabbable element from a DOM subtree (inclusive). */\n  private _getFirstTabbableElement(root: HTMLElement): HTMLElement | null {\n    if (this._checker.isFocusable(root) && this._checker.isTabbable(root)) {\n      return root;\n    }\n\n    // Iterate in DOM order. Note that IE doesn't have `children` for SVG so we fall\n    // back to `childNodes` which includes text nodes, comments etc.\n    let children = root.children || root.childNodes;\n\n    for (let i = 0; i < children.length; i++) {\n      let tabbableChild = children[i].nodeType === this._document.ELEMENT_NODE ?\n        this._getFirstTabbableElement(children[i] as HTMLElement) :\n        null;\n\n      if (tabbableChild) {\n        return tabbableChild;\n      }\n    }\n\n    return null;\n  }\n\n  /** Get the last tabbable element from a DOM subtree (inclusive). */\n  private _getLastTabbableElement(root: HTMLElement): HTMLElement | null {\n    if (this._checker.isFocusable(root) && this._checker.isTa
 bbable(root)) {\n      return root;\n    }\n\n    // Iterate in reverse DOM order.\n    let children = root.children || root.childNodes;\n\n    for (let i = children.length - 1; i >= 0; i--) {\n      let tabbableChild = children[i].nodeType === this._document.ELEMENT_NODE ?\n        this._getLastTabbableElement(children[i] as HTMLElement) :\n        null;\n\n      if (tabbableChild) {\n        return tabbableChild;\n      }\n    }\n\n    return null;\n  }\n\n  /** Creates an anchor element. */\n  private _createAnchor(): HTMLElement {\n    const anchor = this._document.createElement('div');\n    anchor.tabIndex = this._enabled ? 0 : -1;\n    anchor.classList.add('cdk-visually-hidden');\n    anchor.classList.add('cdk-focus-trap-anchor');\n    return anchor;\n  }\n\n  /** Executes a function when the zone is stable. */\n  private _executeOnStable(fn: () => any): void {\n    if (this._ngZone.isStable) {\n      fn();\n    } else {\n      this._ngZone.onStable.asObservable().pipe(take(1)
 ).subscribe(fn);\n    }\n  }\n}\n\n\n/** Factory that allows easy instantiation of focus traps. */\n@Injectable()\nexport class FocusTrapFactory {\n  private _document: Document;\n\n  constructor(\n      private _checker: InteractivityChecker,\n      private _ngZone: NgZone,\n      @Inject(DOCUMENT) _document: any) {\n\n    this._document = _document;\n  }\n\n  /**\n   * Creates a focus-trapped region around the given element.\n   * @param element The element around which focus will be trapped.\n   * @param deferCaptureElements Defers the creation of focus-capturing elements to be done\n   *     manually by the user.\n   * @returns The created focus trap instance.\n   */\n  create(element: HTMLElement, deferCaptureElements: boolean = false): FocusTrap {\n    return new FocusTrap(\n        element, this._checker, this._ngZone, this._document, deferCaptureElements);\n  }\n}\n\n\n/**\n * Directive for trapping focus within a region.\n * @docs-private\n * @deprecated\n * @deletion-targe
 t 6.0.0\n */\n@Directive({\n  selector: 'cdk-focus-trap',\n})\nexport class FocusTrapDeprecatedDirective implements OnDestroy, AfterContentInit {\n  focusTrap: FocusTrap;\n\n  /** Whether the focus trap is active. */\n  @Input()\n  get disabled(): boolean { return !this.focusTrap.enabled; }\n  set disabled(val: boolean) {\n    this.focusTrap.enabled = !coerceBooleanProperty(val);\n  }\n\n  constructor(private _elementRef: ElementRef, private _focusTrapFactory: FocusTrapFactory) {\n    this.focusTrap = this._focusTrapFactory.create(this._elementRef.nativeElement, true);\n  }\n\n  ngOnDestroy() {\n    this.focusTrap.destroy();\n  }\n\n  ngAfterContentInit() {\n    this.focusTrap.attachAnchors();\n  }\n}\n\n\n/** Directive for trapping focus within a region. */\n@Directive({\n  selector: '[cdkTrapFocus]',\n  exportAs: 'cdkTrapFocus',\n})\nexport class CdkTrapFocus implements OnDestroy, AfterContentInit {\n  private _document: Document;\n\n  /** Underlying FocusTrap instance. */\n  focu
 sTrap: FocusTrap;\n\n  /** Previously focused element to restore focus to upon destroy when using autoCapture. */\n  private _previouslyFocusedElement: HTMLElement | null = null;\n\n  /** Whether the focus trap is active. */\n  @Input('cdkTrapFocus')\n  get enabled(): boolean { return this.focusTrap.enabled; }\n  set enabled(value: boolean) { this.focusTrap.enabled = coerceBooleanProperty(value); }\n\n  /**\n   * Whether the directive should automatially move focus into the trapped region upon\n   * initialization and return focus to the previous activeElement upon destruction.\n   */\n  @Input('cdkTrapFocusAutoCapture')\n  get autoCapture(): boolean { return this._autoCapture; }\n  set autoCapture(value: boolean) { this._autoCapture = coerceBooleanProperty(value); }\n  private _autoCapture: boolean;\n\n  constructor(\n      private _elementRef: ElementRef,\n      private _focusTrapFactory: FocusTrapFactory,\n      @Inject(DOCUMENT) _document: any) {\n\n    this._document = _documen
 t;\n    this.focusTrap = this._focusTrapFactory.create(this._elementRef.nativeElement, true);\n  }\n\n  ngOnDestroy() {\n    this.focusTrap.destroy();\n\n    // If we stored a previously focused element when using autoCapture, return focus to that\n    // element now that the trapped region is being destroyed.\n    if (this._previouslyFocusedElement) {\n      this._previouslyFocusedElement.focus();\n      this._previouslyFocusedElement = null;\n    }\n  }\n\n  ngAfterContentInit() {\n    this.focusTrap.attachAnchors();\n\n    if (this.autoCapture) {\n      this._previouslyFocusedElement = this._document.activeElement as HTMLElement;\n      this.focusTrap.focusInitialElementWhenReady();\n    }\n  }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {QueryList} from '@angular/core';\nimport {Subject} from 'rxjs/Su
 bject';\nimport {Subscription} from 'rxjs/Subscription';\nimport {\n  UP_ARROW,\n  DOWN_ARROW,\n  LEFT_ARROW,\n  RIGHT_ARROW,\n  TAB,\n  A,\n  Z,\n  ZERO,\n  NINE,\n} from '@angular/cdk/keycodes';\nimport {debounceTime} from 'rxjs/operators/debounceTime';\nimport {filter} from 'rxjs/operators/filter';\nimport {map} from 'rxjs/operators/map';\nimport {tap} from 'rxjs/operators/tap';\n\n/** This interface is for items that can be passed to a ListKeyManager. */\nexport interface ListKeyManagerOption {\n  /** Whether the option is disabled. */\n  disabled?: boolean;\n\n  /** Gets the label for this option. */\n  getLabel?(): string;\n}\n\n/**\n * This class manages keyboard events for selectable lists. If you pass it a query list\n * of items, it will set the active item correctly when arrow events occur.\n */\nexport class ListKeyManager<T extends ListKeyManagerOption> {\n  private _activeItemIndex = -1;\n  private _activeItem: T;\n  private _wrap = false;\n  private _letterKeyStream =
  new Subject<string>();\n  private _typeaheadSubscription = Subscription.EMPTY;\n  private _vertical = true;\n  private _horizontal: 'ltr' | 'rtl' | null;\n\n  // Buffer for the letters that the user has pressed when the typeahead option is turned on.\n  private _pressedLetters: string[] = [];\n\n  constructor(private _items: QueryList<T>) {\n    _items.changes.subscribe((newItems: QueryList<T>) => {\n      if (this._activeItem) {\n        const itemArray = newItems.toArray();\n        const newIndex = itemArray.indexOf(this._activeItem);\n\n        if (newIndex > -1 && newIndex !== this._activeItemIndex) {\n          this._activeItemIndex = newIndex;\n        }\n      }\n    });\n  }\n\n  /**\n   * Stream that emits any time the TAB key is pressed, so components can react\n   * when focus is shifted off of the list.\n   */\n  tabOut: Subject<void> = new Subject<void>();\n\n  /** Stream that emits whenever the active item of the list manager changes. */\n  change = new Subject<numbe
 r>();\n\n  /**\n   * Turns on wrapping mode, which ensures that the active item will wrap to\n   * the other end of list when there are no more items in the given direction.\n   */\n  withWrap(): this {\n    this._wrap = true;\n    return this;\n  }\n\n  /**\n   * Configures whether the key manager should be able to move the selection vertically.\n   * @param enabled Whether vertical selection should be enabled.\n   */\n  withVerticalOrientation(enabled: boolean = true): this {\n    this._vertical = enabled;\n    return this;\n  }\n\n  /**\n   * Configures the key manager to move the selection horizontally.\n   * Passing in `null` will disable horizontal movement.\n   * @param direction Direction in which the selection can be moved.\n   */\n  withHorizontalOrientation(direction: 'ltr' | 'rtl' | null): this {\n    this._horizontal = direction;\n    return this;\n  }\n\n  /**\n   * Turns on typeahead mode which allows users to set the active item by typing.\n   * @param debounceInterv
 al Time to wait after the last keystroke before setting the active item.\n   */\n  withTypeAhead(debounceInterval: number = 200): this {\n    if (this._items.length && this._items.some(item => typeof item.getLabel !== 'function')) {\n      throw Error('ListKeyManager items in typeahead mode must implement the `getLabel` method.');\n    }\n\n    this._typeaheadSubscription.unsubscribe();\n\n    // Debounce the presses of non-navigational keys, collect the ones that correspond to letters\n    // and convert those letters back into a string. Afterwards find the first item that starts\n    // with that string and select it.\n    this._typeaheadSubscription = this._letterKeyStream.pipe(\n      tap(keyCode => this._pressedLetters.push(keyCode)),\n      debounceTime(debounceInterval),\n      filter(() => this._pressedLetters.length > 0),\n      map(() => this._pressedLetters.join(''))\n    ).subscribe(inputString => {\n      const items = this._items.toArray();\n\n      // Start at 1 becau
 se we want to start searching at the item immediately\n      // following the current active item.\n      for (let i = 1; i < items.length + 1; i++) {\n        const index = (this._activeItemIndex + i) % items.length;\n        const item = items[index];\n\n        if (!item.disabled && item.getLabel!().toUpperCase().trim().indexOf(inputString) === 0) {\n          this.setActiveItem(index);\n          break;\n        }\n      }\n\n      this._pressedLetters = [];\n    });\n\n    return this;\n  }\n\n  /**\n   * Sets the active item to the item at the index specified.\n   * @param index The index of the item to be set as active.\n   */\n  setActiveItem(index: number): void {\n    const previousIndex = this._activeItemIndex;\n\n    this._activeItemIndex = index;\n    this._activeItem = this._items.toArray()[index];\n\n    if (this._activeItemIndex !== previousIndex) {\n      this.change.next(index);\n    }\n  }\n\n  /**\n   * Sets the active item depending on the key event passed in.\n
    * @param event Keyboard event to be used for determining which element should be active.\n   */\n  onKeydown(event: KeyboardEvent): void {\n    const keyCode = event.keyCode;\n\n    switch (keyCode) {\n      case TAB:\n        this.tabOut.next();\n        return;\n\n      case DOWN_ARROW:\n        if (this._vertical) {\n          this.setNextItemActive();\n          break;\n        }\n\n      case UP_ARROW:\n        if (this._vertical) {\n          this.setPreviousItemActive();\n          break;\n        }\n\n      case RIGHT_ARROW:\n        if (this._horizontal === 'ltr') {\n          this.setNextItemActive();\n          break;\n        } else if (this._horizontal === 'rtl') {\n          this.setPreviousItemActive();\n          break;\n        }\n\n      case LEFT_ARROW:\n        if (this._horizontal === 'ltr') {\n          this.setPreviousItemActive();\n          break;\n        } else if (this._horizontal === 'rtl') {\n          this.setNextItemActive();\n          break;\n   
      }\n\n      default:\n        // Attempt to use the `event.key` which also maps it to the user's keyboard language,\n        // otherwise fall back to resolving alphanumeric characters via the keyCode.\n        if (event.key && event.key.length === 1) {\n          this._letterKeyStream.next(event.key.toLocaleUpperCase());\n        } else if ((keyCode >= A && keyCode <= Z) || (keyCode >= ZERO && keyCode <= NINE)) {\n          this._letterKeyStream.next(String.fromCharCode(keyCode));\n        }\n\n        // Note that we return here, in order to avoid preventing\n        // the default action of non-navigational keys.\n        return;\n    }\n\n    this._pressedLetters = [];\n    event.preventDefault();\n  }\n\n  /** Index of the currently active item. */\n  get activeItemIndex(): number | null {\n    return this._activeItemIndex;\n  }\n\n  /** The active item. */\n  get activeItem(): T | null {\n    return this._activeItem;\n  }\n\n  /** Sets the active item to the first enabled 
 item in the list. */\n  setFirstItemActive(): void {\n    this._setActiveItemByIndex(0, 1);\n  }\n\n  /** Sets the active item to the last enabled item in the list. */\n  setLastItemActive(): void {\n    this._setActiveItemByIndex(this._items.length - 1, -1);\n  }\n\n  /** Sets the active item to the next enabled item in the list. */\n  setNextItemActive(): void {\n    this._activeItemIndex < 0 ? this.setFirstItemActive() : this._setActiveItemByDelta(1);\n  }\n\n  /** Sets the active item to a previous enabled item in the list. */\n  setPreviousItemActive(): void {\n    this._activeItemIndex < 0 && this._wrap ? this.setLastItemActive()\n                                            : this._setActiveItemByDelta(-1);\n  }\n\n  /**\n   * Allows setting of the activeItemIndex without any other effects.\n   * @param index The new activeItemIndex.\n   */\n  updateActiveItemIndex(index: number) {\n    this._activeItemIndex = index;\n  }\n\n  /**\n   * This method sets the active item, given 
 a list of items and the delta between the\n   * currently active item and the new active item. It will calculate differently\n   * depending on whether wrap mode is turned on.\n   */\n  private _setActiveItemByDelta(delta: number, items = this._items.toArray()): void {\n    this._wrap ? this._setActiveInWrapMode(delta, items)\n               : this._setActiveInDefaultMode(delta, items);\n  }\n\n  /**\n   * Sets the active item properly given \"wrap\" mode. In other words, it will continue to move\n   * down the list until it finds an item that is not disabled, and it will wrap if it\n   * encounters either end of the list.\n   */\n  private _setActiveInWrapMode(delta: number, items: T[]): void {\n    // when active item would leave menu, wrap to beginning or end\n    this._activeItemIndex =\n      (this._activeItemIndex + delta + items.length) % items.length;\n\n    // skip all disabled menu items recursively until an enabled one is reached\n    if (items[this._activeItemIndex].disa
 bled) {\n      this._setActiveInWrapMode(delta, items);\n    } else {\n      this.setActiveItem(this._activeItemIndex);\n    }\n  }\n\n  /**\n   * Sets the active item properly given the default mode. In other words, it will\n   * continue to move down the list until it finds an item that is not disabled. If\n   * it encounters either end of the list, it will stop and not wrap.\n   */\n  private _setActiveInDefaultMode(delta: number, items: T[]): void {\n    this._setActiveItemByIndex(this._activeItemIndex + delta, delta, items);\n  }\n\n  /**\n   * Sets the active item to the first enabled item starting at the index specified. If the\n   * item is disabled, it will move in the fallbackDelta direction until it either\n   * finds an enabled item or encounters the end of the list.\n   */\n  private _setActiveItemByIndex(index: number, fallbackDelta: number,\n                                  items = this._items.toArray()): void {\n    if (!items[index]) { return; }\n\n    while (items
 [index].disabled) {\n      index += fallbackDelta;\n      if (!items[index]) { return; }\n    }\n\n    this.setActiveItem(index);\n  }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {ListKeyManager, ListKeyManagerOption} from './list-key-manager';\n\n/**\n * This is the interface for highlightable items (used by the ActiveDescendantKeyManager).\n * Each item must know how to style itself as active or inactive and whether or not it is\n * currently disabled.\n */\nexport interface Highlightable extends ListKeyManagerOption {\n  /** Applies the styles for an active item to this item. */\n  setActiveStyles(): void;\n\n  /** Applies the styles for an inactive item to this item. */\n  setInactiveStyles(): void;\n}\n\nexport class ActiveDescendantKeyManager<T> extends ListKeyManager<Highlightable & T> {\n\n  /**\n
    * This method sets the active item to the item at the specified index.\n   * It also adds active styles to the newly active item and removes active\n   * styles from the previously active item.\n   */\n  setActiveItem(index: number): void {\n    if (this.activeItem) {\n      this.activeItem.setInactiveStyles();\n    }\n    super.setActiveItem(index);\n    if (this.activeItem) {\n      this.activeItem.setActiveStyles();\n    }\n  }\n\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {ListKeyManager, ListKeyManagerOption} from './list-key-manager';\nimport {FocusOrigin} from '../focus-monitor/focus-monitor';\n\n/**\n * This is the interface for focusable items (used by the FocusKeyManager).\n * Each item must know how to focus itself, whether or not it is currently disabled\n * and be able to supply it's label
 .\n */\nexport interface FocusableOption extends ListKeyManagerOption {\n  /** Focuses the `FocusableOption`. */\n  focus(origin?: FocusOrigin): void;\n}\n\nexport class FocusKeyManager<T> extends ListKeyManager<FocusableOption & T> {\n  private _origin: FocusOrigin = 'program';\n\n  /**\n   * Sets the focus origin that will be passed in to the items for any subsequent `focus` calls.\n   * @param origin Focus origin to be used when focusing items.\n   */\n  setFocusOrigin(origin: FocusOrigin): this {\n    this._origin = origin;\n    return this;\n  }\n\n  /**\n   * This method sets the active item to the item at the specified index.\n   * It also adds focuses the newly active item.\n   */\n  setActiveItem(index: number): void {\n    super.setActiveItem(index);\n\n    if (this.activeItem) {\n      this.activeItem.focus(this._origin);\n    }\n  }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license th
 at can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {PlatformModule} from '@angular/cdk/platform';\nimport {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {ARIA_DESCRIBER_PROVIDER, AriaDescriber} from './aria-describer/aria-describer';\nimport {CdkMonitorFocus, FOCUS_MONITOR_PROVIDER} from './focus-monitor/focus-monitor';\nimport {\n  CdkTrapFocus,\n  FocusTrapDeprecatedDirective,\n  FocusTrapFactory,\n} from './focus-trap/focus-trap';\nimport {InteractivityChecker} from './interactivity-checker/interactivity-checker';\nimport {LIVE_ANNOUNCER_PROVIDER} from './live-announcer/live-announcer';\n\n@NgModule({\n  imports: [CommonModule, PlatformModule],\n  declarations: [CdkTrapFocus, FocusTrapDeprecatedDirective, CdkMonitorFocus],\n  exports: [CdkTrapFocus, FocusTrapDeprecatedDirective, CdkMonitorFocus],\n  providers: [\n    InteractivityChecker,\n    FocusTrapFactory,\n    AriaDescriber,\n    LIVE_ANNOUNCER_PROVI
 DER,\n    ARIA_DESCRIBER_PROVIDER,\n    FOCUS_MONITOR_PROVIDER,\n  ]\n})\nexport class A11yModule {}\n"],"names":["__extends","d","b","__","this","constructor","extendStatics","prototype","Object","create","getFrameElement","window","e","hasGeometry","element","offsetWidth","offsetHeight","getClientRects","length","isNativeFormElement","nodeName","toLowerCase","isHiddenInput","isInputElement","type","isAnchorWithHref","isAnchorElement","hasAttribute","hasValidTabIndex","undefined","tabIndex","getAttribute","isNaN","parseInt","getTabIndexValue","isPotentiallyTabbableIOS","inputType","isPotentiallyFocusable","getWindow","node","ownerDocument","defaultView","addAriaReferencedId","el","attr","id","ids","getAriaReferenceIds","some","existingId","trim","push","setAttribute","join","ID_DELIMINATOR","removeAriaReferencedId","filteredIds","filter","val","match","ARIA_DESCRIBER_PROVIDER_FACTORY","parentDispatcher","_document","AriaDescriber","LIVE_ANNOUNCER_PROVIDER_FACTORY","liveElement","Li
 veAnnouncer","FOCUS_MONITOR_PROVIDER_FACTORY","ngZone","platform","FocusMonitor","isFakeMousedownFromScreenReader","event","buttons","setPrototypeOf","__proto__","Array","p","hasOwnProperty","InteractivityChecker","_platform","isDisabled","isVisible","getComputedStyle","visibility","isTabbable","isBrowser","frameElement","frameType","BLINK","WEBKIT","tabIndexValue","TRIDENT","FIREFOX","IOS","isFocusable","Injectable","Platform","FocusTrap","_element","_checker","_ngZone","deferAnchors","_enabled","attachAnchors","defineProperty","_startAnchor","_endAnchor","destroy","parentNode","removeChild","_this","_createAnchor","runOutsideAngular","addEventListener","focusLastTabbableElement","focusFirstTabbableElement","insertBefore","nextSibling","focusInitialElementWhenReady","Promise","resolve","_executeOnStable","focusInitialElement","focusFirstTabbableElementWhenReady","focusLastTabbableElementWhenReady","_getRegionBoundary","bound","markers","querySelectorAll","i","console","warn","_getF
 irstTabbableElement","_getLastTabbableElement","redirectToElement","querySelector","focus","root","children","childNodes","tabbableChild","nodeType","ELEMENT_NODE","anchor","createElement","classList","add","fn","isStable","onStable","asObservable","pipe","take","subscribe","FocusTrapFactory","deferCaptureElements","NgZone","decorators","Inject","args","DOCUMENT","FocusTrapDeprecatedDirective","_elementRef","_focusTrapFactory","focusTrap","nativeElement","enabled","coerceBooleanProperty","ngOnDestroy","ngAfterContentInit","Directive","selector","ElementRef","disabled","Input","CdkTrapFocus","_previouslyFocusedElement","value","_autoCapture","autoCapture","exportAs","nextId","messageRegistry","Map","messagesContainer","describe","hostElement","message","has","_createMessageElement","_isElementDescribedByMessage","_addMessageReference","removeDescription","_removeMessageReference","registeredMessage","get","referenceCount","_deleteMessageElement","_deleteMessagesContainer","describedE
 lements","_removeCdkDescribedByReferenceIds","removeAttribute","clear","messageElement","CDK_DESCRIBEDBY_ID_PREFIX","appendChild","createTextNode","_createMessagesContainer","set","delete","style","display","body","originalReferenceIds","indexOf","referenceIds","messageId","ARIA_DESCRIBER_PROVIDER","provide","deps","Optional","SkipSelf","useFactory","ListKeyManager","_items","_activeItemIndex","_wrap","_letterKeyStream","Subject","_typeaheadSubscription","Subscription","EMPTY","_vertical","_pressedLetters","tabOut","change","changes","newItems","_activeItem","itemArray","toArray","newIndex","withWrap","withVerticalOrientation","withHorizontalOrientation","direction","_horizontal","withTypeAhead","debounceInterval","item","getLabel","Error","unsubscribe","tap","keyCode","debounceTime","map","inputString","items","index","toUpperCase","setActiveItem","previousIndex","next","onKeydown","TAB","DOWN_ARROW","setNextItemActive","UP_ARROW","setPreviousItemActive","RIGHT_ARROW","LEFT_ARROW",
 "key","toLocaleUpperCase","A","Z","ZERO","NINE","String","fromCharCode","preventDefault","setFirstItemActive","_setActiveItemByIndex","setLastItemActive","_setActiveItemByDelta","updateActiveItemIndex","delta","_setActiveInWrapMode","_setActiveInDefaultMode","fallbackDelta","ActiveDescendantKeyManager","_super","tslib_1.__extends","activeItem","setInactiveStyles","call","setActiveStyles","FocusKeyManager","_origin","setFocusOrigin","origin","LIVE_ANNOUNCER_ELEMENT_TOKEN","InjectionToken","elementToken","_liveElement","_createLiveElement","announce","politeness","textContent","setTimeout","liveEl","LIVE_ANNOUNCER_PROVIDER","_windowFocused","_elementInfo","_unregisterGlobalListeners","_monitoredElementCount","monitor","renderer","checkChildren","Renderer2","observableOf","cachedInfo","subject","info","unlisten","_incrementMonitoredElementCount","focusListener","_onFocus","blurListener","_onBlur","removeEventListener","stopMonitoring","elementInfo","complete","_setClasses","_decrementM
 onitoredElementCount","focusVia","_setOriginForCurrentEventQueue","forEach","_info","_registerGlobalListeners","documentKeydownListener","_lastTouchTarget","documentMousedownListener","documentTouchstartListener","_touchTimeoutId","clearTimeout","target","windowFocusListener","_windowFocusTimeoutId","document","supportsPassiveEventListeners","passive","capture","_originTimeoutId","_toggleClass","className","shouldSet","remove","_wasCausedByTouch","focusTarget","Node","contains","_lastFocusOrigin","relatedTarget","CdkMonitorFocus","_focusMonitor","cdkFocusChange","EventEmitter","_monitorSubscription","emit","Output","FOCUS_MONITOR_PROVIDER","A11yModule","NgModule","imports","CommonModule","PlatformModule","declarations","exports","providers"],"mappings":"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

<TRUNCATED>

[41/59] [abbrv] [partial] nifi-fds git commit: update gh-pages

Posted by sc...@apache.org.
http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/eec354e6/node_modules/@angular/animations/bundles/animations-browser.umd.min.js
----------------------------------------------------------------------
diff --git a/node_modules/@angular/animations/bundles/animations-browser.umd.min.js b/node_modules/@angular/animations/bundles/animations-browser.umd.min.js
new file mode 100644
index 0000000..1a74fe5
--- /dev/null
+++ b/node_modules/@angular/animations/bundles/animations-browser.umd.min.js
@@ -0,0 +1,15 @@
+/**
+ * @license Angular v5.2.0
+ * (c) 2010-2018 Google, Inc. https://angular.io/
+ * License: MIT
+ */
+!function(global,factory){"object"==typeof exports&&"undefined"!=typeof module?factory(exports,require("@angular/animations")):"function"==typeof define&&define.amd?define("@angular/animations/browser",["exports","@angular/animations"],factory):factory((global.ng=global.ng||{},global.ng.animations=global.ng.animations||{},global.ng.animations.browser={}),global.ng.animations)}(this,function(exports,_angular_animations){"use strict";function __extends(d,b){function __(){this.constructor=d}extendStatics(d,b),d.prototype=null===b?Object.create(b):(__.prototype=b.prototype,new __)}/**
+ * @license Angular v5.2.0
+ * (c) 2010-2018 Google, Inc. https://angular.io/
+ * License: MIT
+ */
+function optimizeGroupPlayer(players){switch(players.length){case 0:return new _angular_animations.NoopAnimationPlayer;case 1:return players[0];default:return new _angular_animations.ɵAnimationGroupPlayer(players)}}function normalizeKeyframes(driver,normalizer,element,keyframes,preStyles,postStyles){void 0===preStyles&&(preStyles={}),void 0===postStyles&&(postStyles={});var errors=[],normalizedKeyframes=[],previousOffset=-1,previousKeyframe=null;if(keyframes.forEach(function(kf){var offset=kf.offset,isSameOffset=offset==previousOffset,normalizedKeyframe=isSameOffset&&previousKeyframe||{};Object.keys(kf).forEach(function(prop){var normalizedProp=prop,normalizedValue=kf[prop];if("offset"!==prop)switch(normalizedProp=normalizer.normalizePropertyName(normalizedProp,errors),normalizedValue){case _angular_animations.ɵPRE_STYLE:normalizedValue=preStyles[prop];break;case _angular_animations.AUTO_STYLE:normalizedValue=postStyles[prop];break;default:normalizedValue=normalizer.normalizeStyle
 Value(prop,normalizedProp,normalizedValue,errors)}normalizedKeyframe[normalizedProp]=normalizedValue}),isSameOffset||normalizedKeyframes.push(normalizedKeyframe),previousKeyframe=normalizedKeyframe,previousOffset=offset}),errors.length){throw new Error("Unable to animate due to the following errors:\n - "+errors.join("\n - "))}return normalizedKeyframes}function listenOnPlayer(player,eventName,event,callback){switch(eventName){case"start":player.onStart(function(){return callback(event&&copyAnimationEvent(event,"start",player.totalTime))});break;case"done":player.onDone(function(){return callback(event&&copyAnimationEvent(event,"done",player.totalTime))});break;case"destroy":player.onDestroy(function(){return callback(event&&copyAnimationEvent(event,"destroy",player.totalTime))})}}function copyAnimationEvent(e,phaseName,totalTime){var event=makeAnimationEvent(e.element,e.triggerName,e.fromState,e.toState,phaseName||e.phaseName,void 0==totalTime?e.totalTime:totalTime),data=e._data;re
 turn null!=data&&(event._data=data),event}function makeAnimationEvent(element,triggerName,fromState,toState,phaseName,totalTime){return void 0===phaseName&&(phaseName=""),void 0===totalTime&&(totalTime=0),{element:element,triggerName:triggerName,fromState:fromState,toState:toState,phaseName:phaseName,totalTime:totalTime}}function getOrSetAsInMap(map,key,defaultValue){var value;return map instanceof Map?(value=map.get(key))||map.set(key,value=defaultValue):(value=map[key])||(value=map[key]=defaultValue),value}function parseTimelineCommand(command){var separatorPos=command.indexOf(":");return[command.substring(1,separatorPos),command.substr(separatorPos+1)]}function containsVendorPrefix(prop){return"ebkit"==prop.substring(1,6)}function validateStyleProperty(prop){_CACHED_BODY||(_CACHED_BODY=getBodyNode()||{},_IS_WEBKIT=!!_CACHED_BODY.style&&"WebkitAppearance"in _CACHED_BODY.style);var result=!0;if(_CACHED_BODY.style&&!containsVendorPrefix(prop)&&!(result=prop in _CACHED_BODY.style)&&_
 IS_WEBKIT){result="Webkit"+prop.charAt(0).toUpperCase()+prop.substr(1)in _CACHED_BODY.style}return result}function getBodyNode(){return"undefined"!=typeof document?document.body:null}function resolveTimingValue(value){if("number"==typeof value)return value;var matches=value.match(/^(-?[\.\d]+)(m?s)/);return!matches||matches.length<2?0:_convertTimeValueToMS(parseFloat(matches[1]),matches[2])}function _convertTimeValueToMS(value,unit){switch(unit){case"s":return value*ONE_SECOND;default:return value}}function resolveTiming(timings,errors,allowNegativeValues){return timings.hasOwnProperty("duration")?timings:parseTimeExpression(timings,errors,allowNegativeValues)}function parseTimeExpression(exp,errors,allowNegativeValues){var duration,regex=/^(-?[\.\d]+)(m?s)(?:\s+(-?[\.\d]+)(m?s))?(?:\s+([-a-z]+(?:\(.+?\))?))?$/i,delay=0,easing="";if("string"==typeof exp){var matches=exp.match(regex);if(null===matches)return errors.push('The provided timing value "'+exp+'" is invalid.'),{duration:0,d
 elay:0,easing:""};duration=_convertTimeValueToMS(parseFloat(matches[1]),matches[2]);var delayMatch=matches[3];null!=delayMatch&&(delay=_convertTimeValueToMS(Math.floor(parseFloat(delayMatch)),matches[4]));var easingVal=matches[5];easingVal&&(easing=easingVal)}else duration=exp;if(!allowNegativeValues){var containsErrors=!1,startIndex=errors.length;duration<0&&(errors.push("Duration values below 0 are not allowed for this animation step."),containsErrors=!0),delay<0&&(errors.push("Delay values below 0 are not allowed for this animation step."),containsErrors=!0),containsErrors&&errors.splice(startIndex,0,'The provided timing value "'+exp+'" is invalid.')}return{duration:duration,delay:delay,easing:easing}}function copyObj(obj,destination){return void 0===destination&&(destination={}),Object.keys(obj).forEach(function(prop){destination[prop]=obj[prop]}),destination}function normalizeStyles(styles){var normalizedStyles={};return Array.isArray(styles)?styles.forEach(function(data){retur
 n copyStyles(data,!1,normalizedStyles)}):copyStyles(styles,!1,normalizedStyles),normalizedStyles}function copyStyles(styles,readPrototype,destination){if(void 0===destination&&(destination={}),readPrototype)for(var prop in styles)destination[prop]=styles[prop];else copyObj(styles,destination);return destination}function setStyles(element,styles){element.style&&Object.keys(styles).forEach(function(prop){var camelProp=dashCaseToCamelCase(prop);element.style[camelProp]=styles[prop]})}function eraseStyles(element,styles){element.style&&Object.keys(styles).forEach(function(prop){var camelProp=dashCaseToCamelCase(prop);element.style[camelProp]=""})}function normalizeAnimationEntry(steps){return Array.isArray(steps)?1==steps.length?steps[0]:_angular_animations.sequence(steps):steps}function validateStyleParams(value,options,errors){var params=options.params||{},matches=extractStyleParams(value);matches.length&&matches.forEach(function(varName){params.hasOwnProperty(varName)||errors.push("U
 nable to resolve the local animation param "+varName+" in the given list of values")})}function extractStyleParams(value){var params=[];if("string"==typeof value){for(var val=value.toString(),match=void 0;match=PARAM_REGEX.exec(val);)params.push(match[1]);PARAM_REGEX.lastIndex=0}return params}function interpolateParams(value,params,errors){var original=value.toString(),str=original.replace(PARAM_REGEX,function(_,varName){var localVal=params[varName];return params.hasOwnProperty(varName)||(errors.push("Please provide a value for the animation param "+varName),localVal=""),localVal.toString()});return str==original?value:str}function iteratorToArray(iterator){for(var arr=[],item=iterator.next();!item.done;)arr.push(item.value),item=iterator.next();return arr}function dashCaseToCamelCase(input){return input.replace(DASH_CASE_REGEXP,function(){for(var m=[],_i=0;_i<arguments.length;_i++)m[_i]=arguments[_i];return m[1].toUpperCase()})}function allowPreviousPlayerStylesMerge(duration,delay
 ){return 0===duration||0===delay}function visitDslNode(visitor,node,context){switch(node.type){case 7:return visitor.visitTrigger(node,context);case 0:return visitor.visitState(node,context);case 1:return visitor.visitTransition(node,context);case 2:return visitor.visitSequence(node,context);case 3:return visitor.visitGroup(node,context);case 4:return visitor.visitAnimate(node,context);case 5:return visitor.visitKeyframes(node,context);case 6:return visitor.visitStyle(node,context);case 8:return visitor.visitReference(node,context);case 9:return visitor.visitAnimateChild(node,context);case 10:return visitor.visitAnimateRef(node,context);case 11:return visitor.visitQuery(node,context);case 12:return visitor.visitStagger(node,context);default:throw new Error("Unable to resolve animation metadata node #"+node.type)}}function parseTransitionExpr(transitionValue,errors){var expressions=[];return"string"==typeof transitionValue?transitionValue.split(/\s*,\s*/).forEach(function(str){return
  parseInnerTransitionStr(str,expressions,errors)}):expressions.push(transitionValue),expressions}function parseInnerTransitionStr(eventStr,expressions,errors){if(":"==eventStr[0]){var result=parseAnimationAlias(eventStr,errors);if("function"==typeof result)return void expressions.push(result);eventStr=result}var match=eventStr.match(/^(\*|[-\w]+)\s*(<?[=-]>)\s*(\*|[-\w]+)$/);if(null==match||match.length<4)return errors.push('The provided transition expression "'+eventStr+'" is not supported'),expressions;var fromState=match[1],separator=match[2],toState=match[3];expressions.push(makeLambdaFromStates(fromState,toState));var isFullAnyStateExpr=fromState==ANY_STATE&&toState==ANY_STATE;"<"!=separator[0]||isFullAnyStateExpr||expressions.push(makeLambdaFromStates(toState,fromState))}function parseAnimationAlias(alias,errors){switch(alias){case":enter":return"void => *";case":leave":return"* => void";case":increment":return function(fromState,toState){return parseFloat(toState)>parseFloat(
 fromState)};case":decrement":return function(fromState,toState){return parseFloat(toState)<parseFloat(fromState)};default:return errors.push('The transition alias value "'+alias+'" is not supported'),"* => *"}}function makeLambdaFromStates(lhs,rhs){var LHS_MATCH_BOOLEAN=TRUE_BOOLEAN_VALUES.has(lhs)||FALSE_BOOLEAN_VALUES.has(lhs),RHS_MATCH_BOOLEAN=TRUE_BOOLEAN_VALUES.has(rhs)||FALSE_BOOLEAN_VALUES.has(rhs);return function(fromState,toState){var lhsMatch=lhs==ANY_STATE||lhs==fromState,rhsMatch=rhs==ANY_STATE||rhs==toState;return!lhsMatch&&LHS_MATCH_BOOLEAN&&"boolean"==typeof fromState&&(lhsMatch=fromState?TRUE_BOOLEAN_VALUES.has(lhs):FALSE_BOOLEAN_VALUES.has(lhs)),!rhsMatch&&RHS_MATCH_BOOLEAN&&"boolean"==typeof toState&&(rhsMatch=toState?TRUE_BOOLEAN_VALUES.has(rhs):FALSE_BOOLEAN_VALUES.has(rhs)),lhsMatch&&rhsMatch}}function buildAnimationAst(driver,metadata,errors){return new AnimationAstBuilderVisitor(driver).build(metadata,errors)}function normalizeSelector(selector){var hasAmpersa
 nd=!!selector.split(/\s*,\s*/).find(function(token){return token==SELF_TOKEN});return hasAmpersand&&(selector=selector.replace(SELF_TOKEN_REGEX,"")),selector=selector.replace(/@\*/g,NG_TRIGGER_SELECTOR).replace(/@\w+/g,function(match){return NG_TRIGGER_SELECTOR+"-"+match.substr(1)}).replace(/:animating/g,NG_ANIMATING_SELECTOR),[selector,hasAmpersand]}function normalizeParams(obj){return obj?copyObj(obj):null}function consumeOffset(styles){if("string"==typeof styles)return null;var offset=null;if(Array.isArray(styles))styles.forEach(function(styleTuple){if(isObject(styleTuple)&&styleTuple.hasOwnProperty("offset")){var obj=styleTuple;offset=parseFloat(obj.offset),delete obj.offset}});else if(isObject(styles)&&styles.hasOwnProperty("offset")){var obj=styles;offset=parseFloat(obj.offset),delete obj.offset}return offset}function isObject(value){return!Array.isArray(value)&&"object"==typeof value}function constructTimingAst(value,errors){var timings=null;if(value.hasOwnProperty("duration"
 ))timings=value;else if("number"==typeof value){var duration=resolveTiming(value,errors).duration;return makeTimingAst(duration,0,"")}var strValue=value;if(strValue.split(/\s+/).some(function(v){return"{"==v.charAt(0)&&"{"==v.charAt(1)})){var ast=makeTimingAst(0,0,"");return ast.dynamic=!0,ast.strValue=strValue,ast}return timings=timings||resolveTiming(strValue,errors),makeTimingAst(timings.duration,timings.delay,timings.easing)}function normalizeAnimationOptions(options){return options?(options=copyObj(options),options.params&&(options.params=normalizeParams(options.params))):options={},options}function makeTimingAst(duration,delay,easing){return{duration:duration,delay:delay,easing:easing}}function createTimelineInstruction(element,keyframes,preStyleProps,postStyleProps,duration,delay,easing,subTimeline){return void 0===easing&&(easing=null),void 0===subTimeline&&(subTimeline=!1),{type:1,element:element,keyframes:keyframes,preStyleProps:preStyleProps,postStyleProps:postStyleProps,
 duration:duration,delay:delay,totalTime:duration+delay,easing:easing,subTimeline:subTimeline}}function buildAnimationTimelines(driver,rootElement,ast,enterClassName,leaveClassName,startingStyles,finalStyles,options,subInstructions,errors){return void 0===startingStyles&&(startingStyles={}),void 0===finalStyles&&(finalStyles={}),void 0===errors&&(errors=[]),(new AnimationTimelineBuilderVisitor).buildKeyframes(driver,rootElement,ast,enterClassName,leaveClassName,startingStyles,finalStyles,options,subInstructions,errors)}function roundOffset(offset,decimalPoints){void 0===decimalPoints&&(decimalPoints=3);var mult=Math.pow(10,decimalPoints-1);return Math.round(offset*mult)/mult}function flattenStyles(input,allStyles){var allProperties,styles={};return input.forEach(function(token){"*"===token?(allProperties=allProperties||Object.keys(allStyles),allProperties.forEach(function(prop){styles[prop]=_angular_animations.AUTO_STYLE})):copyStyles(token,!1,styles)}),styles}function createTransiti
 onInstruction(element,triggerName,fromState,toState,isRemovalTransition,fromStyles,toStyles,timelines,queriedElements,preStyleProps,postStyleProps,errors){return{type:0,element:element,triggerName:triggerName,isRemovalTransition:isRemovalTransition,fromState:fromState,fromStyles:fromStyles,toState:toState,toStyles:toStyles,timelines:timelines,queriedElements:queriedElements,preStyleProps:preStyleProps,postStyleProps:postStyleProps,errors:errors}}function oneOrMoreTransitionsMatch(matchFns,currentState,nextState){return matchFns.some(function(fn){return fn(currentState,nextState)})}function buildTrigger(name,ast){return new AnimationTrigger(name,ast)}function createFallbackTransition(triggerName,states){return new AnimationTransitionFactory(triggerName,{type:1,animation:{type:2,steps:[],options:null},matchers:[function(fromState,toState){return!0}],options:null,queryCount:0,depCount:0},states)}function balanceProperties(obj,key1,key2){obj.hasOwnProperty(key1)?obj.hasOwnProperty(key2)
 ||(obj[key2]=obj[key1]):obj.hasOwnProperty(key2)&&(obj[key1]=obj[key2])}function deleteOrUnsetInMap(map,key,value){var currentValues;if(map instanceof Map){if(currentValues=map.get(key)){if(currentValues.length){var index=currentValues.indexOf(value);currentValues.splice(index,1)}0==currentValues.length&&map.delete(key)}}else if(currentValues=map[key]){if(currentValues.length){var index=currentValues.indexOf(value);currentValues.splice(index,1)}0==currentValues.length&&delete map[key]}return currentValues}function normalizeTriggerValue(value){return null!=value?value:null}function isElementNode(node){return node&&1===node.nodeType}function isTriggerEventValid(eventName){return"start"==eventName||"done"==eventName}function cloakElement(element,value){var oldValue=element.style.display;return element.style.display=null!=value?value:"none",oldValue}function cloakAndComputeStyles(valuesMap,driver,elements,elementPropsMap,defaultStyle){var cloakVals=[];elements.forEach(function(element){
 return cloakVals.push(cloakElement(element))});var failedElements=[];elementPropsMap.forEach(function(props,element){var styles={};props.forEach(function(prop){var value=styles[prop]=driver.computeStyle(element,prop,defaultStyle);value&&0!=value.length||(element[REMOVAL_FLAG]=NULL_REMOVED_QUERIED_STATE,failedElements.push(element))}),valuesMap.set(element,styles)});var i=0;return elements.forEach(function(element){return cloakElement(element,cloakVals[i++])}),failedElements}function buildRootMap(roots,nodes){function getRoot(node){if(!node)return NULL_NODE;var root=localRootMap.get(node);if(root)return root;var parent=node.parentNode;return root=rootMap.has(parent)?parent:nodeSet.has(parent)?NULL_NODE:getRoot(parent),localRootMap.set(node,root),root}var rootMap=new Map;if(roots.forEach(function(root){return rootMap.set(root,[])}),0==nodes.length)return rootMap;var NULL_NODE=1,nodeSet=new Set(nodes),localRootMap=new Map;return nodes.forEach(function(node){var root=getRoot(node);root!
 ==NULL_NODE&&rootMap.get(root).push(node)}),rootMap}function addClass(element,className){if(element.classList)element.classList.add(className);else{var classes=element[CLASSES_CACHE_KEY];classes||(classes=element[CLASSES_CACHE_KEY]={}),classes[className]=!0}}function removeClass(element,className){if(element.classList)element.classList.remove(className);else{var classes=element[CLASSES_CACHE_KEY];classes&&delete classes[className]}}function removeNodesAfterAnimationDone(engine,element,players){optimizeGroupPlayer(players).onDone(function(){return engine.processLeaveNode(element)})}function flattenGroupPlayers(players){var finalPlayers=[];return _flattenGroupPlayersRecur(players,finalPlayers),finalPlayers}function _flattenGroupPlayersRecur(players,finalPlayers){for(var i=0;i<players.length;i++){var player=players[i];player instanceof _angular_animations.ɵAnimationGroupPlayer?_flattenGroupPlayersRecur(player.players,finalPlayers):finalPlayers.push(player)}}function objEquals(a,b){var
  k1=Object.keys(a),k2=Object.keys(b);if(k1.length!=k2.length)return!1;for(var i=0;i<k1.length;i++){var prop=k1[i];if(!b.hasOwnProperty(prop)||a[prop]!==b[prop])return!1}return!0}function replacePostStylesAsPre(element,allPreStyleElements,allPostStyleElements){var postEntry=allPostStyleElements.get(element);if(!postEntry)return!1;var preEntry=allPreStyleElements.get(element);return preEntry?postEntry.forEach(function(data){return preEntry.add(data)}):allPreStyleElements.set(element,postEntry),allPostStyleElements.delete(element),!0}function _computeStyle(element,prop){return window.getComputedStyle(element)[prop]}function supportsWebAnimations(){return"undefined"!=typeof Element&&"function"==typeof Element.prototype.animate}var extendStatics=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(d,b){d.__proto__=b}||function(d,b){for(var p in b)b.hasOwnProperty(p)&&(d[p]=b[p])},__assign=Object.assign||function(t){for(var s,i=1,n=arguments.length;i<n;i++){s=arguments[i];for(v
 ar p in s)Object.prototype.hasOwnProperty.call(s,p)&&(t[p]=s[p])}return t},_contains=function(elm1,elm2){return!1},_matches=function(element,selector){return!1},_query=function(element,selector,multi){return[]};if("undefined"!=typeof Element){if(_contains=function(elm1,elm2){return elm1.contains(elm2)},Element.prototype.matches)_matches=function(element,selector){return element.matches(selector)};else{var proto=Element.prototype,fn_1=proto.matchesSelector||proto.mozMatchesSelector||proto.msMatchesSelector||proto.oMatchesSelector||proto.webkitMatchesSelector;fn_1&&(_matches=function(element,selector){return fn_1.apply(element,[selector])})}_query=function(element,selector,multi){var results=[];if(multi)results.push.apply(results,element.querySelectorAll(selector));else{var elm=element.querySelector(selector);elm&&results.push(elm)}return results}}var _CACHED_BODY=null,_IS_WEBKIT=!1,matchesElement=_matches,containsElement=_contains,invokeQuery=_query,NoopAnimationDriver=function(){fun
 ction NoopAnimationDriver(){}return NoopAnimationDriver.prototype.validateStyleProperty=function(prop){return validateStyleProperty(prop)},NoopAnimationDriver.prototype.matchesElement=function(element,selector){return matchesElement(element,selector)},NoopAnimationDriver.prototype.containsElement=function(elm1,elm2){return containsElement(elm1,elm2)},NoopAnimationDriver.prototype.query=function(element,selector,multi){return invokeQuery(element,selector,multi)},NoopAnimationDriver.prototype.computeStyle=function(element,prop,defaultValue){return defaultValue||""},NoopAnimationDriver.prototype.animate=function(element,keyframes,duration,delay,easing,previousPlayers){return void 0===previousPlayers&&(previousPlayers=[]),new _angular_animations.NoopAnimationPlayer},NoopAnimationDriver}(),AnimationDriver=function(){function AnimationDriver(){}return AnimationDriver.NOOP=new NoopAnimationDriver,AnimationDriver}(),ONE_SECOND=1e3,NG_TRIGGER_SELECTOR=".ng-trigger",NG_ANIMATING_SELECTOR=".ng
 -animating",PARAM_REGEX=new RegExp("{{\\s*(.+?)\\s*}}","g"),DASH_CASE_REGEXP=/-+([a-z0-9])/g,ANY_STATE="*",TRUE_BOOLEAN_VALUES=new Set(["true","1"]),FALSE_BOOLEAN_VALUES=new Set(["false","0"]),SELF_TOKEN=":self",SELF_TOKEN_REGEX=new RegExp("s*"+SELF_TOKEN+"s*,?","g"),AnimationAstBuilderVisitor=function(){function AnimationAstBuilderVisitor(_driver){this._driver=_driver}return AnimationAstBuilderVisitor.prototype.build=function(metadata,errors){var context=new AnimationAstBuilderContext(errors);return this._resetContextStyleTimingState(context),visitDslNode(this,normalizeAnimationEntry(metadata),context)},AnimationAstBuilderVisitor.prototype._resetContextStyleTimingState=function(context){context.currentQuerySelector="",context.collectedStyles={},context.collectedStyles[""]={},context.currentTime=0},AnimationAstBuilderVisitor.prototype.visitTrigger=function(metadata,context){var _this=this,queryCount=context.queryCount=0,depCount=context.depCount=0,states=[],transitions=[];return"@"=
 =metadata.name.charAt(0)&&context.errors.push("animation triggers cannot be prefixed with an `@` sign (e.g. trigger('@foo', [...]))"),metadata.definitions.forEach(function(def){if(_this._resetContextStyleTimingState(context),0==def.type){var stateDef_1=def,name_1=stateDef_1.name;name_1.split(/\s*,\s*/).forEach(function(n){stateDef_1.name=n,states.push(_this.visitState(stateDef_1,context))}),stateDef_1.name=name_1}else if(1==def.type){var transition=_this.visitTransition(def,context);queryCount+=transition.queryCount,depCount+=transition.depCount,transitions.push(transition)}else context.errors.push("only state() and transition() definitions can sit inside of a trigger()")}),{type:7,name:metadata.name,states:states,transitions:transitions,queryCount:queryCount,depCount:depCount,options:null}},AnimationAstBuilderVisitor.prototype.visitState=function(metadata,context){var styleAst=this.visitStyle(metadata.styles,context),astParams=metadata.options&&metadata.options.params||null;if(styl
 eAst.containsDynamicStyles){var missingSubs_1=new Set,params_1=astParams||{};if(styleAst.styles.forEach(function(value){if(isObject(value)){var stylesObj_1=value;Object.keys(stylesObj_1).forEach(function(prop){extractStyleParams(stylesObj_1[prop]).forEach(function(sub){params_1.hasOwnProperty(sub)||missingSubs_1.add(sub)})})}}),missingSubs_1.size){var missingSubsArr=iteratorToArray(missingSubs_1.values());context.errors.push('state("'+metadata.name+'", ...) must define default values for all the following style substitutions: '+missingSubsArr.join(", "))}}return{type:0,name:metadata.name,style:styleAst,options:astParams?{params:astParams}:null}},AnimationAstBuilderVisitor.prototype.visitTransition=function(metadata,context){context.queryCount=0,context.depCount=0;var animation=visitDslNode(this,normalizeAnimationEntry(metadata.animation),context);return{type:1,matchers:parseTransitionExpr(metadata.expr,context.errors),animation:animation,queryCount:context.queryCount,depCount:contex
 t.depCount,options:normalizeAnimationOptions(metadata.options)}},AnimationAstBuilderVisitor.prototype.visitSequence=function(metadata,context){var _this=this;return{type:2,steps:metadata.steps.map(function(s){return visitDslNode(_this,s,context)}),options:normalizeAnimationOptions(metadata.options)}},AnimationAstBuilderVisitor.prototype.visitGroup=function(metadata,context){var _this=this,currentTime=context.currentTime,furthestTime=0,steps=metadata.steps.map(function(step){context.currentTime=currentTime;var innerAst=visitDslNode(_this,step,context);return furthestTime=Math.max(furthestTime,context.currentTime),innerAst});return context.currentTime=furthestTime,{type:3,steps:steps,options:normalizeAnimationOptions(metadata.options)}},AnimationAstBuilderVisitor.prototype.visitAnimate=function(metadata,context){var timingAst=constructTimingAst(metadata.timings,context.errors);context.currentAnimateTimings=timingAst;var styleAst,styleMetadata=metadata.styles?metadata.styles:_angular_a
 nimations.style({});if(5==styleMetadata.type)styleAst=this.visitKeyframes(styleMetadata,context);else{var styleMetadata_1=metadata.styles,isEmpty=!1;if(!styleMetadata_1){isEmpty=!0;var newStyleData={};timingAst.easing&&(newStyleData.easing=timingAst.easing),styleMetadata_1=_angular_animations.style(newStyleData)}context.currentTime+=timingAst.duration+timingAst.delay;var _styleAst=this.visitStyle(styleMetadata_1,context);_styleAst.isEmptyStep=isEmpty,styleAst=_styleAst}return context.currentAnimateTimings=null,{type:4,timings:timingAst,style:styleAst,options:null}},AnimationAstBuilderVisitor.prototype.visitStyle=function(metadata,context){var ast=this._makeStyleAst(metadata,context);return this._validateStyleAst(ast,context),ast},AnimationAstBuilderVisitor.prototype._makeStyleAst=function(metadata,context){var styles=[];Array.isArray(metadata.styles)?metadata.styles.forEach(function(styleTuple){"string"==typeof styleTuple?styleTuple==_angular_animations.AUTO_STYLE?styles.push(styleT
 uple):context.errors.push("The provided style string value "+styleTuple+" is not allowed."):styles.push(styleTuple)}):styles.push(metadata.styles);var containsDynamicStyles=!1,collectedEasing=null;return styles.forEach(function(styleData){if(isObject(styleData)){var styleMap=styleData,easing=styleMap.easing;if(easing&&(collectedEasing=easing,delete styleMap.easing),!containsDynamicStyles)for(var prop in styleMap){var value=styleMap[prop];if(value.toString().indexOf("{{")>=0){containsDynamicStyles=!0;break}}}}),{type:6,styles:styles,easing:collectedEasing,offset:metadata.offset,containsDynamicStyles:containsDynamicStyles,options:null}},AnimationAstBuilderVisitor.prototype._validateStyleAst=function(ast,context){var _this=this,timings=context.currentAnimateTimings,endTime=context.currentTime,startTime=context.currentTime;timings&&startTime>0&&(startTime-=timings.duration+timings.delay),ast.styles.forEach(function(tuple){"string"!=typeof tuple&&Object.keys(tuple).forEach(function(prop)
 {if(!_this._driver.validateStyleProperty(prop))return void context.errors.push('The provided animation property "'+prop+'" is not a supported CSS property for animations');var collectedStyles=context.collectedStyles[context.currentQuerySelector],collectedEntry=collectedStyles[prop],updateCollectedStyle=!0;collectedEntry&&(startTime!=endTime&&startTime>=collectedEntry.startTime&&endTime<=collectedEntry.endTime&&(context.errors.push('The CSS property "'+prop+'" that exists between the times of "'+collectedEntry.startTime+'ms" and "'+collectedEntry.endTime+'ms" is also being animated in a parallel animation between the times of "'+startTime+'ms" and "'+endTime+'ms"'),updateCollectedStyle=!1),startTime=collectedEntry.startTime),updateCollectedStyle&&(collectedStyles[prop]={startTime:startTime,endTime:endTime}),context.options&&validateStyleParams(tuple[prop],context.options,context.errors)})})},AnimationAstBuilderVisitor.prototype.visitKeyframes=function(metadata,context){var _this=this
 ,ast={type:5,styles:[],options:null};if(!context.currentAnimateTimings)return context.errors.push("keyframes() must be placed inside of a call to animate()"),ast;var totalKeyframesWithOffsets=0,offsets=[],offsetsOutOfOrder=!1,keyframesOutOfRange=!1,previousOffset=0,keyframes=metadata.steps.map(function(styles){var style$$1=_this._makeStyleAst(styles,context),offsetVal=null!=style$$1.offset?style$$1.offset:consumeOffset(style$$1.styles),offset=0;return null!=offsetVal&&(totalKeyframesWithOffsets++,offset=style$$1.offset=offsetVal),keyframesOutOfRange=keyframesOutOfRange||offset<0||offset>1,offsetsOutOfOrder=offsetsOutOfOrder||offset<previousOffset,previousOffset=offset,offsets.push(offset),style$$1});keyframesOutOfRange&&context.errors.push("Please ensure that all keyframe offsets are between 0 and 1"),offsetsOutOfOrder&&context.errors.push("Please ensure that all keyframe offsets are in order");var length=metadata.steps.length,generatedOffset=0;totalKeyframesWithOffsets>0&&totalKeyf
 ramesWithOffsets<length?context.errors.push("Not all style() steps within the declared keyframes() contain offsets"):0==totalKeyframesWithOffsets&&(generatedOffset=1/(length-1));var limit=length-1,currentTime=context.currentTime,currentAnimateTimings=context.currentAnimateTimings,animateDuration=currentAnimateTimings.duration;return keyframes.forEach(function(kf,i){var offset=generatedOffset>0?i==limit?1:generatedOffset*i:offsets[i],durationUpToThisFrame=offset*animateDuration;context.currentTime=currentTime+currentAnimateTimings.delay+durationUpToThisFrame,currentAnimateTimings.duration=durationUpToThisFrame,_this._validateStyleAst(kf,context),kf.offset=offset,ast.styles.push(kf)}),ast},AnimationAstBuilderVisitor.prototype.visitReference=function(metadata,context){return{type:8,animation:visitDslNode(this,normalizeAnimationEntry(metadata.animation),context),options:normalizeAnimationOptions(metadata.options)}},AnimationAstBuilderVisitor.prototype.visitAnimateChild=function(metadata
 ,context){return context.depCount++,{type:9,options:normalizeAnimationOptions(metadata.options)}},AnimationAstBuilderVisitor.prototype.visitAnimateRef=function(metadata,context){return{type:10,animation:this.visitReference(metadata.animation,context),options:normalizeAnimationOptions(metadata.options)}},AnimationAstBuilderVisitor.prototype.visitQuery=function(metadata,context){var parentSelector=context.currentQuerySelector,options=metadata.options||{};context.queryCount++,context.currentQuery=metadata;var _a=normalizeSelector(metadata.selector),selector=_a[0],includeSelf=_a[1];context.currentQuerySelector=parentSelector.length?parentSelector+" "+selector:selector,getOrSetAsInMap(context.collectedStyles,context.currentQuerySelector,{});var animation=visitDslNode(this,normalizeAnimationEntry(metadata.animation),context);return context.currentQuery=null,context.currentQuerySelector=parentSelector,{type:11,selector:selector,limit:options.limit||0,optional:!!options.optional,includeSelf
 :includeSelf,animation:animation,originalSelector:metadata.selector,options:normalizeAnimationOptions(metadata.options)}},AnimationAstBuilderVisitor.prototype.visitStagger=function(metadata,context){context.currentQuery||context.errors.push("stagger() can only be used inside of query()");var timings="full"===metadata.timings?{duration:0,delay:0,easing:"full"}:resolveTiming(metadata.timings,context.errors,!0);return{type:12,animation:visitDslNode(this,normalizeAnimationEntry(metadata.animation),context),timings:timings,options:null}},AnimationAstBuilderVisitor}(),AnimationAstBuilderContext=function(){function AnimationAstBuilderContext(errors){this.errors=errors,this.queryCount=0,this.depCount=0,this.currentTransition=null,this.currentQuery=null,this.currentQuerySelector=null,this.currentAnimateTimings=null,this.currentTime=0,this.collectedStyles={},this.options=null}return AnimationAstBuilderContext}(),ElementInstructionMap=function(){function ElementInstructionMap(){this._map=new M
 ap}return ElementInstructionMap.prototype.consume=function(element){var instructions=this._map.get(element);return instructions?this._map.delete(element):instructions=[],instructions},ElementInstructionMap.prototype.append=function(element,instructions){var existingInstructions=this._map.get(element);existingInstructions||this._map.set(element,existingInstructions=[]),existingInstructions.push.apply(existingInstructions,instructions)},ElementInstructionMap.prototype.has=function(element){return this._map.has(element)},ElementInstructionMap.prototype.clear=function(){this._map.clear()},ElementInstructionMap}(),ENTER_TOKEN_REGEX=new RegExp(":enter","g"),LEAVE_TOKEN_REGEX=new RegExp(":leave","g"),AnimationTimelineBuilderVisitor=function(){function AnimationTimelineBuilderVisitor(){}return AnimationTimelineBuilderVisitor.prototype.buildKeyframes=function(driver,rootElement,ast,enterClassName,leaveClassName,startingStyles,finalStyles,options,subInstructions,errors){void 0===errors&&(erro
 rs=[]),subInstructions=subInstructions||new ElementInstructionMap
+;var context=new AnimationTimelineContext(driver,rootElement,subInstructions,enterClassName,leaveClassName,errors,[]);context.options=options,context.currentTimeline.setStyles([startingStyles],null,context.errors,options),visitDslNode(this,ast,context);var timelines=context.timelines.filter(function(timeline){return timeline.containsAnimation()});if(timelines.length&&Object.keys(finalStyles).length){var tl=timelines[timelines.length-1];tl.allowOnlyTimelineStyles()||tl.setStyles([finalStyles],null,context.errors,options)}return timelines.length?timelines.map(function(timeline){return timeline.buildKeyframes()}):[createTimelineInstruction(rootElement,[],[],[],0,0,"",!1)]},AnimationTimelineBuilderVisitor.prototype.visitTrigger=function(ast,context){},AnimationTimelineBuilderVisitor.prototype.visitState=function(ast,context){},AnimationTimelineBuilderVisitor.prototype.visitTransition=function(ast,context){},AnimationTimelineBuilderVisitor.prototype.visitAnimateChild=function(ast,context
 ){var elementInstructions=context.subInstructions.consume(context.element);if(elementInstructions){var innerContext=context.createSubContext(ast.options),startTime=context.currentTimeline.currentTime,endTime=this._visitSubInstructions(elementInstructions,innerContext,innerContext.options);startTime!=endTime&&context.transformIntoNewTimeline(endTime)}context.previousNode=ast},AnimationTimelineBuilderVisitor.prototype.visitAnimateRef=function(ast,context){var innerContext=context.createSubContext(ast.options);innerContext.transformIntoNewTimeline(),this.visitReference(ast.animation,innerContext),context.transformIntoNewTimeline(innerContext.currentTimeline.currentTime),context.previousNode=ast},AnimationTimelineBuilderVisitor.prototype._visitSubInstructions=function(instructions,context,options){var startTime=context.currentTimeline.currentTime,furthestTime=startTime,duration=null!=options.duration?resolveTimingValue(options.duration):null,delay=null!=options.delay?resolveTimingValue(
 options.delay):null;return 0!==duration&&instructions.forEach(function(instruction){var instructionTimings=context.appendInstructionToTimeline(instruction,duration,delay);furthestTime=Math.max(furthestTime,instructionTimings.duration+instructionTimings.delay)}),furthestTime},AnimationTimelineBuilderVisitor.prototype.visitReference=function(ast,context){context.updateOptions(ast.options,!0),visitDslNode(this,ast.animation,context),context.previousNode=ast},AnimationTimelineBuilderVisitor.prototype.visitSequence=function(ast,context){var _this=this,subContextCount=context.subContextCount,ctx=context,options=ast.options;if(options&&(options.params||options.delay)&&(ctx=context.createSubContext(options),ctx.transformIntoNewTimeline(),null!=options.delay)){6==ctx.previousNode.type&&(ctx.currentTimeline.snapshotCurrentStyles(),ctx.previousNode=DEFAULT_NOOP_PREVIOUS_NODE);var delay=resolveTimingValue(options.delay);ctx.delayNextStep(delay)}ast.steps.length&&(ast.steps.forEach(function(s){r
 eturn visitDslNode(_this,s,ctx)}),ctx.currentTimeline.applyStylesToKeyframe(),ctx.subContextCount>subContextCount&&ctx.transformIntoNewTimeline()),context.previousNode=ast},AnimationTimelineBuilderVisitor.prototype.visitGroup=function(ast,context){var _this=this,innerTimelines=[],furthestTime=context.currentTimeline.currentTime,delay=ast.options&&ast.options.delay?resolveTimingValue(ast.options.delay):0;ast.steps.forEach(function(s){var innerContext=context.createSubContext(ast.options);delay&&innerContext.delayNextStep(delay),visitDslNode(_this,s,innerContext),furthestTime=Math.max(furthestTime,innerContext.currentTimeline.currentTime),innerTimelines.push(innerContext.currentTimeline)}),innerTimelines.forEach(function(timeline){return context.currentTimeline.mergeTimelineCollectedStyles(timeline)}),context.transformIntoNewTimeline(furthestTime),context.previousNode=ast},AnimationTimelineBuilderVisitor.prototype._visitTiming=function(ast,context){if(ast.dynamic){var strValue=ast.str
 Value;return resolveTiming(context.params?interpolateParams(strValue,context.params,context.errors):strValue,context.errors)}return{duration:ast.duration,delay:ast.delay,easing:ast.easing}},AnimationTimelineBuilderVisitor.prototype.visitAnimate=function(ast,context){var timings=context.currentAnimateTimings=this._visitTiming(ast.timings,context),timeline=context.currentTimeline;timings.delay&&(context.incrementTime(timings.delay),timeline.snapshotCurrentStyles());var style$$1=ast.style;5==style$$1.type?this.visitKeyframes(style$$1,context):(context.incrementTime(timings.duration),this.visitStyle(style$$1,context),timeline.applyStylesToKeyframe()),context.currentAnimateTimings=null,context.previousNode=ast},AnimationTimelineBuilderVisitor.prototype.visitStyle=function(ast,context){var timeline=context.currentTimeline,timings=context.currentAnimateTimings;!timings&&timeline.getCurrentStyleProperties().length&&timeline.forwardFrame();var easing=timings&&timings.easing||ast.easing;ast.i
 sEmptyStep?timeline.applyEmptyStep(easing):timeline.setStyles(ast.styles,easing,context.errors,context.options),context.previousNode=ast},AnimationTimelineBuilderVisitor.prototype.visitKeyframes=function(ast,context){var currentAnimateTimings=context.currentAnimateTimings,startTime=context.currentTimeline.duration,duration=currentAnimateTimings.duration,innerContext=context.createSubContext(),innerTimeline=innerContext.currentTimeline;innerTimeline.easing=currentAnimateTimings.easing,ast.styles.forEach(function(step){var offset=step.offset||0;innerTimeline.forwardTime(offset*duration),innerTimeline.setStyles(step.styles,step.easing,context.errors,context.options),innerTimeline.applyStylesToKeyframe()}),context.currentTimeline.mergeTimelineCollectedStyles(innerTimeline),context.transformIntoNewTimeline(startTime+duration),context.previousNode=ast},AnimationTimelineBuilderVisitor.prototype.visitQuery=function(ast,context){var _this=this,startTime=context.currentTimeline.currentTime,op
 tions=ast.options||{},delay=options.delay?resolveTimingValue(options.delay):0;delay&&(6===context.previousNode.type||0==startTime&&context.currentTimeline.getCurrentStyleProperties().length)&&(context.currentTimeline.snapshotCurrentStyles(),context.previousNode=DEFAULT_NOOP_PREVIOUS_NODE);var furthestTime=startTime,elms=context.invokeQuery(ast.selector,ast.originalSelector,ast.limit,ast.includeSelf,!!options.optional,context.errors);context.currentQueryTotal=elms.length;var sameElementTimeline=null;elms.forEach(function(element,i){context.currentQueryIndex=i;var innerContext=context.createSubContext(ast.options,element);delay&&innerContext.delayNextStep(delay),element===context.element&&(sameElementTimeline=innerContext.currentTimeline),visitDslNode(_this,ast.animation,innerContext),innerContext.currentTimeline.applyStylesToKeyframe();var endTime=innerContext.currentTimeline.currentTime;furthestTime=Math.max(furthestTime,endTime)}),context.currentQueryIndex=0,context.currentQueryTot
 al=0,context.transformIntoNewTimeline(furthestTime),sameElementTimeline&&(context.currentTimeline.mergeTimelineCollectedStyles(sameElementTimeline),context.currentTimeline.snapshotCurrentStyles()),context.previousNode=ast},AnimationTimelineBuilderVisitor.prototype.visitStagger=function(ast,context){var parentContext=context.parentContext,tl=context.currentTimeline,timings=ast.timings,duration=Math.abs(timings.duration),maxTime=duration*(context.currentQueryTotal-1),delay=duration*context.currentQueryIndex;switch(timings.duration<0?"reverse":timings.easing){case"reverse":delay=maxTime-delay;break;case"full":delay=parentContext.currentStaggerTime}var timeline=context.currentTimeline;delay&&timeline.delayNextStep(delay);var startingTime=timeline.currentTime;visitDslNode(this,ast.animation,context),context.previousNode=ast,parentContext.currentStaggerTime=tl.currentTime-startingTime+(tl.startTime-parentContext.currentTimeline.startTime)},AnimationTimelineBuilderVisitor}(),DEFAULT_NOOP_P
 REVIOUS_NODE={},AnimationTimelineContext=function(){function AnimationTimelineContext(_driver,element,subInstructions,_enterClassName,_leaveClassName,errors,timelines,initialTimeline){this._driver=_driver,this.element=element,this.subInstructions=subInstructions,this._enterClassName=_enterClassName,this._leaveClassName=_leaveClassName,this.errors=errors,this.timelines=timelines,this.parentContext=null,this.currentAnimateTimings=null,this.previousNode=DEFAULT_NOOP_PREVIOUS_NODE,this.subContextCount=0,this.options={},this.currentQueryIndex=0,this.currentQueryTotal=0,this.currentStaggerTime=0,this.currentTimeline=initialTimeline||new TimelineBuilder(this._driver,element,0),timelines.push(this.currentTimeline)}return Object.defineProperty(AnimationTimelineContext.prototype,"params",{get:function(){return this.options.params},enumerable:!0,configurable:!0}),AnimationTimelineContext.prototype.updateOptions=function(options,skipIfExists){var _this=this;if(options){var newOptions=options,op
 tionsToUpdate=this.options;null!=newOptions.duration&&(optionsToUpdate.duration=resolveTimingValue(newOptions.duration)),null!=newOptions.delay&&(optionsToUpdate.delay=resolveTimingValue(newOptions.delay));var newParams=newOptions.params;if(newParams){var paramsToUpdate_1=optionsToUpdate.params;paramsToUpdate_1||(paramsToUpdate_1=this.options.params={}),Object.keys(newParams).forEach(function(name){skipIfExists&&paramsToUpdate_1.hasOwnProperty(name)||(paramsToUpdate_1[name]=interpolateParams(newParams[name],paramsToUpdate_1,_this.errors))})}}},AnimationTimelineContext.prototype._copyOptions=function(){var options={};if(this.options){var oldParams_1=this.options.params;if(oldParams_1){var params_1=options.params={};Object.keys(oldParams_1).forEach(function(name){params_1[name]=oldParams_1[name]})}}return options},AnimationTimelineContext.prototype.createSubContext=function(options,element,newTime){void 0===options&&(options=null);var target=element||this.element,context=new Animation
 TimelineContext(this._driver,target,this.subInstructions,this._enterClassName,this._leaveClassName,this.errors,this.timelines,this.currentTimeline.fork(target,newTime||0));return context.previousNode=this.previousNode,context.currentAnimateTimings=this.currentAnimateTimings,context.options=this._copyOptions(),context.updateOptions(options),context.currentQueryIndex=this.currentQueryIndex,context.currentQueryTotal=this.currentQueryTotal,context.parentContext=this,this.subContextCount++,context},AnimationTimelineContext.prototype.transformIntoNewTimeline=function(newTime){return this.previousNode=DEFAULT_NOOP_PREVIOUS_NODE,this.currentTimeline=this.currentTimeline.fork(this.element,newTime),this.timelines.push(this.currentTimeline),this.currentTimeline},AnimationTimelineContext.prototype.appendInstructionToTimeline=function(instruction,duration,delay){var updatedTimings={duration:null!=duration?duration:instruction.duration,delay:this.currentTimeline.currentTime+(null!=delay?delay:0)+
 instruction.delay,easing:""},builder=new SubTimelineBuilder(this._driver,instruction.element,instruction.keyframes,instruction.preStyleProps,instruction.postStyleProps,updatedTimings,instruction.stretchStartingKeyframe);return this.timelines.push(builder),updatedTimings},AnimationTimelineContext.prototype.incrementTime=function(time){this.currentTimeline.forwardTime(this.currentTimeline.duration+time)},AnimationTimelineContext.prototype.delayNextStep=function(delay){delay>0&&this.currentTimeline.delayNextStep(delay)},AnimationTimelineContext.prototype.invokeQuery=function(selector,originalSelector,limit,includeSelf,optional,errors){var results=[];if(includeSelf&&results.push(this.element),selector.length>0){selector=selector.replace(ENTER_TOKEN_REGEX,"."+this._enterClassName),selector=selector.replace(LEAVE_TOKEN_REGEX,"."+this._leaveClassName);var multi=1!=limit,elements=this._driver.query(this.element,selector,multi);0!==limit&&(elements=limit<0?elements.slice(elements.length+limi
 t,elements.length):elements.slice(0,limit)),results.push.apply(results,elements)}return optional||0!=results.length||errors.push('`query("'+originalSelector+'")` returned zero elements. (Use `query("'+originalSelector+'", { optional: true })` if you wish to allow this.)'),results},AnimationTimelineContext}(),TimelineBuilder=function(){function TimelineBuilder(_driver,element,startTime,_elementTimelineStylesLookup){this._driver=_driver,this.element=element,this.startTime=startTime,this._elementTimelineStylesLookup=_elementTimelineStylesLookup,this.duration=0,this._previousKeyframe={},this._currentKeyframe={},this._keyframes=new Map,this._styleSummary={},this._pendingStyles={},this._backFill={},this._currentEmptyStepKeyframe=null,this._elementTimelineStylesLookup||(this._elementTimelineStylesLookup=new Map),this._localTimelineStyles=Object.create(this._backFill,{}),this._globalTimelineStyles=this._elementTimelineStylesLookup.get(element),this._globalTimelineStyles||(this._globalTimeli
 neStyles=this._localTimelineStyles,this._elementTimelineStylesLookup.set(element,this._localTimelineStyles)),this._loadKeyframe()}return TimelineBuilder.prototype.containsAnimation=function(){switch(this._keyframes.size){case 0:return!1;case 1:return this.getCurrentStyleProperties().length>0;default:return!0}},TimelineBuilder.prototype.getCurrentStyleProperties=function(){return Object.keys(this._currentKeyframe)},Object.defineProperty(TimelineBuilder.prototype,"currentTime",{get:function(){return this.startTime+this.duration},enumerable:!0,configurable:!0}),TimelineBuilder.prototype.delayNextStep=function(delay){var hasPreStyleStep=1==this._keyframes.size&&Object.keys(this._pendingStyles).length;this.duration||hasPreStyleStep?(this.forwardTime(this.currentTime+delay),hasPreStyleStep&&this.snapshotCurrentStyles()):this.startTime+=delay},TimelineBuilder.prototype.fork=function(element,currentTime){return this.applyStylesToKeyframe(),new TimelineBuilder(this._driver,element,currentTim
 e||this.currentTime,this._elementTimelineStylesLookup)},TimelineBuilder.prototype._loadKeyframe=function(){this._currentKeyframe&&(this._previousKeyframe=this._currentKeyframe),this._currentKeyframe=this._keyframes.get(this.duration),this._currentKeyframe||(this._currentKeyframe=Object.create(this._backFill,{}),this._keyframes.set(this.duration,this._currentKeyframe))},TimelineBuilder.prototype.forwardFrame=function(){this.duration+=1,this._loadKeyframe()},TimelineBuilder.prototype.forwardTime=function(time){this.applyStylesToKeyframe(),this.duration=time,this._loadKeyframe()},TimelineBuilder.prototype._updateStyle=function(prop,value){this._localTimelineStyles[prop]=value,this._globalTimelineStyles[prop]=value,this._styleSummary[prop]={time:this.currentTime,value:value}},TimelineBuilder.prototype.allowOnlyTimelineStyles=function(){return this._currentEmptyStepKeyframe!==this._currentKeyframe},TimelineBuilder.prototype.applyEmptyStep=function(easing){var _this=this;easing&&(this._pr
 eviousKeyframe.easing=easing),Object.keys(this._globalTimelineStyles).forEach(function(prop){_this._backFill[prop]=_this._globalTimelineStyles[prop]||_angular_animations.AUTO_STYLE,_this._currentKeyframe[prop]=_angular_animations.AUTO_STYLE}),this._currentEmptyStepKeyframe=this._currentKeyframe},TimelineBuilder.prototype.setStyles=function(input,easing,errors,options){var _this=this;easing&&(this._previousKeyframe.easing=easing);var params=options&&options.params||{},styles=flattenStyles(input,this._globalTimelineStyles);Object.keys(styles).forEach(function(prop){var val=interpolateParams(styles[prop],params,errors);_this._pendingStyles[prop]=val,_this._localTimelineStyles.hasOwnProperty(prop)||(_this._backFill[prop]=_this._globalTimelineStyles.hasOwnProperty(prop)?_this._globalTimelineStyles[prop]:_angular_animations.AUTO_STYLE),_this._updateStyle(prop,val)})},TimelineBuilder.prototype.applyStylesToKeyframe=function(){var _this=this,styles=this._pendingStyles,props=Object.keys(styl
 es);0!=props.length&&(this._pendingStyles={},props.forEach(function(prop){var val=styles[prop];_this._currentKeyframe[prop]=val}),Object.keys(this._localTimelineStyles).forEach(function(prop){_this._currentKeyframe.hasOwnProperty(prop)||(_this._currentKeyframe[prop]=_this._localTimelineStyles[prop])}))},TimelineBuilder.prototype.snapshotCurrentStyles=function(){var _this=this;Object.keys(this._localTimelineStyles).forEach(function(prop){var val=_this._localTimelineStyles[prop];_this._pendingStyles[prop]=val,_this._updateStyle(prop,val)})},TimelineBuilder.prototype.getFinalKeyframe=function(){return this._keyframes.get(this.duration)},Object.defineProperty(TimelineBuilder.prototype,"properties",{get:function(){var properties=[];for(var prop in this._currentKeyframe)properties.push(prop);return properties},enumerable:!0,configurable:!0}),TimelineBuilder.prototype.mergeTimelineCollectedStyles=function(timeline){var _this=this;Object.keys(timeline._styleSummary).forEach(function(prop){v
 ar details0=_this._styleSummary[prop],details1=timeline._styleSummary[prop];(!details0||details1.time>details0.time)&&_this._updateStyle(prop,details1.value)})},TimelineBuilder.prototype.buildKeyframes=function(){var _this=this;this.applyStylesToKeyframe();var preStyleProps=new Set,postStyleProps=new Set,isEmpty=1===this._keyframes.size&&0===this.duration,finalKeyframes=[];this._keyframes.forEach(function(keyframe,time){var finalKeyframe=copyStyles(keyframe,!0);Object.keys(finalKeyframe).forEach(function(prop){var value=finalKeyframe[prop];value==_angular_animations.ɵPRE_STYLE?preStyleProps.add(prop):value==_angular_animations.AUTO_STYLE&&postStyleProps.add(prop)}),isEmpty||(finalKeyframe.offset=time/_this.duration),finalKeyframes.push(finalKeyframe)});var preProps=preStyleProps.size?iteratorToArray(preStyleProps.values()):[],postProps=postStyleProps.size?iteratorToArray(postStyleProps.values()):[];if(isEmpty){var kf0=finalKeyframes[0],kf1=copyObj(kf0);kf0.offset=0,kf1.offset=1,fin
 alKeyframes=[kf0,kf1]}return createTimelineInstruction(this.element,finalKeyframes,preProps,postProps,this.duration,this.startTime,this.easing,!1)},TimelineBuilder}(),SubTimelineBuilder=function(_super){function SubTimelineBuilder(driver,element,keyframes,preStyleProps,postStyleProps,timings,_stretchStartingKeyframe){void 0===_stretchStartingKeyframe&&(_stretchStartingKeyframe=!1);var _this=_super.call(this,driver,element,timings.delay)||this;return _this.element=element,_this.keyframes=keyframes,_this.preStyleProps=preStyleProps,_this.postStyleProps=postStyleProps,_this._stretchStartingKeyframe=_stretchStartingKeyframe,_this.timings={duration:timings.duration,delay:timings.delay,easing:timings.easing},_this}return __extends(SubTimelineBuilder,_super),SubTimelineBuilder.prototype.containsAnimation=function(){return this.keyframes.length>1},SubTimelineBuilder.prototype.buildKeyframes=function(){var keyframes=this.keyframes,_a=this.timings,delay=_a.delay,duration=_a.duration,easing=_a
 .easing;if(this._stretchStartingKeyframe&&delay){var newKeyframes=[],totalTime=duration+delay,startingGap=delay/totalTime,newFirstKeyframe=copyStyles(keyframes[0],!1);newFirstKeyframe.offset=0,newKeyframes.push(newFirstKeyframe);var oldFirstKeyframe=copyStyles(keyframes[0],!1);oldFirstKeyframe.offset=roundOffset(startingGap),newKeyframes.push(oldFirstKeyframe);for(var limit=keyframes.length-1,i=1;i<=limit;i++){var kf=copyStyles(keyframes[i],!1),oldOffset=kf.offset,timeAtKeyframe=delay+oldOffset*duration;kf.offset=roundOffset(timeAtKeyframe/totalTime),newKeyframes.push(kf)}duration=totalTime,delay=0,easing="",keyframes=newKeyframes}return createTimelineInstruction(this.element,keyframes,this.preStyleProps,this.postStyleProps,duration,delay,easing,!0)},SubTimelineBuilder}(TimelineBuilder),Animation=function(){function Animation(_driver,input){this._driver=_driver;var errors=[],ast=buildAnimationAst(_driver,input,errors);if(errors.length){var errorMessage="animation validation failed:\
 n"+errors.join("\n");throw new Error(errorMessage)}this._animationAst=ast}return Animation.prototype.buildTimelines=function(element,startingStyles,destinationStyles,options,subInstructions){var start=Array.isArray(startingStyles)?normalizeStyles(startingStyles):startingStyles,dest=Array.isArray(destinationStyles)?normalizeStyles(destinationStyles):destinationStyles,errors=[];subInstructions=subInstructions||new ElementInstructionMap;var result=buildAnimationTimelines(this._driver,element,this._animationAst,"ng-enter","ng-leave",start,dest,options,subInstructions,errors);if(errors.length){var errorMessage="animation building failed:\n"+errors.join("\n");throw new Error(errorMessage)}return result},Animation}(),AnimationStyleNormalizer=function(){function AnimationStyleNormalizer(){}return AnimationStyleNormalizer}(),NoopAnimationStyleNormalizer=function(){function NoopAnimationStyleNormalizer(){}return NoopAnimationStyleNormalizer.prototype.normalizePropertyName=function(propertyNam
 e,errors){return propertyName},NoopAnimationStyleNormalizer.prototype.normalizeStyleValue=function(userProvidedProperty,normalizedProperty,value,errors){return value},NoopAnimationStyleNormalizer}(),WebAnimationsStyleNormalizer=function(_super){function WebAnimationsStyleNormalizer(){return null!==_super&&_super.apply(this,arguments)||this}return __extends(WebAnimationsStyleNormalizer,_super),WebAnimationsStyleNormalizer.prototype.normalizePropertyName=function(propertyName,errors){return dashCaseToCamelCase(propertyName)},WebAnimationsStyleNormalizer.prototype.normalizeStyleValue=function(userProvidedProperty,normalizedProperty,value,errors){var unit="",strVal=value.toString().trim();if(DIMENSIONAL_PROP_MAP[normalizedProperty]&&0!==value&&"0"!==value)if("number"==typeof value)unit="px";else{var valAndSuffixMatch=value.match(/^[+-]?[\d\.]+([a-z]*)$/);valAndSuffixMatch&&0==valAndSuffixMatch[1].length&&errors.push("Please provide a CSS unit value for "+userProvidedProperty+":"+value)}
 return strVal+unit},WebAnimationsStyleNormalizer}(AnimationStyleNormalizer),DIMENSIONAL_PROP_MAP=function(keys){var map={};return keys.forEach(function(key){return map[key]=!0}),map}("width,height,minWidth,minHeight,maxWidth,maxHeight,left,top,bottom,right,fontSize,outlineWidth,outlineOffset,paddingTop,paddingLeft,paddingBottom,paddingRight,marginTop,marginLeft,marginBottom,marginRight,borderRadius,borderWidth,borderTopWidth,borderLeftWidth,borderRightWidth,borderBottomWidth,textIndent,perspective".split(",")),EMPTY_OBJECT={},AnimationTransitionFactory=function(){function AnimationTransitionFactory(_triggerName,ast,_stateStyles){this._triggerName=_triggerName,this.ast=ast,this._stateStyles=_stateStyles}return AnimationTransitionFactory.prototype.match=function(currentState,nextState){return oneOrMoreTransitionsMatch(this.ast.matchers,currentState,nextState)},AnimationTransitionFactory.prototype.buildStyles=function(stateName,params,errors){var backupStateStyler=this._stateStyles["*"
 ],stateStyler=this._stateStyles[stateName],backupStyles=backupStateStyler?backupStateStyler.buildStyles(params,errors):{};return stateStyler?stateStyler.buildStyles(params,errors):backupStyles},AnimationTransitionFactory.prototype.build=function(driver,element,currentState,nextState,enterClassName,leaveClassName,currentOptions,nextOptions,subInstructions){var errors=[],transitionAnimationParams=this.ast.options&&this.ast.options.params||EMPTY_OBJECT,currentAnimationParams=currentOptions&&currentOptions.params||EMPTY_OBJECT,currentStateStyles=this.buildStyles(currentState,currentAnimationParams,errors),nextAnimationParams=nextOptions&&nextOptions.params||EMPTY_OBJECT,nextStateStyles=this.buildStyles(nextState,nextAnimationParams,errors),queriedElements=new Set,preStyleMap=new Map,postStyleMap=new Map,isRemoval="void"===nextState,animationOptions={params:__assign({},transitionAnimationParams,nextAnimationParams)},timelines=buildAnimationTimelines(driver,element,this.ast.animation,ente
 rClassName,leaveClassName,currentStateStyles,nextStateStyles,animationOptions,subInstructions,errors);if(errors.length)return createTransitionInstruction(element,this._triggerName,currentState,nextState,isRemoval,currentStateStyles,nextStateStyles,[],[],preStyleMap,postStyleMap,errors);timelines.forEach(function(tl){var elm=tl.element,preProps=getOrSetAsInMap(preStyleMap,elm,{});tl.preStyleProps.forEach(function(prop){return preProps[prop]=!0});var postProps=getOrSetAsInMap(postStyleMap,elm,{});tl.postStyleProps.forEach(function(prop){return postProps[prop]=!0}),elm!==element&&queriedElements.add(elm)});var queriedElementsList=iteratorToArray(queriedElements.values());return createTransitionInstruction(element,this._triggerName,currentState,nextState,isRemoval,currentStateStyles,nextStateStyles,timelines,queriedElementsList,preStyleMap,postStyleMap)},AnimationTransitionFactory}(),AnimationStateStyles=function(){function AnimationStateStyles(styles,defaultParams){this.styles=styles,t
 his.defaultParams=defaultParams}return AnimationStateStyles.prototype.buildStyles=function(params,errors){var finalStyles={},combinedParams=copyObj(this.defaultParams);return Object.keys(params).forEach(function(key){var value=params[key];null!=value&&(combinedParams[key]=value)}),this.styles.styles.forEach(function(value){if("string"!=typeof value){var styleObj_1=value;Object.keys(styleObj_1).forEach(function(prop){var val=styleObj_1[prop];val.length>1&&(val=interpolateParams(val,combinedParams,errors)),finalStyles[prop]=val})}}),finalStyles},AnimationStateStyles}(),AnimationTrigger=function(){function AnimationTrigger(name,ast){var _this=this;this.name=name,this.ast=ast,this.transitionFactories=[],this.states={},ast.states.forEach(function(ast){var defaultParams=ast.options&&ast.options.params||{};_this.states[ast.name]=new AnimationStateStyles(ast.style,defaultParams)}),balanceProperties(this.states,"true","1"),balanceProperties(this.states,"false","0"),ast.transitions.forEach(fu
 nction(ast){_this.transitionFactories.push(new AnimationTransitionFactory(name,ast,_this.states))}),this.fallbackTransition=createFallbackTransition(name,this.states)}return Object.defineProperty(AnimationTrigger.prototype,"containsQueries",{get:function(){return this.ast.queryCount>0},enumerable:!0,configurable:!0}),AnimationTrigger.prototype.matchTransition=function(currentState,nextState){return this.transitionFactories.find(function(f){return f.match(currentState,nextState)})||null},AnimationTrigger.prototype.matchStyles=function(currentState,params,errors){return this.fallbackTransition.buildStyles(currentState,params,errors)},AnimationTrigger}(),EMPTY_INSTRUCTION_MAP=new ElementInstructionMap,TimelineAnimationEngine=function(){function TimelineAnimationEngine(_driver,_normalizer){this._driver=_driver,this._normalizer=_normalizer,this._animations={},this._playersById={},this.players=[]}return TimelineAnimationEngine.prototype.register=function(id,metadata){var errors=[],ast=bui
 ldAnimationAst(this._driver,metadata,errors);if(errors.length)throw new Error("Unable to build the animation due to the following errors: "+errors.join("\n"));this._animations[id]=ast},TimelineAnimationEngine.prototype._buildPlayer=function(i,preStyles,postStyles){var element=i.element,keyframes=normalizeKeyframes(this._driver,this._normalizer,element,i.keyframes,preStyles,postStyles);return this._driver.animate(element,keyframes,i.duration,i.delay,i.easing,[])},TimelineAnimationEngine.prototype.create=function(id,element,options){var _this=this;void 0===options&&(options={});var instructions,errors=[],ast=this._animations[id],autoStylesMap=new Map;if(ast?(instructions=buildAnimationTimelines(this._driver,element,ast,"ng-enter","ng-leave",{},{},options,EMPTY_INSTRUCTION_MAP,errors),instructions.forEach(function(inst){var styles=getOrSetAsInMap(autoStylesMap,inst.element,{});inst.postStyleProps.forEach(function(prop){return styles[prop]=null})})):(errors.push("The requested animation
  doesn't exist or has already been destroyed"),instructions=[]),errors.length)throw new Error("Unable to create the animation due to the following errors: "+errors.join("\n"));autoStylesMap.forEach(function(styles,element){Object.keys(styles).forEach(function(prop){styles[prop]=_this._driver.computeStyle(element,prop,_angular_animations.AUTO_STYLE)})});var players=instructions.map(function(i){var styles=autoStylesMap.get(i.element);return _this._buildPlayer(i,{},styles)}),player=optimizeGroupPlayer(players);return this._playersById[id]=player,player.onDestroy(function(){return _this.destroy(id)}),this.players.push(player),player},TimelineAnimationEngine.prototype.destroy=function(id){var player=this._getPlayer(id);player.destroy(),delete this._playersById[id];var index=this.players.indexOf(player);index>=0&&this.players.splice(index,1)},TimelineAnimationEngine.prototype._getPlayer=function(id){var player=this._playersById[id];if(!player)throw new Error("Unable to find the timeline p
 layer referenced by "+id);return player},TimelineAnimationEngine.prototype.listen=function(id,element,eventName,callback){var baseEvent=makeAnimationEvent(element,"","","");return listenOnPlayer(this._getPlayer(id),eventName,baseEvent,callback),function(){}},TimelineAnimationEngine.prototype.command=function(id,element,command,args){if("register"==command)return void this.register(id,args[0]);if("create"==command){var options=args[0]||{};return void this.create(id,element,options)}var player=this._getPlayer(id);switch(command){case"play":player.play();break;case"pause":player.pause();break;case"reset":player.reset();break;case"restart":player.restart();break;case"finish":player.finish();break;case"init":player.init();break;case"setPosition":player.setPosition(parseFloat(args[0]));break;case"destroy":this.destroy(id)}},TimelineAnimationEngine}(),EMPTY_PLAYER_ARRAY=[],NULL_REMOVAL_STATE={namespaceId:"",setForRemoval:null,hasAnimation:!1,removedBeforeQueried:!1},NULL_REMOVED_QUERIED_ST
 ATE={namespaceId:"",setForRemoval:null,hasAnimation:!1,removedBeforeQueried:!0},REMOVAL_FLAG="__ng_removed",StateValue=function(){function StateValue(input,namespaceId){void 0===namespaceId&&(namespaceId=""),this.namespaceId=namespaceId;var isObj=input&&input.hasOwnProperty("value"),value=isObj?input.value:input;if(this.value=normalizeTriggerValue(value),isObj){var options=copyObj(input);delete options.value,this.options=options}else this.options={};this.options.params||(this.options.params={})}return Object.defineProperty(StateValue.prototype,"params",{get:function(){return this.options.params},enumerable:!0,configurable:!0}),StateValue.prototype.absorbOptions=function(options){var newParams=options.params;if(newParams){var oldParams_1=this.options.params;Object.keys(newParams).forEach(function(prop){null==oldParams_1[prop]&&(oldParams_1[prop]=newParams[prop])})}},StateValue}(),DEFAULT_STATE_VALUE=new StateValue("void"),DELETED_STATE_VALUE=new StateValue("DELETED"),AnimationTransit
 ionNamespace=function(){function AnimationTransitionNamespace(id,hostElement,_engine){this.id=id,this.hostElement=hostElement,this._engine=_engine,this.players=[],this._triggers={},this._queue=[],this._elementListeners=new Map,this._hostClassName="ng-tns-"+id,addClass(hostElement,this._hostClassName)}return AnimationTransitionNamespace.prototype.listen=function(element,name,phase,callback){var _this=this;if(!this._triggers.hasOwnProperty(name))throw new Error('Unable to listen on the animation trigger event "'+phase+'" because the animation trigger "'+name+"\" doesn't exist!");if(null==phase||0==phase.length)throw new Error('Unable to listen on the animation trigger "'+name+'" because the provided event is undefined!');if(!isTriggerEventValid(phase))throw new Error('The provided animation trigger event "'+phase+'" for the animation trigger "'+name+'" is not supported!');var listeners=getOrSetAsInMap(this._elementListeners,element,[]),data={name:name,phase:phase,callback:callback};li
 steners.push(data)
+;var triggersWithStates=getOrSetAsInMap(this._engine.statesByElement,element,{});return triggersWithStates.hasOwnProperty(name)||(addClass(element,"ng-trigger"),addClass(element,"ng-trigger-"+name),triggersWithStates[name]=DEFAULT_STATE_VALUE),function(){_this._engine.afterFlush(function(){var index=listeners.indexOf(data);index>=0&&listeners.splice(index,1),_this._triggers[name]||delete triggersWithStates[name]})}},AnimationTransitionNamespace.prototype.register=function(name,ast){return!this._triggers[name]&&(this._triggers[name]=ast,!0)},AnimationTransitionNamespace.prototype._getTrigger=function(name){var trigger=this._triggers[name];if(!trigger)throw new Error('The provided animation trigger "'+name+'" has not been registered!');return trigger},AnimationTransitionNamespace.prototype.trigger=function(element,triggerName,value,defaultToFallback){var _this=this;void 0===defaultToFallback&&(defaultToFallback=!0);var trigger=this._getTrigger(triggerName),player=new TransitionAnimati
 onPlayer(this.id,triggerName,element),triggersWithStates=this._engine.statesByElement.get(element);triggersWithStates||(addClass(element,"ng-trigger"),addClass(element,"ng-trigger-"+triggerName),this._engine.statesByElement.set(element,triggersWithStates={}));var fromState=triggersWithStates[triggerName],toState=new StateValue(value,this.id);if(!(value&&value.hasOwnProperty("value"))&&fromState&&toState.absorbOptions(fromState.options),triggersWithStates[triggerName]=toState,fromState){if(fromState===DELETED_STATE_VALUE)return player}else fromState=DEFAULT_STATE_VALUE;if("void"===toState.value||fromState.value!==toState.value){var playersOnElement=getOrSetAsInMap(this._engine.playersByElement,element,[]);playersOnElement.forEach(function(player){player.namespaceId==_this.id&&player.triggerName==triggerName&&player.queued&&player.destroy()});var transition=trigger.matchTransition(fromState.value,toState.value),isFallbackTransition=!1;if(!transition){if(!defaultToFallback)return;trans
 ition=trigger.fallbackTransition,isFallbackTransition=!0}return this._engine.totalQueuedPlayers++,this._queue.push({element:element,triggerName:triggerName,transition:transition,fromState:fromState,toState:toState,player:player,isFallbackTransition:isFallbackTransition}),isFallbackTransition||(addClass(element,"ng-animate-queued"),player.onStart(function(){removeClass(element,"ng-animate-queued")})),player.onDone(function(){var index=_this.players.indexOf(player);index>=0&&_this.players.splice(index,1);var players=_this._engine.playersByElement.get(element);if(players){var index_1=players.indexOf(player);index_1>=0&&players.splice(index_1,1)}}),this.players.push(player),playersOnElement.push(player),player}if(!objEquals(fromState.params,toState.params)){var errors=[],fromStyles_1=trigger.matchStyles(fromState.value,fromState.params,errors),toStyles_1=trigger.matchStyles(toState.value,toState.params,errors);errors.length?this._engine.reportError(errors):this._engine.afterFlush(functi
 on(){eraseStyles(element,fromStyles_1),setStyles(element,toStyles_1)})}},AnimationTransitionNamespace.prototype.deregister=function(name){var _this=this;delete this._triggers[name],this._engine.statesByElement.forEach(function(stateMap,element){delete stateMap[name]}),this._elementListeners.forEach(function(listeners,element){_this._elementListeners.set(element,listeners.filter(function(entry){return entry.name!=name}))})},AnimationTransitionNamespace.prototype.clearElementCache=function(element){this._engine.statesByElement.delete(element),this._elementListeners.delete(element);var elementPlayers=this._engine.playersByElement.get(element);elementPlayers&&(elementPlayers.forEach(function(player){return player.destroy()}),this._engine.playersByElement.delete(element))},AnimationTransitionNamespace.prototype._signalRemovalForInnerTriggers=function(rootElement,context,animate){var _this=this;void 0===animate&&(animate=!1),this._engine.driver.query(rootElement,NG_TRIGGER_SELECTOR,!0).fo
 rEach(function(elm){if(!elm[REMOVAL_FLAG]){var namespaces=_this._engine.fetchNamespacesByElement(elm);namespaces.size?namespaces.forEach(function(ns){return ns.triggerLeaveAnimation(elm,context,!1,!0)}):_this.clearElementCache(elm)}})},AnimationTransitionNamespace.prototype.triggerLeaveAnimation=function(element,context,destroyAfterComplete,defaultToFallback){var _this=this,triggerStates=this._engine.statesByElement.get(element);if(triggerStates){var players_1=[];if(Object.keys(triggerStates).forEach(function(triggerName){if(_this._triggers[triggerName]){var player=_this.trigger(element,triggerName,"void",defaultToFallback);player&&players_1.push(player)}}),players_1.length)return this._engine.markElementAsRemoved(this.id,element,!0,context),destroyAfterComplete&&optimizeGroupPlayer(players_1).onDone(function(){return _this._engine.processLeaveNode(element)}),!0}return!1},AnimationTransitionNamespace.prototype.prepareLeaveAnimationListeners=function(element){var _this=this,listeners
 =this._elementListeners.get(element);if(listeners){var visitedTriggers_1=new Set;listeners.forEach(function(listener){var triggerName=listener.name;if(!visitedTriggers_1.has(triggerName)){visitedTriggers_1.add(triggerName);var trigger=_this._triggers[triggerName],transition=trigger.fallbackTransition,elementStates=_this._engine.statesByElement.get(element),fromState=elementStates[triggerName]||DEFAULT_STATE_VALUE,toState=new StateValue("void"),player=new TransitionAnimationPlayer(_this.id,triggerName,element);_this._engine.totalQueuedPlayers++,_this._queue.push({element:element,triggerName:triggerName,transition:transition,fromState:fromState,toState:toState,player:player,isFallbackTransition:!0})}})}},AnimationTransitionNamespace.prototype.removeNode=function(element,context){var _this=this,engine=this._engine;if(element.childElementCount&&this._signalRemovalForInnerTriggers(element,context,!0),!this.triggerLeaveAnimation(element,context,!0)){var containsPotentialParentTransition=!
 1;if(engine.totalAnimations){var currentPlayers=engine.players.length?engine.playersByQueriedElement.get(element):[];if(currentPlayers&&currentPlayers.length)containsPotentialParentTransition=!0;else for(var parent_1=element;parent_1=parent_1.parentNode;){var triggers=engine.statesByElement.get(parent_1);if(triggers){containsPotentialParentTransition=!0;break}}}this.prepareLeaveAnimationListeners(element),containsPotentialParentTransition?engine.markElementAsRemoved(this.id,element,!1,context):(engine.afterFlush(function(){return _this.clearElementCache(element)}),engine.destroyInnerAnimations(element),engine._onRemovalComplete(element,context))}},AnimationTransitionNamespace.prototype.insertNode=function(element,parent){addClass(element,this._hostClassName)},AnimationTransitionNamespace.prototype.drainQueuedTransitions=function(microtaskId){var _this=this,instructions=[];return this._queue.forEach(function(entry){var player=entry.player;if(!player.destroyed){var element=entry.eleme
 nt,listeners=_this._elementListeners.get(element);listeners&&listeners.forEach(function(listener){if(listener.name==entry.triggerName){var baseEvent=makeAnimationEvent(element,entry.triggerName,entry.fromState.value,entry.toState.value);baseEvent._data=microtaskId,listenOnPlayer(entry.player,listener.phase,baseEvent,listener.callback)}}),player.markedForDestroy?_this._engine.afterFlush(function(){player.destroy()}):instructions.push(entry)}}),this._queue=[],instructions.sort(function(a,b){var d0=a.transition.ast.depCount,d1=b.transition.ast.depCount;return 0==d0||0==d1?d0-d1:_this._engine.driver.containsElement(a.element,b.element)?1:-1})},AnimationTransitionNamespace.prototype.destroy=function(context){this.players.forEach(function(p){return p.destroy()}),this._signalRemovalForInnerTriggers(this.hostElement,context)},AnimationTransitionNamespace.prototype.elementContainsData=function(element){var containsData=!1;return this._elementListeners.has(element)&&(containsData=!0),contains
 Data=!!this._queue.find(function(entry){return entry.element===element})||containsData},AnimationTransitionNamespace}(),TransitionAnimationEngine=function(){function TransitionAnimationEngine(driver,_normalizer){this.driver=driver,this._normalizer=_normalizer,this.players=[],this.newHostElements=new Map,this.playersByElement=new Map,this.playersByQueriedElement=new Map,this.statesByElement=new Map,this.disabledNodes=new Set,this.totalAnimations=0,this.totalQueuedPlayers=0,this._namespaceLookup={},this._namespaceList=[],this._flushFns=[],this._whenQuietFns=[],this.namespacesByHostElement=new Map,this.collectedEnterElements=[],this.collectedLeaveElements=[],this.onRemovalComplete=function(element,context){}}return TransitionAnimationEngine.prototype._onRemovalComplete=function(element,context){this.onRemovalComplete(element,context)},Object.defineProperty(TransitionAnimationEngine.prototype,"queuedPlayers",{get:function(){var players=[];return this._namespaceList.forEach(function(ns){
 ns.players.forEach(function(player){player.queued&&players.push(player)})}),players},enumerable:!0,configurable:!0}),TransitionAnimationEngine.prototype.createNamespace=function(namespaceId,hostElement){var ns=new AnimationTransitionNamespace(namespaceId,hostElement,this);return hostElement.parentNode?this._balanceNamespaceList(ns,hostElement):(this.newHostElements.set(hostElement,ns),this.collectEnterElement(hostElement)),this._namespaceLookup[namespaceId]=ns},TransitionAnimationEngine.prototype._balanceNamespaceList=function(ns,hostElement){var limit=this._namespaceList.length-1;if(limit>=0){for(var found=!1,i=limit;i>=0;i--){var nextNamespace=this._namespaceList[i];if(this.driver.containsElement(nextNamespace.hostElement,hostElement)){this._namespaceList.splice(i+1,0,ns),found=!0;break}}found||this._namespaceList.splice(0,0,ns)}else this._namespaceList.push(ns);return this.namespacesByHostElement.set(hostElement,ns),ns},TransitionAnimationEngine.prototype.register=function(namesp
 aceId,hostElement){var ns=this._namespaceLookup[namespaceId];return ns||(ns=this.createNamespace(namespaceId,hostElement)),ns},TransitionAnimationEngine.prototype.registerTrigger=function(namespaceId,name,trigger){var ns=this._namespaceLookup[namespaceId];ns&&ns.register(name,trigger)&&this.totalAnimations++},TransitionAnimationEngine.prototype.destroy=function(namespaceId,context){var _this=this;if(namespaceId){var ns=this._fetchNamespace(namespaceId);this.afterFlush(function(){_this.namespacesByHostElement.delete(ns.hostElement),delete _this._namespaceLookup[namespaceId];var index=_this._namespaceList.indexOf(ns);index>=0&&_this._namespaceList.splice(index,1)}),this.afterFlushAnimationsDone(function(){return ns.destroy(context)})}},TransitionAnimationEngine.prototype._fetchNamespace=function(id){return this._namespaceLookup[id]},TransitionAnimationEngine.prototype.fetchNamespacesByElement=function(element){var namespaces=new Set,elementStates=this.statesByElement.get(element);if(e
 lementStates)for(var keys=Object.keys(elementStates),i=0;i<keys.length;i++){var nsId=elementStates[keys[i]].namespaceId;if(nsId){var ns=this._fetchNamespace(nsId);ns&&namespaces.add(ns)}}return namespaces},TransitionAnimationEngine.prototype.trigger=function(namespaceId,element,name,value){return!!isElementNode(element)&&(this._fetchNamespace(namespaceId).trigger(element,name,value),!0)},TransitionAnimationEngine.prototype.insertNode=function(namespaceId,element,parent,insertBefore){if(isElementNode(element)){var details=element[REMOVAL_FLAG];details&&details.setForRemoval&&(details.setForRemoval=!1),namespaceId&&this._fetchNamespace(namespaceId).insertNode(element,parent),insertBefore&&this.collectEnterElement(element)}},TransitionAnimationEngine.prototype.collectEnterElement=function(element){this.collectedEnterElements.push(element)},TransitionAnimationEngine.prototype.markElementAsDisabled=function(element,value){value?this.disabledNodes.has(element)||(this.disabledNodes.add(ele
 ment),addClass(element,"ng-animate-disabled")):this.disabledNodes.has(element)&&(this.disabledNodes.delete(element),removeClass(element,"ng-animate-disabled"))},TransitionAnimationEngine.prototype.removeNode=function(namespaceId,element,context){if(!isElementNode(element))return void this._onRemovalComplete(element,context);var ns=namespaceId?this._fetchNamespace(namespaceId):null;ns?ns.removeNode(element,context):this.markElementAsRemoved(namespaceId,element,!1,context)},TransitionAnimationEngine.prototype.markElementAsRemoved=function(namespaceId,element,hasAnimation,context){this.collectedLeaveElements.push(element),element[REMOVAL_FLAG]={namespaceId:namespaceId,setForRemoval:context,hasAnimation:hasAnimation,removedBeforeQueried:!1}},TransitionAnimationEngine.prototype.listen=function(namespaceId,element,name,phase,callback){return isElementNode(element)?this._fetchNamespace(namespaceId).listen(element,name,phase,callback):function(){}},TransitionAnimationEngine.prototype._build
 Instruction=function(entry,subTimelines,enterClassName,leaveClassName){return entry.transition.build(this.driver,entry.element,entry.fromState.value,entry.toState.value,enterClassName,leaveClassName,entry.fromState.options,entry.toState.options,subTimelines)},TransitionAnimationEngine.prototype.destroyInnerAnimations=function(containerElement){var _this=this,elements=this.driver.query(containerElement,NG_TRIGGER_SELECTOR,!0);elements.forEach(function(element){return _this.destroyActiveAnimationsForElement(element)}),0!=this.playersByQueriedElement.size&&(elements=this.driver.query(containerElement,NG_ANIMATING_SELECTOR,!0),elements.forEach(function(element){return _this.finishActiveQueriedAnimationOnElement(element)}))},TransitionAnimationEngine.prototype.destroyActiveAnimationsForElement=function(element){var players=this.playersByElement.get(element);players&&players.forEach(function(player){player.queued?player.markedForDestroy=!0:player.destroy()});var stateMap=this.statesByElem
 ent.get(element);stateMap&&Object.keys(stateMap).forEach(function(triggerName){return stateMap[triggerName]=DELETED_STATE_VALUE})},TransitionAnimationEngine.prototype.finishActiveQueriedAnimationOnElement=function(element){var players=this.playersByQueriedElement.get(element);players&&players.forEach(function(player){return player.finish()})},TransitionAnimationEngine.prototype.whenRenderingDone=function(){var _this=this;return new Promise(function(resolve){if(_this.players.length)return optimizeGroupPlayer(_this.players).onDone(function(){return resolve()});resolve()})},TransitionAnimationEngine.prototype.processLeaveNode=function(element){var _this=this,details=element[REMOVAL_FLAG];if(details&&details.setForRemoval){if(element[REMOVAL_FLAG]=NULL_REMOVAL_STATE,details.namespaceId){this.destroyInnerAnimations(element);var ns=this._fetchNamespace(details.namespaceId);ns&&ns.clearElementCache(element)}this._onRemovalComplete(element,details.setForRemoval)}this.driver.matchesElement(e
 lement,".ng-animate-disabled")&&this.markElementAsDisabled(element,!1),this.driver.query(element,".ng-animate-disabled",!0).forEach(function(node){_this.markElementAsDisabled(element,!1)})},TransitionAnimationEngine.prototype.flush=function(microtaskId){var _this=this;void 0===microtaskId&&(microtaskId=-1);var players=[];if(this.newHostElements.size&&(this.newHostElements.forEach(function(ns,element){return _this._balanceNamespaceList(ns,element)}),this.newHostElements.clear()),this.totalAnimations&&this.collectedEnterElements.length)for(var i=0;i<this.collectedEnterElements.length;i++){var elm=this.collectedEnterElements[i];addClass(elm,"ng-star-inserted")}if(this._namespaceList.length&&(this.totalQueuedPlayers||this.collectedLeaveElements.length)){var cleanupFns=[];try{players=this._flushAnimations(cleanupFns,microtaskId)}finally{for(var i=0;i<cleanupFns.length;i++)cleanupFns[i]()}}else for(var i=0;i<this.collectedLeaveElements.length;i++){var element=this.collectedLeaveElements[i
 ];this.processLeaveNode(element)}if(this.totalQueuedPlayers=0,this.collectedEnterElements.length=0,this.collectedLeaveElements.length=0,this._flushFns.forEach(function(fn){return fn()}),this._flushFns=[],this._whenQuietFns.length){var quietFns_1=this._whenQuietFns;this._whenQuietFns=[],players.length?optimizeGroupPlayer(players).onDone(function(){quietFns_1.forEach(function(fn){return fn()})}):quietFns_1.forEach(function(fn){return fn()})}},TransitionAnimationEngine.prototype.reportError=function(errors){throw new Error("Unable to process animations due to the following failed trigger transitions\n "+errors.join("\n"))},TransitionAnimationEngine.prototype._flushAnimations=function(cleanupFns,microtaskId){var _this=this,subTimelines=new ElementInstructionMap,skippedPlayers=[],skippedPlayersMap=new Map,queuedInstructions=[],queriedElements=new Map,allPreStyleElements=new Map,allPostStyleElements=new Map,disabledElementsSet=new Set;this.disabledNodes.forEach(function(node){disabledElem
 entsSet.add(node);for(var nodesThatAreDisabled=_this.driver.query(node,".ng-animate-queued",!0),i_1=0;i_1<nodesThatAreDisabled.length;i_1++)disabledElementsSet.add(nodesThatAreDisabled[i_1])});var bodyNode=getBodyNode(),allTriggerElements=Array.from(this.statesByElement.keys()),enterNodeMap=buildRootMap(allTriggerElements,this.collectedEnterElements),enterNodeMapIds=new Map,i=0;enterNodeMap.forEach(function(nodes,root){var className="ng-enter"+i++;enterNodeMapIds.set(root,className),nodes.forEach(function(node){return addClass(node,className)})});for(var allLeaveNodes=[],mergedLeaveNodes=new Set,leaveNodesWithoutAnimations=new Set,i_2=0;i_2<this.collectedLeaveElements.length;i_2++){var element=this.collectedLeaveElements[i_2],details=element[REMOVAL_FLAG];details&&details.setForRemoval&&(allLeaveNodes.push(element),mergedLeaveNodes.add(element),details.hasAnimation?this.driver.query(element,".ng-star-inserted",!0).forEach(function(elm){return mergedLeaveNodes.add(elm)}):leaveNodesWi
 thoutAnimations.add(element))}var leaveNodeMapIds=new Map,leaveNodeMap=buildRootMap(allTriggerElements,Array.from(mergedLeaveNodes));leaveNodeMap.forEach(function(nodes,root){var className="ng-leave"+i++;leaveNodeMapIds.set(root,className),nodes.forEach(function(node){return addClass(node,className)})}),cleanupFns.push(function(){enterNodeMap.forEach(function(nodes,root){var className=enterNodeMapIds.get(root);nodes.forEach(function(node){return removeClass(node,className)})}),leaveNodeMap.forEach(function(nodes,root){var className=leaveNodeMapIds.get(root);nodes.forEach(function(node){return removeClass(node,className)})}),allLeaveNodes.forEach(function(element){_this.processLeaveNode(element)})});for(var allPlayers=[],erroneousTransitions=[],i_3=this._namespaceList.length-1;i_3>=0;i_3--){this._namespaceList[i_3].drainQueuedTransitions(microtaskId).forEach(function(entry){var player=entry.player;allPlayers.push(player);var element=entry.element;if(!bodyNode||!_this.driver.containsE
 lement(bodyNode,element))return void player.destroy();var leaveClassName=leaveNodeMapIds.get(element),enterClassName=enterNodeMapIds.get(element),instruction=_this._buildInstruction(entry,subTimelines,enterClassName,leaveClassName);if(instruction.errors&&instruction.errors.length)return void erroneousTransitions.push(instruction);if(entry.isFallbackTransition)return player.onStart(function(){return eraseStyles(element,instruction.fromStyles)}),player.onDestroy(function(){return setStyles(element,instruction.toStyles)}),void skippedPlayers.push(player);instruction.timelines.forEach(function(tl){return tl.stretchStartingKeyframe=!0}),subTimelines.append(element,instruction.timelines);var tuple={instruction:instruction,player:player,element:element};queuedInstructions.push(tuple),instruction.queriedElements.forEach(function(element){return getOrSetAsInMap(queriedElements,element,[]).push(player)}),instruction.preStyleProps.forEach(function(stringMap,element){var props=Object.keys(strin
 gMap);if(props.length){var setVal_1=allPreStyleElements.get(element);setVal_1||allPreStyleElements.set(element,setVal_1=new Set),props.forEach(function(prop){return setVal_1.add(prop)})}}),instruction.postStyleProps.forEach(function(stringMap,element){var props=Object.keys(stringMap),setVal=allPostStyleElements.get(element);setVal||allPostStyleElements.set(element,setVal=new Set),props.forEach(function(prop){return setVal.add(prop)})})})}if(erroneousTransitions.length){var errors_1=[];erroneousTransitions.forEach(function(instruction){errors_1.push("@"+instruction.triggerName+" has failed due to:\n"),instruction.errors.forEach(function(error){return errors_1.push("- "+error+"\n")})}),allPlayers.forEach(function(player){return player.destroy()}),this.reportError(errors_1)}var allPreviousPlayersMap=new Map,animationElementMap=new Map;queuedInstructions.forEach(function(entry){var element=entry.element;subTimelines.has(element)&&(animationElementMap.set(element,element),_this._beforeAn
 imationBuild(entry.player.namespaceId,entry.instruction,allPreviousPlayersMap))}),skippedPlayers.forEach(function(player){var element=player.element;_this._getPreviousPlayers(element,!1,player.namespaceId,player.triggerName,null).forEach(function(prevPlayer){getOrSetAsInMap(allPreviousPlayersMap,element,[]).push(prevPlayer),prevPlayer.destroy()})});var replaceNodes=allLeaveNodes.filter(function(node){return replacePostStylesAsPre(node,allPreStyleElements,allPostStyleElements)}),postStylesMap=new Map;cloakAndComputeStyles(postStylesMap,this.driver,leaveNodesWithoutAnimations,allPostStyleElements,_angular_animations.AUTO_STYLE).forEach(function(node){replacePostStylesAsPre(node,allPreStyleElements,allPostStyleElements)&&replaceNodes.push(node)});var preStylesMap=new Map;enterNodeMap.forEach(function(nodes,root){cloakAndComputeStyles(preStylesMap,_this.driver,new Set(nodes),allPreStyleElements,_angular_animations.ɵPRE_STYLE)}),replaceNodes.forEach(function(node){var post=postStylesMap
 .get(node),pre=preStylesMap.get(node);postStylesMap.set(node,__assign({},post,pre))});var rootPlayers=[],subPlayers=[],NO_PARENT_ANIMATION_ELEMENT_DETECTED={};queuedInstructions.forEach(function(entry){var element=entry.element,player=entry.player,instruction=entry.instruction;if(subTimelines.has(element)){if(disabledElementsSet.has(element))return player.onDestroy(function(){return setStyles(element,instruction.toStyles)}),void skippedPlayers.push(player);var parentWithAnimation_1=NO_PARENT_ANIMATION_ELEMENT_DETECTED;if(animationElementMap.size>1){for(var elm=element,parentsToAdd=[];elm=elm.parentNode;){var detectedParent=animationElementMap.get(elm);if(detectedParent){parentWithAnimation_1=detectedParent;break}parentsToAdd.push(elm)}parentsToAdd.forEach(function(parent){return animationElementMap.set(parent,parentWithAnimation_1)})}var innerPlayer=_this._buildAnimation(player.namespaceId,instruction,allPreviousPlayersMap,skippedPlayersMap,preStylesMap,postStylesMap);if(player.setR
 ealPlayer(innerPlayer),parentWithAnimation_1===NO_PARENT_ANIMATION_ELEMENT_DETECTED)rootPlayers.push(player);else{var parentPlayers=_this.playersByElement.get(parentWithAnimation_1);parentPlayers&&parentPlayers.length&&(player.parentPlayer=optimizeGroupPlayer(parentPlayers)),skippedPlayers.push(player)}}else eraseStyles(element,instruction.fromStyles),player.onDestroy(function(){return setStyles(element,instruction.toStyles)}),subPlayers.push(player),disabledElementsSet.has(element)&&skippedPlayers.push(player)}),subPlayers.forEach(function(player){var playersForElement=skippedPlayersMap.get(player.element);if(playersForElement&&playersForElement.length){var innerPlayer=optimizeGroupPlayer(playersForElement);player.setRealPlayer(innerPlayer)}}),skippedPlayers.forEach(function(player){player.parentPlayer?player.syncPlayerEvents(player.parentPlayer):player.destroy()});for(var i_4=0;i_4<allLeaveNodes.length;i_4++){var element=allLeaveNodes[i_4],details=element[REMOVAL_FLAG];if(removeCl
 ass(element,"ng-leave"),!details||!details.hasAnimation){var players=[];if(queriedElements.size){var queriedPlayerResults=queriedElements.get(element);queriedPlayerResults&&queriedPlayerResults.length&&players.push.apply(players,queriedPlayerResults);for(var queriedInnerElements=this.driver.query(element,NG_ANIMATING_SELECTOR,!0),j=0;j<queriedInnerElements.l

<TRUNCATED>

[25/59] [abbrv] [partial] nifi-fds git commit: update gh-pages

Posted by sc...@apache.org.
http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/eec354e6/node_modules/@angular/cdk/bundles/cdk-a11y.umd.js
----------------------------------------------------------------------
diff --git a/node_modules/@angular/cdk/bundles/cdk-a11y.umd.js b/node_modules/@angular/cdk/bundles/cdk-a11y.umd.js
new file mode 100644
index 0000000..c5b06f8
--- /dev/null
+++ b/node_modules/@angular/cdk/bundles/cdk-a11y.umd.js
@@ -0,0 +1,2427 @@
+/**
+ * @license
+ * Copyright Google LLC All Rights Reserved.
+ *
+ * Use of this source code is governed by an MIT-style license that can be
+ * found in the LICENSE file at https://angular.io/license
+ */
+(function (global, factory) {
+	typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/core'), require('@angular/cdk/coercion'), require('rxjs/operators/take'), require('@angular/cdk/platform'), require('@angular/common'), require('rxjs/Subject'), require('rxjs/Subscription'), require('@angular/cdk/keycodes'), require('rxjs/operators/debounceTime'), require('rxjs/operators/filter'), require('rxjs/operators/map'), require('rxjs/operators/tap'), require('rxjs/observable/of')) :
+	typeof define === 'function' && define.amd ? define(['exports', '@angular/core', '@angular/cdk/coercion', 'rxjs/operators/take', '@angular/cdk/platform', '@angular/common', 'rxjs/Subject', 'rxjs/Subscription', '@angular/cdk/keycodes', 'rxjs/operators/debounceTime', 'rxjs/operators/filter', 'rxjs/operators/map', 'rxjs/operators/tap', 'rxjs/observable/of'], factory) :
+	(factory((global.ng = global.ng || {}, global.ng.cdk = global.ng.cdk || {}, global.ng.cdk.a11y = global.ng.cdk.a11y || {}),global.ng.core,global.ng.cdk.coercion,global.Rx.operators,global.ng.cdk.platform,global.ng.common,global.Rx,global.Rx,global.ng.cdk.keycodes,global.Rx.operators,global.Rx.operators,global.Rx.operators,global.Rx.operators,global.Rx.Observable));
+}(this, (function (exports,_angular_core,_angular_cdk_coercion,rxjs_operators_take,_angular_cdk_platform,_angular_common,rxjs_Subject,rxjs_Subscription,_angular_cdk_keycodes,rxjs_operators_debounceTime,rxjs_operators_filter,rxjs_operators_map,rxjs_operators_tap,rxjs_observable_of) { 'use strict';
+
+/*! *****************************************************************************
+Copyright (c) Microsoft Corporation. All rights reserved.
+Licensed under the Apache License, Version 2.0 (the "License"); you may not use
+this file except in compliance with the License. You may obtain a copy of the
+License at http://www.apache.org/licenses/LICENSE-2.0
+
+THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED
+WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,
+MERCHANTABLITY OR NON-INFRINGEMENT.
+
+See the Apache Version 2.0 License for specific language governing permissions
+and limitations under the License.
+***************************************************************************** */
+/* global Reflect, Promise */
+
+var extendStatics = Object.setPrototypeOf ||
+    ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
+    function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
+
+function __extends(d, b) {
+    extendStatics(d, b);
+    function __() { this.constructor = d; }
+    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
+}
+
+/**
+ * @fileoverview added by tsickle
+ * @suppress {checkTypes} checked by tsc
+ */
+
+/**
+ * Utility for checking the interactivity of an element, such as whether is is focusable or
+ * tabbable.
+ */
+var InteractivityChecker = /** @class */ (function () {
+    function InteractivityChecker(_platform) {
+        this._platform = _platform;
+    }
+    /**
+     * Gets whether an element is disabled.
+     *
+     * @param element Element to be checked.
+     * @returns Whether the element is disabled.
+     */
+    /**
+     * Gets whether an element is disabled.
+     *
+     * @param {?} element Element to be checked.
+     * @return {?} Whether the element is disabled.
+     */
+    InteractivityChecker.prototype.isDisabled = /**
+     * Gets whether an element is disabled.
+     *
+     * @param {?} element Element to be checked.
+     * @return {?} Whether the element is disabled.
+     */
+    function (element) {
+        // This does not capture some cases, such as a non-form control with a disabled attribute or
+        // a form control inside of a disabled form, but should capture the most common cases.
+        return element.hasAttribute('disabled');
+    };
+    /**
+     * Gets whether an element is visible for the purposes of interactivity.
+     *
+     * This will capture states like `display: none` and `visibility: hidden`, but not things like
+     * being clipped by an `overflow: hidden` parent or being outside the viewport.
+     *
+     * @returns Whether the element is visible.
+     */
+    /**
+     * Gets whether an element is visible for the purposes of interactivity.
+     *
+     * This will capture states like `display: none` and `visibility: hidden`, but not things like
+     * being clipped by an `overflow: hidden` parent or being outside the viewport.
+     *
+     * @param {?} element
+     * @return {?} Whether the element is visible.
+     */
+    InteractivityChecker.prototype.isVisible = /**
+     * Gets whether an element is visible for the purposes of interactivity.
+     *
+     * This will capture states like `display: none` and `visibility: hidden`, but not things like
+     * being clipped by an `overflow: hidden` parent or being outside the viewport.
+     *
+     * @param {?} element
+     * @return {?} Whether the element is visible.
+     */
+    function (element) {
+        return hasGeometry(element) && getComputedStyle(element).visibility === 'visible';
+    };
+    /**
+     * Gets whether an element can be reached via Tab key.
+     * Assumes that the element has already been checked with isFocusable.
+     *
+     * @param element Element to be checked.
+     * @returns Whether the element is tabbable.
+     */
+    /**
+     * Gets whether an element can be reached via Tab key.
+     * Assumes that the element has already been checked with isFocusable.
+     *
+     * @param {?} element Element to be checked.
+     * @return {?} Whether the element is tabbable.
+     */
+    InteractivityChecker.prototype.isTabbable = /**
+     * Gets whether an element can be reached via Tab key.
+     * Assumes that the element has already been checked with isFocusable.
+     *
+     * @param {?} element Element to be checked.
+     * @return {?} Whether the element is tabbable.
+     */
+    function (element) {
+        // Nothing is tabbable on the the server 😎
+        if (!this._platform.isBrowser) {
+            return false;
+        }
+        var /** @type {?} */ frameElement = getFrameElement(getWindow(element));
+        if (frameElement) {
+            var /** @type {?} */ frameType = frameElement && frameElement.nodeName.toLowerCase();
+            // Frame elements inherit their tabindex onto all child elements.
+            if (getTabIndexValue(frameElement) === -1) {
+                return false;
+            }
+            // Webkit and Blink consider anything inside of an <object> element as non-tabbable.
+            if ((this._platform.BLINK || this._platform.WEBKIT) && frameType === 'object') {
+                return false;
+            }
+            // Webkit and Blink disable tabbing to an element inside of an invisible frame.
+            if ((this._platform.BLINK || this._platform.WEBKIT) && !this.isVisible(frameElement)) {
+                return false;
+            }
+        }
+        var /** @type {?} */ nodeName = element.nodeName.toLowerCase();
+        var /** @type {?} */ tabIndexValue = getTabIndexValue(element);
+        if (element.hasAttribute('contenteditable')) {
+            return tabIndexValue !== -1;
+        }
+        if (nodeName === 'iframe') {
+            // The frames may be tabbable depending on content, but it's not possibly to reliably
+            // investigate the content of the frames.
+            return false;
+        }
+        if (nodeName === 'audio') {
+            if (!element.hasAttribute('controls')) {
+                // By default an <audio> element without the controls enabled is not tabbable.
+                return false;
+            }
+            else if (this._platform.BLINK) {
+                // In Blink <audio controls> elements are always tabbable.
+                return true;
+            }
+        }
+        if (nodeName === 'video') {
+            if (!element.hasAttribute('controls') && this._platform.TRIDENT) {
+                // In Trident a <video> element without the controls enabled is not tabbable.
+                return false;
+            }
+            else if (this._platform.BLINK || this._platform.FIREFOX) {
+                // In Chrome and Firefox <video controls> elements are always tabbable.
+                return true;
+            }
+        }
+        if (nodeName === 'object' && (this._platform.BLINK || this._platform.WEBKIT)) {
+            // In all Blink and WebKit based browsers <object> elements are never tabbable.
+            return false;
+        }
+        // In iOS the browser only considers some specific elements as tabbable.
+        if (this._platform.WEBKIT && this._platform.IOS && !isPotentiallyTabbableIOS(element)) {
+            return false;
+        }
+        return element.tabIndex >= 0;
+    };
+    /**
+     * Gets whether an element can be focused by the user.
+     *
+     * @param element Element to be checked.
+     * @returns Whether the element is focusable.
+     */
+    /**
+     * Gets whether an element can be focused by the user.
+     *
+     * @param {?} element Element to be checked.
+     * @return {?} Whether the element is focusable.
+     */
+    InteractivityChecker.prototype.isFocusable = /**
+     * Gets whether an element can be focused by the user.
+     *
+     * @param {?} element Element to be checked.
+     * @return {?} Whether the element is focusable.
+     */
+    function (element) {
+        // Perform checks in order of left to most expensive.
+        // Again, naive approach that does not capture many edge cases and browser quirks.
+        return isPotentiallyFocusable(element) && !this.isDisabled(element) && this.isVisible(element);
+    };
+    InteractivityChecker.decorators = [
+        { type: _angular_core.Injectable },
+    ];
+    /** @nocollapse */
+    InteractivityChecker.ctorParameters = function () { return [
+        { type: _angular_cdk_platform.Platform, },
+    ]; };
+    return InteractivityChecker;
+}());
+/**
+ * Returns the frame element from a window object. Since browsers like MS Edge throw errors if
+ * the frameElement property is being accessed from a different host address, this property
+ * should be accessed carefully.
+ * @param {?} window
+ * @return {?}
+ */
+function getFrameElement(window) {
+    try {
+        return /** @type {?} */ (window.frameElement);
+    }
+    catch (/** @type {?} */ e) {
+        return null;
+    }
+}
+/**
+ * Checks whether the specified element has any geometry / rectangles.
+ * @param {?} element
+ * @return {?}
+ */
+function hasGeometry(element) {
+    // Use logic from jQuery to check for an invisible element.
+    // See https://github.com/jquery/jquery/blob/master/src/css/hiddenVisibleSelectors.js#L12
+    return !!(element.offsetWidth || element.offsetHeight ||
+        (typeof element.getClientRects === 'function' && element.getClientRects().length));
+}
+/**
+ * Gets whether an element's
+ * @param {?} element
+ * @return {?}
+ */
+function isNativeFormElement(element) {
+    var /** @type {?} */ nodeName = element.nodeName.toLowerCase();
+    return nodeName === 'input' ||
+        nodeName === 'select' ||
+        nodeName === 'button' ||
+        nodeName === 'textarea';
+}
+/**
+ * Gets whether an element is an `<input type="hidden">`.
+ * @param {?} element
+ * @return {?}
+ */
+function isHiddenInput(element) {
+    return isInputElement(element) && element.type == 'hidden';
+}
+/**
+ * Gets whether an element is an anchor that has an href attribute.
+ * @param {?} element
+ * @return {?}
+ */
+function isAnchorWithHref(element) {
+    return isAnchorElement(element) && element.hasAttribute('href');
+}
+/**
+ * Gets whether an element is an input element.
+ * @param {?} element
+ * @return {?}
+ */
+function isInputElement(element) {
+    return element.nodeName.toLowerCase() == 'input';
+}
+/**
+ * Gets whether an element is an anchor element.
+ * @param {?} element
+ * @return {?}
+ */
+function isAnchorElement(element) {
+    return element.nodeName.toLowerCase() == 'a';
+}
+/**
+ * Gets whether an element has a valid tabindex.
+ * @param {?} element
+ * @return {?}
+ */
+function hasValidTabIndex(element) {
+    if (!element.hasAttribute('tabindex') || element.tabIndex === undefined) {
+        return false;
+    }
+    var /** @type {?} */ tabIndex = element.getAttribute('tabindex');
+    // IE11 parses tabindex="" as the value "-32768"
+    if (tabIndex == '-32768') {
+        return false;
+    }
+    return !!(tabIndex && !isNaN(parseInt(tabIndex, 10)));
+}
+/**
+ * Returns the parsed tabindex from the element attributes instead of returning the
+ * evaluated tabindex from the browsers defaults.
+ * @param {?} element
+ * @return {?}
+ */
+function getTabIndexValue(element) {
+    if (!hasValidTabIndex(element)) {
+        return null;
+    }
+    // See browser issue in Gecko https://bugzilla.mozilla.org/show_bug.cgi?id=1128054
+    var /** @type {?} */ tabIndex = parseInt(element.getAttribute('tabindex') || '', 10);
+    return isNaN(tabIndex) ? -1 : tabIndex;
+}
+/**
+ * Checks whether the specified element is potentially tabbable on iOS
+ * @param {?} element
+ * @return {?}
+ */
+function isPotentiallyTabbableIOS(element) {
+    var /** @type {?} */ nodeName = element.nodeName.toLowerCase();
+    var /** @type {?} */ inputType = nodeName === 'input' && (/** @type {?} */ (element)).type;
+    return inputType === 'text'
+        || inputType === 'password'
+        || nodeName === 'select'
+        || nodeName === 'textarea';
+}
+/**
+ * Gets whether an element is potentially focusable without taking current visible/disabled state
+ * into account.
+ * @param {?} element
+ * @return {?}
+ */
+function isPotentiallyFocusable(element) {
+    // Inputs are potentially focusable *unless* they're type="hidden".
+    if (isHiddenInput(element)) {
+        return false;
+    }
+    return isNativeFormElement(element) ||
+        isAnchorWithHref(element) ||
+        element.hasAttribute('contenteditable') ||
+        hasValidTabIndex(element);
+}
+/**
+ * Gets the parent window of a DOM node with regards of being inside of an iframe.
+ * @param {?} node
+ * @return {?}
+ */
+function getWindow(node) {
+    return node.ownerDocument.defaultView || window;
+}
+
+/**
+ * @fileoverview added by tsickle
+ * @suppress {checkTypes} checked by tsc
+ */
+
+/**
+ * Class that allows for trapping focus within a DOM element.
+ *
+ * This class currently uses a relatively simple approach to focus trapping.
+ * It assumes that the tab order is the same as DOM order, which is not necessarily true.
+ * Things like `tabIndex > 0`, flex `order`, and shadow roots can cause to two to misalign.
+ */
+var FocusTrap = /** @class */ (function () {
+    function FocusTrap(_element, _checker, _ngZone, _document, deferAnchors) {
+        if (deferAnchors === void 0) { deferAnchors = false; }
+        this._element = _element;
+        this._checker = _checker;
+        this._ngZone = _ngZone;
+        this._document = _document;
+        this._enabled = true;
+        if (!deferAnchors) {
+            this.attachAnchors();
+        }
+    }
+    Object.defineProperty(FocusTrap.prototype, "enabled", {
+        /** Whether the focus trap is active. */
+        get: /**
+         * Whether the focus trap is active.
+         * @return {?}
+         */
+        function () { return this._enabled; },
+        set: /**
+         * @param {?} val
+         * @return {?}
+         */
+        function (val) {
+            this._enabled = val;
+            if (this._startAnchor && this._endAnchor) {
+                this._startAnchor.tabIndex = this._endAnchor.tabIndex = this._enabled ? 0 : -1;
+            }
+        },
+        enumerable: true,
+        configurable: true
+    });
+    /** Destroys the focus trap by cleaning up the anchors. */
+    /**
+     * Destroys the focus trap by cleaning up the anchors.
+     * @return {?}
+     */
+    FocusTrap.prototype.destroy = /**
+     * Destroys the focus trap by cleaning up the anchors.
+     * @return {?}
+     */
+    function () {
+        if (this._startAnchor && this._startAnchor.parentNode) {
+            this._startAnchor.parentNode.removeChild(this._startAnchor);
+        }
+        if (this._endAnchor && this._endAnchor.parentNode) {
+            this._endAnchor.parentNode.removeChild(this._endAnchor);
+        }
+        this._startAnchor = this._endAnchor = null;
+    };
+    /**
+     * Inserts the anchors into the DOM. This is usually done automatically
+     * in the constructor, but can be deferred for cases like directives with `*ngIf`.
+     */
+    /**
+     * Inserts the anchors into the DOM. This is usually done automatically
+     * in the constructor, but can be deferred for cases like directives with `*ngIf`.
+     * @return {?}
+     */
+    FocusTrap.prototype.attachAnchors = /**
+     * Inserts the anchors into the DOM. This is usually done automatically
+     * in the constructor, but can be deferred for cases like directives with `*ngIf`.
+     * @return {?}
+     */
+    function () {
+        var _this = this;
+        if (!this._startAnchor) {
+            this._startAnchor = this._createAnchor();
+        }
+        if (!this._endAnchor) {
+            this._endAnchor = this._createAnchor();
+        }
+        this._ngZone.runOutsideAngular(function () {
+            /** @type {?} */ ((_this._startAnchor)).addEventListener('focus', function () {
+                _this.focusLastTabbableElement();
+            }); /** @type {?} */
+            ((_this._endAnchor)).addEventListener('focus', function () {
+                _this.focusFirstTabbableElement();
+            });
+            if (_this._element.parentNode) {
+                _this._element.parentNode.insertBefore(/** @type {?} */ ((_this._startAnchor)), _this._element);
+                _this._element.parentNode.insertBefore(/** @type {?} */ ((_this._endAnchor)), _this._element.nextSibling);
+            }
+        });
+    };
+    /**
+     * Waits for the zone to stabilize, then either focuses the first element that the
+     * user specified, or the first tabbable element.
+     * @returns Returns a promise that resolves with a boolean, depending
+     * on whether focus was moved successfuly.
+     */
+    /**
+     * Waits for the zone to stabilize, then either focuses the first element that the
+     * user specified, or the first tabbable element.
+     * @return {?} Returns a promise that resolves with a boolean, depending
+     * on whether focus was moved successfuly.
+     */
+    FocusTrap.prototype.focusInitialElementWhenReady = /**
+     * Waits for the zone to stabilize, then either focuses the first element that the
+     * user specified, or the first tabbable element.
+     * @return {?} Returns a promise that resolves with a boolean, depending
+     * on whether focus was moved successfuly.
+     */
+    function () {
+        var _this = this;
+        return new Promise(function (resolve) {
+            _this._executeOnStable(function () { return resolve(_this.focusInitialElement()); });
+        });
+    };
+    /**
+     * Waits for the zone to stabilize, then focuses
+     * the first tabbable element within the focus trap region.
+     * @returns Returns a promise that resolves with a boolean, depending
+     * on whether focus was moved successfuly.
+     */
+    /**
+     * Waits for the zone to stabilize, then focuses
+     * the first tabbable element within the focus trap region.
+     * @return {?} Returns a promise that resolves with a boolean, depending
+     * on whether focus was moved successfuly.
+     */
+    FocusTrap.prototype.focusFirstTabbableElementWhenReady = /**
+     * Waits for the zone to stabilize, then focuses
+     * the first tabbable element within the focus trap region.
+     * @return {?} Returns a promise that resolves with a boolean, depending
+     * on whether focus was moved successfuly.
+     */
+    function () {
+        var _this = this;
+        return new Promise(function (resolve) {
+            _this._executeOnStable(function () { return resolve(_this.focusFirstTabbableElement()); });
+        });
+    };
+    /**
+     * Waits for the zone to stabilize, then focuses
+     * the last tabbable element within the focus trap region.
+     * @returns Returns a promise that resolves with a boolean, depending
+     * on whether focus was moved successfuly.
+     */
+    /**
+     * Waits for the zone to stabilize, then focuses
+     * the last tabbable element within the focus trap region.
+     * @return {?} Returns a promise that resolves with a boolean, depending
+     * on whether focus was moved successfuly.
+     */
+    FocusTrap.prototype.focusLastTabbableElementWhenReady = /**
+     * Waits for the zone to stabilize, then focuses
+     * the last tabbable element within the focus trap region.
+     * @return {?} Returns a promise that resolves with a boolean, depending
+     * on whether focus was moved successfuly.
+     */
+    function () {
+        var _this = this;
+        return new Promise(function (resolve) {
+            _this._executeOnStable(function () { return resolve(_this.focusLastTabbableElement()); });
+        });
+    };
+    /**
+     * Get the specified boundary element of the trapped region.
+     * @param {?} bound The boundary to get (start or end of trapped region).
+     * @return {?} The boundary element.
+     */
+    FocusTrap.prototype._getRegionBoundary = /**
+     * Get the specified boundary element of the trapped region.
+     * @param {?} bound The boundary to get (start or end of trapped region).
+     * @return {?} The boundary element.
+     */
+    function (bound) {
+        // Contains the deprecated version of selector, for temporary backwards comparability.
+        var /** @type {?} */ markers = /** @type {?} */ (this._element.querySelectorAll("[cdk-focus-region-" + bound + "], " +
+            ("[cdkFocusRegion" + bound + "], ") +
+            ("[cdk-focus-" + bound + "]")));
+        for (var /** @type {?} */ i = 0; i < markers.length; i++) {
+            if (markers[i].hasAttribute("cdk-focus-" + bound)) {
+                console.warn("Found use of deprecated attribute 'cdk-focus-" + bound + "'," +
+                    (" use 'cdkFocusRegion" + bound + "' instead."), markers[i]);
+            }
+            else if (markers[i].hasAttribute("cdk-focus-region-" + bound)) {
+                console.warn("Found use of deprecated attribute 'cdk-focus-region-" + bound + "'," +
+                    (" use 'cdkFocusRegion" + bound + "' instead."), markers[i]);
+            }
+        }
+        if (bound == 'start') {
+            return markers.length ? markers[0] : this._getFirstTabbableElement(this._element);
+        }
+        return markers.length ?
+            markers[markers.length - 1] : this._getLastTabbableElement(this._element);
+    };
+    /**
+     * Focuses the element that should be focused when the focus trap is initialized.
+     * @returns Whether focus was moved successfuly.
+     */
+    /**
+     * Focuses the element that should be focused when the focus trap is initialized.
+     * @return {?} Whether focus was moved successfuly.
+     */
+    FocusTrap.prototype.focusInitialElement = /**
+     * Focuses the element that should be focused when the focus trap is initialized.
+     * @return {?} Whether focus was moved successfuly.
+     */
+    function () {
+        // Contains the deprecated version of selector, for temporary backwards comparability.
+        var /** @type {?} */ redirectToElement = /** @type {?} */ (this._element.querySelector("[cdk-focus-initial], " +
+            "[cdkFocusInitial]"));
+        if (this._element.hasAttribute("cdk-focus-initial")) {
+            console.warn("Found use of deprecated attribute 'cdk-focus-initial'," +
+                " use 'cdkFocusInitial' instead.", this._element);
+        }
+        if (redirectToElement) {
+            redirectToElement.focus();
+            return true;
+        }
+        return this.focusFirstTabbableElement();
+    };
+    /**
+     * Focuses the first tabbable element within the focus trap region.
+     * @returns Whether focus was moved successfuly.
+     */
+    /**
+     * Focuses the first tabbable element within the focus trap region.
+     * @return {?} Whether focus was moved successfuly.
+     */
+    FocusTrap.prototype.focusFirstTabbableElement = /**
+     * Focuses the first tabbable element within the focus trap region.
+     * @return {?} Whether focus was moved successfuly.
+     */
+    function () {
+        var /** @type {?} */ redirectToElement = this._getRegionBoundary('start');
+        if (redirectToElement) {
+            redirectToElement.focus();
+        }
+        return !!redirectToElement;
+    };
+    /**
+     * Focuses the last tabbable element within the focus trap region.
+     * @returns Whether focus was moved successfuly.
+     */
+    /**
+     * Focuses the last tabbable element within the focus trap region.
+     * @return {?} Whether focus was moved successfuly.
+     */
+    FocusTrap.prototype.focusLastTabbableElement = /**
+     * Focuses the last tabbable element within the focus trap region.
+     * @return {?} Whether focus was moved successfuly.
+     */
+    function () {
+        var /** @type {?} */ redirectToElement = this._getRegionBoundary('end');
+        if (redirectToElement) {
+            redirectToElement.focus();
+        }
+        return !!redirectToElement;
+    };
+    /**
+     * Get the first tabbable element from a DOM subtree (inclusive).
+     * @param {?} root
+     * @return {?}
+     */
+    FocusTrap.prototype._getFirstTabbableElement = /**
+     * Get the first tabbable element from a DOM subtree (inclusive).
+     * @param {?} root
+     * @return {?}
+     */
+    function (root) {
+        if (this._checker.isFocusable(root) && this._checker.isTabbable(root)) {
+            return root;
+        }
+        // Iterate in DOM order. Note that IE doesn't have `children` for SVG so we fall
+        // back to `childNodes` which includes text nodes, comments etc.
+        var /** @type {?} */ children = root.children || root.childNodes;
+        for (var /** @type {?} */ i = 0; i < children.length; i++) {
+            var /** @type {?} */ tabbableChild = children[i].nodeType === this._document.ELEMENT_NODE ?
+                this._getFirstTabbableElement(/** @type {?} */ (children[i])) :
+                null;
+            if (tabbableChild) {
+                return tabbableChild;
+            }
+        }
+        return null;
+    };
+    /**
+     * Get the last tabbable element from a DOM subtree (inclusive).
+     * @param {?} root
+     * @return {?}
+     */
+    FocusTrap.prototype._getLastTabbableElement = /**
+     * Get the last tabbable element from a DOM subtree (inclusive).
+     * @param {?} root
+     * @return {?}
+     */
+    function (root) {
+        if (this._checker.isFocusable(root) && this._checker.isTabbable(root)) {
+            return root;
+        }
+        // Iterate in reverse DOM order.
+        var /** @type {?} */ children = root.children || root.childNodes;
+        for (var /** @type {?} */ i = children.length - 1; i >= 0; i--) {
+            var /** @type {?} */ tabbableChild = children[i].nodeType === this._document.ELEMENT_NODE ?
+                this._getLastTabbableElement(/** @type {?} */ (children[i])) :
+                null;
+            if (tabbableChild) {
+                return tabbableChild;
+            }
+        }
+        return null;
+    };
+    /**
+     * Creates an anchor element.
+     * @return {?}
+     */
+    FocusTrap.prototype._createAnchor = /**
+     * Creates an anchor element.
+     * @return {?}
+     */
+    function () {
+        var /** @type {?} */ anchor = this._document.createElement('div');
+        anchor.tabIndex = this._enabled ? 0 : -1;
+        anchor.classList.add('cdk-visually-hidden');
+        anchor.classList.add('cdk-focus-trap-anchor');
+        return anchor;
+    };
+    /**
+     * Executes a function when the zone is stable.
+     * @param {?} fn
+     * @return {?}
+     */
+    FocusTrap.prototype._executeOnStable = /**
+     * Executes a function when the zone is stable.
+     * @param {?} fn
+     * @return {?}
+     */
+    function (fn) {
+        if (this._ngZone.isStable) {
+            fn();
+        }
+        else {
+            this._ngZone.onStable.asObservable().pipe(rxjs_operators_take.take(1)).subscribe(fn);
+        }
+    };
+    return FocusTrap;
+}());
+/**
+ * Factory that allows easy instantiation of focus traps.
+ */
+var FocusTrapFactory = /** @class */ (function () {
+    function FocusTrapFactory(_checker, _ngZone, _document) {
+        this._checker = _checker;
+        this._ngZone = _ngZone;
+        this._document = _document;
+    }
+    /**
+     * Creates a focus-trapped region around the given element.
+     * @param element The element around which focus will be trapped.
+     * @param deferCaptureElements Defers the creation of focus-capturing elements to be done
+     *     manually by the user.
+     * @returns The created focus trap instance.
+     */
+    /**
+     * Creates a focus-trapped region around the given element.
+     * @param {?} element The element around which focus will be trapped.
+     * @param {?=} deferCaptureElements Defers the creation of focus-capturing elements to be done
+     *     manually by the user.
+     * @return {?} The created focus trap instance.
+     */
+    FocusTrapFactory.prototype.create = /**
+     * Creates a focus-trapped region around the given element.
+     * @param {?} element The element around which focus will be trapped.
+     * @param {?=} deferCaptureElements Defers the creation of focus-capturing elements to be done
+     *     manually by the user.
+     * @return {?} The created focus trap instance.
+     */
+    function (element, deferCaptureElements) {
+        if (deferCaptureElements === void 0) { deferCaptureElements = false; }
+        return new FocusTrap(element, this._checker, this._ngZone, this._document, deferCaptureElements);
+    };
+    FocusTrapFactory.decorators = [
+        { type: _angular_core.Injectable },
+    ];
+    /** @nocollapse */
+    FocusTrapFactory.ctorParameters = function () { return [
+        { type: InteractivityChecker, },
+        { type: _angular_core.NgZone, },
+        { type: undefined, decorators: [{ type: _angular_core.Inject, args: [_angular_common.DOCUMENT,] },] },
+    ]; };
+    return FocusTrapFactory;
+}());
+/**
+ * Directive for trapping focus within a region.
+ * \@docs-private
+ * @deprecated
+ * \@deletion-target 6.0.0
+ */
+var FocusTrapDeprecatedDirective = /** @class */ (function () {
+    function FocusTrapDeprecatedDirective(_elementRef, _focusTrapFactory) {
+        this._elementRef = _elementRef;
+        this._focusTrapFactory = _focusTrapFactory;
+        this.focusTrap = this._focusTrapFactory.create(this._elementRef.nativeElement, true);
+    }
+    Object.defineProperty(FocusTrapDeprecatedDirective.prototype, "disabled", {
+        get: /**
+         * Whether the focus trap is active.
+         * @return {?}
+         */
+        function () { return !this.focusTrap.enabled; },
+        set: /**
+         * @param {?} val
+         * @return {?}
+         */
+        function (val) {
+            this.focusTrap.enabled = !_angular_cdk_coercion.coerceBooleanProperty(val);
+        },
+        enumerable: true,
+        configurable: true
+    });
+    /**
+     * @return {?}
+     */
+    FocusTrapDeprecatedDirective.prototype.ngOnDestroy = /**
+     * @return {?}
+     */
+    function () {
+        this.focusTrap.destroy();
+    };
+    /**
+     * @return {?}
+     */
+    FocusTrapDeprecatedDirective.prototype.ngAfterContentInit = /**
+     * @return {?}
+     */
+    function () {
+        this.focusTrap.attachAnchors();
+    };
+    FocusTrapDeprecatedDirective.decorators = [
+        { type: _angular_core.Directive, args: [{
+                    selector: 'cdk-focus-trap',
+                },] },
+    ];
+    /** @nocollapse */
+    FocusTrapDeprecatedDirective.ctorParameters = function () { return [
+        { type: _angular_core.ElementRef, },
+        { type: FocusTrapFactory, },
+    ]; };
+    FocusTrapDeprecatedDirective.propDecorators = {
+        "disabled": [{ type: _angular_core.Input },],
+    };
+    return FocusTrapDeprecatedDirective;
+}());
+/**
+ * Directive for trapping focus within a region.
+ */
+var CdkTrapFocus = /** @class */ (function () {
+    function CdkTrapFocus(_elementRef, _focusTrapFactory, _document) {
+        this._elementRef = _elementRef;
+        this._focusTrapFactory = _focusTrapFactory;
+        /**
+         * Previously focused element to restore focus to upon destroy when using autoCapture.
+         */
+        this._previouslyFocusedElement = null;
+        this._document = _document;
+        this.focusTrap = this._focusTrapFactory.create(this._elementRef.nativeElement, true);
+    }
+    Object.defineProperty(CdkTrapFocus.prototype, "enabled", {
+        get: /**
+         * Whether the focus trap is active.
+         * @return {?}
+         */
+        function () { return this.focusTrap.enabled; },
+        set: /**
+         * @param {?} value
+         * @return {?}
+         */
+        function (value) { this.focusTrap.enabled = _angular_cdk_coercion.coerceBooleanProperty(value); },
+        enumerable: true,
+        configurable: true
+    });
+    Object.defineProperty(CdkTrapFocus.prototype, "autoCapture", {
+        get: /**
+         * Whether the directive should automatially move focus into the trapped region upon
+         * initialization and return focus to the previous activeElement upon destruction.
+         * @return {?}
+         */
+        function () { return this._autoCapture; },
+        set: /**
+         * @param {?} value
+         * @return {?}
+         */
+        function (value) { this._autoCapture = _angular_cdk_coercion.coerceBooleanProperty(value); },
+        enumerable: true,
+        configurable: true
+    });
+    /**
+     * @return {?}
+     */
+    CdkTrapFocus.prototype.ngOnDestroy = /**
+     * @return {?}
+     */
+    function () {
+        this.focusTrap.destroy();
+        // If we stored a previously focused element when using autoCapture, return focus to that
+        // element now that the trapped region is being destroyed.
+        if (this._previouslyFocusedElement) {
+            this._previouslyFocusedElement.focus();
+            this._previouslyFocusedElement = null;
+        }
+    };
+    /**
+     * @return {?}
+     */
+    CdkTrapFocus.prototype.ngAfterContentInit = /**
+     * @return {?}
+     */
+    function () {
+        this.focusTrap.attachAnchors();
+        if (this.autoCapture) {
+            this._previouslyFocusedElement = /** @type {?} */ (this._document.activeElement);
+            this.focusTrap.focusInitialElementWhenReady();
+        }
+    };
+    CdkTrapFocus.decorators = [
+        { type: _angular_core.Directive, args: [{
+                    selector: '[cdkTrapFocus]',
+                    exportAs: 'cdkTrapFocus',
+                },] },
+    ];
+    /** @nocollapse */
+    CdkTrapFocus.ctorParameters = function () { return [
+        { type: _angular_core.ElementRef, },
+        { type: FocusTrapFactory, },
+        { type: undefined, decorators: [{ type: _angular_core.Inject, args: [_angular_common.DOCUMENT,] },] },
+    ]; };
+    CdkTrapFocus.propDecorators = {
+        "enabled": [{ type: _angular_core.Input, args: ['cdkTrapFocus',] },],
+        "autoCapture": [{ type: _angular_core.Input, args: ['cdkTrapFocusAutoCapture',] },],
+    };
+    return CdkTrapFocus;
+}());
+
+/**
+ * @fileoverview added by tsickle
+ * @suppress {checkTypes} checked by tsc
+ */
+
+/**
+ * IDs are deliminated by an empty space, as per the spec.
+ */
+var ID_DELIMINATOR = ' ';
+/**
+ * Adds the given ID to the specified ARIA attribute on an element.
+ * Used for attributes such as aria-labelledby, aria-owns, etc.
+ * @param {?} el
+ * @param {?} attr
+ * @param {?} id
+ * @return {?}
+ */
+function addAriaReferencedId(el, attr, id) {
+    var /** @type {?} */ ids = getAriaReferenceIds(el, attr);
+    if (ids.some(function (existingId) { return existingId.trim() == id.trim(); })) {
+        return;
+    }
+    ids.push(id.trim());
+    el.setAttribute(attr, ids.join(ID_DELIMINATOR));
+}
+/**
+ * Removes the given ID from the specified ARIA attribute on an element.
+ * Used for attributes such as aria-labelledby, aria-owns, etc.
+ * @param {?} el
+ * @param {?} attr
+ * @param {?} id
+ * @return {?}
+ */
+function removeAriaReferencedId(el, attr, id) {
+    var /** @type {?} */ ids = getAriaReferenceIds(el, attr);
+    var /** @type {?} */ filteredIds = ids.filter(function (val) { return val != id.trim(); });
+    el.setAttribute(attr, filteredIds.join(ID_DELIMINATOR));
+}
+/**
+ * Gets the list of IDs referenced by the given ARIA attribute on an element.
+ * Used for attributes such as aria-labelledby, aria-owns, etc.
+ * @param {?} el
+ * @param {?} attr
+ * @return {?}
+ */
+function getAriaReferenceIds(el, attr) {
+    // Get string array of all individual ids (whitespace deliminated) in the attribute value
+    return (el.getAttribute(attr) || '').match(/\S+/g) || [];
+}
+
+/**
+ * @fileoverview added by tsickle
+ * @suppress {checkTypes} checked by tsc
+ */
+
+/**
+ * Interface used to register message elements and keep a count of how many registrations have
+ * the same message and the reference to the message element used for the `aria-describedby`.
+ * @record
+ */
+
+/**
+ * ID used for the body container where all messages are appended.
+ */
+var MESSAGES_CONTAINER_ID = 'cdk-describedby-message-container';
+/**
+ * ID prefix used for each created message element.
+ */
+var CDK_DESCRIBEDBY_ID_PREFIX = 'cdk-describedby-message';
+/**
+ * Attribute given to each host element that is described by a message element.
+ */
+var CDK_DESCRIBEDBY_HOST_ATTRIBUTE = 'cdk-describedby-host';
+/**
+ * Global incremental identifier for each registered message element.
+ */
+var nextId = 0;
+/**
+ * Global map of all registered message elements that have been placed into the document.
+ */
+var messageRegistry = new Map();
+/**
+ * Container for all registered messages.
+ */
+var messagesContainer = null;
+/**
+ * Utility that creates visually hidden elements with a message content. Useful for elements that
+ * want to use aria-describedby to further describe themselves without adding additional visual
+ * content.
+ * \@docs-private
+ */
+var AriaDescriber = /** @class */ (function () {
+    function AriaDescriber(_document) {
+        this._document = _document;
+    }
+    /**
+     * Adds to the host element an aria-describedby reference to a hidden element that contains
+     * the message. If the same message has already been registered, then it will reuse the created
+     * message element.
+     */
+    /**
+     * Adds to the host element an aria-describedby reference to a hidden element that contains
+     * the message. If the same message has already been registered, then it will reuse the created
+     * message element.
+     * @param {?} hostElement
+     * @param {?} message
+     * @return {?}
+     */
+    AriaDescriber.prototype.describe = /**
+     * Adds to the host element an aria-describedby reference to a hidden element that contains
+     * the message. If the same message has already been registered, then it will reuse the created
+     * message element.
+     * @param {?} hostElement
+     * @param {?} message
+     * @return {?}
+     */
+    function (hostElement, message) {
+        if (hostElement.nodeType !== this._document.ELEMENT_NODE || !message.trim()) {
+            return;
+        }
+        if (!messageRegistry.has(message)) {
+            this._createMessageElement(message);
+        }
+        if (!this._isElementDescribedByMessage(hostElement, message)) {
+            this._addMessageReference(hostElement, message);
+        }
+    };
+    /** Removes the host element's aria-describedby reference to the message element. */
+    /**
+     * Removes the host element's aria-describedby reference to the message element.
+     * @param {?} hostElement
+     * @param {?} message
+     * @return {?}
+     */
+    AriaDescriber.prototype.removeDescription = /**
+     * Removes the host element's aria-describedby reference to the message element.
+     * @param {?} hostElement
+     * @param {?} message
+     * @return {?}
+     */
+    function (hostElement, message) {
+        if (hostElement.nodeType !== this._document.ELEMENT_NODE || !message.trim()) {
+            return;
+        }
+        if (this._isElementDescribedByMessage(hostElement, message)) {
+            this._removeMessageReference(hostElement, message);
+        }
+        var /** @type {?} */ registeredMessage = messageRegistry.get(message);
+        if (registeredMessage && registeredMessage.referenceCount === 0) {
+            this._deleteMessageElement(message);
+        }
+        if (messagesContainer && messagesContainer.childNodes.length === 0) {
+            this._deleteMessagesContainer();
+        }
+    };
+    /** Unregisters all created message elements and removes the message container. */
+    /**
+     * Unregisters all created message elements and removes the message container.
+     * @return {?}
+     */
+    AriaDescriber.prototype.ngOnDestroy = /**
+     * Unregisters all created message elements and removes the message container.
+     * @return {?}
+     */
+    function () {
+        var /** @type {?} */ describedElements = this._document.querySelectorAll("[" + CDK_DESCRIBEDBY_HOST_ATTRIBUTE + "]");
+        for (var /** @type {?} */ i = 0; i < describedElements.length; i++) {
+            this._removeCdkDescribedByReferenceIds(describedElements[i]);
+            describedElements[i].removeAttribute(CDK_DESCRIBEDBY_HOST_ATTRIBUTE);
+        }
+        if (messagesContainer) {
+            this._deleteMessagesContainer();
+        }
+        messageRegistry.clear();
+    };
+    /**
+     * Creates a new element in the visually hidden message container element with the message
+     * as its content and adds it to the message registry.
+     * @param {?} message
+     * @return {?}
+     */
+    AriaDescriber.prototype._createMessageElement = /**
+     * Creates a new element in the visually hidden message container element with the message
+     * as its content and adds it to the message registry.
+     * @param {?} message
+     * @return {?}
+     */
+    function (message) {
+        var /** @type {?} */ messageElement = this._document.createElement('div');
+        messageElement.setAttribute('id', CDK_DESCRIBEDBY_ID_PREFIX + "-" + nextId++);
+        messageElement.appendChild(/** @type {?} */ ((this._document.createTextNode(message))));
+        if (!messagesContainer) {
+            this._createMessagesContainer();
+        } /** @type {?} */
+        ((messagesContainer)).appendChild(messageElement);
+        messageRegistry.set(message, { messageElement: messageElement, referenceCount: 0 });
+    };
+    /**
+     * Deletes the message element from the global messages container.
+     * @param {?} message
+     * @return {?}
+     */
+    AriaDescriber.prototype._deleteMessageElement = /**
+     * Deletes the message element from the global messages container.
+     * @param {?} message
+     * @return {?}
+     */
+    function (message) {
+        var /** @type {?} */ registeredMessage = messageRegistry.get(message);
+        var /** @type {?} */ messageElement = registeredMessage && registeredMessage.messageElement;
+        if (messagesContainer && messageElement) {
+            messagesContainer.removeChild(messageElement);
+        }
+        messageRegistry.delete(message);
+    };
+    /**
+     * Creates the global container for all aria-describedby messages.
+     * @return {?}
+     */
+    AriaDescriber.prototype._createMessagesContainer = /**
+     * Creates the global container for all aria-describedby messages.
+     * @return {?}
+     */
+    function () {
+        messagesContainer = this._document.createElement('div');
+        messagesContainer.setAttribute('id', MESSAGES_CONTAINER_ID);
+        messagesContainer.setAttribute('aria-hidden', 'true');
+        messagesContainer.style.display = 'none';
+        this._document.body.appendChild(messagesContainer);
+    };
+    /**
+     * Deletes the global messages container.
+     * @return {?}
+     */
+    AriaDescriber.prototype._deleteMessagesContainer = /**
+     * Deletes the global messages container.
+     * @return {?}
+     */
+    function () {
+        if (messagesContainer && messagesContainer.parentNode) {
+            messagesContainer.parentNode.removeChild(messagesContainer);
+            messagesContainer = null;
+        }
+    };
+    /**
+     * Removes all cdk-describedby messages that are hosted through the element.
+     * @param {?} element
+     * @return {?}
+     */
+    AriaDescriber.prototype._removeCdkDescribedByReferenceIds = /**
+     * Removes all cdk-describedby messages that are hosted through the element.
+     * @param {?} element
+     * @return {?}
+     */
+    function (element) {
+        // Remove all aria-describedby reference IDs that are prefixed by CDK_DESCRIBEDBY_ID_PREFIX
+        var /** @type {?} */ originalReferenceIds = getAriaReferenceIds(element, 'aria-describedby')
+            .filter(function (id) { return id.indexOf(CDK_DESCRIBEDBY_ID_PREFIX) != 0; });
+        element.setAttribute('aria-describedby', originalReferenceIds.join(' '));
+    };
+    /**
+     * Adds a message reference to the element using aria-describedby and increments the registered
+     * message's reference count.
+     * @param {?} element
+     * @param {?} message
+     * @return {?}
+     */
+    AriaDescriber.prototype._addMessageReference = /**
+     * Adds a message reference to the element using aria-describedby and increments the registered
+     * message's reference count.
+     * @param {?} element
+     * @param {?} message
+     * @return {?}
+     */
+    function (element, message) {
+        var /** @type {?} */ registeredMessage = /** @type {?} */ ((messageRegistry.get(message)));
+        // Add the aria-describedby reference and set the
+        // describedby_host attribute to mark the element.
+        addAriaReferencedId(element, 'aria-describedby', registeredMessage.messageElement.id);
+        element.setAttribute(CDK_DESCRIBEDBY_HOST_ATTRIBUTE, '');
+        registeredMessage.referenceCount++;
+    };
+    /**
+     * Removes a message reference from the element using aria-describedby
+     * and decrements the registered message's reference count.
+     * @param {?} element
+     * @param {?} message
+     * @return {?}
+     */
+    AriaDescriber.prototype._removeMessageReference = /**
+     * Removes a message reference from the element using aria-describedby
+     * and decrements the registered message's reference count.
+     * @param {?} element
+     * @param {?} message
+     * @return {?}
+     */
+    function (element, message) {
+        var /** @type {?} */ registeredMessage = /** @type {?} */ ((messageRegistry.get(message)));
+        registeredMessage.referenceCount--;
+        removeAriaReferencedId(element, 'aria-describedby', registeredMessage.messageElement.id);
+        element.removeAttribute(CDK_DESCRIBEDBY_HOST_ATTRIBUTE);
+    };
+    /**
+     * Returns true if the element has been described by the provided message ID.
+     * @param {?} element
+     * @param {?} message
+     * @return {?}
+     */
+    AriaDescriber.prototype._isElementDescribedByMessage = /**
+     * Returns true if the element has been described by the provided message ID.
+     * @param {?} element
+     * @param {?} message
+     * @return {?}
+     */
+    function (element, message) {
+        var /** @type {?} */ referenceIds = getAriaReferenceIds(element, 'aria-describedby');
+        var /** @type {?} */ registeredMessage = messageRegistry.get(message);
+        var /** @type {?} */ messageId = registeredMessage && registeredMessage.messageElement.id;
+        return !!messageId && referenceIds.indexOf(messageId) != -1;
+    };
+    AriaDescriber.decorators = [
+        { type: _angular_core.Injectable },
+    ];
+    /** @nocollapse */
+    AriaDescriber.ctorParameters = function () { return [
+        { type: undefined, decorators: [{ type: _angular_core.Inject, args: [_angular_common.DOCUMENT,] },] },
+    ]; };
+    return AriaDescriber;
+}());
+/**
+ * \@docs-private
+ * @param {?} parentDispatcher
+ * @param {?} _document
+ * @return {?}
+ */
+function ARIA_DESCRIBER_PROVIDER_FACTORY(parentDispatcher, _document) {
+    return parentDispatcher || new AriaDescriber(_document);
+}
+/**
+ * \@docs-private
+ */
+var ARIA_DESCRIBER_PROVIDER = {
+    // If there is already an AriaDescriber available, use that. Otherwise, provide a new one.
+    provide: AriaDescriber,
+    deps: [
+        [new _angular_core.Optional(), new _angular_core.SkipSelf(), AriaDescriber],
+        /** @type {?} */ (_angular_common.DOCUMENT)
+    ],
+    useFactory: ARIA_DESCRIBER_PROVIDER_FACTORY
+};
+
+/**
+ * @fileoverview added by tsickle
+ * @suppress {checkTypes} checked by tsc
+ */
+
+/**
+ * This interface is for items that can be passed to a ListKeyManager.
+ * @record
+ */
+
+/**
+ * This class manages keyboard events for selectable lists. If you pass it a query list
+ * of items, it will set the active item correctly when arrow events occur.
+ */
+var ListKeyManager = /** @class */ (function () {
+    function ListKeyManager(_items) {
+        var _this = this;
+        this._items = _items;
+        this._activeItemIndex = -1;
+        this._wrap = false;
+        this._letterKeyStream = new rxjs_Subject.Subject();
+        this._typeaheadSubscription = rxjs_Subscription.Subscription.EMPTY;
+        this._vertical = true;
+        this._pressedLetters = [];
+        /**
+         * Stream that emits any time the TAB key is pressed, so components can react
+         * when focus is shifted off of the list.
+         */
+        this.tabOut = new rxjs_Subject.Subject();
+        /**
+         * Stream that emits whenever the active item of the list manager changes.
+         */
+        this.change = new rxjs_Subject.Subject();
+        _items.changes.subscribe(function (newItems) {
+            if (_this._activeItem) {
+                var /** @type {?} */ itemArray = newItems.toArray();
+                var /** @type {?} */ newIndex = itemArray.indexOf(_this._activeItem);
+                if (newIndex > -1 && newIndex !== _this._activeItemIndex) {
+                    _this._activeItemIndex = newIndex;
+                }
+            }
+        });
+    }
+    /**
+     * Turns on wrapping mode, which ensures that the active item will wrap to
+     * the other end of list when there are no more items in the given direction.
+     */
+    /**
+     * Turns on wrapping mode, which ensures that the active item will wrap to
+     * the other end of list when there are no more items in the given direction.
+     * @return {?}
+     */
+    ListKeyManager.prototype.withWrap = /**
+     * Turns on wrapping mode, which ensures that the active item will wrap to
+     * the other end of list when there are no more items in the given direction.
+     * @return {?}
+     */
+    function () {
+        this._wrap = true;
+        return this;
+    };
+    /**
+     * Configures whether the key manager should be able to move the selection vertically.
+     * @param enabled Whether vertical selection should be enabled.
+     */
+    /**
+     * Configures whether the key manager should be able to move the selection vertically.
+     * @param {?=} enabled Whether vertical selection should be enabled.
+     * @return {?}
+     */
+    ListKeyManager.prototype.withVerticalOrientation = /**
+     * Configures whether the key manager should be able to move the selection vertically.
+     * @param {?=} enabled Whether vertical selection should be enabled.
+     * @return {?}
+     */
+    function (enabled) {
+        if (enabled === void 0) { enabled = true; }
+        this._vertical = enabled;
+        return this;
+    };
+    /**
+     * Configures the key manager to move the selection horizontally.
+     * Passing in `null` will disable horizontal movement.
+     * @param direction Direction in which the selection can be moved.
+     */
+    /**
+     * Configures the key manager to move the selection horizontally.
+     * Passing in `null` will disable horizontal movement.
+     * @param {?} direction Direction in which the selection can be moved.
+     * @return {?}
+     */
+    ListKeyManager.prototype.withHorizontalOrientation = /**
+     * Configures the key manager to move the selection horizontally.
+     * Passing in `null` will disable horizontal movement.
+     * @param {?} direction Direction in which the selection can be moved.
+     * @return {?}
+     */
+    function (direction) {
+        this._horizontal = direction;
+        return this;
+    };
+    /**
+     * Turns on typeahead mode which allows users to set the active item by typing.
+     * @param debounceInterval Time to wait after the last keystroke before setting the active item.
+     */
+    /**
+     * Turns on typeahead mode which allows users to set the active item by typing.
+     * @param {?=} debounceInterval Time to wait after the last keystroke before setting the active item.
+     * @return {?}
+     */
+    ListKeyManager.prototype.withTypeAhead = /**
+     * Turns on typeahead mode which allows users to set the active item by typing.
+     * @param {?=} debounceInterval Time to wait after the last keystroke before setting the active item.
+     * @return {?}
+     */
+    function (debounceInterval) {
+        var _this = this;
+        if (debounceInterval === void 0) { debounceInterval = 200; }
+        if (this._items.length && this._items.some(function (item) { return typeof item.getLabel !== 'function'; })) {
+            throw Error('ListKeyManager items in typeahead mode must implement the `getLabel` method.');
+        }
+        this._typeaheadSubscription.unsubscribe();
+        // Debounce the presses of non-navigational keys, collect the ones that correspond to letters
+        // and convert those letters back into a string. Afterwards find the first item that starts
+        // with that string and select it.
+        this._typeaheadSubscription = this._letterKeyStream.pipe(rxjs_operators_tap.tap(function (keyCode) { return _this._pressedLetters.push(keyCode); }), rxjs_operators_debounceTime.debounceTime(debounceInterval), rxjs_operators_filter.filter(function () { return _this._pressedLetters.length > 0; }), rxjs_operators_map.map(function () { return _this._pressedLetters.join(''); })).subscribe(function (inputString) {
+            var /** @type {?} */ items = _this._items.toArray();
+            // Start at 1 because we want to start searching at the item immediately
+            // following the current active item.
+            for (var /** @type {?} */ i = 1; i < items.length + 1; i++) {
+                var /** @type {?} */ index = (_this._activeItemIndex + i) % items.length;
+                var /** @type {?} */ item = items[index];
+                if (!item.disabled && /** @type {?} */ ((item.getLabel))().toUpperCase().trim().indexOf(inputString) === 0) {
+                    _this.setActiveItem(index);
+                    break;
+                }
+            }
+            _this._pressedLetters = [];
+        });
+        return this;
+    };
+    /**
+     * Sets the active item to the item at the index specified.
+     * @param index The index of the item to be set as active.
+     */
+    /**
+     * Sets the active item to the item at the index specified.
+     * @param {?} index The index of the item to be set as active.
+     * @return {?}
+     */
+    ListKeyManager.prototype.setActiveItem = /**
+     * Sets the active item to the item at the index specified.
+     * @param {?} index The index of the item to be set as active.
+     * @return {?}
+     */
+    function (index) {
+        var /** @type {?} */ previousIndex = this._activeItemIndex;
+        this._activeItemIndex = index;
+        this._activeItem = this._items.toArray()[index];
+        if (this._activeItemIndex !== previousIndex) {
+            this.change.next(index);
+        }
+    };
+    /**
+     * Sets the active item depending on the key event passed in.
+     * @param event Keyboard event to be used for determining which element should be active.
+     */
+    /**
+     * Sets the active item depending on the key event passed in.
+     * @param {?} event Keyboard event to be used for determining which element should be active.
+     * @return {?}
+     */
+    ListKeyManager.prototype.onKeydown = /**
+     * Sets the active item depending on the key event passed in.
+     * @param {?} event Keyboard event to be used for determining which element should be active.
+     * @return {?}
+     */
+    function (event) {
+        var /** @type {?} */ keyCode = event.keyCode;
+        switch (keyCode) {
+            case _angular_cdk_keycodes.TAB:
+                this.tabOut.next();
+                return;
+            case _angular_cdk_keycodes.DOWN_ARROW:
+                if (this._vertical) {
+                    this.setNextItemActive();
+                    break;
+                }
+            case _angular_cdk_keycodes.UP_ARROW:
+                if (this._vertical) {
+                    this.setPreviousItemActive();
+                    break;
+                }
+            case _angular_cdk_keycodes.RIGHT_ARROW:
+                if (this._horizontal === 'ltr') {
+                    this.setNextItemActive();
+                    break;
+                }
+                else if (this._horizontal === 'rtl') {
+                    this.setPreviousItemActive();
+                    break;
+                }
+            case _angular_cdk_keycodes.LEFT_ARROW:
+                if (this._horizontal === 'ltr') {
+                    this.setPreviousItemActive();
+                    break;
+                }
+                else if (this._horizontal === 'rtl') {
+                    this.setNextItemActive();
+                    break;
+                }
+            default:
+                // Attempt to use the `event.key` which also maps it to the user's keyboard language,
+                // otherwise fall back to resolving alphanumeric characters via the keyCode.
+                if (event.key && event.key.length === 1) {
+                    this._letterKeyStream.next(event.key.toLocaleUpperCase());
+                }
+                else if ((keyCode >= _angular_cdk_keycodes.A && keyCode <= _angular_cdk_keycodes.Z) || (keyCode >= _angular_cdk_keycodes.ZERO && keyCode <= _angular_cdk_keycodes.NINE)) {
+                    this._letterKeyStream.next(String.fromCharCode(keyCode));
+                }
+                // Note that we return here, in order to avoid preventing
+                // the default action of non-navigational keys.
+                return;
+        }
+        this._pressedLetters = [];
+        event.preventDefault();
+    };
+    Object.defineProperty(ListKeyManager.prototype, "activeItemIndex", {
+        /** Index of the currently active item. */
+        get: /**
+         * Index of the currently active item.
+         * @return {?}
+         */
+        function () {
+            return this._activeItemIndex;
+        },
+        enumerable: true,
+        configurable: true
+    });
+    Object.defineProperty(ListKeyManager.prototype, "activeItem", {
+        /** The active item. */
+        get: /**
+         * The active item.
+         * @return {?}
+         */
+        function () {
+            return this._activeItem;
+        },
+        enumerable: true,
+        configurable: true
+    });
+    /** Sets the active item to the first enabled item in the list. */
+    /**
+     * Sets the active item to the first enabled item in the list.
+     * @return {?}
+     */
+    ListKeyManager.prototype.setFirstItemActive = /**
+     * Sets the active item to the first enabled item in the list.
+     * @return {?}
+     */
+    function () {
+        this._setActiveItemByIndex(0, 1);
+    };
+    /** Sets the active item to the last enabled item in the list. */
+    /**
+     * Sets the active item to the last enabled item in the list.
+     * @return {?}
+     */
+    ListKeyManager.prototype.setLastItemActive = /**
+     * Sets the active item to the last enabled item in the list.
+     * @return {?}
+     */
+    function () {
+        this._setActiveItemByIndex(this._items.length - 1, -1);
+    };
+    /** Sets the active item to the next enabled item in the list. */
+    /**
+     * Sets the active item to the next enabled item in the list.
+     * @return {?}
+     */
+    ListKeyManager.prototype.setNextItemActive = /**
+     * Sets the active item to the next enabled item in the list.
+     * @return {?}
+     */
+    function () {
+        this._activeItemIndex < 0 ? this.setFirstItemActive() : this._setActiveItemByDelta(1);
+    };
+    /** Sets the active item to a previous enabled item in the list. */
+    /**
+     * Sets the active item to a previous enabled item in the list.
+     * @return {?}
+     */
+    ListKeyManager.prototype.setPreviousItemActive = /**
+     * Sets the active item to a previous enabled item in the list.
+     * @return {?}
+     */
+    function () {
+        this._activeItemIndex < 0 && this._wrap ? this.setLastItemActive()
+            : this._setActiveItemByDelta(-1);
+    };
+    /**
+     * Allows setting of the activeItemIndex without any other effects.
+     * @param index The new activeItemIndex.
+     */
+    /**
+     * Allows setting of the activeItemIndex without any other effects.
+     * @param {?} index The new activeItemIndex.
+     * @return {?}
+     */
+    ListKeyManager.prototype.updateActiveItemIndex = /**
+     * Allows setting of the activeItemIndex without any other effects.
+     * @param {?} index The new activeItemIndex.
+     * @return {?}
+     */
+    function (index) {
+        this._activeItemIndex = index;
+    };
+    /**
+     * This method sets the active item, given a list of items and the delta between the
+     * currently active item and the new active item. It will calculate differently
+     * depending on whether wrap mode is turned on.
+     * @param {?} delta
+     * @param {?=} items
+     * @return {?}
+     */
+    ListKeyManager.prototype._setActiveItemByDelta = /**
+     * This method sets the active item, given a list of items and the delta between the
+     * currently active item and the new active item. It will calculate differently
+     * depending on whether wrap mode is turned on.
+     * @param {?} delta
+     * @param {?=} items
+     * @return {?}
+     */
+    function (delta, items) {
+        if (items === void 0) { items = this._items.toArray(); }
+        this._wrap ? this._setActiveInWrapMode(delta, items)
+            : this._setActiveInDefaultMode(delta, items);
+    };
+    /**
+     * Sets the active item properly given "wrap" mode. In other words, it will continue to move
+     * down the list until it finds an item that is not disabled, and it will wrap if it
+     * encounters either end of the list.
+     * @param {?} delta
+     * @param {?} items
+     * @return {?}
+     */
+    ListKeyManager.prototype._setActiveInWrapMode = /**
+     * Sets the active item properly given "wrap" mode. In other words, it will continue to move
+     * down the list until it finds an item that is not disabled, and it will wrap if it
+     * encounters either end of the list.
+     * @param {?} delta
+     * @param {?} items
+     * @return {?}
+     */
+    function (delta, items) {
+        // when active item would leave menu, wrap to beginning or end
+        this._activeItemIndex =
+            (this._activeItemIndex + delta + items.length) % items.length;
+        // skip all disabled menu items recursively until an enabled one is reached
+        if (items[this._activeItemIndex].disabled) {
+            this._setActiveInWrapMode(delta, items);
+        }
+        else {
+            this.setActiveItem(this._activeItemIndex);
+        }
+    };
+    /**
+     * Sets the active item properly given the default mode. In other words, it will
+     * continue to move down the list until it finds an item that is not disabled. If
+     * it encounters either end of the list, it will stop and not wrap.
+     * @param {?} delta
+     * @param {?} items
+     * @return {?}
+     */
+    ListKeyManager.prototype._setActiveInDefaultMode = /**
+     * Sets the active item properly given the default mode. In other words, it will
+     * continue to move down the list until it finds an item that is not disabled. If
+     * it encounters either end of the list, it will stop and not wrap.
+     * @param {?} delta
+     * @param {?} items
+     * @return {?}
+     */
+    function (delta, items) {
+        this._setActiveItemByIndex(this._activeItemIndex + delta, delta, items);
+    };
+    /**
+     * Sets the active item to the first enabled item starting at the index specified. If the
+     * item is disabled, it will move in the fallbackDelta direction until it either
+     * finds an enabled item or encounters the end of the list.
+     * @param {?} index
+     * @param {?} fallbackDelta
+     * @param {?=} items
+     * @return {?}
+     */
+    ListKeyManager.prototype._setActiveItemByIndex = /**
+     * Sets the active item to the first enabled item starting at the index specified. If the
+     * item is disabled, it will move in the fallbackDelta direction until it either
+     * finds an enabled item or encounters the end of the list.
+     * @param {?} index
+     * @param {?} fallbackDelta
+     * @param {?=} items
+     * @return {?}
+     */
+    function (index, fallbackDelta, items) {
+        if (items === void 0) { items = this._items.toArray(); }
+        if (!items[index]) {
+            return;
+        }
+        while (items[index].disabled) {
+            index += fallbackDelta;
+            if (!items[index]) {
+                return;
+            }
+        }
+        this.setActiveItem(index);
+    };
+    return ListKeyManager;
+}());
+
+/**
+ * @fileoverview added by tsickle
+ * @suppress {checkTypes} checked by tsc
+ */
+
+/**
+ * This is the interface for highlightable items (used by the ActiveDescendantKeyManager).
+ * Each item must know how to style itself as active or inactive and whether or not it is
+ * currently disabled.
+ * @record
+ */
+
+var ActiveDescendantKeyManager = /** @class */ (function (_super) {
+    __extends(ActiveDescendantKeyManager, _super);
+    function ActiveDescendantKeyManager() {
+        return _super !== null && _super.apply(this, arguments) || this;
+    }
+    /**
+     * This method sets the active item to the item at the specified index.
+     * It also adds active styles to the newly active item and removes active
+     * styles from the previously active item.
+     */
+    /**
+     * This method sets the active item to the item at the specified index.
+     * It also adds active styles to the newly active item and removes active
+     * styles from the previously active item.
+     * @param {?} index
+     * @return {?}
+     */
+    ActiveDescendantKeyManager.prototype.setActiveItem = /**
+     * This method sets the active item to the item at the specified index.
+     * It also adds active styles to the newly active item and removes active
+     * styles from the previously active item.
+     * @param {?} index
+     * @return {?}
+     */
+    function (index) {
+        if (this.activeItem) {
+            this.activeItem.setInactiveStyles();
+        }
+        _super.prototype.setActiveItem.call(this, index);
+        if (this.activeItem) {
+            this.activeItem.setActiveStyles();
+        }
+    };
+    return ActiveDescendantKeyManager;
+}(ListKeyManager));
+
+/**
+ * @fileoverview added by tsickle
+ * @suppress {checkTypes} checked by tsc
+ */
+
+/**
+ * This is the interface for focusable items (used by the FocusKeyManager).
+ * Each item must know how to focus itself, whether or not it is currently disabled
+ * and be able to supply it's label.
+ * @record
+ */
+
+var FocusKeyManager = /** @class */ (function (_super) {
+    __extends(FocusKeyManager, _super);
+    function FocusKeyManager() {
+        var _this = _super !== null && _super.apply(this, arguments) || this;
+        _this._origin = 'program';
+        return _this;
+    }
+    /**
+     * Sets the focus origin that will be passed in to the items for any subsequent `focus` calls.
+     * @param origin Focus origin to be used when focusing items.
+     */
+    /**
+     * Sets the focus origin that will be passed in to the items for any subsequent `focus` calls.
+     * @param {?} origin Focus origin to be used when focusing items.
+     * @return {?}
+     */
+    FocusKeyManager.prototype.setFocusOrigin = /**
+     * Sets the focus origin that will be passed in to the items for any subsequent `focus` calls.
+     * @param {?} origin Focus origin to be used when focusing items.
+     * @return {?}
+     */
+    function (origin) {
+        this._origin = origin;
+        return this;
+    };
+    /**
+     * This method sets the active item to the item at the specified index.
+     * It also adds focuses the newly active item.
+     */
+    /**
+     * This method sets the active item to the item at the specified index.
+     * It also adds focuses the newly active item.
+     * @param {?} index
+     * @return {?}
+     */
+    FocusKeyManager.prototype.setActiveItem = /**
+     * This method sets the active item to the item at the specified index.
+     * It also adds focuses the newly active item.
+     * @param {?} index
+     * @return {?}
+     */
+    function (index) {
+        _super.prototype.setActiveItem.call(this, index);
+        if (this.activeItem) {
+            this.activeItem.focus(this._origin);
+        }
+    };
+    return FocusKeyManager;
+}(ListKeyManager));
+
+/**
+ * @fileoverview added by tsickle
+ * @suppress {checkTypes} checked by tsc
+ */
+
+var LIVE_ANNOUNCER_ELEMENT_TOKEN = new _angular_core.InjectionToken('liveAnnouncerElement');
+var LiveAnnouncer = /** @class */ (function () {
+    function LiveAnnouncer(elementToken, _document) {
+        this._document = _document;
+        // We inject the live element as `any` because the constructor signature cannot reference
+        // browser globals (HTMLElement) on non-browser environments, since having a class decorator
+        // causes TypeScript to preserve the constructor signature types.
+        this._liveElement = elementToken || this._createLiveElement();
+    }
+    /**
+     * Announces a message to screenreaders.
+     * @param message Message to be announced to the screenreader
+     * @param politeness The politeness of the announcer element
+     */
+    /**
+     * Announces a message to screenreaders.
+     * @param {?} message Message to be announced to the screenreader
+     * @param {?=} politeness The politeness of the announcer element
+     * @return {?}
+     */
+    LiveAnnouncer.prototype.announce = /**
+     * Announces a message to screenreaders.
+     * @param {?} message Message to be announced to the screenreader
+     * @param {?=} politeness The politeness of the announcer element
+     * @return {?}
+     */
+    function (message, politeness) {
+        var _this = this;
+        if (politeness === void 0) { politeness = 'polite'; }
+        this._liveElement.textContent = '';
+        // TODO: ensure changing the politeness works on all environments we support.
+        this._liveElement.setAttribute('aria-live', politeness);
+        // This 100ms timeout is necessary for some browser + screen-reader combinations:
+        // - Both JAWS and NVDA over IE11 will not announce anything without a non-zero timeout.
+        // - With Chrome and IE11 with NVDA or JAWS, a repeated (identical) message won't be read a
+        //   second time without clearing and then using a non-zero delay.
+        // (using JAWS 17 at time of this writing).
+        setTimeout(function () { return _this._liveElement.textContent = message; }, 100);
+    };
+    /**
+     * @return {?}
+     */
+    LiveAnnouncer.prototype.ngOnDestroy = /**
+     * @return {?}
+     */
+    function () {
+        if (this._liveElement && this._liveElement.parentNode) {
+            this._liveElement.parentNode.removeChild(this._liveElement);
+        }
+    };
+    /**
+     * @return {?}
+     */
+    LiveAnnouncer.prototype._createLiveElement = /**
+     * @return {?}
+     */
+    function () {
+        var /** @type {?} */ liveEl = this._document.createElement('div');
+        liveEl.classList.add('cdk-visually-hidden');
+        liveEl.setAttribute('aria-atomic', 'true');
+        liveEl.setAttribute('aria-live', 'polite');
+        this._document.body.appendChild(liveEl);
+        return liveEl;
+    };
+    LiveAnnouncer.decorators = [
+        { type: _angular_core.Injectable },
+    ];
+    /** @nocollapse */
+    LiveAnnouncer.ctorParameters = function () { return [
+        { type: undefined, decorators: [{ type: _angular_core.Optional }, { type: _angular_core.Inject, args: [LIVE_ANNOUNCER_ELEMENT_TOKEN,] },] },
+        { type: undefined, decorators: [{ type: _angular_core.Inject, args: [_angular_common.DOCUMENT,] },] },
+    ]; };
+    return LiveAnnouncer;
+}());
+/**
+ * \@docs-private
+ * @param {?} parentDispatcher
+ * @param {?} liveElement
+ * @param {?} _document
+ * @return {?}
+ */
+function LIVE_ANNOUNCER_PROVIDER_FACTORY(parentDispatcher, liveElement, _document) {
+    return parentDispatcher || new LiveAnnouncer(liveElement, _document);
+}
+/**
+ * \@docs-private
+ */
+var LIVE_ANNOUNCER_PROVIDER = {
+    // If there is already a LiveAnnouncer available, use that. Otherwise, provide a new one.
+    provide: LiveAnnouncer,
+    deps: [
+        [new _angular_core.Optional(), new _angular_core.SkipSelf(), LiveAnnouncer],
+        [new _angular_core.Optional(), new _angular_core.Inject(LIVE_ANNOUNCER_ELEMENT_TOKEN)],
+        _angular_common.DOCUMENT,
+    ],
+    useFactory: LIVE_ANNOUNCER_PROVIDER_FACTORY
+};
+
+/**
+ * @fileoverview added by tsickle
+ * @suppress {checkTypes} checked by tsc
+ */
+
+// This is the value used by AngularJS Material. Through trial and error (on iPhone 6S) they found
+// that a value of around 650ms seems appropriate.
+var TOUCH_BUFFER_MS = 650;
+/**
+ * Monitors mouse and keyboard events to determine the cause of focus events.
+ */
+var FocusMonitor = /** @class */ (function () {
+    function FocusMonitor(_ngZone, _platform) {
+        this._ngZone = _ngZone;
+        this._platform = _platform;
+        /**
+         * The focus origin that the next focus event is a result of.
+         */
+        this._origin = null;
+        /**
+         * Whether the window has just been focused.
+         */
+        this._windowFocused = false;
+        /**
+         * Map of elements being monitored to their info.
+         */
+        this._elementInfo = new Map();
+        /**
+         * A map of global objects to lists of current listeners.
+         */
+        this._unregisterGlobalListeners = function () { };
+        /**
+         * The number of elements currently being monitored.
+         */
+        this._monitoredElementCount = 0;
+    }
+    /**
+     * @param {?} element
+     * @param {?=} renderer
+     * @param {?=} checkChildren
+     * @return {?}
+     */
+    FocusMonitor.prototype.monitor = /**
+     * @param {?} element
+     * @param {?=} renderer
+     * @param {?=} checkChildren
+     * @return {?}
+     */
+    function (element, renderer, checkChildren) {
+        var _this = this;
+        // TODO(mmalerba): clean up after deprecated signature is removed.
+        if (!(renderer instanceof _angular_core.Renderer2)) {
+            checkChildren = renderer;
+        }
+        checkChildren = !!checkChildren;
+        // Do nothing if we're not on the browser platform.
+        if (!this._platform.isBrowser) {
+            return rxjs_observable_of.of(null);
+        }
+        // Check if we're already monitoring this element.
+        if (this._elementInfo.has(element)) {
+            var /** @type {?} */ cachedInfo = this._elementInfo.get(element); /** @type {?} */
+            ((cachedInfo)).checkChildren = checkChildren;
+            return /** @type {?} */ ((cachedInfo)).subject.asObservable();
+        }
+        // Create monitored element info.
+        var /** @type {?} */ info = {
+            unlisten: function () { },
+            checkChildren: checkChildren,
+            subject: new rxjs_Subject.Subject()
+        };
+        this._elementInfo.set(element, info);
+        this._incrementMonitoredElementCount();
+        // Start listening. We need to listen in capture phase since focus events don't bubble.
+        var /** @type {?} */ focusListener = function (event) { return _this._onFocus(event, element); };
+        var /** @type {?} */ blurListener = function (event) { return _this._onBlur(event, element); };
+        this._ngZone.runOutsideAngular(function () {
+            element.addEventListener('focus', focusListener, true);
+            element.addEventListener('blur', blurListener, true);
+        });
+        // Create an unlisten function for later.
+        info.unlisten = function () {
+            element.removeEventListener('focus', focusListener, true);
+            element.removeEventListener('blur', blurListener, true);
+        };
+        return info.subject.asObservable();
+    };
+    /**
+     * Stops monitoring an element and removes all focus classes.
+     * @param element The element to stop monitoring.
+     */
+    /**
+     * Stops monitoring an element and removes all focus classes.
+     * @param {?} element The element to stop monitoring.
+     * @return {?}
+     */
+    FocusMonitor.prototype.stopMonitoring = /**
+     * Stops monitoring an element and removes all focus classes.
+     * @param {?} element The element to stop monitoring.
+     * @return {?}
+     */
+    function (element) {
+        var /** @type {?} */ elementInfo = this._elementInfo.get(element);
+        if (elementInfo) {
+            elementInfo.unlisten();
+            elementInfo.subject.complete();
+            this._setClasses(element);
+            this._elementInfo.delete(element);
+            this._decrementMonitoredElementCount();
+        }
+    };
+    /**
+     * Focuses the element via the specified focus origin.
+     * @param element The element to focus.
+     * @param origin The focus origin.
+     */
+    /**
+     * Focuses the element via the specified focus origin.
+     * @param {?} element The element to focus.
+     * @param {?} origin The focus origin.
+     * @return {?}
+     */
+    FocusMonitor.prototype.focusVia = /**
+     * Focuses the element via the specified focus origin.
+     * @param {?} element The element to focus.
+     * @param {?} origin The focus origin.
+     * @return {?}
+     */
+    function (element, origin) {
+        this._setOriginForCurrentEventQueue(origin);
+        element.focus();
+    };
+    /**
+     * @return {?}
+     */
+    FocusMonitor.prototype.ngOnDestroy = /**
+     * @return {?}
+     */
+    function () {
+        var _this = this;
+        this._elementInfo.forEach(function (_info, element) { return _this.stopMonitoring(element); });
+    };
+    /**
+     * Register necessary event listeners on the document and window.
+     * @return {?}
+     */
+    FocusMonitor.prototype._registerGlobalListeners = /**
+     * Register necessary event listeners on the document and window.
+     * @return {?}
+     */
+    function () {
+        var _this = this;
+        // Do nothing if we're not on the browser platform.
+        if (!this._platform.isBrowser) {
+            return;
+        }
+        // On keydown record the origin and clear any touch event that may be in progress.
+        var /** @type {?} */ documentKeydownListener = function () {
+            _this._lastTouchTarget = null;
+            _this._setOriginForCurrentEventQueue('keyboard');
+        };
+        // On mousedown record the origin only if there is not touch target, since a mousedown can
+        // happen as a result of a touch event.
+        var /** @type {?} */ documentMousedownListener = function () {
+            if (!_this._lastTouchTarget) {
+                _this._setOriginForCurrentEventQueue('mouse');
+            }
+        };
+        // When the touchstart event fires the focus event is not yet in the event queue. This means
+        // we can't rely on the trick used above (setting timeout of 0ms). Instead we wait 650ms to
+        // see if a focus happens.
+        var /** @type {?} */ documentTouchstartListener = function (event) {
+            if (_this._touchTimeoutId != null) {
+                clearTimeout(_this._touchTimeoutId);
+            }
+            _this._lastTouchTarget = event.target;
+            _this._touchTimeoutId = setTimeout(function () { return _this._lastTouchTarget = null; }, TOUCH_BUFFER_MS);
+        };
+        // Make a note of when the window regains focus, so we can restore the origin info for the
+        // focused element.
+        var /** @type {?} */ windowFocusListener = function () {
+            _this._windowFocused = true;
+            _this._windowFocusTimeoutId = setTimeout(function () { return _this._windowFocused = false; }, 0);
+        };
+        // Note: we listen to events in the capture phase so we can detect them even if the user stops
+        // propagation.
+        this._ngZone.runOutsideAngular(function () {
+            document.addEventListener('keydown', documentKeydownListener, true);
+            document.addEventListener('mousedown', documentMousedownListener, true);
+            document.addEventListener('touchstart', documentTouchstartListener, _angular_cdk_platform.supportsPassiveEventListeners() ? (/** @type {?} */ ({ passive: true, capture: true })) : true);
+            window.addEventListener('focus', windowFocusListener);
+        });
+        this._unregisterGlobalListeners = function () {
+            document.removeEventListener('keydown', documentKeydownListener, true);
+            document.removeEventListener('mousedown', documentMousedownListener, true);
+            document.removeEventListener('touchstart', documentTouchstartListener, _angular_cdk_platform.supportsPassiveEventListeners() ? (/** @type {?} */ ({ passive: true, capture: true })) : true);
+            window.removeEventListener('focus', windowFocusListener);
+            // Clear timeouts for all potentially pending timeouts to prevent the leaks.
+            clearTimeout(_this._windowFocusTimeoutId);
+            clearTimeout(_this._touchTimeoutId);
+            clearTimeout(_this._originTimeoutId);
+        };
+    };
+    /**
+     * @param {?} element
+     * @param {?} className
+     * @param {?} shouldSet
+     * @return {?}
+     */
+    FocusMonitor.prototype._toggleClass = /**
+     * @param {?} element
+     * @param {?} className
+     * @param {?} shouldSet
+     * @return {?}
+     */
+    function (element, className, shouldSet) {
+        if (shouldSet) {
+            element.classList.add(className);
+        }
+        else {
+            element.classList.remove(className);
+        }
+    };
+    /**
+     * Sets the focus classes on the element based on the given focus origin.
+     * @param {?} element The element to update the classes on.
+     * @param {?=} origin The focus origin.
+     * @return {?}
+     */
+    FocusMonitor.prototype._setClasses = /**
+     * Sets the focus classes on the element based on the given focus origin.
+     * @param {?} element The element to update the classes on.
+     * @param {?=} origin The focus origin.
+     * @return {?}
+     */
+    function (element, origin) {
+        var /** @type {?} */ elementInfo = this._elementInfo.get(element);
+        if (elementInfo) {
+            this._toggleClass(element, 'cdk-focused', !!origin);
+            this._toggleClass(element, 'cdk-touch-focused', origin === 'touch');
+            this._toggleClass(element, 'cdk-keyboard-focused', origin === 'keyboard');
+            this._toggleClass(element, 'cdk-mouse-focused', origin === 'mouse');
+            this._toggleClass(element, 'cdk-program-focused', origin === 'program');
+        }
+    };
+    /**
+     * Sets the origin and schedules an async function to clear it at the end of the event queue.
+     * @param {?} origin The origin to set.
+     * @return {?}
+     */
+    FocusMonitor.prototype._setOriginForCurrentEventQueue = /**
+     * Sets the origin and schedules an async function to clear it at the end of the event queue.
+     * @param {?} origin The origin to set.
+     * @return {?}
+     */
+    function (origin) {
+        var _this = this;
+        this._origin = origin;
+        this._originTimeoutId = setTimeout(function () { return _this._origin = null; }, 0);
+    };
+    /**
+     * Checks whether the given focus event was caused by a touchstart event.
+     * @param {?} event The focus event to check.
+     * @return {?} Whether the event was caused by a touch.
+     */
+    FocusMonitor.prototype._wasCausedByTouch = /**
+     * Checks whether the given focus event was caused by a touchstart event.
+     * @param {?} event The focus event to check.
+     * @return {?} Whether the event was caused by a touch.
+     */
+    function (event) {
+        // Note(mmalerba): This implementation is not quite perfect, there is a small edge case.
+        // Consider the following dom structure:
+        //
+        // <div #parent tabindex="0" cdkFocusClasses>
+        //   <div #child (click)="#parent.focus()"></div>
+        // </div>
+        //
+        // If the user touches the #child element and the #parent is programmatically focused as a
+        // result, this code will still consider it to have been caused by the touch event and will
+        // apply the cdk-touch-focused class rather than the cdk-program-focused class. This is a
+        // relatively small edge-case that can be worked around by using
+        // focusVia(parentEl, 'program') to focus the parent element.
+        //
+        // If we decide that we absolutely must handle this case correctly, we can do so by listening
+        // for the first focus event after the touchstart, and then the first blur event after that
+        // focus event. When that blur event fires we know that whatever follows is not a result of the
+        // touchstart.
+        var /** @type {?} */ focusTarget = event.target;
+        return this._lastTouchTarget instanceof Node && focusTarget instanceof Node &&
+            (focusTarget === this._lastTouchTarget || focusTarget.contains(this._lastTouchTarget));
+    };
+    /**
+     * Handles focus events on a registered element.
+     * @param {?} event The focus event.
+     * @param {?} element The monitored element.
+     * @return {?}
+     */
+    FocusMonitor.prototype._onFocus = /**
+     * Handles focus events on a registered element.
+     * @param {?} event The focus event.
+     * @param {?} element The monitored element.
+     * @return {?}
+     */
+    function (event, element) {
+        // NOTE(mmalerba): We currently set the classes based on the focus origin of the most recent
+        // focus event affecting the monitored element. If we want to use the origin of the first event
+        // instead we should check for the cdk-focused class here and return if the element already has
+        // it. (This only matters for elements that have includesChildren = true).
+        // If we are not counting child-element-focus as focused, make sure that the event target is the
+        // monitore

<TRUNCATED>

[09/59] [abbrv] [partial] nifi-fds git commit: update gh-pages

Posted by sc...@apache.org.
http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/eec354e6/node_modules/@angular/cdk/bundles/cdk-table.umd.js.map
----------------------------------------------------------------------
diff --git a/node_modules/@angular/cdk/bundles/cdk-table.umd.js.map b/node_modules/@angular/cdk/bundles/cdk-table.umd.js.map
new file mode 100644
index 0000000..c172da0
--- /dev/null
+++ b/node_modules/@angular/cdk/bundles/cdk-table.umd.js.map
@@ -0,0 +1 @@
+{"version":3,"file":"cdk-table.umd.js","sources":["../../src/cdk/table/table-module.ts","../../src/cdk/table/table.ts","../../src/cdk/table/table-errors.ts","../../src/cdk/table/cell.ts","../../src/cdk/table/row.ts","../../node_modules/tslib/tslib.es6.js"],"sourcesContent":["/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {HeaderRowPlaceholder, RowPlaceholder, CdkTable} from './table';\nimport {CdkCellOutlet, CdkHeaderRow, CdkHeaderRowDef, CdkRow, CdkRowDef} from './row';\nimport {CdkColumnDef, CdkHeaderCellDef, CdkHeaderCell, CdkCell, CdkCellDef} from './cell';\n\nconst EXPORTED_DECLARATIONS = [\n  CdkTable,\n  CdkRowDef,\n  CdkCellDef,\n  CdkCellOutlet,\n  CdkHeaderCellDef,\n  CdkColumnDef,\n  CdkCell,\n  CdkRow,\n  CdkHeaderCe
 ll,\n  CdkHeaderRow,\n  CdkHeaderRowDef,\n  RowPlaceholder,\n  HeaderRowPlaceholder,\n];\n\n@NgModule({\n  imports: [CommonModule],\n  exports: [EXPORTED_DECLARATIONS],\n  declarations: [EXPORTED_DECLARATIONS]\n\n})\nexport class CdkTableModule { }\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {\n  AfterContentChecked,\n  Attribute,\n  ChangeDetectionStrategy,\n  ChangeDetectorRef,\n  Component,\n  ContentChild,\n  ContentChildren,\n  Directive,\n  ElementRef,\n  EmbeddedViewRef,\n  Input,\n  isDevMode,\n  IterableChangeRecord,\n  IterableDiffer,\n  IterableDiffers,\n  OnInit,\n  QueryList,\n  TrackByFunction,\n  ViewChild,\n  ViewContainerRef,\n  ViewEncapsulation,\n} from '@angular/core';\nimport {CollectionViewer, DataSource} from '@angular/cdk/collections';\nimport {CdkCellOutlet, CdkCellOutletRowContext, 
 CdkHeaderRowDef, CdkRowDef} from './row';\nimport {takeUntil} from 'rxjs/operators/takeUntil';\nimport {BehaviorSubject} from 'rxjs/BehaviorSubject';\nimport {Subscription} from 'rxjs/Subscription';\nimport {Subject} from 'rxjs/Subject';\nimport {CdkCellDef, CdkColumnDef, CdkHeaderCellDef} from './cell';\nimport {\n  getTableDuplicateColumnNameError,\n  getTableMissingMatchingRowDefError,\n  getTableMissingRowDefsError,\n  getTableMultipleDefaultRowDefsError,\n  getTableUnknownColumnError,\n  getTableUnknownDataSourceError\n} from './table-errors';\nimport {Observable} from 'rxjs/Observable';\nimport {of as observableOf} from 'rxjs/observable/of';\n\n/**\n * Provides a handle for the table to grab the view container's ng-container to insert data rows.\n * @docs-private\n */\n@Directive({selector: '[rowPlaceholder]'})\nexport class RowPlaceholder {\n  constructor(public viewContainer: ViewContainerRef) { }\n}\n\n/**\n * Provides a handle for the table to grab the view container's ng-
 container to insert the header.\n * @docs-private\n */\n@Directive({selector: '[headerRowPlaceholder]'})\nexport class HeaderRowPlaceholder {\n  constructor(public viewContainer: ViewContainerRef) { }\n}\n\n/**\n * The table template that can be used by the mat-table. Should not be used outside of the\n * material library.\n */\nexport const CDK_TABLE_TEMPLATE = `\n  <ng-container headerRowPlaceholder></ng-container>\n  <ng-container rowPlaceholder></ng-container>`;\n\n/**\n * Class used to conveniently type the embedded view ref for rows with a context.\n * @docs-private\n */\nabstract class RowViewRef<T> extends EmbeddedViewRef<CdkCellOutletRowContext<T>> { }\n\n/**\n * A data table that renders a header row and data rows. Uses the dataSource input to determine\n * the data to be rendered. The data can be provided either as a data array, an Observable stream\n * that emits the data array to render, or a DataSource with a connect function that will\n * return an Observable stream t
 hat emits the data array to render.\n */\n@Component({\n  moduleId: module.id,\n  selector: 'cdk-table',\n  exportAs: 'cdkTable',\n  template: CDK_TABLE_TEMPLATE,\n  host: {\n    'class': 'cdk-table',\n  },\n  encapsulation: ViewEncapsulation.None,\n  preserveWhitespaces: false,\n  changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class CdkTable<T> implements CollectionViewer, OnInit, AfterContentChecked {\n  /** Subject that emits when the component has been destroyed. */\n  private _onDestroy = new Subject<void>();\n\n  /** Latest data provided by the data source. */\n  private _data: T[];\n\n  /** Subscription that listens for the data provided by the data source. */\n  private _renderChangeSubscription: Subscription | null;\n\n  /**\n   * Map of all the user's defined columns (header and data cell template) identified by name.\n   * Collection populated by the column definitions gathered by `ContentChildren` as well as any\n   * custom column definitions added to `_cu
 stomColumnDefs`.\n   */\n  private _columnDefsByName = new Map<string,  CdkColumnDef>();\n\n  /**\n   * Set of all row defitions that can be used by this table. Populated by the rows gathered by\n   * using `ContentChildren` as well as any custom row definitions added to `_customRowDefs`.\n   */\n  private _rowDefs: CdkRowDef<T>[];\n\n  /** Differ used to find the changes in the data provided by the data source. */\n  private _dataDiffer: IterableDiffer<T>;\n\n  /** Stores the row definition that does not have a when predicate. */\n  private _defaultRowDef: CdkRowDef<T> | null;\n\n  /** Column definitions that were defined outside of the direct content children of the table. */\n  private _customColumnDefs = new Set<CdkColumnDef>();\n\n  /** Row definitions that were defined outside of the direct content children of the table. */\n  private _customRowDefs = new Set<CdkRowDef<T>>();\n\n  /**\n   * Whether the header row definition has been changed. Triggers an update to the header ro
 w after\n   * content is checked.\n   */\n  private _headerRowDefChanged = false;\n\n  /**\n   * Tracking function that will be used to check the differences in data changes. Used similarly\n   * to `ngFor` `trackBy` function. Optimize row operations by identifying a row based on its data\n   * relative to the function to know if a row should be added/removed/moved.\n   * Accepts a function that takes two parameters, `index` and `item`.\n   */\n  @Input()\n  get trackBy(): TrackByFunction<T> { return this._trackByFn; }\n  set trackBy(fn: TrackByFunction<T>) {\n    if (isDevMode() &&\n        fn != null && typeof fn !== 'function' &&\n        <any>console && <any>console.warn) {\n        console.warn(`trackBy must be a function, but received ${JSON.stringify(fn)}.`);\n    }\n    this._trackByFn = fn;\n  }\n  private _trackByFn: TrackByFunction<T>;\n\n  /**\n   * The table's source of data, which can be provided in three ways (in order of complexity):\n   *   - Simple data array (each
  object represents one table row)\n   *   - Stream that emits a data array each time the array changes\n   *   - `DataSource` object that implements the connect/disconnect interface.\n   *\n   * If a data array is provided, the table must be notified when the array's objects are\n   * added, removed, or moved. This can be done by calling the `renderRows()` function which will\n   * render the diff since the last table render. If the data array reference is changed, the table\n   * will automatically trigger an update to the rows.\n   *\n   * When providing an Observable stream, the table will trigger an update automatically when the\n   * stream emits a new array of data.\n   *\n   * Finally, when providing a `DataSource` object, the table will use the Observable stream\n   * provided by the connect function and trigger updates when that stream emits new data array\n   * values. During the table's ngOnDestroy or when the data source is removed from the table, the\n   * table will ca
 ll the DataSource's `disconnect` function (may be useful for cleaning up any\n   * subscriptions registered during the connect process).\n   */\n  @Input()\n  get dataSource(): DataSource<T> | Observable<T[]> | T[] { return this._dataSource; }\n  set dataSource(dataSource: DataSource<T> | Observable<T[]> | T[]) {\n    if (this._dataSource !== dataSource) {\n      this._switchDataSource(dataSource);\n    }\n  }\n  private _dataSource: DataSource<T> | Observable<T[]> | T[] | T[];\n\n  // TODO(andrewseguin): Remove max value as the end index\n  //   and instead calculate the view on init and scroll.\n  /**\n   * Stream containing the latest information on what rows are being displayed on screen.\n   * Can be used by the data source to as a heuristic of what data should be provided.\n   */\n  viewChange: BehaviorSubject<{start: number, end: number}> =\n      new BehaviorSubject<{start: number, end: number}>({start: 0, end: Number.MAX_VALUE});\n\n  // Placeholders within the table's temp
 late where the header and data rows will be inserted.\n  @ViewChild(RowPlaceholder) _rowPlaceholder: RowPlaceholder;\n  @ViewChild(HeaderRowPlaceholder) _headerRowPlaceholder: HeaderRowPlaceholder;\n\n  /**\n   * The column definitions provided by the user that contain what the header and cells should\n   * render for each column.\n   */\n  @ContentChildren(CdkColumnDef) _contentColumnDefs: QueryList<CdkColumnDef>;\n\n  /** Set of template definitions that used as the data row containers. */\n  @ContentChildren(CdkRowDef) _contentRowDefs: QueryList<CdkRowDef<T>>;\n\n  /**\n   * Template definition used as the header container. By default it stores the header row\n   * definition found as a direct content child. Override this value through `setHeaderRowDef` if\n   * the header row definition should be changed or was not defined as a part of the table's\n   * content.\n   */\n  @ContentChild(CdkHeaderRowDef) _headerRowDef: CdkHeaderRowDef;\n\n  constructor(private readonly _differs: I
 terableDiffers,\n              private readonly _changeDetectorRef: ChangeDetectorRef,\n              elementRef: ElementRef,\n              @Attribute('role') role: string) {\n    if (!role) {\n      elementRef.nativeElement.setAttribute('role', 'grid');\n    }\n  }\n\n  ngOnInit() {\n    // TODO(andrewseguin): Setup a listener for scrolling, emit the calculated view to viewChange\n    this._dataDiffer = this._differs.find([]).create(this._trackByFn);\n\n    // If the table has a header row definition defined as part of its content, flag this as a\n    // header row def change so that the content check will render the header row.\n    if (this._headerRowDef) {\n      this._headerRowDefChanged = true;\n    }\n  }\n\n  ngAfterContentChecked() {\n    // Cache the row and column definitions gathered by ContentChildren and programmatic injection.\n    this._cacheRowDefs();\n    this._cacheColumnDefs();\n\n    // Make sure that the user has at least added a header row or row def.\n    if
  (!this._headerRowDef && !this._rowDefs.length) {\n      throw getTableMissingRowDefsError();\n    }\n\n    // Render updates if the list of columns have been changed for the header or row definitions.\n    this._renderUpdatedColumns();\n\n    // If the header row definition has been changed, trigger a render to the header row.\n    if (this._headerRowDefChanged) {\n      this._renderHeaderRow();\n      this._headerRowDefChanged = false;\n    }\n\n    // If there is a data source and row definitions, connect to the data source unless a\n    // connection has already been made.\n    if (this.dataSource && this._rowDefs.length > 0 && !this._renderChangeSubscription) {\n      this._observeRenderChanges();\n    }\n  }\n\n  ngOnDestroy() {\n    this._rowPlaceholder.viewContainer.clear();\n    this._headerRowPlaceholder.viewContainer.clear();\n    this._onDestroy.next();\n    this._onDestroy.complete();\n\n    if (this.dataSource instanceof DataSource) {\n      this.dataSource.disconnect(
 this);\n    }\n  }\n\n  /**\n   * Renders rows based on the table's latest set of data, which was either provided directly as an\n   * input or retrieved through an Observable stream (directly or from a DataSource).\n   * Checks for differences in the data since the last diff to perform only the necessary\n   * changes (add/remove/move rows).\n   *\n   * If the table's data source is a DataSource or Observable, this will be invoked automatically\n   * each time the provided Observable stream emits a new data array. Otherwise if your data is\n   * an array, this function will need to be called to render any changes.\n   */\n  renderRows() {\n    const changes = this._dataDiffer.diff(this._data);\n    if (!changes) { return; }\n\n    const viewContainer = this._rowPlaceholder.viewContainer;\n    changes.forEachOperation(\n        (record: IterableChangeRecord<T>, adjustedPreviousIndex: number, currentIndex: number) => {\n          if (record.previousIndex == null) {\n            this.
 _insertRow(record.item, currentIndex);\n          } else if (currentIndex == null) {\n            viewContainer.remove(adjustedPreviousIndex);\n          } else {\n            const view = <RowViewRef<T>>viewContainer.get(adjustedPreviousIndex);\n            viewContainer.move(view!, currentIndex);\n          }\n        });\n\n    // Update the meta context of a row's context data (index, count, first, last, ...)\n    this._updateRowIndexContext();\n\n    // Update rows that did not get added/removed/moved but may have had their identity changed,\n    // e.g. if trackBy matched data on some property but the actual data reference changed.\n    changes.forEachIdentityChange((record: IterableChangeRecord<T>) => {\n      const rowView = <RowViewRef<T>>viewContainer.get(record.currentIndex!);\n      rowView.context.$implicit = record.item;\n    });\n  }\n\n  /**\n   * Sets the header row definition to be used. Overrides the header row definition gathered by\n   * using `ContentChild`, if
  one exists. Sets a flag that will re-render the header row after the\n   * table's content is checked.\n   */\n  setHeaderRowDef(headerRowDef: CdkHeaderRowDef) {\n    this._headerRowDef = headerRowDef;\n    this._headerRowDefChanged = true;\n  }\n\n  /** Adds a column definition that was not included as part of the direct content children. */\n  addColumnDef(columnDef: CdkColumnDef) {\n    this._customColumnDefs.add(columnDef);\n  }\n\n  /** Removes a column definition that was not included as part of the direct content children. */\n  removeColumnDef(columnDef: CdkColumnDef) {\n    this._customColumnDefs.delete(columnDef);\n  }\n\n  /** Adds a row definition that was not included as part of the direct content children. */\n  addRowDef(rowDef: CdkRowDef<T>) {\n    this._customRowDefs.add(rowDef);\n  }\n\n  /** Removes a row definition that was not included as part of the direct content children. */\n  removeRowDef(rowDef: CdkRowDef<T>) {\n    this._customRowDefs.delete(rowDef);\n  
 }\n\n  /** Update the map containing the content's column definitions. */\n  private _cacheColumnDefs() {\n    this._columnDefsByName.clear();\n\n    const columnDefs = this._contentColumnDefs ? this._contentColumnDefs.toArray() : [];\n    this._customColumnDefs.forEach(columnDef => columnDefs.push(columnDef));\n\n    columnDefs.forEach(columnDef => {\n      if (this._columnDefsByName.has(columnDef.name)) {\n        throw getTableDuplicateColumnNameError(columnDef.name);\n      }\n      this._columnDefsByName.set(columnDef.name, columnDef);\n    });\n  }\n\n  /** Update the list of all available row definitions that can be used. */\n  private _cacheRowDefs() {\n    this._rowDefs = this._contentRowDefs ? this._contentRowDefs.toArray() : [];\n    this._customRowDefs.forEach(rowDef => this._rowDefs.push(rowDef));\n\n    const defaultRowDefs = this._rowDefs.filter(def => !def.when);\n    if (defaultRowDefs.length > 1) { throw getTableMultipleDefaultRowDefsError(); }\n    this._defaultRo
 wDef = defaultRowDefs[0];\n  }\n\n  /**\n   * Check if the header or rows have changed what columns they want to display. If there is a diff,\n   * then re-render that section.\n   */\n  private _renderUpdatedColumns() {\n    // Re-render the rows when the row definition columns change.\n    this._rowDefs.forEach(def => {\n      if (!!def.getColumnsDiff()) {\n        // Reset the data to an empty array so that renderRowChanges will re-render all new rows.\n        this._dataDiffer.diff([]);\n\n        this._rowPlaceholder.viewContainer.clear();\n        this.renderRows();\n      }\n    });\n\n    // Re-render the header row if there is a difference in its columns.\n    if (this._headerRowDef && this._headerRowDef.getColumnsDiff()) {\n      this._renderHeaderRow();\n    }\n  }\n\n  /**\n   * Switch to the provided data source by resetting the data and unsubscribing from the current\n   * render change subscription if one exists. If the data source is null, interpret this by\n   * cle
 aring the row placeholder. Otherwise start listening for new data.\n   */\n  private _switchDataSource(dataSource: DataSource<T> | Observable<T[]> | T[]) {\n    this._data = [];\n\n    if (this.dataSource instanceof DataSource) {\n      this.dataSource.disconnect(this);\n    }\n\n    // Stop listening for data from the previous data source.\n    if (this._renderChangeSubscription) {\n      this._renderChangeSubscription.unsubscribe();\n      this._renderChangeSubscription = null;\n    }\n\n    if (!dataSource) {\n      if (this._dataDiffer) {\n        this._dataDiffer.diff([]);\n      }\n      this._rowPlaceholder.viewContainer.clear();\n    }\n\n    this._dataSource = dataSource;\n  }\n\n  /** Set up a subscription for the data provided by the data source. */\n  private _observeRenderChanges() {\n    // If no data source has been set, there is nothing to observe for changes.\n    if (!this.dataSource) { return; }\n\n    let dataStream: Observable<T[]> | undefined;\n\n    // Check i
 f the datasource is a DataSource object by observing if it has a connect function.\n    // Cannot check this.dataSource['connect'] due to potential property renaming, nor can it\n    // checked as an instanceof DataSource<T> since the table should allow for data sources\n    // that did not explicitly extend DataSource<T>.\n    if ((this.dataSource as DataSource<T>).connect  instanceof Function) {\n      dataStream = (this.dataSource as DataSource<T>).connect(this);\n    } else if (this.dataSource instanceof Observable) {\n      dataStream = this.dataSource;\n    } else if (Array.isArray(this.dataSource)) {\n      dataStream = observableOf(this.dataSource);\n    }\n\n    if (dataStream === undefined) {\n      throw getTableUnknownDataSourceError();\n    }\n\n    this._renderChangeSubscription = dataStream\n        .pipe(takeUntil(this._onDestroy))\n        .subscribe(data => {\n          this._data = data;\n          this.renderRows();\n        });\n  }\n\n  /**\n   * Clears any exi
 sting content in the header row placeholder and creates a new embedded view\n   * in the placeholder using the header row definition.\n   */\n  private _renderHeaderRow() {\n    // Clear the header row placeholder if any content exists.\n    if (this._headerRowPlaceholder.viewContainer.length > 0) {\n      this._headerRowPlaceholder.viewContainer.clear();\n    }\n\n    const cells = this._getHeaderCellTemplatesForRow(this._headerRowDef);\n    if (!cells.length) { return; }\n\n    // TODO(andrewseguin): add some code to enforce that exactly\n    //   one CdkCellOutlet was instantiated as a result\n    //   of `createEmbeddedView`.\n    this._headerRowPlaceholder.viewContainer\n        .createEmbeddedView(this._headerRowDef.template, {cells});\n\n    cells.forEach(cell => {\n      if (CdkCellOutlet.mostRecentCellOutlet) {\n        CdkCellOutlet.mostRecentCellOutlet._viewContainer.createEmbeddedView(cell.template, {});\n      }\n    });\n\n    this._changeDetectorRef.markForCheck();\n 
  }\n\n  /**\n   * Finds the matching row definition that should be used for this row data. If there is only\n   * one row definition, it is returned. Otherwise, find the row definition that has a when\n   * predicate that returns true with the data. If none return true, return the default row\n   * definition.\n   */\n  _getRowDef(data: T, i: number): CdkRowDef<T> {\n    if (this._rowDefs.length == 1) { return this._rowDefs[0]; }\n\n    let rowDef = this._rowDefs.find(def => def.when && def.when(i, data)) || this._defaultRowDef;\n    if (!rowDef) { throw getTableMissingMatchingRowDefError(); }\n\n    return rowDef;\n  }\n\n  /**\n   * Create the embedded view for the data row template and place it in the correct index location\n   * within the data row view container.\n   */\n  private _insertRow(rowData: T, index: number) {\n    const row = this._getRowDef(rowData, index);\n\n    // Row context that will be provided to both the created embedded row view and its cells.\n    const co
 ntext: CdkCellOutletRowContext<T> = {$implicit: rowData};\n\n    // TODO(andrewseguin): add some code to enforce that exactly one\n    //   CdkCellOutlet was instantiated as a result  of `createEmbeddedView`.\n    this._rowPlaceholder.viewContainer.createEmbeddedView(row.template, context, index);\n\n    this._getCellTemplatesForRow(row).forEach(cell => {\n      if (CdkCellOutlet.mostRecentCellOutlet) {\n        CdkCellOutlet.mostRecentCellOutlet._viewContainer\n            .createEmbeddedView(cell.template, context);\n      }\n    });\n\n    this._changeDetectorRef.markForCheck();\n  }\n\n  /**\n   * Updates the index-related context for each row to reflect any changes in the index of the rows,\n   * e.g. first/last/even/odd.\n   */\n  private _updateRowIndexContext() {\n    const viewContainer = this._rowPlaceholder.viewContainer;\n    for (let index = 0, count = viewContainer.length; index < count; index++) {\n      const viewRef = viewContainer.get(index) as RowViewRef<T>;\n    
   viewRef.context.index = index;\n      viewRef.context.count = count;\n      viewRef.context.first = index === 0;\n      viewRef.context.last = index === count - 1;\n      viewRef.context.even = index % 2 === 0;\n      viewRef.context.odd = !viewRef.context.even;\n    }\n  }\n\n  /**\n   * Returns the cell template definitions to insert into the header\n   * as defined by its list of columns to display.\n   */\n  private _getHeaderCellTemplatesForRow(headerDef: CdkHeaderRowDef): CdkHeaderCellDef[] {\n    if (!headerDef || !headerDef.columns) { return []; }\n    return headerDef.columns.map(columnId => {\n      const column = this._columnDefsByName.get(columnId);\n\n      if (!column) {\n        throw getTableUnknownColumnError(columnId);\n      }\n\n      return column.headerCell;\n    });\n  }\n\n  /**\n   * Returns the cell template definitions to insert in the provided row\n   * as defined by its list of columns to display.\n   */\n  private _getCellTemplatesForRow(rowDef: CdkRo
 wDef<T>): CdkCellDef[] {\n    if (!rowDef.columns) { return []; }\n    return rowDef.columns.map(columnId => {\n      const column = this._columnDefsByName.get(columnId);\n\n      if (!column) {\n        throw getTableUnknownColumnError(columnId);\n      }\n\n      return column.cell;\n    });\n  }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * Returns an error to be thrown when attempting to find an unexisting column.\n * @param id Id whose lookup failed.\n * @docs-private\n */\nexport function getTableUnknownColumnError(id: string) {\n  return Error(`Could not find column with id \"${id}\".`);\n}\n\n/**\n * Returns an error to be thrown when two column definitions have the same name.\n * @docs-private\n */\nexport function getTableDuplicateColumnNameError(name: string) {\n  return Error(`Duplicate column 
 definition name provided: \"${name}\".`);\n}\n\n/**\n * Returns an error to be thrown when there are multiple rows that are missing a when function.\n * @docs-private\n */\nexport function getTableMultipleDefaultRowDefsError() {\n  return Error(`There can only be one default row without a when predicate function.`);\n}\n\n/**\n * Returns an error to be thrown when there are no matching row defs for a particular set of data.\n * @docs-private\n */\nexport function getTableMissingMatchingRowDefError() {\n  return Error(`Could not find a matching row definition for the provided row data.`);\n}\n\n/**\n * Returns an error to be thrown when there is no row definitions present in the content.\n * @docs-private\n */\nexport function getTableMissingRowDefsError() {\n  return Error('Missing definitions for header and row, ' +\n      'cannot determine which columns should be rendered.');\n}\n\n/**\n * Returns an error to be thrown when the data source does not match the compatible types.\n * 
 @docs-private\n */\nexport function getTableUnknownDataSourceError() {\n  return Error(`Provided data source did not match an array, Observable, or DataSource`);\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {ContentChild, Directive, ElementRef, Input, TemplateRef} from '@angular/core';\n\n/**\n * Cell definition for a CDK table.\n * Captures the template of a column's data row cell as well as cell-specific properties.\n */\n@Directive({selector: '[cdkCellDef]'})\nexport class CdkCellDef {\n  constructor(/** @docs-private */ public template: TemplateRef<any>) { }\n}\n\n/**\n * Header cell definition for a CDK table.\n * Captures the template of a column's header cell and as well as cell-specific properties.\n */\n@Directive({selector: '[cdkHeaderCellDef]'})\nexport class CdkHeaderCellDef {\n  constructor(/*
 * @docs-private */ public template: TemplateRef<any>) { }\n}\n\n/**\n * Column definition for the CDK table.\n * Defines a set of cells available for a table column.\n */\n@Directive({selector: '[cdkColumnDef]'})\nexport class CdkColumnDef {\n  /** Unique name for this column. */\n  @Input('cdkColumnDef')\n  get name(): string { return this._name; }\n  set name(name: string) {\n    // If the directive is set without a name (updated programatically), then this setter will\n    // trigger with an empty string and should not overwrite the programatically set value.\n    if (!name) { return; }\n\n    this._name = name;\n    this.cssClassFriendlyName = name.replace(/[^a-z0-9_-]/ig, '-');\n  }\n  _name: string;\n\n  /** @docs-private */\n  @ContentChild(CdkCellDef) cell: CdkCellDef;\n\n  /** @docs-private */\n  @ContentChild(CdkHeaderCellDef) headerCell: CdkHeaderCellDef;\n\n  /**\n   * Transformed version of the column name that can be used as part of a CSS classname. Excludes\n   * all 
 non-alphanumeric characters and the special characters '-' and '_'. Any characters that\n   * do not match are replaced by the '-' character.\n   */\n  cssClassFriendlyName: string;\n}\n\n/** Header cell template container that adds the right classes and role. */\n@Directive({\n  selector: 'cdk-header-cell',\n  host: {\n    'class': 'cdk-header-cell',\n    'role': 'columnheader',\n  },\n})\nexport class CdkHeaderCell {\n  constructor(columnDef: CdkColumnDef, elementRef: ElementRef) {\n    elementRef.nativeElement.classList.add(`cdk-column-${columnDef.cssClassFriendlyName}`);\n  }\n}\n\n/** Cell template container that adds the right classes and role. */\n@Directive({\n  selector: 'cdk-cell',\n  host: {\n    'class': 'cdk-cell',\n    'role': 'gridcell',\n  },\n})\nexport class CdkCell {\n  constructor(columnDef: CdkColumnDef, elementRef: ElementRef) {\n    elementRef.nativeElement.classList.add(`cdk-column-${columnDef.cssClassFriendlyName}`);\n  }\n}\n","/**\n * @license\n * Copyrigh
 t Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {\n  ChangeDetectionStrategy,\n  Component,\n  Directive,\n  IterableChanges,\n  IterableDiffer,\n  IterableDiffers,\n  SimpleChanges,\n  TemplateRef,\n  ViewContainerRef,\n  ViewEncapsulation,\n} from '@angular/core';\nimport {CdkCellDef} from './cell';\n\n/**\n * The row template that can be used by the mat-table. Should not be used outside of the\n * material library.\n */\nexport const CDK_ROW_TEMPLATE = `<ng-container cdkCellOutlet></ng-container>`;\n\n/**\n * Base class for the CdkHeaderRowDef and CdkRowDef that handles checking their columns inputs\n * for changes and notifying the table.\n */\nexport abstract class BaseRowDef {\n  /** The columns to be displayed on this row. */\n  columns: string[];\n\n  /** Differ used to check if any changes were made to the columns. */\n  protected _col
 umnsDiffer: IterableDiffer<any>;\n\n  constructor(/** @docs-private */ public template: TemplateRef<any>,\n              protected _differs: IterableDiffers) { }\n\n  ngOnChanges(changes: SimpleChanges): void {\n    // Create a new columns differ if one does not yet exist. Initialize it based on initial value\n    // of the columns property or an empty array if none is provided.\n    const columns = changes['columns'].currentValue || [];\n    if (!this._columnsDiffer) {\n      this._columnsDiffer = this._differs.find(columns).create();\n      this._columnsDiffer.diff(columns);\n    }\n  }\n\n  /**\n   * Returns the difference between the current columns and the columns from the last diff, or null\n   * if there is no difference.\n   */\n  getColumnsDiff(): IterableChanges<any> | null {\n    return this._columnsDiffer.diff(this.columns);\n  }\n}\n\n/**\n * Header row definition for the CDK table.\n * Captures the header row's template and other header properties such as the columns t
 o display.\n */\n@Directive({\n  selector: '[cdkHeaderRowDef]',\n  inputs: ['columns: cdkHeaderRowDef'],\n})\nexport class CdkHeaderRowDef extends BaseRowDef {\n  constructor(template: TemplateRef<any>, _differs: IterableDiffers) {\n    super(template, _differs);\n  }\n}\n\n/**\n * Data row definition for the CDK table.\n * Captures the header row's template and other row properties such as the columns to display and\n * a when predicate that describes when this row should be used.\n */\n@Directive({\n  selector: '[cdkRowDef]',\n  inputs: ['columns: cdkRowDefColumns', 'when: cdkRowDefWhen'],\n})\nexport class CdkRowDef<T> extends BaseRowDef {\n  /**\n   * Function that should return true if this row template should be used for the provided index\n   * and row data. If left undefined, this row will be considered the default row template to use\n   * when no other when functions return true for the data.\n   * For every row, there must be at least one when function that passes or an u
 ndefined to default.\n   */\n  when: (index: number, rowData: T) => boolean;\n\n  // TODO(andrewseguin): Add an input for providing a switch function to determine\n  //   if this template should be used.\n  constructor(template: TemplateRef<any>, _differs: IterableDiffers) {\n    super(template, _differs);\n  }\n}\n\n/** Context provided to the row cells */\nexport interface CdkCellOutletRowContext<T> {\n  /** Data for the row that this cell is located within. */\n  $implicit: T;\n\n  /** Index location of the row that this cell is located within. */\n  index?: number;\n\n  /** Length of the number of total rows. */\n  count?: number;\n\n  /** True if this cell is contained in the first row. */\n  first?: boolean;\n\n  /** True if this cell is contained in the last row. */\n  last?: boolean;\n\n  /** True if this cell is contained in a row with an even-numbered index. */\n  even?: boolean;\n\n  /** True if this cell is contained in a row with an odd-numbered index. */\n  odd?: boole
 an;\n}\n\n/**\n * Outlet for rendering cells inside of a row or header row.\n * @docs-private\n */\n@Directive({selector: '[cdkCellOutlet]'})\nexport class CdkCellOutlet {\n  /** The ordered list of cells to render within this outlet's view container */\n  cells: CdkCellDef[];\n\n  /** The data context to be provided to each cell */\n  context: any;\n\n  /**\n   * Static property containing the latest constructed instance of this class.\n   * Used by the CDK table when each CdkHeaderRow and CdkRow component is created using\n   * createEmbeddedView. After one of these components are created, this property will provide\n   * a handle to provide that component's cells and context. After init, the CdkCellOutlet will\n   * construct the cells with the provided context.\n   */\n  static mostRecentCellOutlet: CdkCellOutlet | null = null;\n\n  constructor(public _viewContainer: ViewContainerRef) {\n    CdkCellOutlet.mostRecentCellOutlet = this;\n  }\n}\n\n/** Header template container that
  contains the cell outlet. Adds the right class and role. */\n@Component({\n  moduleId: module.id,\n  selector: 'cdk-header-row',\n  template: CDK_ROW_TEMPLATE,\n  host: {\n    'class': 'cdk-header-row',\n    'role': 'row',\n  },\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  encapsulation: ViewEncapsulation.None,\n  preserveWhitespaces: false,\n})\nexport class CdkHeaderRow { }\n\n/** Data row template container that contains the cell outlet. Adds the right class and role. */\n@Component({\n  moduleId: module.id,\n  selector: 'cdk-row',\n  template: CDK_ROW_TEMPLATE,\n  host: {\n    'class': 'cdk-row',\n    'role': 'row',\n  },\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  encapsulation: ViewEncapsulation.None,\n  preserveWhitespaces: false,\n})\nexport class CdkRow { }\n","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (
 the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = Object.setPrototypeOf ||\r\n    ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n    function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n\r\nexport function __extends(d, b) {\r\n    extendStatics(d, b);\r\n    function
  __() { this.constructor = d; }\r\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = Object.assign || function __assign(t) {\r\n    for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n        s = arguments[i];\r\n        for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n    }\r\n    return t;\r\n}\r\n\r\nexport function __rest(s, e) {\r\n    var t = {};\r\n    for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n        t[p] = s[p];\r\n    if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n        for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) if (e.indexOf(p[i]) < 0)\r\n            t[p[i]] = s[p[i]];\r\n    return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n    var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescrip
 tor(target, key) : desc, d;\r\n    if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n    else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n    return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n    return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n    if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n    return new (P || (P = Promise))(function (resolve, reject) {\r\n        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n        fun
 ction rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n        function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }\r\n        step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n    });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n    var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n    return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n    function verb(n) { return function (v) { return step([n, v]); }; }\r\n    function step(op) {\r\n        if (f) throw new TypeError(\"Generator is already executing.\");\r\n        while (_) try {\r\n            if (f = 1, y && (t = y[op[0] & 2 ? \"return\" : op[0] ? \"throw\" : \"next\"]) && !(t = t.c
 all(y, op[1])).done) return t;\r\n            if (y = 0, t) op = [0, t.value];\r\n            switch (op[0]) {\r\n                case 0: case 1: t = op; break;\r\n                case 4: _.label++; return { value: op[1], done: false };\r\n                case 5: _.label++; y = op[1]; op = [0]; continue;\r\n                case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n                default:\r\n                    if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n                    if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n                    if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n                    if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n                    if (t[2]) _.ops.pop();\r\n                    _.trys.pop(); continue;\r\n            }\r\n            op = body.call(thisArg, _);\r\n        } ca
 tch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n        if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n    }\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n    for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n    var m = typeof Symbol === \"function\" && o[Symbol.iterator], i = 0;\r\n    if (m) return m.call(o);\r\n    return {\r\n        next: function () {\r\n            if (o && i >= o.length) o = void 0;\r\n            return { value: o && o[i++], done: !o };\r\n        }\r\n    };\r\n}\r\n\r\nexport function __read(o, n) {\r\n    var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n    if (!m) return o;\r\n    var i = m.call(o), r, ar = [], e;\r\n    try {\r\n        while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n    }\r\n    catch (error) { e = { error: error }; }\r\n    finally {\r\n        try {\r\n            
 if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n        }\r\n        finally { if (e) throw e.error; }\r\n    }\r\n    return ar;\r\n}\r\n\r\nexport function __spread() {\r\n    for (var ar = [], i = 0; i < arguments.length; i++)\r\n        ar = ar.concat(__read(arguments[i]));\r\n    return ar;\r\n}\r\n\r\nexport function __await(v) {\r\n    return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n    if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n    var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n    return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n    function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n    function resume(n, v) { try { step(g[n](v));
  } catch (e) { settle(q[0][3], e); } }\r\n    function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r);  }\r\n    function fulfill(value) { resume(\"next\", value); }\r\n    function reject(value) { resume(\"throw\", value); }\r\n    function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n    var i, p;\r\n    return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n    function verb(n, f) { if (o[n]) i[n] = function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; }; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n    if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n    var m = o[Symbol.asyncIterator];\r\n    return m ? m.call(o) : typeof __values === \"function\"
  ? __values(o) : o[Symbol.iterator]();\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n    if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n    return cooked;\r\n};\r\n"],"names":["CommonModule","NgModule","ContentChild","ContentChildren","ViewChild","Attribute","ElementRef","ChangeDetectionStrategy","ViewEncapsulation","Component","takeUntil","observableOf","Observable","DataSource","isDevMode","BehaviorSubject","Subject","EmbeddedViewRef","tslib_1.__extends","ViewContainerRef","Directive","Input","TemplateRef","IterableDiffers"],"mappings":"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"}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/eec354e6/node_modules/@angular/cdk/bundles/cdk-table.umd.min.js
----------------------------------------------------------------------
diff --git a/node_modules/@angular/cdk/bundles/cdk-table.umd.min.js b/node_modules/@angular/cdk/bundles/cdk-table.umd.min.js
new file mode 100644
index 0000000..7cea139
--- /dev/null
+++ b/node_modules/@angular/cdk/bundles/cdk-table.umd.min.js
@@ -0,0 +1,9 @@
+/**
+ * @license
+ * Copyright Google LLC All Rights Reserved.
+ *
+ * Use of this source code is governed by an MIT-style license that can be
+ * found in the LICENSE file at https://angular.io/license
+ */
+!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@angular/core"),require("@angular/cdk/collections"),require("rxjs/operators/takeUntil"),require("rxjs/BehaviorSubject"),require("rxjs/Subject"),require("rxjs/Observable"),require("rxjs/observable/of"),require("@angular/common")):"function"==typeof define&&define.amd?define(["exports","@angular/core","@angular/cdk/collections","rxjs/operators/takeUntil","rxjs/BehaviorSubject","rxjs/Subject","rxjs/Observable","rxjs/observable/of","@angular/common"],t):t((e.ng=e.ng||{},e.ng.cdk=e.ng.cdk||{},e.ng.cdk.table=e.ng.cdk.table||{}),e.ng.core,e.ng.cdk.collections,e.Rx.operators,e.Rx,e.Rx,e.Rx,e.Rx.Observable,e.ng.common)}(this,function(e,t,r,n,o,i,a,c,s){"use strict";function u(e,t){function r(){this.constructor=e}w(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)}function l(e){return Error('Could not find column with id "'+e+'".')}function f(e){return Error('Duplicate column defini
 tion name provided: "'+e+'".')}function d(){return Error("There can only be one default row without a when predicate function.")}function h(){return Error("Could not find a matching row definition for the provided row data.")}function p(){return Error("Missing definitions for header and row, cannot determine which columns should be rendered.")}function m(){return Error("Provided data source did not match an array, Observable, or DataSource")}var w=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r])},_="<ng-container cdkCellOutlet></ng-container>",D=function(){function e(e,t){this.template=e,this._differs=t}return e.prototype.ngOnChanges=function(e){var t=e.columns.currentValue||[];this._columnsDiffer||(this._columnsDiffer=this._differs.find(t).create(),this._columnsDiffer.diff(t))},e.prototype.getColumnsDiff=function(){return this._columnsDiffer.diff(this.columns)},e}(),C=function(e){funct
 ion r(t,r){return e.call(this,t,r)||this}return u(r,e),r.decorators=[{type:t.Directive,args:[{selector:"[cdkHeaderRowDef]",inputs:["columns: cdkHeaderRowDef"]}]}],r.ctorParameters=function(){return[{type:t.TemplateRef},{type:t.IterableDiffers}]},r}(D),y=function(e){function r(t,r){return e.call(this,t,r)||this}return u(r,e),r.decorators=[{type:t.Directive,args:[{selector:"[cdkRowDef]",inputs:["columns: cdkRowDefColumns","when: cdkRowDefWhen"]}]}],r.ctorParameters=function(){return[{type:t.TemplateRef},{type:t.IterableDiffers}]},r}(D),g=function(){function e(t){this._viewContainer=t,e.mostRecentCellOutlet=this}return e.mostRecentCellOutlet=null,e.decorators=[{type:t.Directive,args:[{selector:"[cdkCellOutlet]"}]}],e.ctorParameters=function(){return[{type:t.ViewContainerRef}]},e}(),R=function(){function e(){}return e.decorators=[{type:t.Component,args:[{selector:"cdk-header-row",template:_,host:{class:"cdk-header-row",role:"row"},changeDetection:t.ChangeDetectionStrategy.OnPush,encapsu
 lation:t.ViewEncapsulation.None,preserveWhitespaces:!1}]}],e.ctorParameters=function(){return[]},e}(),v=function(){function e(){}return e.decorators=[{type:t.Component,args:[{selector:"cdk-row",template:_,host:{class:"cdk-row",role:"row"},changeDetection:t.ChangeDetectionStrategy.OnPush,encapsulation:t.ViewEncapsulation.None,preserveWhitespaces:!1}]}],e.ctorParameters=function(){return[]},e}(),b=function(){function e(e){this.template=e}return e.decorators=[{type:t.Directive,args:[{selector:"[cdkCellDef]"}]}],e.ctorParameters=function(){return[{type:t.TemplateRef}]},e}(),k=function(){function e(e){this.template=e}return e.decorators=[{type:t.Directive,args:[{selector:"[cdkHeaderCellDef]"}]}],e.ctorParameters=function(){return[{type:t.TemplateRef}]},e}(),P=function(){function e(){}return Object.defineProperty(e.prototype,"name",{get:function(){return this._name},set:function(e){e&&(this._name=e,this.cssClassFriendlyName=e.replace(/[^a-z0-9_-]/gi,"-"))},enumerable:!0,configurable:!0}),
 e.decorators=[{type:t.Directive,args:[{selector:"[cdkColumnDef]"}]}],e.ctorParameters=function(){return[]},e.propDecorators={name:[{type:t.Input,args:["cdkColumnDef"]}],cell:[{type:t.ContentChild,args:[b]}],headerCell:[{type:t.ContentChild,args:[k]}]},e}(),S=function(){function e(e,t){t.nativeElement.classList.add("cdk-column-"+e.cssClassFriendlyName)}return e.decorators=[{type:t.Directive,args:[{selector:"cdk-header-cell",host:{class:"cdk-header-cell",role:"columnheader"}}]}],e.ctorParameters=function(){return[{type:P},{type:t.ElementRef}]},e}(),x=function(){function e(e,t){t.nativeElement.classList.add("cdk-column-"+e.cssClassFriendlyName)}return e.decorators=[{type:t.Directive,args:[{selector:"cdk-cell",host:{class:"cdk-cell",role:"gridcell"}}]}],e.ctorParameters=function(){return[{type:P},{type:t.ElementRef}]},e}(),E=function(){function e(e){this.viewContainer=e}return e.decorators=[{type:t.Directive,args:[{selector:"[rowPlaceholder]"}]}],e.ctorParameters=function(){return[{type
 :t.ViewContainerRef}]},e}(),O=function(){function e(e){this.viewContainer=e}return e.decorators=[{type:t.Directive,args:[{selector:"[headerRowPlaceholder]"}]}],e.ctorParameters=function(){return[{type:t.ViewContainerRef}]},e}(),j="\n  <ng-container headerRowPlaceholder></ng-container>\n  <ng-container rowPlaceholder></ng-container>",B=(function(e){function t(){return null!==e&&e.apply(this,arguments)||this}u(t,e)}(t.EmbeddedViewRef),function(){function e(e,t,r,n){this._differs=e,this._changeDetectorRef=t,this._onDestroy=new i.Subject,this._columnDefsByName=new Map,this._customColumnDefs=new Set,this._customRowDefs=new Set,this._headerRowDefChanged=!1,this.viewChange=new o.BehaviorSubject({start:0,end:Number.MAX_VALUE}),n||r.nativeElement.setAttribute("role","grid")}return Object.defineProperty(e.prototype,"trackBy",{get:function(){return this._trackByFn},set:function(e){t.isDevMode()&&null!=e&&"function"!=typeof e&&console&&console.warn&&console.warn("trackBy must be a function, but
  received "+JSON.stringify(e)+"."),this._trackByFn=e},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"dataSource",{get:function(){return this._dataSource},set:function(e){this._dataSource!==e&&this._switchDataSource(e)},enumerable:!0,configurable:!0}),e.prototype.ngOnInit=function(){this._dataDiffer=this._differs.find([]).create(this._trackByFn),this._headerRowDef&&(this._headerRowDefChanged=!0)},e.prototype.ngAfterContentChecked=function(){if(this._cacheRowDefs(),this._cacheColumnDefs(),!this._headerRowDef&&!this._rowDefs.length)throw p();this._renderUpdatedColumns(),this._headerRowDefChanged&&(this._renderHeaderRow(),this._headerRowDefChanged=!1),this.dataSource&&this._rowDefs.length>0&&!this._renderChangeSubscription&&this._observeRenderChanges()},e.prototype.ngOnDestroy=function(){this._rowPlaceholder.viewContainer.clear(),this._headerRowPlaceholder.viewContainer.clear(),this._onDestroy.next(),this._onDestroy.complete(),this.dataSource instanceof r.DataSource&
 &this.dataSource.disconnect(this)},e.prototype.renderRows=function(){var e=this,t=this._dataDiffer.diff(this._data);if(t){var r=this._rowPlaceholder.viewContainer;t.forEachOperation(function(t,n,o){if(null==t.previousIndex)e._insertRow(t.item,o);else if(null==o)r.remove(n);else{var i=r.get(n);r.move(i,o)}}),this._updateRowIndexContext(),t.forEachIdentityChange(function(e){r.get(e.currentIndex).context.$implicit=e.item})}},e.prototype.setHeaderRowDef=function(e){this._headerRowDef=e,this._headerRowDefChanged=!0},e.prototype.addColumnDef=function(e){this._customColumnDefs.add(e)},e.prototype.removeColumnDef=function(e){this._customColumnDefs.delete(e)},e.prototype.addRowDef=function(e){this._customRowDefs.add(e)},e.prototype.removeRowDef=function(e){this._customRowDefs.delete(e)},e.prototype._cacheColumnDefs=function(){var e=this;this._columnDefsByName.clear();var t=this._contentColumnDefs?this._contentColumnDefs.toArray():[];this._customColumnDefs.forEach(function(e){return t.push(e)
 }),t.forEach(function(t){if(e._columnDefsByName.has(t.name))throw f(t.name);e._columnDefsByName.set(t.name,t)})},e.prototype._cacheRowDefs=function(){var e=this;this._rowDefs=this._contentRowDefs?this._contentRowDefs.toArray():[],this._customRowDefs.forEach(function(t){return e._rowDefs.push(t)});var t=this._rowDefs.filter(function(e){return!e.when});if(t.length>1)throw d();this._defaultRowDef=t[0]},e.prototype._renderUpdatedColumns=function(){var e=this;this._rowDefs.forEach(function(t){t.getColumnsDiff()&&(e._dataDiffer.diff([]),e._rowPlaceholder.viewContainer.clear(),e.renderRows())}),this._headerRowDef&&this._headerRowDef.getColumnsDiff()&&this._renderHeaderRow()},e.prototype._switchDataSource=function(e){this._data=[],this.dataSource instanceof r.DataSource&&this.dataSource.disconnect(this),this._renderChangeSubscription&&(this._renderChangeSubscription.unsubscribe(),this._renderChangeSubscription=null),e||(this._dataDiffer&&this._dataDiffer.diff([]),this._rowPlaceholder.viewCo
 ntainer.clear()),this._dataSource=e},e.prototype._observeRenderChanges=function(){var e=this;if(this.dataSource){var t;if(this.dataSource.connect instanceof Function?t=this.dataSource.connect(this):this.dataSource instanceof a.Observable?t=this.dataSource:Array.isArray(this.dataSource)&&(t=c.of(this.dataSource)),void 0===t)throw m();this._renderChangeSubscription=t.pipe(n.takeUntil(this._onDestroy)).subscribe(function(t){e._data=t,e.renderRows()})}},e.prototype._renderHeaderRow=function(){this._headerRowPlaceholder.viewContainer.length>0&&this._headerRowPlaceholder.viewContainer.clear();var e=this._getHeaderCellTemplatesForRow(this._headerRowDef);e.length&&(this._headerRowPlaceholder.viewContainer.createEmbeddedView(this._headerRowDef.template,{cells:e}),e.forEach(function(e){g.mostRecentCellOutlet&&g.mostRecentCellOutlet._viewContainer.createEmbeddedView(e.template,{})}),this._changeDetectorRef.markForCheck())},e.prototype._getRowDef=function(e,t){if(1==this._rowDefs.length)return 
 this._rowDefs[0];var r=this._rowDefs.find(function(r){return r.when&&r.when(t,e)})||this._defaultRowDef;if(!r)throw h();return r},e.prototype._insertRow=function(e,t){var r=this._getRowDef(e,t),n={$implicit:e};this._rowPlaceholder.viewContainer.createEmbeddedView(r.template,n,t),this._getCellTemplatesForRow(r).forEach(function(e){g.mostRecentCellOutlet&&g.mostRecentCellOutlet._viewContainer.createEmbeddedView(e.template,n)}),this._changeDetectorRef.markForCheck()},e.prototype._updateRowIndexContext=function(){for(var e=this._rowPlaceholder.viewContainer,t=0,r=e.length;t<r;t++){var n=e.get(t);n.context.index=t,n.context.count=r,n.context.first=0===t,n.context.last=t===r-1,n.context.even=t%2==0,n.context.odd=!n.context.even}},e.prototype._getHeaderCellTemplatesForRow=function(e){var t=this;return e&&e.columns?e.columns.map(function(e){var r=t._columnDefsByName.get(e);if(!r)throw l(e);return r.headerCell}):[]},e.prototype._getCellTemplatesForRow=function(e){var t=this;return e.columns?
 e.columns.map(function(e){var r=t._columnDefsByName.get(e);if(!r)throw l(e);return r.cell}):[]},e.decorators=[{type:t.Component,args:[{selector:"cdk-table",exportAs:"cdkTable",template:j,host:{class:"cdk-table"},encapsulation:t.ViewEncapsulation.None,preserveWhitespaces:!1,changeDetection:t.ChangeDetectionStrategy.OnPush}]}],e.ctorParameters=function(){return[{type:t.IterableDiffers},{type:t.ChangeDetectorRef},{type:t.ElementRef},{type:void 0,decorators:[{type:t.Attribute,args:["role"]}]}]},e.propDecorators={trackBy:[{type:t.Input}],dataSource:[{type:t.Input}],_rowPlaceholder:[{type:t.ViewChild,args:[E]}],_headerRowPlaceholder:[{type:t.ViewChild,args:[O]}],_contentColumnDefs:[{type:t.ContentChildren,args:[P]}],_contentRowDefs:[{type:t.ContentChildren,args:[y]}],_headerRowDef:[{type:t.ContentChild,args:[C]}]},e}()),T=[B,y,b,g,k,P,x,v,S,R,C,E,O],N=function(){function e(){}return e.decorators=[{type:t.NgModule,args:[{imports:[s.CommonModule],exports:[T],declarations:[T]}]}],e.ctorParam
 eters=function(){return[]},e}();e.DataSource=r.DataSource,e.RowPlaceholder=E,e.HeaderRowPlaceholder=O,e.CDK_TABLE_TEMPLATE=j,e.CdkTable=B,e.CdkCellDef=b,e.CdkHeaderCellDef=k,e.CdkColumnDef=P,e.CdkHeaderCell=S,e.CdkCell=x,e.CDK_ROW_TEMPLATE=_,e.BaseRowDef=D,e.CdkHeaderRowDef=C,e.CdkRowDef=y,e.CdkCellOutlet=g,e.CdkHeaderRow=R,e.CdkRow=v,e.CdkTableModule=N,Object.defineProperty(e,"__esModule",{value:!0})});
+//# sourceMappingURL=cdk-table.umd.min.js.map


[28/59] [abbrv] [partial] nifi-fds git commit: update gh-pages

Posted by sc...@apache.org.
http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/eec354e6/node_modules/@angular/animations/esm5/browser.js.map
----------------------------------------------------------------------
diff --git a/node_modules/@angular/animations/esm5/browser.js.map b/node_modules/@angular/animations/esm5/browser.js.map
new file mode 100644
index 0000000..f7e160f
--- /dev/null
+++ b/node_modules/@angular/animations/esm5/browser.js.map
@@ -0,0 +1 @@
+{"version":3,"file":"browser.js","sources":["../../../packages/animations/esm5/browser/src/render/shared.js","../../../packages/animations/esm5/browser/src/render/animation_driver.js","../../../packages/animations/esm5/browser/src/util.js","../../../packages/animations/esm5/browser/src/dsl/animation_transition_expr.js","../../../packages/animations/esm5/browser/src/dsl/animation_ast_builder.js","../../../packages/animations/esm5/browser/src/dsl/animation_timeline_instruction.js","../../../packages/animations/esm5/browser/src/dsl/element_instruction_map.js","../../../packages/animations/esm5/browser/src/dsl/animation_timeline_builder.js","../../../packages/animations/esm5/browser/src/dsl/animation.js","../../../packages/animations/esm5/browser/src/dsl/style_normalization/animation_style_normalizer.js","../../../packages/animations/esm5/browser/src/dsl/style_normalization/web_animations_style_normalizer.js","../../../packages/animations/esm5/browser/src/dsl/animation_transition_instru
 ction.js","../../../packages/animations/esm5/browser/src/dsl/animation_transition_factory.js","../../../packages/animations/esm5/browser/src/dsl/animation_trigger.js","../../../packages/animations/esm5/browser/src/render/timeline_animation_engine.js","../../../packages/animations/esm5/browser/src/render/transition_animation_engine.js","../../../packages/animations/esm5/browser/src/render/animation_engine_next.js","../../../packages/animations/esm5/browser/src/render/web_animations/web_animations_player.js","../../../packages/animations/esm5/browser/src/render/web_animations/web_animations_driver.js","../../../packages/animations/esm5/browser/src/private_export.js","../../../packages/animations/esm5/browser/src/browser.js","../../../packages/animations/esm5/browser/public_api.js","../../../packages/animations/esm5/browser/browser.js"],"sourcesContent":["/**\n * @fileoverview added by tsickle\n * @suppress {checkTypes} checked by tsc\n */\nimport { AUTO_STYLE, NoopAnimationPlayer, ɵA
 nimationGroupPlayer, ɵPRE_STYLE as PRE_STYLE } from '@angular/animations';\n/**\n * @param {?} players\n * @return {?}\n */\nexport function optimizeGroupPlayer(players) {\n    switch (players.length) {\n        case 0:\n            return new NoopAnimationPlayer();\n        case 1:\n            return players[0];\n        default:\n            return new ɵAnimationGroupPlayer(players);\n    }\n}\n/**\n * @param {?} driver\n * @param {?} normalizer\n * @param {?} element\n * @param {?} keyframes\n * @param {?=} preStyles\n * @param {?=} postStyles\n * @return {?}\n */\nexport function normalizeKeyframes(driver, normalizer, element, keyframes, preStyles, postStyles) {\n    if (preStyles === void 0) { preStyles = {}; }\n    if (postStyles === void 0) { postStyles = {}; }\n    var /** @type {?} */ errors = [];\n    var /** @type {?} */ normalizedKeyframes = [];\n    var /** @type {?} */ previousOffset = -1;\n    var /** @type {?} */ previousKeyframe = null;\n    keyframes.forEach(fun
 ction (kf) {\n        var /** @type {?} */ offset = /** @type {?} */ (kf['offset']);\n        var /** @type {?} */ isSameOffset = offset == previousOffset;\n        var /** @type {?} */ normalizedKeyframe = (isSameOffset && previousKeyframe) || {};\n        Object.keys(kf).forEach(function (prop) {\n            var /** @type {?} */ normalizedProp = prop;\n            var /** @type {?} */ normalizedValue = kf[prop];\n            if (prop !== 'offset') {\n                normalizedProp = normalizer.normalizePropertyName(normalizedProp, errors);\n                switch (normalizedValue) {\n                    case PRE_STYLE:\n                        normalizedValue = preStyles[prop];\n                        break;\n                    case AUTO_STYLE:\n                        normalizedValue = postStyles[prop];\n                        break;\n                    default:\n                        normalizedValue =\n                            normalizer.normalizeStyleValue(prop, norma
 lizedProp, normalizedValue, errors);\n                        break;\n                }\n            }\n            normalizedKeyframe[normalizedProp] = normalizedValue;\n        });\n        if (!isSameOffset) {\n            normalizedKeyframes.push(normalizedKeyframe);\n        }\n        previousKeyframe = normalizedKeyframe;\n        previousOffset = offset;\n    });\n    if (errors.length) {\n        var /** @type {?} */ LINE_START = '\\n - ';\n        throw new Error(\"Unable to animate due to the following errors:\" + LINE_START + errors.join(LINE_START));\n    }\n    return normalizedKeyframes;\n}\n/**\n * @param {?} player\n * @param {?} eventName\n * @param {?} event\n * @param {?} callback\n * @return {?}\n */\nexport function listenOnPlayer(player, eventName, event, callback) {\n    switch (eventName) {\n        case 'start':\n            player.onStart(function () { return callback(event && copyAnimationEvent(event, 'start', player.totalTime)); });\n            break;\n
         case 'done':\n            player.onDone(function () { return callback(event && copyAnimationEvent(event, 'done', player.totalTime)); });\n            break;\n        case 'destroy':\n            player.onDestroy(function () { return callback(event && copyAnimationEvent(event, 'destroy', player.totalTime)); });\n            break;\n    }\n}\n/**\n * @param {?} e\n * @param {?=} phaseName\n * @param {?=} totalTime\n * @return {?}\n */\nexport function copyAnimationEvent(e, phaseName, totalTime) {\n    var /** @type {?} */ event = makeAnimationEvent(e.element, e.triggerName, e.fromState, e.toState, phaseName || e.phaseName, totalTime == undefined ? e.totalTime : totalTime);\n    var /** @type {?} */ data = (/** @type {?} */ (e))['_data'];\n    if (data != null) {\n        (/** @type {?} */ (event))['_data'] = data;\n    }\n    return event;\n}\n/**\n * @param {?} element\n * @param {?} triggerName\n * @param {?} fromState\n * @param {?} toState\n * @param {?=} phaseName\n * @pa
 ram {?=} totalTime\n * @return {?}\n */\nexport function makeAnimationEvent(element, triggerName, fromState, toState, phaseName, totalTime) {\n    if (phaseName === void 0) { phaseName = ''; }\n    if (totalTime === void 0) { totalTime = 0; }\n    return { element: element, triggerName: triggerName, fromState: fromState, toState: toState, phaseName: phaseName, totalTime: totalTime };\n}\n/**\n * @param {?} map\n * @param {?} key\n * @param {?} defaultValue\n * @return {?}\n */\nexport function getOrSetAsInMap(map, key, defaultValue) {\n    var /** @type {?} */ value;\n    if (map instanceof Map) {\n        value = map.get(key);\n        if (!value) {\n            map.set(key, value = defaultValue);\n        }\n    }\n    else {\n        value = map[key];\n        if (!value) {\n            value = map[key] = defaultValue;\n        }\n    }\n    return value;\n}\n/**\n * @param {?} command\n * @return {?}\n */\nexport function parseTimelineCommand(command) {\n    var /** @type {?} */
  separatorPos = command.indexOf(':');\n    var /** @type {?} */ id = command.substring(1, separatorPos);\n    var /** @type {?} */ action = command.substr(separatorPos + 1);\n    return [id, action];\n}\nvar /** @type {?} */ _contains = function (elm1, elm2) { return false; };\nvar ɵ0 = _contains;\nvar /** @type {?} */ _matches = function (element, selector) {\n    return false;\n};\nvar ɵ1 = _matches;\nvar /** @type {?} */ _query = function (element, selector, multi) {\n    return [];\n};\nvar ɵ2 = _query;\nif (typeof Element != 'undefined') {\n    // this is well supported in all browsers\n    _contains = function (elm1, elm2) { return /** @type {?} */ (elm1.contains(elm2)); };\n    if (Element.prototype.matches) {\n        _matches = function (element, selector) { return element.matches(selector); };\n    }\n    else {\n        var /** @type {?} */ proto = /** @type {?} */ (Element.prototype);\n        var /** @type {?} */ fn_1 = proto.matchesSelector || proto.mozMatchesSelect
 or || proto.msMatchesSelector ||\n            proto.oMatchesSelector || proto.webkitMatchesSelector;\n        if (fn_1) {\n            _matches = function (element, selector) { return fn_1.apply(element, [selector]); };\n        }\n    }\n    _query = function (element, selector, multi) {\n        var /** @type {?} */ results = [];\n        if (multi) {\n            results.push.apply(results, element.querySelectorAll(selector));\n        }\n        else {\n            var /** @type {?} */ elm = element.querySelector(selector);\n            if (elm) {\n                results.push(elm);\n            }\n        }\n        return results;\n    };\n}\n/**\n * @param {?} prop\n * @return {?}\n */\nfunction containsVendorPrefix(prop) {\n    // Webkit is the only real popular vendor prefix nowadays\n    // cc: http://shouldiprefix.com/\n    return prop.substring(1, 6) == 'ebkit'; // webkit or Webkit\n}\nvar /** @type {?} */ _CACHED_BODY = null;\nvar /** @type {?} */ _IS_WEBKIT = false;\n/
 **\n * @param {?} prop\n * @return {?}\n */\nexport function validateStyleProperty(prop) {\n    if (!_CACHED_BODY) {\n        _CACHED_BODY = getBodyNode() || {};\n        _IS_WEBKIT = /** @type {?} */ ((_CACHED_BODY)).style ? ('WebkitAppearance' in /** @type {?} */ ((_CACHED_BODY)).style) : false;\n    }\n    var /** @type {?} */ result = true;\n    if (/** @type {?} */ ((_CACHED_BODY)).style && !containsVendorPrefix(prop)) {\n        result = prop in /** @type {?} */ ((_CACHED_BODY)).style;\n        if (!result && _IS_WEBKIT) {\n            var /** @type {?} */ camelProp = 'Webkit' + prop.charAt(0).toUpperCase() + prop.substr(1);\n            result = camelProp in /** @type {?} */ ((_CACHED_BODY)).style;\n        }\n    }\n    return result;\n}\n/**\n * @return {?}\n */\nexport function getBodyNode() {\n    if (typeof document != 'undefined') {\n        return document.body;\n    }\n    return null;\n}\nexport var /** @type {?} */ matchesElement = _matches;\nexport var /** @type {?
 } */ containsElement = _contains;\nexport var /** @type {?} */ invokeQuery = _query;\nexport { ɵ0, ɵ1, ɵ2 };\n//# sourceMappingURL=shared.js.map","/**\n * @fileoverview added by tsickle\n * @suppress {checkTypes} checked by tsc\n */\nimport { NoopAnimationPlayer } from '@angular/animations';\nimport { containsElement, invokeQuery, matchesElement, validateStyleProperty } from './shared';\n/**\n * \\@experimental\n */\nvar /**\n * \\@experimental\n */\nNoopAnimationDriver = /** @class */ (function () {\n    function NoopAnimationDriver() {\n    }\n    /**\n     * @param {?} prop\n     * @return {?}\n     */\n    NoopAnimationDriver.prototype.validateStyleProperty = /**\n     * @param {?} prop\n     * @return {?}\n     */\n    function (prop) { return validateStyleProperty(prop); };\n    /**\n     * @param {?} element\n     * @param {?} selector\n     * @return {?}\n     */\n    NoopAnimationDriver.prototype.matchesElement = /**\n     * @param {?} element\n     * @param {?} selector
 \n     * @return {?}\n     */\n    function (element, selector) {\n        return matchesElement(element, selector);\n    };\n    /**\n     * @param {?} elm1\n     * @param {?} elm2\n     * @return {?}\n     */\n    NoopAnimationDriver.prototype.containsElement = /**\n     * @param {?} elm1\n     * @param {?} elm2\n     * @return {?}\n     */\n    function (elm1, elm2) { return containsElement(elm1, elm2); };\n    /**\n     * @param {?} element\n     * @param {?} selector\n     * @param {?} multi\n     * @return {?}\n     */\n    NoopAnimationDriver.prototype.query = /**\n     * @param {?} element\n     * @param {?} selector\n     * @param {?} multi\n     * @return {?}\n     */\n    function (element, selector, multi) {\n        return invokeQuery(element, selector, multi);\n    };\n    /**\n     * @param {?} element\n     * @param {?} prop\n     * @param {?=} defaultValue\n     * @return {?}\n     */\n    NoopAnimationDriver.prototype.computeStyle = /**\n     * @param {?} element\n
      * @param {?} prop\n     * @param {?=} defaultValue\n     * @return {?}\n     */\n    function (element, prop, defaultValue) {\n        return defaultValue || '';\n    };\n    /**\n     * @param {?} element\n     * @param {?} keyframes\n     * @param {?} duration\n     * @param {?} delay\n     * @param {?} easing\n     * @param {?=} previousPlayers\n     * @return {?}\n     */\n    NoopAnimationDriver.prototype.animate = /**\n     * @param {?} element\n     * @param {?} keyframes\n     * @param {?} duration\n     * @param {?} delay\n     * @param {?} easing\n     * @param {?=} previousPlayers\n     * @return {?}\n     */\n    function (element, keyframes, duration, delay, easing, previousPlayers) {\n        if (previousPlayers === void 0) { previousPlayers = []; }\n        return new NoopAnimationPlayer();\n    };\n    return NoopAnimationDriver;\n}());\n/**\n * \\@experimental\n */\nexport { NoopAnimationDriver };\n/**\n * \\@experimental\n * @abstract\n */\nvar AnimationDriver
  = /** @class */ (function () {\n    function AnimationDriver() {\n    }\n    AnimationDriver.NOOP = new NoopAnimationDriver();\n    return AnimationDriver;\n}());\nexport { AnimationDriver };\nfunction AnimationDriver_tsickle_Closure_declarations() {\n    /** @type {?} */\n    AnimationDriver.NOOP;\n    /**\n     * @abstract\n     * @param {?} prop\n     * @return {?}\n     */\n    AnimationDriver.prototype.validateStyleProperty = function (prop) { };\n    /**\n     * @abstract\n     * @param {?} element\n     * @param {?} selector\n     * @return {?}\n     */\n    AnimationDriver.prototype.matchesElement = function (element, selector) { };\n    /**\n     * @abstract\n     * @param {?} elm1\n     * @param {?} elm2\n     * @return {?}\n     */\n    AnimationDriver.prototype.containsElement = function (elm1, elm2) { };\n    /**\n     * @abstract\n     * @param {?} element\n     * @param {?} selector\n     * @param {?} multi\n     * @return {?}\n     */\n    AnimationDriver.prototype.
 query = function (element, selector, multi) { };\n    /**\n     * @abstract\n     * @param {?} element\n     * @param {?} prop\n     * @param {?=} defaultValue\n     * @return {?}\n     */\n    AnimationDriver.prototype.computeStyle = function (element, prop, defaultValue) { };\n    /**\n     * @abstract\n     * @param {?} element\n     * @param {?} keyframes\n     * @param {?} duration\n     * @param {?} delay\n     * @param {?=} easing\n     * @param {?=} previousPlayers\n     * @return {?}\n     */\n    AnimationDriver.prototype.animate = function (element, keyframes, duration, delay, easing, previousPlayers) { };\n}\n//# sourceMappingURL=animation_driver.js.map","/**\n * @fileoverview added by tsickle\n * @suppress {checkTypes} checked by tsc\n */\nimport { sequence } from '@angular/animations';\nexport var /** @type {?} */ ONE_SECOND = 1000;\nexport var /** @type {?} */ SUBSTITUTION_EXPR_START = '{{';\nexport var /** @type {?} */ SUBSTITUTION_EXPR_END = '}}';\nexport var /** @t
 ype {?} */ ENTER_CLASSNAME = 'ng-enter';\nexport var /** @type {?} */ LEAVE_CLASSNAME = 'ng-leave';\nexport var /** @type {?} */ ENTER_SELECTOR = '.ng-enter';\nexport var /** @type {?} */ LEAVE_SELECTOR = '.ng-leave';\nexport var /** @type {?} */ NG_TRIGGER_CLASSNAME = 'ng-trigger';\nexport var /** @type {?} */ NG_TRIGGER_SELECTOR = '.ng-trigger';\nexport var /** @type {?} */ NG_ANIMATING_CLASSNAME = 'ng-animating';\nexport var /** @type {?} */ NG_ANIMATING_SELECTOR = '.ng-animating';\n/**\n * @param {?} value\n * @return {?}\n */\nexport function resolveTimingValue(value) {\n    if (typeof value == 'number')\n        return value;\n    var /** @type {?} */ matches = (/** @type {?} */ (value)).match(/^(-?[\\.\\d]+)(m?s)/);\n    if (!matches || matches.length < 2)\n        return 0;\n    return _convertTimeValueToMS(parseFloat(matches[1]), matches[2]);\n}\n/**\n * @param {?} value\n * @param {?} unit\n * @return {?}\n */\nfunction _convertTimeValueToMS(value, unit) {\n    switch (uni
 t) {\n        case 's':\n            return value * ONE_SECOND;\n        default:\n            // ms or something else\n            return value;\n    }\n}\n/**\n * @param {?} timings\n * @param {?} errors\n * @param {?=} allowNegativeValues\n * @return {?}\n */\nexport function resolveTiming(timings, errors, allowNegativeValues) {\n    return timings.hasOwnProperty('duration') ? /** @type {?} */ (timings) :\n        parseTimeExpression(/** @type {?} */ (timings), errors, allowNegativeValues);\n}\n/**\n * @param {?} exp\n * @param {?} errors\n * @param {?=} allowNegativeValues\n * @return {?}\n */\nfunction parseTimeExpression(exp, errors, allowNegativeValues) {\n    var /** @type {?} */ regex = /^(-?[\\.\\d]+)(m?s)(?:\\s+(-?[\\.\\d]+)(m?s))?(?:\\s+([-a-z]+(?:\\(.+?\\))?))?$/i;\n    var /** @type {?} */ duration;\n    var /** @type {?} */ delay = 0;\n    var /** @type {?} */ easing = '';\n    if (typeof exp === 'string') {\n        var /** @type {?} */ matches = exp.match(regex);\n 
        if (matches === null) {\n            errors.push(\"The provided timing value \\\"\" + exp + \"\\\" is invalid.\");\n            return { duration: 0, delay: 0, easing: '' };\n        }\n        duration = _convertTimeValueToMS(parseFloat(matches[1]), matches[2]);\n        var /** @type {?} */ delayMatch = matches[3];\n        if (delayMatch != null) {\n            delay = _convertTimeValueToMS(Math.floor(parseFloat(delayMatch)), matches[4]);\n        }\n        var /** @type {?} */ easingVal = matches[5];\n        if (easingVal) {\n            easing = easingVal;\n        }\n    }\n    else {\n        duration = /** @type {?} */ (exp);\n    }\n    if (!allowNegativeValues) {\n        var /** @type {?} */ containsErrors = false;\n        var /** @type {?} */ startIndex = errors.length;\n        if (duration < 0) {\n            errors.push(\"Duration values below 0 are not allowed for this animation step.\");\n            containsErrors = true;\n        }\n        if (delay < 0
 ) {\n            errors.push(\"Delay values below 0 are not allowed for this animation step.\");\n            containsErrors = true;\n        }\n        if (containsErrors) {\n            errors.splice(startIndex, 0, \"The provided timing value \\\"\" + exp + \"\\\" is invalid.\");\n        }\n    }\n    return { duration: duration, delay: delay, easing: easing };\n}\n/**\n * @param {?} obj\n * @param {?=} destination\n * @return {?}\n */\nexport function copyObj(obj, destination) {\n    if (destination === void 0) { destination = {}; }\n    Object.keys(obj).forEach(function (prop) { destination[prop] = obj[prop]; });\n    return destination;\n}\n/**\n * @param {?} styles\n * @return {?}\n */\nexport function normalizeStyles(styles) {\n    var /** @type {?} */ normalizedStyles = {};\n    if (Array.isArray(styles)) {\n        styles.forEach(function (data) { return copyStyles(data, false, normalizedStyles); });\n    }\n    else {\n        copyStyles(styles, false, normalizedStyles);\
 n    }\n    return normalizedStyles;\n}\n/**\n * @param {?} styles\n * @param {?} readPrototype\n * @param {?=} destination\n * @return {?}\n */\nexport function copyStyles(styles, readPrototype, destination) {\n    if (destination === void 0) { destination = {}; }\n    if (readPrototype) {\n        // we make use of a for-in loop so that the\n        // prototypically inherited properties are\n        // revealed from the backFill map\n        for (var /** @type {?} */ prop in styles) {\n            destination[prop] = styles[prop];\n        }\n    }\n    else {\n        copyObj(styles, destination);\n    }\n    return destination;\n}\n/**\n * @param {?} element\n * @param {?} styles\n * @return {?}\n */\nexport function setStyles(element, styles) {\n    if (element['style']) {\n        Object.keys(styles).forEach(function (prop) {\n            var /** @type {?} */ camelProp = dashCaseToCamelCase(prop);\n            element.style[camelProp] = styles[prop];\n        });\n    }\n}\n/
 **\n * @param {?} element\n * @param {?} styles\n * @return {?}\n */\nexport function eraseStyles(element, styles) {\n    if (element['style']) {\n        Object.keys(styles).forEach(function (prop) {\n            var /** @type {?} */ camelProp = dashCaseToCamelCase(prop);\n            element.style[camelProp] = '';\n        });\n    }\n}\n/**\n * @param {?} steps\n * @return {?}\n */\nexport function normalizeAnimationEntry(steps) {\n    if (Array.isArray(steps)) {\n        if (steps.length == 1)\n            return steps[0];\n        return sequence(steps);\n    }\n    return /** @type {?} */ (steps);\n}\n/**\n * @param {?} value\n * @param {?} options\n * @param {?} errors\n * @return {?}\n */\nexport function validateStyleParams(value, options, errors) {\n    var /** @type {?} */ params = options.params || {};\n    var /** @type {?} */ matches = extractStyleParams(value);\n    if (matches.length) {\n        matches.forEach(function (varName) {\n            if (!params.hasOwnProp
 erty(varName)) {\n                errors.push(\"Unable to resolve the local animation param \" + varName + \" in the given list of values\");\n            }\n        });\n    }\n}\nvar /** @type {?} */ PARAM_REGEX = new RegExp(SUBSTITUTION_EXPR_START + \"\\\\s*(.+?)\\\\s*\" + SUBSTITUTION_EXPR_END, 'g');\n/**\n * @param {?} value\n * @return {?}\n */\nexport function extractStyleParams(value) {\n    var /** @type {?} */ params = [];\n    if (typeof value === 'string') {\n        var /** @type {?} */ val = value.toString();\n        var /** @type {?} */ match = void 0;\n        while (match = PARAM_REGEX.exec(val)) {\n            params.push(/** @type {?} */ (match[1]));\n        }\n        PARAM_REGEX.lastIndex = 0;\n    }\n    return params;\n}\n/**\n * @param {?} value\n * @param {?} params\n * @param {?} errors\n * @return {?}\n */\nexport function interpolateParams(value, params, errors) {\n    var /** @type {?} */ original = value.toString();\n    var /** @type {?} */ str = ori
 ginal.replace(PARAM_REGEX, function (_, varName) {\n        var /** @type {?} */ localVal = params[varName];\n        // this means that the value was never overidden by the data passed in by the user\n        if (!params.hasOwnProperty(varName)) {\n            errors.push(\"Please provide a value for the animation param \" + varName);\n            localVal = '';\n        }\n        return localVal.toString();\n    });\n    // we do this to assert that numeric values stay as they are\n    return str == original ? value : str;\n}\n/**\n * @param {?} iterator\n * @return {?}\n */\nexport function iteratorToArray(iterator) {\n    var /** @type {?} */ arr = [];\n    var /** @type {?} */ item = iterator.next();\n    while (!item.done) {\n        arr.push(item.value);\n        item = iterator.next();\n    }\n    return arr;\n}\n/**\n * @param {?} source\n * @param {?} destination\n * @return {?}\n */\nexport function mergeAnimationOptions(source, destination) {\n    if (source.params) {\n
         var /** @type {?} */ p0_1 = source.params;\n        if (!destination.params) {\n            destination.params = {};\n        }\n        var /** @type {?} */ p1_1 = destination.params;\n        Object.keys(p0_1).forEach(function (param) {\n            if (!p1_1.hasOwnProperty(param)) {\n                p1_1[param] = p0_1[param];\n            }\n        });\n    }\n    return destination;\n}\nvar /** @type {?} */ DASH_CASE_REGEXP = /-+([a-z0-9])/g;\n/**\n * @param {?} input\n * @return {?}\n */\nexport function dashCaseToCamelCase(input) {\n    return input.replace(DASH_CASE_REGEXP, function () {\n        var m = [];\n        for (var _i = 0; _i < arguments.length; _i++) {\n            m[_i] = arguments[_i];\n        }\n        return m[1].toUpperCase();\n    });\n}\n/**\n * @param {?} duration\n * @param {?} delay\n * @return {?}\n */\nexport function allowPreviousPlayerStylesMerge(duration, delay) {\n    return duration === 0 || delay === 0;\n}\n/**\n * @param {?} visitor\n
  * @param {?} node\n * @param {?} context\n * @return {?}\n */\nexport function visitDslNode(visitor, node, context) {\n    switch (node.type) {\n        case 7 /* Trigger */:\n            return visitor.visitTrigger(node, context);\n        case 0 /* State */:\n            return visitor.visitState(node, context);\n        case 1 /* Transition */:\n            return visitor.visitTransition(node, context);\n        case 2 /* Sequence */:\n            return visitor.visitSequence(node, context);\n        case 3 /* Group */:\n            return visitor.visitGroup(node, context);\n        case 4 /* Animate */:\n            return visitor.visitAnimate(node, context);\n        case 5 /* Keyframes */:\n            return visitor.visitKeyframes(node, context);\n        case 6 /* Style */:\n            return visitor.visitStyle(node, context);\n        case 8 /* Reference */:\n            return visitor.visitReference(node, context);\n        case 9 /* AnimateChild */:\n            return 
 visitor.visitAnimateChild(node, context);\n        case 10 /* AnimateRef */:\n            return visitor.visitAnimateRef(node, context);\n        case 11 /* Query */:\n            return visitor.visitQuery(node, context);\n        case 12 /* Stagger */:\n            return visitor.visitStagger(node, context);\n        default:\n            throw new Error(\"Unable to resolve animation metadata node #\" + node.type);\n    }\n}\n//# sourceMappingURL=util.js.map","/**\n * @fileoverview added by tsickle\n * @suppress {checkTypes} checked by tsc\n */\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nexport var /** @type {?} */ ANY_STATE = '*';\n/**\n * @param {?} transitionValue\n * @param {?} errors\n * @return {?}\n */\nexport function parseTransitionExpr(transitionValue, errors) {\n    var /** @type {?} */ expressions = [];\n 
    if (typeof transitionValue == 'string') {\n        (/** @type {?} */ (transitionValue))\n            .split(/\\s*,\\s*/)\n            .forEach(function (str) { return parseInnerTransitionStr(str, expressions, errors); });\n    }\n    else {\n        expressions.push(/** @type {?} */ (transitionValue));\n    }\n    return expressions;\n}\n/**\n * @param {?} eventStr\n * @param {?} expressions\n * @param {?} errors\n * @return {?}\n */\nfunction parseInnerTransitionStr(eventStr, expressions, errors) {\n    if (eventStr[0] == ':') {\n        var /** @type {?} */ result = parseAnimationAlias(eventStr, errors);\n        if (typeof result == 'function') {\n            expressions.push(result);\n            return;\n        }\n        eventStr = /** @type {?} */ (result);\n    }\n    var /** @type {?} */ match = eventStr.match(/^(\\*|[-\\w]+)\\s*(<?[=-]>)\\s*(\\*|[-\\w]+)$/);\n    if (match == null || match.length < 4) {\n        errors.push(\"The provided transition expression \\\"\" +
  eventStr + \"\\\" is not supported\");\n        return expressions;\n    }\n    var /** @type {?} */ fromState = match[1];\n    var /** @type {?} */ separator = match[2];\n    var /** @type {?} */ toState = match[3];\n    expressions.push(makeLambdaFromStates(fromState, toState));\n    var /** @type {?} */ isFullAnyStateExpr = fromState == ANY_STATE && toState == ANY_STATE;\n    if (separator[0] == '<' && !isFullAnyStateExpr) {\n        expressions.push(makeLambdaFromStates(toState, fromState));\n    }\n}\n/**\n * @param {?} alias\n * @param {?} errors\n * @return {?}\n */\nfunction parseAnimationAlias(alias, errors) {\n    switch (alias) {\n        case ':enter':\n            return 'void => *';\n        case ':leave':\n            return '* => void';\n        case ':increment':\n            return function (fromState, toState) { return parseFloat(toState) > parseFloat(fromState); };\n        case ':decrement':\n            return function (fromState, toState) { return parseFloat(
 toState) < parseFloat(fromState); };\n        default:\n            errors.push(\"The transition alias value \\\"\" + alias + \"\\\" is not supported\");\n            return '* => *';\n    }\n}\n// DO NOT REFACTOR ... keep the follow set instantiations\n// with the values intact (closure compiler for some reason\n// removes follow-up lines that add the values outside of\n// the constructor...\nvar /** @type {?} */ TRUE_BOOLEAN_VALUES = new Set(['true', '1']);\nvar /** @type {?} */ FALSE_BOOLEAN_VALUES = new Set(['false', '0']);\n/**\n * @param {?} lhs\n * @param {?} rhs\n * @return {?}\n */\nfunction makeLambdaFromStates(lhs, rhs) {\n    var /** @type {?} */ LHS_MATCH_BOOLEAN = TRUE_BOOLEAN_VALUES.has(lhs) || FALSE_BOOLEAN_VALUES.has(lhs);\n    var /** @type {?} */ RHS_MATCH_BOOLEAN = TRUE_BOOLEAN_VALUES.has(rhs) || FALSE_BOOLEAN_VALUES.has(rhs);\n    return function (fromState, toState) {\n        var /** @type {?} */ lhsMatch = lhs == ANY_STATE || lhs == fromState;\n        var /*
 * @type {?} */ rhsMatch = rhs == ANY_STATE || rhs == toState;\n        if (!lhsMatch && LHS_MATCH_BOOLEAN && typeof fromState === 'boolean') {\n            lhsMatch = fromState ? TRUE_BOOLEAN_VALUES.has(lhs) : FALSE_BOOLEAN_VALUES.has(lhs);\n        }\n        if (!rhsMatch && RHS_MATCH_BOOLEAN && typeof toState === 'boolean') {\n            rhsMatch = toState ? TRUE_BOOLEAN_VALUES.has(rhs) : FALSE_BOOLEAN_VALUES.has(rhs);\n        }\n        return lhsMatch && rhsMatch;\n    };\n}\n//# sourceMappingURL=animation_transition_expr.js.map","/**\n * @fileoverview added by tsickle\n * @suppress {checkTypes} checked by tsc\n */\nimport { AUTO_STYLE, style } from '@angular/animations';\nimport { getOrSetAsInMap } from '../render/shared';\nimport { NG_ANIMATING_SELECTOR, NG_TRIGGER_SELECTOR, SUBSTITUTION_EXPR_START, copyObj, extractStyleParams, iteratorToArray, normalizeAnimationEntry, resolveTiming, validateStyleParams, visitDslNode } from '../util';\nimport { parseTransitionExpr } from '.
 /animation_transition_expr';\nvar /** @type {?} */ SELF_TOKEN = ':self';\nvar /** @type {?} */ SELF_TOKEN_REGEX = new RegExp(\"s*\" + SELF_TOKEN + \"s*,?\", 'g');\n/**\n * @param {?} driver\n * @param {?} metadata\n * @param {?} errors\n * @return {?}\n */\nexport function buildAnimationAst(driver, metadata, errors) {\n    return new AnimationAstBuilderVisitor(driver).build(metadata, errors);\n}\nvar /** @type {?} */ ROOT_SELECTOR = '';\nvar AnimationAstBuilderVisitor = /** @class */ (function () {\n    function AnimationAstBuilderVisitor(_driver) {\n        this._driver = _driver;\n    }\n    /**\n     * @param {?} metadata\n     * @param {?} errors\n     * @return {?}\n     */\n    AnimationAstBuilderVisitor.prototype.build = /**\n     * @param {?} metadata\n     * @param {?} errors\n     * @return {?}\n     */\n    function (metadata, errors) {\n        var /** @type {?} */ context = new AnimationAstBuilderContext(errors);\n        this._resetContextStyleTimingState(context);\n  
       return /** @type {?} */ (visitDslNode(this, normalizeAnimationEntry(metadata), context));\n    };\n    /**\n     * @param {?} context\n     * @return {?}\n     */\n    AnimationAstBuilderVisitor.prototype._resetContextStyleTimingState = /**\n     * @param {?} context\n     * @return {?}\n     */\n    function (context) {\n        context.currentQuerySelector = ROOT_SELECTOR;\n        context.collectedStyles = {};\n        context.collectedStyles[ROOT_SELECTOR] = {};\n        context.currentTime = 0;\n    };\n    /**\n     * @param {?} metadata\n     * @param {?} context\n     * @return {?}\n     */\n    AnimationAstBuilderVisitor.prototype.visitTrigger = /**\n     * @param {?} metadata\n     * @param {?} context\n     * @return {?}\n     */\n    function (metadata, context) {\n        var _this = this;\n        var /** @type {?} */ queryCount = context.queryCount = 0;\n        var /** @type {?} */ depCount = context.depCount = 0;\n        var /** @type {?} */ states = [];\n   
      var /** @type {?} */ transitions = [];\n        if (metadata.name.charAt(0) == '@') {\n            context.errors.push('animation triggers cannot be prefixed with an `@` sign (e.g. trigger(\\'@foo\\', [...]))');\n        }\n        metadata.definitions.forEach(function (def) {\n            _this._resetContextStyleTimingState(context);\n            if (def.type == 0 /* State */) {\n                var /** @type {?} */ stateDef_1 = /** @type {?} */ (def);\n                var /** @type {?} */ name_1 = stateDef_1.name;\n                name_1.split(/\\s*,\\s*/).forEach(function (n) {\n                    stateDef_1.name = n;\n                    states.push(_this.visitState(stateDef_1, context));\n                });\n                stateDef_1.name = name_1;\n            }\n            else if (def.type == 1 /* Transition */) {\n                var /** @type {?} */ transition = _this.visitTransition(/** @type {?} */ (def), context);\n                queryCount += transition.query
 Count;\n                depCount += transition.depCount;\n                transitions.push(transition);\n            }\n            else {\n                context.errors.push('only state() and transition() definitions can sit inside of a trigger()');\n            }\n        });\n        return {\n            type: 7 /* Trigger */,\n            name: metadata.name, states: states, transitions: transitions, queryCount: queryCount, depCount: depCount,\n            options: null\n        };\n    };\n    /**\n     * @param {?} metadata\n     * @param {?} context\n     * @return {?}\n     */\n    AnimationAstBuilderVisitor.prototype.visitState = /**\n     * @param {?} metadata\n     * @param {?} context\n     * @return {?}\n     */\n    function (metadata, context) {\n        var /** @type {?} */ styleAst = this.visitStyle(metadata.styles, context);\n        var /** @type {?} */ astParams = (metadata.options && metadata.options.params) || null;\n        if (styleAst.containsDynamicStyles
 ) {\n            var /** @type {?} */ missingSubs_1 = new Set();\n            var /** @type {?} */ params_1 = astParams || {};\n            styleAst.styles.forEach(function (value) {\n                if (isObject(value)) {\n                    var /** @type {?} */ stylesObj_1 = /** @type {?} */ (value);\n                    Object.keys(stylesObj_1).forEach(function (prop) {\n                        extractStyleParams(stylesObj_1[prop]).forEach(function (sub) {\n                            if (!params_1.hasOwnProperty(sub)) {\n                                missingSubs_1.add(sub);\n                            }\n                        });\n                    });\n                }\n            });\n            if (missingSubs_1.size) {\n                var /** @type {?} */ missingSubsArr = iteratorToArray(missingSubs_1.values());\n                context.errors.push(\"state(\\\"\" + metadata.name + \"\\\", ...) must define default values for all the following style substitutions: 
 \" + missingSubsArr.join(', '));\n            }\n        }\n        return {\n            type: 0 /* State */,\n            name: metadata.name,\n            style: styleAst,\n            options: astParams ? { params: astParams } : null\n        };\n    };\n    /**\n     * @param {?} metadata\n     * @param {?} context\n     * @return {?}\n     */\n    AnimationAstBuilderVisitor.prototype.visitTransition = /**\n     * @param {?} metadata\n     * @param {?} context\n     * @return {?}\n     */\n    function (metadata, context) {\n        context.queryCount = 0;\n        context.depCount = 0;\n        var /** @type {?} */ animation = visitDslNode(this, normalizeAnimationEntry(metadata.animation), context);\n        var /** @type {?} */ matchers = parseTransitionExpr(metadata.expr, context.errors);\n        return {\n            type: 1 /* Transition */,\n            matchers: matchers,\n            animation: animation,\n            queryCount: context.queryCount,\n            depCou
 nt: context.depCount,\n            options: normalizeAnimationOptions(metadata.options)\n        };\n    };\n    /**\n     * @param {?} metadata\n     * @param {?} context\n     * @return {?}\n     */\n    AnimationAstBuilderVisitor.prototype.visitSequence = /**\n     * @param {?} metadata\n     * @param {?} context\n     * @return {?}\n     */\n    function (metadata, context) {\n        var _this = this;\n        return {\n            type: 2 /* Sequence */,\n            steps: metadata.steps.map(function (s) { return visitDslNode(_this, s, context); }),\n            options: normalizeAnimationOptions(metadata.options)\n        };\n    };\n    /**\n     * @param {?} metadata\n     * @param {?} context\n     * @return {?}\n     */\n    AnimationAstBuilderVisitor.prototype.visitGroup = /**\n     * @param {?} metadata\n     * @param {?} context\n     * @return {?}\n     */\n    function (metadata, context) {\n        var _this = this;\n        var /** @type {?} */ currentTime = conte
 xt.currentTime;\n        var /** @type {?} */ furthestTime = 0;\n        var /** @type {?} */ steps = metadata.steps.map(function (step) {\n            context.currentTime = currentTime;\n            var /** @type {?} */ innerAst = visitDslNode(_this, step, context);\n            furthestTime = Math.max(furthestTime, context.currentTime);\n            return innerAst;\n        });\n        context.currentTime = furthestTime;\n        return {\n            type: 3 /* Group */,\n            steps: steps,\n            options: normalizeAnimationOptions(metadata.options)\n        };\n    };\n    /**\n     * @param {?} metadata\n     * @param {?} context\n     * @return {?}\n     */\n    AnimationAstBuilderVisitor.prototype.visitAnimate = /**\n     * @param {?} metadata\n     * @param {?} context\n     * @return {?}\n     */\n    function (metadata, context) {\n        var /** @type {?} */ timingAst = constructTimingAst(metadata.timings, context.errors);\n        context.currentAnimateTi
 mings = timingAst;\n        var /** @type {?} */ styleAst;\n        var /** @type {?} */ styleMetadata = metadata.styles ? metadata.styles : style({});\n        if (styleMetadata.type == 5 /* Keyframes */) {\n            styleAst = this.visitKeyframes(/** @type {?} */ (styleMetadata), context);\n        }\n        else {\n            var /** @type {?} */ styleMetadata_1 = /** @type {?} */ (metadata.styles);\n            var /** @type {?} */ isEmpty = false;\n            if (!styleMetadata_1) {\n                isEmpty = true;\n                var /** @type {?} */ newStyleData = {};\n                if (timingAst.easing) {\n                    newStyleData['easing'] = timingAst.easing;\n                }\n                styleMetadata_1 = style(newStyleData);\n            }\n            context.currentTime += timingAst.duration + timingAst.delay;\n            var /** @type {?} */ _styleAst = this.visitStyle(styleMetadata_1, context);\n            _styleAst.isEmptyStep = isEmpty;\n   
          styleAst = _styleAst;\n        }\n        context.currentAnimateTimings = null;\n        return {\n            type: 4 /* Animate */,\n            timings: timingAst,\n            style: styleAst,\n            options: null\n        };\n    };\n    /**\n     * @param {?} metadata\n     * @param {?} context\n     * @return {?}\n     */\n    AnimationAstBuilderVisitor.prototype.visitStyle = /**\n     * @param {?} metadata\n     * @param {?} context\n     * @return {?}\n     */\n    function (metadata, context) {\n        var /** @type {?} */ ast = this._makeStyleAst(metadata, context);\n        this._validateStyleAst(ast, context);\n        return ast;\n    };\n    /**\n     * @param {?} metadata\n     * @param {?} context\n     * @return {?}\n     */\n    AnimationAstBuilderVisitor.prototype._makeStyleAst = /**\n     * @param {?} metadata\n     * @param {?} context\n     * @return {?}\n     */\n    function (metadata, context) {\n        var /** @type {?} */ styles = [];\n  
       if (Array.isArray(metadata.styles)) {\n            (/** @type {?} */ (metadata.styles)).forEach(function (styleTuple) {\n                if (typeof styleTuple == 'string') {\n                    if (styleTuple == AUTO_STYLE) {\n                        styles.push(/** @type {?} */ (styleTuple));\n                    }\n                    else {\n                        context.errors.push(\"The provided style string value \" + styleTuple + \" is not allowed.\");\n                    }\n                }\n                else {\n                    styles.push(/** @type {?} */ (styleTuple));\n                }\n            });\n        }\n        else {\n            styles.push(metadata.styles);\n        }\n        var /** @type {?} */ containsDynamicStyles = false;\n        var /** @type {?} */ collectedEasing = null;\n        styles.forEach(function (styleData) {\n            if (isObject(styleData)) {\n                var /** @type {?} */ styleMap = /** @type {?} */ (styleDa
 ta);\n                var /** @type {?} */ easing = styleMap['easing'];\n                if (easing) {\n                    collectedEasing = /** @type {?} */ (easing);\n                    delete styleMap['easing'];\n                }\n                if (!containsDynamicStyles) {\n                    for (var /** @type {?} */ prop in styleMap) {\n                        var /** @type {?} */ value = styleMap[prop];\n                        if (value.toString().indexOf(SUBSTITUTION_EXPR_START) >= 0) {\n                            containsDynamicStyles = true;\n                            break;\n                        }\n                    }\n                }\n            }\n        });\n        return {\n            type: 6 /* Style */,\n            styles: styles,\n            easing: collectedEasing,\n            offset: metadata.offset, containsDynamicStyles: containsDynamicStyles,\n            options: null\n        };\n    };\n    /**\n     * @param {?} ast\n     * @param {
 ?} context\n     * @return {?}\n     */\n    AnimationAstBuilderVisitor.prototype._validateStyleAst = /**\n     * @param {?} ast\n     * @param {?} context\n     * @return {?}\n     */\n    function (ast, context) {\n        var _this = this;\n        var /** @type {?} */ timings = context.currentAnimateTimings;\n        var /** @type {?} */ endTime = context.currentTime;\n        var /** @type {?} */ startTime = context.currentTime;\n        if (timings && startTime > 0) {\n            startTime -= timings.duration + timings.delay;\n        }\n        ast.styles.forEach(function (tuple) {\n            if (typeof tuple == 'string')\n                return;\n            Object.keys(tuple).forEach(function (prop) {\n                if (!_this._driver.validateStyleProperty(prop)) {\n                    context.errors.push(\"The provided animation property \\\"\" + prop + \"\\\" is not a supported CSS property for animations\");\n                    return;\n                }\n         
        var /** @type {?} */ collectedStyles = context.collectedStyles[/** @type {?} */ ((context.currentQuerySelector))];\n                var /** @type {?} */ collectedEntry = collectedStyles[prop];\n                var /** @type {?} */ updateCollectedStyle = true;\n                if (collectedEntry) {\n                    if (startTime != endTime && startTime >= collectedEntry.startTime &&\n                        endTime <= collectedEntry.endTime) {\n                        context.errors.push(\"The CSS property \\\"\" + prop + \"\\\" that exists between the times of \\\"\" + collectedEntry.startTime + \"ms\\\" and \\\"\" + collectedEntry.endTime + \"ms\\\" is also being animated in a parallel animation between the times of \\\"\" + startTime + \"ms\\\" and \\\"\" + endTime + \"ms\\\"\");\n                        updateCollectedStyle = false;\n                    }\n                    // we always choose the smaller start time value since we\n                    // want to have
  a record of the entire animation window where\n                    // the style property is being animated in between\n                    startTime = collectedEntry.startTime;\n                }\n                if (updateCollectedStyle) {\n                    collectedStyles[prop] = { startTime: startTime, endTime: endTime };\n                }\n                if (context.options) {\n                    validateStyleParams(tuple[prop], context.options, context.errors);\n                }\n            });\n        });\n    };\n    /**\n     * @param {?} metadata\n     * @param {?} context\n     * @return {?}\n     */\n    AnimationAstBuilderVisitor.prototype.visitKeyframes = /**\n     * @param {?} metadata\n     * @param {?} context\n     * @return {?}\n     */\n    function (metadata, context) {\n        var _this = this;\n        var /** @type {?} */ ast = { type: 5 /* Keyframes */, styles: [], options: null };\n        if (!context.currentAnimateTimings) {\n            context
 .errors.push(\"keyframes() must be placed inside of a call to animate()\");\n            return ast;\n        }\n        var /** @type {?} */ MAX_KEYFRAME_OFFSET = 1;\n        var /** @type {?} */ totalKeyframesWithOffsets = 0;\n        var /** @type {?} */ offsets = [];\n        var /** @type {?} */ offsetsOutOfOrder = false;\n        var /** @type {?} */ keyframesOutOfRange = false;\n        var /** @type {?} */ previousOffset = 0;\n        var /** @type {?} */ keyframes = metadata.steps.map(function (styles) {\n            var /** @type {?} */ style = _this._makeStyleAst(styles, context);\n            var /** @type {?} */ offsetVal = style.offset != null ? style.offset : consumeOffset(style.styles);\n            var /** @type {?} */ offset = 0;\n            if (offsetVal != null) {\n                totalKeyframesWithOffsets++;\n                offset = style.offset = offsetVal;\n            }\n            keyframesOutOfRange = keyframesOutOfRange || offset < 0 || offset > 1;\n   
          offsetsOutOfOrder = offsetsOutOfOrder || offset < previousOffset;\n            previousOffset = offset;\n            offsets.push(offset);\n            return style;\n        });\n        if (keyframesOutOfRange) {\n            context.errors.push(\"Please ensure that all keyframe offsets are between 0 and 1\");\n        }\n        if (offsetsOutOfOrder) {\n            context.errors.push(\"Please ensure that all keyframe offsets are in order\");\n        }\n        var /** @type {?} */ length = metadata.steps.length;\n        var /** @type {?} */ generatedOffset = 0;\n        if (totalKeyframesWithOffsets > 0 && totalKeyframesWithOffsets < length) {\n            context.errors.push(\"Not all style() steps within the declared keyframes() contain offsets\");\n        }\n        else if (totalKeyframesWithOffsets == 0) {\n            generatedOffset = MAX_KEYFRAME_OFFSET / (length - 1);\n        }\n        var /** @type {?} */ limit = length - 1;\n        var /** @type {?} */
  currentTime = context.currentTime;\n        var /** @type {?} */ currentAnimateTimings = /** @type {?} */ ((context.currentAnimateTimings));\n        var /** @type {?} */ animateDuration = currentAnimateTimings.duration;\n        keyframes.forEach(function (kf, i) {\n            var /** @type {?} */ offset = generatedOffset > 0 ? (i == limit ? 1 : (generatedOffset * i)) : offsets[i];\n            var /** @type {?} */ durationUpToThisFrame = offset * animateDuration;\n            context.currentTime = currentTime + currentAnimateTimings.delay + durationUpToThisFrame;\n            currentAnimateTimings.duration = durationUpToThisFrame;\n            _this._validateStyleAst(kf, context);\n            kf.offset = offset;\n            ast.styles.push(kf);\n        });\n        return ast;\n    };\n    /**\n     * @param {?} metadata\n     * @param {?} context\n     * @return {?}\n     */\n    AnimationAstBuilderVisitor.prototype.visitReference = /**\n     * @param {?} metadata\n     * @p
 aram {?} context\n     * @return {?}\n     */\n    function (metadata, context) {\n        return {\n            type: 8 /* Reference */,\n            animation: visitDslNode(this, normalizeAnimationEntry(metadata.animation), context),\n            options: normalizeAnimationOptions(metadata.options)\n        };\n    };\n    /**\n     * @param {?} metadata\n     * @param {?} context\n     * @return {?}\n     */\n    AnimationAstBuilderVisitor.prototype.visitAnimateChild = /**\n     * @param {?} metadata\n     * @param {?} context\n     * @return {?}\n     */\n    function (metadata, context) {\n        context.depCount++;\n        return {\n            type: 9 /* AnimateChild */,\n            options: normalizeAnimationOptions(metadata.options)\n        };\n    };\n    /**\n     * @param {?} metadata\n     * @param {?} context\n     * @return {?}\n     */\n    AnimationAstBuilderVisitor.prototype.visitAnimateRef = /**\n     * @param {?} metadata\n     * @param {?} context\n     * @r
 eturn {?}\n     */\n    function (metadata, context) {\n        return {\n            type: 10 /* AnimateRef */,\n            animation: this.visitReference(metadata.animation, context),\n            options: normalizeAnimationOptions(metadata.options)\n        };\n    };\n    /**\n     * @param {?} metadata\n     * @param {?} context\n     * @return {?}\n     */\n    AnimationAstBuilderVisitor.prototype.visitQuery = /**\n     * @param {?} metadata\n     * @param {?} context\n     * @return {?}\n     */\n    function (metadata, context) {\n        var /** @type {?} */ parentSelector = /** @type {?} */ ((context.currentQuerySelector));\n        var /** @type {?} */ options = /** @type {?} */ ((metadata.options || {}));\n        context.queryCount++;\n        context.currentQuery = metadata;\n        var _a = normalizeSelector(metadata.selector), selector = _a[0], includeSelf = _a[1];\n        context.currentQuerySelector =\n            parentSelector.length ? (parentSelector + ' ' + 
 selector) : selector;\n        getOrSetAsInMap(context.collectedStyles, context.currentQuerySelector, {});\n        var /** @type {?} */ animation = visitDslNode(this, normalizeAnimationEntry(metadata.animation), context);\n        context.currentQuery = null;\n        context.currentQuerySelector = parentSelector;\n        return {\n            type: 11 /* Query */,\n            selector: selector,\n            limit: options.limit || 0,\n            optional: !!options.optional, includeSelf: includeSelf, animation: animation,\n            originalSelector: metadata.selector,\n            options: normalizeAnimationOptions(metadata.options)\n        };\n    };\n    /**\n     * @param {?} metadata\n     * @param {?} context\n     * @return {?}\n     */\n    AnimationAstBuilderVisitor.prototype.visitStagger = /**\n     * @param {?} metadata\n     * @param {?} context\n     * @return {?}\n     */\n    function (metadata, context) {\n        if (!context.currentQuery) {\n            co
 ntext.errors.push(\"stagger() can only be used inside of query()\");\n        }\n        var /** @type {?} */ timings = metadata.timings === 'full' ?\n            { duration: 0, delay: 0, easing: 'full' } :\n            resolveTiming(metadata.timings, context.errors, true);\n        return {\n            type: 12 /* Stagger */,\n            animation: visitDslNode(this, normalizeAnimationEntry(metadata.animation), context), timings: timings,\n            options: null\n        };\n    };\n    return AnimationAstBuilderVisitor;\n}());\nexport { AnimationAstBuilderVisitor };\nfunction AnimationAstBuilderVisitor_tsickle_Closure_declarations() {\n    /** @type {?} */\n    AnimationAstBuilderVisitor.prototype._driver;\n}\n/**\n * @param {?} selector\n * @return {?}\n */\nfunction normalizeSelector(selector) {\n    var /** @type {?} */ hasAmpersand = selector.split(/\\s*,\\s*/).find(function (token) { return token == SELF_TOKEN; }) ? true : false;\n    if (hasAmpersand) {\n        selecto
 r = selector.replace(SELF_TOKEN_REGEX, '');\n    }\n    // the :enter and :leave selectors are filled in at runtime during timeline building\n    selector = selector.replace(/@\\*/g, NG_TRIGGER_SELECTOR)\n        .replace(/@\\w+/g, function (match) { return NG_TRIGGER_SELECTOR + '-' + match.substr(1); })\n        .replace(/:animating/g, NG_ANIMATING_SELECTOR);\n    return [selector, hasAmpersand];\n}\n/**\n * @param {?} obj\n * @return {?}\n */\nfunction normalizeParams(obj) {\n    return obj ? copyObj(obj) : null;\n}\nvar AnimationAstBuilderContext = /** @class */ (function () {\n    function AnimationAstBuilderContext(errors) {\n        this.errors = errors;\n        this.queryCount = 0;\n        this.depCount = 0;\n        this.currentTransition = null;\n        this.currentQuery = null;\n        this.currentQuerySelector = null;\n        this.currentAnimateTimings = null;\n        this.currentTime = 0;\n        this.collectedStyles = {};\n        this.options = null;\n    }\n   
  return AnimationAstBuilderContext;\n}());\nexport { AnimationAstBuilderContext };\nfunction AnimationAstBuilderContext_tsickle_Closure_declarations() {\n    /** @type {?} */\n    AnimationAstBuilderContext.prototype.queryCount;\n    /** @type {?} */\n    AnimationAstBuilderContext.prototype.depCount;\n    /** @type {?} */\n    AnimationAstBuilderContext.prototype.currentTransition;\n    /** @type {?} */\n    AnimationAstBuilderContext.prototype.currentQuery;\n    /** @type {?} */\n    AnimationAstBuilderContext.prototype.currentQuerySelector;\n    /** @type {?} */\n    AnimationAstBuilderContext.prototype.currentAnimateTimings;\n    /** @type {?} */\n    AnimationAstBuilderContext.prototype.currentTime;\n    /** @type {?} */\n    AnimationAstBuilderContext.prototype.collectedStyles;\n    /** @type {?} */\n    AnimationAstBuilderContext.prototype.options;\n    /** @type {?} */\n    AnimationAstBuilderContext.prototype.errors;\n}\n/**\n * @param {?} styles\n * @return {?}\n */\nfunct
 ion consumeOffset(styles) {\n    if (typeof styles == 'string')\n        return null;\n    var /** @type {?} */ offset = null;\n    if (Array.isArray(styles)) {\n        styles.forEach(function (styleTuple) {\n            if (isObject(styleTuple) && styleTuple.hasOwnProperty('offset')) {\n                var /** @type {?} */ obj = /** @type {?} */ (styleTuple);\n                offset = parseFloat(/** @type {?} */ (obj['offset']));\n                delete obj['offset'];\n            }\n        });\n    }\n    else if (isObject(styles) && styles.hasOwnProperty('offset')) {\n        var /** @type {?} */ obj = /** @type {?} */ (styles);\n        offset = parseFloat(/** @type {?} */ (obj['offset']));\n        delete obj['offset'];\n    }\n    return offset;\n}\n/**\n * @param {?} value\n * @return {?}\n */\nfunction isObject(value) {\n    return !Array.isArray(value) && typeof value == 'object';\n}\n/**\n * @param {?} value\n * @param {?} errors\n * @return {?}\n */\nfunction constructT
 imingAst(value, errors) {\n    var /** @type {?} */ timings = null;\n    if (value.hasOwnProperty('duration')) {\n        timings = /** @type {?} */ (value);\n    }\n    else if (typeof value == 'number') {\n        var /** @type {?} */ duration = resolveTiming(/** @type {?} */ (value), errors).duration;\n        return makeTimingAst(/** @type {?} */ (duration), 0, '');\n    }\n    var /** @type {?} */ strValue = /** @type {?} */ (value);\n    var /** @type {?} */ isDynamic = strValue.split(/\\s+/).some(function (v) { return v.charAt(0) == '{' && v.charAt(1) == '{'; });\n    if (isDynamic) {\n        var /** @type {?} */ ast = /** @type {?} */ (makeTimingAst(0, 0, ''));\n        ast.dynamic = true;\n        ast.strValue = strValue;\n        return /** @type {?} */ (ast);\n    }\n    timings = timings || resolveTiming(strValue, errors);\n    return makeTimingAst(timings.duration, timings.delay, timings.easing);\n}\n/**\n * @param {?} options\n * @return {?}\n */\nfunction normalizeAn
 imationOptions(options) {\n    if (options) {\n        options = copyObj(options);\n        if (options['params']) {\n            options['params'] = /** @type {?} */ ((normalizeParams(options['params'])));\n        }\n    }\n    else {\n        options = {};\n    }\n    return options;\n}\n/**\n * @param {?} duration\n * @param {?} delay\n * @param {?} easing\n * @return {?}\n */\nfunction makeTimingAst(duration, delay, easing) {\n    return { duration: duration, delay: delay, easing: easing };\n}\n//# sourceMappingURL=animation_ast_builder.js.map","/**\n * @fileoverview added by tsickle\n * @suppress {checkTypes} checked by tsc\n */\n/**\n * @record\n */\nexport function AnimationTimelineInstruction() { }\nfunction AnimationTimelineInstruction_tsickle_Closure_declarations() {\n    /** @type {?} */\n    AnimationTimelineInstruction.prototype.element;\n    /** @type {?} */\n    AnimationTimelineInstruction.prototype.keyframes;\n    /** @type {?} */\n    AnimationTimelineInstruction.
 prototype.preStyleProps;\n    /** @type {?} */\n    AnimationTimelineInstruction.prototype.postStyleProps;\n    /** @type {?} */\n    AnimationTimelineInstruction.prototype.duration;\n    /** @type {?} */\n    AnimationTimelineInstruction.prototype.delay;\n    /** @type {?} */\n    AnimationTimelineInstruction.prototype.totalTime;\n    /** @type {?} */\n    AnimationTimelineInstruction.prototype.easing;\n    /** @type {?|undefined} */\n    AnimationTimelineInstruction.prototype.stretchStartingKeyframe;\n    /** @type {?} */\n    AnimationTimelineInstruction.prototype.subTimeline;\n}\n/**\n * @param {?} element\n * @param {?} keyframes\n * @param {?} preStyleProps\n * @param {?} postStyleProps\n * @param {?} duration\n * @param {?} delay\n * @param {?=} easing\n * @param {?=} subTimeline\n * @return {?}\n */\nexport function createTimelineInstruction(element, keyframes, preStyleProps, postStyleProps, duration, delay, easing, subTimeline) {\n    if (easing === void 0) { easing = null;
  }\n    if (subTimeline === void 0) { subTimeline = false; }\n    return {\n        type: 1 /* TimelineAnimation */,\n        element: element,\n        keyframes: keyframes,\n        preStyleProps: preStyleProps,\n        postStyleProps: postStyleProps,\n        duration: duration,\n        delay: delay,\n        totalTime: duration + delay, easing: easing, subTimeline: subTimeline\n    };\n}\n//# sourceMappingURL=animation_timeline_instruction.js.map","/**\n * @fileoverview added by tsickle\n * @suppress {checkTypes} checked by tsc\n */\nvar ElementInstructionMap = /** @class */ (function () {\n    function ElementInstructionMap() {\n        this._map = new Map();\n    }\n    /**\n     * @param {?} element\n     * @return {?}\n     */\n    ElementInstructionMap.prototype.consume = /**\n     * @param {?} element\n     * @return {?}\n     */\n    function (element) {\n        var /** @type {?} */ instructions = this._map.get(element);\n        if (instructions) {\n            this._
 map.delete(element);\n        }\n        else {\n            instructions = [];\n        }\n        return instructions;\n    };\n    /**\n     * @param {?} element\n     * @param {?} instructions\n     * @return {?}\n     */\n    ElementInstructionMap.prototype.append = /**\n     * @param {?} element\n     * @param {?} instructions\n     * @return {?}\n     */\n    function (element, instructions) {\n        var /** @type {?} */ existingInstructions = this._map.get(element);\n        if (!existingInstructions) {\n            this._map.set(element, existingInstructions = []);\n        }\n        existingInstructions.push.apply(existingInstructions, instructions);\n    };\n    /**\n     * @param {?} element\n     * @return {?}\n     */\n    ElementInstructionMap.prototype.has = /**\n     * @param {?} element\n     * @return {?}\n     */\n    function (element) { return this._map.has(element); };\n    /**\n     * @return {?}\n     */\n    ElementInstructionMap.prototype.clear = /**\n 
     * @return {?}\n     */\n    function () { this._map.clear(); };\n    return ElementInstructionMap;\n}());\nexport { ElementInstructionMap };\nfunction ElementInstructionMap_tsickle_Closure_declarations() {\n    /** @type {?} */\n    ElementInstructionMap.prototype._map;\n}\n//# sourceMappingURL=element_instruction_map.js.map","/**\n * @fileoverview added by tsickle\n * @suppress {checkTypes} checked by tsc\n */\nimport * as tslib_1 from \"tslib\";\nimport { AUTO_STYLE, ɵPRE_STYLE as PRE_STYLE } from '@angular/animations';\nimport { copyObj, copyStyles, interpolateParams, iteratorToArray, resolveTiming, resolveTimingValue, visitDslNode } from '../util';\nimport { createTimelineInstruction } from './animation_timeline_instruction';\nimport { ElementInstructionMap } from './element_instruction_map';\nvar /** @type {?} */ ONE_FRAME_IN_MILLISECONDS = 1;\nvar /** @type {?} */ ENTER_TOKEN = ':enter';\nvar /** @type {?} */ ENTER_TOKEN_REGEX = new RegExp(ENTER_TOKEN, 'g');\nvar /** @typ
 e {?} */ LEAVE_TOKEN = ':leave';\nvar /** @type {?} */ LEAVE_TOKEN_REGEX = new RegExp(LEAVE_TOKEN, 'g');\n/**\n * @param {?} driver\n * @param {?} rootElement\n * @param {?} ast\n * @param {?} enterClassName\n * @param {?} leaveClassName\n * @param {?=} startingStyles\n * @param {?=} finalStyles\n * @param {?=} options\n * @param {?=} subInstructions\n * @param {?=} errors\n * @return {?}\n */\nexport function buildAnimationTimelines(driver, rootElement, ast, enterClassName, leaveClassName, startingStyles, finalStyles, options, subInstructions, errors) {\n    if (startingStyles === void 0) { startingStyles = {}; }\n    if (finalStyles === void 0) { finalStyles = {}; }\n    if (errors === void 0) { errors = []; }\n    return new AnimationTimelineBuilderVisitor().buildKeyframes(driver, rootElement, ast, enterClassName, leaveClassName, startingStyles, finalStyles, options, subInstructions, errors);\n}\nvar AnimationTimelineBuilderVisitor = /** @class */ (function () {\n    function Ani
 mationTimelineBuilderVisitor() {\n    }\n    /**\n     * @param {?} driver\n     * @param {?} rootElement\n     * @param {?} ast\n     * @param {?} enterClassName\n     * @param {?} leaveClassName\n     * @param {?} startingStyles\n     * @param {?} finalStyles\n     * @param {?} options\n     * @param {?=} subInstructions\n     * @param {?=} errors\n     * @return {?}\n     */\n    AnimationTimelineBuilderVisitor.prototype.buildKeyframes = /**\n     * @param {?} driver\n     * @param {?} rootElement\n     * @param {?} ast\n     * @param {?} enterClassName\n     * @param {?} leaveClassName\n     * @param {?} startingStyles\n     * @param {?} finalStyles\n     * @param {?} options\n     * @param {?=} subInstructions\n     * @param {?=} errors\n     * @return {?}\n     */\n    function (driver, rootElement, ast, enterClassName, leaveClassName, startingStyles, finalStyles, options, subInstructions, errors) {\n        if (errors === void 0) { errors = []; }\n        subInstructions = su
 bInstructions || new ElementInstructionMap();\n        var /** @type {?} */ context = new AnimationTimelineContext(driver, rootElement, subInstructions, enterClassName, leaveClassName, errors, []);\n        context.options = options;\n        context.currentTimeline.setStyles([startingStyles], null, context.errors, options);\n        visitDslNode(this, ast, context);\n        // this checks to see if an actual animation happened\n        var /** @type {?} */ timelines = context.timelines.filter(function (timeline) { return timeline.containsAnimation(); });\n        if (timelines.length && Object.keys(finalStyles).length) {\n            var /** @type {?} */ tl = timelines[timelines.length - 1];\n            if (!tl.allowOnlyTimelineStyles()) {\n                tl.setStyles([finalStyles], null, context.errors, options);\n            }\n        }\n        return timelines.length ? timelines.map(function (timeline) { return timeline.buildKeyframes(); }) :\n            [createTimelineIns
 truction(rootElement, [], [], [], 0, 0, '', false)];\n    };\n    /**\n     * @param {?} ast\n     * @param {?} context\n     * @return {?}\n     */\n    AnimationTimelineBuilderVisitor.prototype.visitTrigger = /**\n     * @param {?} ast\n     * @param {?} context\n     * @return {?}\n     */\n    function (ast, context) {\n        // these values are not visited in this AST\n    };\n    /**\n     * @param {?} ast\n     * @param {?} context\n     * @return {?}\n     */\n    AnimationTimelineBuilderVisitor.prototype.visitState = /**\n     * @param {?} ast\n     * @param {?} context\n     * @return {?}\n     */\n    function (ast, context) {\n        // these values are not visited in this AST\n    };\n    /**\n     * @param {?} ast\n     * @param {?} context\n     * @return {?}\n     */\n    AnimationTimelineBuilderVisitor.prototype.visitTransition = /**\n     * @param {?} ast\n     * @param {?} context\n     * @return {?}\n     */\n    function (ast, context) {\n        // these val
 ues are not visited in this AST\n    };\n    /**\n     * @param {?} ast\n     * @param {?} context\n     * @return {?}\n     */\n    AnimationTimelineBuilderVisitor.prototype.visitAnimateChild = /**\n     * @param {?} ast\n     * @param {?} context\n     * @return {?}\n     */\n    function (ast, context) {\n        var /** @type {?} */ elementInstructions = context.subInstructions.consume(context.element);\n        if (elementInstructions) {\n            var /** @type {?} */ innerContext = context.createSubContext(ast.options);\n            var /** @type {?} */ startTime = context.currentTimeline.currentTime;\n            var /** @type {?} */ endTime = this._visitSubInstructions(elementInstructions, innerContext, /** @type {?} */ (innerContext.options));\n            if (startTime != endTime) {\n                // we do this on the upper context because we created a sub context for\n                // the sub child animations\n                context.transformIntoNewTimeline(endTim
 e);\n            }\n        }\n        context.previousNode = ast;\n    };\n    /**\n     * @param {?} ast\n     * @param {?} context\n     * @return {?}\n     */\n    AnimationTimelineBuilderVisitor.prototype.visitAnimateRef = /**\n     * @param {?} ast\n     * @param {?} context\n     * @return {?}\n     */\n    function (ast, context) {\n        var /** @type {?} */ innerContext = context.createSubContext(ast.options);\n        innerContext.transformIntoNewTimeline();\n        this.visitReference(ast.animation, innerContext);\n        context.transformIntoNewTimeline(innerContext.currentTimeline.currentTime);\n        context.previousNode = ast;\n    };\n    /**\n     * @param {?} instructions\n     * @param {?} context\n     * @param {?} options\n     * @return {?}\n     */\n    AnimationTimelineBuilderVisitor.prototype._visitSubInstructions = /**\n     * @param {?} instructions\n     * @param {?} context\n     * @param {?} options\n     * @return {?}\n     */\n    function (ins
 tructions, context, options) {\n        var /** @type {?} */ startTime = context.currentTimeline.currentTime;\n        var /** @type {?} */ furthestTime = startTime;\n        // this is a special-case for when a user wants to skip a sub\n        // animation from being fired entirely.\n        var /** @type {?} */ duration = options.duration != null ? resolveTimingValue(options.duration) : null;\n        var /** @type {?} */ delay = options.delay != null ? resolveTimingValue(options.delay) : null;\n        if (duration !== 0) {\n            instructions.forEach(function (instruction) {\n                var /** @type {?} */ instructionTimings = context.appendInstructionToTimeline(instruction, duration, delay);\n                furthestTime =\n                    Math.max(furthestTime, instructionTimings.duration + instructionTimings.delay);\n            });\n        }\n        return furthestTime;\n    };\n    /**\n     * @param {?} ast\n     * @param {?} context\n     * @return {?}\
 n     */\n    AnimationTimelineBuilderVisitor.prototype.visitReference = /**\n     * @param {?} ast\n     * @param {?} context\n     * @return {?}\n     */\n    function (ast, context) {\n        context.updateOptions(ast.options, true);\n        visitDslNode(this, ast.animation, context);\n        context.previousNode = ast;\n    };\n    /**\n     * @param {?} ast\n     * @param {?} context\n     * @return {?}\n     */\n    AnimationTimelineBuilderVisitor.prototype.visitSequence = /**\n     * @param {?} ast\n     * @param {?} context\n     * @return {?}\n     */\n    function (ast, context) {\n        var _this = this;\n        var /** @type {?} */ subContextCount = context.subContextCount;\n        var /** @type {?} */ ctx = context;\n        var /** @type {?} */ options = ast.options;\n        if (options && (options.params || options.delay)) {\n            ctx = context.createSubContext(options);\n            ctx.transformIntoNewTimeline();\n            if (options.delay != null
 ) {\n                if (ctx.previousNode.type == 6 /* Style */) {\n                    ctx.currentTimeline.snapshotCurrentStyles();\n                    ctx.previousNode = DEFAULT_NOOP_PREVIOUS_NODE;\n                }\n                var /** @type {?} */ delay = resolveTimingValue(options.delay);\n                ctx.delayNextStep(delay);\n            }\n        }\n        if (ast.steps.length) {\n            ast.steps.forEach(function (s) { return visitDslNode(_this, s, ctx); });\n            // this is here just incase the inner steps only contain or end with a style() call\n            ctx.currentTimeline.applyStylesToKeyframe();\n            // this means that some animation function within the sequence\n            // ended up creating a sub timeline (which means the current\n            // timeline cannot overlap with the contents of the sequence)\n            if (ctx.subContextCount > subContextCount) {\n                ctx.transformIntoNewTimeline();\n            }\n     
    }\n        context.previousNode = ast;\n    };\n    /**\n     * @param {?} ast\n     * @param {?} context\n     * @return {?}\n     */\n    AnimationTimelineBuilderVisitor.prototype.visitGroup = /**\n     * @param {?} ast\n     * @param {?} context\n     * @return {?}\n     */\n    function (ast, context) {\n        var _this = this;\n        var /** @type {?} */ innerTimelines = [];\n        var /** @type {?} */ furthestTime = context.currentTimeline.currentTime;\n        var /** @type {?} */ delay = ast.options && ast.options.delay ? resolveTimingValue(ast.options.delay) : 0;\n        ast.steps.forEach(function (s) {\n            var /** @type {?} */ innerContext = context.createSubContext(ast.options);\n            if (delay) {\n                innerContext.delayNextStep(delay);\n            }\n            visitDslNode(_this, s, innerContext);\n            furthestTime = Math.max(furthestTime, innerContext.currentTimeline.currentTime);\n            innerTimelines.push(innerCon
 text.currentTimeline);\n        });\n        // this operation is run after the AST loop because otherwise\n        // if the parent timeline's collected styles were updated then\n        // it would pass in invalid data into the new-to-be forked items\n        innerTimelines.forEach(function (timeline) { return context.currentTimeline.mergeTimelineCollectedStyles(timeline); });\n        context.transformIntoNewTimeline(furthestTime);\n        context.previousNode = ast;\n    };\n    /**\n     * @param {?} ast\n     * @param {?} context\n     * @return {?}\n     */\n    AnimationTimelineBuilderVisitor.prototype._visitTiming = /**\n     * @param {?} ast\n     * @param {?} context\n     * @return {?}\n     */\n    function (ast, context) {\n        if ((/** @type {?} */ (ast)).dynamic) {\n            var /** @type {?} */ strValue = (/** @type {?} */ (ast)).strValue;\n            var /** @type {?} */ timingValue = context.params ? interpolateParams(strValue, context.params, context.err
 ors) : strValue;\n            return resolveTiming(timingValue, context.errors);\n        }\n        else {\n            return { duration: ast.duration, delay: ast.delay, easing: ast.easing };\n        }\n    };\n    /**\n     * @param {?} ast\n     * @param {?} context\n     * @return {?}\n     */\n    AnimationTimelineBuilderVisitor.prototype.visitAnimate = /**\n     * @param {?} ast\n     * @param {?} context\n     * @return {?}\n     */\n    function (ast, context) {\n        var /** @type {?} */ timings = context.currentAnimateTimings = this._visitTiming(ast.timings, context);\n        var /** @type {?} */ timeline = context.currentTimeline;\n        if (timings.delay) {\n            context.incrementTime(timings.delay);\n            timeline.snapshotCurrentStyles();\n        }\n        var /** @type {?} */ style = ast.style;\n        if (style.type == 5 /* Keyframes */) {\n            this.visitKeyframes(style, context);\n        }\n        else {\n            context.increme
 ntTime(timings.duration);\n            this.visitStyle(/** @type {?} */ (style), context);\n            timeline.applyStylesToKeyframe();\n        }\n        context.currentAnimateTimings = null;\n        context.previousNode = ast;\n    };\n    /**\n     * @param {?} ast\n     * @param {?} context\n     * @return {?}\n     */\n    AnimationTimelineBuilderVisitor.prototype.visitStyle = /**\n     * @param {?} ast\n     * @param {?} context\n     * @return {?}\n     */\n    function (ast, context) {\n        var /** @type {?} */ timeline = context.currentTimeline;\n        var /** @type {?} */ timings = /** @type {?} */ ((context.currentAnimateTimings));\n        // this is a special case for when a style() call\n        // directly follows  an animate() call (but not inside of an animate() call)\n        if (!timings && timeline.getCurrentStyleProperties().length) {\n            timeline.forwardFrame();\n        }\n        var /** @type {?} */ easing = (timings && timings.easing) || 
 ast.easing;\n        if (ast.isEmptyStep) {\n            timeline.applyEmptyStep(easing);\n        }\n        else {\n            timeline.setStyles(ast.styles, easing, context.errors, context.options);\n        }\n        context.previousNode = ast;\n    };\n    /**\n     * @param {?} ast\n     * @param {?} context\n     * @return {?}\n     */\n    AnimationTimelineBuilderVisitor.prototype.visitKeyframes = /**\n     * @param {?} ast\n     * @param {?} context\n     * @return {?}\n     */\n    function (ast, context) {\n        var /** @type {?} */ currentAnimateTimings = /** @type {?} */ ((context.currentAnimateTimings));\n        var /** @type {?} */ startTime = (/** @type {?} */ ((context.currentTimeline))).duration;\n        var /** @type {?} */ duration = currentAnimateTimings.duration;\n        var /** @type {?} */ innerContext = context.createSubContext();\n        var /** @type {?} */ innerTimeline = innerContext.currentTimeline;\n        innerTimeline.easing = currentAnimat
 eTimings.easing;\n        ast.styles.forEach(function (step) {\n            var /** @type {?} */ offset = step.offset || 0;\n            innerTimeline.forwardTime(offset * duration);\n            innerTimeline.setStyles(step.styles, step.easing, context.errors, context.options);\n            innerTimeline.applyStylesToKeyframe();\n        });\n        // this will ensure that the parent timeline gets all the styles from\n        // the child even if the new timeline below is not used\n        context.currentTimeline.mergeTimelineCollectedStyles(innerTimeline);\n        // we do this because the window between this timeline and the sub timeline\n        // should ensure that the styles within are exactly the same as they were before\n        context.transformIntoNewTimeline(startTime + duration);\n        context.previousNode = ast;\n    };\n    /**\n     * @param {?} ast\n     * @param {?} context\n     * @return {?}\n     */\n    AnimationTimelineBuilderVisitor.prototype.visitQuery
  = /**\n     * @param {?} ast\n     * @param {?} context\n     * @return {?}\n     */\n    function (ast, context) {\n        var _this = this;\n        // in the event that the first step before this is a style step we need\n        // to ensure the styles are applied before the children are animated\n        var /** @type {?} */ startTime = context.currentTimeline.currentTime;\n        var /** @type {?} */ options = /** @type {?} */ ((ast.options || {}));\n        var /** @type {?} */ delay = options.delay ? resolveTimingValue(options.delay) : 0;\n        if (delay && (context.previousNode.type === 6 /* Style */ ||\n            (startTime == 0 && context.currentTimeline.getCurrentStyleProperties().length))) {\n            context.currentTimeline.snapshotCurrentStyles();\n            context.previousNode = DEFAULT_NOOP_PREVIOUS_NODE;\n        }\n        var /** @type {?} */ furthestTime = startTime;\n        var /** @type {?} */ elms = context.invokeQuery(ast.selector, ast.original
 Selector, ast.limit, ast.includeSelf, options.optional ? true : false, context.errors);\n        context.currentQueryTotal = elms.length;\n        var /** @type {?} */ sameElementTimeline = null;\n        elms.forEach(function (element, i) {\n            context.currentQueryIndex = i;\n            var /** @type {?} */ innerContext = context.createSubContext(ast.options, element);\n            if (delay) {\n                innerContext.delayNextStep(delay);\n            }\n            if (element === context.element) {\n                sameElementTimeline = innerContext.currentTimeline;\n            }\n            visitDslNode(_this, ast.animation, innerContext);\n            // this is here just incase the inner steps only contain or end\n            // with a style() call (which is here to signal that this is a preparatory\n            // call to style an element before it is animated again)\n            innerContext.currentTimeline.applyStylesToKeyframe();\n            var /** @ty
 pe {?} */ endTime = innerContext.currentTimeline.currentTime;\n            furthestTime = Math.max(furthestTime, endTime);\n        });\n        context.currentQueryIndex = 0;\n        context.currentQueryTotal = 0;\n        context.transformIntoNewTimeline(furthestTime);\n        if (sameElementTimeline) {\n            context.currentTimeline.mergeTimelineCollectedStyles(sameElementTimeline);\n            context.currentTimeline.snapshotCurrentStyles();\n        }\n        context.previousNode = ast;\n    };\n    /**\n     * @param {?} ast\n     * @param {?} context\n     * @return {?}\n     */\n    AnimationTimelineBuilderVisitor.prototype.visitStagger = /**\n     * @param {?} ast\n     * @param {?} context\n     * @return {?}\n     */\n    function (ast, context) {\n        var /** @type {?} */ parentContext = /** @type {?} */ ((context.parentContext));\n        var /** @type {?} */ tl = context.currentTimeline;\n        var /** @type {?} */ timings = ast.timings;\n        var /*
 * @type {?} */ duration = Math.abs(timings.duration);\n        var /** @type {?} */ maxTime = duration * (context.currentQueryTotal - 1);\n        var /** @type {?} */ delay = duration * context.currentQueryIndex;\n        var /** @type {?} */ staggerTransformer = timings.duration < 0 ? 'reverse' : timings.easing;\n        switch (staggerTransformer) {\n            case 'reverse':\n                delay = maxTime - delay;\n                break;\n            case 'full':\n                delay = parentContext.currentStaggerTime;\n                break;\n        }\n        var /** @type {?} */ timeline = context.currentTimeline;\n        if (delay) {\n            timeline.delayNextStep(delay);\n        }\n        var /** @type {?} */ startingTime = timeline.currentTime;\n        visitDslNode(this, ast.animation, context);\n        context.previousNode = ast;\n        // time = duration + delay\n        // the reason why this computation is so complex is because\n        // the inner 
 timeline may either have a delay value or a stretched\n        // keyframe depending on if a subtimeline is not used or is used.\n        parentContext.currentStaggerTime =\n            (tl.currentTime - startingTime) + (tl.startTime - parentContext.currentTimeline.startTime);\n    };\n    return AnimationTimelineBuilderVisitor;\n}());\nexport { AnimationTimelineBuilderVisitor };\nvar /** @type {?} */ DEFAULT_NOOP_PREVIOUS_NODE = /** @type {?} */ ({});\nvar AnimationTimelineContext = /** @class */ (function () {\n    function AnimationTimelineContext(_driver, element, subInstructions, _enterClassName, _leaveClassName, errors, timelines, initialTimeline) {\n        this._driver = _driver;\n        this.element = element;\n        this.subInstructions = subInstructions;\n        this._enterClassName = _enterClassName;\n        this._leaveClassName = _leaveClassName;\n        this.errors = errors;\n        this.timelines = timelines;\n        this.parentContext = null;\n        this.cu
 rrentAnimateTimings = null;\n        this.previousNode = DEFAULT_NOOP_PREVIOUS_NODE;\n        this.subContextCount = 0;\n        this.options = {};\n        this.currentQueryIndex = 0;\n        this.currentQueryTotal = 0;\n        this.currentStaggerTime = 0;\n        this.currentTimeline = initialTimeline || new TimelineBuilder(this._driver, element, 0);\n        timelines.push(this.currentTimeline);\n    }\n    Object.defineProperty(AnimationTimelineContext.prototype, \"params\", {\n        get: /**\n         * @return {?}\n         */\n        function () { return this.options.params; },\n        enumerable: true,\n        configurable: true\n    });\n    /**\n     * @param {?} options\n     * @param {?=} skipIfExists\n     * @return {?}\n     */\n    AnimationTimelineContext.prototype.updateOptions = /**\n     * @param {?} options\n     * @param {?=} skipIfExists\n     * @return {?}\n     */\n    function (options, skipIfExists) {\n        var _this = this;\n        if (!options
 )\n            return;\n        var /** @type {?} */ newOptions = /** @type {?} */ (options);\n        var /** @type {?} */ optionsToUpdate = this.options;\n        // NOTE: this will get patched up when other animation methods support duration overrides\n        if (newOptions.duration != null) {\n            (/** @type {?} */ (optionsToUpdate)).duration = resolveTimingValue(newOptions.duration);\n        }\n        if (newOptions.delay != null) {\n            optionsToUpdate.delay = resolveTimingValue(newOptions.delay);\n        }\n        var /** @type {?} */ newParams = newOptions.params;\n        if (newParams) {\n            var /** @type {?} */ paramsToUpdate_1 = /** @type {?} */ ((optionsToUpdate.params));\n            if (!paramsToUpdate_1) {\n                paramsToUpdate_1 = this.options.params = {};\n            }\n            Object.keys(newParams).forEach(function (name) {\n                if (!skipIfExists || !paramsToUpdate_1.hasOwnProperty(name)) {\n               
      paramsToUpdate_1[name] = interpolateParams(newParams[name], paramsToUpdate_1, _this.errors);\n                }\n            });\n        }\n    };\n    /**\n     * @return {?}\n     */\n    AnimationTimelineContext.prototype._copyOptions = /**\n     * @return {?}\n     */\n    function () {\n        var /** @type {?} */ options = {};\n        if (this.options) {\n            var /** @type {?} */ oldParams_1 = this.options.params;\n            if (oldParams_1) {\n                var /** @type {?} */ params_1 = options['params'] = {};\n                Object.keys(oldParams_1).forEach(function (name) { params_1[name] = oldParams_1[name]; });\n            }\n        }\n        return options;\n    };\n    /**\n     * @param {?=} options\n     * @param {?=} element\n     * @param {?=} newTime\n     * @return {?}\n     */\n    AnimationTimelineContext.prototype.createSubContext = /**\n     * @param {?=} options\n     * @param {?=} element\n     * @param {?=} newTime\n     * @return 
 {?}\n     */\n    function (options, element, newTime) {\n        if (options === void 0) { options = null; }\n        var /** @type {?} */ target = element || this.element;\n        var /** @type {?} */ context = new AnimationTimelineContext(this._driver, target, this.subInstructions, this._enterClassName, this._leaveClassName, this.errors, this.timelines, this.currentTimeline.fork(target, newTime || 0));\n        context.previousNode = this.previousNode;\n        context.currentAnimateTimings = this.currentAnimateTimings;\n        context.options = this._copyOptions();\n        context.updateOptions(options);\n        context.currentQueryIndex = this.currentQueryIndex;\n        context.currentQueryTotal = this.currentQueryTotal;\n        context.parentContext = this;\n        this.subContextCount++;\n        return context;\n    };\n    /**\n     * @param {?=} newTime\n     * @return {?}\n     */\n    AnimationTimelineContext.prototype.transformIntoNewTimeline = /**\n     * @param
  {?=} newTime\n     * @return {?}\n     */\n    function (newTime) {\n        this.previousNode = DEFAULT_NOOP_PREVIOUS_NODE;\n        this.currentTimeline = this.currentTimeline.fork(this.element, newTime);\n        this.timelines.push(this.currentTimeline);\n        return this.currentTimeline;\n    };\n    /**\n     * @param {?} instruction\n     * @param {?} duration\n     * @param {?} delay\n     * @return {?}\n     */\n    AnimationTimelineContext.prototype.appendInstructionToTimeline = /**\n     * @param {?} instruction\n     * @param {?} duration\n     * @param {?} delay\n     * @return {?}\n     */\n    function (instruction, duration, delay) {\n        var /** @type {?} */ updatedTimings = {\n            duration: duration != null ? duration : instruction.duration,\n            delay: this.currentTimeline.currentTime + (delay != null ? delay : 0) + instruction.delay,\n            easing: ''\n        };\n        var /** @type {?} */ builder = new SubTimelineBuilder(this._dr
 iver, instruction.element, instruction.keyframes, instruction.preStyleProps, instruction.postStyleProps, updatedTimings, instruction.stretchStartingKeyframe);\n        this.timelines.push(builder);\n        return updatedTimings;\n    };\n    /**\n     * @param {?} time\n     * @return {?}\n     */\n    AnimationTimelineContext.prototype.incrementTime = /**\n     * @param {?} time\n     * @return {?}\n     */\n    function (time) {\n        this.currentTimeline.forwardTime(this.currentTimeline.duration + time);\n    };\n    /**\n     * @param {?} delay\n     * @return {?}\n     */\n    AnimationTimelineContext.prototype.delayNextStep = /**\n     * @param {?} delay\n     * @return {?}\n     */\n    function (delay) {\n        // negative delays are not yet supported\n        if (delay > 0) {\n            this.currentTimeline.delayNextStep(delay);\n        }\n    };\n    /**\n     * @param {?} selector\n     * @param {?} originalSelector\n     * @param {?} limit\n     * @param {?} inc
 ludeSelf\n     * @param {?} optional\n     * @param {?} errors\n     * @return {?}\n     */\n    AnimationTimelineContext.prototype.invokeQuery = /**\n     * @param {?} selector\n     * @param {?} originalSelector\n     * @param {?} limit\n     * @param {?} includeSelf\n     * @param {?} optional\n     * @param {?} errors\n     * @return {?}\n     */\n    function (selector, originalSelector, limit, includeSelf, optional, errors) {\n        var /** @type {?} */ results = [];\n        if (includeSelf) {\n            results.push(this.element);\n        }\n        if (selector.length > 0) {\n            // if :self is only used then the selector is empty\n            selector = selector.replace(ENTER_TOKEN_REGEX, '.' + this._enterClassName);\n            selector = selector.replace(LEAVE_TOKEN_REGEX, '.' + this._leaveClassName);\n            var /** @type {?} */ multi = limit != 1;\n            var /** @type {?} */ elements = this._driver.query(this.element, selector, multi);\n       
      if (limit !== 0) {\n                elements = limit < 0 ? elements.slice(elements.length + limit, elements.length) :\n                    elements.slice(0, limit);\n            }\n            results.push.apply(results, elements);\n        }\n        if (!optional && results.length == 0) {\n            errors.push(\"`query(\\\"\" + originalSelector + \"\\\")` returned zero elements. (Use `query(\\\"\" + originalSelector + \"\\\", { optional: true })` if you wish to allow this.)\");\n        }\n        return results;\n    };\n    return AnimationTimelineContext;\n}());\nexport { AnimationTimelineContext };\nfunction AnimationTimelineContext_tsickle_Closure_declarations() {\n    /** @type {?} */\n    AnimationTimelineContext.prototype.parentContext;\n    /** @type {?} */\n    AnimationTimelineContext.prototype.currentTimeline;\n    /** @type {?} */\n    AnimationTimelineContext.prototype.currentAnimateTimings;\n    /** @type {?} */\n    AnimationTimelineContext.prototype.previo
 usNode;\n    /** @type {?} */\n    AnimationTimelineContext.prototype.subContextCount;\n    /** @type {?} */\n    AnimationTimelineContext.prototype.options;\n    /** @type {?} */\n    AnimationTimelineContext.prototype.currentQueryIndex;\n    /** @type {?} */\n    AnimationTimelineContext.prototype.currentQueryTotal;\n    /

<TRUNCATED>

[39/59] [abbrv] [partial] nifi-fds git commit: update gh-pages

Posted by sc...@apache.org.
http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/eec354e6/node_modules/@angular/animations/bundles/animations.umd.js
----------------------------------------------------------------------
diff --git a/node_modules/@angular/animations/bundles/animations.umd.js b/node_modules/@angular/animations/bundles/animations.umd.js
new file mode 100644
index 0000000..5426bf6
--- /dev/null
+++ b/node_modules/@angular/animations/bundles/animations.umd.js
@@ -0,0 +1,1640 @@
+/**
+ * @license Angular v5.2.0
+ * (c) 2010-2018 Google, Inc. https://angular.io/
+ * License: MIT
+ */
+(function (global, factory) {
+	typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports) :
+	typeof define === 'function' && define.amd ? define('@angular/animations', ['exports'], factory) :
+	(factory((global.ng = global.ng || {}, global.ng.animations = {})));
+}(this, (function (exports) { 'use strict';
+
+/**
+ * @license Angular v5.2.0
+ * (c) 2010-2018 Google, Inc. https://angular.io/
+ * License: MIT
+ */
+/**
+ * @fileoverview added by tsickle
+ * @suppress {checkTypes} checked by tsc
+ */
+/**
+ * AnimationBuilder is an injectable service that is available when the {\@link
+ * BrowserAnimationsModule BrowserAnimationsModule} or {\@link NoopAnimationsModule
+ * NoopAnimationsModule} modules are used within an application.
+ *
+ * The purpose if this service is to produce an animation sequence programmatically within an
+ * angular component or directive.
+ *
+ * Programmatic animations are first built and then a player is created when the build animation is
+ * attached to an element.
+ *
+ * ```ts
+ * // remember to include the BrowserAnimationsModule module for this to work...
+ * import {AnimationBuilder} from '\@angular/animations';
+ *
+ * class MyCmp {
+ *   constructor(private _builder: AnimationBuilder) {}
+ *
+ *   makeAnimation(element: any) {
+ *     // first build the animation
+ *     const myAnimation = this._builder.build([
+ *       style({ width: 0 }),
+ *       animate(1000, style({ width: '100px' }))
+ *     ]);
+ *
+ *     // then create a player from it
+ *     const player = myAnimation.create(element);
+ *
+ *     player.play();
+ *   }
+ * }
+ * ```
+ *
+ * When an animation is built an instance of {\@link AnimationFactory AnimationFactory} will be
+ * returned. Using that an {\@link AnimationPlayer AnimationPlayer} can be created which can then be
+ * used to start the animation.
+ *
+ * \@experimental Animation support is experimental.
+ * @abstract
+ */
+var AnimationBuilder = /** @class */ (function () {
+    function AnimationBuilder() {
+    }
+    return AnimationBuilder;
+}());
+/**
+ * An instance of `AnimationFactory` is returned from {\@link AnimationBuilder#build
+ * AnimationBuilder.build}.
+ *
+ * \@experimental Animation support is experimental.
+ * @abstract
+ */
+var AnimationFactory = /** @class */ (function () {
+    function AnimationFactory() {
+    }
+    return AnimationFactory;
+}());
+
+/**
+ * @fileoverview added by tsickle
+ * @suppress {checkTypes} checked by tsc
+ */
+/**
+ * @license
+ * Copyright Google Inc. All Rights Reserved.
+ *
+ * Use of this source code is governed by an MIT-style license that can be
+ * found in the LICENSE file at https://angular.io/license
+ * @record
+ */
+
+/**
+ * \@experimental Animation support is experimental.
+ */
+var AUTO_STYLE = '*';
+/**
+ * \@experimental Animation support is experimental.
+ * @record
+ */
+
+/**
+ * Metadata representing the entry of animations. Instances of this interface are provided via the
+ * animation DSL when the {\@link trigger trigger animation function} is called.
+ *
+ * \@experimental Animation support is experimental.
+ * @record
+ */
+
+/**
+ * Metadata representing the entry of animations. Instances of this interface are provided via the
+ * animation DSL when the {\@link state state animation function} is called.
+ *
+ * \@experimental Animation support is experimental.
+ * @record
+ */
+
+/**
+ * Metadata representing the entry of animations. Instances of this interface are provided via the
+ * animation DSL when the {\@link transition transition animation function} is called.
+ *
+ * \@experimental Animation support is experimental.
+ * @record
+ */
+
+/**
+ * \@experimental Animation support is experimental.
+ * @record
+ */
+
+/**
+ * \@experimental Animation support is experimental.
+ * @record
+ */
+
+/**
+ * Metadata representing the entry of animations. Instances of this interface are provided via the
+ * animation DSL when the {\@link keyframes keyframes animation function} is called.
+ *
+ * \@experimental Animation support is experimental.
+ * @record
+ */
+
+/**
+ * Metadata representing the entry of animations. Instances of this interface are provided via the
+ * animation DSL when the {\@link style style animation function} is called.
+ *
+ * \@experimental Animation support is experimental.
+ * @record
+ */
+
+/**
+ * Metadata representing the entry of animations. Instances of this interface are provided via the
+ * animation DSL when the {\@link animate animate animation function} is called.
+ *
+ * \@experimental Animation support is experimental.
+ * @record
+ */
+
+/**
+ * Metadata representing the entry of animations. Instances of this interface are provided via the
+ * animation DSL when the {\@link animateChild animateChild animation function} is called.
+ *
+ * \@experimental Animation support is experimental.
+ * @record
+ */
+
+/**
+ * Metadata representing the entry of animations. Instances of this interface are provided via the
+ * animation DSL when the {\@link useAnimation useAnimation animation function} is called.
+ *
+ * \@experimental Animation support is experimental.
+ * @record
+ */
+
+/**
+ * Metadata representing the entry of animations. Instances of this interface are provided via the
+ * animation DSL when the {\@link sequence sequence animation function} is called.
+ *
+ * \@experimental Animation support is experimental.
+ * @record
+ */
+
+/**
+ * Metadata representing the entry of animations. Instances of this interface are provided via the
+ * animation DSL when the {\@link group group animation function} is called.
+ *
+ * \@experimental Animation support is experimental.
+ * @record
+ */
+
+/**
+ * Metadata representing the entry of animations. Instances of this interface are provided via the
+ * animation DSL when the {\@link stagger stagger animation function} is called.
+ *
+ * \@experimental Animation support is experimental.
+ * @record
+ */
+
+/**
+ * `trigger` is an animation-specific function that is designed to be used inside of Angular's
+ * animation DSL language. If this information is new, please navigate to the
+ * {\@link Component#animations component animations metadata page} to gain a better
+ * understanding of how animations in Angular are used.
+ *
+ * `trigger` Creates an animation trigger which will a list of {\@link state state} and
+ * {\@link transition transition} entries that will be evaluated when the expression
+ * bound to the trigger changes.
+ *
+ * Triggers are registered within the component annotation data under the
+ * {\@link Component#animations animations section}. An animation trigger can be placed on an element
+ * within a template by referencing the name of the trigger followed by the expression value that
+ * the
+ * trigger is bound to (in the form of `[\@triggerName]="expression"`.
+ *
+ * Animation trigger bindings strigify values and then match the previous and current values against
+ * any linked transitions. If a boolean value is provided into the trigger binding then it will both
+ * be represented as `1` or `true` and `0` or `false` for a true and false boolean values
+ * respectively.
+ *
+ * ### Usage
+ *
+ * `trigger` will create an animation trigger reference based on the provided `name` value. The
+ * provided `animation` value is expected to be an array consisting of {\@link state state} and
+ * {\@link transition transition} declarations.
+ *
+ * ```typescript
+ * \@Component({
+ *   selector: 'my-component',
+ *   templateUrl: 'my-component-tpl.html',
+ *   animations: [
+ *     trigger("myAnimationTrigger", [
+ *       state(...),
+ *       state(...),
+ *       transition(...),
+ *       transition(...)
+ *     ])
+ *   ]
+ * })
+ * class MyComponent {
+ *   myStatusExp = "something";
+ * }
+ * ```
+ *
+ * The template associated with this component will make use of the `myAnimationTrigger` animation
+ * trigger by binding to an element within its template code.
+ *
+ * ```html
+ * <!-- somewhere inside of my-component-tpl.html -->
+ * <div [\@myAnimationTrigger]="myStatusExp">...</div>
+ * ```
+ *
+ * ## Disable Animations
+ * A special animation control binding called `\@.disabled` can be placed on an element which will
+ * then disable animations for any inner animation triggers situated within the element as well as
+ * any animations on the element itself.
+ *
+ * When true, the `\@.disabled` binding will prevent all animations from rendering. The example
+ * below shows how to use this feature:
+ *
+ * ```ts
+ * \@Component({
+ *   selector: 'my-component',
+ *   template: `
+ *     <div [\@.disabled]="isDisabled">
+ *       <div [\@childAnimation]="exp"></div>
+ *     </div>
+ *   `,
+ *   animations: [
+ *     trigger("childAnimation", [
+ *       // ...
+ *     ])
+ *   ]
+ * })
+ * class MyComponent {
+ *   isDisabled = true;
+ *   exp = '...';
+ * }
+ * ```
+ *
+ * The `\@childAnimation` trigger will not animate because `\@.disabled` prevents it from happening
+ * (when true).
+ *
+ * Note that `\@.disbled` will only disable all animations (this means any animations running on
+ * the same element will also be disabled).
+ *
+ * ### Disabling Animations Application-wide
+ * When an area of the template is set to have animations disabled, **all** inner components will
+ * also have their animations disabled as well. This means that all animations for an angular
+ * application can be disabled by placing a host binding set on `\@.disabled` on the topmost Angular
+ * component.
+ *
+ * ```ts
+ * import {Component, HostBinding} from '\@angular/core';
+ *
+ * \@Component({
+ *   selector: 'app-component',
+ *   templateUrl: 'app.component.html',
+ * })
+ * class AppComponent {
+ *   \@HostBinding('\@.disabled')
+ *   public animationsDisabled = true;
+ * }
+ * ```
+ *
+ * ### What about animations that us `query()` and `animateChild()`?
+ * Despite inner animations being disabled, a parent animation can {\@link query query} for inner
+ * elements located in disabled areas of the template and still animate them as it sees fit. This is
+ * also the case for when a sub animation is queried by a parent and then later animated using {\@link
+ * animateChild animateChild}.
+ *
+ * \@experimental Animation support is experimental.
+ * @param {?} name
+ * @param {?} definitions
+ * @return {?}
+ */
+function trigger(name, definitions) {
+    return { type: 7 /* Trigger */, name: name, definitions: definitions, options: {} };
+}
+/**
+ * `animate` is an animation-specific function that is designed to be used inside of Angular's
+ * animation DSL language. If this information is new, please navigate to the {\@link
+ * Component#animations component animations metadata page} to gain a better understanding of
+ * how animations in Angular are used.
+ *
+ * `animate` specifies an animation step that will apply the provided `styles` data for a given
+ * amount of time based on the provided `timing` expression value. Calls to `animate` are expected
+ * to be used within {\@link sequence an animation sequence}, {\@link group group}, or {\@link
+ * transition transition}.
+ *
+ * ### Usage
+ *
+ * The `animate` function accepts two input parameters: `timing` and `styles`:
+ *
+ * - `timing` is a string based value that can be a combination of a duration with optional delay
+ * and easing values. The format for the expression breaks down to `duration delay easing`
+ * (therefore a value such as `1s 100ms ease-out` will be parse itself into `duration=1000,
+ * delay=100, easing=ease-out`. If a numeric value is provided then that will be used as the
+ * `duration` value in millisecond form.
+ * - `styles` is the style input data which can either be a call to {\@link style style} or {\@link
+ * keyframes keyframes}. If left empty then the styles from the destination state will be collected
+ * and used (this is useful when describing an animation step that will complete an animation by
+ * {\@link transition#the-final-animate-call animating to the final state}).
+ *
+ * ```typescript
+ * // various functions for specifying timing data
+ * animate(500, style(...))
+ * animate("1s", style(...))
+ * animate("100ms 0.5s", style(...))
+ * animate("5s ease", style(...))
+ * animate("5s 10ms cubic-bezier(.17,.67,.88,.1)", style(...))
+ *
+ * // either style() of keyframes() can be used
+ * animate(500, style({ background: "red" }))
+ * animate(500, keyframes([
+ *   style({ background: "blue" })),
+ *   style({ background: "red" }))
+ * ])
+ * ```
+ *
+ * {\@example core/animation/ts/dsl/animation_example.ts region='Component'}
+ *
+ * \@experimental Animation support is experimental.
+ * @param {?} timings
+ * @param {?=} styles
+ * @return {?}
+ */
+function animate(timings, styles) {
+    if (styles === void 0) { styles = null; }
+    return { type: 4 /* Animate */, styles: styles, timings: timings };
+}
+/**
+ * `group` is an animation-specific function that is designed to be used inside of Angular's
+ * animation DSL language. If this information is new, please navigate to the {\@link
+ * Component#animations component animations metadata page} to gain a better understanding of
+ * how animations in Angular are used.
+ *
+ * `group` specifies a list of animation steps that are all run in parallel. Grouped animations are
+ * useful when a series of styles must be animated/closed off at different starting/ending times.
+ *
+ * The `group` function can either be used within a {\@link sequence sequence} or a {\@link transition
+ * transition} and it will only continue to the next instruction once all of the inner animation
+ * steps have completed.
+ *
+ * ### Usage
+ *
+ * The `steps` data that is passed into the `group` animation function can either consist of {\@link
+ * style style} or {\@link animate animate} function calls. Each call to `style()` or `animate()`
+ * within a group will be executed instantly (use {\@link keyframes keyframes} or a {\@link
+ * animate#usage animate() with a delay value} to offset styles to be applied at a later time).
+ *
+ * ```typescript
+ * group([
+ *   animate("1s", { background: "black" }))
+ *   animate("2s", { color: "white" }))
+ * ])
+ * ```
+ *
+ * {\@example core/animation/ts/dsl/animation_example.ts region='Component'}
+ *
+ * \@experimental Animation support is experimental.
+ * @param {?} steps
+ * @param {?=} options
+ * @return {?}
+ */
+function group(steps, options) {
+    if (options === void 0) { options = null; }
+    return { type: 3 /* Group */, steps: steps, options: options };
+}
+/**
+ * `sequence` is an animation-specific function that is designed to be used inside of Angular's
+ * animation DSL language. If this information is new, please navigate to the {\@link
+ * Component#animations component animations metadata page} to gain a better understanding of
+ * how animations in Angular are used.
+ *
+ * `sequence` Specifies a list of animation steps that are run one by one. (`sequence` is used by
+ * default when an array is passed as animation data into {\@link transition transition}.)
+ *
+ * The `sequence` function can either be used within a {\@link group group} or a {\@link transition
+ * transition} and it will only continue to the next instruction once each of the inner animation
+ * steps have completed.
+ *
+ * To perform animation styling in parallel with other animation steps then have a look at the
+ * {\@link group group} animation function.
+ *
+ * ### Usage
+ *
+ * The `steps` data that is passed into the `sequence` animation function can either consist of
+ * {\@link style style} or {\@link animate animate} function calls. A call to `style()` will apply the
+ * provided styling data immediately while a call to `animate()` will apply its styling data over a
+ * given time depending on its timing data.
+ *
+ * ```typescript
+ * sequence([
+ *   style({ opacity: 0 })),
+ *   animate("1s", { opacity: 1 }))
+ * ])
+ * ```
+ *
+ * {\@example core/animation/ts/dsl/animation_example.ts region='Component'}
+ *
+ * \@experimental Animation support is experimental.
+ * @param {?} steps
+ * @param {?=} options
+ * @return {?}
+ */
+function sequence(steps, options) {
+    if (options === void 0) { options = null; }
+    return { type: 2 /* Sequence */, steps: steps, options: options };
+}
+/**
+ * `style` is an animation-specific function that is designed to be used inside of Angular's
+ * animation DSL language. If this information is new, please navigate to the {\@link
+ * Component#animations component animations metadata page} to gain a better understanding of
+ * how animations in Angular are used.
+ *
+ * `style` declares a key/value object containing CSS properties/styles that can then be used for
+ * {\@link state animation states}, within an {\@link sequence animation sequence}, or as styling data
+ * for both {\@link animate animate} and {\@link keyframes keyframes}.
+ *
+ * ### Usage
+ *
+ * `style` takes in a key/value string map as data and expects one or more CSS property/value pairs
+ * to be defined.
+ *
+ * ```typescript
+ * // string values are used for css properties
+ * style({ background: "red", color: "blue" })
+ *
+ * // numerical (pixel) values are also supported
+ * style({ width: 100, height: 0 })
+ * ```
+ *
+ * #### Auto-styles (using `*`)
+ *
+ * When an asterix (`*`) character is used as a value then it will be detected from the element
+ * being animated and applied as animation data when the animation starts.
+ *
+ * This feature proves useful for a state depending on layout and/or environment factors; in such
+ * cases the styles are calculated just before the animation starts.
+ *
+ * ```typescript
+ * // the steps below will animate from 0 to the
+ * // actual height of the element
+ * style({ height: 0 }),
+ * animate("1s", style({ height: "*" }))
+ * ```
+ *
+ * {\@example core/animation/ts/dsl/animation_example.ts region='Component'}
+ *
+ * \@experimental Animation support is experimental.
+ * @param {?} tokens
+ * @return {?}
+ */
+function style(tokens) {
+    return { type: 6 /* Style */, styles: tokens, offset: null };
+}
+/**
+ * `state` is an animation-specific function that is designed to be used inside of Angular's
+ * animation DSL language. If this information is new, please navigate to the {\@link
+ * Component#animations component animations metadata page} to gain a better understanding of
+ * how animations in Angular are used.
+ *
+ * `state` declares an animation state within the given trigger. When a state is active within a
+ * component then its associated styles will persist on the element that the trigger is attached to
+ * (even when the animation ends).
+ *
+ * To animate between states, have a look at the animation {\@link transition transition} DSL
+ * function. To register states to an animation trigger please have a look at the {\@link trigger
+ * trigger} function.
+ *
+ * #### The `void` state
+ *
+ * The `void` state value is a reserved word that angular uses to determine when the element is not
+ * apart of the application anymore (e.g. when an `ngIf` evaluates to false then the state of the
+ * associated element is void).
+ *
+ * #### The `*` (default) state
+ *
+ * The `*` state (when styled) is a fallback state that will be used if the state that is being
+ * animated is not declared within the trigger.
+ *
+ * ### Usage
+ *
+ * `state` will declare an animation state with its associated styles
+ * within the given trigger.
+ *
+ * - `stateNameExpr` can be one or more state names separated by commas.
+ * - `styles` refers to the {\@link style styling data} that will be persisted on the element once
+ * the state has been reached.
+ *
+ * ```typescript
+ * // "void" is a reserved name for a state and is used to represent
+ * // the state in which an element is detached from from the application.
+ * state("void", style({ height: 0 }))
+ *
+ * // user-defined states
+ * state("closed", style({ height: 0 }))
+ * state("open, visible", style({ height: "*" }))
+ * ```
+ *
+ * {\@example core/animation/ts/dsl/animation_example.ts region='Component'}
+ *
+ * \@experimental Animation support is experimental.
+ * @param {?} name
+ * @param {?} styles
+ * @param {?=} options
+ * @return {?}
+ */
+function state(name, styles, options) {
+    return { type: 0 /* State */, name: name, styles: styles, options: options };
+}
+/**
+ * `keyframes` is an animation-specific function that is designed to be used inside of Angular's
+ * animation DSL language. If this information is new, please navigate to the {\@link
+ * Component#animations component animations metadata page} to gain a better understanding of
+ * how animations in Angular are used.
+ *
+ * `keyframes` specifies a collection of {\@link style style} entries each optionally characterized
+ * by an `offset` value.
+ *
+ * ### Usage
+ *
+ * The `keyframes` animation function is designed to be used alongside the {\@link animate animate}
+ * animation function. Instead of applying animations from where they are currently to their
+ * destination, keyframes can describe how each style entry is applied and at what point within the
+ * animation arc (much like CSS Keyframe Animations do).
+ *
+ * For each `style()` entry an `offset` value can be set. Doing so allows to specifiy at what
+ * percentage of the animate time the styles will be applied.
+ *
+ * ```typescript
+ * // the provided offset values describe when each backgroundColor value is applied.
+ * animate("5s", keyframes([
+ *   style({ backgroundColor: "red", offset: 0 }),
+ *   style({ backgroundColor: "blue", offset: 0.2 }),
+ *   style({ backgroundColor: "orange", offset: 0.3 }),
+ *   style({ backgroundColor: "black", offset: 1 })
+ * ]))
+ * ```
+ *
+ * Alternatively, if there are no `offset` values used within the style entries then the offsets
+ * will be calculated automatically.
+ *
+ * ```typescript
+ * animate("5s", keyframes([
+ *   style({ backgroundColor: "red" }) // offset = 0
+ *   style({ backgroundColor: "blue" }) // offset = 0.33
+ *   style({ backgroundColor: "orange" }) // offset = 0.66
+ *   style({ backgroundColor: "black" }) // offset = 1
+ * ]))
+ * ```
+ *
+ * {\@example core/animation/ts/dsl/animation_example.ts region='Component'}
+ *
+ * \@experimental Animation support is experimental.
+ * @param {?} steps
+ * @return {?}
+ */
+function keyframes(steps) {
+    return { type: 5 /* Keyframes */, steps: steps };
+}
+/**
+ * `transition` is an animation-specific function that is designed to be used inside of Angular's
+ * animation DSL language. If this information is new, please navigate to the {\@link
+ * Component#animations component animations metadata page} to gain a better understanding of
+ * how animations in Angular are used.
+ *
+ * `transition` declares the {\@link sequence sequence of animation steps} that will be run when the
+ * provided `stateChangeExpr` value is satisfied. The `stateChangeExpr` consists of a `state1 =>
+ * state2` which consists of two known states (use an asterix (`*`) to refer to a dynamic starting
+ * and/or ending state).
+ *
+ * A function can also be provided as the `stateChangeExpr` argument for a transition and this
+ * function will be executed each time a state change occurs. If the value returned within the
+ * function is true then the associated animation will be run.
+ *
+ * Animation transitions are placed within an {\@link trigger animation trigger}. For an transition
+ * to animate to a state value and persist its styles then one or more {\@link state animation
+ * states} is expected to be defined.
+ *
+ * ### Usage
+ *
+ * An animation transition is kicked off the `stateChangeExpr` predicate evaluates to true based on
+ * what the previous state is and what the current state has become. In other words, if a transition
+ * is defined that matches the old/current state criteria then the associated animation will be
+ * triggered.
+ *
+ * ```typescript
+ * // all transition/state changes are defined within an animation trigger
+ * trigger("myAnimationTrigger", [
+ *   // if a state is defined then its styles will be persisted when the
+ *   // animation has fully completed itself
+ *   state("on", style({ background: "green" })),
+ *   state("off", style({ background: "grey" })),
+ *
+ *   // a transition animation that will be kicked off when the state value
+ *   // bound to "myAnimationTrigger" changes from "on" to "off"
+ *   transition("on => off", animate(500)),
+ *
+ *   // it is also possible to do run the same animation for both directions
+ *   transition("on <=> off", animate(500)),
+ *
+ *   // or to define multiple states pairs separated by commas
+ *   transition("on => off, off => void", animate(500)),
+ *
+ *   // this is a catch-all state change for when an element is inserted into
+ *   // the page and the destination state is unknown
+ *   transition("void => *", [
+ *     style({ opacity: 0 }),
+ *     animate(500)
+ *   ]),
+ *
+ *   // this will capture a state change between any states
+ *   transition("* => *", animate("1s 0s")),
+ *
+ *   // you can also go full out and include a function
+ *   transition((fromState, toState) => {
+ *     // when `true` then it will allow the animation below to be invoked
+ *     return fromState == "off" && toState == "on";
+ *   }, animate("1s 0s"))
+ * ])
+ * ```
+ *
+ * The template associated with this component will make use of the `myAnimationTrigger` animation
+ * trigger by binding to an element within its template code.
+ *
+ * ```html
+ * <!-- somewhere inside of my-component-tpl.html -->
+ * <div [\@myAnimationTrigger]="myStatusExp">...</div>
+ * ```
+ *
+ * #### The final `animate` call
+ *
+ * If the final step within the transition steps is a call to `animate()` that **only** uses a
+ * timing value with **no style data** then it will be automatically used as the final animation arc
+ * for the element to animate itself to the final state. This involves an automatic mix of
+ * adding/removing CSS styles so that the element will be in the exact state it should be for the
+ * applied state to be presented correctly.
+ *
+ * ```
+ * // start off by hiding the element, but make sure that it animates properly to whatever state
+ * // is currently active for "myAnimationTrigger"
+ * transition("void => *", [
+ *   style({ opacity: 0 }),
+ *   animate(500)
+ * ])
+ * ```
+ *
+ * ### Using :enter and :leave
+ *
+ * Given that enter (insertion) and leave (removal) animations are so common, the `transition`
+ * function accepts both `:enter` and `:leave` values which are aliases for the `void => *` and `*
+ * => void` state changes.
+ *
+ * ```
+ * transition(":enter", [
+ *   style({ opacity: 0 }),
+ *   animate(500, style({ opacity: 1 }))
+ * ]),
+ * transition(":leave", [
+ *   animate(500, style({ opacity: 0 }))
+ * ])
+ * ```
+ *
+ * ### Boolean values
+ * if a trigger binding value is a boolean value then it can be matched using a transition
+ * expression that compares `true` and `false` or `1` and `0`.
+ *
+ * ```
+ * // in the template
+ * <div [\@openClose]="open ? true : false">...</div>
+ *
+ * // in the component metadata
+ * trigger('openClose', [
+ *   state('true', style({ height: '*' })),
+ *   state('false', style({ height: '0px' })),
+ *   transition('false <=> true', animate(500))
+ * ])
+ * ```
+ *
+ * ### Using :increment and :decrement
+ * In addition to the :enter and :leave transition aliases, the :increment and :decrement aliases
+ * can be used to kick off a transition when a numeric value has increased or decreased in value.
+ *
+ * ```
+ * import {group, animate, query, transition, style, trigger} from '\@angular/animations';
+ * import {Component} from '\@angular/core';
+ *
+ * \@Component({
+ *   selector: 'banner-carousel-component',
+ *   styles: [`
+ *     .banner-container {
+ *        position:relative;
+ *        height:500px;
+ *        overflow:hidden;
+ *      }
+ *     .banner-container > .banner {
+ *        position:absolute;
+ *        left:0;
+ *        top:0;
+ *        font-size:200px;
+ *        line-height:500px;
+ *        font-weight:bold;
+ *        text-align:center;
+ *        width:100%;
+ *      }
+ *   `],
+ *   template: `
+ *     <button (click)="previous()">Previous</button>
+ *     <button (click)="next()">Next</button>
+ *     <hr>
+ *     <div [\@bannerAnimation]="selectedIndex" class="banner-container">
+ *       <div class="banner"> {{ banner }} </div>
+ *     </div>
+ *   `
+ *   animations: [
+ *     trigger('bannerAnimation', [
+ *       transition(":increment", group([
+ *         query(':enter', [
+ *           style({ left: '100%' }),
+ *           animate('0.5s ease-out', style('*'))
+ *         ]),
+ *         query(':leave', [
+ *           animate('0.5s ease-out', style({ left: '-100%' }))
+ *         ])
+ *       ])),
+ *       transition(":decrement", group([
+ *         query(':enter', [
+ *           style({ left: '-100%' }),
+ *           animate('0.5s ease-out', style('*'))
+ *         ]),
+ *         query(':leave', [
+ *           animate('0.5s ease-out', style({ left: '100%' }))
+ *         ])
+ *       ])),
+ *     ])
+ *   ]
+ * })
+ * class BannerCarouselComponent {
+ *   allBanners: string[] = ['1', '2', '3', '4'];
+ *   selectedIndex: number = 0;
+ *
+ *   get banners() {
+ *      return [this.allBanners[this.selectedIndex]];
+ *   }
+ *
+ *   previous() {
+ *     this.selectedIndex = Math.max(this.selectedIndex - 1, 0);
+ *   }
+ *
+ *   next() {
+ *     this.selectedIndex = Math.min(this.selectedIndex + 1, this.allBanners.length - 1);
+ *   }
+ * }
+ * ```
+ *
+ * {\@example core/animation/ts/dsl/animation_example.ts region='Component'}
+ *
+ * \@experimental Animation support is experimental.
+ * @param {?} stateChangeExpr
+ * @param {?} steps
+ * @param {?=} options
+ * @return {?}
+ */
+function transition(stateChangeExpr, steps, options) {
+    if (options === void 0) { options = null; }
+    return { type: 1 /* Transition */, expr: stateChangeExpr, animation: steps, options: options };
+}
+/**
+ * `animation` is an animation-specific function that is designed to be used inside of Angular's
+ * animation DSL language.
+ *
+ * `var myAnimation = animation(...)` is designed to produce a reusable animation that can be later
+ * invoked in another animation or sequence. Reusable animations are designed to make use of
+ * animation parameters and the produced animation can be used via the `useAnimation` method.
+ *
+ * ```
+ * var fadeAnimation = animation([
+ *   style({ opacity: '{{ start }}' }),
+ *   animate('{{ time }}',
+ *     style({ opacity: '{{ end }}'}))
+ * ], { params: { time: '1000ms', start: 0, end: 1 }});
+ * ```
+ *
+ * If parameters are attached to an animation then they act as **default parameter values**. When an
+ * animation is invoked via `useAnimation` then parameter values are allowed to be passed in
+ * directly. If any of the passed in parameter values are missing then the default values will be
+ * used.
+ *
+ * ```
+ * useAnimation(fadeAnimation, {
+ *   params: {
+ *     time: '2s',
+ *     start: 1,
+ *     end: 0
+ *   }
+ * })
+ * ```
+ *
+ * If one or more parameter values are missing before animated then an error will be thrown.
+ *
+ * \@experimental Animation support is experimental.
+ * @param {?} steps
+ * @param {?=} options
+ * @return {?}
+ */
+function animation(steps, options) {
+    if (options === void 0) { options = null; }
+    return { type: 8 /* Reference */, animation: steps, options: options };
+}
+/**
+ * `animateChild` is an animation-specific function that is designed to be used inside of Angular's
+ * animation DSL language. It works by allowing a queried element to execute its own
+ * animation within the animation sequence.
+ *
+ * Each time an animation is triggered in angular, the parent animation
+ * will always get priority and any child animations will be blocked. In order
+ * for a child animation to run, the parent animation must query each of the elements
+ * containing child animations and then allow the animations to run using `animateChild`.
+ *
+ * The example HTML code below shows both parent and child elements that have animation
+ * triggers that will execute at the same time.
+ *
+ * ```html
+ * <!-- parent-child.component.html -->
+ * <button (click)="exp =! exp">Toggle</button>
+ * <hr>
+ *
+ * <div [\@parentAnimation]="exp">
+ *   <header>Hello</header>
+ *   <div [\@childAnimation]="exp">
+ *       one
+ *   </div>
+ *   <div [\@childAnimation]="exp">
+ *       two
+ *   </div>
+ *   <div [\@childAnimation]="exp">
+ *       three
+ *   </div>
+ * </div>
+ * ```
+ *
+ * Now when the `exp` value changes to true, only the `parentAnimation` animation will animate
+ * because it has priority. However, using `query` and `animateChild` each of the inner animations
+ * can also fire:
+ *
+ * ```ts
+ * // parent-child.component.ts
+ * import {trigger, transition, animate, style, query, animateChild} from '\@angular/animations';
+ * \@Component({
+ *   selector: 'parent-child-component',
+ *   animations: [
+ *     trigger('parentAnimation', [
+ *       transition('false => true', [
+ *         query('header', [
+ *           style({ opacity: 0 }),
+ *           animate(500, style({ opacity: 1 }))
+ *         ]),
+ *         query('\@childAnimation', [
+ *           animateChild()
+ *         ])
+ *       ])
+ *     ]),
+ *     trigger('childAnimation', [
+ *       transition('false => true', [
+ *         style({ opacity: 0 }),
+ *         animate(500, style({ opacity: 1 }))
+ *       ])
+ *     ])
+ *   ]
+ * })
+ * class ParentChildCmp {
+ *   exp: boolean = false;
+ * }
+ * ```
+ *
+ * In the animation code above, when the `parentAnimation` transition kicks off it first queries to
+ * find the header element and fades it in. It then finds each of the sub elements that contain the
+ * `\@childAnimation` trigger and then allows for their animations to fire.
+ *
+ * This example can be further extended by using stagger:
+ *
+ * ```ts
+ * query('\@childAnimation', stagger(100, [
+ *   animateChild()
+ * ]))
+ * ```
+ *
+ * Now each of the sub animations start off with respect to the `100ms` staggering step.
+ *
+ * ## The first frame of child animations
+ * When sub animations are executed using `animateChild` the animation engine will always apply the
+ * first frame of every sub animation immediately at the start of the animation sequence. This way
+ * the parent animation does not need to set any initial styling data on the sub elements before the
+ * sub animations kick off.
+ *
+ * In the example above the first frame of the `childAnimation`'s `false => true` transition
+ * consists of a style of `opacity: 0`. This is applied immediately when the `parentAnimation`
+ * animation transition sequence starts. Only then when the `\@childAnimation` is queried and called
+ * with `animateChild` will it then animate to its destination of `opacity: 1`.
+ *
+ * Note that this feature designed to be used alongside {\@link query query()} and it will only work
+ * with animations that are assigned using the Angular animation DSL (this means that CSS keyframes
+ * and transitions are not handled by this API).
+ *
+ * \@experimental Animation support is experimental.
+ * @param {?=} options
+ * @return {?}
+ */
+function animateChild(options) {
+    if (options === void 0) { options = null; }
+    return { type: 9 /* AnimateChild */, options: options };
+}
+/**
+ * `useAnimation` is an animation-specific function that is designed to be used inside of Angular's
+ * animation DSL language. It is used to kick off a reusable animation that is created using {\@link
+ * animation animation()}.
+ *
+ * \@experimental Animation support is experimental.
+ * @param {?} animation
+ * @param {?=} options
+ * @return {?}
+ */
+function useAnimation(animation, options) {
+    if (options === void 0) { options = null; }
+    return { type: 10 /* AnimateRef */, animation: animation, options: options };
+}
+/**
+ * `query` is an animation-specific function that is designed to be used inside of Angular's
+ * animation DSL language.
+ *
+ * query() is used to find one or more inner elements within the current element that is
+ * being animated within the sequence. The provided animation steps are applied
+ * to the queried element (by default, an array is provided, then this will be
+ * treated as an animation sequence).
+ *
+ * ### Usage
+ *
+ * query() is designed to collect mutiple elements and works internally by using
+ * `element.querySelectorAll`. An additional options object can be provided which
+ * can be used to limit the total amount of items to be collected.
+ *
+ * ```js
+ * query('div', [
+ *   animate(...),
+ *   animate(...)
+ * ], { limit: 1 })
+ * ```
+ *
+ * query(), by default, will throw an error when zero items are found. If a query
+ * has the `optional` flag set to true then this error will be ignored.
+ *
+ * ```js
+ * query('.some-element-that-may-not-be-there', [
+ *   animate(...),
+ *   animate(...)
+ * ], { optional: true })
+ * ```
+ *
+ * ### Special Selector Values
+ *
+ * The selector value within a query can collect elements that contain angular-specific
+ * characteristics
+ * using special pseudo-selectors tokens.
+ *
+ * These include:
+ *
+ *  - Querying for newly inserted/removed elements using `query(":enter")`/`query(":leave")`
+ *  - Querying all currently animating elements using `query(":animating")`
+ *  - Querying elements that contain an animation trigger using `query("\@triggerName")`
+ *  - Querying all elements that contain an animation triggers using `query("\@*")`
+ *  - Including the current element into the animation sequence using `query(":self")`
+ *
+ *
+ *  Each of these pseudo-selector tokens can be merged together into a combined query selector
+ * string:
+ *
+ *  ```
+ *  query(':self, .record:enter, .record:leave, \@subTrigger', [...])
+ *  ```
+ *
+ * ### Demo
+ *
+ * ```
+ * \@Component({
+ *   selector: 'inner',
+ *   template: `
+ *     <div [\@queryAnimation]="exp">
+ *       <h1>Title</h1>
+ *       <div class="content">
+ *         Blah blah blah
+ *       </div>
+ *     </div>
+ *   `,
+ *   animations: [
+ *    trigger('queryAnimation', [
+ *      transition('* => goAnimate', [
+ *        // hide the inner elements
+ *        query('h1', style({ opacity: 0 })),
+ *        query('.content', style({ opacity: 0 })),
+ *
+ *        // animate the inner elements in, one by one
+ *        query('h1', animate(1000, style({ opacity: 1 })),
+ *        query('.content', animate(1000, style({ opacity: 1 })),
+ *      ])
+ *    ])
+ *  ]
+ * })
+ * class Cmp {
+ *   exp = '';
+ *
+ *   goAnimate() {
+ *     this.exp = 'goAnimate';
+ *   }
+ * }
+ * ```
+ *
+ * \@experimental Animation support is experimental.
+ * @param {?} selector
+ * @param {?} animation
+ * @param {?=} options
+ * @return {?}
+ */
+function query(selector, animation, options) {
+    if (options === void 0) { options = null; }
+    return { type: 11 /* Query */, selector: selector, animation: animation, options: options };
+}
+/**
+ * `stagger` is an animation-specific function that is designed to be used inside of Angular's
+ * animation DSL language. It is designed to be used inside of an animation {\@link query query()}
+ * and works by issuing a timing gap between after each queried item is animated.
+ *
+ * ### Usage
+ *
+ * In the example below there is a container element that wraps a list of items stamped out
+ * by an ngFor. The container element contains an animation trigger that will later be set
+ * to query for each of the inner items.
+ *
+ * ```html
+ * <!-- list.component.html -->
+ * <button (click)="toggle()">Show / Hide Items</button>
+ * <hr />
+ * <div [\@listAnimation]="items.length">
+ *   <div *ngFor="let item of items">
+ *     {{ item }}
+ *   </div>
+ * </div>
+ * ```
+ *
+ * The component code for this looks as such:
+ *
+ * ```ts
+ * import {trigger, transition, style, animate, query, stagger} from '\@angular/animations';
+ * \@Component({
+ *   templateUrl: 'list.component.html',
+ *   animations: [
+ *     trigger('listAnimation', [
+ *        //...
+ *     ])
+ *   ]
+ * })
+ * class ListComponent {
+ *   items = [];
+ *
+ *   showItems() {
+ *     this.items = [0,1,2,3,4];
+ *   }
+ *
+ *   hideItems() {
+ *     this.items = [];
+ *   }
+ *
+ *   toggle() {
+ *     this.items.length ? this.hideItems() : this.showItems();
+ *   }
+ * }
+ * ```
+ *
+ * And now for the animation trigger code:
+ *
+ * ```ts
+ * trigger('listAnimation', [
+ *   transition('* => *', [ // each time the binding value changes
+ *     query(':leave', [
+ *       stagger(100, [
+ *         animate('0.5s', style({ opacity: 0 }))
+ *       ])
+ *     ]),
+ *     query(':enter', [
+ *       style({ opacity: 0 }),
+ *       stagger(100, [
+ *         animate('0.5s', style({ opacity: 1 }))
+ *       ])
+ *     ])
+ *   ])
+ * ])
+ * ```
+ *
+ * Now each time the items are added/removed then either the opacity
+ * fade-in animation will run or each removed item will be faded out.
+ * When either of these animations occur then a stagger effect will be
+ * applied after each item's animation is started.
+ *
+ * \@experimental Animation support is experimental.
+ * @param {?} timings
+ * @param {?} animation
+ * @return {?}
+ */
+function stagger(timings, animation) {
+    return { type: 12 /* Stagger */, timings: timings, animation: animation };
+}
+
+/**
+ * @fileoverview added by tsickle
+ * @suppress {checkTypes} checked by tsc
+ */
+/**
+ * @license
+ * Copyright Google Inc. All Rights Reserved.
+ *
+ * Use of this source code is governed by an MIT-style license that can be
+ * found in the LICENSE file at https://angular.io/license
+ * @param {?} cb
+ * @return {?}
+ */
+function scheduleMicroTask(cb) {
+    Promise.resolve(null).then(cb);
+}
+
+/**
+ * @fileoverview added by tsickle
+ * @suppress {checkTypes} checked by tsc
+ */
+/**
+ * AnimationPlayer controls an animation sequence that was produced from a programmatic animation.
+ * (see {\@link AnimationBuilder AnimationBuilder} for more information on how to create programmatic
+ * animations.)
+ *
+ * \@experimental Animation support is experimental.
+ * @record
+ */
+
+/**
+ * \@experimental Animation support is experimental.
+ */
+var NoopAnimationPlayer = /** @class */ (function () {
+    function NoopAnimationPlayer() {
+        this._onDoneFns = [];
+        this._onStartFns = [];
+        this._onDestroyFns = [];
+        this._started = false;
+        this._destroyed = false;
+        this._finished = false;
+        this.parentPlayer = null;
+        this.totalTime = 0;
+    }
+    /**
+     * @return {?}
+     */
+    NoopAnimationPlayer.prototype._onFinish = /**
+     * @return {?}
+     */
+    function () {
+        if (!this._finished) {
+            this._finished = true;
+            this._onDoneFns.forEach(function (fn) { return fn(); });
+            this._onDoneFns = [];
+        }
+    };
+    /**
+     * @param {?} fn
+     * @return {?}
+     */
+    NoopAnimationPlayer.prototype.onStart = /**
+     * @param {?} fn
+     * @return {?}
+     */
+    function (fn) { this._onStartFns.push(fn); };
+    /**
+     * @param {?} fn
+     * @return {?}
+     */
+    NoopAnimationPlayer.prototype.onDone = /**
+     * @param {?} fn
+     * @return {?}
+     */
+    function (fn) { this._onDoneFns.push(fn); };
+    /**
+     * @param {?} fn
+     * @return {?}
+     */
+    NoopAnimationPlayer.prototype.onDestroy = /**
+     * @param {?} fn
+     * @return {?}
+     */
+    function (fn) { this._onDestroyFns.push(fn); };
+    /**
+     * @return {?}
+     */
+    NoopAnimationPlayer.prototype.hasStarted = /**
+     * @return {?}
+     */
+    function () { return this._started; };
+    /**
+     * @return {?}
+     */
+    NoopAnimationPlayer.prototype.init = /**
+     * @return {?}
+     */
+    function () { };
+    /**
+     * @return {?}
+     */
+    NoopAnimationPlayer.prototype.play = /**
+     * @return {?}
+     */
+    function () {
+        if (!this.hasStarted()) {
+            this._onStart();
+            this.triggerMicrotask();
+        }
+        this._started = true;
+    };
+    /* @internal */
+    /**
+     * @return {?}
+     */
+    NoopAnimationPlayer.prototype.triggerMicrotask = /**
+     * @return {?}
+     */
+    function () {
+        var _this = this;
+        scheduleMicroTask(function () { return _this._onFinish(); });
+    };
+    /**
+     * @return {?}
+     */
+    NoopAnimationPlayer.prototype._onStart = /**
+     * @return {?}
+     */
+    function () {
+        this._onStartFns.forEach(function (fn) { return fn(); });
+        this._onStartFns = [];
+    };
+    /**
+     * @return {?}
+     */
+    NoopAnimationPlayer.prototype.pause = /**
+     * @return {?}
+     */
+    function () { };
+    /**
+     * @return {?}
+     */
+    NoopAnimationPlayer.prototype.restart = /**
+     * @return {?}
+     */
+    function () { };
+    /**
+     * @return {?}
+     */
+    NoopAnimationPlayer.prototype.finish = /**
+     * @return {?}
+     */
+    function () { this._onFinish(); };
+    /**
+     * @return {?}
+     */
+    NoopAnimationPlayer.prototype.destroy = /**
+     * @return {?}
+     */
+    function () {
+        if (!this._destroyed) {
+            this._destroyed = true;
+            if (!this.hasStarted()) {
+                this._onStart();
+            }
+            this.finish();
+            this._onDestroyFns.forEach(function (fn) { return fn(); });
+            this._onDestroyFns = [];
+        }
+    };
+    /**
+     * @return {?}
+     */
+    NoopAnimationPlayer.prototype.reset = /**
+     * @return {?}
+     */
+    function () { };
+    /**
+     * @param {?} p
+     * @return {?}
+     */
+    NoopAnimationPlayer.prototype.setPosition = /**
+     * @param {?} p
+     * @return {?}
+     */
+    function (p) { };
+    /**
+     * @return {?}
+     */
+    NoopAnimationPlayer.prototype.getPosition = /**
+     * @return {?}
+     */
+    function () { return 0; };
+    /* @internal */
+    /**
+     * @param {?} phaseName
+     * @return {?}
+     */
+    NoopAnimationPlayer.prototype.triggerCallback = /**
+     * @param {?} phaseName
+     * @return {?}
+     */
+    function (phaseName) {
+        var /** @type {?} */ methods = phaseName == 'start' ? this._onStartFns : this._onDoneFns;
+        methods.forEach(function (fn) { return fn(); });
+        methods.length = 0;
+    };
+    return NoopAnimationPlayer;
+}());
+
+/**
+ * @fileoverview added by tsickle
+ * @suppress {checkTypes} checked by tsc
+ */
+/**
+ * @license
+ * Copyright Google Inc. All Rights Reserved.
+ *
+ * Use of this source code is governed by an MIT-style license that can be
+ * found in the LICENSE file at https://angular.io/license
+ */
+var AnimationGroupPlayer = /** @class */ (function () {
+    function AnimationGroupPlayer(_players) {
+        var _this = this;
+        this._onDoneFns = [];
+        this._onStartFns = [];
+        this._finished = false;
+        this._started = false;
+        this._destroyed = false;
+        this._onDestroyFns = [];
+        this.parentPlayer = null;
+        this.totalTime = 0;
+        this.players = _players;
+        var /** @type {?} */ doneCount = 0;
+        var /** @type {?} */ destroyCount = 0;
+        var /** @type {?} */ startCount = 0;
+        var /** @type {?} */ total = this.players.length;
+        if (total == 0) {
+            scheduleMicroTask(function () { return _this._onFinish(); });
+        }
+        else {
+            this.players.forEach(function (player) {
+                player.onDone(function () {
+                    if (++doneCount == total) {
+                        _this._onFinish();
+                    }
+                });
+                player.onDestroy(function () {
+                    if (++destroyCount == total) {
+                        _this._onDestroy();
+                    }
+                });
+                player.onStart(function () {
+                    if (++startCount == total) {
+                        _this._onStart();
+                    }
+                });
+            });
+        }
+        this.totalTime = this.players.reduce(function (time, player) { return Math.max(time, player.totalTime); }, 0);
+    }
+    /**
+     * @return {?}
+     */
+    AnimationGroupPlayer.prototype._onFinish = /**
+     * @return {?}
+     */
+    function () {
+        if (!this._finished) {
+            this._finished = true;
+            this._onDoneFns.forEach(function (fn) { return fn(); });
+            this._onDoneFns = [];
+        }
+    };
+    /**
+     * @return {?}
+     */
+    AnimationGroupPlayer.prototype.init = /**
+     * @return {?}
+     */
+    function () { this.players.forEach(function (player) { return player.init(); }); };
+    /**
+     * @param {?} fn
+     * @return {?}
+     */
+    AnimationGroupPlayer.prototype.onStart = /**
+     * @param {?} fn
+     * @return {?}
+     */
+    function (fn) { this._onStartFns.push(fn); };
+    /**
+     * @return {?}
+     */
+    AnimationGroupPlayer.prototype._onStart = /**
+     * @return {?}
+     */
+    function () {
+        if (!this.hasStarted()) {
+            this._started = true;
+            this._onStartFns.forEach(function (fn) { return fn(); });
+            this._onStartFns = [];
+        }
+    };
+    /**
+     * @param {?} fn
+     * @return {?}
+     */
+    AnimationGroupPlayer.prototype.onDone = /**
+     * @param {?} fn
+     * @return {?}
+     */
+    function (fn) { this._onDoneFns.push(fn); };
+    /**
+     * @param {?} fn
+     * @return {?}
+     */
+    AnimationGroupPlayer.prototype.onDestroy = /**
+     * @param {?} fn
+     * @return {?}
+     */
+    function (fn) { this._onDestroyFns.push(fn); };
+    /**
+     * @return {?}
+     */
+    AnimationGroupPlayer.prototype.hasStarted = /**
+     * @return {?}
+     */
+    function () { return this._started; };
+    /**
+     * @return {?}
+     */
+    AnimationGroupPlayer.prototype.play = /**
+     * @return {?}
+     */
+    function () {
+        if (!this.parentPlayer) {
+            this.init();
+        }
+        this._onStart();
+        this.players.forEach(function (player) { return player.play(); });
+    };
+    /**
+     * @return {?}
+     */
+    AnimationGroupPlayer.prototype.pause = /**
+     * @return {?}
+     */
+    function () { this.players.forEach(function (player) { return player.pause(); }); };
+    /**
+     * @return {?}
+     */
+    AnimationGroupPlayer.prototype.restart = /**
+     * @return {?}
+     */
+    function () { this.players.forEach(function (player) { return player.restart(); }); };
+    /**
+     * @return {?}
+     */
+    AnimationGroupPlayer.prototype.finish = /**
+     * @return {?}
+     */
+    function () {
+        this._onFinish();
+        this.players.forEach(function (player) { return player.finish(); });
+    };
+    /**
+     * @return {?}
+     */
+    AnimationGroupPlayer.prototype.destroy = /**
+     * @return {?}
+     */
+    function () { this._onDestroy(); };
+    /**
+     * @return {?}
+     */
+    AnimationGroupPlayer.prototype._onDestroy = /**
+     * @return {?}
+     */
+    function () {
+        if (!this._destroyed) {
+            this._destroyed = true;
+            this._onFinish();
+            this.players.forEach(function (player) { return player.destroy(); });
+            this._onDestroyFns.forEach(function (fn) { return fn(); });
+            this._onDestroyFns = [];
+        }
+    };
+    /**
+     * @return {?}
+     */
+    AnimationGroupPlayer.prototype.reset = /**
+     * @return {?}
+     */
+    function () {
+        this.players.forEach(function (player) { return player.reset(); });
+        this._destroyed = false;
+        this._finished = false;
+        this._started = false;
+    };
+    /**
+     * @param {?} p
+     * @return {?}
+     */
+    AnimationGroupPlayer.prototype.setPosition = /**
+     * @param {?} p
+     * @return {?}
+     */
+    function (p) {
+        var /** @type {?} */ timeAtPosition = p * this.totalTime;
+        this.players.forEach(function (player) {
+            var /** @type {?} */ position = player.totalTime ? Math.min(1, timeAtPosition / player.totalTime) : 1;
+            player.setPosition(position);
+        });
+    };
+    /**
+     * @return {?}
+     */
+    AnimationGroupPlayer.prototype.getPosition = /**
+     * @return {?}
+     */
+    function () {
+        var /** @type {?} */ min = 0;
+        this.players.forEach(function (player) {
+            var /** @type {?} */ p = player.getPosition();
+            min = Math.min(p, min);
+        });
+        return min;
+    };
+    /**
+     * @return {?}
+     */
+    AnimationGroupPlayer.prototype.beforeDestroy = /**
+     * @return {?}
+     */
+    function () {
+        this.players.forEach(function (player) {
+            if (player.beforeDestroy) {
+                player.beforeDestroy();
+            }
+        });
+    };
+    /* @internal */
+    /**
+     * @param {?} phaseName
+     * @return {?}
+     */
+    AnimationGroupPlayer.prototype.triggerCallback = /**
+     * @param {?} phaseName
+     * @return {?}
+     */
+    function (phaseName) {
+        var /** @type {?} */ methods = phaseName == 'start' ? this._onStartFns : this._onDoneFns;
+        methods.forEach(function (fn) { return fn(); });
+        methods.length = 0;
+    };
+    return AnimationGroupPlayer;
+}());
+
+/**
+ * @fileoverview added by tsickle
+ * @suppress {checkTypes} checked by tsc
+ */
+var ɵPRE_STYLE = '!';
+
+exports.AnimationBuilder = AnimationBuilder;
+exports.AnimationFactory = AnimationFactory;
+exports.AUTO_STYLE = AUTO_STYLE;
+exports.animate = animate;
+exports.animateChild = animateChild;
+exports.animation = animation;
+exports.group = group;
+exports.keyframes = keyframes;
+exports.query = query;
+exports.sequence = sequence;
+exports.stagger = stagger;
+exports.state = state;
+exports.style = style;
+exports.transition = transition;
+exports.trigger = trigger;
+exports.useAnimation = useAnimation;
+exports.NoopAnimationPlayer = NoopAnimationPlayer;
+exports.ɵAnimationGroupPlayer = AnimationGroupPlayer;
+exports.ɵPRE_STYLE = ɵPRE_STYLE;
+
+Object.defineProperty(exports, '__esModule', { value: true });
+
+})));
+//# sourceMappingURL=animations.umd.js.map


[42/59] [abbrv] [partial] nifi-fds git commit: update gh-pages

Posted by sc...@apache.org.
http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/eec354e6/node_modules/@angular/animations/bundles/animations-browser.umd.js.map
----------------------------------------------------------------------
diff --git a/node_modules/@angular/animations/bundles/animations-browser.umd.js.map b/node_modules/@angular/animations/bundles/animations-browser.umd.js.map
new file mode 100644
index 0000000..5d2a5eb
--- /dev/null
+++ b/node_modules/@angular/animations/bundles/animations-browser.umd.js.map
@@ -0,0 +1 @@
+{"version":3,"file":"animations-browser.umd.js","sources":["../../../../node_modules/tslib/tslib.es6.js","../../../packages/animations/esm5/browser/src/render/shared.js","../../../packages/animations/esm5/browser/src/render/animation_driver.js","../../../packages/animations/esm5/browser/src/util.js","../../../packages/animations/esm5/browser/src/dsl/animation_transition_expr.js","../../../packages/animations/esm5/browser/src/dsl/animation_ast_builder.js","../../../packages/animations/esm5/browser/src/dsl/animation_timeline_instruction.js","../../../packages/animations/esm5/browser/src/dsl/element_instruction_map.js","../../../packages/animations/esm5/browser/src/dsl/animation_timeline_builder.js","../../../packages/animations/esm5/browser/src/dsl/animation.js","../../../packages/animations/esm5/browser/src/dsl/style_normalization/animation_style_normalizer.js","../../../packages/animations/esm5/browser/src/dsl/style_normalization/web_animations_style_normalizer.js","../../../package
 s/animations/esm5/browser/src/dsl/animation_transition_instruction.js","../../../packages/animations/esm5/browser/src/dsl/animation_transition_factory.js","../../../packages/animations/esm5/browser/src/dsl/animation_trigger.js","../../../packages/animations/esm5/browser/src/render/timeline_animation_engine.js","../../../packages/animations/esm5/browser/src/render/transition_animation_engine.js","../../../packages/animations/esm5/browser/src/render/animation_engine_next.js","../../../packages/animations/esm5/browser/src/render/web_animations/web_animations_player.js","../../../packages/animations/esm5/browser/src/render/web_animations/web_animations_driver.js"],"sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\
 r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = Object.setPrototypeOf ||\r\n    ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n    function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n\r\nexport function __extends(d, b) {\r\n    extendStatics(d, b);\r\n    function __() { this.constructor = d; }\r\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, n
 ew __());\r\n}\r\n\r\nexport var __assign = Object.assign || function __assign(t) {\r\n    for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n        s = arguments[i];\r\n        for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n    }\r\n    return t;\r\n}\r\n\r\nexport function __rest(s, e) {\r\n    var t = {};\r\n    for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n        t[p] = s[p];\r\n    if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n        for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) if (e.indexOf(p[i]) < 0)\r\n            t[p[i]] = s[p[i]];\r\n    return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n    var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n    if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r
  = Reflect.decorate(decorators, target, key, desc);\r\n    else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n    return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n    return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n    if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n    return new (P || (P = Promise))(function (resolve, reject) {\r\n        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n        function rejected(value) { try { step(generator.throw(value)); } catch (e) { reject(e); } }\r\n        function step(r
 esult) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }\r\n        step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n    });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n    var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n    return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n    function verb(n) { return function (v) { return step([n, v]); }; }\r\n    function step(op) {\r\n        if (f) throw new TypeError(\"Generator is already executing.\");\r\n        while (_) try {\r\n            if (f = 1, y && (t = y[op[0] & 2 ? \"return\" : op[0] ? \"throw\" : \"next\"]) && !(t = t.call(y, op[1])).done) return t;\r\n            if (y = 0, t) op = [0, t.value];\r\n            switch (op[0]) {\r\n      
           case 0: case 1: t = op; break;\r\n                case 4: _.label++; return { value: op[1], done: false };\r\n                case 5: _.label++; y = op[1]; op = [0]; continue;\r\n                case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n                default:\r\n                    if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n                    if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n                    if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n                    if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n                    if (t[2]) _.ops.pop();\r\n                    _.trys.pop(); continue;\r\n            }\r\n            op = body.call(thisArg, _);\r\n        } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n        if (op[0] & 5) throw op[1]; return { value: op[0] ? op
 [1] : void 0, done: true };\r\n    }\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n    for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n    var m = typeof Symbol === \"function\" && o[Symbol.iterator], i = 0;\r\n    if (m) return m.call(o);\r\n    return {\r\n        next: function () {\r\n            if (o && i >= o.length) o = void 0;\r\n            return { value: o && o[i++], done: !o };\r\n        }\r\n    };\r\n}\r\n\r\nexport function __read(o, n) {\r\n    var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n    if (!m) return o;\r\n    var i = m.call(o), r, ar = [], e;\r\n    try {\r\n        while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n    }\r\n    catch (error) { e = { error: error }; }\r\n    finally {\r\n        try {\r\n            if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n        }\r\n        finally { if (e) throw e.error; }\r\n    }\r
 \n    return ar;\r\n}\r\n\r\nexport function __spread() {\r\n    for (var ar = [], i = 0; i < arguments.length; i++)\r\n        ar = ar.concat(__read(arguments[i]));\r\n    return ar;\r\n}\r\n\r\nexport function __await(v) {\r\n    return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n    if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n    var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n    return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n    function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n    function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n    function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v)
 .then(fulfill, reject) : settle(q[0][2], r);  }\r\n    function fulfill(value) { resume(\"next\", value); }\r\n    function reject(value) { resume(\"throw\", value); }\r\n    function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n    var i, p;\r\n    return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n    function verb(n, f) { if (o[n]) i[n] = function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; }; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n    if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n    var m = o[Symbol.asyncIterator];\r\n    return m ? m.call(o) : typeof __values === \"function\" ? __values(o) : o[Symbol.iterator]();\r\n}","/**\n * @fileoverview added by tsickle\n * @suppress {checkTypes} checked 
 by tsc\n */\nimport { AUTO_STYLE, NoopAnimationPlayer, ɵAnimationGroupPlayer, ɵPRE_STYLE as PRE_STYLE } from '@angular/animations';\n/**\n * @param {?} players\n * @return {?}\n */\nexport function optimizeGroupPlayer(players) {\n    switch (players.length) {\n        case 0:\n            return new NoopAnimationPlayer();\n        case 1:\n            return players[0];\n        default:\n            return new ɵAnimationGroupPlayer(players);\n    }\n}\n/**\n * @param {?} driver\n * @param {?} normalizer\n * @param {?} element\n * @param {?} keyframes\n * @param {?=} preStyles\n * @param {?=} postStyles\n * @return {?}\n */\nexport function normalizeKeyframes(driver, normalizer, element, keyframes, preStyles, postStyles) {\n    if (preStyles === void 0) { preStyles = {}; }\n    if (postStyles === void 0) { postStyles = {}; }\n    var /** @type {?} */ errors = [];\n    var /** @type {?} */ normalizedKeyframes = [];\n    var /** @type {?} */ previousOffset = -1;\n    var /** @type 
 {?} */ previousKeyframe = null;\n    keyframes.forEach(function (kf) {\n        var /** @type {?} */ offset = /** @type {?} */ (kf['offset']);\n        var /** @type {?} */ isSameOffset = offset == previousOffset;\n        var /** @type {?} */ normalizedKeyframe = (isSameOffset && previousKeyframe) || {};\n        Object.keys(kf).forEach(function (prop) {\n            var /** @type {?} */ normalizedProp = prop;\n            var /** @type {?} */ normalizedValue = kf[prop];\n            if (prop !== 'offset') {\n                normalizedProp = normalizer.normalizePropertyName(normalizedProp, errors);\n                switch (normalizedValue) {\n                    case PRE_STYLE:\n                        normalizedValue = preStyles[prop];\n                        break;\n                    case AUTO_STYLE:\n                        normalizedValue = postStyles[prop];\n                        break;\n                    default:\n                        normalizedValue =\n            
                 normalizer.normalizeStyleValue(prop, normalizedProp, normalizedValue, errors);\n                        break;\n                }\n            }\n            normalizedKeyframe[normalizedProp] = normalizedValue;\n        });\n        if (!isSameOffset) {\n            normalizedKeyframes.push(normalizedKeyframe);\n        }\n        previousKeyframe = normalizedKeyframe;\n        previousOffset = offset;\n    });\n    if (errors.length) {\n        var /** @type {?} */ LINE_START = '\\n - ';\n        throw new Error(\"Unable to animate due to the following errors:\" + LINE_START + errors.join(LINE_START));\n    }\n    return normalizedKeyframes;\n}\n/**\n * @param {?} player\n * @param {?} eventName\n * @param {?} event\n * @param {?} callback\n * @return {?}\n */\nexport function listenOnPlayer(player, eventName, event, callback) {\n    switch (eventName) {\n        case 'start':\n            player.onStart(function () { return callback(event && copyAnimationEvent(eve
 nt, 'start', player.totalTime)); });\n            break;\n        case 'done':\n            player.onDone(function () { return callback(event && copyAnimationEvent(event, 'done', player.totalTime)); });\n            break;\n        case 'destroy':\n            player.onDestroy(function () { return callback(event && copyAnimationEvent(event, 'destroy', player.totalTime)); });\n            break;\n    }\n}\n/**\n * @param {?} e\n * @param {?=} phaseName\n * @param {?=} totalTime\n * @return {?}\n */\nexport function copyAnimationEvent(e, phaseName, totalTime) {\n    var /** @type {?} */ event = makeAnimationEvent(e.element, e.triggerName, e.fromState, e.toState, phaseName || e.phaseName, totalTime == undefined ? e.totalTime : totalTime);\n    var /** @type {?} */ data = (/** @type {?} */ (e))['_data'];\n    if (data != null) {\n        (/** @type {?} */ (event))['_data'] = data;\n    }\n    return event;\n}\n/**\n * @param {?} element\n * @param {?} triggerName\n * @param {?} fromStat
 e\n * @param {?} toState\n * @param {?=} phaseName\n * @param {?=} totalTime\n * @return {?}\n */\nexport function makeAnimationEvent(element, triggerName, fromState, toState, phaseName, totalTime) {\n    if (phaseName === void 0) { phaseName = ''; }\n    if (totalTime === void 0) { totalTime = 0; }\n    return { element: element, triggerName: triggerName, fromState: fromState, toState: toState, phaseName: phaseName, totalTime: totalTime };\n}\n/**\n * @param {?} map\n * @param {?} key\n * @param {?} defaultValue\n * @return {?}\n */\nexport function getOrSetAsInMap(map, key, defaultValue) {\n    var /** @type {?} */ value;\n    if (map instanceof Map) {\n        value = map.get(key);\n        if (!value) {\n            map.set(key, value = defaultValue);\n        }\n    }\n    else {\n        value = map[key];\n        if (!value) {\n            value = map[key] = defaultValue;\n        }\n    }\n    return value;\n}\n/**\n * @param {?} command\n * @return {?}\n */\nexport function
  parseTimelineCommand(command) {\n    var /** @type {?} */ separatorPos = command.indexOf(':');\n    var /** @type {?} */ id = command.substring(1, separatorPos);\n    var /** @type {?} */ action = command.substr(separatorPos + 1);\n    return [id, action];\n}\nvar /** @type {?} */ _contains = function (elm1, elm2) { return false; };\nvar ɵ0 = _contains;\nvar /** @type {?} */ _matches = function (element, selector) {\n    return false;\n};\nvar ɵ1 = _matches;\nvar /** @type {?} */ _query = function (element, selector, multi) {\n    return [];\n};\nvar ɵ2 = _query;\nif (typeof Element != 'undefined') {\n    // this is well supported in all browsers\n    _contains = function (elm1, elm2) { return /** @type {?} */ (elm1.contains(elm2)); };\n    if (Element.prototype.matches) {\n        _matches = function (element, selector) { return element.matches(selector); };\n    }\n    else {\n        var /** @type {?} */ proto = /** @type {?} */ (Element.prototype);\n        var /** @type {?}
  */ fn_1 = proto.matchesSelector || proto.mozMatchesSelector || proto.msMatchesSelector ||\n            proto.oMatchesSelector || proto.webkitMatchesSelector;\n        if (fn_1) {\n            _matches = function (element, selector) { return fn_1.apply(element, [selector]); };\n        }\n    }\n    _query = function (element, selector, multi) {\n        var /** @type {?} */ results = [];\n        if (multi) {\n            results.push.apply(results, element.querySelectorAll(selector));\n        }\n        else {\n            var /** @type {?} */ elm = element.querySelector(selector);\n            if (elm) {\n                results.push(elm);\n            }\n        }\n        return results;\n    };\n}\n/**\n * @param {?} prop\n * @return {?}\n */\nfunction containsVendorPrefix(prop) {\n    // Webkit is the only real popular vendor prefix nowadays\n    // cc: http://shouldiprefix.com/\n    return prop.substring(1, 6) == 'ebkit'; // webkit or Webkit\n}\nvar /** @type {?} */ _CACHED
 _BODY = null;\nvar /** @type {?} */ _IS_WEBKIT = false;\n/**\n * @param {?} prop\n * @return {?}\n */\nexport function validateStyleProperty(prop) {\n    if (!_CACHED_BODY) {\n        _CACHED_BODY = getBodyNode() || {};\n        _IS_WEBKIT = /** @type {?} */ ((_CACHED_BODY)).style ? ('WebkitAppearance' in /** @type {?} */ ((_CACHED_BODY)).style) : false;\n    }\n    var /** @type {?} */ result = true;\n    if (/** @type {?} */ ((_CACHED_BODY)).style && !containsVendorPrefix(prop)) {\n        result = prop in /** @type {?} */ ((_CACHED_BODY)).style;\n        if (!result && _IS_WEBKIT) {\n            var /** @type {?} */ camelProp = 'Webkit' + prop.charAt(0).toUpperCase() + prop.substr(1);\n            result = camelProp in /** @type {?} */ ((_CACHED_BODY)).style;\n        }\n    }\n    return result;\n}\n/**\n * @return {?}\n */\nexport function getBodyNode() {\n    if (typeof document != 'undefined') {\n        return document.body;\n    }\n    return null;\n}\nexport var /** @type 
 {?} */ matchesElement = _matches;\nexport var /** @type {?} */ containsElement = _contains;\nexport var /** @type {?} */ invokeQuery = _query;\nexport { ɵ0, ɵ1, ɵ2 };\n//# sourceMappingURL=shared.js.map","/**\n * @fileoverview added by tsickle\n * @suppress {checkTypes} checked by tsc\n */\nimport { NoopAnimationPlayer } from '@angular/animations';\nimport { containsElement, invokeQuery, matchesElement, validateStyleProperty } from './shared';\n/**\n * \\@experimental\n */\nvar /**\n * \\@experimental\n */\nNoopAnimationDriver = /** @class */ (function () {\n    function NoopAnimationDriver() {\n    }\n    /**\n     * @param {?} prop\n     * @return {?}\n     */\n    NoopAnimationDriver.prototype.validateStyleProperty = /**\n     * @param {?} prop\n     * @return {?}\n     */\n    function (prop) { return validateStyleProperty(prop); };\n    /**\n     * @param {?} element\n     * @param {?} selector\n     * @return {?}\n     */\n    NoopAnimationDriver.prototype.matchesElement = 
 /**\n     * @param {?} element\n     * @param {?} selector\n     * @return {?}\n     */\n    function (element, selector) {\n        return matchesElement(element, selector);\n    };\n    /**\n     * @param {?} elm1\n     * @param {?} elm2\n     * @return {?}\n     */\n    NoopAnimationDriver.prototype.containsElement = /**\n     * @param {?} elm1\n     * @param {?} elm2\n     * @return {?}\n     */\n    function (elm1, elm2) { return containsElement(elm1, elm2); };\n    /**\n     * @param {?} element\n     * @param {?} selector\n     * @param {?} multi\n     * @return {?}\n     */\n    NoopAnimationDriver.prototype.query = /**\n     * @param {?} element\n     * @param {?} selector\n     * @param {?} multi\n     * @return {?}\n     */\n    function (element, selector, multi) {\n        return invokeQuery(element, selector, multi);\n    };\n    /**\n     * @param {?} element\n     * @param {?} prop\n     * @param {?=} defaultValue\n     * @return {?}\n     */\n    NoopAnimationDriver
 .prototype.computeStyle = /**\n     * @param {?} element\n     * @param {?} prop\n     * @param {?=} defaultValue\n     * @return {?}\n     */\n    function (element, prop, defaultValue) {\n        return defaultValue || '';\n    };\n    /**\n     * @param {?} element\n     * @param {?} keyframes\n     * @param {?} duration\n     * @param {?} delay\n     * @param {?} easing\n     * @param {?=} previousPlayers\n     * @return {?}\n     */\n    NoopAnimationDriver.prototype.animate = /**\n     * @param {?} element\n     * @param {?} keyframes\n     * @param {?} duration\n     * @param {?} delay\n     * @param {?} easing\n     * @param {?=} previousPlayers\n     * @return {?}\n     */\n    function (element, keyframes, duration, delay, easing, previousPlayers) {\n        if (previousPlayers === void 0) { previousPlayers = []; }\n        return new NoopAnimationPlayer();\n    };\n    return NoopAnimationDriver;\n}());\n/**\n * \\@experimental\n */\nexport { NoopAnimationDriver };\n/**\n
  * \\@experimental\n * @abstract\n */\nvar AnimationDriver = /** @class */ (function () {\n    function AnimationDriver() {\n    }\n    AnimationDriver.NOOP = new NoopAnimationDriver();\n    return AnimationDriver;\n}());\nexport { AnimationDriver };\nfunction AnimationDriver_tsickle_Closure_declarations() {\n    /** @type {?} */\n    AnimationDriver.NOOP;\n    /**\n     * @abstract\n     * @param {?} prop\n     * @return {?}\n     */\n    AnimationDriver.prototype.validateStyleProperty = function (prop) { };\n    /**\n     * @abstract\n     * @param {?} element\n     * @param {?} selector\n     * @return {?}\n     */\n    AnimationDriver.prototype.matchesElement = function (element, selector) { };\n    /**\n     * @abstract\n     * @param {?} elm1\n     * @param {?} elm2\n     * @return {?}\n     */\n    AnimationDriver.prototype.containsElement = function (elm1, elm2) { };\n    /**\n     * @abstract\n     * @param {?} element\n     * @param {?} selector\n     * @param {?} multi\n 
     * @return {?}\n     */\n    AnimationDriver.prototype.query = function (element, selector, multi) { };\n    /**\n     * @abstract\n     * @param {?} element\n     * @param {?} prop\n     * @param {?=} defaultValue\n     * @return {?}\n     */\n    AnimationDriver.prototype.computeStyle = function (element, prop, defaultValue) { };\n    /**\n     * @abstract\n     * @param {?} element\n     * @param {?} keyframes\n     * @param {?} duration\n     * @param {?} delay\n     * @param {?=} easing\n     * @param {?=} previousPlayers\n     * @return {?}\n     */\n    AnimationDriver.prototype.animate = function (element, keyframes, duration, delay, easing, previousPlayers) { };\n}\n//# sourceMappingURL=animation_driver.js.map","/**\n * @fileoverview added by tsickle\n * @suppress {checkTypes} checked by tsc\n */\nimport { sequence } from '@angular/animations';\nexport var /** @type {?} */ ONE_SECOND = 1000;\nexport var /** @type {?} */ SUBSTITUTION_EXPR_START = '{{';\nexport var /** @ty
 pe {?} */ SUBSTITUTION_EXPR_END = '}}';\nexport var /** @type {?} */ ENTER_CLASSNAME = 'ng-enter';\nexport var /** @type {?} */ LEAVE_CLASSNAME = 'ng-leave';\nexport var /** @type {?} */ ENTER_SELECTOR = '.ng-enter';\nexport var /** @type {?} */ LEAVE_SELECTOR = '.ng-leave';\nexport var /** @type {?} */ NG_TRIGGER_CLASSNAME = 'ng-trigger';\nexport var /** @type {?} */ NG_TRIGGER_SELECTOR = '.ng-trigger';\nexport var /** @type {?} */ NG_ANIMATING_CLASSNAME = 'ng-animating';\nexport var /** @type {?} */ NG_ANIMATING_SELECTOR = '.ng-animating';\n/**\n * @param {?} value\n * @return {?}\n */\nexport function resolveTimingValue(value) {\n    if (typeof value == 'number')\n        return value;\n    var /** @type {?} */ matches = (/** @type {?} */ (value)).match(/^(-?[\\.\\d]+)(m?s)/);\n    if (!matches || matches.length < 2)\n        return 0;\n    return _convertTimeValueToMS(parseFloat(matches[1]), matches[2]);\n}\n/**\n * @param {?} value\n * @param {?} unit\n * @return {?}\n */\nfunc
 tion _convertTimeValueToMS(value, unit) {\n    switch (unit) {\n        case 's':\n            return value * ONE_SECOND;\n        default:\n            // ms or something else\n            return value;\n    }\n}\n/**\n * @param {?} timings\n * @param {?} errors\n * @param {?=} allowNegativeValues\n * @return {?}\n */\nexport function resolveTiming(timings, errors, allowNegativeValues) {\n    return timings.hasOwnProperty('duration') ? /** @type {?} */ (timings) :\n        parseTimeExpression(/** @type {?} */ (timings), errors, allowNegativeValues);\n}\n/**\n * @param {?} exp\n * @param {?} errors\n * @param {?=} allowNegativeValues\n * @return {?}\n */\nfunction parseTimeExpression(exp, errors, allowNegativeValues) {\n    var /** @type {?} */ regex = /^(-?[\\.\\d]+)(m?s)(?:\\s+(-?[\\.\\d]+)(m?s))?(?:\\s+([-a-z]+(?:\\(.+?\\))?))?$/i;\n    var /** @type {?} */ duration;\n    var /** @type {?} */ delay = 0;\n    var /** @type {?} */ easing = '';\n    if (typeof exp === 'string') {\n 
        var /** @type {?} */ matches = exp.match(regex);\n        if (matches === null) {\n            errors.push(\"The provided timing value \\\"\" + exp + \"\\\" is invalid.\");\n            return { duration: 0, delay: 0, easing: '' };\n        }\n        duration = _convertTimeValueToMS(parseFloat(matches[1]), matches[2]);\n        var /** @type {?} */ delayMatch = matches[3];\n        if (delayMatch != null) {\n            delay = _convertTimeValueToMS(Math.floor(parseFloat(delayMatch)), matches[4]);\n        }\n        var /** @type {?} */ easingVal = matches[5];\n        if (easingVal) {\n            easing = easingVal;\n        }\n    }\n    else {\n        duration = /** @type {?} */ (exp);\n    }\n    if (!allowNegativeValues) {\n        var /** @type {?} */ containsErrors = false;\n        var /** @type {?} */ startIndex = errors.length;\n        if (duration < 0) {\n            errors.push(\"Duration values below 0 are not allowed for this animation step.\");\n          
   containsErrors = true;\n        }\n        if (delay < 0) {\n            errors.push(\"Delay values below 0 are not allowed for this animation step.\");\n            containsErrors = true;\n        }\n        if (containsErrors) {\n            errors.splice(startIndex, 0, \"The provided timing value \\\"\" + exp + \"\\\" is invalid.\");\n        }\n    }\n    return { duration: duration, delay: delay, easing: easing };\n}\n/**\n * @param {?} obj\n * @param {?=} destination\n * @return {?}\n */\nexport function copyObj(obj, destination) {\n    if (destination === void 0) { destination = {}; }\n    Object.keys(obj).forEach(function (prop) { destination[prop] = obj[prop]; });\n    return destination;\n}\n/**\n * @param {?} styles\n * @return {?}\n */\nexport function normalizeStyles(styles) {\n    var /** @type {?} */ normalizedStyles = {};\n    if (Array.isArray(styles)) {\n        styles.forEach(function (data) { return copyStyles(data, false, normalizedStyles); });\n    }\n    els
 e {\n        copyStyles(styles, false, normalizedStyles);\n    }\n    return normalizedStyles;\n}\n/**\n * @param {?} styles\n * @param {?} readPrototype\n * @param {?=} destination\n * @return {?}\n */\nexport function copyStyles(styles, readPrototype, destination) {\n    if (destination === void 0) { destination = {}; }\n    if (readPrototype) {\n        // we make use of a for-in loop so that the\n        // prototypically inherited properties are\n        // revealed from the backFill map\n        for (var /** @type {?} */ prop in styles) {\n            destination[prop] = styles[prop];\n        }\n    }\n    else {\n        copyObj(styles, destination);\n    }\n    return destination;\n}\n/**\n * @param {?} element\n * @param {?} styles\n * @return {?}\n */\nexport function setStyles(element, styles) {\n    if (element['style']) {\n        Object.keys(styles).forEach(function (prop) {\n            var /** @type {?} */ camelProp = dashCaseToCamelCase(prop);\n            element.
 style[camelProp] = styles[prop];\n        });\n    }\n}\n/**\n * @param {?} element\n * @param {?} styles\n * @return {?}\n */\nexport function eraseStyles(element, styles) {\n    if (element['style']) {\n        Object.keys(styles).forEach(function (prop) {\n            var /** @type {?} */ camelProp = dashCaseToCamelCase(prop);\n            element.style[camelProp] = '';\n        });\n    }\n}\n/**\n * @param {?} steps\n * @return {?}\n */\nexport function normalizeAnimationEntry(steps) {\n    if (Array.isArray(steps)) {\n        if (steps.length == 1)\n            return steps[0];\n        return sequence(steps);\n    }\n    return /** @type {?} */ (steps);\n}\n/**\n * @param {?} value\n * @param {?} options\n * @param {?} errors\n * @return {?}\n */\nexport function validateStyleParams(value, options, errors) {\n    var /** @type {?} */ params = options.params || {};\n    var /** @type {?} */ matches = extractStyleParams(value);\n    if (matches.length) {\n        matches.forEac
 h(function (varName) {\n            if (!params.hasOwnProperty(varName)) {\n                errors.push(\"Unable to resolve the local animation param \" + varName + \" in the given list of values\");\n            }\n        });\n    }\n}\nvar /** @type {?} */ PARAM_REGEX = new RegExp(SUBSTITUTION_EXPR_START + \"\\\\s*(.+?)\\\\s*\" + SUBSTITUTION_EXPR_END, 'g');\n/**\n * @param {?} value\n * @return {?}\n */\nexport function extractStyleParams(value) {\n    var /** @type {?} */ params = [];\n    if (typeof value === 'string') {\n        var /** @type {?} */ val = value.toString();\n        var /** @type {?} */ match = void 0;\n        while (match = PARAM_REGEX.exec(val)) {\n            params.push(/** @type {?} */ (match[1]));\n        }\n        PARAM_REGEX.lastIndex = 0;\n    }\n    return params;\n}\n/**\n * @param {?} value\n * @param {?} params\n * @param {?} errors\n * @return {?}\n */\nexport function interpolateParams(value, params, errors) {\n    var /** @type {?} */ origin
 al = value.toString();\n    var /** @type {?} */ str = original.replace(PARAM_REGEX, function (_, varName) {\n        var /** @type {?} */ localVal = params[varName];\n        // this means that the value was never overidden by the data passed in by the user\n        if (!params.hasOwnProperty(varName)) {\n            errors.push(\"Please provide a value for the animation param \" + varName);\n            localVal = '';\n        }\n        return localVal.toString();\n    });\n    // we do this to assert that numeric values stay as they are\n    return str == original ? value : str;\n}\n/**\n * @param {?} iterator\n * @return {?}\n */\nexport function iteratorToArray(iterator) {\n    var /** @type {?} */ arr = [];\n    var /** @type {?} */ item = iterator.next();\n    while (!item.done) {\n        arr.push(item.value);\n        item = iterator.next();\n    }\n    return arr;\n}\n/**\n * @param {?} source\n * @param {?} destination\n * @return {?}\n */\nexport function mergeAnimation
 Options(source, destination) {\n    if (source.params) {\n        var /** @type {?} */ p0_1 = source.params;\n        if (!destination.params) {\n            destination.params = {};\n        }\n        var /** @type {?} */ p1_1 = destination.params;\n        Object.keys(p0_1).forEach(function (param) {\n            if (!p1_1.hasOwnProperty(param)) {\n                p1_1[param] = p0_1[param];\n            }\n        });\n    }\n    return destination;\n}\nvar /** @type {?} */ DASH_CASE_REGEXP = /-+([a-z0-9])/g;\n/**\n * @param {?} input\n * @return {?}\n */\nexport function dashCaseToCamelCase(input) {\n    return input.replace(DASH_CASE_REGEXP, function () {\n        var m = [];\n        for (var _i = 0; _i < arguments.length; _i++) {\n            m[_i] = arguments[_i];\n        }\n        return m[1].toUpperCase();\n    });\n}\n/**\n * @param {?} duration\n * @param {?} delay\n * @return {?}\n */\nexport function allowPreviousPlayerStylesMerge(duration, delay) {\n    return durat
 ion === 0 || delay === 0;\n}\n/**\n * @param {?} visitor\n * @param {?} node\n * @param {?} context\n * @return {?}\n */\nexport function visitDslNode(visitor, node, context) {\n    switch (node.type) {\n        case 7 /* Trigger */:\n            return visitor.visitTrigger(node, context);\n        case 0 /* State */:\n            return visitor.visitState(node, context);\n        case 1 /* Transition */:\n            return visitor.visitTransition(node, context);\n        case 2 /* Sequence */:\n            return visitor.visitSequence(node, context);\n        case 3 /* Group */:\n            return visitor.visitGroup(node, context);\n        case 4 /* Animate */:\n            return visitor.visitAnimate(node, context);\n        case 5 /* Keyframes */:\n            return visitor.visitKeyframes(node, context);\n        case 6 /* Style */:\n            return visitor.visitStyle(node, context);\n        case 8 /* Reference */:\n            return visitor.visitReference(node, context)
 ;\n        case 9 /* AnimateChild */:\n            return visitor.visitAnimateChild(node, context);\n        case 10 /* AnimateRef */:\n            return visitor.visitAnimateRef(node, context);\n        case 11 /* Query */:\n            return visitor.visitQuery(node, context);\n        case 12 /* Stagger */:\n            return visitor.visitStagger(node, context);\n        default:\n            throw new Error(\"Unable to resolve animation metadata node #\" + node.type);\n    }\n}\n//# sourceMappingURL=util.js.map","/**\n * @fileoverview added by tsickle\n * @suppress {checkTypes} checked by tsc\n */\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nexport var /** @type {?} */ ANY_STATE = '*';\n/**\n * @param {?} transitionValue\n * @param {?} errors\n * @return {?}\n */\nexport function parseTransitionExpr(transitionValue
 , errors) {\n    var /** @type {?} */ expressions = [];\n    if (typeof transitionValue == 'string') {\n        (/** @type {?} */ (transitionValue))\n            .split(/\\s*,\\s*/)\n            .forEach(function (str) { return parseInnerTransitionStr(str, expressions, errors); });\n    }\n    else {\n        expressions.push(/** @type {?} */ (transitionValue));\n    }\n    return expressions;\n}\n/**\n * @param {?} eventStr\n * @param {?} expressions\n * @param {?} errors\n * @return {?}\n */\nfunction parseInnerTransitionStr(eventStr, expressions, errors) {\n    if (eventStr[0] == ':') {\n        var /** @type {?} */ result = parseAnimationAlias(eventStr, errors);\n        if (typeof result == 'function') {\n            expressions.push(result);\n            return;\n        }\n        eventStr = /** @type {?} */ (result);\n    }\n    var /** @type {?} */ match = eventStr.match(/^(\\*|[-\\w]+)\\s*(<?[=-]>)\\s*(\\*|[-\\w]+)$/);\n    if (match == null || match.length < 4) {\n       
  errors.push(\"The provided transition expression \\\"\" + eventStr + \"\\\" is not supported\");\n        return expressions;\n    }\n    var /** @type {?} */ fromState = match[1];\n    var /** @type {?} */ separator = match[2];\n    var /** @type {?} */ toState = match[3];\n    expressions.push(makeLambdaFromStates(fromState, toState));\n    var /** @type {?} */ isFullAnyStateExpr = fromState == ANY_STATE && toState == ANY_STATE;\n    if (separator[0] == '<' && !isFullAnyStateExpr) {\n        expressions.push(makeLambdaFromStates(toState, fromState));\n    }\n}\n/**\n * @param {?} alias\n * @param {?} errors\n * @return {?}\n */\nfunction parseAnimationAlias(alias, errors) {\n    switch (alias) {\n        case ':enter':\n            return 'void => *';\n        case ':leave':\n            return '* => void';\n        case ':increment':\n            return function (fromState, toState) { return parseFloat(toState) > parseFloat(fromState); };\n        case ':decrement':\n           
  return function (fromState, toState) { return parseFloat(toState) < parseFloat(fromState); };\n        default:\n            errors.push(\"The transition alias value \\\"\" + alias + \"\\\" is not supported\");\n            return '* => *';\n    }\n}\n// DO NOT REFACTOR ... keep the follow set instantiations\n// with the values intact (closure compiler for some reason\n// removes follow-up lines that add the values outside of\n// the constructor...\nvar /** @type {?} */ TRUE_BOOLEAN_VALUES = new Set(['true', '1']);\nvar /** @type {?} */ FALSE_BOOLEAN_VALUES = new Set(['false', '0']);\n/**\n * @param {?} lhs\n * @param {?} rhs\n * @return {?}\n */\nfunction makeLambdaFromStates(lhs, rhs) {\n    var /** @type {?} */ LHS_MATCH_BOOLEAN = TRUE_BOOLEAN_VALUES.has(lhs) || FALSE_BOOLEAN_VALUES.has(lhs);\n    var /** @type {?} */ RHS_MATCH_BOOLEAN = TRUE_BOOLEAN_VALUES.has(rhs) || FALSE_BOOLEAN_VALUES.has(rhs);\n    return function (fromState, toState) {\n        var /** @type {?} */ lhsMat
 ch = lhs == ANY_STATE || lhs == fromState;\n        var /** @type {?} */ rhsMatch = rhs == ANY_STATE || rhs == toState;\n        if (!lhsMatch && LHS_MATCH_BOOLEAN && typeof fromState === 'boolean') {\n            lhsMatch = fromState ? TRUE_BOOLEAN_VALUES.has(lhs) : FALSE_BOOLEAN_VALUES.has(lhs);\n        }\n        if (!rhsMatch && RHS_MATCH_BOOLEAN && typeof toState === 'boolean') {\n            rhsMatch = toState ? TRUE_BOOLEAN_VALUES.has(rhs) : FALSE_BOOLEAN_VALUES.has(rhs);\n        }\n        return lhsMatch && rhsMatch;\n    };\n}\n//# sourceMappingURL=animation_transition_expr.js.map","/**\n * @fileoverview added by tsickle\n * @suppress {checkTypes} checked by tsc\n */\nimport { AUTO_STYLE, style } from '@angular/animations';\nimport { getOrSetAsInMap } from '../render/shared';\nimport { NG_ANIMATING_SELECTOR, NG_TRIGGER_SELECTOR, SUBSTITUTION_EXPR_START, copyObj, extractStyleParams, iteratorToArray, normalizeAnimationEntry, resolveTiming, validateStyleParams, visitDslNode
  } from '../util';\nimport { parseTransitionExpr } from './animation_transition_expr';\nvar /** @type {?} */ SELF_TOKEN = ':self';\nvar /** @type {?} */ SELF_TOKEN_REGEX = new RegExp(\"s*\" + SELF_TOKEN + \"s*,?\", 'g');\n/**\n * @param {?} driver\n * @param {?} metadata\n * @param {?} errors\n * @return {?}\n */\nexport function buildAnimationAst(driver, metadata, errors) {\n    return new AnimationAstBuilderVisitor(driver).build(metadata, errors);\n}\nvar /** @type {?} */ ROOT_SELECTOR = '';\nvar AnimationAstBuilderVisitor = /** @class */ (function () {\n    function AnimationAstBuilderVisitor(_driver) {\n        this._driver = _driver;\n    }\n    /**\n     * @param {?} metadata\n     * @param {?} errors\n     * @return {?}\n     */\n    AnimationAstBuilderVisitor.prototype.build = /**\n     * @param {?} metadata\n     * @param {?} errors\n     * @return {?}\n     */\n    function (metadata, errors) {\n        var /** @type {?} */ context = new AnimationAstBuilderContext(errors);
 \n        this._resetContextStyleTimingState(context);\n        return /** @type {?} */ (visitDslNode(this, normalizeAnimationEntry(metadata), context));\n    };\n    /**\n     * @param {?} context\n     * @return {?}\n     */\n    AnimationAstBuilderVisitor.prototype._resetContextStyleTimingState = /**\n     * @param {?} context\n     * @return {?}\n     */\n    function (context) {\n        context.currentQuerySelector = ROOT_SELECTOR;\n        context.collectedStyles = {};\n        context.collectedStyles[ROOT_SELECTOR] = {};\n        context.currentTime = 0;\n    };\n    /**\n     * @param {?} metadata\n     * @param {?} context\n     * @return {?}\n     */\n    AnimationAstBuilderVisitor.prototype.visitTrigger = /**\n     * @param {?} metadata\n     * @param {?} context\n     * @return {?}\n     */\n    function (metadata, context) {\n        var _this = this;\n        var /** @type {?} */ queryCount = context.queryCount = 0;\n        var /** @type {?} */ depCount = context.dep
 Count = 0;\n        var /** @type {?} */ states = [];\n        var /** @type {?} */ transitions = [];\n        if (metadata.name.charAt(0) == '@') {\n            context.errors.push('animation triggers cannot be prefixed with an `@` sign (e.g. trigger(\\'@foo\\', [...]))');\n        }\n        metadata.definitions.forEach(function (def) {\n            _this._resetContextStyleTimingState(context);\n            if (def.type == 0 /* State */) {\n                var /** @type {?} */ stateDef_1 = /** @type {?} */ (def);\n                var /** @type {?} */ name_1 = stateDef_1.name;\n                name_1.split(/\\s*,\\s*/).forEach(function (n) {\n                    stateDef_1.name = n;\n                    states.push(_this.visitState(stateDef_1, context));\n                });\n                stateDef_1.name = name_1;\n            }\n            else if (def.type == 1 /* Transition */) {\n                var /** @type {?} */ transition = _this.visitTransition(/** @type {?} */ (def),
  context);\n                queryCount += transition.queryCount;\n                depCount += transition.depCount;\n                transitions.push(transition);\n            }\n            else {\n                context.errors.push('only state() and transition() definitions can sit inside of a trigger()');\n            }\n        });\n        return {\n            type: 7 /* Trigger */,\n            name: metadata.name, states: states, transitions: transitions, queryCount: queryCount, depCount: depCount,\n            options: null\n        };\n    };\n    /**\n     * @param {?} metadata\n     * @param {?} context\n     * @return {?}\n     */\n    AnimationAstBuilderVisitor.prototype.visitState = /**\n     * @param {?} metadata\n     * @param {?} context\n     * @return {?}\n     */\n    function (metadata, context) {\n        var /** @type {?} */ styleAst = this.visitStyle(metadata.styles, context);\n        var /** @type {?} */ astParams = (metadata.options && metadata.options.pa
 rams) || null;\n        if (styleAst.containsDynamicStyles) {\n            var /** @type {?} */ missingSubs_1 = new Set();\n            var /** @type {?} */ params_1 = astParams || {};\n            styleAst.styles.forEach(function (value) {\n                if (isObject(value)) {\n                    var /** @type {?} */ stylesObj_1 = /** @type {?} */ (value);\n                    Object.keys(stylesObj_1).forEach(function (prop) {\n                        extractStyleParams(stylesObj_1[prop]).forEach(function (sub) {\n                            if (!params_1.hasOwnProperty(sub)) {\n                                missingSubs_1.add(sub);\n                            }\n                        });\n                    });\n                }\n            });\n            if (missingSubs_1.size) {\n                var /** @type {?} */ missingSubsArr = iteratorToArray(missingSubs_1.values());\n                context.errors.push(\"state(\\\"\" + metadata.name + \"\\\", ...) must define 
 default values for all the following style substitutions: \" + missingSubsArr.join(', '));\n            }\n        }\n        return {\n            type: 0 /* State */,\n            name: metadata.name,\n            style: styleAst,\n            options: astParams ? { params: astParams } : null\n        };\n    };\n    /**\n     * @param {?} metadata\n     * @param {?} context\n     * @return {?}\n     */\n    AnimationAstBuilderVisitor.prototype.visitTransition = /**\n     * @param {?} metadata\n     * @param {?} context\n     * @return {?}\n     */\n    function (metadata, context) {\n        context.queryCount = 0;\n        context.depCount = 0;\n        var /** @type {?} */ animation = visitDslNode(this, normalizeAnimationEntry(metadata.animation), context);\n        var /** @type {?} */ matchers = parseTransitionExpr(metadata.expr, context.errors);\n        return {\n            type: 1 /* Transition */,\n            matchers: matchers,\n            animation: animation,\n     
        queryCount: context.queryCount,\n            depCount: context.depCount,\n            options: normalizeAnimationOptions(metadata.options)\n        };\n    };\n    /**\n     * @param {?} metadata\n     * @param {?} context\n     * @return {?}\n     */\n    AnimationAstBuilderVisitor.prototype.visitSequence = /**\n     * @param {?} metadata\n     * @param {?} context\n     * @return {?}\n     */\n    function (metadata, context) {\n        var _this = this;\n        return {\n            type: 2 /* Sequence */,\n            steps: metadata.steps.map(function (s) { return visitDslNode(_this, s, context); }),\n            options: normalizeAnimationOptions(metadata.options)\n        };\n    };\n    /**\n     * @param {?} metadata\n     * @param {?} context\n     * @return {?}\n     */\n    AnimationAstBuilderVisitor.prototype.visitGroup = /**\n     * @param {?} metadata\n     * @param {?} context\n     * @return {?}\n     */\n    function (metadata, context) {\n        var _this
  = this;\n        var /** @type {?} */ currentTime = context.currentTime;\n        var /** @type {?} */ furthestTime = 0;\n        var /** @type {?} */ steps = metadata.steps.map(function (step) {\n            context.currentTime = currentTime;\n            var /** @type {?} */ innerAst = visitDslNode(_this, step, context);\n            furthestTime = Math.max(furthestTime, context.currentTime);\n            return innerAst;\n        });\n        context.currentTime = furthestTime;\n        return {\n            type: 3 /* Group */,\n            steps: steps,\n            options: normalizeAnimationOptions(metadata.options)\n        };\n    };\n    /**\n     * @param {?} metadata\n     * @param {?} context\n     * @return {?}\n     */\n    AnimationAstBuilderVisitor.prototype.visitAnimate = /**\n     * @param {?} metadata\n     * @param {?} context\n     * @return {?}\n     */\n    function (metadata, context) {\n        var /** @type {?} */ timingAst = constructTimingAst(metadata.t
 imings, context.errors);\n        context.currentAnimateTimings = timingAst;\n        var /** @type {?} */ styleAst;\n        var /** @type {?} */ styleMetadata = metadata.styles ? metadata.styles : style({});\n        if (styleMetadata.type == 5 /* Keyframes */) {\n            styleAst = this.visitKeyframes(/** @type {?} */ (styleMetadata), context);\n        }\n        else {\n            var /** @type {?} */ styleMetadata_1 = /** @type {?} */ (metadata.styles);\n            var /** @type {?} */ isEmpty = false;\n            if (!styleMetadata_1) {\n                isEmpty = true;\n                var /** @type {?} */ newStyleData = {};\n                if (timingAst.easing) {\n                    newStyleData['easing'] = timingAst.easing;\n                }\n                styleMetadata_1 = style(newStyleData);\n            }\n            context.currentTime += timingAst.duration + timingAst.delay;\n            var /** @type {?} */ _styleAst = this.visitStyle(styleMetadata_1, co
 ntext);\n            _styleAst.isEmptyStep = isEmpty;\n            styleAst = _styleAst;\n        }\n        context.currentAnimateTimings = null;\n        return {\n            type: 4 /* Animate */,\n            timings: timingAst,\n            style: styleAst,\n            options: null\n        };\n    };\n    /**\n     * @param {?} metadata\n     * @param {?} context\n     * @return {?}\n     */\n    AnimationAstBuilderVisitor.prototype.visitStyle = /**\n     * @param {?} metadata\n     * @param {?} context\n     * @return {?}\n     */\n    function (metadata, context) {\n        var /** @type {?} */ ast = this._makeStyleAst(metadata, context);\n        this._validateStyleAst(ast, context);\n        return ast;\n    };\n    /**\n     * @param {?} metadata\n     * @param {?} context\n     * @return {?}\n     */\n    AnimationAstBuilderVisitor.prototype._makeStyleAst = /**\n     * @param {?} metadata\n     * @param {?} context\n     * @return {?}\n     */\n    function (metadata,
  context) {\n        var /** @type {?} */ styles = [];\n        if (Array.isArray(metadata.styles)) {\n            (/** @type {?} */ (metadata.styles)).forEach(function (styleTuple) {\n                if (typeof styleTuple == 'string') {\n                    if (styleTuple == AUTO_STYLE) {\n                        styles.push(/** @type {?} */ (styleTuple));\n                    }\n                    else {\n                        context.errors.push(\"The provided style string value \" + styleTuple + \" is not allowed.\");\n                    }\n                }\n                else {\n                    styles.push(/** @type {?} */ (styleTuple));\n                }\n            });\n        }\n        else {\n            styles.push(metadata.styles);\n        }\n        var /** @type {?} */ containsDynamicStyles = false;\n        var /** @type {?} */ collectedEasing = null;\n        styles.forEach(function (styleData) {\n            if (isObject(styleData)) {\n               
  var /** @type {?} */ styleMap = /** @type {?} */ (styleData);\n                var /** @type {?} */ easing = styleMap['easing'];\n                if (easing) {\n                    collectedEasing = /** @type {?} */ (easing);\n                    delete styleMap['easing'];\n                }\n                if (!containsDynamicStyles) {\n                    for (var /** @type {?} */ prop in styleMap) {\n                        var /** @type {?} */ value = styleMap[prop];\n                        if (value.toString().indexOf(SUBSTITUTION_EXPR_START) >= 0) {\n                            containsDynamicStyles = true;\n                            break;\n                        }\n                    }\n                }\n            }\n        });\n        return {\n            type: 6 /* Style */,\n            styles: styles,\n            easing: collectedEasing,\n            offset: metadata.offset, containsDynamicStyles: containsDynamicStyles,\n            options: null\n        }
 ;\n    };\n    /**\n     * @param {?} ast\n     * @param {?} context\n     * @return {?}\n     */\n    AnimationAstBuilderVisitor.prototype._validateStyleAst = /**\n     * @param {?} ast\n     * @param {?} context\n     * @return {?}\n     */\n    function (ast, context) {\n        var _this = this;\n        var /** @type {?} */ timings = context.currentAnimateTimings;\n        var /** @type {?} */ endTime = context.currentTime;\n        var /** @type {?} */ startTime = context.currentTime;\n        if (timings && startTime > 0) {\n            startTime -= timings.duration + timings.delay;\n        }\n        ast.styles.forEach(function (tuple) {\n            if (typeof tuple == 'string')\n                return;\n            Object.keys(tuple).forEach(function (prop) {\n                if (!_this._driver.validateStyleProperty(prop)) {\n                    context.errors.push(\"The provided animation property \\\"\" + prop + \"\\\" is not a supported CSS property for animations\");\
 n                    return;\n                }\n                var /** @type {?} */ collectedStyles = context.collectedStyles[/** @type {?} */ ((context.currentQuerySelector))];\n                var /** @type {?} */ collectedEntry = collectedStyles[prop];\n                var /** @type {?} */ updateCollectedStyle = true;\n                if (collectedEntry) {\n                    if (startTime != endTime && startTime >= collectedEntry.startTime &&\n                        endTime <= collectedEntry.endTime) {\n                        context.errors.push(\"The CSS property \\\"\" + prop + \"\\\" that exists between the times of \\\"\" + collectedEntry.startTime + \"ms\\\" and \\\"\" + collectedEntry.endTime + \"ms\\\" is also being animated in a parallel animation between the times of \\\"\" + startTime + \"ms\\\" and \\\"\" + endTime + \"ms\\\"\");\n                        updateCollectedStyle = false;\n                    }\n                    // we always choose the smaller star
 t time value since we\n                    // want to have a record of the entire animation window where\n                    // the style property is being animated in between\n                    startTime = collectedEntry.startTime;\n                }\n                if (updateCollectedStyle) {\n                    collectedStyles[prop] = { startTime: startTime, endTime: endTime };\n                }\n                if (context.options) {\n                    validateStyleParams(tuple[prop], context.options, context.errors);\n                }\n            });\n        });\n    };\n    /**\n     * @param {?} metadata\n     * @param {?} context\n     * @return {?}\n     */\n    AnimationAstBuilderVisitor.prototype.visitKeyframes = /**\n     * @param {?} metadata\n     * @param {?} context\n     * @return {?}\n     */\n    function (metadata, context) {\n        var _this = this;\n        var /** @type {?} */ ast = { type: 5 /* Keyframes */, styles: [], options: null };\n        
 if (!context.currentAnimateTimings) {\n            context.errors.push(\"keyframes() must be placed inside of a call to animate()\");\n            return ast;\n        }\n        var /** @type {?} */ MAX_KEYFRAME_OFFSET = 1;\n        var /** @type {?} */ totalKeyframesWithOffsets = 0;\n        var /** @type {?} */ offsets = [];\n        var /** @type {?} */ offsetsOutOfOrder = false;\n        var /** @type {?} */ keyframesOutOfRange = false;\n        var /** @type {?} */ previousOffset = 0;\n        var /** @type {?} */ keyframes = metadata.steps.map(function (styles) {\n            var /** @type {?} */ style = _this._makeStyleAst(styles, context);\n            var /** @type {?} */ offsetVal = style.offset != null ? style.offset : consumeOffset(style.styles);\n            var /** @type {?} */ offset = 0;\n            if (offsetVal != null) {\n                totalKeyframesWithOffsets++;\n                offset = style.offset = offsetVal;\n            }\n            keyframesOutOfRan
 ge = keyframesOutOfRange || offset < 0 || offset > 1;\n            offsetsOutOfOrder = offsetsOutOfOrder || offset < previousOffset;\n            previousOffset = offset;\n            offsets.push(offset);\n            return style;\n        });\n        if (keyframesOutOfRange) {\n            context.errors.push(\"Please ensure that all keyframe offsets are between 0 and 1\");\n        }\n        if (offsetsOutOfOrder) {\n            context.errors.push(\"Please ensure that all keyframe offsets are in order\");\n        }\n        var /** @type {?} */ length = metadata.steps.length;\n        var /** @type {?} */ generatedOffset = 0;\n        if (totalKeyframesWithOffsets > 0 && totalKeyframesWithOffsets < length) {\n            context.errors.push(\"Not all style() steps within the declared keyframes() contain offsets\");\n        }\n        else if (totalKeyframesWithOffsets == 0) {\n            generatedOffset = MAX_KEYFRAME_OFFSET / (length - 1);\n        }\n        var /** @typ
 e {?} */ limit = length - 1;\n        var /** @type {?} */ currentTime = context.currentTime;\n        var /** @type {?} */ currentAnimateTimings = /** @type {?} */ ((context.currentAnimateTimings));\n        var /** @type {?} */ animateDuration = currentAnimateTimings.duration;\n        keyframes.forEach(function (kf, i) {\n            var /** @type {?} */ offset = generatedOffset > 0 ? (i == limit ? 1 : (generatedOffset * i)) : offsets[i];\n            var /** @type {?} */ durationUpToThisFrame = offset * animateDuration;\n            context.currentTime = currentTime + currentAnimateTimings.delay + durationUpToThisFrame;\n            currentAnimateTimings.duration = durationUpToThisFrame;\n            _this._validateStyleAst(kf, context);\n            kf.offset = offset;\n            ast.styles.push(kf);\n        });\n        return ast;\n    };\n    /**\n     * @param {?} metadata\n     * @param {?} context\n     * @return {?}\n     */\n    AnimationAstBuilderVisitor.prototype.v
 isitReference = /**\n     * @param {?} metadata\n     * @param {?} context\n     * @return {?}\n     */\n    function (metadata, context) {\n        return {\n            type: 8 /* Reference */,\n            animation: visitDslNode(this, normalizeAnimationEntry(metadata.animation), context),\n            options: normalizeAnimationOptions(metadata.options)\n        };\n    };\n    /**\n     * @param {?} metadata\n     * @param {?} context\n     * @return {?}\n     */\n    AnimationAstBuilderVisitor.prototype.visitAnimateChild = /**\n     * @param {?} metadata\n     * @param {?} context\n     * @return {?}\n     */\n    function (metadata, context) {\n        context.depCount++;\n        return {\n            type: 9 /* AnimateChild */,\n            options: normalizeAnimationOptions(metadata.options)\n        };\n    };\n    /**\n     * @param {?} metadata\n     * @param {?} context\n     * @return {?}\n     */\n    AnimationAstBuilderVisitor.prototype.visitAnimateRef = /**\n     *
  @param {?} metadata\n     * @param {?} context\n     * @return {?}\n     */\n    function (metadata, context) {\n        return {\n            type: 10 /* AnimateRef */,\n            animation: this.visitReference(metadata.animation, context),\n            options: normalizeAnimationOptions(metadata.options)\n        };\n    };\n    /**\n     * @param {?} metadata\n     * @param {?} context\n     * @return {?}\n     */\n    AnimationAstBuilderVisitor.prototype.visitQuery = /**\n     * @param {?} metadata\n     * @param {?} context\n     * @return {?}\n     */\n    function (metadata, context) {\n        var /** @type {?} */ parentSelector = /** @type {?} */ ((context.currentQuerySelector));\n        var /** @type {?} */ options = /** @type {?} */ ((metadata.options || {}));\n        context.queryCount++;\n        context.currentQuery = metadata;\n        var _a = normalizeSelector(metadata.selector), selector = _a[0], includeSelf = _a[1];\n        context.currentQuerySelector =\n  
           parentSelector.length ? (parentSelector + ' ' + selector) : selector;\n        getOrSetAsInMap(context.collectedStyles, context.currentQuerySelector, {});\n        var /** @type {?} */ animation = visitDslNode(this, normalizeAnimationEntry(metadata.animation), context);\n        context.currentQuery = null;\n        context.currentQuerySelector = parentSelector;\n        return {\n            type: 11 /* Query */,\n            selector: selector,\n            limit: options.limit || 0,\n            optional: !!options.optional, includeSelf: includeSelf, animation: animation,\n            originalSelector: metadata.selector,\n            options: normalizeAnimationOptions(metadata.options)\n        };\n    };\n    /**\n     * @param {?} metadata\n     * @param {?} context\n     * @return {?}\n     */\n    AnimationAstBuilderVisitor.prototype.visitStagger = /**\n     * @param {?} metadata\n     * @param {?} context\n     * @return {?}\n     */\n    function (metadata, contex
 t) {\n        if (!context.currentQuery) {\n            context.errors.push(\"stagger() can only be used inside of query()\");\n        }\n        var /** @type {?} */ timings = metadata.timings === 'full' ?\n            { duration: 0, delay: 0, easing: 'full' } :\n            resolveTiming(metadata.timings, context.errors, true);\n        return {\n            type: 12 /* Stagger */,\n            animation: visitDslNode(this, normalizeAnimationEntry(metadata.animation), context), timings: timings,\n            options: null\n        };\n    };\n    return AnimationAstBuilderVisitor;\n}());\nexport { AnimationAstBuilderVisitor };\nfunction AnimationAstBuilderVisitor_tsickle_Closure_declarations() {\n    /** @type {?} */\n    AnimationAstBuilderVisitor.prototype._driver;\n}\n/**\n * @param {?} selector\n * @return {?}\n */\nfunction normalizeSelector(selector) {\n    var /** @type {?} */ hasAmpersand = selector.split(/\\s*,\\s*/).find(function (token) { return token == SELF_TOKEN; })
  ? true : false;\n    if (hasAmpersand) {\n        selector = selector.replace(SELF_TOKEN_REGEX, '');\n    }\n    // the :enter and :leave selectors are filled in at runtime during timeline building\n    selector = selector.replace(/@\\*/g, NG_TRIGGER_SELECTOR)\n        .replace(/@\\w+/g, function (match) { return NG_TRIGGER_SELECTOR + '-' + match.substr(1); })\n        .replace(/:animating/g, NG_ANIMATING_SELECTOR);\n    return [selector, hasAmpersand];\n}\n/**\n * @param {?} obj\n * @return {?}\n */\nfunction normalizeParams(obj) {\n    return obj ? copyObj(obj) : null;\n}\nvar AnimationAstBuilderContext = /** @class */ (function () {\n    function AnimationAstBuilderContext(errors) {\n        this.errors = errors;\n        this.queryCount = 0;\n        this.depCount = 0;\n        this.currentTransition = null;\n        this.currentQuery = null;\n        this.currentQuerySelector = null;\n        this.currentAnimateTimings = null;\n        this.currentTime = 0;\n        this.colle
 ctedStyles = {};\n        this.options = null;\n    }\n    return AnimationAstBuilderContext;\n}());\nexport { AnimationAstBuilderContext };\nfunction AnimationAstBuilderContext_tsickle_Closure_declarations() {\n    /** @type {?} */\n    AnimationAstBuilderContext.prototype.queryCount;\n    /** @type {?} */\n    AnimationAstBuilderContext.prototype.depCount;\n    /** @type {?} */\n    AnimationAstBuilderContext.prototype.currentTransition;\n    /** @type {?} */\n    AnimationAstBuilderContext.prototype.currentQuery;\n    /** @type {?} */\n    AnimationAstBuilderContext.prototype.currentQuerySelector;\n    /** @type {?} */\n    AnimationAstBuilderContext.prototype.currentAnimateTimings;\n    /** @type {?} */\n    AnimationAstBuilderContext.prototype.currentTime;\n    /** @type {?} */\n    AnimationAstBuilderContext.prototype.collectedStyles;\n    /** @type {?} */\n    AnimationAstBuilderContext.prototype.options;\n    /** @type {?} */\n    AnimationAstBuilderContext.prototype.errors;
 \n}\n/**\n * @param {?} styles\n * @return {?}\n */\nfunction consumeOffset(styles) {\n    if (typeof styles == 'string')\n        return null;\n    var /** @type {?} */ offset = null;\n    if (Array.isArray(styles)) {\n        styles.forEach(function (styleTuple) {\n            if (isObject(styleTuple) && styleTuple.hasOwnProperty('offset')) {\n                var /** @type {?} */ obj = /** @type {?} */ (styleTuple);\n                offset = parseFloat(/** @type {?} */ (obj['offset']));\n                delete obj['offset'];\n            }\n        });\n    }\n    else if (isObject(styles) && styles.hasOwnProperty('offset')) {\n        var /** @type {?} */ obj = /** @type {?} */ (styles);\n        offset = parseFloat(/** @type {?} */ (obj['offset']));\n        delete obj['offset'];\n    }\n    return offset;\n}\n/**\n * @param {?} value\n * @return {?}\n */\nfunction isObject(value) {\n    return !Array.isArray(value) && typeof value == 'object';\n}\n/**\n * @param {?} value\n * @
 param {?} errors\n * @return {?}\n */\nfunction constructTimingAst(value, errors) {\n    var /** @type {?} */ timings = null;\n    if (value.hasOwnProperty('duration')) {\n        timings = /** @type {?} */ (value);\n    }\n    else if (typeof value == 'number') {\n        var /** @type {?} */ duration = resolveTiming(/** @type {?} */ (value), errors).duration;\n        return makeTimingAst(/** @type {?} */ (duration), 0, '');\n    }\n    var /** @type {?} */ strValue = /** @type {?} */ (value);\n    var /** @type {?} */ isDynamic = strValue.split(/\\s+/).some(function (v) { return v.charAt(0) == '{' && v.charAt(1) == '{'; });\n    if (isDynamic) {\n        var /** @type {?} */ ast = /** @type {?} */ (makeTimingAst(0, 0, ''));\n        ast.dynamic = true;\n        ast.strValue = strValue;\n        return /** @type {?} */ (ast);\n    }\n    timings = timings || resolveTiming(strValue, errors);\n    return makeTimingAst(timings.duration, timings.delay, timings.easing);\n}\n/**\n * @pa
 ram {?} options\n * @return {?}\n */\nfunction normalizeAnimationOptions(options) {\n    if (options) {\n        options = copyObj(options);\n        if (options['params']) {\n            options['params'] = /** @type {?} */ ((normalizeParams(options['params'])));\n        }\n    }\n    else {\n        options = {};\n    }\n    return options;\n}\n/**\n * @param {?} duration\n * @param {?} delay\n * @param {?} easing\n * @return {?}\n */\nfunction makeTimingAst(duration, delay, easing) {\n    return { duration: duration, delay: delay, easing: easing };\n}\n//# sourceMappingURL=animation_ast_builder.js.map","/**\n * @fileoverview added by tsickle\n * @suppress {checkTypes} checked by tsc\n */\n/**\n * @record\n */\nexport function AnimationTimelineInstruction() { }\nfunction AnimationTimelineInstruction_tsickle_Closure_declarations() {\n    /** @type {?} */\n    AnimationTimelineInstruction.prototype.element;\n    /** @type {?} */\n    AnimationTimelineInstruction.prototype.keyframes
 ;\n    /** @type {?} */\n    AnimationTimelineInstruction.prototype.preStyleProps;\n    /** @type {?} */\n    AnimationTimelineInstruction.prototype.postStyleProps;\n    /** @type {?} */\n    AnimationTimelineInstruction.prototype.duration;\n    /** @type {?} */\n    AnimationTimelineInstruction.prototype.delay;\n    /** @type {?} */\n    AnimationTimelineInstruction.prototype.totalTime;\n    /** @type {?} */\n    AnimationTimelineInstruction.prototype.easing;\n    /** @type {?|undefined} */\n    AnimationTimelineInstruction.prototype.stretchStartingKeyframe;\n    /** @type {?} */\n    AnimationTimelineInstruction.prototype.subTimeline;\n}\n/**\n * @param {?} element\n * @param {?} keyframes\n * @param {?} preStyleProps\n * @param {?} postStyleProps\n * @param {?} duration\n * @param {?} delay\n * @param {?=} easing\n * @param {?=} subTimeline\n * @return {?}\n */\nexport function createTimelineInstruction(element, keyframes, preStyleProps, postStyleProps, duration, delay, easing, s
 ubTimeline) {\n    if (easing === void 0) { easing = null; }\n    if (subTimeline === void 0) { subTimeline = false; }\n    return {\n        type: 1 /* TimelineAnimation */,\n        element: element,\n        keyframes: keyframes,\n        preStyleProps: preStyleProps,\n        postStyleProps: postStyleProps,\n        duration: duration,\n        delay: delay,\n        totalTime: duration + delay, easing: easing, subTimeline: subTimeline\n    };\n}\n//# sourceMappingURL=animation_timeline_instruction.js.map","/**\n * @fileoverview added by tsickle\n * @suppress {checkTypes} checked by tsc\n */\nvar ElementInstructionMap = /** @class */ (function () {\n    function ElementInstructionMap() {\n        this._map = new Map();\n    }\n    /**\n     * @param {?} element\n     * @return {?}\n     */\n    ElementInstructionMap.prototype.consume = /**\n     * @param {?} element\n     * @return {?}\n     */\n    function (element) {\n        var /** @type {?} */ instructions = this._map.get(
 element);\n        if (instructions) {\n            this._map.delete(element);\n        }\n        else {\n            instructions = [];\n        }\n        return instructions;\n    };\n    /**\n     * @param {?} element\n     * @param {?} instructions\n     * @return {?}\n     */\n    ElementInstructionMap.prototype.append = /**\n     * @param {?} element\n     * @param {?} instructions\n     * @return {?}\n     */\n    function (element, instructions) {\n        var /** @type {?} */ existingInstructions = this._map.get(element);\n        if (!existingInstructions) {\n            this._map.set(element, existingInstructions = []);\n        }\n        existingInstructions.push.apply(existingInstructions, instructions);\n    };\n    /**\n     * @param {?} element\n     * @return {?}\n     */\n    ElementInstructionMap.prototype.has = /**\n     * @param {?} element\n     * @return {?}\n     */\n    function (element) { return this._map.has(element); };\n    /**\n     * @return {?}\n 
     */\n    ElementInstructionMap.prototype.clear = /**\n     * @return {?}\n     */\n    function () { this._map.clear(); };\n    return ElementInstructionMap;\n}());\nexport { ElementInstructionMap };\nfunction ElementInstructionMap_tsickle_Closure_declarations() {\n    /** @type {?} */\n    ElementInstructionMap.prototype._map;\n}\n//# sourceMappingURL=element_instruction_map.js.map","/**\n * @fileoverview added by tsickle\n * @suppress {checkTypes} checked by tsc\n */\nimport * as tslib_1 from \"tslib\";\nimport { AUTO_STYLE, ɵPRE_STYLE as PRE_STYLE } from '@angular/animations';\nimport { copyObj, copyStyles, interpolateParams, iteratorToArray, resolveTiming, resolveTimingValue, visitDslNode } from '../util';\nimport { createTimelineInstruction } from './animation_timeline_instruction';\nimport { ElementInstructionMap } from './element_instruction_map';\nvar /** @type {?} */ ONE_FRAME_IN_MILLISECONDS = 1;\nvar /** @type {?} */ ENTER_TOKEN = ':enter';\nvar /** @type {?} */ ENTER
 _TOKEN_REGEX = new RegExp(ENTER_TOKEN, 'g');\nvar /** @type {?} */ LEAVE_TOKEN = ':leave';\nvar /** @type {?} */ LEAVE_TOKEN_REGEX = new RegExp(LEAVE_TOKEN, 'g');\n/**\n * @param {?} driver\n * @param {?} rootElement\n * @param {?} ast\n * @param {?} enterClassName\n * @param {?} leaveClassName\n * @param {?=} startingStyles\n * @param {?=} finalStyles\n * @param {?=} options\n * @param {?=} subInstructions\n * @param {?=} errors\n * @return {?}\n */\nexport function buildAnimationTimelines(driver, rootElement, ast, enterClassName, leaveClassName, startingStyles, finalStyles, options, subInstructions, errors) {\n    if (startingStyles === void 0) { startingStyles = {}; }\n    if (finalStyles === void 0) { finalStyles = {}; }\n    if (errors === void 0) { errors = []; }\n    return new AnimationTimelineBuilderVisitor().buildKeyframes(driver, rootElement, ast, enterClassName, leaveClassName, startingStyles, finalStyles, options, subInstructions, errors);\n}\nvar AnimationTimelineBuild
 erVisitor = /** @class */ (function () {\n    function AnimationTimelineBuilderVisitor() {\n    }\n    /**\n     * @param {?} driver\n     * @param {?} rootElement\n     * @param {?} ast\n     * @param {?} enterClassName\n     * @param {?} leaveClassName\n     * @param {?} startingStyles\n     * @param {?} finalStyles\n     * @param {?} options\n     * @param {?=} subInstructions\n     * @param {?=} errors\n     * @return {?}\n     */\n    AnimationTimelineBuilderVisitor.prototype.buildKeyframes = /**\n     * @param {?} driver\n     * @param {?} rootElement\n     * @param {?} ast\n     * @param {?} enterClassName\n     * @param {?} leaveClassName\n     * @param {?} startingStyles\n     * @param {?} finalStyles\n     * @param {?} options\n     * @param {?=} subInstructions\n     * @param {?=} errors\n     * @return {?}\n     */\n    function (driver, rootElement, ast, enterClassName, leaveClassName, startingStyles, finalStyles, options, subInstructions, errors) {\n        if (errors 
 === void 0) { errors = []; }\n        subInstructions = subInstructions || new ElementInstructionMap();\n        var /** @type {?} */ context = new AnimationTimelineContext(driver, rootElement, subInstructions, enterClassName, leaveClassName, errors, []);\n        context.options = options;\n        context.currentTimeline.setStyles([startingStyles], null, context.errors, options);\n        visitDslNode(this, ast, context);\n        // this checks to see if an actual animation happened\n        var /** @type {?} */ timelines = context.timelines.filter(function (timeline) { return timeline.containsAnimation(); });\n        if (timelines.length && Object.keys(finalStyles).length) {\n            var /** @type {?} */ tl = timelines[timelines.length - 1];\n            if (!tl.allowOnlyTimelineStyles()) {\n                tl.setStyles([finalStyles], null, context.errors, options);\n            }\n        }\n        return timelines.length ? timelines.map(function (timeline) { return timel
 ine.buildKeyframes(); }) :\n            [createTimelineInstruction(rootElement, [], [], [], 0, 0, '', false)];\n    };\n    /**\n     * @param {?} ast\n     * @param {?} context\n     * @return {?}\n     */\n    AnimationTimelineBuilderVisitor.prototype.visitTrigger = /**\n     * @param {?} ast\n     * @param {?} context\n     * @return {?}\n     */\n    function (ast, context) {\n        // these values are not visited in this AST\n    };\n    /**\n     * @param {?} ast\n     * @param {?} context\n     * @return {?}\n     */\n    AnimationTimelineBuilderVisitor.prototype.visitState = /**\n     * @param {?} ast\n     * @param {?} context\n     * @return {?}\n     */\n    function (ast, context) {\n        // these values are not visited in this AST\n    };\n    /**\n     * @param {?} ast\n     * @param {?} context\n     * @return {?}\n     */\n    AnimationTimelineBuilderVisitor.prototype.visitTransition = /**\n     * @param {?} ast\n     * @param {?} context\n     * @return {?}\n  
    */\n    function (ast, context) {\n        // these values are not visited in this AST\n    };\n    /**\n     * @param {?} ast\n     * @param {?} context\n     * @return {?}\n     */\n    AnimationTimelineBuilderVisitor.prototype.visitAnimateChild = /**\n     * @param {?} ast\n     * @param {?} context\n     * @return {?}\n     */\n    function (ast, context) {\n        var /** @type {?} */ elementInstructions = context.subInstructions.consume(context.element);\n        if (elementInstructions) {\n            var /** @type {?} */ innerContext = context.createSubContext(ast.options);\n            var /** @type {?} */ startTime = context.currentTimeline.currentTime;\n            var /** @type {?} */ endTime = this._visitSubInstructions(elementInstructions, innerContext, /** @type {?} */ (innerContext.options));\n            if (startTime != endTime) {\n                // we do this on the upper context because we created a sub context for\n                // the sub child animation
 s\n                context.transformIntoNewTimeline(endTime);\n            }\n        }\n        context.previousNode = ast;\n    };\n    /**\n     * @param {?} ast\n     * @param {?} context\n     * @return {?}\n     */\n    AnimationTimelineBuilderVisitor.prototype.visitAnimateRef = /**\n     * @param {?} ast\n     * @param {?} context\n     * @return {?}\n     */\n    function (ast, context) {\n        var /** @type {?} */ innerContext = context.createSubContext(ast.options);\n        innerContext.transformIntoNewTimeline();\n        this.visitReference(ast.animation, innerContext);\n        context.transformIntoNewTimeline(innerContext.currentTimeline.currentTime);\n        context.previousNode = ast;\n    };\n    /**\n     * @param {?} instructions\n     * @param {?} context\n     * @param {?} options\n     * @return {?}\n     */\n    AnimationTimelineBuilderVisitor.prototype._visitSubInstructions = /**\n     * @param {?} instructions\n     * @param {?} context\n     * @param {
 ?} options\n     * @return {?}\n     */\n    function (instructions, context, options) {\n        var /** @type {?} */ startTime = context.currentTimeline.currentTime;\n        var /** @type {?} */ furthestTime = startTime;\n        // this is a special-case for when a user wants to skip a sub\n        // animation from being fired entirely.\n        var /** @type {?} */ duration = options.duration != null ? resolveTimingValue(options.duration) : null;\n        var /** @type {?} */ delay = options.delay != null ? resolveTimingValue(options.delay) : null;\n        if (duration !== 0) {\n            instructions.forEach(function (instruction) {\n                var /** @type {?} */ instructionTimings = context.appendInstructionToTimeline(instruction, duration, delay);\n                furthestTime =\n                    Math.max(furthestTime, instructionTimings.duration + instructionTimings.delay);\n            });\n        }\n        return furthestTime;\n    };\n    /**\n     * @par
 am {?} ast\n     * @param {?} context\n     * @return {?}\n     */\n    AnimationTimelineBuilderVisitor.prototype.visitReference = /**\n     * @param {?} ast\n     * @param {?} context\n     * @return {?}\n     */\n    function (ast, context) {\n        context.updateOptions(ast.options, true);\n        visitDslNode(this, ast.animation, context);\n        context.previousNode = ast;\n    };\n    /**\n     * @param {?} ast\n     * @param {?} context\n     * @return {?}\n     */\n    AnimationTimelineBuilderVisitor.prototype.visitSequence = /**\n     * @param {?} ast\n     * @param {?} context\n     * @return {?}\n     */\n    function (ast, context) {\n        var _this = this;\n        var /** @type {?} */ subContextCount = context.subContextCount;\n        var /** @type {?} */ ctx = context;\n        var /** @type {?} */ options = ast.options;\n        if (options && (options.params || options.delay)) {\n            ctx = context.createSubContext(options);\n            ctx.transfor
 mIntoNewTimeline();\n            if (options.delay != null) {\n                if (ctx.previousNode.type == 6 /* Style */) {\n                    ctx.currentTimeline.snapshotCurrentStyles();\n                    ctx.previousNode = DEFAULT_NOOP_PREVIOUS_NODE;\n                }\n                var /** @type {?} */ delay = resolveTimingValue(options.delay);\n                ctx.delayNextStep(delay);\n            }\n        }\n        if (ast.steps.length) {\n            ast.steps.forEach(function (s) { return visitDslNode(_this, s, ctx); });\n            // this is here just incase the inner steps only contain or end with a style() call\n            ctx.currentTimeline.applyStylesToKeyframe();\n            // this means that some animation function within the sequence\n            // ended up creating a sub timeline (which means the current\n            // timeline cannot overlap with the contents of the sequence)\n            if (ctx.subContextCount > subContextCount) {\n           
      ctx.transformIntoNewTimeline();\n            }\n        }\n        context.previousNode = ast;\n    };\n    /**\n     * @param {?} ast\n     * @param {?} context\n     * @return {?}\n     */\n    AnimationTimelineBuilderVisitor.prototype.visitGroup = /**\n     * @param {?} ast\n     * @param {?} context\n     * @return {?}\n     */\n    function (ast, context) {\n        var _this = this;\n        var /** @type {?} */ innerTimelines = [];\n        var /** @type {?} */ furthestTime = context.currentTimeline.currentTime;\n        var /** @type {?} */ delay = ast.options && ast.options.delay ? resolveTimingValue(ast.options.delay) : 0;\n        ast.steps.forEach(function (s) {\n            var /** @type {?} */ innerContext = context.createSubContext(ast.options);\n            if (delay) {\n                innerContext.delayNextStep(delay);\n            }\n            visitDslNode(_this, s, innerContext);\n            furthestTime = Math.max(furthestTime, innerContext.currentTimeli
 ne.currentTime);\n            innerTimelines.push(innerContext.currentTimeline);\n        });\n        // this operation is run after the AST loop because otherwise\n        // if the parent timeline's collected styles were updated then\n        // it would pass in invalid data into the new-to-be forked items\n        innerTimelines.forEach(function (timeline) { return context.currentTimeline.mergeTimelineCollectedStyles(timeline); });\n        context.transformIntoNewTimeline(furthestTime);\n        context.previousNode = ast;\n    };\n    /**\n     * @param {?} ast\n     * @param {?} context\n     * @return {?}\n     */\n    AnimationTimelineBuilderVisitor.prototype._visitTiming = /**\n     * @param {?} ast\n     * @param {?} context\n     * @return {?}\n     */\n    function (ast, context) {\n        if ((/** @type {?} */ (ast)).dynamic) {\n            var /** @type {?} */ strValue = (/** @type {?} */ (ast)).strValue;\n            var /** @type {?} */ timingValue = context.params
  ? interpolateParams(strValue, context.params, context.errors) : strValue;\n            return resolveTiming(timingValue, context.errors);\n        }\n        else {\n            return { duration: ast.duration, delay: ast.delay, easing: ast.easing };\n        }\n    };\n    /**\n     * @param {?} ast\n     * @param {?} context\n     * @return {?}\n     */\n    AnimationTimelineBuilderVisitor.prototype.visitAnimate = /**\n     * @param {?} ast\n     * @param {?} context\n     * @return {?}\n     */\n    function (ast, context) {\n        var /** @type {?} */ timings = context.currentAnimateTimings = this._visitTiming(ast.timings, context);\n        var /** @type {?} */ timeline = context.currentTimeline;\n        if (timings.delay) {\n            context.incrementTime(timings.delay);\n            timeline.snapshotCurrentStyles();\n        }\n        var /** @type {?} */ style = ast.style;\n        if (style.type == 5 /* Keyframes */) {\n            this.visitKeyframes(style, context
 );\n        }\n        else {\n            context.incrementTime(timings.duration);\n            this.visitStyle(/** @type {?} */ (style), context);\n            timeline.applyStylesToKeyframe();\n        }\n        context.currentAnimateTimings = null;\n        context.previousNode = ast;\n    };\n    /**\n     * @param {?} ast\n     * @param {?} context\n     * @return {?}\n     */\n    AnimationTimelineBuilderVisitor.prototype.visitStyle = /**\n     * @param {?} ast\n     * @param {?} context\n     * @return {?}\n     */\n    function (ast, context) {\n        var /** @type {?} */ timeline = context.currentTimeline;\n        var /** @type {?} */ timings = /** @type {?} */ ((context.currentAnimateTimings));\n        // this is a special case for when a style() call\n        // directly follows  an animate() call (but not inside of an animate() call)\n        if (!timings && timeline.getCurrentStyleProperties().length) {\n            timeline.forwardFrame();\n        }\n        var
  /** @type {?} */ easing = (timings && timings.easing) || ast.easing;\n        if (ast.isEmptyStep) {\n            timeline.applyEmptyStep(easing);\n        }\n        else {\n            timeline.setStyles(ast.styles, easing, context.errors, context.options);\n        }\n        context.previousNode = ast;\n    };\n    /**\n     * @param {?} ast\n     * @param {?} context\n     * @return {?}\n     */\n    AnimationTimelineBuilderVisitor.prototype.visitKeyframes = /**\n     * @param {?} ast\n     * @param {?} context\n     * @return {?}\n     */\n    function (ast, context) {\n        var /** @type {?} */ currentAnimateTimings = /** @type {?} */ ((context.currentAnimateTimings));\n        var /** @type {?} */ startTime = (/** @type {?} */ ((context.currentTimeline))).duration;\n        var /** @type {?} */ duration = currentAnimateTimings.duration;\n        var /** @type {?} */ innerContext = context.createSubContext();\n        var /** @type {?} */ innerTimeline = innerContext.curr
 entTimeline;\n        innerTimeline.easing = currentAnimateTimings.easing;\n        ast.styles.forEach(function (step) {\n            var /** @type {?} */ offset = step.offset || 0;\n            innerTimeline.forwardTime(offset * duration);\n            innerTimeline.setStyles(step.styles, step.easing, context.errors, context.options);\n            innerTimeline.applyStylesToKeyframe();\n        });\n        // this will ensure that the parent timeline gets all the styles from\n        // the child even if the new timeline below is not used\n        context.currentTimeline.mergeTimelineCollectedStyles(innerTimeline);\n        // we do this because the window between this timeline and the sub timeline\n        // should ensure that the styles within are exactly the same as they were before\n        context.transformIntoNewTimeline(startTime + duration);\n        context.previousNode = ast;\n    };\n    /**\n     * @param {?} ast\n     * @param {?} context\n     * @return {?}\n     */
 \n    AnimationTimelineBuilderVisitor.prototype.visitQuery = /**\n     * @param {?} ast\n     * @param {?} context\n     * @return {?}\n     */\n    function (ast, context) {\n        var _this = this;\n        // in the event that the first step before this is a style step we need\n        // to ensure the styles are applied before the children are animated\n        var /** @type {?} */ startTime = context.currentTimeline.currentTime;\n        var /** @type {?} */ options = /** @type {?} */ ((ast.options || {}));\n        var /** @type {?} */ delay = options.delay ? resolveTimingValue(options.delay) : 0;\n        if (delay && (context.previousNode.type === 6 /* Style */ ||\n            (startTime == 0 && context.currentTimeline.getCurrentStyleProperties().length))) {\n            context.currentTimeline.snapshotCurrentStyles();\n            context.previousNode = DEFAULT_NOOP_PREVIOUS_NODE;\n        }\n        var /** @type {?} */ furthestTime = startTime;\n        var /** @type {?
 } */ elms = context.invokeQuery(ast.selector, ast.originalSelector, ast.limit, ast.includeSelf, options.optional ? true : false, context.errors);\n        context.currentQueryTotal = elms.length;\n        var /** @type {?} */ sameElementTimeline = null;\n        elms.forEach(function (element, i) {\n            context.currentQueryIndex = i;\n            var /** @type {?} */ innerContext = context.createSubContext(ast.options, element);\n            if (delay) {\n                innerContext.delayNextStep(delay);\n            }\n            if (element === context.element) {\n                sameElementTimeline = innerContext.currentTimeline;\n            }\n            visitDslNode(_this, ast.animation, innerContext);\n            // this is here just incase the inner steps only contain or end\n            // with a style() call (which is here to signal that this is a preparatory\n            // call to style an element before it is animated again)\n            innerContext.current
 Timeline.applyStylesToKeyframe();\n            var /** @type {?} */ endTime = innerContext.currentTimeline.currentTime;\n            furthestTime = Math.max(furthestTime, endTime);\n        });\n        context.currentQueryIndex = 0;\n        context.currentQueryTotal = 0;\n        context.transformIntoNewTimeline(furthestTime);\n        if (sameElementTimeline) {\n            context.currentTimeline.mergeTimelineCollectedStyles(sameElementTimeline);\n            context.currentTimeline.snapshotCurrentStyles();\n        }\n        context.previousNode = ast;\n    };\n    /**\n     * @param {?} ast\n     * @param {?} context\n     * @return {?}\n     */\n    AnimationTimelineBuilderVisitor.prototype.visitStagger = /**\n     * @param {?} ast\n     * @param {?} context\n     * @return {?}\n     */\n    function (ast, context) {\n        var /** @type {?} */ parentContext = /** @type {?} */ ((context.parentContext));\n        var /** @type {?} */ tl = context.currentTimeline;\n        v
 ar /** @type {?} */ timings = ast.timings;\n        var /** @type {?} */ duration = Math.abs(timings.duration);\n        var /** @type {?} */ maxTime = duration * (context.currentQueryTotal - 1);\n        var /** @type {?} */ delay = duration * context.currentQueryIndex;\n        var /** @type {?} */ staggerTransformer = timings.duration < 0 ? 'reverse' : timings.easing;\n        switch (staggerTransformer) {\n            case 'reverse':\n                delay = maxTime - delay;\n                break;\n            case 'full':\n                delay = parentContext.currentStaggerTime;\n                break;\n        }\n        var /** @type {?} */ timeline = context.currentTimeline;\n        if (delay) {\n            timeline.delayNextStep(delay);\n        }\n        var /** @type {?} */ startingTime = timeline.currentTime;\n        visitDslNode(this, ast.animation, context);\n        context.previousNode = ast;\n        // time = duration + delay\n        // the reason why this c
 omputation is so complex is because\n        // the inner timeline may either have a delay value or a stretched\n        // keyframe depending on if a subtimeline is not used or is used.\n        parentContext.currentStaggerTime =\n            (tl.currentTime - startingTime) + (tl.startTime - parentContext.currentTimeline.startTime);\n    };\n    return AnimationTimelineBuilderVisitor;\n}());\nexport { AnimationTimelineBuilderVisitor };\nvar /** @type {?} */ DEFAULT_NOOP_PREVIOUS_NODE = /** @type {?} */ ({});\nvar AnimationTimelineContext = /** @class */ (function () {\n    function AnimationTimelineContext(_driver, element, subInstructions, _enterClassName, _leaveClassName, errors, timelines, initialTimeline) {\n        this._driver = _driver;\n        this.element = element;\n        this.subInstructions = subInstructions;\n        this._enterClassName = _enterClassName;\n        this._leaveClassName = _leaveClassName;\n        this.errors = errors;\n        this.timelines = timel
 ines;\n        this.parentContext = null;\n        this.currentAnimateTimings = null;\n        this.previousNode = DEFAULT_NOOP_PREVIOUS_NODE;\n        this.subContextCount = 0;\n        this.options = {};\n        this.currentQueryIndex = 0;\n        th

<TRUNCATED>

[58/59] [abbrv] nifi-fds git commit: gh-pages update

Posted by sc...@apache.org.
gh-pages update


Project: http://git-wip-us.apache.org/repos/asf/nifi-fds/repo
Commit: http://git-wip-us.apache.org/repos/asf/nifi-fds/commit/75ca3a9c
Tree: http://git-wip-us.apache.org/repos/asf/nifi-fds/tree/75ca3a9c
Diff: http://git-wip-us.apache.org/repos/asf/nifi-fds/diff/75ca3a9c

Branch: refs/heads/gh-pages
Commit: 75ca3a9c5c9eb8b0863f5995017f319d55ae9c53
Parents: 370b7b5
Author: Scott Aslan <sc...@gmail.com>
Authored: Tue Jun 5 23:03:21 2018 -0400
Committer: Scott Aslan <sc...@gmail.com>
Committed: Tue Jun 5 23:03:21 2018 -0400

----------------------------------------------------------------------
 node_modules/@nifi-fds/core/LICENSE            | 240 ++++++++++++++++++++
 node_modules/@nifi-fds/core/NOTICE             |   5 +
 node_modules/iltorb/build/Release/iltorb.node  | Bin 865768 -> 865768 bytes
 node_modules/iltorb/build/bindings/iltorb.node | Bin 865768 -> 865768 bytes
 4 files changed, 245 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/75ca3a9c/node_modules/@nifi-fds/core/LICENSE
----------------------------------------------------------------------
diff --git a/node_modules/@nifi-fds/core/LICENSE b/node_modules/@nifi-fds/core/LICENSE
new file mode 100644
index 0000000..8d6dc97
--- /dev/null
+++ b/node_modules/@nifi-fds/core/LICENSE
@@ -0,0 +1,240 @@
+
+                                 Apache License
+                           Version 2.0, January 2004
+                        http://www.apache.org/licenses/
+
+   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+   1. Definitions.
+
+      "License" shall mean the terms and conditions for use, reproduction,
+      and distribution as defined by Sections 1 through 9 of this document.
+
+      "Licensor" shall mean the copyright owner or entity authorized by
+      the copyright owner that is granting the License.
+
+      "Legal Entity" shall mean the union of the acting entity and all
+      other entities that control, are controlled by, or are under common
+      control with that entity. For the purposes of this definition,
+      "control" means (i) the power, direct or indirect, to cause the
+      direction or management of such entity, whether by contract or
+      otherwise, or (ii) ownership of fifty percent (50%) or more of the
+      outstanding shares, or (iii) beneficial ownership of such entity.
+
+      "You" (or "Your") shall mean an individual or Legal Entity
+      exercising permissions granted by this License.
+
+      "Source" form shall mean the preferred form for making modifications,
+      including but not limited to software source code, documentation
+      source, and configuration files.
+
+      "Object" form shall mean any form resulting from mechanical
+      transformation or translation of a Source form, including but
+      not limited to compiled object code, generated documentation,
+      and conversions to other media types.
+
+      "Work" shall mean the work of authorship, whether in Source or
+      Object form, made available under the License, as indicated by a
+      copyright notice that is included in or attached to the work
+      (an example is provided in the Appendix below).
+
+      "Derivative Works" shall mean any work, whether in Source or Object
+      form, that is based on (or derived from) the Work and for which the
+      editorial revisions, annotations, elaborations, or other modifications
+      represent, as a whole, an original work of authorship. For the purposes
+      of this License, Derivative Works shall not include works that remain
+      separable from, or merely link (or bind by name) to the interfaces of,
+      the Work and Derivative Works thereof.
+
+      "Contribution" shall mean any work of authorship, including
+      the original version of the Work and any modifications or additions
+      to that Work or Derivative Works thereof, that is intentionally
+      submitted to Licensor for inclusion in the Work by the copyright owner
+      or by an individual or Legal Entity authorized to submit on behalf of
+      the copyright owner. For the purposes of this definition, "submitted"
+      means any form of electronic, verbal, or written communication sent
+      to the Licensor or its representatives, including but not limited to
+      communication on electronic mailing lists, source code control systems,
+      and issue tracking systems that are managed by, or on behalf of, the
+      Licensor for the purpose of discussing and improving the Work, but
+      excluding communication that is conspicuously marked or otherwise
+      designated in writing by the copyright owner as "Not a Contribution."
+
+      "Contributor" shall mean Licensor and any individual or Legal Entity
+      on behalf of whom a Contribution has been received by Licensor and
+      subsequently incorporated within the Work.
+
+   2. Grant of Copyright License. Subject to the terms and conditions of
+      this License, each Contributor hereby grants to You a perpetual,
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+      copyright license to reproduce, prepare Derivative Works of,
+      publicly display, publicly perform, sublicense, and distribute the
+      Work and such Derivative Works in Source or Object form.
+
+   3. Grant of Patent License. Subject to the terms and conditions of
+      this License, each Contributor hereby grants to You a perpetual,
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+      (except as stated in this section) patent license to make, have made,
+      use, offer to sell, sell, import, and otherwise transfer the Work,
+      where such license applies only to those patent claims licensable
+      by such Contributor that are necessarily infringed by their
+      Contribution(s) alone or by combination of their Contribution(s)
+      with the Work to which such Contribution(s) was submitted. If You
+      institute patent litigation against any entity (including a
+      cross-claim or counterclaim in a lawsuit) alleging that the Work
+      or a Contribution incorporated within the Work constitutes direct
+      or contributory patent infringement, then any patent licenses
+      granted to You under this License for that Work shall terminate
+      as of the date such litigation is filed.
+
+   4. Redistribution. You may reproduce and distribute copies of the
+      Work or Derivative Works thereof in any medium, with or without
+      modifications, and in Source or Object form, provided that You
+      meet the following conditions:
+
+      (a) You must give any other recipients of the Work or
+          Derivative Works a copy of this License; and
+
+      (b) You must cause any modified files to carry prominent notices
+          stating that You changed the files; and
+
+      (c) You must retain, in the Source form of any Derivative Works
+          that You distribute, all copyright, patent, trademark, and
+          attribution notices from the Source form of the Work,
+          excluding those notices that do not pertain to any part of
+          the Derivative Works; and
+
+      (d) If the Work includes a "NOTICE" text file as part of its
+          distribution, then any Derivative Works that You distribute must
+          include a readable copy of the attribution notices contained
+          within such NOTICE file, excluding those notices that do not
+          pertain to any part of the Derivative Works, in at least one
+          of the following places: within a NOTICE text file distributed
+          as part of the Derivative Works; within the Source form or
+          documentation, if provided along with the Derivative Works; or,
+          within a display generated by the Derivative Works, if and
+          wherever such third-party notices normally appear. The contents
+          of the NOTICE file are for informational purposes only and
+          do not modify the License. You may add Your own attribution
+          notices within Derivative Works that You distribute, alongside
+          or as an addendum to the NOTICE text from the Work, provided
+          that such additional attribution notices cannot be construed
+          as modifying the License.
+
+      You may add Your own copyright statement to Your modifications and
+      may provide additional or different license terms and conditions
+      for use, reproduction, or distribution of Your modifications, or
+      for any such Derivative Works as a whole, provided Your use,
+      reproduction, and distribution of the Work otherwise complies with
+      the conditions stated in this License.
+
+   5. Submission of Contributions. Unless You explicitly state otherwise,
+      any Contribution intentionally submitted for inclusion in the Work
+      by You to the Licensor shall be under the terms and conditions of
+      this License, without any additional terms or conditions.
+      Notwithstanding the above, nothing herein shall supersede or modify
+      the terms of any separate license agreement you may have executed
+      with Licensor regarding such Contributions.
+
+   6. Trademarks. This License does not grant permission to use the trade
+      names, trademarks, service marks, or product names of the Licensor,
+      except as required for reasonable and customary use in describing the
+      origin of the Work and reproducing the content of the NOTICE file.
+
+   7. Disclaimer of Warranty. Unless required by applicable law or
+      agreed to in writing, Licensor provides the Work (and each
+      Contributor provides its Contributions) on an "AS IS" BASIS,
+      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+      implied, including, without limitation, any warranties or conditions
+      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+      PARTICULAR PURPOSE. You are solely responsible for determining the
+      appropriateness of using or redistributing the Work and assume any
+      risks associated with Your exercise of permissions under this License.
+
+   8. Limitation of Liability. In no event and under no legal theory,
+      whether in tort (including negligence), contract, or otherwise,
+      unless required by applicable law (such as deliberate and grossly
+      negligent acts) or agreed to in writing, shall any Contributor be
+      liable to You for damages, including any direct, indirect, special,
+      incidental, or consequential damages of any character arising as a
+      result of this License or out of the use or inability to use the
+      Work (including but not limited to damages for loss of goodwill,
+      work stoppage, computer failure or malfunction, or any and all
+      other commercial damages or losses), even if such Contributor
+      has been advised of the possibility of such damages.
+
+   9. Accepting Warranty or Additional Liability. While redistributing
+      the Work or Derivative Works thereof, You may choose to offer,
+      and charge a fee for, acceptance of support, warranty, indemnity,
+      or other liability obligations and/or rights consistent with this
+      License. However, in accepting such obligations, You may act only
+      on Your own behalf and on Your sole responsibility, not on behalf
+      of any other Contributor, and only if You agree to indemnify,
+      defend, and hold each Contributor harmless for any liability
+      incurred by, or claims asserted against, such Contributor by reason
+      of your accepting any such warranty or additional liability.
+
+   END OF TERMS AND CONDITIONS
+
+   APPENDIX: How to apply the Apache License to your work.
+
+      To apply the Apache License to your work, attach the following
+      boilerplate notice, with the fields enclosed by brackets "[]"
+      replaced with your own identifying information. (Don't include
+      the brackets!)  The text should be enclosed in the appropriate
+      comment syntax for the file format. We also recommend that a
+      file or class name and description of purpose be included on the
+      same "printed page" as the copyright notice for easier
+      identification within third-party archives.
+
+   Copyright [yyyy] [name of copyright owner]
+
+   Licensed under the Apache License, Version 2.0 (the "License");
+   you may not use this file except in compliance with the License.
+   You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+
+This product bundles 'Apache NiFi Registry' source code which is available under an ASLv2 license.
+
+    Copyright (c) 2018 Apache NiFi Registry https://nifi.apache.org/registry.html
+
+   Licensed under the Apache License, Version 2.0 (the "License");
+   you may not use this file except in compliance with the License.
+   You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+
+This product bundles karma-test-shim.js from 'Angular Quickstart' which is available under an MIT license.
+
+    Copyright (c) 2010-2016 Google, Inc. http://angularjs.org
+
+    Permission is hereby granted, free of charge, to any person obtaining a copy
+    of this software and associated documentation files (the "Software"), to deal
+    in the Software without restriction, including without limitation the rights
+    to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+    copies of the Software, and to permit persons to whom the Software is
+    furnished to do so, subject to the following conditions:
+
+    The above copyright notice and this permission notice shall be included in
+    all copies or substantial portions of the Software.
+
+    THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+    IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+    FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+    AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+    LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+    OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+    THE SOFTWARE.

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/75ca3a9c/node_modules/@nifi-fds/core/NOTICE
----------------------------------------------------------------------
diff --git a/node_modules/@nifi-fds/core/NOTICE b/node_modules/@nifi-fds/core/NOTICE
new file mode 100644
index 0000000..94b420c
--- /dev/null
+++ b/node_modules/@nifi-fds/core/NOTICE
@@ -0,0 +1,5 @@
+Apache NiFi Flow Design System
+Copyright 2014-2018 The Apache Software Foundation
+
+This product includes software developed at
+The Apache Software Foundation (http://www.apache.org/).

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/75ca3a9c/node_modules/iltorb/build/Release/iltorb.node
----------------------------------------------------------------------
diff --git a/node_modules/iltorb/build/Release/iltorb.node b/node_modules/iltorb/build/Release/iltorb.node
index 3904461..6bbddc4 100755
Binary files a/node_modules/iltorb/build/Release/iltorb.node and b/node_modules/iltorb/build/Release/iltorb.node differ

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/75ca3a9c/node_modules/iltorb/build/bindings/iltorb.node
----------------------------------------------------------------------
diff --git a/node_modules/iltorb/build/bindings/iltorb.node b/node_modules/iltorb/build/bindings/iltorb.node
index 3904461..6bbddc4 100755
Binary files a/node_modules/iltorb/build/bindings/iltorb.node and b/node_modules/iltorb/build/bindings/iltorb.node differ


[49/59] [abbrv] [partial] nifi-fds git commit: update gh-pages

Posted by sc...@apache.org.
http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/eec354e6/demo-app/components/flow-design-system/fds-demo.html
----------------------------------------------------------------------
diff --git a/demo-app/components/flow-design-system/fds-demo.html b/demo-app/components/flow-design-system/fds-demo.html
new file mode 100644
index 0000000..e32b36c
--- /dev/null
+++ b/demo-app/components/flow-design-system/fds-demo.html
@@ -0,0 +1,2980 @@
+<!--
+Licensed to the Apache Software Foundation (ASF) under one or more
+contributor license agreements.  See the NOTICE file distributed with
+this work for additional information regarding copyright ownership.
+The ASF licenses this file to You under the Apache License, Version 2.0
+(the "License"); you may not use this file except in compliance with
+the License.  You may obtain a copy of the License at
+
+http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+-->
+
+<mat-sidenav-container>
+    <mat-sidenav #sidenav mode="over" align="end" opened="false">
+        <div fxLayout="column" fxLayoutAlign="space-between center">
+            <p>You can also open a dialog from a side nav.</p>
+            <button mat-raised-button color="fds-primary" (click)="openDialog()">Show simple dialog</button>
+        </div>
+    </mat-sidenav>
+    <div id="fds-demo">
+        <mat-card>
+            <mat-card-title class="pad-bottom-sm">Apache NiFi Flow Design System</mat-card-title>
+            <mat-divider></mat-divider>
+            <mat-card-content class="pad-top-sm">
+                <p>With the Apache NiFi Flow Design System module, we get an atomic, reusable component platform for Apache NiFi and Apache NiFi Registry to consume, while collaborating in an open source model. This module packages the <a class="link" href="https://material.angular.io/components" target="_blank">Angular Material</a> module as well as the <a class="link" href="https://teradata.github.io/covalent/#/components" target="_blank">Teradata Covalent</a> module. These modules have been themed to match the FDS color palette.</p>
+            </mat-card-content>
+        </mat-card>
+        <mat-card>
+            <mat-card-title class="pad-bottom-sm">Setup</mat-card-title>
+            <mat-divider></mat-divider>
+            <mat-card-content>
+                <p>Import the FDS Core NgModule into your AppModule</p>
+                <p>HTML:</p>
+                <pre lang="javascript">
+        <![CDATA[
+        var ngCore = require('@angular/core');
+        var fdsCore = require('flow-design-system/core');
+        // other imports
+          ...
+        new ngCore.NgModule({
+        imports: [
+            fdsCore,
+            // (optional) Additional imports
+          ],
+          ...
+        })
+        ]]>
+    </pre>
+                <p>The core FDS styles also need to be included in your `index.html` like:</p>
+                <p>HTML:</p>
+                <pre lang="html">
+        <![CDATA[
+        <link href="../node_modules/flow-design-system/core/common/styles/css/flow-design-system.css" rel="stylesheet">
+        ]]>
+    </pre>
+                <p>Or, if you are using the Angular CLI you will need to add a new entry to the "styles" list in .angular-cli.json.</p>
+                <p>JSON:</p>
+                <pre lang="json">
+        <![CDATA[
+        "styles": [
+            "../node_modules/flow-design-system/core/common/styles/flow-design-system.scss"
+        ]
+        ]]>
+    </pre>
+            </mat-card-content>
+        </mat-card>
+        <mat-card>
+            <mat-card-title class="pad-bottom-sm">Typography</mat-card-title>
+            <mat-divider></mat-divider>
+            <mat-card-content>
+                <p class="mat-body-1">Angular Material provides <a class="link" href="https://material.io/guidelines/style/typography.html" target="_blank">typography</a> CSS classes you can use to create visual consistency across your application.</p>
+                <p class="mat-body-1">
+                    <strong>Note:</strong>
+                    <span>Base font size is 10px for easy rem units (1.2rem = 12px). Body font size is 14px. sp = scalable pixels.</span>
+                </p>
+                <h3 class="mat-title">Header Styles</h3>
+                <p class="mat-body-1">To preserve semantic structures, you can optionally style the <code>&lt;h1&gt;</code> - <code>&lt;h6&gt;</code> heading tags with the styling classes shown below:</p>
+                <p>CSS:</p>
+                <div layout-align="center end">
+                    <div layout="row" layout-align="start center">
+                        <code flex="15">.mat-display-4</code>
+                        <span class="mat-display-4">Light 112px</span>
+                    </div>
+                    <div layout="row" layout-align="start center">
+                        <code flex="15">.mat-display-3</code>
+                        <span class="mat-display-3">Regular 56px</span>
+                    </div>
+                    <div layout="row" layout-align="start center">
+                        <code flex="15">.mat-display-2</code>
+                        <span class="mat-display-2">Regular 45px</span>
+                    </div>
+                    <div layout="row" layout-align="start center">
+                        <code flex="15">.mat-display-1</code>
+                        <span class="mat-display-1">Regular 34px</span>
+                    </div>
+                    <div layout="row" layout-align="start center">
+                        <code flex="15">.mat-headline</code>
+                        <span class="mat-headline">Regular 24px</span>
+                    </div>
+                    <div layout="row" layout-align="start center">
+                        <code flex="15">.mat-title</code>
+                        <span class="mat-title">Medium 20px</span>
+                    </div>
+                    <div layout="row" layout-align="start center">
+                        <code flex="15">.md-subhead</code>
+                        <span class="md-subhead">Regular 16px</span>
+                    </div>
+                </div>
+                <h3 class="mat-title">Usage</h3>
+                <p>HTML:</p>
+                <pre lang="html">
+    <![CDATA[
+                    <!-- Large Heading -->
+        <h1 class="mat-display-4">Roboto is the standard typeface on Android.</h1>
+        <h2 class="mat-display-3">Roboto and Noto are the standard typefaces on Android and Chrome.</h2>
+        <h3 class="mat-display-2">Noto is the standard typeface for all languages on Chrome and Android for all languages not covered by Roboto.</h3>
+                    <!-- Medium Heading -->
+        <h1 class="mat-display-1">Roboto is the standard typeface on Android.</h1>
+        <h2 class="mat-headline">Roboto and Noto are the standard typefaces on Android and Chrome.</h2>
+        <h3 class="md-subhead">Noto is the standard typeface for all languages on Chrome and Android for all languages not covered by Roboto.</h3>
+    ]]>
+    </pre>
+                <h3 class="mat-title">Body Copy</h3>
+                <p>CSS:</p>
+                <div class="mat-body-1" layout-align="center end">
+                    <div layout="row" layout-align="start center">
+                        <code flex="15">.mat-body-1</code>
+                        <span class="mat-body-1">Regular 14px</span>
+                    </div>
+                    <div layout="row" layout-align="start center">
+                        <code flex="15">.mat-body-2</code>
+                        <span class="mat-body-2">Medium 14px</span>
+                    </div>
+                    <div layout="row" layout-align="start center">
+                        <code flex="15">.mat-button</code>
+                        <span class="mat-button mat-raised">Medium 14px</span>
+                    </div>
+                    <div layout="row" layout-align="start center">
+                        <code flex="15">.mat-caption</code>
+                        <span class="mat-caption">Regular 12px</span>
+                    </div>
+                </div>
+                <h3 class="mat-title">Usage</h3>
+                <p>HTML:</p>
+                <pre lang="html">
+    <![CDATA[
+                    <!-- body copy -->
+        <p class="mat-body-1">Roboto is the standard typeface on Android.</p>
+        <p class="mat-body-2">Roboto and Noto are the standard typefaces on Android and Chrome.</p>
+        <p class="mat-button">Roboto and Noto are the standard typefaces on Android and Chrome.</p>
+        <p class="mat-caption">Noto is the standard typeface for all languages on Chrome and Android for all languages not covered by Roboto.</p>
+    ]]>
+    </pre>
+            </mat-card-content>
+        </mat-card>
+        <mat-card>
+            <mat-card-title class="pad-bottom-sm">Raised Buttons</mat-card-title>
+            <mat-divider></mat-divider>
+            <mat-card-content>
+                <p>Tip: Use UPPERCASE text for 1-2 words, and Titlecase text for 3+ words.</p>
+                <button mat-raised-button color="primary">Primary</button>
+                <button mat-raised-button color="accent">Accent</button>
+                <button mat-raised-button color="warn">Warn</button>
+                <button mat-raised-button color="fds-primary">FDS Primary</button>
+                <button mat-raised-button color="fds-secondary">FDS Secondary</button>
+                <button mat-raised-button color="fds-regular">FDS regular</button>
+                <button mat-raised-button color="fds-warn">FDS warn</button>
+                <button mat-raised-button color="fds-critical">FDS critical</button>
+                <button mat-raised-button disabled color="primary">Primary</button>
+                <button mat-raised-button disabled color="accent">Accent</button>
+                <button mat-raised-button disabled color="warn">Warn</button>
+                <button mat-raised-button disabled color="fds-primary">FDS primary</button>
+                <button mat-raised-button disabled color="fds-secondary">FDS Secondary</button>
+                <button mat-raised-button disabled color="fds-regular">FDS regular</button>
+                <button mat-raised-button disabled color="fds-warn">FDS warn</button>
+                <button mat-raised-button disabled color="fds-critical">FDS critical</button>
+                <h3 class="mat-title">Usage</h3>
+                <p>HTML:</p>
+                <pre lang="html">
+    <![CDATA[
+                    <!-- Themed Raised Buttons -->
+        <button mat-raised-button color="primary">Primary</button>
+        <button mat-raised-button color="accent">Secondary</button>
+        <button mat-raised-button color="warn">warn</button>
+        <button mat-raised-button color="fds-primary">FDS Primary</button>
+        <button mat-raised-button color="fds-secondary">FDS Secondary</button>
+        <button mat-raised-button color="fds-regular">FDS regular</button>
+        <button mat-raised-button color="fds-warn">FDS warn</button>
+        <button mat-raised-button color="fds-critical">FDS critical</button>
+                    <!-- Disabled Raised Buttons -->
+        <button mat-raised-button disabled color="primary">Primary</button>
+        <button mat-raised-button disabled color="accent">Secondary</button>
+        <button mat-raised-button disabled color="warn">warn</button>
+        <button mat-raised-button disabled color="fds-primary">FDS primary</button>
+        <button mat-raised-button disabled color="fds-secondary">FDS Secondary</button>
+        <button mat-raised-button disabled color="fds-regular">FDS regular</button>
+        <button mat-raised-button disabled color="fds-warn">FDS warn</button>
+        <button mat-raised-button disabled color="fds-critical">FDS critical</button>
+    ]]>
+    </pre>
+            </mat-card-content>
+        </mat-card>
+        <mat-card>
+            <mat-card-title class="pad-bottom-sm">Links</mat-card-title>
+            <mat-divider></mat-divider>
+            <mat-card-content>
+                <a class="link" href="https://material.angular.io" target="_blank">Angular Material</a>
+                <h3 class="mat-title">Usage</h3>
+                <p>HTML:</p>
+                <pre lang="html">
+                <![CDATA[
+        <a class="link" href="https://material.angular.io" target="_blank">Angular Material</a>
+                ]]>
+            </pre>
+            </mat-card-content>
+        </mat-card>
+        <mat-card>
+            <mat-card-title class="pad-bottom-sm">Flat Buttons</mat-card-title>
+            <mat-divider></mat-divider>
+            <mat-card-content>
+                <mat-card-actions>
+                    <button mat-button>Default</button>
+                    <button mat-button color="primary">Primary</button>
+                    <button mat-button color="accent">Secondary</button>
+                    <button mat-button color="warn">Warn</button>
+                    <button mat-button disabled>Disabled Default</button>
+                    <button mat-button disabled color="primary">Disabled Primary</button>
+                    <button mat-button disabled color="accent">Disabled Secondary</button>
+                    <button mat-button disabled color="warn">Disabled Warn</button>
+                </mat-card-actions>
+                <h3 class="mat-title">Usage</h3>
+                <p>HTML:</p>
+                <pre lang="html">
+    <![CDATA[
+                    <!-- Themed Flat Buttons -->
+        <button mat-button>Default</button>
+        <button mat-button color="primary">Primary</button>
+        <button mat-button color="accent">Secondary</button>
+        <button mat-button color="warn">warn</button>
+                    <!-- Disabled Flat Buttons -->
+        <button mat-button disabled>disabled Default</button>
+        <button mat-button disabled color="primary">disabled primary</button>
+        <button mat-button disabled color="accent">disabled Secondary</button>
+        <button mat-button disabled color="warn">disabled warn</button>
+    ]]>
+    </pre>
+            </mat-card-content>
+        </mat-card>
+        <mat-card>
+            <mat-card-title class="pad-bottom-sm">Fab Buttons</mat-card-title>
+            <mat-divider></mat-divider>
+            <mat-card-content>
+                <mat-card-actions class="pad-left-sm">
+                    <button mat-mini-fab color="primary">P</button>
+                    <button mat-mini-fab color="accent">A</button>
+                    <button mat-mini-fab color="warn">W</button>
+                    <button mat-mini-fab disabled color="primary">P</button>
+                    <button mat-mini-fab disabled color="accent">A</button>
+                    <button mat-mini-fab disabled color="warn">W</button>
+                </mat-card-actions>
+                <h3 class="mat-title">Usage</h3>
+                <p>HTML:</p>
+                <pre lang="html">
+    <![CDATA[
+                    <!-- Themed Fab Buttons -->
+        <button mat-mini-fab color="primary">P</button>
+        <button mat-mini-fab color="accent">A</button>
+        <button mat-mini-fab color="warn">W</button>
+                    <!-- Disabled Fab Buttons -->
+        <button mat-mini-fab disabled color="primary">P</button>
+        <button mat-mini-fab disabled color="accent">A</button>
+        <button mat-mini-fab disabled color="warn">W</button>
+    ]]>
+    </pre>
+            </mat-card-content>
+        </mat-card>
+        <mat-card>
+            <mat-card-title class="pad-bottom-sm">Button Toggles</mat-card-title>
+            <mat-divider></mat-divider>
+            <mat-card-content>
+                <mat-button-toggle-group name="alignment">
+                    <mat-button-toggle value="left">
+                        <mat-icon>format_align_left</mat-icon>
+                    </mat-button-toggle>
+                    <mat-button-toggle value="center">
+                        <mat-icon>format_align_center</mat-icon>
+                    </mat-button-toggle>
+                    <mat-button-toggle value="right">
+                        <mat-icon>format_align_right</mat-icon>
+                    </mat-button-toggle>
+                    <mat-button-toggle value="justify">
+                        <mat-icon>format_align_justify</mat-icon>
+                    </mat-button-toggle>
+                </mat-button-toggle-group>
+                <div fxLayout="row" class="pad-top-md pad-bot-md"></div>
+                <mat-button-toggle-group name="onOffToggle" class="on-off-toggle-group">
+                    <mat-button-toggle value="on" [checked]="true">
+                        ON
+                    </mat-button-toggle>
+                    <mat-button-toggle value="off" class="off-toggle">
+                        OFF
+                    </mat-button-toggle>
+                </mat-button-toggle-group>
+                <div fxLayout="row" class="pad-top-md pad-bot-md"></div>
+                <mat-button-toggle-group fxLayout="row" fxLayoutAlign="space-between center" class="expansion-panel-filter-toggle-group" multiple>
+                    <mat-button-toggle>
+                        <div fxFlex fxLayout="column" fxLayoutAlign="space-around stretch">
+                            <div class="md-display-1 pad-top-sm" fxFlex="55">34</div>
+                            <div class="pad-top-sm" fxFlex="45">Assets</div>
+                        </div>
+                    </mat-button-toggle>
+                    <mat-button-toggle>
+                        <div fxFlex fxLayout="column" fxLayoutAlign="space-around stretch">
+                            <div class="md-display-1 pad-top-sm" fxFlex="55">300</div>
+                            <div class="pad-top-sm" fxFlex="45">Extensions</div>
+                        </div>
+                    </mat-button-toggle>
+                    <mat-button-toggle>
+                        <div fxFlex fxLayout="column" fxLayoutAlign="space-around stretch">
+                            <div class="md-display-1 pad-top-sm" fxFlex="55">5000</div>
+                            <div class="pad-top-sm" fxFlex="45">Flows</div>
+                        </div>
+                    </mat-button-toggle>
+                    <mat-button-toggle>
+                        <div fxFlex fxLayout="column" fxLayoutAlign="space-around stretch">
+                            <div class="md-display-1 pad-top-sm" fxFlex="55">0</div>
+                            <div class="pad-top-sm" fxFlex="45">Certifications</div>
+                        </div>
+                    </mat-button-toggle>
+                </mat-button-toggle-group>
+                <div fxLayout="row" class="pad-top-md pad-bot-md"></div>
+                <mat-button-toggle-group name="fds-administration-perspective" fxLayout="row" class="tab-toggle-group">
+                    <mat-button-toggle value="general" class="uppercase">
+                        general
+                    </mat-button-toggle>
+                    <div fxLayout="row" class="pad-left-md"></div>
+                    <mat-button-toggle value="users" class="uppercase">
+                        Users
+                    </mat-button-toggle>
+                    <div fxLayout="row" class="pad-left-md"></div>
+                    <mat-button-toggle value="workflow" class="uppercase">
+                        Workflow
+                    </mat-button-toggle>
+                </mat-button-toggle-group>
+                <h3 class="mat-title">Usage</h3>
+                <p>HTML:</p>
+                <pre lang="html">
+      <![CDATA[
+         <mat-button-toggle-group name="alignment">
+            <mat-button-toggle value="left">
+                <mat-icon>format_align_left</mat-icon>
+            </mat-button-toggle>
+            <mat-button-toggle value="center">
+                <mat-icon>format_align_center</mat-icon>
+            </mat-button-toggle>
+            <mat-button-toggle value="right">
+                <mat-icon>format_align_right</mat-icon>
+            </mat-button-toggle>
+            <mat-button-toggle value="justify">
+                <mat-icon>format_align_justify</mat-icon>
+            </mat-button-toggle>
+        </mat-button-toggle-group>
+        <div fxLayout="row" class="pad-top-md pad-bot-md"></div>
+        <mat-button-toggle-group name="onOffToggle" class="on-off-toggle-group">
+            <mat-button-toggle value="on" [checked]="true">
+                ON
+            </mat-button-toggle>
+            <mat-button-toggle value="off" class="off-toggle">
+                OFF
+            </mat-button-toggle>
+        </mat-button-toggle-group>
+        <div fxLayout="row" class="pad-top-md pad-bot-md"></div>
+        <mat-button-toggle-group fxLayout="row" fxLayoutAlign="space-between center" class="expansion-panel-filter-toggle-group" multiple>
+            <mat-button-toggle>
+                <div fxFlex fxLayout="column" fxLayoutAlign="space-around stretch">
+                    <div class="md-display-1 pad-top-sm" fxFlex="55">34</div>
+                    <div class="pad-top-sm" fxFlex="45">Assets</div>
+                </div>
+            </mat-button-toggle>
+            <mat-button-toggle>
+                <div fxFlex fxLayout="column" fxLayoutAlign="space-around stretch">
+                    <div class="md-display-1 pad-top-sm" fxFlex="55">300</div>
+                    <div class="pad-top-sm" fxFlex="45">Extensions</div>
+                </div>
+            </mat-button-toggle>
+            <mat-button-toggle>
+                <div fxFlex fxLayout="column" fxLayoutAlign="space-around stretch">
+                    <div class="md-display-1 pad-top-sm" fxFlex="55">5000</div>
+                    <div class="pad-top-sm" fxFlex="45">Flows</div>
+                </div>
+            </mat-button-toggle>
+            <mat-button-toggle>
+                <div fxFlex fxLayout="column" fxLayoutAlign="space-around stretch">
+                    <div class="md-display-1 pad-top-sm" fxFlex="55">0</div>
+                    <div class="pad-top-sm" fxFlex="45">Certifications</div>
+                </div>
+            </mat-button-toggle>
+        </mat-button-toggle-group>
+        <div fxLayout="row" class="pad-top-md pad-bot-md"></div>
+        <mat-button-toggle-group name="fds-administration-perspective" fxLayout="row" class="tab-toggle-group">
+            <mat-button-toggle value="general" class="uppercase">
+                general
+            </mat-button-toggle>
+            <div fxLayout="row" class="pad-left-md"></div>
+            <mat-button-toggle value="users" class="uppercase">
+                Users
+            </mat-button-toggle>
+            <div fxLayout="row" class="pad-left-md"></div>
+            <mat-button-toggle value="workflow" class="uppercase">
+                Workflow
+            </mat-button-toggle>
+        </mat-button-toggle-group>
+        ]]>
+      </pre>
+            </mat-card-content>
+        </mat-card>
+        <mat-card>
+            <mat-card-title class="pad-bottom-sm">Input</mat-card-title>
+            <mat-divider></mat-divider>
+            <mat-card-content>
+                <form>
+                    <div layout="row" layout-margin>
+                        <mat-input-container floatPlaceholder="always" flex>
+                            <input matInput placeholder="Company (disabled)" disabled value="Google">
+                        </mat-input-container>
+                    </div>
+                    <div layout="row" layout-margin>
+                        <mat-input-container floatPlaceholder="always" flex>
+                            <input matInput disabled placeholder="First name">
+                        </mat-input-container>
+                        <mat-input-container flex>
+                            <input matInput placeholder="Long Last Name That Will Be Truncated">
+                        </mat-input-container>
+                    </div>
+                    <div layout="row" layout-margin>
+                        <div flex fxLayoutAlign="start center">
+                            <mat-input-container flex>
+                                <input matInput placeholder="Button Addon with dropdown">
+                            </mat-input-container>
+                            <button class="input-button" color="fds-regular" mat-raised-button [matMenuTriggerFor]="inputButtonDropdownAddonMenu">
+                                Select<i class="fa fa-caret-down" aria-hidden="true"></i>
+                            </button>
+                            <mat-menu xPosition="before" #inputButtonDropdownAddonMenu="matMenu" [overlapTrigger]="false">
+                                <button mat-menu-item> Refresh </button>
+                                <button mat-menu-item> Settings </button>
+                                <button mat-menu-item> Help </button>
+                                <button mat-menu-item disabled> Sign Out </button>
+                            </mat-menu>
+                        </div>
+                        <div flex fxLayoutAlign="start center">
+                            <mat-input-container floatPlaceholder="always" flex>
+                                <input matInput placeholder="Button Addon">
+                            </mat-input-container>
+                            <button class="input-button" color="fds-regular" mat-raised-button>
+                                Search
+                            </button>
+                        </div>
+                    </div>
+                    <div layout="row" layout-margin>
+                        <div flex fxLayoutAlign="start center">
+                            <mat-input-container floatPlaceholder="always" flex>
+                                <input disabled matInput placeholder="Button Addon with dropdown">
+                            </mat-input-container>
+                            <button disabled class="input-button" color="fds-regular" mat-raised-button>
+                                Select<i class="fa fa-caret-down" aria-hidden="true"></i>
+                            </button>
+                        </div>
+                        <div flex fxLayoutAlign="start center">
+                            <mat-input-container floatPlaceholder="always" flex>
+                                <input disabled matInput placeholder="Button Addon">
+                            </mat-input-container>
+                            <button disabled class="input-button" color="fds-regular" mat-raised-button>
+                                Search
+                            </button>
+                        </div>
+                    </div>
+                    <div layout="row" layout-margin>
+                        <mat-input-container flex>
+                            <textarea matInput placeholder="Address" value="1600 Amphitheatre Pkway"></textarea>
+                        </mat-input-container>
+                    </div>
+                    <div layout="row" layout-margin>
+                        <mat-input-container floatPlaceholder="always" flex>
+                            <textarea disabled value="Address 2 Value" matInput placeholder="Address 2"></textarea>
+                        </mat-input-container>
+                    </div>
+                    <div layout="row" layout-margin>
+                        <mat-input-container floatPlaceholder="always" flex>
+                            <input matInput placeholder="City">
+                        </mat-input-container>
+                        <mat-input-container floatPlaceholder="always" flex>
+                            <input matInput placeholder="State">
+                        </mat-input-container>
+                        <mat-input-container floatPlaceholder="always" flex>
+                            <input matInput #postalCode maxlength="5" placeholder="Postal Code" value="94043">
+                            <mat-hint align="end">{{postalCode.value.length}} / 5</mat-hint>
+                        </mat-input-container>
+                    </div>
+                </form>
+                <h3 class="mat-title">Usage</h3>
+                <p>HTML:</p>
+                <pre lang="html">
+    <![CDATA[
+                    <!-- Inputs -->
+        <form>
+            <div layout="row" layout-margin>
+                <mat-input-container floatPlaceholder="always" flex>
+                    <input matInput placeholder="Company (disabled)" disabled value="Google">
+                </mat-input-container>
+            </div>
+            <div layout="row" layout-margin>
+                <mat-input-container floatPlaceholder="always" flex>
+                    <input matInput disabled placeholder="First name">
+                </mat-input-container>
+                <mat-input-container flex>
+                    <input matInput placeholder="Long Last Name That Will Be Truncated">
+                </mat-input-container>
+            </div>
+            <div layout="row" layout-margin>
+                <div flex fxLayoutAlign="start center">
+                    <mat-input-container flex>
+                        <input matInput placeholder="Button Addon with dropdown">
+                    </mat-input-container>
+                    <button class="input-button" color="fds-regular" mat-raised-button [matMenuTriggerFor]="inputButtonDropdownAddonMenu">
+                        Select<i class="fa fa-caret-down" aria-hidden="true"></i>
+                    </button>
+                    <mat-menu xPosition="before" #inputButtonDropdownAddonMenu="matMenu" [overlapTrigger]="false">
+                        <button mat-menu-item> Refresh </button>
+                        <button mat-menu-item> Settings </button>
+                        <button mat-menu-item> Help </button>
+                        <button mat-menu-item disabled> Sign Out </button>
+                    </mat-menu>
+                </div>
+                <div flex fxLayoutAlign="start center">
+                    <mat-input-container floatPlaceholder="always" flex>
+                        <input matInput placeholder="Button Addon">
+                    </mat-input-container>
+                    <button class="input-button" color="fds-regular" mat-raised-button>
+                        Search
+                    </button>
+                </div>
+            </div>
+            <div layout="row" layout-margin>
+                <div flex fxLayoutAlign="start center">
+                    <mat-input-container floatPlaceholder="always" flex>
+                        <input disabled matInput placeholder="Button Addon with dropdown">
+                    </mat-input-container>
+                    <button disabled class="input-button" color="fds-regular" mat-raised-button>
+                        Select<i class="fa fa-caret-down" aria-hidden="true"></i>
+                    </button>
+                </div>
+                <div flex fxLayoutAlign="start center">
+                    <mat-input-container floatPlaceholder="always" flex>
+                        <input disabled matInput placeholder="Button Addon">
+                    </mat-input-container>
+                    <button disabled class="input-button" color="fds-regular" mat-raised-button>
+                        Search
+                    </button>
+                </div>
+            </div>
+            <div layout="row" layout-margin>
+                <mat-input-container flex>
+                    <textarea matInput placeholder="Address" value="1600 Amphitheatre Pkway"></textarea>
+                </mat-input-container>
+            </div>
+            <div layout="row" layout-margin>
+                <mat-input-container floatPlaceholder="always" flex>
+                    <textarea disabled value="Address 2 Value" matInput placeholder="Address 2"></textarea>
+                </mat-input-container>
+            </div>
+            <div layout="row" layout-margin>
+                <mat-input-container floatPlaceholder="always" flex>
+                    <input matInput placeholder="City">
+                </mat-input-container>
+                <mat-input-container floatPlaceholder="always" flex>
+                    <input matInput placeholder="State">
+                </mat-input-container>
+                <mat-input-container floatPlaceholder="always" flex>
+                    <input matInput #postalCode maxlength="5" placeholder="Postal Code" value="94043">
+                    <mat-hint align="end">{{postalCode.value.length}} / 5</mat-hint>
+                </mat-input-container>
+            </div>
+        </form>
+    ]]>
+    </pre>
+            </mat-card-content>
+        </mat-card>
+        <mat-card>
+            <mat-card-title class="pad-bottom-sm">Tabs</mat-card-title>
+            <mat-divider></mat-divider>
+            <mat-card-content>
+                <mat-tab-group dynamicHeight>
+                    <mat-tab>
+                        <ng-template mat-tab-label>One</ng-template>
+                        <h3 class="mat-title">First tab content</h3>
+                        <p>Plaid echo park knausgaard normcore franzen cronut. Pickled humblebrag tofu hoodie, umami salvia farm-to-table schlitz try-hard food truck knausgaard pabst. Yuccie portland jean shorts, authentic mixtape waistcoat gentrify blue bottle. Fixie kickstarter church-key small batch seitan, shabby chic vegan listicle before they sold out. Hammock raw denim flannel tousled seitan you probably haven't heard of them. Trust fund man bun pug, kickstarter artisan selvage letterpress cornhole tote bag butcher locavore. Affogato try-hard kickstarter seitan, DIY pickled hella godard pork belly four loko ugh.</p>
+                    </mat-tab>
+                    <mat-tab>
+                        <ng-template mat-tab-label>Two</ng-template>
+                        <h3 class="mat-title">Second tab content</h3>
+                        <p>Hashtag distillery skateboard man bun gochujang, salvia man braid art party meggings heirloom kitsch farm-to-table. Franzen beard fingerstache gentrify, heirloom portland ennui XOXO microdosing kitsch plaid. Chicharrones bushwick chia, banh mi irony tattooed hammock butcher shabby chic taxidermy semiotics marfa post-ironic. Blue bottle keffiyeh farm-to-table ennui, chambray pitchfork art party pinterest artisan pop-up. Etsy banjo marfa, blue bottle kombucha crucifix XOXO tousled beard. Tilde disrupt kale chips bicycle rights skateboard master cleanse hella shoreditch, meditation retro shabby chic vice heirloom. Etsy listicle vice actually, iPhone chia hoodie four loko.</p>
+                    </mat-tab>
+                </mat-tab-group>
+                <h3 class="mat-title">Usage</h3>
+                <p>HTML:</p>
+                <pre lang="html">
+      <![CDATA[
+        <mat-tab-group dynamicHeight>
+          <mat-tab>
+            <ng-template mat-tab-label>First tab content</ng-template>
+            <h1>First content</h1>
+            <p>...</p>
+          </mat-tab>
+          <mat-tab>
+            <ng-template mat-tab-label>Second tab content</ng-template>
+            <h1>Second tab content</h1>
+            <p>...</p>
+          </mat-tab>
+        </mat-tab-group>
+        ]]>
+      </pre>
+            </mat-card-content>
+        </mat-card>
+        <mat-card>
+            <mat-card-title class="pad-bottom-sm">Autocomplete</mat-card-title>
+            <mat-divider></mat-divider>
+            <mat-card-content>
+                <div class="pad-top-sm" layout="row">
+                    <mat-input-container flex="50">
+                        <input matInput placeholder="State" [matAutocomplete]="tdAuto" [(ngModel)]="currentState" #modelDir="ngModel" (ngModelChange)="this.tdStates = filterStates(currentState)" [disabled]="tdDisabled">
+                    </mat-input-container>
+                </div>
+                <div class="push-top">
+                    <button mat-button (click)="modelDir.reset()" class="text-upper">Reset</button>
+                    <button mat-button (click)="currentState='California'" class="text-upper">Set value</button>
+                    <button mat-button (click)="tdDisabled=!tdDisabled" class="text-upper">Toggle disabled</button>
+                </div>
+                <mat-autocomplete #tdAuto="matAutocomplete">
+                    <mat-option *ngFor="let state of tdStates" [value]="state.name">
+                        <span>{{ state.name }}</span>
+                        <span class="demo-secondary-text"> ({{state.code}}) </span>
+                    </mat-option>
+                </mat-autocomplete>
+                <h3 class="mat-title">Usage</h3>
+                <p>HTML:</p>
+                <pre lang="html">
+      <![CDATA[
+        <div class="pad-top-sm" layout="row">
+            <mat-input-container flex="50">
+                <input matInput placeholder="State" [matAutocomplete]="tdAuto" [(ngModel)]="currentState" #modelDir="ngModel" (ngModelChange)="this.tdStates = filterStates(currentState)" [disabled]="tdDisabled">
+            </mat-input-container>
+        </div>
+        <div class="push-top">
+            <button mat-button (click)="modelDir.reset()" class="text-upper">Reset</button>
+            <button mat-button (click)="currentState='California'" class="text-upper">Set value</button>
+            <button mat-button (click)="tdDisabled=!tdDisabled" class="text-upper">Toggle disabled</button>
+        </div>
+        <mat-autocomplete #tdAuto="matAutocomplete">
+            <mat-option *ngFor="let state of tdStates" [value]="state.name">
+                <span>{ { state.name } }</span>
+                <span class="demo-secondary-text"> ({ {state.code} }) </span>
+            </mat-option>
+        </mat-autocomplete>
+        ]]>
+      </pre>
+                <p>Javascript:</p>
+                <pre lang="javascript">
+      <![CDATA[
+        this.currentState = '';
+        this.reactiveStates = '';
+        this.tdStates = [];
+        this.tdDisabled = false;
+        this.states = [
+            { code: 'AL', name: 'Alabama' },
+            { code: 'AK', name: 'Alaska' },
+            { code: 'AZ', name: 'Arizona' },
+            { code: 'AR', name: 'Arkansas' },
+            { code: 'CA', name: 'California' },
+            { code: 'CO', name: 'Colorado' },
+            { code: 'CT', name: 'Connecticut' },
+            { code: 'DE', name: 'Delaware' },
+            { code: 'FL', name: 'Florida' },
+            { code: 'GA', name: 'Georgia' },
+            { code: 'HI', name: 'Hawaii' },
+            { code: 'ID', name: 'Idaho' },
+            { code: 'IL', name: 'Illinois' },
+            { code: 'IN', name: 'Indiana' },
+            { code: 'IA', name: 'Iowa' },
+            { code: 'KS', name: 'Kansas' },
+            { code: 'KY', name: 'Kentucky' },
+            { code: 'LA', name: 'Louisiana' },
+            { code: 'ME', name: 'Maine' },
+            { code: 'MD', name: 'Maryland' },
+            { code: 'MA', name: 'Massachusetts' },
+            { code: 'MI', name: 'Michigan' },
+            { code: 'MN', name: 'Minnesota' },
+            { code: 'MS', name: 'Mississippi' },
+            { code: 'MO', name: 'Missouri' },
+            { code: 'MT', name: 'Montana' },
+            { code: 'NE', name: 'Nebraska' },
+            { code: 'NV', name: 'Nevada' },
+            { code: 'NH', name: 'New Hampshire' },
+            { code: 'NJ', name: 'New Jersey' },
+            { code: 'NM', name: 'New Mexico' },
+            { code: 'NY', name: 'New York' },
+            { code: 'NC', name: 'North Carolina' },
+            { code: 'ND', name: 'North Dakota' },
+            { code: 'OH', name: 'Ohio' },
+            { code: 'OK', name: 'Oklahoma' },
+            { code: 'OR', name: 'Oregon' },
+            { code: 'PA', name: 'Pennsylvania' },
+            { code: 'RI', name: 'Rhode Island' },
+            { code: 'SC', name: 'South Carolina' },
+            { code: 'SD', name: 'South Dakota' },
+            { code: 'TN', name: 'Tennessee' },
+            { code: 'TX', name: 'Texas' },
+            { code: 'UT', name: 'Utah' },
+            { code: 'VT', name: 'Vermont' },
+            { code: 'VA', name: 'Virginia' },
+            { code: 'WA', name: 'Washington' },
+            { code: 'WV', name: 'West Virginia' },
+            { code: 'WI', name: 'Wisconsin' },
+            { code: 'WY', name: 'Wyoming' },
+        ];
+
+        ...
+
+        displayFn: function(value) {
+            return value && typeof value === 'object' ? value.name : value;
+        },
+
+        filterStates: function(val) {
+            return val ? this.states.filter((s) => s.name.match(new RegExp(val, 'gi'))) : this.states;
+        },
+
+        ...
+        ]]>
+      </pre>
+            </mat-card-content>
+        </mat-card>
+        <mat-card>
+            <mat-card-title class="pad-bottom-sm">Filter</mat-card-title>
+            <mat-divider></mat-divider>
+            <mat-card-content>
+                <h3 class="mat-title">Autocomplete with chips and no custom inputs</h3>
+                <mat-divider></mat-divider>
+                <mat-tab-group mat-stretch-tabs dynamicHeight>
+                    <mat-tab>
+                        <ng-template mat-tab-label>Demo</ng-template>
+                        <div class="push">
+                            <div class="mat-body-1">Type and select a preset option:</div>
+                            <td-chips [items]="items" [(ngModel)]="itemsRequireMatch" placeholder="Enter autocomplete strings" [disabled]="readOnly" requireMatch></td-chips>
+                        </div>
+                    </mat-tab>
+                    <mat-tab>
+                        <ng-template mat-tab-label>Code</ng-template>
+                        <mat-card-content>
+                            <p>HTML:</p>
+                            <pre lang="html">
+                            <![CDATA[
+        <td-chips [items]="items" [(ngModel)]="itemsRequireMatch" placeholder="Enter autocomplete strings" [disabled]="readOnly" requireMatch></td-chips>
+          ]]>
+                        </pre>
+                            <p>Javascript:</p>
+                            <pre lang="javascript">
+                            <![CDATA[
+        this.readOnly = false;
+
+        this.items = [
+            'stepper',
+            'expansion-panel',
+            'markdown',
+            'highlight',
+            'loading',
+            'media',
+            'chips',
+            'http',
+            'json-formatter',
+            'pipes',
+            'need more?',
+        ];
+
+        this.itemsRequireMatch = this.items.slice(0, 6);
+
+        ...
+
+        toggleReadOnly: function() {
+            this.readOnly = !this.readOnly;
+        },
+
+        ...
+          ]]>
+                        </pre>
+                        </mat-card-content>
+                    </mat-tab>
+                </mat-tab-group>
+                <mat-divider></mat-divider>
+                <mat-card-actions>
+                    <button mat-button color="primary" (click)="toggleReadOnly()" class="text-upper">Toggle ReadOnly</button>
+                </mat-card-actions>
+            </mat-card-content>
+            <mat-card-content>
+                <h3 class="mat-title">Autocomplete with custom inputs</h3>
+                <mat-divider></mat-divider>
+                <mat-tab-group mat-stretch-tabs dynamicHeight>
+                    <mat-tab>
+                        <ng-template mat-tab-label>Demo</ng-template>
+                        <div class="push">
+                            <div class="mat-body-1">Type and select option or enter custom text and press enter:</div>
+                            <td-chips [items]="items" placeholder="Enter any string"></td-chips>
+                        </div>
+                    </mat-tab>
+                    <mat-tab>
+                        <ng-template mat-tab-label>Code</ng-template>
+                        <mat-card-content>
+                            <p>HTML:</p>
+                            <pre lang="html">
+                            <![CDATA[
+        <td-chips [items]="items" placeholder="Enter any string"></td-chips>
+          ]]>
+                        </pre>
+                            <p>Javascript:</p>
+                            <pre lang="javascript">
+                            <![CDATA[
+        this.items = [
+            'stepper',
+            'expansion-panel',
+            'markdown',
+            'highlight',
+            'loading',
+            'media',
+            'chips',
+            'http',
+            'json-formatter',
+            'pipes',
+            'need more?',
+        ];
+          ]]>
+                        </pre>
+                        </mat-card-content>
+                    </mat-tab>
+                </mat-tab-group>
+            </mat-card-content>
+            <mat-card-content>
+                <h3 class="mat-title">Demo allowing custom inputs for tags</h3>
+                <mat-divider></mat-divider>
+                <mat-tab-group mat-stretch-tabs dynamicHeight>
+                    <mat-tab>
+                        <ng-template mat-tab-label>Demo</ng-template>
+                        <div class="push">
+                            <div class="mat-body-1">Type any test and press enter:</div>
+                            <td-chips placeholder="Enter any string"></td-chips>
+                        </div>
+                    </mat-tab>
+                    <mat-tab>
+                        <ng-template mat-tab-label>Code</ng-template>
+                        <mat-card-content>
+                            <p>HTML:</p>
+                            <pre lang="html">
+                            <![CDATA[
+        <td-chips placeholder="Enter any string"></td-chips>
+          ]]>
+                        </pre>
+                        </mat-card-content>
+                    </mat-tab>
+                </mat-tab-group>
+            </mat-card-content>
+        </mat-card>
+        <mat-card>
+            <mat-card-title class="pad-bottom-sm">Searchable/Filterable Expansion Panels</mat-card-title>
+            <mat-divider></mat-divider>
+            <mat-card-content>
+                <mat-tab-group mat-stretch-tabs>
+                    <mat-tab>
+                        <ng-template mat-tab-label>Demo</ng-template>
+                        <div class="pad-top-md pad-bottom-md pad-right-xxl pad-left-xxl">
+                            <div class="pad-top-md pad-bottom-sm">
+                                <mat-button-toggle-group fxLayout="row" fxLayoutAlign="space-between center" class="expansion-panel-filter-toggle-group" multiple>
+                                    <mat-button-toggle (change)="toggleDropletsFilter('type:asset')" [checked]="isDropletFilterChecked('type:asset')">
+                                        <div fxFlex fxLayout="column" fxLayoutAlign="space-around stretch">
+                                            <div class="md-display-1 pad-top-sm" fxFlex="55">{{getDropletTypeCount('asset')}}</div>
+                                            <div class="pad-top-sm" fxFlex="45">Assets</div>
+                                        </div>
+                                    </mat-button-toggle>
+                                    <mat-button-toggle (change)="toggleDropletsFilter('type:extension')" [checked]="isDropletFilterChecked('type:extension')">
+                                        <div fxFlex fxLayout="column" fxLayoutAlign="space-around stretch">
+                                            <div class="md-display-1 pad-top-sm" fxFlex="55">{{getDropletTypeCount('extension')}}</div>
+                                            <div class="pad-top-sm" fxFlex="45">Extensions</div>
+                                        </div>
+                                    </mat-button-toggle>
+                                    <mat-button-toggle (change)="toggleDropletsFilter('type:flow')" [checked]="isDropletFilterChecked('type:flow')">
+                                        <div fxFlex fxLayout="column" fxLayoutAlign="space-around stretch">
+                                            <div class="md-display-1 pad-top-sm" fxFlex="55">{{getDropletTypeCount('flow')}}</div>
+                                            <div class="pad-top-sm" fxFlex="45">Flows</div>
+                                        </div>
+                                    </mat-button-toggle>
+                                    <mat-button-toggle (change)="toggleDropletsFilter('compliant.label:Compliant')" [checked]="isDropletFilterChecked('compliant.label:Compliant')">
+                                        <div fxFlex fxLayout="column" fxLayoutAlign="space-around stretch">
+                                            <div class="md-display-1 pad-top-sm" fxFlex="55">{{getDropletCertificationCount('compliant')}}</div>
+                                            <div class="pad-top-sm" fxFlex="45">Compliant</div>
+                                        </div>
+                                    </mat-button-toggle>
+                                    <mat-button-toggle (change)="toggleDropletsFilter('fleet.label:Fleet')" [checked]="isDropletFilterChecked('fleet.label:Fleet')">
+                                        <div fxFlex fxLayout="column" fxLayoutAlign="space-around stretch">
+                                            <div class="md-display-1 pad-top-sm" fxFlex="55">{{getDropletCertificationCount('fleet')}}</div>
+                                            <div class="pad-top-sm" fxFlex="45">Fleet</div>
+                                        </div>
+                                    </mat-button-toggle>
+                                    <mat-button-toggle (change)="toggleDropletsFilter('prod.label:Production Ready')" [checked]="isDropletFilterChecked('prod.label:Production Ready')">
+                                        <div fxFlex fxLayout="column" fxLayoutAlign="space-around stretch">
+                                            <div class="md-display-1 pad-top-sm" fxFlex="55">{{getDropletCertificationCount('prod')}}</div>
+                                            <div class="pad-top-sm" fxFlex="45">Production Ready</div>
+                                        </div>
+                                    </mat-button-toggle>
+                                    <mat-button-toggle (change)="toggleDropletsFilter('secure.label:Secure')" [checked]="isDropletFilterChecked('secure.label:Secure')">
+                                        <div fxFlex fxLayout="column" fxLayoutAlign="space-around stretch">
+                                            <div class="md-display-1 pad-top-sm" fxFlex="55">{{getDropletCertificationCount('secure')}}</div>
+                                            <div class="pad-top-sm" fxFlex="45">Secure</div>
+                                        </div>
+                                    </mat-button-toggle>
+                                </mat-button-toggle-group>
+                                <div id="fds-droplet-filter-clear-grouping-button-container">
+                                    <span *ngIf="dropletsSearchTerms.length > 0" (click)="dropletsSearchTerms = [];filterDroplets(activeDropletColumn.name, activeDropletColumn.sortOrder);"><i class="fa fa-plus-circle fa-rotate-45" aria-hidden="true"></i><span class="pad-left-sm link">Clear Grouping</span></span>
+                                </div>
+                            </div>
+                            <div layout="row" layout-align="space-between center">
+                                <div flex fxLayout="row" fxLayoutAlign="end center">
+                                    <td-chips [(ngModel)]="dropletsSearchTerms" [items]="autoCompleteDroplets" (add)="filterDroplets(activeDropletColumn.name, activeDropletColumn.sortOrder);" (remove)="filterDroplets(activeDropletColumn.name, activeDropletColumn.sortOrder);" class="push-right-sm"></td-chips>
+                                    <span class="push-top-sm pad-right-sm">Sort by:</span>
+                                    <button class="push-top-sm" color="fds-primary" mat-raised-button [matMenuTriggerFor]="dropletGridSortMenu">
+                                        {{getSortBy()}}<i class="fa fa-caret-down" aria-hidden="true"></i>
+                                    </button>
+                                </div>
+                                <mat-menu class="fds-primary-dropdown-button-menu" #dropletGridSortMenu="matMenu" [overlapTrigger]="false">
+                                    <div *ngFor="let column of dropletColumns">
+                                        <button mat-menu-item *ngIf="column.sortable" (click)="sortDroplets(column);">{{column.label}} {{(column.sortOrder === 'ASC') ? 'DESC' : 'ASC'}}</button>
+                                    </div>
+                                </mat-menu>
+                            </div>
+                        </div>
+                        <div class="pad-right-xxl pad-left-xxl">
+                            <div *ngFor="let droplet of filteredDroplets">
+                                <td-expansion-panel class="mat-elevation-z5" label={{droplet.label}} sublabel={{droplet.sublabel}} [disabled]="disabled">
+                                    <ng-template td-expansion-panel-label>
+                                        <div fxLayout="column" fxLayoutAlign="space-between start">
+                                            <span class="mat-title capitalize">{{droplet.displayName}}</span>
+                                            <span class="md-subhead">{{droplet.type}}</span>
+                                        </div>
+                                    </ng-template>
+                                    <ng-template td-expansion-panel-sublabel>
+                                        <div fxLayout="row" fxLayoutAlign="space-between center">
+                                            <div class="pad-right-xxl pad-left-xxl" fxLayout="column" fxLayoutAlign="space-between start">
+                                                <span class="uppercase">Versions</span> {{droplet.versions.length}}
+                                            </div>
+                                            <div class="pad-right-xxl pad-left-xxl" fxLayout="column" fxLayoutAlign="space-between start">
+                                                <span class="uppercase">Flows</span> {{droplet.flows.length}}
+                                            </div>
+                                            <div class="pad-right-xxl pad-left-xxl" fxLayout="column" fxLayoutAlign="space-between start">
+                                                <span class="uppercase">Extensions</span> {{droplet.extensions.length}}
+                                            </div>
+                                            <div class="pad-right-xxl pad-left-xxl" fxLayout="column" fxLayoutAlign="space-between start">
+                                                <span class="uppercase">Assests</span> {{droplet.assets.length}}
+                                            </div>
+                                        </div>
+                                    </ng-template>
+                                    <div class="mat-padding">
+                                        <div fxLayout="column" fxLayoutAlign="space-between stretch">
+                                            <div class="pad-bottom-sm" fxLayout="row" fxLayoutAlign="end center">
+                                                <button color="fds-primary" [matMenuTriggerFor]="primaryButtonDropdownMenu" mat-raised-button>
+                                                    Actions<i class="fa fa-caret-down" aria-hidden="true"></i>
+                                                </button>
+                                                <mat-menu class="fds-primary-dropdown-button-menu" #primaryButtonDropdownMenu="matMenu" [overlapTrigger]="false">
+                                                    <button mat-menu-item *ngFor="let action of droplet.actions">
+                                                        <span>{{action.name}}</span>
+                                                    </button>
+                                                </mat-menu>
+                                            </div>
+                                            <div fxLayout="row">
+                                                <div fxFlex="25">
+                                                    <span class="uppercase">Description</span>
+                                                    <p>Blah blah bla, bla bla, blah blah blaBlah blah bla, bla bla, blah blah blaBlah blah bla, bla bla, blah blah blaBlah blah bla, bla bla, blah blah blaBlah blah bla, bla bla, blah blah blaBlah blah bla, bla bla, blah blah blaBlah blah bla, bla bla, blah blah blaBlah blah bla, bla bla, blah blah blaBlah blah bla, bla bla, blah blah blaBlah blah bla, bla bla, blah blah blaBlah blah bla, bla bla, blah blah blaBlah blah bla, bla bla, blah blah blaBlah blah bla, bla bla, blah blah blaBlah blah bla, bla bla, blah blah blaBlah blah bla, bla bla, blah blah blaBlah blah bla, bla bla, blah blah bla</p>
+                                                </div>
+                                                <div fxFlex="50">
+                                                    <mat-card fxFlex>
+                                                        <mat-card-content class="pad-top-sm">
+                                                            <img src="{{droplet.img}}">
+                                                        </mat-card-content>
+                                                    </mat-card>
+                                                </div>
+                                                <div fxFlex="25">
+                                                    <span class="uppercase">Change Log</span>
+                                                </div>
+                                            </div>
+                                        </div>
+                                    </div>
+                                </td-expansion-panel>
+                                <div class="pad-bottom-sm"></div>
+                            </div>
+                        </div>
+                    </mat-tab>
+                    <mat-tab>
+                        <ng-template mat-tab-label>Code</ng-template>
+                        <p>HTML:</p>
+                        <pre lang="html">
+                        <![CDATA[
+        <div class="pad-top-md pad-bottom-md pad-right-xxl pad-left-xxl">
+            <div class="pad-top-md pad-bottom-sm">
+                <mat-button-toggle-group fxLayout="row" fxLayoutAlign="space-between center" class="expansion-panel-filter-toggle-group" multiple>
+                    <mat-button-toggle (change)="toggleDropletsFilter('type:asset')" [checked]="isDropletFilterChecked('type:asset')">
+                        <div fxFlex fxLayout="column" fxLayoutAlign="space-around stretch">
+                            <div class="md-display-1 pad-top-sm" fxFlex="55">{ {getDropletTypeCount('asset')} }</div>
+                            <div class="pad-top-sm" fxFlex="45">Assets</div>
+                        </div>
+                    </mat-button-toggle>
+                    <mat-button-toggle (change)="toggleDropletsFilter('type:extension')" [checked]="isDropletFilterChecked('type:extension')">
+                        <div fxFlex fxLayout="column" fxLayoutAlign="space-around stretch">
+                            <div class="md-display-1 pad-top-sm" fxFlex="55">{ {getDropletTypeCount('extension')} }</div>
+                            <div class="pad-top-sm" fxFlex="45">Extensions</div>
+                        </div>
+                    </mat-button-toggle>
+                    <mat-button-toggle (change)="toggleDropletsFilter('type:flow')" [checked]="isDropletFilterChecked('type:flow')">
+                        <div fxFlex fxLayout="column" fxLayoutAlign="space-around stretch">
+                            <div class="md-display-1 pad-top-sm" fxFlex="55">{ {getDropletTypeCount('flow')} }</div>
+                            <div class="pad-top-sm" fxFlex="45">Flows</div>
+                        </div>
+                    </mat-button-toggle>
+                    <mat-button-toggle (change)="toggleDropletsFilter('compliant.label:Compliant')" [checked]="isDropletFilterChecked('compliant.label:Compliant')">
+                        <div fxFlex fxLayout="column" fxLayoutAlign="space-around stretch">
+                            <div class="md-display-1 pad-top-sm" fxFlex="55">{ {getDropletCertificationCount('compliant')} }</div>
+                            <div class="pad-top-sm" fxFlex="45">Compliant</div>
+                        </div>
+                    </mat-button-toggle>
+                    <mat-button-toggle (change)="toggleDropletsFilter('fleet.label:Fleet')" [checked]="isDropletFilterChecked('fleet.label:Fleet')">
+                        <div fxFlex fxLayout="column" fxLayoutAlign="space-around stretch">
+                            <div class="md-display-1 pad-top-sm" fxFlex="55">{ {getDropletCertificationCount('fleet')} }</div>
+                            <div class="pad-top-sm" fxFlex="45">Fleet</div>
+                        </div>
+                    </mat-button-toggle>
+                    <mat-button-toggle (change)="toggleDropletsFilter('prod.label:Production Ready')" [checked]="isDropletFilterChecked('prod.label:Production Ready')">
+                        <div fxFlex fxLayout="column" fxLayoutAlign="space-around stretch">
+                            <div class="md-display-1 pad-top-sm" fxFlex="55">{ {getDropletCertificationCount('prod')} }</div>
+                            <div class="pad-top-sm" fxFlex="45">Production Ready</div>
+                        </div>
+                    </mat-button-toggle>
+                    <mat-button-toggle (change)="toggleDropletsFilter('secure.label:Secure')" [checked]="isDropletFilterChecked('secure.label:Secure')">
+                        <div fxFlex fxLayout="column" fxLayoutAlign="space-around stretch">
+                            <div class="md-display-1 pad-top-sm" fxFlex="55">{ {getDropletCertificationCount('secure')} }</div>
+                            <div class="pad-top-sm" fxFlex="45">Secure</div>
+                        </div>
+                    </mat-button-toggle>
+                </mat-button-toggle-group>
+                <button *ngIf="activeDropletColumn" mat-button color="primary" (click)="dropletsSearchTerms = [];filterDroplets(activeDropletColumn.name, activeDropletColumn.sortOrder);">Clear Grouping</button>
+            </div>
+            <div layout="row" layout-align="space-between center">
+                <div flex fxLayout="row" fxLayoutAlign="end center">
+                    <td-chips [(ngModel)]="dropletsSearchTerms" [items]="autoCompleteDroplets" (add)="filterDroplets(activeDropletColumn.name, activeDropletColumn.sortOrder);" (remove)="filterDroplets(activeDropletColumn.name, activeDropletColumn.sortOrder);" class="push-right-sm"></td-chips>
+                    <span class="pad-right-sm">Sort by:</span>
+                    <button color="fds-primary" mat-raised-button [matMenuTriggerFor]="dropletGridSortMenu">
+                        { {getSortBy()} }<i class="fa fa-caret-down" aria-hidden="true"></i>
+                    </button>
+                </div>
+                <mat-menu class="fds-primary-dropdown-button-menu" #dropletGridSortMenu="matMenu" [overlapTrigger]="false">
+                    <div *ngFor="let column of dropletColumns">
+                        <button mat-menu-item *ngIf="column.sortable" (click)="sortDroplets(column);">{ {column.label} } { {(column.sortOrder === 'ASC') ? 'DESC' : 'ASC'} }</button>
+                    </div>
+                </mat-menu>
+            </div>
+        </div>
+        <div class="pad-right-xxl pad-left-xxl">
+            <div *ngFor="let droplet of filteredDroplets">
+                <td-expansion-panel class="mat-elevation-z5" label={ {droplet.label} } sublabel={ {droplet.sublabel} } [disabled]="disabled">
+                    <ng-template td-expansion-panel-label>
+                        <div fxLayout="column" fxLayoutAlign="space-between start">
+                            <span class="mat-title capitalize">{ {droplet.displayName} }</span>
+                            <span class="md-subhead">{ {droplet.type} }</span>
+                        </div>
+                    </ng-template>
+                    <ng-template td-expansion-panel-sublabel>
+                        <div fxLayout="row" fxLayoutAlign="space-between center">
+                            <div class="pad-right-xxl pad-left-xxl" fxLayout="column" fxLayoutAlign="space-between start">
+                                <span class="uppercase">Versions</span> { {droplet.versions.length} }
+                            </div>
+                            <div class="pad-right-xxl pad-left-xxl" fxLayout="column" fxLayoutAlign="space-between start">
+                                <span class="uppercase">Flows</span> { {droplet.flows.length} }
+                            </div>
+                            <div class="pad-right-xxl pad-left-xxl" fxLayout="column" fxLayoutAlign="space-between start">
+                                <span class="uppercase">Extensions</span> { {droplet.extensions.length} }
+                            </div>
+                            <div class="pad-right-xxl pad-left-xxl" fxLayout="column" fxLayoutAlign="space-between start">
+                                <span class="uppercase">Assests</span> { {droplet.assets.length} }
+                            </div>
+                        </div>
+                    </ng-template>
+                    <div class="mat-padding">
+                        <div fxLayout="column" fxLayoutAlign="space-between stretch">
+                            <div class="pad-bottom-sm" fxLayout="row" fxLayoutAlign="end center">
+                                <button color="fds-primary" [matMenuTriggerFor]="primaryButtonDropdownMenu" mat-raised-button>
+                                    Actions<i class="fa fa-caret-down" aria-hidden="true"></i>
+                                </button>
+                                <mat-menu class="fds-primary-dropdown-button-menu" #primaryButtonDropdownMenu="matMenu" [overlapTrigger]="false">
+                                    <button mat-menu-item *ngFor="let action of droplet.actions">
+                                        <span>{ {action.name} }</span>
+                                    </button>
+                                </mat-menu>
+                            </div>
+                            <div fxLayout="row">
+                                <div fxFlex="25">
+                                    <span class="uppercase">Description</span>
+                                    <p>Blah blah bla, bla bla, blah blah blaBlah blah bla, bla bla, blah blah blaBlah blah bla, bla bla, blah blah blaBlah blah bla, bla bla, blah blah blaBlah blah bla, bla bla, blah blah blaBlah blah bla, bla bla, blah blah blaBlah blah bla, bla bla, blah blah blaBlah blah bla, bla bla, blah blah blaBlah blah bla, bla bla, blah blah blaBlah blah bla, bla bla, blah blah blaBlah blah bla, bla bla, blah blah blaBlah blah bla, bla bla, blah blah blaBlah blah bla, bla bla, blah blah blaBlah blah bla, bla bla, blah blah blaBlah blah bla, bla bla, blah blah blaBlah blah bla, bla bla, blah blah bla</p>
+                                </div>
+                                <div fxFlex="50">
+                                    <mat-card fxFlex>
+                                        <mat-card-content class="pad-top-sm">
+                                            <img src="{ {droplet.img} }">
+                                        </mat-card-content>
+                                    </mat-card>
+                                </div>
+                                <div fxFlex="25">
+                                    <span class="uppercase">Change Log</span>
+                                </div>
+                            </div>
+                        </div>
+                    </div>
+                </td-expansion-panel>
+                <div class="pad-bottom-sm"></div>
+            </div>
+        </div>
+          ]]>
+                    </pre>
+                        <p>Javascript:</p>
+                        <pre lang="javascript">
+                        <![CDATA[
+        this.dataTableService = TdDataTableService;
+
+        this.droplets = [{
+            id: '23f6cc59-0156-1000-09b4-2b0610089090',
+            name: "Decompression_Circular_Flow",
+            displayName: 'Decompressed Circular flow',
+            type: 'flow',
+            sublabel: 'A sublabel',
+            compliant: {
+                id: '25fd6vv87-3549-0001-05g6-4d4567890765',
+                label: 'Compliant',
+                type: 'certification'
+            },
+            fleet: {
+                id: '23f6cc59-3549-0001-05g6-4d4567890765',
+                label: 'Fleet',
+                type: 'certification'
+            },
+            prod: {
+                id: '52fd6vv87-3549-0001-05g6-4d4567890765',
+                label: 'Production Ready',
+                type: 'certification'
+            },
+            secure: {
+                id: '32f6cc59-3549-0001-05g6-4d4567890765',
+                label: 'Secure',
+                type: 'certification'
+            },
+            versions: [{
+                id: '23f6cc59-0156-1000-06b4-2b0810089090',
+                revision: '1',
+                dependentFlows: [{
+                    id: '25fd6vv87-3549-0001-05g6-4d4567890765'
+                }],
+                created: date.setDate(date.getDate() - 1),
+                updated: new Date()
+            }, {
+                id: '25fd6vv87-3549-0001-05g6-4d4567890765',
+                revision: '2',
+                dependentFlows: [{
+                    id: '23f6cc59-0156-1000-06b4-2b0810089090'
+                }],
+                created: new Date(),
+                updated: new Date()
+            }],
+            flows: [],
+            extensions: [],
+            assets: [],
+            actions: [{
+                'name': 'Delete',
+                'icon': 'fa fa-close',
+                'tooltip': 'Delete User'
+            }, {
+                'name': 'Manage',
+                'icon': 'fa fa-user',
+                'tooltip': 'Manage User'
+            }, {
+                'name': 'Action 3',
+                'icon': 'fa fa-question',
+                'tooltip': 'Whatever else we want to do...'
+            }]
+        }, {
+            id: '25fd6vv87-3249-0001-05g6-4d4767890765',
+            name: "DateConversion",
+            displayName: 'Date conversion',
+            type: 'asset',
+            sublabel: 'A sublabel',
+            compliant: {
+                id: '25fd6vv34-3549-0001-05g6-4d4567890765',
+                label: 'Compliant',
+                type: 'certification'
+            },
+            prod: {
+                id: '52vn6vv87-3549-0001-05g6-4d4567890765',
+                label: 'Production Ready',
+                type: 'certification'
+            },
+            versions: [{
+                id: '23f6ic59-0156-1000-06b4-2b0810089090',
+                revision: '1',
+                dependentFlows: [{
+                    id: '23f6cc19-0156-1000-06b4-2b0810089090'
+                }],
+                created: new Date(),
+                updated: new Date()
+            }],
+            flows: [],
+            extensions: [],
+            assets: [],
+            actions: [{
+                'name': 'Delete',
+                'icon': 'fa fa-close',
+                'tooltip': 'Delete User'
+            }]
+        }, {
+            id: '52fd6vv87-3294-0001-05g6-4d4767890765',
+            name: "nifi-email-bundle",
+            displayName: 'nifi-email-bundle',
+            type: 'extension',
+            sublabel: 'A sublabel',
+            compliant: {
+                id: '33fd6vv87-3549-0001-05g6-4d4567890765',
+                label: 'Compliant',
+                test: {
+                    label: 'test'
+                },
+                type: 'certification'
+            },
+            versions: [{
+                id: '23d3cc59-0156-1000-06b4-2b0810089090',
+                revision: '1',
+                dependentFlows: [{
+                    id: '23f6cc89-0156-1000-06b4-2b0810089090'
+                }],
+                created: new Date(),
+                updated: new Date()
+            }],
+            flows: [],
+            extensions: [],
+            assets: [],
+            actions: [{
+                'name': 'Delete',
+                'icon': 'fa fa-close',
+                'tooltip': 'Delete User'
+            }, {
+                'name': 'Manage',
+                'icon': 'fa fa-user',
+                'tooltip': 'Manage User'
+            }, ]
+        }];
+
+        this.filteredDroplets = [];
+
+        this.dropletColumns = [
+            { name: 'id', label: 'ID', sortable: true },
+            { name: 'name', label: 'Name', sortable: true },
+            { name: 'displayName', label: 'Display Name', sortable: true },
+            { name: 'sublabel', label: 'Label', sortable: true },
+            { name: 'type', label: 'Type', sortable: true }
+        ];
+
+        this.autoCompleteDroplets = [];
+        this.dropletsSearchTerms = [];
+
+        ...
+
+        isDropletFilterChecked: function(term) {
+            return (this.dropletsSearchTerms.indexOf(term) > -1);
+        },
+
+        getDropletTypeCount: function(type) {
+            return this.filteredDroplets.filter(function(droplet) {
+                return droplet.type === type;
+            }).length;
+        },
+
+        getDropletCertificationCount: function(certification) {
+            return this.filteredDroplets.filter(droplet => {
+                return Object.keys(droplet).find((key) => {
+                    if (key === certification && droplet[certification].type === 'certification') {
+                        return droplet;
+                    }
+                });
+            }).length;
+        },
+
+        getSortBy: function() {
+            var sortByColumnLabel;
+            var arrayLength = this.dropletColumns.length;
+            for (var i = 0; i < arrayLength; i++) {
+                if (this.dropletColumns[i].active === true) {
+                    sortByColumnLabel = this.dropletColumns[i].label;
+                    break;
+                }
+            }
+            return sortByColumnLabel;
+        },
+
+        sortDroplets: function(column) {
+            if (column.sortable === true) {
+                // toggle column sort order
+                var sortOrder = column.sortOrder = (column.sortOrder === 'ASC') ? 'DESC' : 'ASC';
+                this.filterDroplets(column.name, sortOrder);
+                //only one column can be actively sorted so we reset all to inactive
+                this.dropletColumns.forEach(function (c) {
+                    c.active = false;
+                });
+                //and set this column as the actively sorted column
+                column.active = true;
+                this.activeDropletColumn = column;
+            }
+        },
+
+        toggleDropletsFilter: function(searchTerm) {
+            var applySearchTerm = true;
+            // check if the search term is already applied and remove it if true
+            if (this.dropletsSearchTerms.length > 0) {
+                var arrayLength = this.dropletsSearchTerms.length;
+                for (var i = 0; i < arrayLength; i++) {
+                    var index = this.dropletsSearchTerms.indexOf(searchTerm);
+                    if (index > -1) {
+                        this.dropletsSearchTerms.splice(index, 1);
+                        applySearchTerm = false;
+                    }
+                }
+            }
+
+            // if we just removed the search term do NOT apply it again
+            if (applySearchTerm) {
+                this.dropletsSearchTerms.push(searchTerm);
+            }
+
+            this.filterDroplets(this.activeDropletColumn.name, this.activeDropletColumn.sortOrder);
+        },
+
+        filterDroplets: function(sortBy, sortOrder) {
+            // if `sortBy` is `undefined` then find the first sortable column in this.dropletColumns
+            if (sortBy === undefined) {
+                var arrayLength = this.dropletColumns.length;
+                for (var i = 0; i < arrayLength; i++) {
+                    if (this.dropletColumns[i].sortable === true) {
+                        sortBy = this.dropletColumns[i].name;
+                        this.activeDropletColumn = this.dropletColumns[i];
+                        //only one column can be actively sorted so we reset all to inactive
+                        this.dropletColumns.forEach(c => c.active = false);
+                        //and set this column as the actively sorted column
+                        this.dropletColumns[i].active = true;
+                        break;
+                    }
+                }
+            }
+
+            // if `sortOrder` is `undefined` then use 'ASC'
+            if (sortOrder === undefined) {
+                sortOrder = 'ASC'
+            }
+
+            var newData = this.droplets;
+
+            for (var i = 0; i < this.dropletsSearchTerms.length; i++) {
+                newData = this.filterData(newData, this.dropletsSearchTerms[i], true, this.activeDropletColumn.name);
+            }
+
+            newData = this.dataTableService.sortData(newData, sortBy, sortOrder);
+            this.filteredDroplets = newData;
+            this.getAutoCompleteDroplets();
+        },
+
+        getAutoCompleteDroplets: function() {
+            this.autoCompleteDroplets = [];
+            this.dropletColumns.forEach(c => this.filteredDroplets.forEach(r => (r[c.name.toLowerCase()]) ? this.autoCompleteDroplets.push(r[c.name.toLowerCase()].toString()) : ''));
+        },
+
+        filterData: function(data, searchTerm, ignoreCase) {
+            var field = '';
+            if (searchTerm.indexOf(":") > -1) {
+                field = searchTerm.split(':')[0].trim();
+                searchTerm = searchTerm.split(':')[1].trim();
+            }
+            var filter = searchTerm ? (ignoreCase ? searchTerm.toLowerCase() : searchTerm) : '';
+
+            if (filter) {
+                data = data.filter(item => {
+                    var res = Object.keys(item).find((key) => {
+                        if (field.indexOf(".") > -1) {
+                            var objArray = field.split(".");
+                            var obj = item;
+                            var arrayLength = objArray.length;
+                            for (var i = 0; i < arrayLength; i++) {
+                                try {
+                                    obj = obj[objArray[i]];
+                                } catch (e) {
+                                    return false;
+                                }
+                            }
+                            var preItemValue = ('' + obj);
+                            var itemValue = ignoreCase ? preItemValue.toLowerCase() : preItemValue;
+                            return itemValue.indexOf(filter) > -1;
+                        } else {
+                            if (key !== field && field !== '') {
+                                return false;
+                            }
+                            var preItemValue = ('' + item[key]);
+                            var itemValue = ignoreCase ? preItemValue.toLowerCase() : preItemValue;
+                            return itemValue.indexOf(filter) > -1;
+                        }
+                    });
+                    return !(typeof res === 'undefined');
+                });
+            }
+            return data;
+        },
+
+        ...
+          ]]>
+                    </pre>
+                    </mat-tab>
+                </mat-tab-group>
+            </mat-card-content>
+            <mat-divider></mat-divider>
+        </mat-card>
+        <mat-card>
+            <mat-card-title class="pad-bottom-sm">Table</mat-card-title>
+            <mat-divider></mat-divider>
+            <mat-card-content>
+                <p>Example table with: Paging Bar / Filter / Sortable Columns / Multi-select with available Actions</p>
+                <mat-tab-group mat-stretch-tabs>
+                    <mat-tab>
+                        <ng-template mat-tab-label>Demo</ng-template>
+                        <div layout="row" layout-align="space-between center" class="pad-top-md pad-bottom-sm pad-left-md pad-right-md">
+                            <span class="table-title">
+                            <span>Table title</span>
+                            </span>
+                            <div flex class="push-right-sm" fxLayout="row" fxLayoutAlign="end center">
+                                <td-chips [items]="autoCompleteData" (add)="searchAdd($event)" (remove)="searchRemove($event)"></td-chips>
+                                <button class="push-top-sm" color="fds-primary" mat-raised-button [matMenuTriggerFor]="dataTableActionMenu">
+                                    Actions<i class="fa fa-caret-down" aria-hidden="true"></i>
+                                </button>
+                            </div>
+                            <mat-menu class="fds-primary-dropdown-button-menu" #dataTableActionMenu="matMenu" [overlapTrigger]="false">
+                                <button mat-menu-item> Option 1 </button>
+                                <button mat-menu-item> Option 2 </button>
+                            </mat-menu>
+                        </div>
+                        <div class="pad-left-md pad-right-md">
+                            <div fxLayout="row" fxLayoutAlign="space-between center" class="td-data-table">
+                                <div class="td-data-table-column" (click)="sort($event, column)" [matTooltip]="column.tooltip" *ngFor="let column of columns" fxFlex="{{column.width}}">
+                                    <i *ngIf="column.active && column.sortable && column.sortOrder === 'ASC'" class="fa fa-caret-up" aria-hidden="true"></i>
+                                    <i *ngIf="column.active && column.sortable && column.sortOrder === 'DESC'" class="fa fa-caret-down" aria-hidden="true"></i>
+                                    {{column.label}}
+                                </div>
+                                <div class="td-data-table-column" fxFlex=10>
+                                    <div fxLayout="row" fxLayoutAlign="end center">
+                                        <mat-checkbox class="pad-left-sm" [(ngModel)]="allRowsSelected" (checked)="allRowsSelected" (change)="toggleSelectAll()"></mat-checkbox>
+                                    </div>
+                                </div>
+                            </div>
+                            <div>
+                                <div fxLayout="row" fxLayoutAlign="space-between center" class="td-data-table-row" [ngClass]="{'selected' : row.checked}" *ngFor="let row of filteredData" (click)="row.checked = !row.checked;toggleSelect(row)">
+                                    <div class="td-data-table-cell" *ngFor="let column of columns" fxFlex="{{column.width}}">
+                                        <div *ngIf="column.name !== 'comments' || row['comments']">
+                                            {{column.format ? column.format(row[column.name]) : row[column.name]}}
+                                        </div>
+                                    </div>
+                                    <div class="td-data-table-cell" fxFlex=10>
+                                        <div *ngIf="row.actions">
+                                            <div *ngIf="row.actions.length <= 4" fxLayout="row" fxLayoutAlign="end center">
+                                                <button (click)="row.checked = !row.checked" *ngFor="let action of row.actions" matTooltip="{{action.tooltip}}" mat-icon-button color="accent" [disabled]="action.disabled ? '' : null">
+                                                    <i class="{{action.icon}}" aria-hidden="true"></i>
+                                                </button>
+                                                <mat-checkbox class="pad-left-sm" [(ngModel)]="row.checked" [checked]="row.checked" (change)="toggleSelect(row)" (click)="row.checked = !row.checked;toggleSelect(row)"></mat-checkbox>
+                                            </div>
+                                            <div *ngIf="row.actions.length > 4" fxLayout="row" fxLayoutAlign="end center">
+                                                <button (click)="row.checked = !row.checked" matTooltip="Actions" mat-icon-button color="accent" [matMenuTriggerFor]="tableActionMenu">
+                                                    <i class="fa fa-ellipsis-h" aria-hidden="true"></i>
+                                                </button>
+                                                <mat-menu #tableActionMenu="matMenu" [overlapTrigger]="false">
+                                                    <button *ngFor="let action of row.actions" matTooltip="{{action.tooltip}}" mat-menu-item [disabled]="action.disabled ? '' : null">
+                                                        <i class="{{action.icon}}" aria-hidden="true"></i>
+                                                        <span>{{action.name}}</span>
+                                                    </button>
+                                                </mat-menu>
+                                                <mat-checkbox class="pad-left-sm" [(ngModel)]="row.checked" [checked]="row.checked" (change)="toggleSelect(row)" (click)="row.checked = !row.checked;toggleSelect(row)"></mat-checkbox>
+                                            </div>
+                                        </div>
+                                        <div *ngIf="!row.actions" fxLayout="row" fxLayoutAlign="end center">
+                                            <mat-checkbox class="pad-left-sm" [(ngModel)]="row.checked" [checked]="row.checked" (change)="toggleSelect(row)" (click)="row.checked = !row.checked;toggleSelect(row)"></mat-checkbox>
+                                        </div>
+                                    </div>
+                                </div>
+                            </div>
+                            <div class="mat-padding" *ngIf="!filteredData.length > 0" layout="row" layout-align="center center">
+                                <h3>No results to display.</h3>
+                            </div>
+                            <td-paging-bar #pagingBar [initialPage]="1" [pageSize]="pageSize" [total]="pageCount" (change)="page($event)">
+                                <span hide-xs>Row per page:</span> {{pagingBar.range}} <span hide-xs>of {{pagingBar.total}}</span>
+                            </td-paging-bar>
+                        </div>
+                    </mat-tab>
+                    <mat-tab>
+                        <ng-template mat-tab-label>Code</ng-template>
+                        <p>HTML:</p>
+                        <pre lang="html">
+                        <![CDATA[
+        <div layout="row" layout-align="space-between center" class="pad-top-md pad-bottom-sm pad-left-md pad-right-md">
+            <span class="table-title">
+            <span>Table title</span>
+            </span>
+            <div flex class="push-right-sm" fxLayout="row" fxLayoutAlign="end center">
+                <td-chips [items]="autoCompleteData" (add)="searchAdd($event)" (remove)="searchRemove($event)"></td-chips>
+                <button color="fds-primary" mat-raised-button [matMenuTriggerFor]="dataTableActionMenu">
+                    Actions<i class="fa fa-caret-down" aria-hidden="true"></i>
+                </button>
+            </div>
+            <mat-menu class="fds-primary-dropdown-but

<TRUNCATED>

[54/59] [abbrv] nifi-fds git commit: update path to demo-app

Posted by sc...@apache.org.
update path to demo-app


Project: http://git-wip-us.apache.org/repos/asf/nifi-fds/repo
Commit: http://git-wip-us.apache.org/repos/asf/nifi-fds/commit/877eecf3
Tree: http://git-wip-us.apache.org/repos/asf/nifi-fds/tree/877eecf3
Diff: http://git-wip-us.apache.org/repos/asf/nifi-fds/diff/877eecf3

Branch: refs/heads/gh-pages
Commit: 877eecf3097750342ddb296ab9c1438e7e814e8b
Parents: 16a14e5
Author: Scott Aslan <sc...@gmail.com>
Authored: Tue Jun 5 17:26:34 2018 -0400
Committer: Scott Aslan <sc...@gmail.com>
Committed: Tue Jun 5 17:26:34 2018 -0400

----------------------------------------------------------------------
 index.html | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/877eecf3/index.html
----------------------------------------------------------------------
diff --git a/index.html b/index.html
index e759f14..b5c94b7 100644
--- a/index.html
+++ b/index.html
@@ -22,15 +22,15 @@
     <meta http-equiv='Content-Type' content='text/html; charset=UTF-8'/>
     <link rel="stylesheet" href="node_modules/@covalent/core/common/platform.css">
     <link rel="stylesheet" href='node_modules/@nifi-fds/core/common/styles/css/flow-design-system.min.css'/>
-    <link rel="stylesheet" href='../demo-app/css/fds-demo.min.css'/>
+    <link rel="stylesheet" href='demo-app/css/fds-demo.min.css'/>
     <link rel='stylesheet' href='node_modules/font-awesome/css/font-awesome.css'/>
 </head>
 <body>
 <fds-app></fds-app>
 </body>
 <script src="node_modules/systemjs/dist/system.src.js"></script>
-<script src="../demo-app/systemjs.config.js?"></script>
+<script src="demo-app/systemjs.config.js?"></script>
 <script>
-  System.import('../demo-app/fds-bootstrap.js').catch(function(err) {console.error(err);});
+  System.import('demo-app/fds-bootstrap.js').catch(function(err) {console.error(err);});
 </script>
 </html>


[03/59] [abbrv] [partial] nifi-fds git commit: update gh-pages

Posted by sc...@apache.org.
http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/eec354e6/node_modules/@angular/cdk/esm2015/overlay.js
----------------------------------------------------------------------
diff --git a/node_modules/@angular/cdk/esm2015/overlay.js b/node_modules/@angular/cdk/esm2015/overlay.js
new file mode 100644
index 0000000..5079d6f
--- /dev/null
+++ b/node_modules/@angular/cdk/esm2015/overlay.js
@@ -0,0 +1,2383 @@
+/**
+ * @license
+ * Copyright Google LLC All Rights Reserved.
+ *
+ * Use of this source code is governed by an MIT-style license that can be
+ * found in the LICENSE file at https://angular.io/license
+ */
+import { ApplicationRef, ComponentFactoryResolver, Directive, ElementRef, EventEmitter, Inject, Injectable, InjectionToken, Injector, Input, NgModule, NgZone, Optional, Output, SkipSelf, TemplateRef, ViewContainerRef } from '@angular/core';
+import { CdkScrollable, ScrollDispatchModule, ScrollDispatcher, VIEWPORT_RULER_PROVIDER, ViewportRuler } from '@angular/cdk/scrolling';
+import { DOCUMENT } from '@angular/common';
+import { BidiModule, Directionality } from '@angular/cdk/bidi';
+import { DomPortalOutlet, PortalModule, TemplatePortal } from '@angular/cdk/portal';
+import { take } from 'rxjs/operators/take';
+import { Subject } from 'rxjs/Subject';
+import { Subscription } from 'rxjs/Subscription';
+import { filter } from 'rxjs/operators/filter';
+import { fromEvent } from 'rxjs/observable/fromEvent';
+import { coerceBooleanProperty } from '@angular/cdk/coercion';
+import { ESCAPE } from '@angular/cdk/keycodes';
+
+/**
+ * @fileoverview added by tsickle
+ * @suppress {checkTypes} checked by tsc
+ */
+
+/**
+ * Scroll strategy that doesn't do anything.
+ */
+class NoopScrollStrategy {
+    /**
+     * Does nothing, as this scroll strategy is a no-op.
+     * @return {?}
+     */
+    enable() { }
+    /**
+     * Does nothing, as this scroll strategy is a no-op.
+     * @return {?}
+     */
+    disable() { }
+    /**
+     * Does nothing, as this scroll strategy is a no-op.
+     * @return {?}
+     */
+    attach() { }
+}
+
+/**
+ * @fileoverview added by tsickle
+ * @suppress {checkTypes} checked by tsc
+ */
+
+/**
+ * Initial configuration used when creating an overlay.
+ */
+class OverlayConfig {
+    /**
+     * @param {?=} config
+     */
+    constructor(config) {
+        /**
+         * Strategy to be used when handling scroll events while the overlay is open.
+         */
+        this.scrollStrategy = new NoopScrollStrategy();
+        /**
+         * Custom class to add to the overlay pane.
+         */
+        this.panelClass = '';
+        /**
+         * Whether the overlay has a backdrop.
+         */
+        this.hasBackdrop = false;
+        /**
+         * Custom class to add to the backdrop
+         */
+        this.backdropClass = 'cdk-overlay-dark-backdrop';
+        /**
+         * The direction of the text in the overlay panel.
+         */
+        this.direction = 'ltr';
+        if (config) {
+            Object.keys(config)
+                .filter(key => typeof config[key] !== 'undefined')
+                .forEach(key => this[key] = config[key]);
+        }
+    }
+}
+
+/**
+ * @fileoverview added by tsickle
+ * @suppress {checkTypes} checked by tsc
+ */
+
+/** Horizontal dimension of a connection point on the perimeter of the origin or overlay element. */
+/**
+ * A connection point on the origin element.
+ * @record
+ */
+
+/**
+ * A connection point on the overlay element.
+ * @record
+ */
+
+/**
+ * The points of the origin element and the overlay element to connect.
+ */
+class ConnectionPositionPair {
+    /**
+     * @param {?} origin
+     * @param {?} overlay
+     * @param {?=} offsetX
+     * @param {?=} offsetY
+     */
+    constructor(origin, overlay, offsetX, offsetY) {
+        this.offsetX = offsetX;
+        this.offsetY = offsetY;
+        this.originX = origin.originX;
+        this.originY = origin.originY;
+        this.overlayX = overlay.overlayX;
+        this.overlayY = overlay.overlayY;
+    }
+}
+/**
+ * Set of properties regarding the position of the origin and overlay relative to the viewport
+ * with respect to the containing Scrollable elements.
+ *
+ * The overlay and origin are clipped if any part of their bounding client rectangle exceeds the
+ * bounds of any one of the strategy's Scrollable's bounding client rectangle.
+ *
+ * The overlay and origin are outside view if there is no overlap between their bounding client
+ * rectangle and any one of the strategy's Scrollable's bounding client rectangle.
+ *
+ *       -----------                    -----------
+ *       | outside |                    | clipped |
+ *       |  view   |              --------------------------
+ *       |         |              |     |         |        |
+ *       ----------               |     -----------        |
+ *  --------------------------    |                        |
+ *  |                        |    |      Scrollable        |
+ *  |                        |    |                        |
+ *  |                        |     --------------------------
+ *  |      Scrollable        |
+ *  |                        |
+ *  --------------------------
+ *
+ *  \@docs-private
+ */
+class ScrollingVisibility {
+}
+/**
+ * The change event emitted by the strategy when a fallback position is used.
+ */
+class ConnectedOverlayPositionChange {
+    /**
+     * @param {?} connectionPair
+     * @param {?} scrollableViewProperties
+     */
+    constructor(connectionPair, /** @docs-private */
+        scrollableViewProperties) {
+        this.connectionPair = connectionPair;
+        this.scrollableViewProperties = scrollableViewProperties;
+    }
+}
+/** @nocollapse */
+ConnectedOverlayPositionChange.ctorParameters = () => [
+    { type: ConnectionPositionPair, },
+    { type: ScrollingVisibility, decorators: [{ type: Optional },] },
+];
+
+/**
+ * @fileoverview added by tsickle
+ * @suppress {checkTypes} checked by tsc
+ */
+
+/**
+ * Describes a strategy that will be used by an overlay to handle scroll events while it is open.
+ * @record
+ */
+
+/**
+ * Returns an error to be thrown when attempting to attach an already-attached scroll strategy.
+ * @return {?}
+ */
+function getMatScrollStrategyAlreadyAttachedError() {
+    return Error(`Scroll strategy has already been attached.`);
+}
+
+/**
+ * @fileoverview added by tsickle
+ * @suppress {checkTypes} checked by tsc
+ */
+/**
+ * Config options for the CloseScrollStrategy.
+ * @record
+ */
+
+/**
+ * Strategy that will close the overlay as soon as the user starts scrolling.
+ */
+class CloseScrollStrategy {
+    /**
+     * @param {?} _scrollDispatcher
+     * @param {?} _ngZone
+     * @param {?} _viewportRuler
+     * @param {?=} _config
+     */
+    constructor(_scrollDispatcher, _ngZone, _viewportRuler, _config) {
+        this._scrollDispatcher = _scrollDispatcher;
+        this._ngZone = _ngZone;
+        this._viewportRuler = _viewportRuler;
+        this._config = _config;
+        this._scrollSubscription = null;
+        /**
+         * Detaches the overlay ref and disables the scroll strategy.
+         */
+        this._detach = () => {
+            this.disable();
+            if (this._overlayRef.hasAttached()) {
+                this._ngZone.run(() => this._overlayRef.detach());
+            }
+        };
+    }
+    /**
+     * Attaches this scroll strategy to an overlay.
+     * @param {?} overlayRef
+     * @return {?}
+     */
+    attach(overlayRef) {
+        if (this._overlayRef) {
+            throw getMatScrollStrategyAlreadyAttachedError();
+        }
+        this._overlayRef = overlayRef;
+    }
+    /**
+     * Enables the closing of the attached overlay on scroll.
+     * @return {?}
+     */
+    enable() {
+        if (this._scrollSubscription) {
+            return;
+        }
+        const /** @type {?} */ stream = this._scrollDispatcher.scrolled(0);
+        if (this._config && this._config.threshold && this._config.threshold > 1) {
+            this._initialScrollPosition = this._viewportRuler.getViewportScrollPosition().top;
+            this._scrollSubscription = stream.subscribe(() => {
+                const /** @type {?} */ scrollPosition = this._viewportRuler.getViewportScrollPosition().top;
+                if (Math.abs(scrollPosition - this._initialScrollPosition) > /** @type {?} */ ((/** @type {?} */ ((this._config)).threshold))) {
+                    this._detach();
+                }
+                else {
+                    this._overlayRef.updatePosition();
+                }
+            });
+        }
+        else {
+            this._scrollSubscription = stream.subscribe(this._detach);
+        }
+    }
+    /**
+     * Disables the closing the attached overlay on scroll.
+     * @return {?}
+     */
+    disable() {
+        if (this._scrollSubscription) {
+            this._scrollSubscription.unsubscribe();
+            this._scrollSubscription = null;
+        }
+    }
+}
+
+/**
+ * @fileoverview added by tsickle
+ * @suppress {checkTypes} checked by tsc
+ */
+
+/**
+ * Strategy that will prevent the user from scrolling while the overlay is visible.
+ */
+class BlockScrollStrategy {
+    /**
+     * @param {?} _viewportRuler
+     * @param {?} document
+     */
+    constructor(_viewportRuler, document) {
+        this._viewportRuler = _viewportRuler;
+        this._previousHTMLStyles = { top: '', left: '' };
+        this._isEnabled = false;
+        this._document = document;
+    }
+    /**
+     * Attaches this scroll strategy to an overlay.
+     * @return {?}
+     */
+    attach() { }
+    /**
+     * Blocks page-level scroll while the attached overlay is open.
+     * @return {?}
+     */
+    enable() {
+        if (this._canBeEnabled()) {
+            const /** @type {?} */ root = this._document.documentElement;
+            this._previousScrollPosition = this._viewportRuler.getViewportScrollPosition();
+            // Cache the previous inline styles in case the user had set them.
+            this._previousHTMLStyles.left = root.style.left || '';
+            this._previousHTMLStyles.top = root.style.top || '';
+            // Note: we're using the `html` node, instead of the `body`, because the `body` may
+            // have the user agent margin, whereas the `html` is guaranteed not to have one.
+            root.style.left = `${-this._previousScrollPosition.left}px`;
+            root.style.top = `${-this._previousScrollPosition.top}px`;
+            root.classList.add('cdk-global-scrollblock');
+            this._isEnabled = true;
+        }
+    }
+    /**
+     * Unblocks page-level scroll while the attached overlay is open.
+     * @return {?}
+     */
+    disable() {
+        if (this._isEnabled) {
+            const /** @type {?} */ html = this._document.documentElement;
+            const /** @type {?} */ body = this._document.body;
+            const /** @type {?} */ previousHtmlScrollBehavior = html.style['scrollBehavior'] || '';
+            const /** @type {?} */ previousBodyScrollBehavior = body.style['scrollBehavior'] || '';
+            this._isEnabled = false;
+            html.style.left = this._previousHTMLStyles.left;
+            html.style.top = this._previousHTMLStyles.top;
+            html.classList.remove('cdk-global-scrollblock');
+            // Disable user-defined smooth scrolling temporarily while we restore the scroll position.
+            // See https://developer.mozilla.org/en-US/docs/Web/CSS/scroll-behavior
+            html.style['scrollBehavior'] = body.style['scrollBehavior'] = 'auto';
+            window.scroll(this._previousScrollPosition.left, this._previousScrollPosition.top);
+            html.style['scrollBehavior'] = previousHtmlScrollBehavior;
+            body.style['scrollBehavior'] = previousBodyScrollBehavior;
+        }
+    }
+    /**
+     * @return {?}
+     */
+    _canBeEnabled() {
+        // Since the scroll strategies can't be singletons, we have to use a global CSS class
+        // (`cdk-global-scrollblock`) to make sure that we don't try to disable global
+        // scrolling multiple times.
+        const /** @type {?} */ html = this._document.documentElement;
+        if (html.classList.contains('cdk-global-scrollblock') || this._isEnabled) {
+            return false;
+        }
+        const /** @type {?} */ body = this._document.body;
+        const /** @type {?} */ viewport = this._viewportRuler.getViewportSize();
+        return body.scrollHeight > viewport.height || body.scrollWidth > viewport.width;
+    }
+}
+
+/**
+ * @fileoverview added by tsickle
+ * @suppress {checkTypes} checked by tsc
+ */
+
+// TODO(jelbourn): move this to live with the rest of the scrolling code
+// TODO(jelbourn): someday replace this with IntersectionObservers
+/**
+ * Gets whether an element is scrolled outside of view by any of its parent scrolling containers.
+ * \@docs-private
+ * @param {?} element Dimensions of the element (from getBoundingClientRect)
+ * @param {?} scrollContainers Dimensions of element's scrolling containers (from getBoundingClientRect)
+ * @return {?} Whether the element is scrolled out of view
+ */
+function isElementScrolledOutsideView(element, scrollContainers) {
+    return scrollContainers.some(containerBounds => {
+        const /** @type {?} */ outsideAbove = element.bottom < containerBounds.top;
+        const /** @type {?} */ outsideBelow = element.top > containerBounds.bottom;
+        const /** @type {?} */ outsideLeft = element.right < containerBounds.left;
+        const /** @type {?} */ outsideRight = element.left > containerBounds.right;
+        return outsideAbove || outsideBelow || outsideLeft || outsideRight;
+    });
+}
+/**
+ * Gets whether an element is clipped by any of its scrolling containers.
+ * \@docs-private
+ * @param {?} element Dimensions of the element (from getBoundingClientRect)
+ * @param {?} scrollContainers Dimensions of element's scrolling containers (from getBoundingClientRect)
+ * @return {?} Whether the element is clipped
+ */
+function isElementClippedByScrolling(element, scrollContainers) {
+    return scrollContainers.some(scrollContainerRect => {
+        const /** @type {?} */ clippedAbove = element.top < scrollContainerRect.top;
+        const /** @type {?} */ clippedBelow = element.bottom > scrollContainerRect.bottom;
+        const /** @type {?} */ clippedLeft = element.left < scrollContainerRect.left;
+        const /** @type {?} */ clippedRight = element.right > scrollContainerRect.right;
+        return clippedAbove || clippedBelow || clippedLeft || clippedRight;
+    });
+}
+
+/**
+ * @fileoverview added by tsickle
+ * @suppress {checkTypes} checked by tsc
+ */
+
+/**
+ * Config options for the RepositionScrollStrategy.
+ * @record
+ */
+
+/**
+ * Strategy that will update the element position as the user is scrolling.
+ */
+class RepositionScrollStrategy {
+    /**
+     * @param {?} _scrollDispatcher
+     * @param {?} _viewportRuler
+     * @param {?} _ngZone
+     * @param {?=} _config
+     */
+    constructor(_scrollDispatcher, _viewportRuler, _ngZone, _config) {
+        this._scrollDispatcher = _scrollDispatcher;
+        this._viewportRuler = _viewportRuler;
+        this._ngZone = _ngZone;
+        this._config = _config;
+        this._scrollSubscription = null;
+    }
+    /**
+     * Attaches this scroll strategy to an overlay.
+     * @param {?} overlayRef
+     * @return {?}
+     */
+    attach(overlayRef) {
+        if (this._overlayRef) {
+            throw getMatScrollStrategyAlreadyAttachedError();
+        }
+        this._overlayRef = overlayRef;
+    }
+    /**
+     * Enables repositioning of the attached overlay on scroll.
+     * @return {?}
+     */
+    enable() {
+        if (!this._scrollSubscription) {
+            const /** @type {?} */ throttle = this._config ? this._config.scrollThrottle : 0;
+            this._scrollSubscription = this._scrollDispatcher.scrolled(throttle).subscribe(() => {
+                this._overlayRef.updatePosition();
+                // TODO(crisbeto): make `close` on by default once all components can handle it.
+                if (this._config && this._config.autoClose) {
+                    const /** @type {?} */ overlayRect = this._overlayRef.overlayElement.getBoundingClientRect();
+                    const { width, height } = this._viewportRuler.getViewportSize();
+                    // TODO(crisbeto): include all ancestor scroll containers here once
+                    // we have a way of exposing the trigger element to the scroll strategy.
+                    const /** @type {?} */ parentRects = [{ width, height, bottom: height, right: width, top: 0, left: 0 }];
+                    if (isElementScrolledOutsideView(overlayRect, parentRects)) {
+                        this.disable();
+                        this._ngZone.run(() => this._overlayRef.detach());
+                    }
+                }
+            });
+        }
+    }
+    /**
+     * Disables repositioning of the attached overlay on scroll.
+     * @return {?}
+     */
+    disable() {
+        if (this._scrollSubscription) {
+            this._scrollSubscription.unsubscribe();
+            this._scrollSubscription = null;
+        }
+    }
+}
+
+/**
+ * @fileoverview added by tsickle
+ * @suppress {checkTypes} checked by tsc
+ */
+
+/**
+ * Options for how an overlay will handle scrolling.
+ *
+ * Users can provide a custom value for `ScrollStrategyOptions` to replace the default
+ * behaviors. This class primarily acts as a factory for ScrollStrategy instances.
+ */
+class ScrollStrategyOptions {
+    /**
+     * @param {?} _scrollDispatcher
+     * @param {?} _viewportRuler
+     * @param {?} _ngZone
+     * @param {?} document
+     */
+    constructor(_scrollDispatcher, _viewportRuler, _ngZone, document) {
+        this._scrollDispatcher = _scrollDispatcher;
+        this._viewportRuler = _viewportRuler;
+        this._ngZone = _ngZone;
+        /**
+         * Do nothing on scroll.
+         */
+        this.noop = () => new NoopScrollStrategy();
+        /**
+         * Close the overlay as soon as the user scrolls.
+         * @param config Configuration to be used inside the scroll strategy.
+         */
+        this.close = (config) => new CloseScrollStrategy(this._scrollDispatcher, this._ngZone, this._viewportRuler, config);
+        /**
+         * Block scrolling.
+         */
+        this.block = () => new BlockScrollStrategy(this._viewportRuler, this._document);
+        /**
+         * Update the overlay's position on scroll.
+         * @param config Configuration to be used inside the scroll strategy.
+         * Allows debouncing the reposition calls.
+         */
+        this.reposition = (config) => new RepositionScrollStrategy(this._scrollDispatcher, this._viewportRuler, this._ngZone, config);
+        this._document = document;
+    }
+}
+ScrollStrategyOptions.decorators = [
+    { type: Injectable },
+];
+/** @nocollapse */
+ScrollStrategyOptions.ctorParameters = () => [
+    { type: ScrollDispatcher, },
+    { type: ViewportRuler, },
+    { type: NgZone, },
+    { type: undefined, decorators: [{ type: Inject, args: [DOCUMENT,] },] },
+];
+
+/**
+ * @fileoverview added by tsickle
+ * @suppress {checkTypes} checked by tsc
+ */
+
+/**
+ * @fileoverview added by tsickle
+ * @suppress {checkTypes} checked by tsc
+ */
+
+/**
+ * Reference to an overlay that has been created with the Overlay service.
+ * Used to manipulate or dispose of said overlay.
+ */
+class OverlayRef {
+    /**
+     * @param {?} _portalOutlet
+     * @param {?} _pane
+     * @param {?} _config
+     * @param {?} _ngZone
+     * @param {?} _keyboardDispatcher
+     * @param {?} _document
+     */
+    constructor(_portalOutlet, _pane, _config, _ngZone, _keyboardDispatcher, _document) {
+        this._portalOutlet = _portalOutlet;
+        this._pane = _pane;
+        this._config = _config;
+        this._ngZone = _ngZone;
+        this._keyboardDispatcher = _keyboardDispatcher;
+        this._document = _document;
+        this._backdropElement = null;
+        this._backdropClick = new Subject();
+        this._attachments = new Subject();
+        this._detachments = new Subject();
+        /**
+         * Stream of keydown events dispatched to this overlay.
+         */
+        this._keydownEvents = new Subject();
+        if (_config.scrollStrategy) {
+            _config.scrollStrategy.attach(this);
+        }
+    }
+    /**
+     * The overlay's HTML element
+     * @return {?}
+     */
+    get overlayElement() {
+        return this._pane;
+    }
+    /**
+     * The overlay's backdrop HTML element.
+     * @return {?}
+     */
+    get backdropElement() {
+        return this._backdropElement;
+    }
+    /**
+     * Attaches content, given via a Portal, to the overlay.
+     * If the overlay is configured to have a backdrop, it will be created.
+     *
+     * @param {?} portal Portal instance to which to attach the overlay.
+     * @return {?} The portal attachment result.
+     */
+    attach(portal) {
+        let /** @type {?} */ attachResult = this._portalOutlet.attach(portal);
+        if (this._config.positionStrategy) {
+            this._config.positionStrategy.attach(this);
+        }
+        // Update the pane element with the given configuration.
+        this._updateStackingOrder();
+        this._updateElementSize();
+        this._updateElementDirection();
+        if (this._config.scrollStrategy) {
+            this._config.scrollStrategy.enable();
+        }
+        // Update the position once the zone is stable so that the overlay will be fully rendered
+        // before attempting to position it, as the position may depend on the size of the rendered
+        // content.
+        this._ngZone.onStable.asObservable().pipe(take(1)).subscribe(() => {
+            // The overlay could've been detached before the zone has stabilized.
+            if (this.hasAttached()) {
+                this.updatePosition();
+            }
+        });
+        // Enable pointer events for the overlay pane element.
+        this._togglePointerEvents(true);
+        if (this._config.hasBackdrop) {
+            this._attachBackdrop();
+        }
+        if (this._config.panelClass) {
+            // We can't do a spread here, because IE doesn't support setting multiple classes.
+            if (Array.isArray(this._config.panelClass)) {
+                this._config.panelClass.forEach(cls => this._pane.classList.add(cls));
+            }
+            else {
+                this._pane.classList.add(this._config.panelClass);
+            }
+        }
+        // Only emit the `attachments` event once all other setup is done.
+        this._attachments.next();
+        // Track this overlay by the keyboard dispatcher
+        this._keyboardDispatcher.add(this);
+        return attachResult;
+    }
+    /**
+     * Detaches an overlay from a portal.
+     * @return {?} The portal detachment result.
+     */
+    detach() {
+        if (!this.hasAttached()) {
+            return;
+        }
+        this.detachBackdrop();
+        // When the overlay is detached, the pane element should disable pointer events.
+        // This is necessary because otherwise the pane element will cover the page and disable
+        // pointer events therefore. Depends on the position strategy and the applied pane boundaries.
+        this._togglePointerEvents(false);
+        if (this._config.positionStrategy && this._config.positionStrategy.detach) {
+            this._config.positionStrategy.detach();
+        }
+        if (this._config.scrollStrategy) {
+            this._config.scrollStrategy.disable();
+        }
+        const /** @type {?} */ detachmentResult = this._portalOutlet.detach();
+        // Only emit after everything is detached.
+        this._detachments.next();
+        // Remove this overlay from keyboard dispatcher tracking
+        this._keyboardDispatcher.remove(this);
+        return detachmentResult;
+    }
+    /**
+     * Cleans up the overlay from the DOM.
+     * @return {?}
+     */
+    dispose() {
+        const /** @type {?} */ isAttached = this.hasAttached();
+        if (this._config.positionStrategy) {
+            this._config.positionStrategy.dispose();
+        }
+        if (this._config.scrollStrategy) {
+            this._config.scrollStrategy.disable();
+        }
+        this.detachBackdrop();
+        this._keyboardDispatcher.remove(this);
+        this._portalOutlet.dispose();
+        this._attachments.complete();
+        this._backdropClick.complete();
+        this._keydownEvents.complete();
+        if (isAttached) {
+            this._detachments.next();
+        }
+        this._detachments.complete();
+    }
+    /**
+     * Whether the overlay has attached content.
+     * @return {?}
+     */
+    hasAttached() {
+        return this._portalOutlet.hasAttached();
+    }
+    /**
+     * Gets an observable that emits when the backdrop has been clicked.
+     * @return {?}
+     */
+    backdropClick() {
+        return this._backdropClick.asObservable();
+    }
+    /**
+     * Gets an observable that emits when the overlay has been attached.
+     * @return {?}
+     */
+    attachments() {
+        return this._attachments.asObservable();
+    }
+    /**
+     * Gets an observable that emits when the overlay has been detached.
+     * @return {?}
+     */
+    detachments() {
+        return this._detachments.asObservable();
+    }
+    /**
+     * Gets an observable of keydown events targeted to this overlay.
+     * @return {?}
+     */
+    keydownEvents() {
+        return this._keydownEvents.asObservable();
+    }
+    /**
+     * Gets the the current overlay configuration, which is immutable.
+     * @return {?}
+     */
+    getConfig() {
+        return this._config;
+    }
+    /**
+     * Updates the position of the overlay based on the position strategy.
+     * @return {?}
+     */
+    updatePosition() {
+        if (this._config.positionStrategy) {
+            this._config.positionStrategy.apply();
+        }
+    }
+    /**
+     * Update the size properties of the overlay.
+     * @param {?} sizeConfig
+     * @return {?}
+     */
+    updateSize(sizeConfig) {
+        this._config = Object.assign({}, this._config, sizeConfig);
+        this._updateElementSize();
+    }
+    /**
+     * Sets the LTR/RTL direction for the overlay.
+     * @param {?} dir
+     * @return {?}
+     */
+    setDirection(dir) {
+        this._config = Object.assign({}, this._config, { direction: dir });
+        this._updateElementDirection();
+    }
+    /**
+     * Updates the text direction of the overlay panel.
+     * @return {?}
+     */
+    _updateElementDirection() {
+        this._pane.setAttribute('dir', /** @type {?} */ ((this._config.direction)));
+    }
+    /**
+     * Updates the size of the overlay element based on the overlay config.
+     * @return {?}
+     */
+    _updateElementSize() {
+        if (this._config.width || this._config.width === 0) {
+            this._pane.style.width = formatCssUnit(this._config.width);
+        }
+        if (this._config.height || this._config.height === 0) {
+            this._pane.style.height = formatCssUnit(this._config.height);
+        }
+        if (this._config.minWidth || this._config.minWidth === 0) {
+            this._pane.style.minWidth = formatCssUnit(this._config.minWidth);
+        }
+        if (this._config.minHeight || this._config.minHeight === 0) {
+            this._pane.style.minHeight = formatCssUnit(this._config.minHeight);
+        }
+        if (this._config.maxWidth || this._config.maxWidth === 0) {
+            this._pane.style.maxWidth = formatCssUnit(this._config.maxWidth);
+        }
+        if (this._config.maxHeight || this._config.maxHeight === 0) {
+            this._pane.style.maxHeight = formatCssUnit(this._config.maxHeight);
+        }
+    }
+    /**
+     * Toggles the pointer events for the overlay pane element.
+     * @param {?} enablePointer
+     * @return {?}
+     */
+    _togglePointerEvents(enablePointer) {
+        this._pane.style.pointerEvents = enablePointer ? 'auto' : 'none';
+    }
+    /**
+     * Attaches a backdrop for this overlay.
+     * @return {?}
+     */
+    _attachBackdrop() {
+        const /** @type {?} */ showingClass = 'cdk-overlay-backdrop-showing';
+        this._backdropElement = this._document.createElement('div');
+        this._backdropElement.classList.add('cdk-overlay-backdrop');
+        if (this._config.backdropClass) {
+            this._backdropElement.classList.add(this._config.backdropClass);
+        } /** @type {?} */
+        ((
+        // Insert the backdrop before the pane in the DOM order,
+        // in order to handle stacked overlays properly.
+        this._pane.parentElement)).insertBefore(this._backdropElement, this._pane);
+        // Forward backdrop clicks such that the consumer of the overlay can perform whatever
+        // action desired when such a click occurs (usually closing the overlay).
+        this._backdropElement.addEventListener('click', (event) => this._backdropClick.next(event));
+        // Add class to fade-in the backdrop after one frame.
+        if (typeof requestAnimationFrame !== 'undefined') {
+            this._ngZone.runOutsideAngular(() => {
+                requestAnimationFrame(() => {
+                    if (this._backdropElement) {
+                        this._backdropElement.classList.add(showingClass);
+                    }
+                });
+            });
+        }
+        else {
+            this._backdropElement.classList.add(showingClass);
+        }
+    }
+    /**
+     * Updates the stacking order of the element, moving it to the top if necessary.
+     * This is required in cases where one overlay was detached, while another one,
+     * that should be behind it, was destroyed. The next time both of them are opened,
+     * the stacking will be wrong, because the detached element's pane will still be
+     * in its original DOM position.
+     * @return {?}
+     */
+    _updateStackingOrder() {
+        if (this._pane.nextSibling) {
+            /** @type {?} */ ((this._pane.parentNode)).appendChild(this._pane);
+        }
+    }
+    /**
+     * Detaches the backdrop (if any) associated with the overlay.
+     * @return {?}
+     */
+    detachBackdrop() {
+        let /** @type {?} */ backdropToDetach = this._backdropElement;
+        if (backdropToDetach) {
+            let /** @type {?} */ finishDetach = () => {
+                // It may not be attached to anything in certain cases (e.g. unit tests).
+                if (backdropToDetach && backdropToDetach.parentNode) {
+                    backdropToDetach.parentNode.removeChild(backdropToDetach);
+                }
+                // It is possible that a new portal has been attached to this overlay since we started
+                // removing the backdrop. If that is the case, only clear the backdrop reference if it
+                // is still the same instance that we started to remove.
+                if (this._backdropElement == backdropToDetach) {
+                    this._backdropElement = null;
+                }
+            };
+            backdropToDetach.classList.remove('cdk-overlay-backdrop-showing');
+            if (this._config.backdropClass) {
+                backdropToDetach.classList.remove(this._config.backdropClass);
+            }
+            backdropToDetach.addEventListener('transitionend', finishDetach);
+            // If the backdrop doesn't have a transition, the `transitionend` event won't fire.
+            // In this case we make it unclickable and we try to remove it after a delay.
+            backdropToDetach.style.pointerEvents = 'none';
+            // Run this outside the Angular zone because there's nothing that Angular cares about.
+            // If it were to run inside the Angular zone, every test that used Overlay would have to be
+            // either async or fakeAsync.
+            this._ngZone.runOutsideAngular(() => {
+                setTimeout(finishDetach, 500);
+            });
+        }
+    }
+}
+/**
+ * @param {?} value
+ * @return {?}
+ */
+function formatCssUnit(value) {
+    return typeof value === 'string' ? /** @type {?} */ (value) : `${value}px`;
+}
+/**
+ * Size properties for an overlay.
+ * @record
+ */
+
+/**
+ * @fileoverview added by tsickle
+ * @suppress {checkTypes} checked by tsc
+ */
+
+/**
+ * A strategy for positioning overlays. Using this strategy, an overlay is given an
+ * implicit position relative some origin element. The relative position is defined in terms of
+ * a point on the origin element that is connected to a point on the overlay element. For example,
+ * a basic dropdown is connecting the bottom-left corner of the origin to the top-left corner
+ * of the overlay.
+ */
+class ConnectedPositionStrategy {
+    /**
+     * @param {?} originPos
+     * @param {?} overlayPos
+     * @param {?} _connectedTo
+     * @param {?} _viewportRuler
+     * @param {?} _document
+     */
+    constructor(originPos, overlayPos, _connectedTo, _viewportRuler, _document) {
+        this._connectedTo = _connectedTo;
+        this._viewportRuler = _viewportRuler;
+        this._document = _document;
+        /**
+         * Layout direction of the position strategy.
+         */
+        this._dir = 'ltr';
+        /**
+         * The offset in pixels for the overlay connection point on the x-axis
+         */
+        this._offsetX = 0;
+        /**
+         * The offset in pixels for the overlay connection point on the y-axis
+         */
+        this._offsetY = 0;
+        /**
+         * The Scrollable containers used to check scrollable view properties on position change.
+         */
+        this.scrollables = [];
+        /**
+         * Subscription to viewport resize events.
+         */
+        this._resizeSubscription = Subscription.EMPTY;
+        /**
+         * Ordered list of preferred positions, from most to least desirable.
+         */
+        this._preferredPositions = [];
+        /**
+         * Whether the position strategy is applied currently.
+         */
+        this._applied = false;
+        /**
+         * Whether the overlay position is locked.
+         */
+        this._positionLocked = false;
+        this._onPositionChange = new Subject();
+        this._origin = this._connectedTo.nativeElement;
+        this.withFallbackPosition(originPos, overlayPos);
+    }
+    /**
+     * Whether the we're dealing with an RTL context
+     * @return {?}
+     */
+    get _isRtl() {
+        return this._dir === 'rtl';
+    }
+    /**
+     * Emits an event when the connection point changes.
+     * @return {?}
+     */
+    get onPositionChange() {
+        return this._onPositionChange.asObservable();
+    }
+    /**
+     * Ordered list of preferred positions, from most to least desirable.
+     * @return {?}
+     */
+    get positions() {
+        return this._preferredPositions;
+    }
+    /**
+     * Attach this position strategy to an overlay.
+     * @param {?} overlayRef
+     * @return {?}
+     */
+    attach(overlayRef) {
+        this._overlayRef = overlayRef;
+        this._pane = overlayRef.overlayElement;
+        this._resizeSubscription.unsubscribe();
+        this._resizeSubscription = this._viewportRuler.change().subscribe(() => this.apply());
+    }
+    /**
+     * Disposes all resources used by the position strategy.
+     * @return {?}
+     */
+    dispose() {
+        this._applied = false;
+        this._resizeSubscription.unsubscribe();
+        this._onPositionChange.complete();
+    }
+    /**
+     * \@docs-private
+     * @return {?}
+     */
+    detach() {
+        this._applied = false;
+        this._resizeSubscription.unsubscribe();
+    }
+    /**
+     * Updates the position of the overlay element, using whichever preferred position relative
+     * to the origin fits on-screen.
+     * \@docs-private
+     * @return {?}
+     */
+    apply() {
+        // If the position has been applied already (e.g. when the overlay was opened) and the
+        // consumer opted into locking in the position, re-use the  old position, in order to
+        // prevent the overlay from jumping around.
+        if (this._applied && this._positionLocked && this._lastConnectedPosition) {
+            this.recalculateLastPosition();
+            return;
+        }
+        this._applied = true;
+        // We need the bounding rects for the origin and the overlay to determine how to position
+        // the overlay relative to the origin.
+        const /** @type {?} */ element = this._pane;
+        const /** @type {?} */ originRect = this._origin.getBoundingClientRect();
+        const /** @type {?} */ overlayRect = element.getBoundingClientRect();
+        // We use the viewport size to determine whether a position would go off-screen.
+        const /** @type {?} */ viewportSize = this._viewportRuler.getViewportSize();
+        // Fallback point if none of the fallbacks fit into the viewport.
+        let /** @type {?} */ fallbackPoint;
+        let /** @type {?} */ fallbackPosition;
+        // We want to place the overlay in the first of the preferred positions such that the
+        // overlay fits on-screen.
+        for (let /** @type {?} */ pos of this._preferredPositions) {
+            // Get the (x, y) point of connection on the origin, and then use that to get the
+            // (top, left) coordinate for the overlay at `pos`.
+            let /** @type {?} */ originPoint = this._getOriginConnectionPoint(originRect, pos);
+            let /** @type {?} */ overlayPoint = this._getOverlayPoint(originPoint, overlayRect, viewportSize, pos);
+            // If the overlay in the calculated position fits on-screen, put it there and we're done.
+            if (overlayPoint.fitsInViewport) {
+                this._setElementPosition(element, overlayRect, overlayPoint, pos);
+                // Save the last connected position in case the position needs to be re-calculated.
+                this._lastConnectedPosition = pos;
+                return;
+            }
+            else if (!fallbackPoint || fallbackPoint.visibleArea < overlayPoint.visibleArea) {
+                fallbackPoint = overlayPoint;
+                fallbackPosition = pos;
+            }
+        }
+        // If none of the preferred positions were in the viewport, take the one
+        // with the largest visible area.
+        this._setElementPosition(element, overlayRect, /** @type {?} */ ((fallbackPoint)), /** @type {?} */ ((fallbackPosition)));
+    }
+    /**
+     * Re-positions the overlay element with the trigger in its last calculated position,
+     * even if a position higher in the "preferred positions" list would now fit. This
+     * allows one to re-align the panel without changing the orientation of the panel.
+     * @return {?}
+     */
+    recalculateLastPosition() {
+        // If the overlay has never been positioned before, do nothing.
+        if (!this._lastConnectedPosition) {
+            return;
+        }
+        const /** @type {?} */ originRect = this._origin.getBoundingClientRect();
+        const /** @type {?} */ overlayRect = this._pane.getBoundingClientRect();
+        const /** @type {?} */ viewportSize = this._viewportRuler.getViewportSize();
+        const /** @type {?} */ lastPosition = this._lastConnectedPosition || this._preferredPositions[0];
+        let /** @type {?} */ originPoint = this._getOriginConnectionPoint(originRect, lastPosition);
+        let /** @type {?} */ overlayPoint = this._getOverlayPoint(originPoint, overlayRect, viewportSize, lastPosition);
+        this._setElementPosition(this._pane, overlayRect, overlayPoint, lastPosition);
+    }
+    /**
+     * Sets the list of Scrollable containers that host the origin element so that
+     * on reposition we can evaluate if it or the overlay has been clipped or outside view. Every
+     * Scrollable must be an ancestor element of the strategy's origin element.
+     * @param {?} scrollables
+     * @return {?}
+     */
+    withScrollableContainers(scrollables) {
+        this.scrollables = scrollables;
+    }
+    /**
+     * Adds a new preferred fallback position.
+     * @param {?} originPos
+     * @param {?} overlayPos
+     * @param {?=} offsetX
+     * @param {?=} offsetY
+     * @return {?}
+     */
+    withFallbackPosition(originPos, overlayPos, offsetX, offsetY) {
+        const /** @type {?} */ position = new ConnectionPositionPair(originPos, overlayPos, offsetX, offsetY);
+        this._preferredPositions.push(position);
+        return this;
+    }
+    /**
+     * Sets the layout direction so the overlay's position can be adjusted to match.
+     * @param {?} dir New layout direction.
+     * @return {?}
+     */
+    withDirection(dir) {
+        this._dir = dir;
+        return this;
+    }
+    /**
+     * Sets an offset for the overlay's connection point on the x-axis
+     * @param {?} offset New offset in the X axis.
+     * @return {?}
+     */
+    withOffsetX(offset) {
+        this._offsetX = offset;
+        return this;
+    }
+    /**
+     * Sets an offset for the overlay's connection point on the y-axis
+     * @param {?} offset New offset in the Y axis.
+     * @return {?}
+     */
+    withOffsetY(offset) {
+        this._offsetY = offset;
+        return this;
+    }
+    /**
+     * Sets whether the overlay's position should be locked in after it is positioned
+     * initially. When an overlay is locked in, it won't attempt to reposition itself
+     * when the position is re-applied (e.g. when the user scrolls away).
+     * @param {?} isLocked Whether the overlay should locked in.
+     * @return {?}
+     */
+    withLockedPosition(isLocked) {
+        this._positionLocked = isLocked;
+        return this;
+    }
+    /**
+     * Overwrites the current set of positions with an array of new ones.
+     * @param {?} positions Position pairs to be set on the strategy.
+     * @return {?}
+     */
+    withPositions(positions) {
+        this._preferredPositions = positions.slice();
+        return this;
+    }
+    /**
+     * Sets the origin element, relative to which to position the overlay.
+     * @param {?} origin Reference to the new origin element.
+     * @return {?}
+     */
+    setOrigin(origin) {
+        this._origin = origin.nativeElement;
+        return this;
+    }
+    /**
+     * Gets the horizontal (x) "start" dimension based on whether the overlay is in an RTL context.
+     * @param {?} rect
+     * @return {?}
+     */
+    _getStartX(rect) {
+        return this._isRtl ? rect.right : rect.left;
+    }
+    /**
+     * Gets the horizontal (x) "end" dimension based on whether the overlay is in an RTL context.
+     * @param {?} rect
+     * @return {?}
+     */
+    _getEndX(rect) {
+        return this._isRtl ? rect.left : rect.right;
+    }
+    /**
+     * Gets the (x, y) coordinate of a connection point on the origin based on a relative position.
+     * @param {?} originRect
+     * @param {?} pos
+     * @return {?}
+     */
+    _getOriginConnectionPoint(originRect, pos) {
+        const /** @type {?} */ originStartX = this._getStartX(originRect);
+        const /** @type {?} */ originEndX = this._getEndX(originRect);
+        let /** @type {?} */ x;
+        if (pos.originX == 'center') {
+            x = originStartX + (originRect.width / 2);
+        }
+        else {
+            x = pos.originX == 'start' ? originStartX : originEndX;
+        }
+        let /** @type {?} */ y;
+        if (pos.originY == 'center') {
+            y = originRect.top + (originRect.height / 2);
+        }
+        else {
+            y = pos.originY == 'top' ? originRect.top : originRect.bottom;
+        }
+        return { x, y };
+    }
+    /**
+     * Gets the (x, y) coordinate of the top-left corner of the overlay given a given position and
+     * origin point to which the overlay should be connected, as well as how much of the element
+     * would be inside the viewport at that position.
+     * @param {?} originPoint
+     * @param {?} overlayRect
+     * @param {?} viewportSize
+     * @param {?} pos
+     * @return {?}
+     */
+    _getOverlayPoint(originPoint, overlayRect, viewportSize, pos) {
+        // Calculate the (overlayStartX, overlayStartY), the start of the potential overlay position
+        // relative to the origin point.
+        let /** @type {?} */ overlayStartX;
+        if (pos.overlayX == 'center') {
+            overlayStartX = -overlayRect.width / 2;
+        }
+        else if (pos.overlayX === 'start') {
+            overlayStartX = this._isRtl ? -overlayRect.width : 0;
+        }
+        else {
+            overlayStartX = this._isRtl ? 0 : -overlayRect.width;
+        }
+        let /** @type {?} */ overlayStartY;
+        if (pos.overlayY == 'center') {
+            overlayStartY = -overlayRect.height / 2;
+        }
+        else {
+            overlayStartY = pos.overlayY == 'top' ? 0 : -overlayRect.height;
+        }
+        // The (x, y) offsets of the overlay based on the current position.
+        let /** @type {?} */ offsetX = typeof pos.offsetX === 'undefined' ? this._offsetX : pos.offsetX;
+        let /** @type {?} */ offsetY = typeof pos.offsetY === 'undefined' ? this._offsetY : pos.offsetY;
+        // The (x, y) coordinates of the overlay.
+        let /** @type {?} */ x = originPoint.x + overlayStartX + offsetX;
+        let /** @type {?} */ y = originPoint.y + overlayStartY + offsetY;
+        // How much the overlay would overflow at this position, on each side.
+        let /** @type {?} */ leftOverflow = 0 - x;
+        let /** @type {?} */ rightOverflow = (x + overlayRect.width) - viewportSize.width;
+        let /** @type {?} */ topOverflow = 0 - y;
+        let /** @type {?} */ bottomOverflow = (y + overlayRect.height) - viewportSize.height;
+        // Visible parts of the element on each axis.
+        let /** @type {?} */ visibleWidth = this._subtractOverflows(overlayRect.width, leftOverflow, rightOverflow);
+        let /** @type {?} */ visibleHeight = this._subtractOverflows(overlayRect.height, topOverflow, bottomOverflow);
+        // The area of the element that's within the viewport.
+        let /** @type {?} */ visibleArea = visibleWidth * visibleHeight;
+        let /** @type {?} */ fitsInViewport = (overlayRect.width * overlayRect.height) === visibleArea;
+        return { x, y, fitsInViewport, visibleArea };
+    }
+    /**
+     * Gets the view properties of the trigger and overlay, including whether they are clipped
+     * or completely outside the view of any of the strategy's scrollables.
+     * @param {?} overlay
+     * @return {?}
+     */
+    _getScrollVisibility(overlay) {
+        const /** @type {?} */ originBounds = this._origin.getBoundingClientRect();
+        const /** @type {?} */ overlayBounds = overlay.getBoundingClientRect();
+        const /** @type {?} */ scrollContainerBounds = this.scrollables.map(s => s.getElementRef().nativeElement.getBoundingClientRect());
+        return {
+            isOriginClipped: isElementClippedByScrolling(originBounds, scrollContainerBounds),
+            isOriginOutsideView: isElementScrolledOutsideView(originBounds, scrollContainerBounds),
+            isOverlayClipped: isElementClippedByScrolling(overlayBounds, scrollContainerBounds),
+            isOverlayOutsideView: isElementScrolledOutsideView(overlayBounds, scrollContainerBounds),
+        };
+    }
+    /**
+     * Physically positions the overlay element to the given coordinate.
+     * @param {?} element
+     * @param {?} overlayRect
+     * @param {?} overlayPoint
+     * @param {?} pos
+     * @return {?}
+     */
+    _setElementPosition(element, overlayRect, overlayPoint, pos) {
+        // We want to set either `top` or `bottom` based on whether the overlay wants to appear above
+        // or below the origin and the direction in which the element will expand.
+        let /** @type {?} */ verticalStyleProperty = pos.overlayY === 'bottom' ? 'bottom' : 'top';
+        // When using `bottom`, we adjust the y position such that it is the distance
+        // from the bottom of the viewport rather than the top.
+        let /** @type {?} */ y = verticalStyleProperty === 'top' ?
+            overlayPoint.y :
+            this._document.documentElement.clientHeight - (overlayPoint.y + overlayRect.height);
+        // We want to set either `left` or `right` based on whether the overlay wants to appear "before"
+        // or "after" the origin, which determines the direction in which the element will expand.
+        // For the horizontal axis, the meaning of "before" and "after" change based on whether the
+        // page is in RTL or LTR.
+        let /** @type {?} */ horizontalStyleProperty;
+        if (this._dir === 'rtl') {
+            horizontalStyleProperty = pos.overlayX === 'end' ? 'left' : 'right';
+        }
+        else {
+            horizontalStyleProperty = pos.overlayX === 'end' ? 'right' : 'left';
+        }
+        // When we're setting `right`, we adjust the x position such that it is the distance
+        // from the right edge of the viewport rather than the left edge.
+        let /** @type {?} */ x = horizontalStyleProperty === 'left' ?
+            overlayPoint.x :
+            this._document.documentElement.clientWidth - (overlayPoint.x + overlayRect.width);
+        // Reset any existing styles. This is necessary in case the preferred position has
+        // changed since the last `apply`.
+        ['top', 'bottom', 'left', 'right'].forEach(p => element.style[p] = null);
+        element.style[verticalStyleProperty] = `${y}px`;
+        element.style[horizontalStyleProperty] = `${x}px`;
+        // Notify that the position has been changed along with its change properties.
+        const /** @type {?} */ scrollableViewProperties = this._getScrollVisibility(element);
+        const /** @type {?} */ positionChange = new ConnectedOverlayPositionChange(pos, scrollableViewProperties);
+        this._onPositionChange.next(positionChange);
+    }
+    /**
+     * Subtracts the amount that an element is overflowing on an axis from it's length.
+     * @param {?} length
+     * @param {...?} overflows
+     * @return {?}
+     */
+    _subtractOverflows(length, ...overflows) {
+        return overflows.reduce((currentValue, currentOverflow) => {
+            return currentValue - Math.max(currentOverflow, 0);
+        }, length);
+    }
+}
+
+/**
+ * @fileoverview added by tsickle
+ * @suppress {checkTypes} checked by tsc
+ */
+
+/**
+ * A strategy for positioning overlays. Using this strategy, an overlay is given an
+ * explicit position relative to the browser's viewport. We use flexbox, instead of
+ * transforms, in order to avoid issues with subpixel rendering which can cause the
+ * element to become blurry.
+ */
+class GlobalPositionStrategy {
+    /**
+     * @param {?} _document
+     */
+    constructor(_document) {
+        this._document = _document;
+        this._cssPosition = 'static';
+        this._topOffset = '';
+        this._bottomOffset = '';
+        this._leftOffset = '';
+        this._rightOffset = '';
+        this._alignItems = '';
+        this._justifyContent = '';
+        this._width = '';
+        this._height = '';
+        /**
+         * A lazily-created wrapper for the overlay element that is used as a flex container.
+         */
+        this._wrapper = null;
+    }
+    /**
+     * @param {?} overlayRef
+     * @return {?}
+     */
+    attach(overlayRef) {
+        this._overlayRef = overlayRef;
+    }
+    /**
+     * Sets the top position of the overlay. Clears any previously set vertical position.
+     * @param {?=} value New top offset.
+     * @return {?}
+     */
+    top(value = '') {
+        this._bottomOffset = '';
+        this._topOffset = value;
+        this._alignItems = 'flex-start';
+        return this;
+    }
+    /**
+     * Sets the left position of the overlay. Clears any previously set horizontal position.
+     * @param {?=} value New left offset.
+     * @return {?}
+     */
+    left(value = '') {
+        this._rightOffset = '';
+        this._leftOffset = value;
+        this._justifyContent = 'flex-start';
+        return this;
+    }
+    /**
+     * Sets the bottom position of the overlay. Clears any previously set vertical position.
+     * @param {?=} value New bottom offset.
+     * @return {?}
+     */
+    bottom(value = '') {
+        this._topOffset = '';
+        this._bottomOffset = value;
+        this._alignItems = 'flex-end';
+        return this;
+    }
+    /**
+     * Sets the right position of the overlay. Clears any previously set horizontal position.
+     * @param {?=} value New right offset.
+     * @return {?}
+     */
+    right(value = '') {
+        this._leftOffset = '';
+        this._rightOffset = value;
+        this._justifyContent = 'flex-end';
+        return this;
+    }
+    /**
+     * Sets the overlay width and clears any previously set width.
+     * @param {?=} value New width for the overlay
+     * @return {?}
+     */
+    width(value = '') {
+        this._width = value;
+        // When the width is 100%, we should reset the `left` and the offset,
+        // in order to ensure that the element is flush against the viewport edge.
+        if (value === '100%') {
+            this.left('0px');
+        }
+        return this;
+    }
+    /**
+     * Sets the overlay height and clears any previously set height.
+     * @param {?=} value New height for the overlay
+     * @return {?}
+     */
+    height(value = '') {
+        this._height = value;
+        // When the height is 100%, we should reset the `top` and the offset,
+        // in order to ensure that the element is flush against the viewport edge.
+        if (value === '100%') {
+            this.top('0px');
+        }
+        return this;
+    }
+    /**
+     * Centers the overlay horizontally with an optional offset.
+     * Clears any previously set horizontal position.
+     *
+     * @param {?=} offset Overlay offset from the horizontal center.
+     * @return {?}
+     */
+    centerHorizontally(offset = '') {
+        this.left(offset);
+        this._justifyContent = 'center';
+        return this;
+    }
+    /**
+     * Centers the overlay vertically with an optional offset.
+     * Clears any previously set vertical position.
+     *
+     * @param {?=} offset Overlay offset from the vertical center.
+     * @return {?}
+     */
+    centerVertically(offset = '') {
+        this.top(offset);
+        this._alignItems = 'center';
+        return this;
+    }
+    /**
+     * Apply the position to the element.
+     * \@docs-private
+     *
+     * @return {?} Resolved when the styles have been applied.
+     */
+    apply() {
+        // Since the overlay ref applies the strategy asynchronously, it could
+        // have been disposed before it ends up being applied. If that is the
+        // case, we shouldn't do anything.
+        if (!this._overlayRef.hasAttached()) {
+            return;
+        }
+        const /** @type {?} */ element = this._overlayRef.overlayElement;
+        if (!this._wrapper && element.parentNode) {
+            this._wrapper = this._document.createElement('div'); /** @type {?} */
+            ((this._wrapper)).classList.add('cdk-global-overlay-wrapper');
+            element.parentNode.insertBefore(/** @type {?} */ ((this._wrapper)), element); /** @type {?} */
+            ((this._wrapper)).appendChild(element);
+        }
+        let /** @type {?} */ styles = element.style;
+        let /** @type {?} */ parentStyles = (/** @type {?} */ (element.parentNode)).style;
+        styles.position = this._cssPosition;
+        styles.marginTop = this._topOffset;
+        styles.marginLeft = this._leftOffset;
+        styles.marginBottom = this._bottomOffset;
+        styles.marginRight = this._rightOffset;
+        styles.width = this._width;
+        styles.height = this._height;
+        parentStyles.justifyContent = this._justifyContent;
+        parentStyles.alignItems = this._alignItems;
+    }
+    /**
+     * Removes the wrapper element from the DOM.
+     * @return {?}
+     */
+    dispose() {
+        if (this._wrapper && this._wrapper.parentNode) {
+            this._wrapper.parentNode.removeChild(this._wrapper);
+            this._wrapper = null;
+        }
+    }
+}
+
+/**
+ * @fileoverview added by tsickle
+ * @suppress {checkTypes} checked by tsc
+ */
+
+/**
+ * Builder for overlay position strategy.
+ */
+class OverlayPositionBuilder {
+    /**
+     * @param {?} _viewportRuler
+     * @param {?} _document
+     */
+    constructor(_viewportRuler, _document) {
+        this._viewportRuler = _viewportRuler;
+        this._document = _document;
+    }
+    /**
+     * Creates a global position strategy.
+     * @return {?}
+     */
+    global() {
+        return new GlobalPositionStrategy(this._document);
+    }
+    /**
+     * Creates a relative position strategy.
+     * @param {?} elementRef
+     * @param {?} originPos
+     * @param {?} overlayPos
+     * @return {?}
+     */
+    connectedTo(elementRef, originPos, overlayPos) {
+        return new ConnectedPositionStrategy(originPos, overlayPos, elementRef, this._viewportRuler, this._document);
+    }
+}
+OverlayPositionBuilder.decorators = [
+    { type: Injectable },
+];
+/** @nocollapse */
+OverlayPositionBuilder.ctorParameters = () => [
+    { type: ViewportRuler, },
+    { type: undefined, decorators: [{ type: Inject, args: [DOCUMENT,] },] },
+];
+
+/**
+ * @fileoverview added by tsickle
+ * @suppress {checkTypes} checked by tsc
+ */
+
+/**
+ * Service for dispatching keyboard events that land on the body to appropriate overlay ref,
+ * if any. It maintains a list of attached overlays to determine best suited overlay based
+ * on event target and order of overlay opens.
+ */
+class OverlayKeyboardDispatcher {
+    /**
+     * @param {?} _document
+     */
+    constructor(_document) {
+        this._document = _document;
+        /**
+         * Currently attached overlays in the order they were attached.
+         */
+        this._attachedOverlays = [];
+    }
+    /**
+     * @return {?}
+     */
+    ngOnDestroy() {
+        this._unsubscribeFromKeydownEvents();
+    }
+    /**
+     * Add a new overlay to the list of attached overlay refs.
+     * @param {?} overlayRef
+     * @return {?}
+     */
+    add(overlayRef) {
+        // Lazily start dispatcher once first overlay is added
+        if (!this._keydownEventSubscription) {
+            this._subscribeToKeydownEvents();
+        }
+        this._attachedOverlays.push(overlayRef);
+    }
+    /**
+     * Remove an overlay from the list of attached overlay refs.
+     * @param {?} overlayRef
+     * @return {?}
+     */
+    remove(overlayRef) {
+        const /** @type {?} */ index = this._attachedOverlays.indexOf(overlayRef);
+        if (index > -1) {
+            this._attachedOverlays.splice(index, 1);
+        }
+        // Remove the global listener once there are no more overlays.
+        if (this._attachedOverlays.length === 0) {
+            this._unsubscribeFromKeydownEvents();
+        }
+    }
+    /**
+     * Subscribe to keydown events that land on the body and dispatch those
+     * events to the appropriate overlay.
+     * @return {?}
+     */
+    _subscribeToKeydownEvents() {
+        const /** @type {?} */ bodyKeydownEvents = fromEvent(this._document.body, 'keydown', true);
+        this._keydownEventSubscription = bodyKeydownEvents.pipe(filter(() => !!this._attachedOverlays.length)).subscribe(event => {
+            // Dispatch keydown event to the correct overlay.
+            this._selectOverlayFromEvent(event)._keydownEvents.next(event);
+        });
+    }
+    /**
+     * Removes the global keydown subscription.
+     * @return {?}
+     */
+    _unsubscribeFromKeydownEvents() {
+        if (this._keydownEventSubscription) {
+            this._keydownEventSubscription.unsubscribe();
+            this._keydownEventSubscription = null;
+        }
+    }
+    /**
+     * Select the appropriate overlay from a keydown event.
+     * @param {?} event
+     * @return {?}
+     */
+    _selectOverlayFromEvent(event) {
+        // Check if any overlays contain the event
+        const /** @type {?} */ targetedOverlay = this._attachedOverlays.find(overlay => {
+            return overlay.overlayElement === event.target ||
+                overlay.overlayElement.contains(/** @type {?} */ (event.target));
+        });
+        // Use the overlay if it exists, otherwise choose the most recently attached one
+        return targetedOverlay || this._attachedOverlays[this._attachedOverlays.length - 1];
+    }
+}
+OverlayKeyboardDispatcher.decorators = [
+    { type: Injectable },
+];
+/** @nocollapse */
+OverlayKeyboardDispatcher.ctorParameters = () => [
+    { type: undefined, decorators: [{ type: Inject, args: [DOCUMENT,] },] },
+];
+/**
+ * \@docs-private
+ * @param {?} dispatcher
+ * @param {?} _document
+ * @return {?}
+ */
+function OVERLAY_KEYBOARD_DISPATCHER_PROVIDER_FACTORY(dispatcher, _document) {
+    return dispatcher || new OverlayKeyboardDispatcher(_document);
+}
+/**
+ * \@docs-private
+ */
+const OVERLAY_KEYBOARD_DISPATCHER_PROVIDER = {
+    // If there is already an OverlayKeyboardDispatcher available, use that.
+    // Otherwise, provide a new one.
+    provide: OverlayKeyboardDispatcher,
+    deps: [
+        [new Optional(), new SkipSelf(), OverlayKeyboardDispatcher],
+        /** @type {?} */ (
+        // Coerce to `InjectionToken` so that the `deps` match the "shape"
+        // of the type expected by Angular
+        DOCUMENT)
+    ],
+    useFactory: OVERLAY_KEYBOARD_DISPATCHER_PROVIDER_FACTORY
+};
+
+/**
+ * @fileoverview added by tsickle
+ * @suppress {checkTypes} checked by tsc
+ */
+
+/**
+ * Container inside which all overlays will render.
+ */
+class OverlayContainer {
+    /**
+     * @param {?} _document
+     */
+    constructor(_document) {
+        this._document = _document;
+    }
+    /**
+     * @return {?}
+     */
+    ngOnDestroy() {
+        if (this._containerElement && this._containerElement.parentNode) {
+            this._containerElement.parentNode.removeChild(this._containerElement);
+        }
+    }
+    /**
+     * This method returns the overlay container element. It will lazily
+     * create the element the first time  it is called to facilitate using
+     * the container in non-browser environments.
+     * @return {?} the container element
+     */
+    getContainerElement() {
+        if (!this._containerElement) {
+            this._createContainer();
+        }
+        return this._containerElement;
+    }
+    /**
+     * Create the overlay container element, which is simply a div
+     * with the 'cdk-overlay-container' class on the document body.
+     * @return {?}
+     */
+    _createContainer() {
+        const /** @type {?} */ container = this._document.createElement('div');
+        container.classList.add('cdk-overlay-container');
+        this._document.body.appendChild(container);
+        this._containerElement = container;
+    }
+}
+OverlayContainer.decorators = [
+    { type: Injectable },
+];
+/** @nocollapse */
+OverlayContainer.ctorParameters = () => [
+    { type: undefined, decorators: [{ type: Inject, args: [DOCUMENT,] },] },
+];
+/**
+ * \@docs-private
+ * @param {?} parentContainer
+ * @param {?} _document
+ * @return {?}
+ */
+function OVERLAY_CONTAINER_PROVIDER_FACTORY(parentContainer, _document) {
+    return parentContainer || new OverlayContainer(_document);
+}
+/**
+ * \@docs-private
+ */
+const OVERLAY_CONTAINER_PROVIDER = {
+    // If there is already an OverlayContainer available, use that. Otherwise, provide a new one.
+    provide: OverlayContainer,
+    deps: [
+        [new Optional(), new SkipSelf(), OverlayContainer],
+        /** @type {?} */ (DOCUMENT // We need to use the InjectionToken somewhere to keep TS happy
+        ) // We need to use the InjectionToken somewhere to keep TS happy
+    ],
+    useFactory: OVERLAY_CONTAINER_PROVIDER_FACTORY
+};
+
+/**
+ * @fileoverview added by tsickle
+ * @suppress {checkTypes} checked by tsc
+ */
+
+/**
+ * Next overlay unique ID.
+ */
+let nextUniqueId = 0;
+/**
+ * Service to create Overlays. Overlays are dynamically added pieces of floating UI, meant to be
+ * used as a low-level building building block for other components. Dialogs, tooltips, menus,
+ * selects, etc. can all be built using overlays. The service should primarily be used by authors
+ * of re-usable components rather than developers building end-user applications.
+ *
+ * An overlay *is* a PortalOutlet, so any kind of Portal can be loaded into one.
+ */
+class Overlay {
+    /**
+     * @param {?} scrollStrategies
+     * @param {?} _overlayContainer
+     * @param {?} _componentFactoryResolver
+     * @param {?} _positionBuilder
+     * @param {?} _keyboardDispatcher
+     * @param {?} _appRef
+     * @param {?} _injector
+     * @param {?} _ngZone
+     * @param {?} _document
+     */
+    constructor(scrollStrategies, _overlayContainer, _componentFactoryResolver, _positionBuilder, _keyboardDispatcher, _appRef, _injector, _ngZone, _document) {
+        this.scrollStrategies = scrollStrategies;
+        this._overlayContainer = _overlayContainer;
+        this._componentFactoryResolver = _componentFactoryResolver;
+        this._positionBuilder = _positionBuilder;
+        this._keyboardDispatcher = _keyboardDispatcher;
+        this._appRef = _appRef;
+        this._injector = _injector;
+        this._ngZone = _ngZone;
+        this._document = _document;
+    }
+    /**
+     * Creates an overlay.
+     * @param {?=} config Configuration applied to the overlay.
+     * @return {?} Reference to the created overlay.
+     */
+    create(config) {
+        const /** @type {?} */ pane = this._createPaneElement();
+        const /** @type {?} */ portalOutlet = this._createPortalOutlet(pane);
+        return new OverlayRef(portalOutlet, pane, new OverlayConfig(config), this._ngZone, this._keyboardDispatcher, this._document);
+    }
+    /**
+     * Gets a position builder that can be used, via fluent API,
+     * to construct and configure a position strategy.
+     * @return {?} An overlay position builder.
+     */
+    position() {
+        return this._positionBuilder;
+    }
+    /**
+     * Creates the DOM element for an overlay and appends it to the overlay container.
+     * @return {?} Newly-created pane element
+     */
+    _createPaneElement() {
+        const /** @type {?} */ pane = this._document.createElement('div');
+        pane.id = `cdk-overlay-${nextUniqueId++}`;
+        pane.classList.add('cdk-overlay-pane');
+        this._overlayContainer.getContainerElement().appendChild(pane);
+        return pane;
+    }
+    /**
+     * Create a DomPortalOutlet into which the overlay content can be loaded.
+     * @param {?} pane The DOM element to turn into a portal outlet.
+     * @return {?} A portal outlet for the given DOM element.
+     */
+    _createPortalOutlet(pane) {
+        return new DomPortalOutlet(pane, this._componentFactoryResolver, this._appRef, this._injector);
+    }
+}
+Overlay.decorators = [
+    { type: Injectable },
+];
+/** @nocollapse */
+Overlay.ctorParameters = () => [
+    { type: ScrollStrategyOptions, },
+    { type: OverlayContainer, },
+    { type: ComponentFactoryResolver, },
+    { type: OverlayPositionBuilder, },
+    { type: OverlayKeyboardDispatcher, },
+    { type: ApplicationRef, },
+    { type: Injector, },
+    { type: NgZone, },
+    { type: undefined, decorators: [{ type: Inject, args: [DOCUMENT,] },] },
+];
+
+/**
+ * @fileoverview added by tsickle
+ * @suppress {checkTypes} checked by tsc
+ */
+
+/**
+ * Default set of positions for the overlay. Follows the behavior of a dropdown.
+ */
+const defaultPositionList = [
+    new ConnectionPositionPair({ originX: 'start', originY: 'bottom' }, { overlayX: 'start', overlayY: 'top' }),
+    new ConnectionPositionPair({ originX: 'start', originY: 'top' }, { overlayX: 'start', overlayY: 'bottom' }),
+    new ConnectionPositionPair({ originX: 'end', originY: 'top' }, { overlayX: 'end', overlayY: 'bottom' }),
+    new ConnectionPositionPair({ originX: 'end', originY: 'bottom' }, { overlayX: 'end', overlayY: 'top' }),
+];
+/**
+ * Injection token that determines the scroll handling while the connected overlay is open.
+ */
+const CDK_CONNECTED_OVERLAY_SCROLL_STRATEGY = new InjectionToken('cdk-connected-overlay-scroll-strategy');
+/**
+ * \@docs-private
+ * @param {?} overlay
+ * @return {?}
+ */
+function CDK_CONNECTED_OVERLAY_SCROLL_STRATEGY_PROVIDER_FACTORY(overlay) {
+    return () => overlay.scrollStrategies.reposition();
+}
+/**
+ * \@docs-private
+ */
+const CDK_CONNECTED_OVERLAY_SCROLL_STRATEGY_PROVIDER = {
+    provide: CDK_CONNECTED_OVERLAY_SCROLL_STRATEGY,
+    deps: [Overlay],
+    useFactory: CDK_CONNECTED_OVERLAY_SCROLL_STRATEGY_PROVIDER_FACTORY,
+};
+/**
+ * Directive applied to an element to make it usable as an origin for an Overlay using a
+ * ConnectedPositionStrategy.
+ */
+class CdkOverlayOrigin {
+    /**
+     * @param {?} elementRef
+     */
+    constructor(elementRef) {
+        this.elementRef = elementRef;
+    }
+}
+CdkOverlayOrigin.decorators = [
+    { type: Directive, args: [{
+                selector: '[cdk-overlay-origin], [overlay-origin], [cdkOverlayOrigin]',
+                exportAs: 'cdkOverlayOrigin',
+            },] },
+];
+/** @nocollapse */
+CdkOverlayOrigin.ctorParameters = () => [
+    { type: ElementRef, },
+];
+/**
+ * Directive to facilitate declarative creation of an Overlay using a ConnectedPositionStrategy.
+ */
+class CdkConnectedOverlay {
+    /**
+     * @param {?} _overlay
+     * @param {?} templateRef
+     * @param {?} viewContainerRef
+     * @param {?} _scrollStrategy
+     * @param {?} _dir
+     */
+    constructor(_overlay, templateRef, viewContainerRef, _scrollStrategy, _dir) {
+        this._overlay = _overlay;
+        this._scrollStrategy = _scrollStrategy;
+        this._dir = _dir;
+        this._hasBackdrop = false;
+        this._backdropSubscription = Subscription.EMPTY;
+        this._offsetX = 0;
+        this._offsetY = 0;
+        /**
+         * Strategy to be used when handling scroll events while the overlay is open.
+         */
+        this.scrollStrategy = this._scrollStrategy();
+        /**
+         * Whether the overlay is open.
+         */
+        this.open = false;
+        /**
+         * Event emitted when the backdrop is clicked.
+         */
+        this.backdropClick = new EventEmitter();
+        /**
+         * Event emitted when the position has changed.
+         */
+        this.positionChange = new EventEmitter();
+        /**
+         * Event emitted when the overlay has been attached.
+         */
+        this.attach = new EventEmitter();
+        /**
+         * Event emitted when the overlay has been detached.
+         */
+        this.detach = new EventEmitter();
+        this._templatePortal = new TemplatePortal(templateRef, viewContainerRef);
+    }
+    /**
+     * The offset in pixels for the overlay connection point on the x-axis
+     * @return {?}
+     */
+    get offsetX() { return this._offsetX; }
+    /**
+     * @param {?} offsetX
+     * @return {?}
+     */
+    set offsetX(offsetX) {
+        this._offsetX = offsetX;
+        if (this._position) {
+            this._position.withOffsetX(offsetX);
+        }
+    }
+    /**
+     * The offset in pixels for the overlay connection point on the y-axis
+     * @return {?}
+     */
+    get offsetY() { return this._offsetY; }
+    /**
+     * @param {?} offsetY
+     * @return {?}
+     */
+    set offsetY(offsetY) {
+        this._offsetY = offsetY;
+        if (this._position) {
+            this._position.withOffsetY(offsetY);
+        }
+    }
+    /**
+     * Whether or not the overlay should attach a backdrop.
+     * @return {?}
+     */
+    get hasBackdrop() { return this._hasBackdrop; }
+    /**
+     * @param {?} value
+     * @return {?}
+     */
+    set hasBackdrop(value) { this._hasBackdrop = coerceBooleanProperty(value); }
+    /**
+     * @deprecated
+     * \@deletion-target 6.0.0
+     * @return {?}
+     */
+    get _deprecatedOrigin() { return this.origin; }
+    /**
+     * @param {?} _origin
+     * @return {?}
+     */
+    set _deprecatedOrigin(_origin) { this.origin = _origin; }
+    /**
+     * @deprecated
+     * \@deletion-target 6.0.0
+     * @return {?}
+     */
+    get _deprecatedPositions() { return this.positions; }
+    /**
+     * @param {?} _positions
+     * @return {?}
+     */
+    set _deprecatedPositions(_positions) { this.positions = _positions; }
+    /**
+     * @deprecated
+     * \@deletion-target 6.0.0
+     * @return {?}
+     */
+    get _deprecatedOffsetX() { return this.offsetX; }
+    /**
+     * @param {?} _offsetX
+     * @return {?}
+     */
+    set _deprecatedOffsetX(_offsetX) { this.offsetX = _offsetX; }
+    /**
+     * @deprecated
+     * \@deletion-target 6.0.0
+     * @return {?}
+     */
+    get _deprecatedOffsetY() { return this.offsetY; }
+    /**
+     * @param {?} _offsetY
+     * @return {?}
+     */
+    set _deprecatedOffsetY(_offsetY) { this.offsetY = _offsetY; }
+    /**
+     * @deprecated
+     * \@deletion-target 6.0.0
+     * @return {?}
+     */
+    get _deprecatedWidth() { return this.width; }
+    /**
+     * @param {?} _width
+     * @return {?}
+     */
+    set _deprecatedWidth(_width) { this.width = _width; }
+    /**
+     * @deprecated
+     * \@deletion-target 6.0.0
+     * @return {?}
+     */
+    get _deprecatedHeight() { return this.height; }
+    /**
+     * @param {?} _height
+     * @return {?}
+     */
+    set _deprecatedHeight(_height) { this.height = _height; }
+    /**
+     * @deprecated
+     * \@deletion-target 6.0.0
+     * @return {?}
+     */
+    get _deprecatedMinWidth() { return this.minWidth; }
+    /**
+     * @param {?} _minWidth
+     * @return {?}
+     */
+    set _deprecatedMinWidth(_minWidth) { this.minWidth = _minWidth; }
+    /**
+     * @deprecated
+     * \@deletion-target 6.0.0
+     * @return {?}
+     */
+    get _deprecatedMinHeight() { return this.minHeight; }
+    /**
+     * @param {?} _minHeight
+     * @return {?}
+     */
+    set _deprecatedMinHeight(_minHeight) { this.minHeight = _minHeight; }
+    /**
+     * @deprecated
+     * \@deletion-target 6.0.0
+     * @return {?}
+     */
+    get _deprecatedBackdropClass() { return this.backdropClass; }
+    /**
+     * @param {?} _backdropClass
+     * @return {?}
+     */
+    set _deprecatedBackdropClass(_backdropClass) { this.backdropClass = _backdropClass; }
+    /**
+     * @deprecated
+     * \@deletion-target 6.0.0
+     * @return {?}
+     */
+    get _deprecatedScrollStrategy() { return this.scrollStrategy; }
+    /**
+     * @param {?} _scrollStrategy
+     * @return {?}
+     */
+    set _deprecatedScrollStrategy(_scrollStrategy) {
+        this.scrollStrategy = _scrollStrategy;
+    }
+    /**
+     * @deprecated
+     * \@deletion-target 6.0.0
+     * @return {?}
+     */
+    get _deprecatedOpen() { return this.open; }
+    /**
+     * @param {?} _open
+     * @return {?}
+     */
+    set _deprecatedOpen(_open) { this.open = _open; }
+    /**
+     * @deprecated
+     * \@deletion-target 6.0.0
+     * @return {?}
+     */
+    get _deprecatedHasBackdrop() { return this.hasBackdrop; }
+    /**
+     * @param {?} _hasBackdrop
+     * @return {?}
+     */
+    set _deprecatedHasBackdrop(_hasBackdrop) { this.hasBackdrop = _hasBackdrop; }
+    /**
+     * The associated overlay reference.
+     * @return {?}
+     */
+    get overlayRef() {
+        return this._overlayRef;
+    }
+    /**
+     * The element's layout direction.
+     * @return {?}
+     */
+    get dir() {
+        return this._dir ? this._dir.value : 'ltr';
+    }
+    /**
+     * @return {?}
+     */
+    ngOnDestroy() {
+        this._destroyOverlay();
+    }
+    /**
+     * @param {?} changes
+     * @return {?}
+     */
+    ngOnChanges(changes) {
+        if (this._position) {
+            if (changes['positions'] || changes['_deprecatedPositions']) {
+                this._position.withPositions(this.positions);
+            }
+            if (changes['origin'] || changes['_deprecatedOrigin']) {
+                this._position.setOrigin(this.origin.elementRef);
+                if (this.open) {
+                    this._position.apply();
+                }
+            }
+        }
+        if (changes['open'] || changes['_deprecatedOpen']) {
+            this.open ? this._attachOverlay() : this._detachOverlay();
+        }
+    }
+    /**
+     * Creates an overlay
+     * @return {?}
+     */
+    _createOverlay() {
+        if (!this.positions || !this.positions.length) {
+            this.positions = defaultPositionList;
+        }
+        this._overlayRef = this._overlay.create(this._buildConfig());
+    }
+    /**
+     * Builds the overlay config based on the directive's inputs
+     * @return {?}
+     */
+    _buildConfig() {
+        const /** @type {?} */ positionStrategy = this._position = this._createPositionStrategy();
+        const /** @type {?} */ overlayConfig = new OverlayConfig({
+            positionStrategy,
+            scrollStrategy: this.scrollStrategy,
+            hasBackdrop: this.hasBackdrop
+        });
+        if (this.width || this.width === 0) {
+            overlayConfig.width = this.width;
+        }
+        if (this.height || this.height === 0) {
+            overlayConfig.height = this.height;
+        }
+        if (this.minWidth || this.minWidth === 0) {
+            overlayConfig.minWidth = this.minWidth;
+        }
+        if (this.minHeight || this.minHeight === 0) {
+            overlayConfig.minHeight = this.minHeight;
+        }
+        if (this.backdropClass) {
+            overlayConfig.backdropClass = this.backdropClass;
+        }
+        return overlayConfig;
+    }
+    /**
+     * Returns the position strategy of the overlay to be set on the overlay config
+     * @return {?}
+     */
+    _createPositionStrategy() {
+        const /** @type {?} */ primaryPosition = this.positions[0];
+        const /** @type {?} */ originPoint = { originX: primaryPosition.originX, originY: primaryPosition.originY };
+        const /** @type {?} */ overlayPoint = { overlayX: primaryPosition.overlayX, overlayY: primaryPosition.overlayY };
+        const /** @type {?} */ strategy = this._overlay.position()
+            .connectedTo(this.origin.elementRef, originPoint, overlayPoint)
+            .withOffsetX(this.offsetX)
+            .withOffsetY(this.offsetY);
+        for (let /** @type {?} */ i = 1; i < this.positions.length; i++) {
+            strategy.withFallbackPosition({ originX: this.positions[i].originX, originY: this.positions[i].originY }, { overlayX: this.positions[i].overlayX, overlayY: this.positions[i].overlayY });
+        }
+        strategy.onPositionChange.subscribe(pos => this.positionChange.emit(pos));
+        return strategy;
+    }
+    /**
+     * Attaches the overlay and subscribes to backdrop clicks if backdrop exists
+     * @return {?}
+     */
+    _attachOverlay() {
+        if (!this._overlayRef) {
+            this._createOverlay(); /** @type {?} */
+            ((this._overlayRef)).keydownEvents().subscribe((event) => {
+                if (event.keyCode === ESCAPE) {
+                    this._detachOverlay();
+                }
+            });
+        }
+        this._position.withDirection(this.dir);
+        this._overlayRef.setDirection(this.dir);
+        if (!this._overlayRef.hasAttached()) {
+            this._overlayRef.attach(this._templatePortal);
+            this.attach.emit();
+        }
+        if (this.hasBackdrop) {
+            this._backdropSubscription = this._overlayRef.backdropClick().subscribe(() => {
+                this.backdropClick.emit();
+            });
+        }
+    }
+    /**
+     * Detaches the overlay and unsubscribes to backdrop clicks if backdrop exists
+     * @return {?}
+     */
+    _detachOverlay() {
+        if (this._overlayRef) {
+            this._overlayRef.detach();
+            this.detach.emit();
+        }
+        this._backdropSubscription.unsubscribe();
+    }
+    /**
+     * Destroys the overlay created by this directive.
+     * @return {?}
+     */
+    _destroyOverlay() {
+        if (this._overlayRef) {
+            this._overlayRef.dispose();
+        }
+        this._backdropSubscription.unsubscribe();
+    }
+}
+CdkConnectedOverlay.decorators = [
+    { type: Directive, args: [{
+                selector: '[cdk-connected-overlay], [connected-overlay], [cdkConnectedOverlay]',
+                exportAs: 'cdkConnectedOverlay'
+            },] },
+];
+/** @nocollapse */
+CdkConnectedOverlay.ctorParameters = () => [
+    { type: Overlay, },
+    { type: TemplateRef, },
+    { type: ViewContainerRef, },
+    { type: undefined, decorators: [{ type: Inject, args: [CDK_CONNECTED_OVERLAY_SCROLL_STRATEGY,] },] },
+    { type: Directionality, decorators: [{ type: Optional },] },
+];
+CdkConnectedOverlay.propDecorators = {
+    "origin": [{ type: Input, args: ['cdkConnectedOverlayOrigin',] },],
+    "positions": [{ type: Input, args: ['cdkConnectedOverlayPositions',] },],
+    "offsetX": [{ type: Input, args: ['cdkConnectedOverlayOffsetX',] },],
+    "offsetY": [{ type: Input, args: ['cdkConnectedOverlayOffsetY',] },],
+    "width": [{ type: Input, args: ['cdkConnectedOverlayWidth',] },],
+    "height": [{ type: Input, args: ['cdkConnectedOverlayHeight',] },],
+    "minWidth": [{ type: Input, args: ['cdkConnectedOverlayMinWidth',] },],
+    "minHeight": [{ type: Input, args: ['cdkConnectedOverlayMinHeight',] },],
+    "backdropClass": [{ type: Input, args: ['cdkConnectedOverlayBackdropClass',] },],
+    "scrollStrategy": [{ type: Input, args: ['cdkConnectedOverlayScrollStrategy',] },],
+    "open": [{ type: Input, args: ['cdkConnectedOverlayOpen',] },],
+    "hasBackdrop": [{ type: Input, args: ['cdkConnectedOverlayHasBackdrop',] },],
+    "_deprecatedOrigin": [{ type: Input, args: ['origin',] },],
+    "_deprecatedPositions": [{ type: Input, args: ['positions',] },],
+    "_deprecatedOffsetX": [{ type: Input, args: ['offsetX',] },],
+    "_deprecatedOffsetY": [{ type: Input, args: ['offsetY',] },],
+    "_deprecatedWidth": [{ type: Input, args: ['width',] },],
+    "_deprecatedHeight": [{ type: Input, args: ['height',] },],
+    "_deprecatedMinWidth": [{ type: Input, args: ['minWidth',] },],
+    "_deprecatedMinHeight": [{ type: Input, args: ['minHeight',] },],
+    "_deprecatedBackdropClass": [{ type: Input, args: ['backdropClass',] },],
+    "_deprecatedScrollStrategy": [{ type: Input, args: ['scrollStrategy',] },],
+    "_deprecatedOpen": [{ type: Input, args: ['open',] },],
+    "_deprecatedHasBackdrop": [{ type: Input, args: ['hasBackdrop',] },],
+    "backdropClick": [{ type: Output },],
+    "positionChange": [{ type: Output },],
+    "attach": [{ type: Output },],
+    "detach": [{ type: Output },],
+};
+
+/**
+ * @fileoverview added by tsickle
+ * @suppress {checkTypes} checked by tsc
+ */
+
+const OVERLAY_PROVIDERS = [
+    Overlay,
+    OverlayPositionBuilder,
+    OVERLAY_KEYBOARD_DISPATCHER_PROVIDER,
+    VIEWPORT_RULER_PROVIDER,
+    OVERLAY_CONTAINER_PROVIDER,
+    CDK_CONNECTED_OVERLAY_SCROLL_STRATEGY_PROVIDER,
+];
+class OverlayModule {
+}
+OverlayModule.decorators = [
+    { type: NgModule, args: [{
+                imports: [BidiModule, PortalModule, ScrollDispatchModule],
+                exports: [CdkConnectedOverlay, CdkOverlayOrigin, ScrollDispatchModule],
+                declarations: [CdkConnectedOverlay, CdkOverlayOrigin],
+                providers: [OVERLAY_PROVIDERS, ScrollStrategyOptions],
+            },] },
+];
+/** @nocollapse */
+OverlayModule.ctorParameters = () => [];
+
+/**
+ * @fileoverview added by tsickle
+ * @suppress {checkTypes} checked by tsc
+ */
+
+/**
+ * Alternative to OverlayContainer that supports correct displaying of overlay elements in
+ * Fullscreen mode
+ * https://developer.mozilla.org/en-US/docs/Web/API/Element/requestFullScreen
+ *
+ * Should be provided in the root component.
+ */
+class FullscreenOverlayContainer extends OverlayContainer {
+    /**
+     * @return {?}
+     */
+    _createContainer() {
+        super._createContainer();
+        this._adjustParentForFullscreenChange();
+        this._addFullscreenChangeListener(() => this._adjustParentForFullscreenChange());
+    }
+    /**
+     * @return {?}
+     */
+    _adjustParentForFullscreenChange() {
+        if (!this._containerElement) {
+            return;
+        }
+        let /** @type {?} */ fullscreenElement = this.getFullscreenElement();
+        let /** @type {?} */ parent = fullscreenElement || document.body;
+        parent.appendChild(this._containerElement);
+    }
+    /**
+     * @param {?} fn
+     * @return {?}
+     */
+    _addFullscreenChangeListener(fn) {
+        if (document.fullscreenEnabled) {
+            document.addEventListener('fullscreenchange', fn);
+        }
+        else if (document.webkitFullscreenEnabled) {
+            document.addEventListener('webkitfullscreenchange', fn);
+        }
+        else if ((/** @type {?} */ (document)).mozFullScreenEnabled) {
+            document.addEventListener('mozfullscreenchange', fn);
+        }
+        else if ((/** @type {?} */ (document)).msFullscreenEnabled) {
+            document.addEventListener('MSFullscreenChange', fn);
+        }
+    }
+    /**
+     * When the page is put into fullscreen mode, a specific element is specified.
+     * Only that element and its children are visible when in fullscreen mode.
+     * @return {?}
+     */
+    getFullscreenElement() {
+        return document.fullscreenElement ||
+            document.webkitFullscreenElement ||
+            (/** @type {?} */ (document)).mozFullScreenElement ||
+            (/** @type {?} */ (document)).msFullscreenElement ||
+            null;
+    }
+}
+FullscreenOverlayContainer.decorators = [
+    { type: Injectable },
+];
+/** @nocollapse */
+FullscreenOverlayContainer.ctorParameters = () => [];
+
+/**
+ * @fileoverview added by tsickle
+ * @suppress {checkTypes} checked by tsc
+ */
+
+/**
+ * @fileoverview added by tsickle
+ * @suppress {checkTypes} checked by tsc
+ */
+/**
+ * Generated bundle index. Do not edit.
+ */
+
+export { Overlay, OverlayContainer, CdkOverlayOrigin, CdkConnectedOverlay, FullscreenOverlayContainer, OverlayRef, ViewportRuler, OverlayKeyboardDispatcher, OverlayPositionBuilder, GlobalPositionStrategy, ConnectedPositionStrategy, VIEWPORT_RULER_PROVIDER, CdkConnectedOverlay as ConnectedOverlayDirective, CdkOverlayOrigin as OverlayOrigin, OverlayConfig, ConnectionPositionPair, ScrollingVisibility, ConnectedOverlayPositionChange, CdkScrollable, ScrollDispatcher, ScrollStrategyOptions, RepositionScrollStrategy, CloseScrollStrategy, NoopScrollStrategy, BlockScrollStrategy, OVERLAY_PROVIDERS, OverlayModule, OVERLAY_KEYBOARD_DISPATCHER_PROVIDER as ɵg, OVERLAY_KEYBOARD_DISPATCHER_PROVIDER_FACTORY as ɵf, OVERLAY_CONTAINER_PROVIDER as ɵb, OVERLAY_CONTAINER_PROVIDER_FACTORY as ɵa, CDK_CONNECTED_OVERLAY_SCROLL_STRATEGY as ɵc, CDK_CONNECTED_OVERLAY_SCROLL_STRATEGY_PROVIDER as ɵe, CDK_CONNECTED_OVERLAY_SCROLL_STRATEGY_PROVIDER_FACTORY as ɵd };
+//# sourceMappingURL=overlay.js.map


[19/59] [abbrv] [partial] nifi-fds git commit: update gh-pages

Posted by sc...@apache.org.
http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/eec354e6/node_modules/@angular/cdk/bundles/cdk-observers.umd.js
----------------------------------------------------------------------
diff --git a/node_modules/@angular/cdk/bundles/cdk-observers.umd.js b/node_modules/@angular/cdk/bundles/cdk-observers.umd.js
new file mode 100644
index 0000000..bad6972
--- /dev/null
+++ b/node_modules/@angular/cdk/bundles/cdk-observers.umd.js
@@ -0,0 +1,197 @@
+/**
+ * @license
+ * Copyright Google LLC All Rights Reserved.
+ *
+ * Use of this source code is governed by an MIT-style license that can be
+ * found in the LICENSE file at https://angular.io/license
+ */
+(function (global, factory) {
+	typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/core'), require('@angular/cdk/coercion'), require('rxjs/Subject'), require('rxjs/operators/debounceTime')) :
+	typeof define === 'function' && define.amd ? define(['exports', '@angular/core', '@angular/cdk/coercion', 'rxjs/Subject', 'rxjs/operators/debounceTime'], factory) :
+	(factory((global.ng = global.ng || {}, global.ng.cdk = global.ng.cdk || {}, global.ng.cdk.observers = global.ng.cdk.observers || {}),global.ng.core,global.ng.cdk.coercion,global.Rx,global.Rx.operators));
+}(this, (function (exports,_angular_core,_angular_cdk_coercion,rxjs_Subject,rxjs_operators_debounceTime) { 'use strict';
+
+/**
+ * @fileoverview added by tsickle
+ * @suppress {checkTypes} checked by tsc
+ */
+
+/**
+ * Factory that creates a new MutationObserver and allows us to stub it out in unit tests.
+ * \@docs-private
+ */
+var MutationObserverFactory = /** @class */ (function () {
+    function MutationObserverFactory() {
+    }
+    /**
+     * @param {?} callback
+     * @return {?}
+     */
+    MutationObserverFactory.prototype.create = /**
+     * @param {?} callback
+     * @return {?}
+     */
+    function (callback) {
+        return typeof MutationObserver === 'undefined' ? null : new MutationObserver(callback);
+    };
+    MutationObserverFactory.decorators = [
+        { type: _angular_core.Injectable },
+    ];
+    /** @nocollapse */
+    MutationObserverFactory.ctorParameters = function () { return []; };
+    return MutationObserverFactory;
+}());
+/**
+ * Directive that triggers a callback whenever the content of
+ * its associated element has changed.
+ */
+var CdkObserveContent = /** @class */ (function () {
+    function CdkObserveContent(_mutationObserverFactory, _elementRef, _ngZone) {
+        this._mutationObserverFactory = _mutationObserverFactory;
+        this._elementRef = _elementRef;
+        this._ngZone = _ngZone;
+        this._disabled = false;
+        /**
+         * Event emitted for each change in the element's content.
+         */
+        this.event = new _angular_core.EventEmitter();
+        /**
+         * Used for debouncing the emitted values to the observeContent event.
+         */
+        this._debouncer = new rxjs_Subject.Subject();
+    }
+    Object.defineProperty(CdkObserveContent.prototype, "disabled", {
+        get: /**
+         * Whether observing content is disabled. This option can be used
+         * to disconnect the underlying MutationObserver until it is needed.
+         * @return {?}
+         */
+        function () { return this._disabled; },
+        set: /**
+         * @param {?} value
+         * @return {?}
+         */
+        function (value) {
+            this._disabled = _angular_cdk_coercion.coerceBooleanProperty(value);
+        },
+        enumerable: true,
+        configurable: true
+    });
+    /**
+     * @return {?}
+     */
+    CdkObserveContent.prototype.ngAfterContentInit = /**
+     * @return {?}
+     */
+    function () {
+        var _this = this;
+        if (this.debounce > 0) {
+            this._ngZone.runOutsideAngular(function () {
+                _this._debouncer.pipe(rxjs_operators_debounceTime.debounceTime(_this.debounce))
+                    .subscribe(function (mutations) { return _this.event.emit(mutations); });
+            });
+        }
+        else {
+            this._debouncer.subscribe(function (mutations) { return _this.event.emit(mutations); });
+        }
+        this._observer = this._ngZone.runOutsideAngular(function () {
+            return _this._mutationObserverFactory.create(function (mutations) {
+                _this._debouncer.next(mutations);
+            });
+        });
+        if (!this.disabled) {
+            this._enable();
+        }
+    };
+    /**
+     * @param {?} changes
+     * @return {?}
+     */
+    CdkObserveContent.prototype.ngOnChanges = /**
+     * @param {?} changes
+     * @return {?}
+     */
+    function (changes) {
+        if (changes['disabled']) {
+            changes['disabled'].currentValue ? this._disable() : this._enable();
+        }
+    };
+    /**
+     * @return {?}
+     */
+    CdkObserveContent.prototype.ngOnDestroy = /**
+     * @return {?}
+     */
+    function () {
+        this._disable();
+        this._debouncer.complete();
+    };
+    /**
+     * @return {?}
+     */
+    CdkObserveContent.prototype._disable = /**
+     * @return {?}
+     */
+    function () {
+        if (this._observer) {
+            this._observer.disconnect();
+        }
+    };
+    /**
+     * @return {?}
+     */
+    CdkObserveContent.prototype._enable = /**
+     * @return {?}
+     */
+    function () {
+        if (this._observer) {
+            this._observer.observe(this._elementRef.nativeElement, {
+                characterData: true,
+                childList: true,
+                subtree: true
+            });
+        }
+    };
+    CdkObserveContent.decorators = [
+        { type: _angular_core.Directive, args: [{
+                    selector: '[cdkObserveContent]',
+                    exportAs: 'cdkObserveContent',
+                },] },
+    ];
+    /** @nocollapse */
+    CdkObserveContent.ctorParameters = function () { return [
+        { type: MutationObserverFactory, },
+        { type: _angular_core.ElementRef, },
+        { type: _angular_core.NgZone, },
+    ]; };
+    CdkObserveContent.propDecorators = {
+        "event": [{ type: _angular_core.Output, args: ['cdkObserveContent',] },],
+        "disabled": [{ type: _angular_core.Input, args: ['cdkObserveContentDisabled',] },],
+        "debounce": [{ type: _angular_core.Input },],
+    };
+    return CdkObserveContent;
+}());
+var ObserversModule = /** @class */ (function () {
+    function ObserversModule() {
+    }
+    ObserversModule.decorators = [
+        { type: _angular_core.NgModule, args: [{
+                    exports: [CdkObserveContent],
+                    declarations: [CdkObserveContent],
+                    providers: [MutationObserverFactory]
+                },] },
+    ];
+    /** @nocollapse */
+    ObserversModule.ctorParameters = function () { return []; };
+    return ObserversModule;
+}());
+
+exports.ObserveContent = CdkObserveContent;
+exports.MutationObserverFactory = MutationObserverFactory;
+exports.CdkObserveContent = CdkObserveContent;
+exports.ObserversModule = ObserversModule;
+
+Object.defineProperty(exports, '__esModule', { value: true });
+
+})));
+//# sourceMappingURL=cdk-observers.umd.js.map

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/eec354e6/node_modules/@angular/cdk/bundles/cdk-observers.umd.js.map
----------------------------------------------------------------------
diff --git a/node_modules/@angular/cdk/bundles/cdk-observers.umd.js.map b/node_modules/@angular/cdk/bundles/cdk-observers.umd.js.map
new file mode 100644
index 0000000..392793e
--- /dev/null
+++ b/node_modules/@angular/cdk/bundles/cdk-observers.umd.js.map
@@ -0,0 +1 @@
+{"version":3,"file":"cdk-observers.umd.js","sources":["../../src/cdk/observers/observe-content.ts"],"sourcesContent":["/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {\n  Directive,\n  ElementRef,\n  NgModule,\n  Output,\n  Input,\n  EventEmitter,\n  OnDestroy,\n  AfterContentInit,\n  Injectable,\n  NgZone,\n  OnChanges,\n  SimpleChanges,\n} from '@angular/core';\nimport {coerceBooleanProperty} from '@angular/cdk/coercion';\nimport {Subject} from 'rxjs/Subject';\nimport {debounceTime} from 'rxjs/operators/debounceTime';\n\n/**\n * Factory that creates a new MutationObserver and allows us to stub it out in unit tests.\n * @docs-private\n */\n@Injectable()\nexport class MutationObserverFactory {\n  create(callback: MutationCallback): MutationObserver | null {\n    return typeof MutationObserver === 'undefined' ? null
  : new MutationObserver(callback);\n  }\n}\n\n/**\n * Directive that triggers a callback whenever the content of\n * its associated element has changed.\n */\n@Directive({\n  selector: '[cdkObserveContent]',\n  exportAs: 'cdkObserveContent',\n})\nexport class CdkObserveContent implements AfterContentInit, OnChanges, OnDestroy {\n  private _observer: MutationObserver | null;\n  private _disabled = false;\n\n  /** Event emitted for each change in the element's content. */\n  @Output('cdkObserveContent') event = new EventEmitter<MutationRecord[]>();\n\n  /**\n   * Whether observing content is disabled. This option can be used\n   * to disconnect the underlying MutationObserver until it is needed.\n   */\n  @Input('cdkObserveContentDisabled')\n  get disabled() { return this._disabled; }\n  set disabled(value: any) {\n    this._disabled = coerceBooleanProperty(value);\n  }\n\n  /** Used for debouncing the emitted values to the observeContent event. */\n  private _debouncer = new Subject<
 MutationRecord[]>();\n\n  /** Debounce interval for emitting the changes. */\n  @Input() debounce: number;\n\n  constructor(\n    private _mutationObserverFactory: MutationObserverFactory,\n    private _elementRef: ElementRef,\n    private _ngZone: NgZone) { }\n\n  ngAfterContentInit() {\n    if (this.debounce > 0) {\n      this._ngZone.runOutsideAngular(() => {\n        this._debouncer.pipe(debounceTime(this.debounce))\n            .subscribe((mutations: MutationRecord[]) => this.event.emit(mutations));\n      });\n    } else {\n      this._debouncer.subscribe(mutations => this.event.emit(mutations));\n    }\n\n    this._observer = this._ngZone.runOutsideAngular(() => {\n      return this._mutationObserverFactory.create((mutations: MutationRecord[]) => {\n        this._debouncer.next(mutations);\n      });\n    });\n\n    if (!this.disabled) {\n      this._enable();\n    }\n  }\n\n  ngOnChanges(changes: SimpleChanges) {\n    if (changes['disabled']) {\n      changes['disabled'].cur
 rentValue ? this._disable() : this._enable();\n    }\n  }\n\n  ngOnDestroy() {\n    this._disable();\n    this._debouncer.complete();\n  }\n\n  private _disable() {\n    if (this._observer) {\n      this._observer.disconnect();\n    }\n  }\n\n  private _enable() {\n    if (this._observer) {\n      this._observer.observe(this._elementRef.nativeElement, {\n        characterData: true,\n        childList: true,\n        subtree: true\n      });\n    }\n  }\n}\n\n\n@NgModule({\n  exports: [CdkObserveContent],\n  declarations: [CdkObserveContent],\n  providers: [MutationObserverFactory]\n})\nexport class ObserversModule {}\n"],"names":["NgModule","Input","Output","NgZone","ElementRef","Directive","debounceTime","coerceBooleanProperty","Subject","EventEmitter","Injectable"],"mappings":"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"}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/eec354e6/node_modules/@angular/cdk/bundles/cdk-observers.umd.min.js
----------------------------------------------------------------------
diff --git a/node_modules/@angular/cdk/bundles/cdk-observers.umd.min.js b/node_modules/@angular/cdk/bundles/cdk-observers.umd.min.js
new file mode 100644
index 0000000..a77883e
--- /dev/null
+++ b/node_modules/@angular/cdk/bundles/cdk-observers.umd.min.js
@@ -0,0 +1,9 @@
+/**
+ * @license
+ * Copyright Google LLC All Rights Reserved.
+ *
+ * Use of this source code is governed by an MIT-style license that can be
+ * found in the LICENSE file at https://angular.io/license
+ */
+!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@angular/core"),require("@angular/cdk/coercion"),require("rxjs/Subject"),require("rxjs/operators/debounceTime")):"function"==typeof define&&define.amd?define(["exports","@angular/core","@angular/cdk/coercion","rxjs/Subject","rxjs/operators/debounceTime"],t):t((e.ng=e.ng||{},e.ng.cdk=e.ng.cdk||{},e.ng.cdk.observers=e.ng.cdk.observers||{}),e.ng.core,e.ng.cdk.coercion,e.Rx,e.Rx.operators)}(this,function(e,t,n,r,o){"use strict";var i=function(){function e(){}return e.prototype.create=function(e){return"undefined"==typeof MutationObserver?null:new MutationObserver(e)},e.decorators=[{type:t.Injectable}],e.ctorParameters=function(){return[]},e}(),s=function(){function e(e,n,o){this._mutationObserverFactory=e,this._elementRef=n,this._ngZone=o,this._disabled=!1,this.event=new t.EventEmitter,this._debouncer=new r.Subject}return Object.defineProperty(e.prototype,"disabled",{get:function(){return this._disabl
 ed},set:function(e){this._disabled=n.coerceBooleanProperty(e)},enumerable:!0,configurable:!0}),e.prototype.ngAfterContentInit=function(){var e=this;this.debounce>0?this._ngZone.runOutsideAngular(function(){e._debouncer.pipe(o.debounceTime(e.debounce)).subscribe(function(t){return e.event.emit(t)})}):this._debouncer.subscribe(function(t){return e.event.emit(t)}),this._observer=this._ngZone.runOutsideAngular(function(){return e._mutationObserverFactory.create(function(t){e._debouncer.next(t)})}),this.disabled||this._enable()},e.prototype.ngOnChanges=function(e){e.disabled&&(e.disabled.currentValue?this._disable():this._enable())},e.prototype.ngOnDestroy=function(){this._disable(),this._debouncer.complete()},e.prototype._disable=function(){this._observer&&this._observer.disconnect()},e.prototype._enable=function(){this._observer&&this._observer.observe(this._elementRef.nativeElement,{characterData:!0,childList:!0,subtree:!0})},e.decorators=[{type:t.Directive,args:[{selector:"[cdkObserv
 eContent]",exportAs:"cdkObserveContent"}]}],e.ctorParameters=function(){return[{type:i},{type:t.ElementRef},{type:t.NgZone}]},e.propDecorators={event:[{type:t.Output,args:["cdkObserveContent"]}],disabled:[{type:t.Input,args:["cdkObserveContentDisabled"]}],debounce:[{type:t.Input}]},e}(),c=function(){function e(){}return e.decorators=[{type:t.NgModule,args:[{exports:[s],declarations:[s],providers:[i]}]}],e.ctorParameters=function(){return[]},e}();e.ObserveContent=s,e.MutationObserverFactory=i,e.CdkObserveContent=s,e.ObserversModule=c,Object.defineProperty(e,"__esModule",{value:!0})});
+//# sourceMappingURL=cdk-observers.umd.min.js.map

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/eec354e6/node_modules/@angular/cdk/bundles/cdk-observers.umd.min.js.map
----------------------------------------------------------------------
diff --git a/node_modules/@angular/cdk/bundles/cdk-observers.umd.min.js.map b/node_modules/@angular/cdk/bundles/cdk-observers.umd.min.js.map
new file mode 100644
index 0000000..e522f15
--- /dev/null
+++ b/node_modules/@angular/cdk/bundles/cdk-observers.umd.min.js.map
@@ -0,0 +1 @@
+{"version":3,"file":"cdk-observers.umd.min.js","sources":["../../src/cdk/observers/observe-content.ts"],"sourcesContent":["/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {\n  Directive,\n  ElementRef,\n  NgModule,\n  Output,\n  Input,\n  EventEmitter,\n  OnDestroy,\n  AfterContentInit,\n  Injectable,\n  NgZone,\n  OnChanges,\n  SimpleChanges,\n} from '@angular/core';\nimport {coerceBooleanProperty} from '@angular/cdk/coercion';\nimport {Subject} from 'rxjs/Subject';\nimport {debounceTime} from 'rxjs/operators/debounceTime';\n\n/**\n * Factory that creates a new MutationObserver and allows us to stub it out in unit tests.\n * @docs-private\n */\n@Injectable()\nexport class MutationObserverFactory {\n  create(callback: MutationCallback): MutationObserver | null {\n    return typeof MutationObserver === 'undefined' ? 
 null : new MutationObserver(callback);\n  }\n}\n\n/**\n * Directive that triggers a callback whenever the content of\n * its associated element has changed.\n */\n@Directive({\n  selector: '[cdkObserveContent]',\n  exportAs: 'cdkObserveContent',\n})\nexport class CdkObserveContent implements AfterContentInit, OnChanges, OnDestroy {\n  private _observer: MutationObserver | null;\n  private _disabled = false;\n\n  /** Event emitted for each change in the element's content. */\n  @Output('cdkObserveContent') event = new EventEmitter<MutationRecord[]>();\n\n  /**\n   * Whether observing content is disabled. This option can be used\n   * to disconnect the underlying MutationObserver until it is needed.\n   */\n  @Input('cdkObserveContentDisabled')\n  get disabled() { return this._disabled; }\n  set disabled(value: any) {\n    this._disabled = coerceBooleanProperty(value);\n  }\n\n  /** Used for debouncing the emitted values to the observeContent event. */\n  private _debouncer = new Subj
 ect<MutationRecord[]>();\n\n  /** Debounce interval for emitting the changes. */\n  @Input() debounce: number;\n\n  constructor(\n    private _mutationObserverFactory: MutationObserverFactory,\n    private _elementRef: ElementRef,\n    private _ngZone: NgZone) { }\n\n  ngAfterContentInit() {\n    if (this.debounce > 0) {\n      this._ngZone.runOutsideAngular(() => {\n        this._debouncer.pipe(debounceTime(this.debounce))\n            .subscribe((mutations: MutationRecord[]) => this.event.emit(mutations));\n      });\n    } else {\n      this._debouncer.subscribe(mutations => this.event.emit(mutations));\n    }\n\n    this._observer = this._ngZone.runOutsideAngular(() => {\n      return this._mutationObserverFactory.create((mutations: MutationRecord[]) => {\n        this._debouncer.next(mutations);\n      });\n    });\n\n    if (!this.disabled) {\n      this._enable();\n    }\n  }\n\n  ngOnChanges(changes: SimpleChanges) {\n    if (changes['disabled']) {\n      changes['disabled']
 .currentValue ? this._disable() : this._enable();\n    }\n  }\n\n  ngOnDestroy() {\n    this._disable();\n    this._debouncer.complete();\n  }\n\n  private _disable() {\n    if (this._observer) {\n      this._observer.disconnect();\n    }\n  }\n\n  private _enable() {\n    if (this._observer) {\n      this._observer.observe(this._elementRef.nativeElement, {\n        characterData: true,\n        childList: true,\n        subtree: true\n      });\n    }\n  }\n}\n\n\n@NgModule({\n  exports: [CdkObserveContent],\n  declarations: [CdkObserveContent],\n  providers: [MutationObserverFactory]\n})\nexport class ObserversModule {}\n"],"names":["MutationObserverFactory","prototype","create","callback","MutationObserver","type","Injectable","CdkObserveContent","_mutationObserverFactory","_elementRef","_ngZone","this","_disabled","event","EventEmitter","_debouncer","Subject","Object","defineProperty","value","coerceBooleanProperty","ngAfterContentInit","_this","debounce","runOutsideAngular","pi
 pe","debounceTime","subscribe","mutations","emit","_observer","next","disabled","_enable","ngOnChanges","changes","currentValue","_disable","ngOnDestroy","complete","disconnect","observe","nativeElement","characterData","childList","subtree","Directive","args","selector","exportAs","ElementRef","NgZone","Output","Input","ObserversModule","NgModule","exports","declarations","providers"],"mappings":";;;;;;;kiBAAA,MAgCEA,GAAFC,UAAAC,OAAE,SAAOC,GACL,MAAmC,mBAArBC,kBAAmC,KAAO,GAAIA,kBAAiBD,mBAHjFE,KAACC,EAAAA,mDA9BDN,kBAoEE,QAAFO,GACYC,EACAC,EACAC,GAFAC,KAAZH,yBAAYA,EACAG,KAAZF,YAAYA,EACAE,KAAZD,QAAYA,EAxBZC,KAAAC,WAAsB,EAGtBD,KAAAE,MAAuC,GAAIC,GAAAA,aAa3CH,KAAAI,WAAuB,GAAIC,GAAAA,QA/D3B,MAyDAC,QAAAC,eAAMX,EAANN,UAAA,gBAAA,WAAmB,MAAOU,MAAKC,eAC7B,SAAaO,GACXR,KAAKC,UAAYQ,EAAAA,sBAAsBD,oCAczCZ,EAAFN,UAAAoB,mBAAE,WAAA,GAAFC,GAAAX,IACQA,MAAKY,SAAW,EAClBZ,KAAKD,QAAQc,kBAAkB,WAC7BF,EAAKP,WAAWU,KAAKC,EAAAA,aAAaJ,EAAKC,WAClCI,UAAU,SAACC,GAAgC,MAAAN,GAAKT,MAAMgB,KAAKD,OAGlEjB,KAAKI,WAAWY,UAAU,SAA
 AC,GAAa,MAAAN,GAAKT,MAAMgB,KAAKD,KAGzDjB,KAAKmB,UAAYnB,KAAKD,QAAQc,kBAAkB,WAC9C,MAAOF,GAAKd,yBAAyBN,OAAO,SAAC0B,GAC3CN,EAAKP,WAAWgB,KAAKH,OAIpBjB,KAAKqB,UACRrB,KAAKsB,WAIT1B,EAAFN,UAAAiC,YAAE,SAAYC,GACNA,EAAkB,WACpBA,EAAkB,SAAEC,aAAezB,KAAK0B,WAAa1B,KAAKsB,YAI9D1B,EAAFN,UAAAqC,YAAE,WACE3B,KAAK0B,WACL1B,KAAKI,WAAWwB,YAGVhC,EAAVN,UAAAoC,oBACQ1B,KAAKmB,WACPnB,KAAKmB,UAAUU,cAIXjC,EAAVN,UAAAgC,mBACQtB,KAAKmB,WACPnB,KAAKmB,UAAUW,QAAQ9B,KAAKF,YAAYiC,eACtCC,eAAe,EACfC,WAAW,EACXC,SAAS,oBA3EjBxC,KAACyC,EAAAA,UAADC,OACEC,SAAU,sBACVC,SAAU,4DAZZ5C,KAAaL,IArBbK,KAAE6C,EAAAA,aAQF7C,KAAE8C,EAAAA,4BAgCFtC,QAAAR,KAAG+C,EAAAA,OAAHL,MAAU,uBAMVf,WAAA3B,KAAGgD,EAAAA,MAAHN,MAAS,+BAUTxB,WAAAlB,KAAGgD,EAAAA,SAlEH9C,KA6CA+C,EAAA,yBA7CA,sBA2HAjD,KAACkD,EAAAA,SAADR,OACES,SAAUjD,GACVkD,cAAelD,GACfmD,WAAY1D,6CA9HdsD"}
\ No newline at end of file


[12/59] [abbrv] [partial] nifi-fds git commit: update gh-pages

Posted by sc...@apache.org.
http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/eec354e6/node_modules/@angular/cdk/bundles/cdk-scrolling.umd.js
----------------------------------------------------------------------
diff --git a/node_modules/@angular/cdk/bundles/cdk-scrolling.umd.js b/node_modules/@angular/cdk/bundles/cdk-scrolling.umd.js
new file mode 100644
index 0000000..9c601f6
--- /dev/null
+++ b/node_modules/@angular/cdk/bundles/cdk-scrolling.umd.js
@@ -0,0 +1,562 @@
+/**
+ * @license
+ * Copyright Google LLC All Rights Reserved.
+ *
+ * Use of this source code is governed by an MIT-style license that can be
+ * found in the LICENSE file at https://angular.io/license
+ */
+(function (global, factory) {
+	typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/core'), require('@angular/cdk/platform'), require('rxjs/Subject'), require('rxjs/Observable'), require('rxjs/observable/of'), require('rxjs/observable/fromEvent'), require('rxjs/operators/auditTime'), require('rxjs/operators/filter'), require('rxjs/observable/merge')) :
+	typeof define === 'function' && define.amd ? define(['exports', '@angular/core', '@angular/cdk/platform', 'rxjs/Subject', 'rxjs/Observable', 'rxjs/observable/of', 'rxjs/observable/fromEvent', 'rxjs/operators/auditTime', 'rxjs/operators/filter', 'rxjs/observable/merge'], factory) :
+	(factory((global.ng = global.ng || {}, global.ng.cdk = global.ng.cdk || {}, global.ng.cdk.scrolling = global.ng.cdk.scrolling || {}),global.ng.core,global.ng.cdk.platform,global.Rx,global.Rx,global.Rx.Observable,global.Rx.Observable,global.Rx.operators,global.Rx.operators,global.Rx.Observable));
+}(this, (function (exports,_angular_core,_angular_cdk_platform,rxjs_Subject,rxjs_Observable,rxjs_observable_of,rxjs_observable_fromEvent,rxjs_operators_auditTime,rxjs_operators_filter,rxjs_observable_merge) { 'use strict';
+
+/**
+ * @fileoverview added by tsickle
+ * @suppress {checkTypes} checked by tsc
+ */
+
+/**
+ * Time in ms to throttle the scrolling events by default.
+ */
+var DEFAULT_SCROLL_TIME = 20;
+/**
+ * Service contained all registered Scrollable references and emits an event when any one of the
+ * Scrollable references emit a scrolled event.
+ */
+var ScrollDispatcher = /** @class */ (function () {
+    function ScrollDispatcher(_ngZone, _platform) {
+        this._ngZone = _ngZone;
+        this._platform = _platform;
+        /**
+         * Subject for notifying that a registered scrollable reference element has been scrolled.
+         */
+        this._scrolled = new rxjs_Subject.Subject();
+        /**
+         * Keeps track of the global `scroll` and `resize` subscriptions.
+         */
+        this._globalSubscription = null;
+        /**
+         * Keeps track of the amount of subscriptions to `scrolled`. Used for cleaning up afterwards.
+         */
+        this._scrolledCount = 0;
+        /**
+         * Map of all the scrollable references that are registered with the service and their
+         * scroll event subscriptions.
+         */
+        this.scrollContainers = new Map();
+    }
+    /**
+     * Registers a scrollable instance with the service and listens for its scrolled events. When the
+     * scrollable is scrolled, the service emits the event to its scrolled observable.
+     * @param scrollable Scrollable instance to be registered.
+     */
+    /**
+     * Registers a scrollable instance with the service and listens for its scrolled events. When the
+     * scrollable is scrolled, the service emits the event to its scrolled observable.
+     * @param {?} scrollable Scrollable instance to be registered.
+     * @return {?}
+     */
+    ScrollDispatcher.prototype.register = /**
+     * Registers a scrollable instance with the service and listens for its scrolled events. When the
+     * scrollable is scrolled, the service emits the event to its scrolled observable.
+     * @param {?} scrollable Scrollable instance to be registered.
+     * @return {?}
+     */
+    function (scrollable) {
+        var _this = this;
+        var /** @type {?} */ scrollSubscription = scrollable.elementScrolled()
+            .subscribe(function () { return _this._scrolled.next(scrollable); });
+        this.scrollContainers.set(scrollable, scrollSubscription);
+    };
+    /**
+     * Deregisters a Scrollable reference and unsubscribes from its scroll event observable.
+     * @param scrollable Scrollable instance to be deregistered.
+     */
+    /**
+     * Deregisters a Scrollable reference and unsubscribes from its scroll event observable.
+     * @param {?} scrollable Scrollable instance to be deregistered.
+     * @return {?}
+     */
+    ScrollDispatcher.prototype.deregister = /**
+     * Deregisters a Scrollable reference and unsubscribes from its scroll event observable.
+     * @param {?} scrollable Scrollable instance to be deregistered.
+     * @return {?}
+     */
+    function (scrollable) {
+        var /** @type {?} */ scrollableReference = this.scrollContainers.get(scrollable);
+        if (scrollableReference) {
+            scrollableReference.unsubscribe();
+            this.scrollContainers.delete(scrollable);
+        }
+    };
+    /**
+     * Returns an observable that emits an event whenever any of the registered Scrollable
+     * references (or window, document, or body) fire a scrolled event. Can provide a time in ms
+     * to override the default "throttle" time.
+     *
+     * **Note:** in order to avoid hitting change detection for every scroll event,
+     * all of the events emitted from this stream will be run outside the Angular zone.
+     * If you need to update any data bindings as a result of a scroll event, you have
+     * to run the callback using `NgZone.run`.
+     */
+    /**
+     * Returns an observable that emits an event whenever any of the registered Scrollable
+     * references (or window, document, or body) fire a scrolled event. Can provide a time in ms
+     * to override the default "throttle" time.
+     *
+     * **Note:** in order to avoid hitting change detection for every scroll event,
+     * all of the events emitted from this stream will be run outside the Angular zone.
+     * If you need to update any data bindings as a result of a scroll event, you have
+     * to run the callback using `NgZone.run`.
+     * @param {?=} auditTimeInMs
+     * @return {?}
+     */
+    ScrollDispatcher.prototype.scrolled = /**
+     * Returns an observable that emits an event whenever any of the registered Scrollable
+     * references (or window, document, or body) fire a scrolled event. Can provide a time in ms
+     * to override the default "throttle" time.
+     *
+     * **Note:** in order to avoid hitting change detection for every scroll event,
+     * all of the events emitted from this stream will be run outside the Angular zone.
+     * If you need to update any data bindings as a result of a scroll event, you have
+     * to run the callback using `NgZone.run`.
+     * @param {?=} auditTimeInMs
+     * @return {?}
+     */
+    function (auditTimeInMs) {
+        var _this = this;
+        if (auditTimeInMs === void 0) { auditTimeInMs = DEFAULT_SCROLL_TIME; }
+        return this._platform.isBrowser ? rxjs_Observable.Observable.create(function (observer) {
+            if (!_this._globalSubscription) {
+                _this._addGlobalListener();
+            }
+            // In the case of a 0ms delay, use an observable without auditTime
+            // since it does add a perceptible delay in processing overhead.
+            var /** @type {?} */ subscription = auditTimeInMs > 0 ?
+                _this._scrolled.pipe(rxjs_operators_auditTime.auditTime(auditTimeInMs)).subscribe(observer) :
+                _this._scrolled.subscribe(observer);
+            _this._scrolledCount++;
+            return function () {
+                subscription.unsubscribe();
+                _this._scrolledCount--;
+                if (!_this._scrolledCount) {
+                    _this._removeGlobalListener();
+                }
+            };
+        }) : rxjs_observable_of.of();
+    };
+    /**
+     * @return {?}
+     */
+    ScrollDispatcher.prototype.ngOnDestroy = /**
+     * @return {?}
+     */
+    function () {
+        var _this = this;
+        this._removeGlobalListener();
+        this.scrollContainers.forEach(function (_, container) { return _this.deregister(container); });
+    };
+    /**
+     * Returns an observable that emits whenever any of the
+     * scrollable ancestors of an element are scrolled.
+     * @param elementRef Element whose ancestors to listen for.
+     * @param auditTimeInMs Time to throttle the scroll events.
+     */
+    /**
+     * Returns an observable that emits whenever any of the
+     * scrollable ancestors of an element are scrolled.
+     * @param {?} elementRef Element whose ancestors to listen for.
+     * @param {?=} auditTimeInMs Time to throttle the scroll events.
+     * @return {?}
+     */
+    ScrollDispatcher.prototype.ancestorScrolled = /**
+     * Returns an observable that emits whenever any of the
+     * scrollable ancestors of an element are scrolled.
+     * @param {?} elementRef Element whose ancestors to listen for.
+     * @param {?=} auditTimeInMs Time to throttle the scroll events.
+     * @return {?}
+     */
+    function (elementRef, auditTimeInMs) {
+        var /** @type {?} */ ancestors = this.getAncestorScrollContainers(elementRef);
+        return this.scrolled(auditTimeInMs).pipe(rxjs_operators_filter.filter(function (target) {
+            return !target || ancestors.indexOf(target) > -1;
+        }));
+    };
+    /** Returns all registered Scrollables that contain the provided element. */
+    /**
+     * Returns all registered Scrollables that contain the provided element.
+     * @param {?} elementRef
+     * @return {?}
+     */
+    ScrollDispatcher.prototype.getAncestorScrollContainers = /**
+     * Returns all registered Scrollables that contain the provided element.
+     * @param {?} elementRef
+     * @return {?}
+     */
+    function (elementRef) {
+        var _this = this;
+        var /** @type {?} */ scrollingContainers = [];
+        this.scrollContainers.forEach(function (_subscription, scrollable) {
+            if (_this._scrollableContainsElement(scrollable, elementRef)) {
+                scrollingContainers.push(scrollable);
+            }
+        });
+        return scrollingContainers;
+    };
+    /**
+     * Returns true if the element is contained within the provided Scrollable.
+     * @param {?} scrollable
+     * @param {?} elementRef
+     * @return {?}
+     */
+    ScrollDispatcher.prototype._scrollableContainsElement = /**
+     * Returns true if the element is contained within the provided Scrollable.
+     * @param {?} scrollable
+     * @param {?} elementRef
+     * @return {?}
+     */
+    function (scrollable, elementRef) {
+        var /** @type {?} */ element = elementRef.nativeElement;
+        var /** @type {?} */ scrollableElement = scrollable.getElementRef().nativeElement;
+        // Traverse through the element parents until we reach null, checking if any of the elements
+        // are the scrollable's element.
+        do {
+            if (element == scrollableElement) {
+                return true;
+            }
+        } while (element = element.parentElement);
+        return false;
+    };
+    /**
+     * Sets up the global scroll listeners.
+     * @return {?}
+     */
+    ScrollDispatcher.prototype._addGlobalListener = /**
+     * Sets up the global scroll listeners.
+     * @return {?}
+     */
+    function () {
+        var _this = this;
+        this._globalSubscription = this._ngZone.runOutsideAngular(function () {
+            return rxjs_observable_fromEvent.fromEvent(window.document, 'scroll').subscribe(function () { return _this._scrolled.next(); });
+        });
+    };
+    /**
+     * Cleans up the global scroll listener.
+     * @return {?}
+     */
+    ScrollDispatcher.prototype._removeGlobalListener = /**
+     * Cleans up the global scroll listener.
+     * @return {?}
+     */
+    function () {
+        if (this._globalSubscription) {
+            this._globalSubscription.unsubscribe();
+            this._globalSubscription = null;
+        }
+    };
+    ScrollDispatcher.decorators = [
+        { type: _angular_core.Injectable },
+    ];
+    /** @nocollapse */
+    ScrollDispatcher.ctorParameters = function () { return [
+        { type: _angular_core.NgZone, },
+        { type: _angular_cdk_platform.Platform, },
+    ]; };
+    return ScrollDispatcher;
+}());
+/**
+ * \@docs-private
+ * @param {?} parentDispatcher
+ * @param {?} ngZone
+ * @param {?} platform
+ * @return {?}
+ */
+function SCROLL_DISPATCHER_PROVIDER_FACTORY(parentDispatcher, ngZone, platform) {
+    return parentDispatcher || new ScrollDispatcher(ngZone, platform);
+}
+/**
+ * \@docs-private
+ */
+var SCROLL_DISPATCHER_PROVIDER = {
+    // If there is already a ScrollDispatcher available, use that. Otherwise, provide a new one.
+    provide: ScrollDispatcher,
+    deps: [[new _angular_core.Optional(), new _angular_core.SkipSelf(), ScrollDispatcher], _angular_core.NgZone, _angular_cdk_platform.Platform],
+    useFactory: SCROLL_DISPATCHER_PROVIDER_FACTORY
+};
+
+/**
+ * @fileoverview added by tsickle
+ * @suppress {checkTypes} checked by tsc
+ */
+
+/**
+ * Sends an event when the directive's element is scrolled. Registers itself with the
+ * ScrollDispatcher service to include itself as part of its collection of scrolling events that it
+ * can be listened to through the service.
+ */
+var CdkScrollable = /** @class */ (function () {
+    function CdkScrollable(_elementRef, _scroll, _ngZone) {
+        var _this = this;
+        this._elementRef = _elementRef;
+        this._scroll = _scroll;
+        this._ngZone = _ngZone;
+        this._elementScrolled = new rxjs_Subject.Subject();
+        this._scrollListener = function (event) { return _this._elementScrolled.next(event); };
+    }
+    /**
+     * @return {?}
+     */
+    CdkScrollable.prototype.ngOnInit = /**
+     * @return {?}
+     */
+    function () {
+        var _this = this;
+        this._ngZone.runOutsideAngular(function () {
+            _this.getElementRef().nativeElement.addEventListener('scroll', _this._scrollListener);
+        });
+        this._scroll.register(this);
+    };
+    /**
+     * @return {?}
+     */
+    CdkScrollable.prototype.ngOnDestroy = /**
+     * @return {?}
+     */
+    function () {
+        this._scroll.deregister(this);
+        if (this._scrollListener) {
+            this.getElementRef().nativeElement.removeEventListener('scroll', this._scrollListener);
+        }
+    };
+    /**
+     * Returns observable that emits when a scroll event is fired on the host element.
+     */
+    /**
+     * Returns observable that emits when a scroll event is fired on the host element.
+     * @return {?}
+     */
+    CdkScrollable.prototype.elementScrolled = /**
+     * Returns observable that emits when a scroll event is fired on the host element.
+     * @return {?}
+     */
+    function () {
+        return this._elementScrolled.asObservable();
+    };
+    /**
+     * @return {?}
+     */
+    CdkScrollable.prototype.getElementRef = /**
+     * @return {?}
+     */
+    function () {
+        return this._elementRef;
+    };
+    CdkScrollable.decorators = [
+        { type: _angular_core.Directive, args: [{
+                    selector: '[cdk-scrollable], [cdkScrollable]'
+                },] },
+    ];
+    /** @nocollapse */
+    CdkScrollable.ctorParameters = function () { return [
+        { type: _angular_core.ElementRef, },
+        { type: ScrollDispatcher, },
+        { type: _angular_core.NgZone, },
+    ]; };
+    return CdkScrollable;
+}());
+
+/**
+ * @fileoverview added by tsickle
+ * @suppress {checkTypes} checked by tsc
+ */
+
+/**
+ * Time in ms to throttle the resize events by default.
+ */
+var DEFAULT_RESIZE_TIME = 20;
+/**
+ * Simple utility for getting the bounds of the browser viewport.
+ * \@docs-private
+ */
+var ViewportRuler = /** @class */ (function () {
+    function ViewportRuler(platform, ngZone) {
+        var _this = this;
+        this._change = platform.isBrowser ? ngZone.runOutsideAngular(function () {
+            return rxjs_observable_merge.merge(rxjs_observable_fromEvent.fromEvent(window, 'resize'), rxjs_observable_fromEvent.fromEvent(window, 'orientationchange'));
+        }) : rxjs_observable_of.of();
+        this._invalidateCache = this.change().subscribe(function () { return _this._updateViewportSize(); });
+    }
+    /**
+     * @return {?}
+     */
+    ViewportRuler.prototype.ngOnDestroy = /**
+     * @return {?}
+     */
+    function () {
+        this._invalidateCache.unsubscribe();
+    };
+    /** Returns the viewport's width and height. */
+    /**
+     * Returns the viewport's width and height.
+     * @return {?}
+     */
+    ViewportRuler.prototype.getViewportSize = /**
+     * Returns the viewport's width and height.
+     * @return {?}
+     */
+    function () {
+        if (!this._viewportSize) {
+            this._updateViewportSize();
+        }
+        return { width: this._viewportSize.width, height: this._viewportSize.height };
+    };
+    /** Gets a ClientRect for the viewport's bounds. */
+    /**
+     * Gets a ClientRect for the viewport's bounds.
+     * @return {?}
+     */
+    ViewportRuler.prototype.getViewportRect = /**
+     * Gets a ClientRect for the viewport's bounds.
+     * @return {?}
+     */
+    function () {
+        // Use the document element's bounding rect rather than the window scroll properties
+        // (e.g. pageYOffset, scrollY) due to in issue in Chrome and IE where window scroll
+        // properties and client coordinates (boundingClientRect, clientX/Y, etc.) are in different
+        // conceptual viewports. Under most circumstances these viewports are equivalent, but they
+        // can disagree when the page is pinch-zoomed (on devices that support touch).
+        // See https://bugs.chromium.org/p/chromium/issues/detail?id=489206#c4
+        // We use the documentElement instead of the body because, by default (without a css reset)
+        // browsers typically give the document body an 8px margin, which is not included in
+        // getBoundingClientRect().
+        var /** @type {?} */ scrollPosition = this.getViewportScrollPosition();
+        var _a = this.getViewportSize(), width = _a.width, height = _a.height;
+        return {
+            top: scrollPosition.top,
+            left: scrollPosition.left,
+            bottom: scrollPosition.top + height,
+            right: scrollPosition.left + width,
+            height: height,
+            width: width,
+        };
+    };
+    /** Gets the (top, left) scroll position of the viewport. */
+    /**
+     * Gets the (top, left) scroll position of the viewport.
+     * @return {?}
+     */
+    ViewportRuler.prototype.getViewportScrollPosition = /**
+     * Gets the (top, left) scroll position of the viewport.
+     * @return {?}
+     */
+    function () {
+        // The top-left-corner of the viewport is determined by the scroll position of the document
+        // body, normally just (scrollLeft, scrollTop). However, Chrome and Firefox disagree about
+        // whether `document.body` or `document.documentElement` is the scrolled element, so reading
+        // `scrollTop` and `scrollLeft` is inconsistent. However, using the bounding rect of
+        // `document.documentElement` works consistently, where the `top` and `left` values will
+        // equal negative the scroll position.
+        var /** @type {?} */ documentRect = document.documentElement.getBoundingClientRect();
+        var /** @type {?} */ top = -documentRect.top || document.body.scrollTop || window.scrollY ||
+            document.documentElement.scrollTop || 0;
+        var /** @type {?} */ left = -documentRect.left || document.body.scrollLeft || window.scrollX ||
+            document.documentElement.scrollLeft || 0;
+        return { top: top, left: left };
+    };
+    /**
+     * Returns a stream that emits whenever the size of the viewport changes.
+     * @param throttle Time in milliseconds to throttle the stream.
+     */
+    /**
+     * Returns a stream that emits whenever the size of the viewport changes.
+     * @param {?=} throttleTime
+     * @return {?}
+     */
+    ViewportRuler.prototype.change = /**
+     * Returns a stream that emits whenever the size of the viewport changes.
+     * @param {?=} throttleTime
+     * @return {?}
+     */
+    function (throttleTime) {
+        if (throttleTime === void 0) { throttleTime = DEFAULT_RESIZE_TIME; }
+        return throttleTime > 0 ? this._change.pipe(rxjs_operators_auditTime.auditTime(throttleTime)) : this._change;
+    };
+    /**
+     * Updates the cached viewport size.
+     * @return {?}
+     */
+    ViewportRuler.prototype._updateViewportSize = /**
+     * Updates the cached viewport size.
+     * @return {?}
+     */
+    function () {
+        this._viewportSize = { width: window.innerWidth, height: window.innerHeight };
+    };
+    ViewportRuler.decorators = [
+        { type: _angular_core.Injectable },
+    ];
+    /** @nocollapse */
+    ViewportRuler.ctorParameters = function () { return [
+        { type: _angular_cdk_platform.Platform, },
+        { type: _angular_core.NgZone, },
+    ]; };
+    return ViewportRuler;
+}());
+/**
+ * \@docs-private
+ * @param {?} parentRuler
+ * @param {?} platform
+ * @param {?} ngZone
+ * @return {?}
+ */
+function VIEWPORT_RULER_PROVIDER_FACTORY(parentRuler, platform, ngZone) {
+    return parentRuler || new ViewportRuler(platform, ngZone);
+}
+/**
+ * \@docs-private
+ */
+var VIEWPORT_RULER_PROVIDER = {
+    // If there is already a ViewportRuler available, use that. Otherwise, provide a new one.
+    provide: ViewportRuler,
+    deps: [[new _angular_core.Optional(), new _angular_core.SkipSelf(), ViewportRuler], _angular_cdk_platform.Platform, _angular_core.NgZone],
+    useFactory: VIEWPORT_RULER_PROVIDER_FACTORY
+};
+
+/**
+ * @fileoverview added by tsickle
+ * @suppress {checkTypes} checked by tsc
+ */
+
+var ScrollDispatchModule = /** @class */ (function () {
+    function ScrollDispatchModule() {
+    }
+    ScrollDispatchModule.decorators = [
+        { type: _angular_core.NgModule, args: [{
+                    imports: [_angular_cdk_platform.PlatformModule],
+                    exports: [CdkScrollable],
+                    declarations: [CdkScrollable],
+                    providers: [SCROLL_DISPATCHER_PROVIDER],
+                },] },
+    ];
+    /** @nocollapse */
+    ScrollDispatchModule.ctorParameters = function () { return []; };
+    return ScrollDispatchModule;
+}());
+
+exports.DEFAULT_SCROLL_TIME = DEFAULT_SCROLL_TIME;
+exports.ScrollDispatcher = ScrollDispatcher;
+exports.SCROLL_DISPATCHER_PROVIDER_FACTORY = SCROLL_DISPATCHER_PROVIDER_FACTORY;
+exports.SCROLL_DISPATCHER_PROVIDER = SCROLL_DISPATCHER_PROVIDER;
+exports.CdkScrollable = CdkScrollable;
+exports.DEFAULT_RESIZE_TIME = DEFAULT_RESIZE_TIME;
+exports.ViewportRuler = ViewportRuler;
+exports.VIEWPORT_RULER_PROVIDER_FACTORY = VIEWPORT_RULER_PROVIDER_FACTORY;
+exports.VIEWPORT_RULER_PROVIDER = VIEWPORT_RULER_PROVIDER;
+exports.ScrollDispatchModule = ScrollDispatchModule;
+
+Object.defineProperty(exports, '__esModule', { value: true });
+
+})));
+//# sourceMappingURL=cdk-scrolling.umd.js.map

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/eec354e6/node_modules/@angular/cdk/bundles/cdk-scrolling.umd.js.map
----------------------------------------------------------------------
diff --git a/node_modules/@angular/cdk/bundles/cdk-scrolling.umd.js.map b/node_modules/@angular/cdk/bundles/cdk-scrolling.umd.js.map
new file mode 100644
index 0000000..14105c2
--- /dev/null
+++ b/node_modules/@angular/cdk/bundles/cdk-scrolling.umd.js.map
@@ -0,0 +1 @@
+{"version":3,"file":"cdk-scrolling.umd.js","sources":["../../src/cdk/scrolling/scrolling-module.ts","../../src/cdk/scrolling/viewport-ruler.ts","../../src/cdk/scrolling/scrollable.ts","../../src/cdk/scrolling/scroll-dispatcher.ts"],"sourcesContent":["/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {NgModule} from '@angular/core';\nimport {SCROLL_DISPATCHER_PROVIDER} from './scroll-dispatcher';\nimport {CdkScrollable} from  './scrollable';\nimport {PlatformModule} from '@angular/cdk/platform';\n\n@NgModule({\n  imports: [PlatformModule],\n  exports: [CdkScrollable],\n  declarations: [CdkScrollable],\n  providers: [SCROLL_DISPATCHER_PROVIDER],\n})\nexport class ScrollDispatchModule {}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license 
 that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {Injectable, Optional, SkipSelf, NgZone, OnDestroy} from '@angular/core';\nimport {Platform} from '@angular/cdk/platform';\nimport {Observable} from 'rxjs/Observable';\nimport {fromEvent} from 'rxjs/observable/fromEvent';\nimport {merge} from 'rxjs/observable/merge';\nimport {auditTime} from 'rxjs/operators/auditTime';\nimport {Subscription} from 'rxjs/Subscription';\nimport {of as observableOf} from 'rxjs/observable/of';\n\n/** Time in ms to throttle the resize events by default. */\nexport const DEFAULT_RESIZE_TIME = 20;\n\n/**\n * Simple utility for getting the bounds of the browser viewport.\n * @docs-private\n */\n@Injectable()\nexport class ViewportRuler implements OnDestroy {\n  /** Cached viewport dimensions. */\n  private _viewportSize: {width: number; height: number};\n\n  /** Stream of viewport change events. */\n  private _change: Observable<Event>;\n\n  /** Subscription to streams tha
 t invalidate the cached viewport dimensions. */\n  private _invalidateCache: Subscription;\n\n  constructor(platform: Platform, ngZone: NgZone) {\n    this._change = platform.isBrowser ? ngZone.runOutsideAngular(() => {\n      return merge<Event>(fromEvent(window, 'resize'), fromEvent(window, 'orientationchange'));\n    }) : observableOf();\n\n    this._invalidateCache = this.change().subscribe(() => this._updateViewportSize());\n  }\n\n  ngOnDestroy() {\n    this._invalidateCache.unsubscribe();\n  }\n\n  /** Returns the viewport's width and height. */\n  getViewportSize(): Readonly<{width: number, height: number}> {\n    if (!this._viewportSize) {\n      this._updateViewportSize();\n    }\n\n    return {width: this._viewportSize.width, height: this._viewportSize.height};\n  }\n\n  /** Gets a ClientRect for the viewport's bounds. */\n  getViewportRect(): ClientRect {\n    // Use the document element's bounding rect rather than the window scroll properties\n    // (e.g. pageYOffset, 
 scrollY) due to in issue in Chrome and IE where window scroll\n    // properties and client coordinates (boundingClientRect, clientX/Y, etc.) are in different\n    // conceptual viewports. Under most circumstances these viewports are equivalent, but they\n    // can disagree when the page is pinch-zoomed (on devices that support touch).\n    // See https://bugs.chromium.org/p/chromium/issues/detail?id=489206#c4\n    // We use the documentElement instead of the body because, by default (without a css reset)\n    // browsers typically give the document body an 8px margin, which is not included in\n    // getBoundingClientRect().\n    const scrollPosition = this.getViewportScrollPosition();\n    const {width, height} = this.getViewportSize();\n\n    return {\n      top: scrollPosition.top,\n      left: scrollPosition.left,\n      bottom: scrollPosition.top + height,\n      right: scrollPosition.left + width,\n      height,\n      width,\n    };\n  }\n\n  /** Gets the (top, left) scroll
  position of the viewport. */\n  getViewportScrollPosition() {\n    // The top-left-corner of the viewport is determined by the scroll position of the document\n    // body, normally just (scrollLeft, scrollTop). However, Chrome and Firefox disagree about\n    // whether `document.body` or `document.documentElement` is the scrolled element, so reading\n    // `scrollTop` and `scrollLeft` is inconsistent. However, using the bounding rect of\n    // `document.documentElement` works consistently, where the `top` and `left` values will\n    // equal negative the scroll position.\n    const documentRect = document.documentElement.getBoundingClientRect();\n\n    const top = -documentRect.top || document.body.scrollTop || window.scrollY ||\n                 document.documentElement.scrollTop || 0;\n\n    const left = -documentRect.left || document.body.scrollLeft || window.scrollX ||\n                  document.documentElement.scrollLeft || 0;\n\n    return {top, left};\n  }\n\n  /**\n   *
  Returns a stream that emits whenever the size of the viewport changes.\n   * @param throttle Time in milliseconds to throttle the stream.\n   */\n  change(throttleTime: number = DEFAULT_RESIZE_TIME): Observable<Event> {\n    return throttleTime > 0 ? this._change.pipe(auditTime(throttleTime)) : this._change;\n  }\n\n  /** Updates the cached viewport size. */\n  private _updateViewportSize() {\n    this._viewportSize = {width: window.innerWidth, height: window.innerHeight};\n  }\n}\n\n/** @docs-private */\nexport function VIEWPORT_RULER_PROVIDER_FACTORY(parentRuler: ViewportRuler,\n                                                platform: Platform,\n                                                ngZone: NgZone) {\n  return parentRuler || new ViewportRuler(platform, ngZone);\n}\n\n/** @docs-private */\nexport const VIEWPORT_RULER_PROVIDER = {\n  // If there is already a ViewportRuler available, use that. Otherwise, provide a new one.\n  provide: ViewportRuler,\n  deps: [[new Optiona
 l(), new SkipSelf(), ViewportRuler], Platform, NgZone],\n  useFactory: VIEWPORT_RULER_PROVIDER_FACTORY\n};\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {Directive, ElementRef, OnInit, OnDestroy, NgZone} from '@angular/core';\nimport {Observable} from 'rxjs/Observable';\nimport {Subject} from 'rxjs/Subject';\nimport {ScrollDispatcher} from './scroll-dispatcher';\n\n\n/**\n * Sends an event when the directive's element is scrolled. Registers itself with the\n * ScrollDispatcher service to include itself as part of its collection of scrolling events that it\n * can be listened to through the service.\n */\n@Directive({\n  selector: '[cdk-scrollable], [cdkScrollable]'\n})\nexport class CdkScrollable implements OnInit, OnDestroy {\n  private _elementScrolled: Subject<Event> = new Subject();\n  private _scrollListe
 ner = (event: Event) => this._elementScrolled.next(event);\n\n  constructor(private _elementRef: ElementRef,\n              private _scroll: ScrollDispatcher,\n              private _ngZone: NgZone) {}\n\n  ngOnInit() {\n    this._ngZone.runOutsideAngular(() => {\n      this.getElementRef().nativeElement.addEventListener('scroll', this._scrollListener);\n    });\n\n    this._scroll.register(this);\n  }\n\n  ngOnDestroy() {\n    this._scroll.deregister(this);\n\n    if (this._scrollListener) {\n      this.getElementRef().nativeElement.removeEventListener('scroll', this._scrollListener);\n    }\n  }\n\n  /**\n   * Returns observable that emits when a scroll event is fired on the host element.\n   */\n  elementScrolled(): Observable<any> {\n    return this._elementScrolled.asObservable();\n  }\n\n  getElementRef(): ElementRef {\n    return this._elementRef;\n  }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-s
 tyle license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {ElementRef, Injectable, NgZone, Optional, SkipSelf, OnDestroy} from '@angular/core';\nimport {Platform} from '@angular/cdk/platform';\nimport {Subject} from 'rxjs/Subject';\nimport {Subscription} from 'rxjs/Subscription';\nimport {Observable} from 'rxjs/Observable';\nimport {of as observableOf} from 'rxjs/observable/of';\nimport {fromEvent} from 'rxjs/observable/fromEvent';\nimport {auditTime} from 'rxjs/operators/auditTime';\nimport {filter} from 'rxjs/operators/filter';\nimport {CdkScrollable} from './scrollable';\n\n\n/** Time in ms to throttle the scrolling events by default. */\nexport const DEFAULT_SCROLL_TIME = 20;\n\n/**\n * Service contained all registered Scrollable references and emits an event when any one of the\n * Scrollable references emit a scrolled event.\n */\n@Injectable()\nexport class ScrollDispatcher implements OnDestroy {\n  constructor(private _ngZone: NgZone
 , private _platform: Platform) { }\n\n  /** Subject for notifying that a registered scrollable reference element has been scrolled. */\n  private _scrolled = new Subject<CdkScrollable|void>();\n\n  /** Keeps track of the global `scroll` and `resize` subscriptions. */\n  _globalSubscription: Subscription | null = null;\n\n  /** Keeps track of the amount of subscriptions to `scrolled`. Used for cleaning up afterwards. */\n  private _scrolledCount = 0;\n\n  /**\n   * Map of all the scrollable references that are registered with the service and their\n   * scroll event subscriptions.\n   */\n  scrollContainers: Map<CdkScrollable, Subscription> = new Map();\n\n  /**\n   * Registers a scrollable instance with the service and listens for its scrolled events. When the\n   * scrollable is scrolled, the service emits the event to its scrolled observable.\n   * @param scrollable Scrollable instance to be registered.\n   */\n  register(scrollable: CdkScrollable): void {\n    const scrollSubscri
 ption = scrollable.elementScrolled()\n        .subscribe(() => this._scrolled.next(scrollable));\n\n    this.scrollContainers.set(scrollable, scrollSubscription);\n  }\n\n  /**\n   * Deregisters a Scrollable reference and unsubscribes from its scroll event observable.\n   * @param scrollable Scrollable instance to be deregistered.\n   */\n  deregister(scrollable: CdkScrollable): void {\n    const scrollableReference = this.scrollContainers.get(scrollable);\n\n    if (scrollableReference) {\n      scrollableReference.unsubscribe();\n      this.scrollContainers.delete(scrollable);\n    }\n  }\n\n  /**\n   * Returns an observable that emits an event whenever any of the registered Scrollable\n   * references (or window, document, or body) fire a scrolled event. Can provide a time in ms\n   * to override the default \"throttle\" time.\n   *\n   * **Note:** in order to avoid hitting change detection for every scroll event,\n   * all of the events emitted from this stream will be run outsi
 de the Angular zone.\n   * If you need to update any data bindings as a result of a scroll event, you have\n   * to run the callback using `NgZone.run`.\n   */\n  scrolled(auditTimeInMs: number = DEFAULT_SCROLL_TIME): Observable<CdkScrollable|void> {\n    return this._platform.isBrowser ? Observable.create(observer => {\n      if (!this._globalSubscription) {\n        this._addGlobalListener();\n      }\n\n      // In the case of a 0ms delay, use an observable without auditTime\n      // since it does add a perceptible delay in processing overhead.\n      const subscription = auditTimeInMs > 0 ?\n        this._scrolled.pipe(auditTime(auditTimeInMs)).subscribe(observer) :\n        this._scrolled.subscribe(observer);\n\n      this._scrolledCount++;\n\n      return () => {\n        subscription.unsubscribe();\n        this._scrolledCount--;\n\n        if (!this._scrolledCount) {\n          this._removeGlobalListener();\n        }\n      };\n    }) : observableOf<void>();\n  }\n\n  ngOn
 Destroy() {\n    this._removeGlobalListener();\n    this.scrollContainers.forEach((_, container) => this.deregister(container));\n  }\n\n  /**\n   * Returns an observable that emits whenever any of the\n   * scrollable ancestors of an element are scrolled.\n   * @param elementRef Element whose ancestors to listen for.\n   * @param auditTimeInMs Time to throttle the scroll events.\n   */\n  ancestorScrolled(elementRef: ElementRef, auditTimeInMs?: number): Observable<CdkScrollable|void> {\n    const ancestors = this.getAncestorScrollContainers(elementRef);\n\n    return this.scrolled(auditTimeInMs).pipe(filter(target => {\n      return !target || ancestors.indexOf(target) > -1;\n    }));\n  }\n\n  /** Returns all registered Scrollables that contain the provided element. */\n  getAncestorScrollContainers(elementRef: ElementRef): CdkScrollable[] {\n    const scrollingContainers: CdkScrollable[] = [];\n\n    this.scrollContainers.forEach((_subscription: Subscription, scrollable: CdkScrol
 lable) => {\n      if (this._scrollableContainsElement(scrollable, elementRef)) {\n        scrollingContainers.push(scrollable);\n      }\n    });\n\n    return scrollingContainers;\n  }\n\n  /** Returns true if the element is contained within the provided Scrollable. */\n  private _scrollableContainsElement(scrollable: CdkScrollable, elementRef: ElementRef): boolean {\n    let element = elementRef.nativeElement;\n    let scrollableElement = scrollable.getElementRef().nativeElement;\n\n    // Traverse through the element parents until we reach null, checking if any of the elements\n    // are the scrollable's element.\n    do {\n      if (element == scrollableElement) { return true; }\n    } while (element = element.parentElement);\n\n    return false;\n  }\n\n  /** Sets up the global scroll listeners. */\n  private _addGlobalListener() {\n    this._globalSubscription = this._ngZone.runOutsideAngular(() => {\n      return fromEvent(window.document, 'scroll').subscribe(() => this._sc
 rolled.next());\n    });\n  }\n\n  /** Cleans up the global scroll listener. */\n  private _removeGlobalListener() {\n    if (this._globalSubscription) {\n      this._globalSubscription.unsubscribe();\n      this._globalSubscription = null;\n    }\n  }\n}\n\n/** @docs-private */\nexport function SCROLL_DISPATCHER_PROVIDER_FACTORY(\n    parentDispatcher: ScrollDispatcher, ngZone: NgZone, platform: Platform) {\n  return parentDispatcher || new ScrollDispatcher(ngZone, platform);\n}\n\n/** @docs-private */\nexport const SCROLL_DISPATCHER_PROVIDER = {\n  // If there is already a ScrollDispatcher available, use that. Otherwise, provide a new one.\n  provide: ScrollDispatcher,\n  deps: [[new Optional(), new SkipSelf(), ScrollDispatcher], NgZone, Platform],\n  useFactory: SCROLL_DISPATCHER_PROVIDER_FACTORY\n};\n"],"names":["PlatformModule","NgModule","Optional","SkipSelf","Platform","NgZone","Injectable","auditTime","observableOf","merge","fromEvent","ElementRef","Directive","Subject","fil
 ter","Observable"],"mappings":"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
 ;CAmBA,EAAA,CAAA,CAAA;;;;;;;;;;;;;;;"}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/eec354e6/node_modules/@angular/cdk/bundles/cdk-scrolling.umd.min.js
----------------------------------------------------------------------
diff --git a/node_modules/@angular/cdk/bundles/cdk-scrolling.umd.min.js b/node_modules/@angular/cdk/bundles/cdk-scrolling.umd.min.js
new file mode 100644
index 0000000..f1753e3
--- /dev/null
+++ b/node_modules/@angular/cdk/bundles/cdk-scrolling.umd.min.js
@@ -0,0 +1,9 @@
+/**
+ * @license
+ * Copyright Google LLC All Rights Reserved.
+ *
+ * Use of this source code is governed by an MIT-style license that can be
+ * found in the LICENSE file at https://angular.io/license
+ */
+!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@angular/core"),require("@angular/cdk/platform"),require("rxjs/Subject"),require("rxjs/Observable"),require("rxjs/observable/of"),require("rxjs/observable/fromEvent"),require("rxjs/operators/auditTime"),require("rxjs/operators/filter"),require("rxjs/observable/merge")):"function"==typeof define&&define.amd?define(["exports","@angular/core","@angular/cdk/platform","rxjs/Subject","rxjs/Observable","rxjs/observable/of","rxjs/observable/fromEvent","rxjs/operators/auditTime","rxjs/operators/filter","rxjs/observable/merge"],t):t((e.ng=e.ng||{},e.ng.cdk=e.ng.cdk||{},e.ng.cdk.scrolling=e.ng.cdk.scrolling||{}),e.ng.core,e.ng.cdk.platform,e.Rx,e.Rx,e.Rx.Observable,e.Rx.Observable,e.Rx.operators,e.Rx.operators,e.Rx.Observable)}(this,function(e,t,r,o,n,i,s,l,c,u){"use strict";function a(e,t,r){return e||new d(t,r)}function p(e,t,r){return e||new b(t,r)}var d=function(){function e(e,t){this._ngZone=e,this._pla
 tform=t,this._scrolled=new o.Subject,this._globalSubscription=null,this._scrolledCount=0,this.scrollContainers=new Map}return e.prototype.register=function(e){var t=this,r=e.elementScrolled().subscribe(function(){return t._scrolled.next(e)});this.scrollContainers.set(e,r)},e.prototype.deregister=function(e){var t=this.scrollContainers.get(e);t&&(t.unsubscribe(),this.scrollContainers.delete(e))},e.prototype.scrolled=function(e){var t=this;return void 0===e&&(e=20),this._platform.isBrowser?n.Observable.create(function(r){t._globalSubscription||t._addGlobalListener();var o=e>0?t._scrolled.pipe(l.auditTime(e)).subscribe(r):t._scrolled.subscribe(r);return t._scrolledCount++,function(){o.unsubscribe(),--t._scrolledCount||t._removeGlobalListener()}}):i.of()},e.prototype.ngOnDestroy=function(){var e=this;this._removeGlobalListener(),this.scrollContainers.forEach(function(t,r){return e.deregister(r)})},e.prototype.ancestorScrolled=function(e,t){var r=this.getAncestorScrollContainers(e);retur
 n this.scrolled(t).pipe(c.filter(function(e){return!e||r.indexOf(e)>-1}))},e.prototype.getAncestorScrollContainers=function(e){var t=this,r=[];return this.scrollContainers.forEach(function(o,n){t._scrollableContainsElement(n,e)&&r.push(n)}),r},e.prototype._scrollableContainsElement=function(e,t){var r=t.nativeElement,o=e.getElementRef().nativeElement;do{if(r==o)return!0}while(r=r.parentElement);return!1},e.prototype._addGlobalListener=function(){var e=this;this._globalSubscription=this._ngZone.runOutsideAngular(function(){return s.fromEvent(window.document,"scroll").subscribe(function(){return e._scrolled.next()})})},e.prototype._removeGlobalListener=function(){this._globalSubscription&&(this._globalSubscription.unsubscribe(),this._globalSubscription=null)},e.decorators=[{type:t.Injectable}],e.ctorParameters=function(){return[{type:t.NgZone},{type:r.Platform}]},e}(),f={provide:d,deps:[[new t.Optional,new t.SkipSelf,d],t.NgZone,r.Platform],useFactory:a},h=function(){function e(e,t,r)
 {var n=this;this._elementRef=e,this._scroll=t,this._ngZone=r,this._elementScrolled=new o.Subject,this._scrollListener=function(e){return n._elementScrolled.next(e)}}return e.prototype.ngOnInit=function(){var e=this;this._ngZone.runOutsideAngular(function(){e.getElementRef().nativeElement.addEventListener("scroll",e._scrollListener)}),this._scroll.register(this)},e.prototype.ngOnDestroy=function(){this._scroll.deregister(this),this._scrollListener&&this.getElementRef().nativeElement.removeEventListener("scroll",this._scrollListener)},e.prototype.elementScrolled=function(){return this._elementScrolled.asObservable()},e.prototype.getElementRef=function(){return this._elementRef},e.decorators=[{type:t.Directive,args:[{selector:"[cdk-scrollable], [cdkScrollable]"}]}],e.ctorParameters=function(){return[{type:t.ElementRef},{type:d},{type:t.NgZone}]},e}(),b=function(){function e(e,t){var r=this;this._change=e.isBrowser?t.runOutsideAngular(function(){return u.merge(s.fromEvent(window,"resize
 "),s.fromEvent(window,"orientationchange"))}):i.of(),this._invalidateCache=this.change().subscribe(function(){return r._updateViewportSize()})}return e.prototype.ngOnDestroy=function(){this._invalidateCache.unsubscribe()},e.prototype.getViewportSize=function(){return this._viewportSize||this._updateViewportSize(),{width:this._viewportSize.width,height:this._viewportSize.height}},e.prototype.getViewportRect=function(){var e=this.getViewportScrollPosition(),t=this.getViewportSize(),r=t.width,o=t.height;return{top:e.top,left:e.left,bottom:e.top+o,right:e.left+r,height:o,width:r}},e.prototype.getViewportScrollPosition=function(){var e=document.documentElement.getBoundingClientRect();return{top:-e.top||document.body.scrollTop||window.scrollY||document.documentElement.scrollTop||0,left:-e.left||document.body.scrollLeft||window.scrollX||document.documentElement.scrollLeft||0}},e.prototype.change=function(e){return void 0===e&&(e=20),e>0?this._change.pipe(l.auditTime(e)):this._change},e.pro
 totype._updateViewportSize=function(){this._viewportSize={width:window.innerWidth,height:window.innerHeight}},e.decorators=[{type:t.Injectable}],e.ctorParameters=function(){return[{type:r.Platform},{type:t.NgZone}]},e}(),g={provide:b,deps:[[new t.Optional,new t.SkipSelf,b],r.Platform,t.NgZone],useFactory:p},_=function(){function e(){}return e.decorators=[{type:t.NgModule,args:[{imports:[r.PlatformModule],exports:[h],declarations:[h],providers:[f]}]}],e.ctorParameters=function(){return[]},e}();e.DEFAULT_SCROLL_TIME=20,e.ScrollDispatcher=d,e.SCROLL_DISPATCHER_PROVIDER_FACTORY=a,e.SCROLL_DISPATCHER_PROVIDER=f,e.CdkScrollable=h,e.DEFAULT_RESIZE_TIME=20,e.ViewportRuler=b,e.VIEWPORT_RULER_PROVIDER_FACTORY=p,e.VIEWPORT_RULER_PROVIDER=g,e.ScrollDispatchModule=_,Object.defineProperty(e,"__esModule",{value:!0})});
+//# sourceMappingURL=cdk-scrolling.umd.min.js.map

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/eec354e6/node_modules/@angular/cdk/bundles/cdk-scrolling.umd.min.js.map
----------------------------------------------------------------------
diff --git a/node_modules/@angular/cdk/bundles/cdk-scrolling.umd.min.js.map b/node_modules/@angular/cdk/bundles/cdk-scrolling.umd.min.js.map
new file mode 100644
index 0000000..1c376c0
--- /dev/null
+++ b/node_modules/@angular/cdk/bundles/cdk-scrolling.umd.min.js.map
@@ -0,0 +1 @@
+{"version":3,"file":"cdk-scrolling.umd.min.js","sources":["../../src/cdk/scrolling/scroll-dispatcher.ts","../../src/cdk/scrolling/viewport-ruler.ts","../../src/cdk/scrolling/scrollable.ts","../../src/cdk/scrolling/scrolling-module.ts"],"sourcesContent":["/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {ElementRef, Injectable, NgZone, Optional, SkipSelf, OnDestroy} from '@angular/core';\nimport {Platform} from '@angular/cdk/platform';\nimport {Subject} from 'rxjs/Subject';\nimport {Subscription} from 'rxjs/Subscription';\nimport {Observable} from 'rxjs/Observable';\nimport {of as observableOf} from 'rxjs/observable/of';\nimport {fromEvent} from 'rxjs/observable/fromEvent';\nimport {auditTime} from 'rxjs/operators/auditTime';\nimport {filter} from 'rxjs/operators/filter';\nimport {CdkScrollable} from './scrollable';\n
 \n\n/** Time in ms to throttle the scrolling events by default. */\nexport const DEFAULT_SCROLL_TIME = 20;\n\n/**\n * Service contained all registered Scrollable references and emits an event when any one of the\n * Scrollable references emit a scrolled event.\n */\n@Injectable()\nexport class ScrollDispatcher implements OnDestroy {\n  constructor(private _ngZone: NgZone, private _platform: Platform) { }\n\n  /** Subject for notifying that a registered scrollable reference element has been scrolled. */\n  private _scrolled = new Subject<CdkScrollable|void>();\n\n  /** Keeps track of the global `scroll` and `resize` subscriptions. */\n  _globalSubscription: Subscription | null = null;\n\n  /** Keeps track of the amount of subscriptions to `scrolled`. Used for cleaning up afterwards. */\n  private _scrolledCount = 0;\n\n  /**\n   * Map of all the scrollable references that are registered with the service and their\n   * scroll event subscriptions.\n   */\n  scrollContainers: Map<CdkSc
 rollable, Subscription> = new Map();\n\n  /**\n   * Registers a scrollable instance with the service and listens for its scrolled events. When the\n   * scrollable is scrolled, the service emits the event to its scrolled observable.\n   * @param scrollable Scrollable instance to be registered.\n   */\n  register(scrollable: CdkScrollable): void {\n    const scrollSubscription = scrollable.elementScrolled()\n        .subscribe(() => this._scrolled.next(scrollable));\n\n    this.scrollContainers.set(scrollable, scrollSubscription);\n  }\n\n  /**\n   * Deregisters a Scrollable reference and unsubscribes from its scroll event observable.\n   * @param scrollable Scrollable instance to be deregistered.\n   */\n  deregister(scrollable: CdkScrollable): void {\n    const scrollableReference = this.scrollContainers.get(scrollable);\n\n    if (scrollableReference) {\n      scrollableReference.unsubscribe();\n      this.scrollContainers.delete(scrollable);\n    }\n  }\n\n  /**\n   * Returns an 
 observable that emits an event whenever any of the registered Scrollable\n   * references (or window, document, or body) fire a scrolled event. Can provide a time in ms\n   * to override the default \"throttle\" time.\n   *\n   * **Note:** in order to avoid hitting change detection for every scroll event,\n   * all of the events emitted from this stream will be run outside the Angular zone.\n   * If you need to update any data bindings as a result of a scroll event, you have\n   * to run the callback using `NgZone.run`.\n   */\n  scrolled(auditTimeInMs: number = DEFAULT_SCROLL_TIME): Observable<CdkScrollable|void> {\n    return this._platform.isBrowser ? Observable.create(observer => {\n      if (!this._globalSubscription) {\n        this._addGlobalListener();\n      }\n\n      // In the case of a 0ms delay, use an observable without auditTime\n      // since it does add a perceptible delay in processing overhead.\n      const subscription = auditTimeInMs > 0 ?\n        this._scroll
 ed.pipe(auditTime(auditTimeInMs)).subscribe(observer) :\n        this._scrolled.subscribe(observer);\n\n      this._scrolledCount++;\n\n      return () => {\n        subscription.unsubscribe();\n        this._scrolledCount--;\n\n        if (!this._scrolledCount) {\n          this._removeGlobalListener();\n        }\n      };\n    }) : observableOf<void>();\n  }\n\n  ngOnDestroy() {\n    this._removeGlobalListener();\n    this.scrollContainers.forEach((_, container) => this.deregister(container));\n  }\n\n  /**\n   * Returns an observable that emits whenever any of the\n   * scrollable ancestors of an element are scrolled.\n   * @param elementRef Element whose ancestors to listen for.\n   * @param auditTimeInMs Time to throttle the scroll events.\n   */\n  ancestorScrolled(elementRef: ElementRef, auditTimeInMs?: number): Observable<CdkScrollable|void> {\n    const ancestors = this.getAncestorScrollContainers(elementRef);\n\n    return this.scrolled(auditTimeInMs).pipe(filter(target =
 > {\n      return !target || ancestors.indexOf(target) > -1;\n    }));\n  }\n\n  /** Returns all registered Scrollables that contain the provided element. */\n  getAncestorScrollContainers(elementRef: ElementRef): CdkScrollable[] {\n    const scrollingContainers: CdkScrollable[] = [];\n\n    this.scrollContainers.forEach((_subscription: Subscription, scrollable: CdkScrollable) => {\n      if (this._scrollableContainsElement(scrollable, elementRef)) {\n        scrollingContainers.push(scrollable);\n      }\n    });\n\n    return scrollingContainers;\n  }\n\n  /** Returns true if the element is contained within the provided Scrollable. */\n  private _scrollableContainsElement(scrollable: CdkScrollable, elementRef: ElementRef): boolean {\n    let element = elementRef.nativeElement;\n    let scrollableElement = scrollable.getElementRef().nativeElement;\n\n    // Traverse through the element parents until we reach null, checking if any of the elements\n    // are the scrollable's element
 .\n    do {\n      if (element == scrollableElement) { return true; }\n    } while (element = element.parentElement);\n\n    return false;\n  }\n\n  /** Sets up the global scroll listeners. */\n  private _addGlobalListener() {\n    this._globalSubscription = this._ngZone.runOutsideAngular(() => {\n      return fromEvent(window.document, 'scroll').subscribe(() => this._scrolled.next());\n    });\n  }\n\n  /** Cleans up the global scroll listener. */\n  private _removeGlobalListener() {\n    if (this._globalSubscription) {\n      this._globalSubscription.unsubscribe();\n      this._globalSubscription = null;\n    }\n  }\n}\n\n/** @docs-private */\nexport function SCROLL_DISPATCHER_PROVIDER_FACTORY(\n    parentDispatcher: ScrollDispatcher, ngZone: NgZone, platform: Platform) {\n  return parentDispatcher || new ScrollDispatcher(ngZone, platform);\n}\n\n/** @docs-private */\nexport const SCROLL_DISPATCHER_PROVIDER = {\n  // If there is already a ScrollDispatcher available, use that. Othe
 rwise, provide a new one.\n  provide: ScrollDispatcher,\n  deps: [[new Optional(), new SkipSelf(), ScrollDispatcher], NgZone, Platform],\n  useFactory: SCROLL_DISPATCHER_PROVIDER_FACTORY\n};\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {Injectable, Optional, SkipSelf, NgZone, OnDestroy} from '@angular/core';\nimport {Platform} from '@angular/cdk/platform';\nimport {Observable} from 'rxjs/Observable';\nimport {fromEvent} from 'rxjs/observable/fromEvent';\nimport {merge} from 'rxjs/observable/merge';\nimport {auditTime} from 'rxjs/operators/auditTime';\nimport {Subscription} from 'rxjs/Subscription';\nimport {of as observableOf} from 'rxjs/observable/of';\n\n/** Time in ms to throttle the resize events by default. */\nexport const DEFAULT_RESIZE_TIME = 20;\n\n/**\n * Simple utility for getting the bounds of the
  browser viewport.\n * @docs-private\n */\n@Injectable()\nexport class ViewportRuler implements OnDestroy {\n  /** Cached viewport dimensions. */\n  private _viewportSize: {width: number; height: number};\n\n  /** Stream of viewport change events. */\n  private _change: Observable<Event>;\n\n  /** Subscription to streams that invalidate the cached viewport dimensions. */\n  private _invalidateCache: Subscription;\n\n  constructor(platform: Platform, ngZone: NgZone) {\n    this._change = platform.isBrowser ? ngZone.runOutsideAngular(() => {\n      return merge<Event>(fromEvent(window, 'resize'), fromEvent(window, 'orientationchange'));\n    }) : observableOf();\n\n    this._invalidateCache = this.change().subscribe(() => this._updateViewportSize());\n  }\n\n  ngOnDestroy() {\n    this._invalidateCache.unsubscribe();\n  }\n\n  /** Returns the viewport's width and height. */\n  getViewportSize(): Readonly<{width: number, height: number}> {\n    if (!this._viewportSize) {\n      this._u
 pdateViewportSize();\n    }\n\n    return {width: this._viewportSize.width, height: this._viewportSize.height};\n  }\n\n  /** Gets a ClientRect for the viewport's bounds. */\n  getViewportRect(): ClientRect {\n    // Use the document element's bounding rect rather than the window scroll properties\n    // (e.g. pageYOffset, scrollY) due to in issue in Chrome and IE where window scroll\n    // properties and client coordinates (boundingClientRect, clientX/Y, etc.) are in different\n    // conceptual viewports. Under most circumstances these viewports are equivalent, but they\n    // can disagree when the page is pinch-zoomed (on devices that support touch).\n    // See https://bugs.chromium.org/p/chromium/issues/detail?id=489206#c4\n    // We use the documentElement instead of the body because, by default (without a css reset)\n    // browsers typically give the document body an 8px margin, which is not included in\n    // getBoundingClientRect().\n    const scrollPosition = this.get
 ViewportScrollPosition();\n    const {width, height} = this.getViewportSize();\n\n    return {\n      top: scrollPosition.top,\n      left: scrollPosition.left,\n      bottom: scrollPosition.top + height,\n      right: scrollPosition.left + width,\n      height,\n      width,\n    };\n  }\n\n  /** Gets the (top, left) scroll position of the viewport. */\n  getViewportScrollPosition() {\n    // The top-left-corner of the viewport is determined by the scroll position of the document\n    // body, normally just (scrollLeft, scrollTop). However, Chrome and Firefox disagree about\n    // whether `document.body` or `document.documentElement` is the scrolled element, so reading\n    // `scrollTop` and `scrollLeft` is inconsistent. However, using the bounding rect of\n    // `document.documentElement` works consistently, where the `top` and `left` values will\n    // equal negative the scroll position.\n    const documentRect = document.documentElement.getBoundingClientRect();\n\n    const 
 top = -documentRect.top || document.body.scrollTop || window.scrollY ||\n                 document.documentElement.scrollTop || 0;\n\n    const left = -documentRect.left || document.body.scrollLeft || window.scrollX ||\n                  document.documentElement.scrollLeft || 0;\n\n    return {top, left};\n  }\n\n  /**\n   * Returns a stream that emits whenever the size of the viewport changes.\n   * @param throttle Time in milliseconds to throttle the stream.\n   */\n  change(throttleTime: number = DEFAULT_RESIZE_TIME): Observable<Event> {\n    return throttleTime > 0 ? this._change.pipe(auditTime(throttleTime)) : this._change;\n  }\n\n  /** Updates the cached viewport size. */\n  private _updateViewportSize() {\n    this._viewportSize = {width: window.innerWidth, height: window.innerHeight};\n  }\n}\n\n/** @docs-private */\nexport function VIEWPORT_RULER_PROVIDER_FACTORY(parentRuler: ViewportRuler,\n                                                platform: Platform,\n             
                                    ngZone: NgZone) {\n  return parentRuler || new ViewportRuler(platform, ngZone);\n}\n\n/** @docs-private */\nexport const VIEWPORT_RULER_PROVIDER = {\n  // If there is already a ViewportRuler available, use that. Otherwise, provide a new one.\n  provide: ViewportRuler,\n  deps: [[new Optional(), new SkipSelf(), ViewportRuler], Platform, NgZone],\n  useFactory: VIEWPORT_RULER_PROVIDER_FACTORY\n};\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {Directive, ElementRef, OnInit, OnDestroy, NgZone} from '@angular/core';\nimport {Observable} from 'rxjs/Observable';\nimport {Subject} from 'rxjs/Subject';\nimport {ScrollDispatcher} from './scroll-dispatcher';\n\n\n/**\n * Sends an event when the directive's element is scrolled. Registers itself with the\n * ScrollDispatcher service to in
 clude itself as part of its collection of scrolling events that it\n * can be listened to through the service.\n */\n@Directive({\n  selector: '[cdk-scrollable], [cdkScrollable]'\n})\nexport class CdkScrollable implements OnInit, OnDestroy {\n  private _elementScrolled: Subject<Event> = new Subject();\n  private _scrollListener = (event: Event) => this._elementScrolled.next(event);\n\n  constructor(private _elementRef: ElementRef,\n              private _scroll: ScrollDispatcher,\n              private _ngZone: NgZone) {}\n\n  ngOnInit() {\n    this._ngZone.runOutsideAngular(() => {\n      this.getElementRef().nativeElement.addEventListener('scroll', this._scrollListener);\n    });\n\n    this._scroll.register(this);\n  }\n\n  ngOnDestroy() {\n    this._scroll.deregister(this);\n\n    if (this._scrollListener) {\n      this.getElementRef().nativeElement.removeEventListener('scroll', this._scrollListener);\n    }\n  }\n\n  /**\n   * Returns observable that emits when a scroll event i
 s fired on the host element.\n   */\n  elementScrolled(): Observable<any> {\n    return this._elementScrolled.asObservable();\n  }\n\n  getElementRef(): ElementRef {\n    return this._elementRef;\n  }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {NgModule} from '@angular/core';\nimport {SCROLL_DISPATCHER_PROVIDER} from './scroll-dispatcher';\nimport {CdkScrollable} from  './scrollable';\nimport {PlatformModule} from '@angular/cdk/platform';\n\n@NgModule({\n  imports: [PlatformModule],\n  exports: [CdkScrollable],\n  declarations: [CdkScrollable],\n  providers: [SCROLL_DISPATCHER_PROVIDER],\n})\nexport class ScrollDispatchModule {}\n"],"names":["SCROLL_DISPATCHER_PROVIDER_FACTORY","parentDispatcher","ngZone","platform","ScrollDispatcher","VIEWPORT_RULER_PROVIDER_FACTORY","parentRuler","ViewportRuler","_ngZo
 ne","_platform","this","_scrolled","Subject","_globalSubscription","_scrolledCount","scrollContainers","Map","prototype","register","scrollable","_this","scrollSubscription","elementScrolled","subscribe","next","set","deregister","scrollableReference","get","unsubscribe","delete","scrolled","auditTimeInMs","isBrowser","Observable","create","observer","_addGlobalListener","subscription","pipe","auditTime","_removeGlobalListener","observableOf","ngOnDestroy","forEach","_","container","ancestorScrolled","elementRef","ancestors","getAncestorScrollContainers","filter","target","indexOf","scrollingContainers","_subscription","_scrollableContainsElement","push","element","nativeElement","scrollableElement","getElementRef","parentElement","runOutsideAngular","fromEvent","window","document","type","Injectable","NgZone","Platform","SCROLL_DISPATCHER_PROVIDER","provide","deps","Optional","SkipSelf","useFactory","CdkScrollable","_elementRef","_scroll","_elementScrolled","_scrollListener","event
 ","ngOnInit","addEventListener","removeEventListener","asObservable","Directive","args","selector","ElementRef","_change","merge","_invalidateCache","change","_updateViewportSize","getViewportSize","_viewportSize","width","height","getViewportRect","scrollPosition","getViewportScrollPosition","_a","top","left","bottom","right","documentRect","documentElement","getBoundingClientRect","body","scrollTop","scrollY","scrollLeft","scrollX","throttleTime","innerWidth","innerHeight","VIEWPORT_RULER_PROVIDER","ScrollDispatchModule","NgModule","imports","PlatformModule","exports","declarations","providers"],"mappings":"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"}
\ No newline at end of file


[23/59] [abbrv] [partial] nifi-fds git commit: update gh-pages

Posted by sc...@apache.org.
http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/eec354e6/node_modules/@angular/cdk/bundles/cdk-a11y.umd.min.js
----------------------------------------------------------------------
diff --git a/node_modules/@angular/cdk/bundles/cdk-a11y.umd.min.js b/node_modules/@angular/cdk/bundles/cdk-a11y.umd.min.js
new file mode 100644
index 0000000..958a2e1
--- /dev/null
+++ b/node_modules/@angular/cdk/bundles/cdk-a11y.umd.min.js
@@ -0,0 +1,9 @@
+/**
+ * @license
+ * Copyright Google LLC All Rights Reserved.
+ *
+ * Use of this source code is governed by an MIT-style license that can be
+ * found in the LICENSE file at https://angular.io/license
+ */
+!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@angular/core"),require("@angular/cdk/coercion"),require("rxjs/operators/take"),require("@angular/cdk/platform"),require("@angular/common"),require("rxjs/Subject"),require("rxjs/Subscription"),require("@angular/cdk/keycodes"),require("rxjs/operators/debounceTime"),require("rxjs/operators/filter"),require("rxjs/operators/map"),require("rxjs/operators/tap"),require("rxjs/observable/of")):"function"==typeof define&&define.amd?define(["exports","@angular/core","@angular/cdk/coercion","rxjs/operators/take","@angular/cdk/platform","@angular/common","rxjs/Subject","rxjs/Subscription","@angular/cdk/keycodes","rxjs/operators/debounceTime","rxjs/operators/filter","rxjs/operators/map","rxjs/operators/tap","rxjs/observable/of"],t):t((e.ng=e.ng||{},e.ng.cdk=e.ng.cdk||{},e.ng.cdk.a11y=e.ng.cdk.a11y||{}),e.ng.core,e.ng.cdk.coercion,e.Rx.operators,e.ng.cdk.platform,e.ng.common,e.Rx,e.Rx,e.ng.cdk.keycodes,e.Rx.ope
 rators,e.Rx.operators,e.Rx.operators,e.Rx.operators,e.Rx.Observable)}(this,function(e,t,n,r,i,o,s,c,a,u,l,d,h,p){"use strict";function f(e,t){function n(){this.constructor=e}M(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}function _(e){try{return e.frameElement}catch(e){return null}}function m(e){return!!(e.offsetWidth||e.offsetHeight||"function"==typeof e.getClientRects&&e.getClientRects().length)}function b(e){var t=e.nodeName.toLowerCase();return"input"===t||"select"===t||"button"===t||"textarea"===t}function y(e){return g(e)&&"hidden"==e.type}function v(e){return I(e)&&e.hasAttribute("href")}function g(e){return"input"==e.nodeName.toLowerCase()}function I(e){return"a"==e.nodeName.toLowerCase()}function E(e){if(!e.hasAttribute("tabindex")||void 0===e.tabIndex)return!1;var t=e.getAttribute("tabindex");return"-32768"!=t&&!(!t||isNaN(parseInt(t,10)))}function A(e){if(!E(e))return null;var t=parseInt(e.getAttribute("tabindex")||"",10);return isNaN(t)?-1:t
 }function T(e){var t=e.nodeName.toLowerCase(),n="input"===t&&e.type;return"text"===n||"password"===n||"select"===t||"textarea"===t}function C(e){return!y(e)&&(b(e)||v(e)||e.hasAttribute("contenteditable")||E(e))}function k(e){return e.ownerDocument.defaultView||window}function O(e,t,n){var r=R(e,t);r.some(function(e){return e.trim()==n.trim()})||(r.push(n.trim()),e.setAttribute(t,r.join(K)))}function x(e,t,n){var r=R(e,t),i=r.filter(function(e){return e!=n.trim()});e.setAttribute(t,i.join(K))}function R(e,t){return(e.getAttribute(t)||"").match(/\S+/g)||[]}function F(e,t){return e||new V(t)}function w(e,t,n){return e||new Q(t,n)}function N(e,t,n){return e||new J(t,n)}function L(e){return 0===e.buttons}var M=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])},D=function(){function e(e){this._platform=e}return e.prototype.isDisabled=function(e){return e.hasAttribute("disabled")},e.prototype.
 isVisible=function(e){return m(e)&&"visible"===getComputedStyle(e).visibility},e.prototype.isTabbable=function(e){if(!this._platform.isBrowser)return!1;var t=_(k(e));if(t){var n=t&&t.nodeName.toLowerCase();if(-1===A(t))return!1;if((this._platform.BLINK||this._platform.WEBKIT)&&"object"===n)return!1;if((this._platform.BLINK||this._platform.WEBKIT)&&!this.isVisible(t))return!1}var r=e.nodeName.toLowerCase(),i=A(e);if(e.hasAttribute("contenteditable"))return-1!==i;if("iframe"===r)return!1;if("audio"===r){if(!e.hasAttribute("controls"))return!1;if(this._platform.BLINK)return!0}if("video"===r){if(!e.hasAttribute("controls")&&this._platform.TRIDENT)return!1;if(this._platform.BLINK||this._platform.FIREFOX)return!0}return("object"!==r||!this._platform.BLINK&&!this._platform.WEBKIT)&&(!(this._platform.WEBKIT&&this._platform.IOS&&!T(e))&&e.tabIndex>=0)},e.prototype.isFocusable=function(e){return C(e)&&!this.isDisabled(e)&&this.isVisible(e)},e.decorators=[{type:t.Injectable}],e.ctorParameters=
 function(){return[{type:i.Platform}]},e}(),j=function(){function e(e,t,n,r,i){void 0===i&&(i=!1),this._element=e,this._checker=t,this._ngZone=n,this._document=r,this._enabled=!0,i||this.attachAnchors()}return Object.defineProperty(e.prototype,"enabled",{get:function(){return this._enabled},set:function(e){this._enabled=e,this._startAnchor&&this._endAnchor&&(this._startAnchor.tabIndex=this._endAnchor.tabIndex=this._enabled?0:-1)},enumerable:!0,configurable:!0}),e.prototype.destroy=function(){this._startAnchor&&this._startAnchor.parentNode&&this._startAnchor.parentNode.removeChild(this._startAnchor),this._endAnchor&&this._endAnchor.parentNode&&this._endAnchor.parentNode.removeChild(this._endAnchor),this._startAnchor=this._endAnchor=null},e.prototype.attachAnchors=function(){var e=this;this._startAnchor||(this._startAnchor=this._createAnchor()),this._endAnchor||(this._endAnchor=this._createAnchor()),this._ngZone.runOutsideAngular(function(){e._startAnchor.addEventListener("focus",funct
 ion(){e.focusLastTabbableElement()}),e._endAnchor.addEventListener("focus",function(){e.focusFirstTabbableElement()}),e._element.parentNode&&(e._element.parentNode.insertBefore(e._startAnchor,e._element),e._element.parentNode.insertBefore(e._endAnchor,e._element.nextSibling))})},e.prototype.focusInitialElementWhenReady=function(){var e=this;return new Promise(function(t){e._executeOnStable(function(){return t(e.focusInitialElement())})})},e.prototype.focusFirstTabbableElementWhenReady=function(){var e=this;return new Promise(function(t){e._executeOnStable(function(){return t(e.focusFirstTabbableElement())})})},e.prototype.focusLastTabbableElementWhenReady=function(){var e=this;return new Promise(function(t){e._executeOnStable(function(){return t(e.focusLastTabbableElement())})})},e.prototype._getRegionBoundary=function(e){for(var t=this._element.querySelectorAll("[cdk-focus-region-"+e+"], [cdkFocusRegion"+e+"], [cdk-focus-"+e+"]"),n=0;n<t.length;n++)t[n].hasAttribute("cdk-focus-"+e)
 ?console.warn("Found use of deprecated attribute 'cdk-focus-"+e+"', use 'cdkFocusRegion"+e+"' instead.",t[n]):t[n].hasAttribute("cdk-focus-region-"+e)&&console.warn("Found use of deprecated attribute 'cdk-focus-region-"+e+"', use 'cdkFocusRegion"+e+"' instead.",t[n]);return"start"==e?t.length?t[0]:this._getFirstTabbableElement(this._element):t.length?t[t.length-1]:this._getLastTabbableElement(this._element)},e.prototype.focusInitialElement=function(){var e=this._element.querySelector("[cdk-focus-initial], [cdkFocusInitial]");return this._element.hasAttribute("cdk-focus-initial")&&console.warn("Found use of deprecated attribute 'cdk-focus-initial', use 'cdkFocusInitial' instead.",this._element),e?(e.focus(),!0):this.focusFirstTabbableElement()},e.prototype.focusFirstTabbableElement=function(){var e=this._getRegionBoundary("start");return e&&e.focus(),!!e},e.prototype.focusLastTabbableElement=function(){var e=this._getRegionBoundary("end");return e&&e.focus(),!!e},e.prototype._getFirs
 tTabbableElement=function(e){if(this._checker.isFocusable(e)&&this._checker.isTabbable(e))return e;for(var t=e.children||e.childNodes,n=0;n<t.length;n++){var r=t[n].nodeType===this._document.ELEMENT_NODE?this._getFirstTabbableElement(t[n]):null;if(r)return r}return null},e.prototype._getLastTabbableElement=function(e){if(this._checker.isFocusable(e)&&this._checker.isTabbable(e))return e;for(var t=e.children||e.childNodes,n=t.length-1;n>=0;n--){var r=t[n].nodeType===this._document.ELEMENT_NODE?this._getLastTabbableElement(t[n]):null;if(r)return r}return null},e.prototype._createAnchor=function(){var e=this._document.createElement("div");return e.tabIndex=this._enabled?0:-1,e.classList.add("cdk-visually-hidden"),e.classList.add("cdk-focus-trap-anchor"),e},e.prototype._executeOnStable=function(e){this._ngZone.isStable?e():this._ngZone.onStable.asObservable().pipe(r.take(1)).subscribe(e)},e}(),S=function(){function e(e,t,n){this._checker=e,this._ngZone=t,this._document=n}return e.protot
 ype.create=function(e,t){return void 0===t&&(t=!1),new j(e,this._checker,this._ngZone,this._document,t)},e.decorators=[{type:t.Injectable}],e.ctorParameters=function(){return[{type:D},{type:t.NgZone},{type:void 0,decorators:[{type:t.Inject,args:[o.DOCUMENT]}]}]},e}(),B=function(){function e(e,t){this._elementRef=e,this._focusTrapFactory=t,this.focusTrap=this._focusTrapFactory.create(this._elementRef.nativeElement,!0)}return Object.defineProperty(e.prototype,"disabled",{get:function(){return!this.focusTrap.enabled},set:function(e){this.focusTrap.enabled=!n.coerceBooleanProperty(e)},enumerable:!0,configurable:!0}),e.prototype.ngOnDestroy=function(){this.focusTrap.destroy()},e.prototype.ngAfterContentInit=function(){this.focusTrap.attachAnchors()},e.decorators=[{type:t.Directive,args:[{selector:"cdk-focus-trap"}]}],e.ctorParameters=function(){return[{type:t.ElementRef},{type:S}]},e.propDecorators={disabled:[{type:t.Input}]},e}(),P=function(){function e(e,t,n){this._elementRef=e,this._f
 ocusTrapFactory=t,this._previouslyFocusedElement=null,this._document=n,this.focusTrap=this._focusTrapFactory.create(this._elementRef.nativeElement,!0)}return Object.defineProperty(e.prototype,"enabled",{get:function(){return this.focusTrap.enabled},set:function(e){this.focusTrap.enabled=n.coerceBooleanProperty(e)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"autoCapture",{get:function(){return this._autoCapture},set:function(e){this._autoCapture=n.coerceBooleanProperty(e)},enumerable:!0,configurable:!0}),e.prototype.ngOnDestroy=function(){this.focusTrap.destroy(),this._previouslyFocusedElement&&(this._previouslyFocusedElement.focus(),this._previouslyFocusedElement=null)},e.prototype.ngAfterContentInit=function(){this.focusTrap.attachAnchors(),this.autoCapture&&(this._previouslyFocusedElement=this._document.activeElement,this.focusTrap.focusInitialElementWhenReady())},e.decorators=[{type:t.Directive,args:[{selector:"[cdkTrapFocus]",exportAs:"cdkTrapFocus"}]}],e.
 ctorParameters=function(){return[{type:t.ElementRef},{type:S},{type:void 0,decorators:[{type:t.Inject,args:[o.DOCUMENT]}]}]},e.propDecorators={enabled:[{type:t.Input,args:["cdkTrapFocus"]}],autoCapture:[{type:t.Input,args:["cdkTrapFocusAutoCapture"]}]},e}(),K=" ",W=0,U=new Map,q=null,V=function(){function e(e){this._document=e}return e.prototype.describe=function(e,t){e.nodeType===this._document.ELEMENT_NODE&&t.trim()&&(U.has(t)||this._createMessageElement(t),this._isElementDescribedByMessage(e,t)||this._addMessageReference(e,t))},e.prototype.removeDescription=function(e,t){if(e.nodeType===this._document.ELEMENT_NODE&&t.trim()){this._isElementDescribedByMessage(e,t)&&this._removeMessageReference(e,t);var n=U.get(t);n&&0===n.referenceCount&&this._deleteMessageElement(t),q&&0===q.childNodes.length&&this._deleteMessagesContainer()}},e.prototype.ngOnDestroy=function(){for(var e=this._document.querySelectorAll("[cdk-describedby-host]"),t=0;t<e.length;t++)this._removeCdkDescribedByReferen
 ceIds(e[t]),e[t].removeAttribute("cdk-describedby-host");q&&this._deleteMessagesContainer(),U.clear()},e.prototype._createMessageElement=function(e){var t=this._document.createElement("div");t.setAttribute("id","cdk-describedby-message-"+W++),t.appendChild(this._document.createTextNode(e)),q||this._createMessagesContainer(),q.appendChild(t),U.set(e,{messageElement:t,referenceCount:0})},e.prototype._deleteMessageElement=function(e){var t=U.get(e),n=t&&t.messageElement;q&&n&&q.removeChild(n),U.delete(e)},e.prototype._createMessagesContainer=function(){q=this._document.createElement("div"),q.setAttribute("id","cdk-describedby-message-container"),q.setAttribute("aria-hidden","true"),q.style.display="none",this._document.body.appendChild(q)},e.prototype._deleteMessagesContainer=function(){q&&q.parentNode&&(q.parentNode.removeChild(q),q=null)},e.prototype._removeCdkDescribedByReferenceIds=function(e){var t=R(e,"aria-describedby").filter(function(e){return 0!=e.indexOf("cdk-describedby-mes
 sage")});e.setAttribute("aria-describedby",t.join(" "))},e.prototype._addMessageReference=function(e,t){var n=U.get(t);O(e,"aria-describedby",n.messageElement.id),e.setAttribute("cdk-describedby-host",""),n.referenceCount++},e.prototype._removeMessageReference=function(e,t){var n=U.get(t);n.referenceCount--,x(e,"aria-describedby",n.messageElement.id),e.removeAttribute("cdk-describedby-host")},e.prototype._isElementDescribedByMessage=function(e,t){var n=R(e,"aria-describedby"),r=U.get(t),i=r&&r.messageElement.id;return!!i&&-1!=n.indexOf(i)},e.decorators=[{type:t.Injectable}],e.ctorParameters=function(){return[{type:void 0,decorators:[{type:t.Inject,args:[o.DOCUMENT]}]}]},e}(),Z={provide:V,deps:[[new t.Optional,new t.SkipSelf,V],o.DOCUMENT],useFactory:F},G=function(){function e(e){var t=this;this._items=e,this._activeItemIndex=-1,this._wrap=!1,this._letterKeyStream=new s.Subject,this._typeaheadSubscription=c.Subscription.EMPTY,this._vertical=!0,this._pressedLetters=[],this.tabOut=new 
 s.Subject,this.change=new s.Subject,e.changes.subscribe(function(e){if(t._activeItem){var n=e.toArray(),r=n.indexOf(t._activeItem);r>-1&&r!==t._activeItemIndex&&(t._activeItemIndex=r)}})}return e.prototype.withWrap=function(){return this._wrap=!0,this},e.prototype.withVerticalOrientation=function(e){return void 0===e&&(e=!0),this._vertical=e,this},e.prototype.withHorizontalOrientation=function(e){return this._horizontal=e,this},e.prototype.withTypeAhead=function(e){var t=this;if(void 0===e&&(e=200),this._items.length&&this._items.some(function(e){return"function"!=typeof e.getLabel}))throw Error("ListKeyManager items in typeahead mode must implement the `getLabel` method.");return this._typeaheadSubscription.unsubscribe(),this._typeaheadSubscription=this._letterKeyStream.pipe(h.tap(function(e){return t._pressedLetters.push(e)}),u.debounceTime(e),l.filter(function(){return t._pressedLetters.length>0}),d.map(function(){return t._pressedLetters.join("")})).subscribe(function(e){for(var
  n=t._items.toArray(),r=1;r<n.length+1;r++){var i=(t._activeItemIndex+r)%n.length,o=n[i];if(!o.disabled&&0===o.getLabel().toUpperCase().trim().indexOf(e)){t.setActiveItem(i);break}}t._pressedLetters=[]}),this},e.prototype.setActiveItem=function(e){var t=this._activeItemIndex;this._activeItemIndex=e,this._activeItem=this._items.toArray()[e],this._activeItemIndex!==t&&this.change.next(e)},e.prototype.onKeydown=function(e){var t=e.keyCode;switch(t){case a.TAB:return void this.tabOut.next();case a.DOWN_ARROW:if(this._vertical){this.setNextItemActive();break}case a.UP_ARROW:if(this._vertical){this.setPreviousItemActive();break}case a.RIGHT_ARROW:if("ltr"===this._horizontal){this.setNextItemActive();break}if("rtl"===this._horizontal){this.setPreviousItemActive();break}case a.LEFT_ARROW:if("ltr"===this._horizontal){this.setPreviousItemActive();break}if("rtl"===this._horizontal){this.setNextItemActive();break}default:return void(e.key&&1===e.key.length?this._letterKeyStream.next(e.key.toLoc
 aleUpperCase()):(t>=a.A&&t<=a.Z||t>=a.ZERO&&t<=a.NINE)&&this._letterKeyStream.next(String.fromCharCode(t)))}this._pressedLetters=[],e.preventDefault()},Object.defineProperty(e.prototype,"activeItemIndex",{get:function(){return this._activeItemIndex},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"activeItem",{get:function(){return this._activeItem},enumerable:!0,configurable:!0}),e.prototype.setFirstItemActive=function(){this._setActiveItemByIndex(0,1)},e.prototype.setLastItemActive=function(){this._setActiveItemByIndex(this._items.length-1,-1)},e.prototype.setNextItemActive=function(){this._activeItemIndex<0?this.setFirstItemActive():this._setActiveItemByDelta(1)},e.prototype.setPreviousItemActive=function(){this._activeItemIndex<0&&this._wrap?this.setLastItemActive():this._setActiveItemByDelta(-1)},e.prototype.updateActiveItemIndex=function(e){this._activeItemIndex=e},e.prototype._setActiveItemByDelta=function(e,t){void 0===t&&(t=this._items.toArray()),this._wra
 p?this._setActiveInWrapMode(e,t):this._setActiveInDefaultMode(e,t)},e.prototype._setActiveInWrapMode=function(e,t){this._activeItemIndex=(this._activeItemIndex+e+t.length)%t.length,t[this._activeItemIndex].disabled?this._setActiveInWrapMode(e,t):this.setActiveItem(this._activeItemIndex)},e.prototype._setActiveInDefaultMode=function(e,t){this._setActiveItemByIndex(this._activeItemIndex+e,e,t)},e.prototype._setActiveItemByIndex=function(e,t,n){if(void 0===n&&(n=this._items.toArray()),n[e]){for(;n[e].disabled;)if(e+=t,!n[e])return;this.setActiveItem(e)}},e}(),z=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return f(t,e),t.prototype.setActiveItem=function(t){this.activeItem&&this.activeItem.setInactiveStyles(),e.prototype.setActiveItem.call(this,t),this.activeItem&&this.activeItem.setActiveStyles()},t}(G),Y=function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t._origin="program",t}return f(t,e),t.prototype.setFocusOrigin=function(e){ret
 urn this._origin=e,this},t.prototype.setActiveItem=function(t){e.prototype.setActiveItem.call(this,t),this.activeItem&&this.activeItem.focus(this._origin)},t}(G),H=new t.InjectionToken("liveAnnouncerElement"),Q=function(){function e(e,t){this._document=t,this._liveElement=e||this._createLiveElement()}return e.prototype.announce=function(e,t){var n=this;void 0===t&&(t="polite"),this._liveElement.textContent="",this._liveElement.setAttribute("aria-live",t),setTimeout(function(){return n._liveElement.textContent=e},100)},e.prototype.ngOnDestroy=function(){this._liveElement&&this._liveElement.parentNode&&this._liveElement.parentNode.removeChild(this._liveElement)},e.prototype._createLiveElement=function(){var e=this._document.createElement("div");return e.classList.add("cdk-visually-hidden"),e.setAttribute("aria-atomic","true"),e.setAttribute("aria-live","polite"),this._document.body.appendChild(e),e},e.decorators=[{type:t.Injectable}],e.ctorParameters=function(){return[{type:void 0,dec
 orators:[{type:t.Optional},{type:t.Inject,args:[H]}]},{type:void 0,decorators:[{type:t.Inject,args:[o.DOCUMENT]}]}]},e}(),X={provide:Q,deps:[[new t.Optional,new t.SkipSelf,Q],[new t.Optional,new t.Inject(H)],o.DOCUMENT],useFactory:w},J=function(){function e(e,t){this._ngZone=e,this._platform=t,this._origin=null,this._windowFocused=!1,this._elementInfo=new Map,this._unregisterGlobalListeners=function(){},this._monitoredElementCount=0}return e.prototype.monitor=function(e,n,r){var i=this;if(n instanceof t.Renderer2||(r=n),r=!!r,!this._platform.isBrowser)return p.of(null);if(this._elementInfo.has(e)){var o=this._elementInfo.get(e);return o.checkChildren=r,o.subject.asObservable()}var c={unlisten:function(){},checkChildren:r,subject:new s.Subject};this._elementInfo.set(e,c),this._incrementMonitoredElementCount();var a=function(t){return i._onFocus(t,e)},u=function(t){return i._onBlur(t,e)};return this._ngZone.runOutsideAngular(function(){e.addEventListener("focus",a,!0),e.addEventListen
 er("blur",u,!0)}),c.unlisten=function(){e.removeEventListener("focus",a,!0),e.removeEventListener("blur",u,!0)},c.subject.asObservable()},e.prototype.stopMonitoring=function(e){var t=this._elementInfo.get(e);t&&(t.unlisten(),t.subject.complete(),this._setClasses(e),this._elementInfo.delete(e),this._decrementMonitoredElementCount())},e.prototype.focusVia=function(e,t){this._setOriginForCurrentEventQueue(t),e.focus()},e.prototype.ngOnDestroy=function(){var e=this;this._elementInfo.forEach(function(t,n){return e.stopMonitoring(n)})},e.prototype._registerGlobalListeners=function(){var e=this;if(this._platform.isBrowser){var t=function(){e._lastTouchTarget=null,e._setOriginForCurrentEventQueue("keyboard")},n=function(){e._lastTouchTarget||e._setOriginForCurrentEventQueue("mouse")},r=function(t){null!=e._touchTimeoutId&&clearTimeout(e._touchTimeoutId),e._lastTouchTarget=t.target,e._touchTimeoutId=setTimeout(function(){return e._lastTouchTarget=null},650)},o=function(){e._windowFocused=!0,
 e._windowFocusTimeoutId=setTimeout(function(){return e._windowFocused=!1},0)};this._ngZone.runOutsideAngular(function(){document.addEventListener("keydown",t,!0),document.addEventListener("mousedown",n,!0),document.addEventListener("touchstart",r,!i.supportsPassiveEventListeners()||{passive:!0,capture:!0}),window.addEventListener("focus",o)}),this._unregisterGlobalListeners=function(){document.removeEventListener("keydown",t,!0),document.removeEventListener("mousedown",n,!0),document.removeEventListener("touchstart",r,!i.supportsPassiveEventListeners()||{passive:!0,capture:!0}),window.removeEventListener("focus",o),clearTimeout(e._windowFocusTimeoutId),clearTimeout(e._touchTimeoutId),clearTimeout(e._originTimeoutId)}}},e.prototype._toggleClass=function(e,t,n){n?e.classList.add(t):e.classList.remove(t)},e.prototype._setClasses=function(e,t){this._elementInfo.get(e)&&(this._toggleClass(e,"cdk-focused",!!t),this._toggleClass(e,"cdk-touch-focused","touch"===t),this._toggleClass(e,"cdk-k
 eyboard-focused","keyboard"===t),this._toggleClass(e,"cdk-mouse-focused","mouse"===t),this._toggleClass(e,"cdk-program-focused","program"===t))},e.prototype._setOriginForCurrentEventQueue=function(e){var t=this;this._origin=e,this._originTimeoutId=setTimeout(function(){return t._origin=null},0)},e.prototype._wasCausedByTouch=function(e){var t=e.target;return this._lastTouchTarget instanceof Node&&t instanceof Node&&(t===this._lastTouchTarget||t.contains(this._lastTouchTarget))},e.prototype._onFocus=function(e,t){var n=this._elementInfo.get(t);n&&(n.checkChildren||t===e.target)&&(this._origin||(this._windowFocused&&this._lastFocusOrigin?this._origin=this._lastFocusOrigin:this._wasCausedByTouch(e)?this._origin="touch":this._origin="program"),this._setClasses(t,this._origin),n.subject.next(this._origin),this._lastFocusOrigin=this._origin,this._origin=null)},e.prototype._onBlur=function(e,t){var n=this._elementInfo.get(t);!n||n.checkChildren&&e.relatedTarget instanceof Node&&t.contains(
 e.relatedTarget)||(this._setClasses(t),n.subject.next(null))},e.prototype._incrementMonitoredElementCount=function(){1==++this._monitoredElementCount&&this._registerGlobalListeners()},e.prototype._decrementMonitoredElementCount=function(){--this._monitoredElementCount||(this._unregisterGlobalListeners(),this._unregisterGlobalListeners=function(){})},e.decorators=[{type:t.Injectable}],e.ctorParameters=function(){return[{type:t.NgZone},{type:i.Platform}]},e}(),$=function(){function e(e,n){var r=this;this._elementRef=e,this._focusMonitor=n,this.cdkFocusChange=new t.EventEmitter,this._monitorSubscription=this._focusMonitor.monitor(this._elementRef.nativeElement,this._elementRef.nativeElement.hasAttribute("cdkMonitorSubtreeFocus")).subscribe(function(e){return r.cdkFocusChange.emit(e)})}return e.prototype.ngOnDestroy=function(){this._focusMonitor.stopMonitoring(this._elementRef.nativeElement),this._monitorSubscription.unsubscribe()},e.decorators=[{type:t.Directive,args:[{selector:"[cdkMo
 nitorElementFocus], [cdkMonitorSubtreeFocus]"}]}],e.ctorParameters=function(){return[{type:t.ElementRef},{type:J}]},e.propDecorators={cdkFocusChange:[{type:t.Output}]},e}(),ee={provide:J,deps:[[new t.Optional,new t.SkipSelf,J],t.NgZone,i.Platform],useFactory:N},te=function(){function e(){}return e.decorators=[{type:t.NgModule,args:[{imports:[o.CommonModule,i.PlatformModule],declarations:[P,B,$],exports:[P,B,$],providers:[D,S,V,X,Z,ee]}]}],e.ctorParameters=function(){return[]},e}();e.FocusTrapDirective=P,e.MESSAGES_CONTAINER_ID="cdk-describedby-message-container",e.CDK_DESCRIBEDBY_ID_PREFIX="cdk-describedby-message",e.CDK_DESCRIBEDBY_HOST_ATTRIBUTE="cdk-describedby-host",e.AriaDescriber=V,e.ARIA_DESCRIBER_PROVIDER_FACTORY=F,e.ARIA_DESCRIBER_PROVIDER=Z,e.ActiveDescendantKeyManager=z,e.FocusKeyManager=Y,e.ListKeyManager=G,e.FocusTrap=j,e.FocusTrapFactory=S,e.FocusTrapDeprecatedDirective=B,e.CdkTrapFocus=P,e.InteractivityChecker=D,e.LIVE_ANNOUNCER_ELEMENT_TOKEN=H,e.LiveAnnouncer=Q,e.LIV
 E_ANNOUNCER_PROVIDER_FACTORY=w,e.LIVE_ANNOUNCER_PROVIDER=X,e.TOUCH_BUFFER_MS=650,e.FocusMonitor=J,e.CdkMonitorFocus=$,e.FOCUS_MONITOR_PROVIDER_FACTORY=N,e.FOCUS_MONITOR_PROVIDER=ee,e.isFakeMousedownFromScreenReader=L,e.A11yModule=te,Object.defineProperty(e,"__esModule",{value:!0})});
+//# sourceMappingURL=cdk-a11y.umd.min.js.map


[02/59] [abbrv] [partial] nifi-fds git commit: update gh-pages

Posted by sc...@apache.org.
http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/eec354e6/node_modules/@angular/cdk/esm2015/overlay.js.map
----------------------------------------------------------------------
diff --git a/node_modules/@angular/cdk/esm2015/overlay.js.map b/node_modules/@angular/cdk/esm2015/overlay.js.map
new file mode 100644
index 0000000..c6d2aed
--- /dev/null
+++ b/node_modules/@angular/cdk/esm2015/overlay.js.map
@@ -0,0 +1 @@
+{"version":3,"file":"overlay.js","sources":["../../../src/cdk/overlay/index.ts","../../../src/cdk/overlay/public-api.ts","../../../src/cdk/overlay/fullscreen-overlay-container.ts","../../../src/cdk/overlay/overlay-module.ts","../../../src/cdk/overlay/overlay-directives.ts","../../../src/cdk/overlay/overlay.ts","../../../src/cdk/overlay/overlay-container.ts","../../../src/cdk/overlay/keyboard/overlay-keyboard-dispatcher.ts","../../../src/cdk/overlay/position/overlay-position-builder.ts","../../../src/cdk/overlay/position/global-position-strategy.ts","../../../src/cdk/overlay/position/connected-position-strategy.ts","../../../src/cdk/overlay/overlay-ref.ts","../../../src/cdk/overlay/scroll/index.ts","../../../src/cdk/overlay/scroll/scroll-strategy-options.ts","../../../src/cdk/overlay/scroll/reposition-scroll-strategy.ts","../../../src/cdk/overlay/position/scroll-clip.ts","../../../src/cdk/overlay/scroll/block-scroll-strategy.ts","../../../src/cdk/overlay/scroll/close-scroll-strategy.
 ts","../../../src/cdk/overlay/scroll/scroll-strategy.ts","../../../src/cdk/overlay/position/connected-position.ts","../../../src/cdk/overlay/overlay-config.ts","../../../src/cdk/overlay/scroll/noop-scroll-strategy.ts"],"sourcesContent":["/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n\nexport {OVERLAY_KEYBOARD_DISPATCHER_PROVIDER as ɵg,OVERLAY_KEYBOARD_DISPATCHER_PROVIDER_FACTORY as ɵf} from './keyboard/overlay-keyboard-dispatcher';\nexport {OVERLAY_CONTAINER_PROVIDER as ɵb,OVERLAY_CONTAINER_PROVIDER_FACTORY as ɵa} from './overlay-container';\nexport {CDK_CONNECTED_OVERLAY_SCROLL_STRATEGY as ɵc,CDK_CONNECTED_OVERLAY_SCROLL_STRATEGY_PROVIDER as ɵe,CDK_CONNECTED_OVERLAY_SCROLL_STRATEGY_PROVIDER_FACTORY as ɵd} from './overlay-directives';","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n 
 */\n\nexport * from './overlay-config';\nexport * from './position/connected-position';\nexport * from './scroll/index';\nexport * from './overlay-module';\nexport {Overlay} from './overlay';\nexport {OverlayContainer} from './overlay-container';\nexport {CdkOverlayOrigin, CdkConnectedOverlay} from './overlay-directives';\nexport {FullscreenOverlayContainer} from './fullscreen-overlay-container';\nexport {OverlayRef, OverlaySizeConfig} from './overlay-ref';\nexport {ViewportRuler} from '@angular/cdk/scrolling';\nexport {ComponentType} from '@angular/cdk/portal';\nexport {OverlayKeyboardDispatcher} from './keyboard/overlay-keyboard-dispatcher';\nexport {OverlayPositionBuilder} from './position/overlay-position-builder';\n\n// Export pre-defined position strategies and interface to build custom ones.\nexport {PositionStrategy} from './position/position-strategy';\nexport {GlobalPositionStrategy} from './position/global-position-strategy';\nexport {ConnectedPositionStrategy} from './po
 sition/connected-position-strategy';\nexport {VIEWPORT_RULER_PROVIDER} from '@angular/cdk/scrolling';\n\n/**\n * @deprecated Use CdkConnectedOverlay\n * @deletion-target 6.0.0\n */\nexport {CdkConnectedOverlay as ConnectedOverlayDirective} from './overlay-directives';\n\n/**\n * @deprecated Use CdkOverlayOrigin\n * @deletion-target 6.0.0\n */\nexport {CdkOverlayOrigin as OverlayOrigin} from './overlay-directives';\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {Injectable} from '@angular/core';\nimport {OverlayContainer} from './overlay-container';\n\n/**\n * Alternative to OverlayContainer that supports correct displaying of overlay elements in\n * Fullscreen mode\n * https://developer.mozilla.org/en-US/docs/Web/API/Element/requestFullScreen\n *\n * Should be provided in the root component.\n */\n@Injectable()
 \nexport class FullscreenOverlayContainer extends OverlayContainer {\n  protected _createContainer(): void {\n    super._createContainer();\n    this._adjustParentForFullscreenChange();\n    this._addFullscreenChangeListener(() => this._adjustParentForFullscreenChange());\n  }\n\n  private _adjustParentForFullscreenChange(): void {\n    if (!this._containerElement) {\n      return;\n    }\n    let fullscreenElement = this.getFullscreenElement();\n    let parent = fullscreenElement || document.body;\n    parent.appendChild(this._containerElement);\n  }\n\n  private _addFullscreenChangeListener(fn: () => void) {\n    if (document.fullscreenEnabled) {\n      document.addEventListener('fullscreenchange', fn);\n    } else if (document.webkitFullscreenEnabled) {\n      document.addEventListener('webkitfullscreenchange', fn);\n    } else if ((document as any).mozFullScreenEnabled) {\n      document.addEventListener('mozfullscreenchange', fn);\n    } else if ((document as any).msFullscreenE
 nabled) {\n      document.addEventListener('MSFullscreenChange', fn);\n    }\n  }\n\n  /**\n   * When the page is put into fullscreen mode, a specific element is specified.\n   * Only that element and its children are visible when in fullscreen mode.\n   */\n  getFullscreenElement(): Element {\n    return document.fullscreenElement ||\n        document.webkitFullscreenElement ||\n        (document as any).mozFullScreenElement ||\n        (document as any).msFullscreenElement ||\n        null;\n  }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {BidiModule} from '@angular/cdk/bidi';\nimport {PortalModule} from '@angular/cdk/portal';\nimport {ScrollDispatchModule, VIEWPORT_RULER_PROVIDER} from '@angular/cdk/scrolling';\nimport {NgModule, Provider} from '@angular/core';\nimport {Overlay} from './overlay';\nimpo
 rt {OVERLAY_CONTAINER_PROVIDER} from './overlay-container';\nimport {\n  CdkConnectedOverlay,\n  CDK_CONNECTED_OVERLAY_SCROLL_STRATEGY_PROVIDER,\n  CdkOverlayOrigin,\n} from './overlay-directives';\nimport {OverlayPositionBuilder} from './position/overlay-position-builder';\nimport {OVERLAY_KEYBOARD_DISPATCHER_PROVIDER} from './keyboard/overlay-keyboard-dispatcher';\nimport {ScrollStrategyOptions} from './scroll/scroll-strategy-options';\n\nexport const OVERLAY_PROVIDERS: Provider[] = [\n  Overlay,\n  OverlayPositionBuilder,\n  OVERLAY_KEYBOARD_DISPATCHER_PROVIDER,\n  VIEWPORT_RULER_PROVIDER,\n  OVERLAY_CONTAINER_PROVIDER,\n  CDK_CONNECTED_OVERLAY_SCROLL_STRATEGY_PROVIDER,\n];\n\n@NgModule({\n  imports: [BidiModule, PortalModule, ScrollDispatchModule],\n  exports: [CdkConnectedOverlay, CdkOverlayOrigin, ScrollDispatchModule],\n  declarations: [CdkConnectedOverlay, CdkOverlayOrigin],\n  providers: [OVERLAY_PROVIDERS, ScrollStrategyOptions],\n})\nexport class OverlayModule {}\n","/**\
 n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {Direction, Directionality} from '@angular/cdk/bidi';\nimport {coerceBooleanProperty} from '@angular/cdk/coercion';\nimport {ESCAPE} from '@angular/cdk/keycodes';\nimport {TemplatePortal} from '@angular/cdk/portal';\nimport {\n  Directive,\n  ElementRef,\n  EventEmitter,\n  Inject,\n  InjectionToken,\n  Input,\n  OnChanges,\n  OnDestroy,\n  Optional,\n  Output,\n  SimpleChanges,\n  TemplateRef,\n  ViewContainerRef,\n} from '@angular/core';\nimport {Subscription} from 'rxjs/Subscription';\nimport {Overlay} from './overlay';\nimport {OverlayConfig} from './overlay-config';\nimport {OverlayRef} from './overlay-ref';\nimport {\n  ConnectedOverlayPositionChange,\n  ConnectionPositionPair,\n} from './position/connected-position';\nimport {ConnectedPositionStrategy} from './posit
 ion/connected-position-strategy';\nimport {RepositionScrollStrategy, ScrollStrategy} from './scroll/index';\n\n\n/** Default set of positions for the overlay. Follows the behavior of a dropdown. */\nconst defaultPositionList = [\n  new ConnectionPositionPair(\n      {originX: 'start', originY: 'bottom'},\n      {overlayX: 'start', overlayY: 'top'}),\n  new ConnectionPositionPair(\n      {originX: 'start', originY: 'top'},\n      {overlayX: 'start', overlayY: 'bottom'}),\n  new ConnectionPositionPair(\n    {originX: 'end', originY: 'top'},\n    {overlayX: 'end', overlayY: 'bottom'}),\n  new ConnectionPositionPair(\n    {originX: 'end', originY: 'bottom'},\n    {overlayX: 'end', overlayY: 'top'}),\n];\n\n/** Injection token that determines the scroll handling while the connected overlay is open. */\nexport const CDK_CONNECTED_OVERLAY_SCROLL_STRATEGY =\n    new InjectionToken<() => ScrollStrategy>('cdk-connected-overlay-scroll-strategy');\n\n/** @docs-private */\nexport function CDK_CO
 NNECTED_OVERLAY_SCROLL_STRATEGY_PROVIDER_FACTORY(overlay: Overlay):\n    () => RepositionScrollStrategy {\n  return () => overlay.scrollStrategies.reposition();\n}\n\n/** @docs-private */\nexport const CDK_CONNECTED_OVERLAY_SCROLL_STRATEGY_PROVIDER = {\n  provide: CDK_CONNECTED_OVERLAY_SCROLL_STRATEGY,\n  deps: [Overlay],\n  useFactory: CDK_CONNECTED_OVERLAY_SCROLL_STRATEGY_PROVIDER_FACTORY,\n};\n\n\n/**\n * Directive applied to an element to make it usable as an origin for an Overlay using a\n * ConnectedPositionStrategy.\n */\n@Directive({\n  selector: '[cdk-overlay-origin], [overlay-origin], [cdkOverlayOrigin]',\n  exportAs: 'cdkOverlayOrigin',\n})\nexport class CdkOverlayOrigin {\n  constructor(\n      /** Reference to the element on which the directive is applied. */\n      public elementRef: ElementRef) { }\n}\n\n\n/**\n * Directive to facilitate declarative creation of an Overlay using a ConnectedPositionStrategy.\n */\n@Directive({\n  selector: '[cdk-connected-overlay], [con
 nected-overlay], [cdkConnectedOverlay]',\n  exportAs: 'cdkConnectedOverlay'\n})\nexport class CdkConnectedOverlay implements OnDestroy, OnChanges {\n  private _overlayRef: OverlayRef;\n  private _templatePortal: TemplatePortal;\n  private _hasBackdrop = false;\n  private _backdropSubscription = Subscription.EMPTY;\n  private _offsetX: number = 0;\n  private _offsetY: number = 0;\n  private _position: ConnectedPositionStrategy;\n\n  /** Origin for the connected overlay. */\n  @Input('cdkConnectedOverlayOrigin') origin: CdkOverlayOrigin;\n\n  /** Registered connected position pairs. */\n  @Input('cdkConnectedOverlayPositions') positions: ConnectionPositionPair[];\n\n  /** The offset in pixels for the overlay connection point on the x-axis */\n  @Input('cdkConnectedOverlayOffsetX')\n  get offsetX(): number { return this._offsetX; }\n  set offsetX(offsetX: number) {\n    this._offsetX = offsetX;\n    if (this._position) {\n      this._position.withOffsetX(offsetX);\n    }\n  }\n\n  /** 
 The offset in pixels for the overlay connection point on the y-axis */\n  @Input('cdkConnectedOverlayOffsetY')\n  get offsetY() { return this._offsetY; }\n  set offsetY(offsetY: number) {\n    this._offsetY = offsetY;\n    if (this._position) {\n      this._position.withOffsetY(offsetY);\n    }\n  }\n\n  /** The width of the overlay panel. */\n  @Input('cdkConnectedOverlayWidth') width: number | string;\n\n  /** The height of the overlay panel. */\n  @Input('cdkConnectedOverlayHeight') height: number | string;\n\n  /** The min width of the overlay panel. */\n  @Input('cdkConnectedOverlayMinWidth') minWidth: number | string;\n\n  /** The min height of the overlay panel. */\n  @Input('cdkConnectedOverlayMinHeight') minHeight: number | string;\n\n  /** The custom class to be set on the backdrop element. */\n  @Input('cdkConnectedOverlayBackdropClass') backdropClass: string;\n\n  /** Strategy to be used when handling scroll events while the overlay is open. */\n  @Input('cdkConnectedOve
 rlayScrollStrategy') scrollStrategy: ScrollStrategy =\n      this._scrollStrategy();\n\n  /** Whether the overlay is open. */\n  @Input('cdkConnectedOverlayOpen') open: boolean = false;\n\n  /** Whether or not the overlay should attach a backdrop. */\n  @Input('cdkConnectedOverlayHasBackdrop')\n  get hasBackdrop() { return this._hasBackdrop; }\n  set hasBackdrop(value: any) { this._hasBackdrop = coerceBooleanProperty(value); }\n\n  /**\n   * @deprecated\n   * @deletion-target 6.0.0\n   */\n  @Input('origin')\n  get _deprecatedOrigin(): CdkOverlayOrigin { return this.origin; }\n  set _deprecatedOrigin(_origin: CdkOverlayOrigin) { this.origin = _origin; }\n\n  /**\n   * @deprecated\n   * @deletion-target 6.0.0\n   */\n  @Input('positions')\n  get _deprecatedPositions(): ConnectionPositionPair[] { return this.positions; }\n  set _deprecatedPositions(_positions: ConnectionPositionPair[]) { this.positions = _positions; }\n\n  /**\n   * @deprecated\n   * @deletion-target 6.0.0\n   */\n  @
 Input('offsetX')\n  get _deprecatedOffsetX(): number { return this.offsetX; }\n  set _deprecatedOffsetX(_offsetX: number) { this.offsetX = _offsetX; }\n\n  /**\n   * @deprecated\n   * @deletion-target 6.0.0\n   */\n  @Input('offsetY')\n  get _deprecatedOffsetY(): number { return this.offsetY; }\n  set _deprecatedOffsetY(_offsetY: number) { this.offsetY = _offsetY; }\n\n  /**\n   * @deprecated\n   * @deletion-target 6.0.0\n   */\n  @Input('width')\n  get _deprecatedWidth(): number | string { return this.width; }\n  set _deprecatedWidth(_width: number | string) { this.width = _width; }\n\n  /**\n   * @deprecated\n   * @deletion-target 6.0.0\n   */\n  @Input('height')\n  get _deprecatedHeight(): number | string { return this.height; }\n  set _deprecatedHeight(_height: number | string) { this.height = _height; }\n\n  /**\n   * @deprecated\n   * @deletion-target 6.0.0\n   */\n  @Input('minWidth')\n  get _deprecatedMinWidth(): number | string { return this.minWidth; }\n  set _deprecatedMi
 nWidth(_minWidth: number | string) { this.minWidth = _minWidth; }\n\n  /**\n   * @deprecated\n   * @deletion-target 6.0.0\n   */\n  @Input('minHeight')\n  get _deprecatedMinHeight(): number | string { return this.minHeight; }\n  set _deprecatedMinHeight(_minHeight: number | string) { this.minHeight = _minHeight; }\n\n  /**\n   * @deprecated\n   * @deletion-target 6.0.0\n   */\n  @Input('backdropClass')\n  get _deprecatedBackdropClass(): string { return this.backdropClass; }\n  set _deprecatedBackdropClass(_backdropClass: string) { this.backdropClass = _backdropClass; }\n\n  /**\n   * @deprecated\n   * @deletion-target 6.0.0\n   */\n  @Input('scrollStrategy')\n  get _deprecatedScrollStrategy(): ScrollStrategy { return this.scrollStrategy; }\n  set _deprecatedScrollStrategy(_scrollStrategy: ScrollStrategy) {\n    this.scrollStrategy = _scrollStrategy;\n  }\n\n  /**\n   * @deprecated\n   * @deletion-target 6.0.0\n   */\n  @Input('open')\n  get _deprecatedOpen(): boolean { return this.o
 pen; }\n  set _deprecatedOpen(_open: boolean) { this.open = _open; }\n\n  /**\n   * @deprecated\n   * @deletion-target 6.0.0\n   */\n  @Input('hasBackdrop')\n  get _deprecatedHasBackdrop() { return this.hasBackdrop; }\n  set _deprecatedHasBackdrop(_hasBackdrop: any) { this.hasBackdrop = _hasBackdrop; }\n\n  /** Event emitted when the backdrop is clicked. */\n  @Output() backdropClick = new EventEmitter<void>();\n\n  /** Event emitted when the position has changed. */\n  @Output() positionChange = new EventEmitter<ConnectedOverlayPositionChange>();\n\n  /** Event emitted when the overlay has been attached. */\n  @Output() attach = new EventEmitter<void>();\n\n  /** Event emitted when the overlay has been detached. */\n  @Output() detach = new EventEmitter<void>();\n\n  // TODO(jelbourn): inputs for size, scroll behavior, animation, etc.\n\n  constructor(\n      private _overlay: Overlay,\n      templateRef: TemplateRef<any>,\n      viewContainerRef: ViewContainerRef,\n      @Inject(C
 DK_CONNECTED_OVERLAY_SCROLL_STRATEGY) private _scrollStrategy,\n      @Optional() private _dir: Directionality) {\n    this._templatePortal = new TemplatePortal(templateRef, viewContainerRef);\n  }\n\n  /** The associated overlay reference. */\n  get overlayRef(): OverlayRef {\n    return this._overlayRef;\n  }\n\n  /** The element's layout direction. */\n  get dir(): Direction {\n    return this._dir ? this._dir.value : 'ltr';\n  }\n\n  ngOnDestroy() {\n    this._destroyOverlay();\n  }\n\n  ngOnChanges(changes: SimpleChanges) {\n    if (this._position) {\n      if (changes['positions'] || changes['_deprecatedPositions']) {\n        this._position.withPositions(this.positions);\n      }\n\n      if (changes['origin'] || changes['_deprecatedOrigin']) {\n        this._position.setOrigin(this.origin.elementRef);\n\n        if (this.open) {\n          this._position.apply();\n        }\n      }\n    }\n\n    if (changes['open'] || changes['_deprecatedOpen']) {\n      this.open ? this._a
 ttachOverlay() : this._detachOverlay();\n    }\n  }\n\n  /** Creates an overlay */\n  private _createOverlay() {\n    if (!this.positions || !this.positions.length) {\n      this.positions = defaultPositionList;\n    }\n\n    this._overlayRef = this._overlay.create(this._buildConfig());\n  }\n\n  /** Builds the overlay config based on the directive's inputs */\n  private _buildConfig(): OverlayConfig {\n    const positionStrategy = this._position = this._createPositionStrategy();\n    const overlayConfig = new OverlayConfig({\n      positionStrategy,\n      scrollStrategy: this.scrollStrategy,\n      hasBackdrop: this.hasBackdrop\n    });\n\n    if (this.width || this.width === 0) {\n      overlayConfig.width = this.width;\n    }\n\n    if (this.height || this.height === 0) {\n      overlayConfig.height = this.height;\n    }\n\n    if (this.minWidth || this.minWidth === 0) {\n      overlayConfig.minWidth = this.minWidth;\n    }\n\n    if (this.minHeight || this.minHeight === 0) {\n 
      overlayConfig.minHeight = this.minHeight;\n    }\n\n    if (this.backdropClass) {\n      overlayConfig.backdropClass = this.backdropClass;\n    }\n\n    return overlayConfig;\n  }\n\n  /** Returns the position strategy of the overlay to be set on the overlay config */\n  private _createPositionStrategy(): ConnectedPositionStrategy {\n    const primaryPosition = this.positions[0];\n    const originPoint = {originX: primaryPosition.originX, originY: primaryPosition.originY};\n    const overlayPoint = {overlayX: primaryPosition.overlayX, overlayY: primaryPosition.overlayY};\n    const strategy = this._overlay.position()\n      .connectedTo(this.origin.elementRef, originPoint, overlayPoint)\n      .withOffsetX(this.offsetX)\n      .withOffsetY(this.offsetY);\n\n    for (let i = 1; i < this.positions.length; i++) {\n      strategy.withFallbackPosition(\n          {originX: this.positions[i].originX, originY: this.positions[i].originY},\n          {overlayX: this.positions[i].overlay
 X, overlayY: this.positions[i].overlayY}\n      );\n    }\n\n    strategy.onPositionChange.subscribe(pos => this.positionChange.emit(pos));\n\n    return strategy;\n  }\n\n  /** Attaches the overlay and subscribes to backdrop clicks if backdrop exists */\n  private _attachOverlay() {\n    if (!this._overlayRef) {\n      this._createOverlay();\n\n      this._overlayRef!.keydownEvents().subscribe((event: KeyboardEvent) => {\n        if (event.keyCode === ESCAPE) {\n          this._detachOverlay();\n        }\n      });\n    }\n\n    this._position.withDirection(this.dir);\n    this._overlayRef.setDirection(this.dir);\n\n    if (!this._overlayRef.hasAttached()) {\n      this._overlayRef.attach(this._templatePortal);\n      this.attach.emit();\n    }\n\n    if (this.hasBackdrop) {\n      this._backdropSubscription = this._overlayRef.backdropClick().subscribe(() => {\n        this.backdropClick.emit();\n      });\n    }\n  }\n\n  /** Detaches the overlay and unsubscribes to backdrop clic
 ks if backdrop exists */\n  private _detachOverlay() {\n    if (this._overlayRef) {\n      this._overlayRef.detach();\n      this.detach.emit();\n    }\n\n    this._backdropSubscription.unsubscribe();\n  }\n\n  /** Destroys the overlay created by this directive. */\n  private _destroyOverlay() {\n    if (this._overlayRef) {\n      this._overlayRef.dispose();\n    }\n\n    this._backdropSubscription.unsubscribe();\n  }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {\n  ComponentFactoryResolver,\n  Injectable,\n  ApplicationRef,\n  Injector,\n  NgZone,\n  Inject,\n} from '@angular/core';\nimport {DomPortalOutlet} from '@angular/cdk/portal';\nimport {OverlayConfig} from './overlay-config';\nimport {OverlayRef} from './overlay-ref';\nimport {OverlayPositionBuilder} from './position/overlay-position-builder';\ni
 mport {OverlayKeyboardDispatcher} from './keyboard/overlay-keyboard-dispatcher';\nimport {OverlayContainer} from './overlay-container';\nimport {ScrollStrategyOptions} from './scroll/index';\nimport {DOCUMENT} from '@angular/common';\n\n\n/** Next overlay unique ID. */\nlet nextUniqueId = 0;\n\n/**\n * Service to create Overlays. Overlays are dynamically added pieces of floating UI, meant to be\n * used as a low-level building building block for other components. Dialogs, tooltips, menus,\n * selects, etc. can all be built using overlays. The service should primarily be used by authors\n * of re-usable components rather than developers building end-user applications.\n *\n * An overlay *is* a PortalOutlet, so any kind of Portal can be loaded into one.\n */\n@Injectable()\nexport class Overlay {\n  constructor(\n              /** Scrolling strategies that can be used when creating an overlay. */\n              public scrollStrategies: ScrollStrategyOptions,\n              private _ov
 erlayContainer: OverlayContainer,\n              private _componentFactoryResolver: ComponentFactoryResolver,\n              private _positionBuilder: OverlayPositionBuilder,\n              private _keyboardDispatcher: OverlayKeyboardDispatcher,\n              private _appRef: ApplicationRef,\n              private _injector: Injector,\n              private _ngZone: NgZone,\n              @Inject(DOCUMENT) private _document: any) { }\n\n  /**\n   * Creates an overlay.\n   * @param config Configuration applied to the overlay.\n   * @returns Reference to the created overlay.\n   */\n  create(config?: OverlayConfig): OverlayRef {\n    const pane = this._createPaneElement();\n    const portalOutlet = this._createPortalOutlet(pane);\n\n    return new OverlayRef(\n      portalOutlet,\n      pane,\n      new OverlayConfig(config),\n      this._ngZone,\n      this._keyboardDispatcher,\n      this._document\n    );\n  }\n\n  /**\n   * Gets a position builder that can be used, via fluent API
 ,\n   * to construct and configure a position strategy.\n   * @returns An overlay position builder.\n   */\n  position(): OverlayPositionBuilder {\n    return this._positionBuilder;\n  }\n\n  /**\n   * Creates the DOM element for an overlay and appends it to the overlay container.\n   * @returns Newly-created pane element\n   */\n  private _createPaneElement(): HTMLElement {\n    const pane = this._document.createElement('div');\n\n    pane.id = `cdk-overlay-${nextUniqueId++}`;\n    pane.classList.add('cdk-overlay-pane');\n    this._overlayContainer.getContainerElement().appendChild(pane);\n\n    return pane;\n  }\n\n  /**\n   * Create a DomPortalOutlet into which the overlay content can be loaded.\n   * @param pane The DOM element to turn into a portal outlet.\n   * @returns A portal outlet for the given DOM element.\n   */\n  private _createPortalOutlet(pane: HTMLElement): DomPortalOutlet {\n    return new DomPortalOutlet(pane, this._componentFactoryResolver, this._appRef, this._i
 njector);\n  }\n\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {Injectable, InjectionToken, Inject, Optional, SkipSelf, OnDestroy} from '@angular/core';\nimport {DOCUMENT} from '@angular/common';\n\n\n/** Container inside which all overlays will render. */\n@Injectable()\nexport class OverlayContainer implements OnDestroy {\n  protected _containerElement: HTMLElement;\n\n  constructor(@Inject(DOCUMENT) private _document: any) {}\n\n  ngOnDestroy() {\n    if (this._containerElement && this._containerElement.parentNode) {\n      this._containerElement.parentNode.removeChild(this._containerElement);\n    }\n  }\n\n  /**\n   * This method returns the overlay container element. It will lazily\n   * create the element the first time  it is called to facilitate using\n   * the container in non-browser environments
 .\n   * @returns the container element\n   */\n  getContainerElement(): HTMLElement {\n    if (!this._containerElement) { this._createContainer(); }\n    return this._containerElement;\n  }\n\n  /**\n   * Create the overlay container element, which is simply a div\n   * with the 'cdk-overlay-container' class on the document body.\n   */\n  protected _createContainer(): void {\n    const container = this._document.createElement('div');\n\n    container.classList.add('cdk-overlay-container');\n    this._document.body.appendChild(container);\n    this._containerElement = container;\n  }\n}\n\n/** @docs-private */\nexport function OVERLAY_CONTAINER_PROVIDER_FACTORY(parentContainer: OverlayContainer,\n  _document: any) {\n  return parentContainer || new OverlayContainer(_document);\n}\n\n/** @docs-private */\nexport const OVERLAY_CONTAINER_PROVIDER = {\n  // If there is already an OverlayContainer available, use that. Otherwise, provide a new one.\n  provide: OverlayContainer,\n  deps: [
 \n    [new Optional(), new SkipSelf(), OverlayContainer],\n    DOCUMENT as InjectionToken<any> // We need to use the InjectionToken somewhere to keep TS happy\n  ],\n  useFactory: OVERLAY_CONTAINER_PROVIDER_FACTORY\n};\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {Injectable, Inject, InjectionToken, Optional, SkipSelf, OnDestroy} from '@angular/core';\nimport {OverlayRef} from '../overlay-ref';\nimport {Subscription} from 'rxjs/Subscription';\nimport {filter} from 'rxjs/operators/filter';\nimport {fromEvent} from 'rxjs/observable/fromEvent';\nimport {DOCUMENT} from '@angular/common';\n\n/**\n * Service for dispatching keyboard events that land on the body to appropriate overlay ref,\n * if any. It maintains a list of attached overlays to determine best suited overlay based\n * on event target and order of ove
 rlay opens.\n */\n@Injectable()\nexport class OverlayKeyboardDispatcher implements OnDestroy {\n\n  /** Currently attached overlays in the order they were attached. */\n  _attachedOverlays: OverlayRef[] = [];\n\n  private _keydownEventSubscription: Subscription | null;\n\n  constructor(@Inject(DOCUMENT) private _document: any) {}\n\n  ngOnDestroy() {\n    this._unsubscribeFromKeydownEvents();\n  }\n\n  /** Add a new overlay to the list of attached overlay refs. */\n  add(overlayRef: OverlayRef): void {\n    // Lazily start dispatcher once first overlay is added\n    if (!this._keydownEventSubscription) {\n      this._subscribeToKeydownEvents();\n    }\n\n    this._attachedOverlays.push(overlayRef);\n  }\n\n  /** Remove an overlay from the list of attached overlay refs. */\n  remove(overlayRef: OverlayRef): void {\n    const index = this._attachedOverlays.indexOf(overlayRef);\n\n    if (index > -1) {\n      this._attachedOverlays.splice(index, 1);\n    }\n\n    // Remove the global l
 istener once there are no more overlays.\n    if (this._attachedOverlays.length === 0) {\n      this._unsubscribeFromKeydownEvents();\n    }\n  }\n\n  /**\n   * Subscribe to keydown events that land on the body and dispatch those\n   * events to the appropriate overlay.\n   */\n  private _subscribeToKeydownEvents(): void {\n    const bodyKeydownEvents = fromEvent<KeyboardEvent>(this._document.body, 'keydown', true);\n\n    this._keydownEventSubscription = bodyKeydownEvents.pipe(\n      filter(() => !!this._attachedOverlays.length)\n    ).subscribe(event => {\n      // Dispatch keydown event to the correct overlay.\n      this._selectOverlayFromEvent(event)._keydownEvents.next(event);\n    });\n  }\n\n  /** Removes the global keydown subscription. */\n  private _unsubscribeFromKeydownEvents(): void {\n    if (this._keydownEventSubscription) {\n      this._keydownEventSubscription.unsubscribe();\n      this._keydownEventSubscription = null;\n    }\n  }\n\n  /** Select the appropriate 
 overlay from a keydown event. */\n  private _selectOverlayFromEvent(event: KeyboardEvent): OverlayRef {\n    // Check if any overlays contain the event\n    const targetedOverlay = this._attachedOverlays.find(overlay => {\n      return overlay.overlayElement === event.target ||\n          overlay.overlayElement.contains(event.target as HTMLElement);\n    });\n\n    // Use the overlay if it exists, otherwise choose the most recently attached one\n    return targetedOverlay || this._attachedOverlays[this._attachedOverlays.length - 1];\n  }\n\n}\n\n/** @docs-private */\nexport function OVERLAY_KEYBOARD_DISPATCHER_PROVIDER_FACTORY(\n    dispatcher: OverlayKeyboardDispatcher, _document: any) {\n  return dispatcher || new OverlayKeyboardDispatcher(_document);\n}\n\n/** @docs-private */\nexport const OVERLAY_KEYBOARD_DISPATCHER_PROVIDER = {\n  // If there is already an OverlayKeyboardDispatcher available, use that.\n  // Otherwise, provide a new one.\n  provide: OverlayKeyboardDispatcher,\
 n  deps: [\n    [new Optional(), new SkipSelf(), OverlayKeyboardDispatcher],\n\n    // Coerce to `InjectionToken` so that the `deps` match the \"shape\"\n    // of the type expected by Angular\n    DOCUMENT as InjectionToken<any>\n  ],\n  useFactory: OVERLAY_KEYBOARD_DISPATCHER_PROVIDER_FACTORY\n};\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {ElementRef, Injectable, Inject} from '@angular/core';\nimport {ViewportRuler} from '@angular/cdk/scrolling';\nimport {ConnectedPositionStrategy} from './connected-position-strategy';\nimport {GlobalPositionStrategy} from './global-position-strategy';\nimport {OverlayConnectionPosition, OriginConnectionPosition} from './connected-position';\nimport {DOCUMENT} from '@angular/common';\n\n\n/** Builder for overlay position strategy. */\n@Injectable()\nexport class OverlayPo
 sitionBuilder {\n  constructor(private _viewportRuler: ViewportRuler,\n              @Inject(DOCUMENT) private _document: any) { }\n\n  /**\n   * Creates a global position strategy.\n   */\n  global(): GlobalPositionStrategy {\n    return new GlobalPositionStrategy(this._document);\n  }\n\n  /**\n   * Creates a relative position strategy.\n   * @param elementRef\n   * @param originPos\n   * @param overlayPos\n   */\n  connectedTo(\n      elementRef: ElementRef,\n      originPos: OriginConnectionPosition,\n      overlayPos: OverlayConnectionPosition): ConnectedPositionStrategy {\n\n    return new ConnectedPositionStrategy(originPos, overlayPos, elementRef,\n        this._viewportRuler, this._document);\n  }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {PositionStrategy} from './position-strategy';\nimport {
 OverlayRef} from '../overlay-ref';\n\n\n/**\n * A strategy for positioning overlays. Using this strategy, an overlay is given an\n * explicit position relative to the browser's viewport. We use flexbox, instead of\n * transforms, in order to avoid issues with subpixel rendering which can cause the\n * element to become blurry.\n */\nexport class GlobalPositionStrategy implements PositionStrategy {\n  /** The overlay to which this strategy is attached. */\n  private _overlayRef: OverlayRef;\n\n  private _cssPosition: string = 'static';\n  private _topOffset: string = '';\n  private _bottomOffset: string = '';\n  private _leftOffset: string = '';\n  private _rightOffset: string = '';\n  private _alignItems: string = '';\n  private _justifyContent: string = '';\n  private _width: string = '';\n  private _height: string = '';\n\n  /** A lazily-created wrapper for the overlay element that is used as a flex container. */\n  private _wrapper: HTMLElement | null = null;\n\n  constructor(pri
 vate _document: any) {}\n\n  attach(overlayRef: OverlayRef): void {\n    this._overlayRef = overlayRef;\n  }\n\n  /**\n   * Sets the top position of the overlay. Clears any previously set vertical position.\n   * @param value New top offset.\n   */\n  top(value: string = ''): this {\n    this._bottomOffset = '';\n    this._topOffset = value;\n    this._alignItems = 'flex-start';\n    return this;\n  }\n\n  /**\n   * Sets the left position of the overlay. Clears any previously set horizontal position.\n   * @param value New left offset.\n   */\n  left(value: string = ''): this {\n    this._rightOffset = '';\n    this._leftOffset = value;\n    this._justifyContent = 'flex-start';\n    return this;\n  }\n\n  /**\n   * Sets the bottom position of the overlay. Clears any previously set vertical position.\n   * @param value New bottom offset.\n   */\n  bottom(value: string = ''): this {\n    this._topOffset = '';\n    this._bottomOffset = value;\n    this._alignItems = 'flex-end';\n    re
 turn this;\n  }\n\n  /**\n   * Sets the right position of the overlay. Clears any previously set horizontal position.\n   * @param value New right offset.\n   */\n  right(value: string = ''): this {\n    this._leftOffset = '';\n    this._rightOffset = value;\n    this._justifyContent = 'flex-end';\n    return this;\n  }\n\n  /**\n   * Sets the overlay width and clears any previously set width.\n   * @param value New width for the overlay\n   */\n  width(value: string = ''): this {\n    this._width = value;\n\n    // When the width is 100%, we should reset the `left` and the offset,\n    // in order to ensure that the element is flush against the viewport edge.\n    if (value === '100%') {\n      this.left('0px');\n    }\n\n    return this;\n  }\n\n  /**\n   * Sets the overlay height and clears any previously set height.\n   * @param value New height for the overlay\n   */\n  height(value: string = ''): this {\n    this._height = value;\n\n    // When the height is 100%, we should re
 set the `top` and the offset,\n    // in order to ensure that the element is flush against the viewport edge.\n    if (value === '100%') {\n      this.top('0px');\n    }\n\n    return this;\n  }\n\n  /**\n   * Centers the overlay horizontally with an optional offset.\n   * Clears any previously set horizontal position.\n   *\n   * @param offset Overlay offset from the horizontal center.\n   */\n  centerHorizontally(offset: string = ''): this {\n    this.left(offset);\n    this._justifyContent = 'center';\n    return this;\n  }\n\n  /**\n   * Centers the overlay vertically with an optional offset.\n   * Clears any previously set vertical position.\n   *\n   * @param offset Overlay offset from the vertical center.\n   */\n  centerVertically(offset: string = ''): this {\n    this.top(offset);\n    this._alignItems = 'center';\n    return this;\n  }\n\n  /**\n   * Apply the position to the element.\n   * @docs-private\n   *\n   * @returns Resolved when the styles have been applied.\n   
 */\n  apply(): void {\n    // Since the overlay ref applies the strategy asynchronously, it could\n    // have been disposed before it ends up being applied. If that is the\n    // case, we shouldn't do anything.\n    if (!this._overlayRef.hasAttached()) {\n      return;\n    }\n\n    const element = this._overlayRef.overlayElement;\n\n    if (!this._wrapper && element.parentNode) {\n      this._wrapper = this._document.createElement('div');\n      this._wrapper!.classList.add('cdk-global-overlay-wrapper');\n      element.parentNode.insertBefore(this._wrapper!, element);\n      this._wrapper!.appendChild(element);\n    }\n\n    let styles = element.style;\n    let parentStyles = (element.parentNode as HTMLElement).style;\n\n    styles.position = this._cssPosition;\n    styles.marginTop = this._topOffset;\n    styles.marginLeft = this._leftOffset;\n    styles.marginBottom = this._bottomOffset;\n    styles.marginRight = this._rightOffset;\n    styles.width = this._width;\n    styles.h
 eight = this._height;\n\n    parentStyles.justifyContent = this._justifyContent;\n    parentStyles.alignItems = this._alignItems;\n  }\n\n  /** Removes the wrapper element from the DOM. */\n  dispose(): void {\n    if (this._wrapper && this._wrapper.parentNode) {\n      this._wrapper.parentNode.removeChild(this._wrapper);\n      this._wrapper = null;\n    }\n  }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {PositionStrategy} from './position-strategy';\nimport {ElementRef} from '@angular/core';\nimport {ViewportRuler} from '@angular/cdk/scrolling';\nimport {\n  ConnectionPositionPair,\n  OriginConnectionPosition,\n  OverlayConnectionPosition,\n  ConnectedOverlayPositionChange,\n  ScrollingVisibility,\n} from './connected-position';\nimport {Subject} from 'rxjs/Subject';\nimport {Subscription} from 'rxjs/Su
 bscription';\nimport {Observable} from 'rxjs/Observable';\nimport {CdkScrollable} from '@angular/cdk/scrolling';\nimport {isElementScrolledOutsideView, isElementClippedByScrolling} from './scroll-clip';\nimport {OverlayRef} from '../overlay-ref';\n\n\n\n/**\n * A strategy for positioning overlays. Using this strategy, an overlay is given an\n * implicit position relative some origin element. The relative position is defined in terms of\n * a point on the origin element that is connected to a point on the overlay element. For example,\n * a basic dropdown is connecting the bottom-left corner of the origin to the top-left corner\n * of the overlay.\n */\nexport class ConnectedPositionStrategy implements PositionStrategy {\n  /** The overlay to which this strategy is attached. */\n  private _overlayRef: OverlayRef;\n\n  /** Layout direction of the position strategy. */\n  private _dir = 'ltr';\n\n  /** The offset in pixels for the overlay connection point on the x-axis */\n  private _o
 ffsetX: number = 0;\n\n  /** The offset in pixels for the overlay connection point on the y-axis */\n  private _offsetY: number = 0;\n\n  /** The Scrollable containers used to check scrollable view properties on position change. */\n  private scrollables: CdkScrollable[] = [];\n\n  /** Subscription to viewport resize events. */\n  private _resizeSubscription = Subscription.EMPTY;\n\n  /** Whether the we're dealing with an RTL context */\n  get _isRtl() {\n    return this._dir === 'rtl';\n  }\n\n  /** Ordered list of preferred positions, from most to least desirable. */\n  _preferredPositions: ConnectionPositionPair[] = [];\n\n  /** The origin element against which the overlay will be positioned. */\n  private _origin: HTMLElement;\n\n  /** The overlay pane element. */\n  private _pane: HTMLElement;\n\n  /** The last position to have been calculated as the best fit position. */\n  private _lastConnectedPosition: ConnectionPositionPair;\n\n  /** Whether the position strategy is applie
 d currently. */\n  private _applied = false;\n\n  /** Whether the overlay position is locked. */\n  private _positionLocked = false;\n\n  private _onPositionChange = new Subject<ConnectedOverlayPositionChange>();\n\n  /** Emits an event when the connection point changes. */\n  get onPositionChange(): Observable<ConnectedOverlayPositionChange> {\n    return this._onPositionChange.asObservable();\n  }\n\n  constructor(\n      originPos: OriginConnectionPosition,\n      overlayPos: OverlayConnectionPosition,\n      private _connectedTo: ElementRef,\n      private _viewportRuler: ViewportRuler,\n      private _document: any) {\n    this._origin = this._connectedTo.nativeElement;\n    this.withFallbackPosition(originPos, overlayPos);\n  }\n\n  /** Ordered list of preferred positions, from most to least desirable. */\n  get positions(): ConnectionPositionPair[] {\n    return this._preferredPositions;\n  }\n\n  /** Attach this position strategy to an overlay. */\n  attach(overlayRef: Overl
 ayRef): void {\n    this._overlayRef = overlayRef;\n    this._pane = overlayRef.overlayElement;\n    this._resizeSubscription.unsubscribe();\n    this._resizeSubscription = this._viewportRuler.change().subscribe(() => this.apply());\n  }\n\n  /** Disposes all resources used by the position strategy. */\n  dispose() {\n    this._applied = false;\n    this._resizeSubscription.unsubscribe();\n    this._onPositionChange.complete();\n  }\n\n  /** @docs-private */\n  detach() {\n    this._applied = false;\n    this._resizeSubscription.unsubscribe();\n  }\n\n  /**\n   * Updates the position of the overlay element, using whichever preferred position relative\n   * to the origin fits on-screen.\n   * @docs-private\n   */\n  apply(): void {\n    // If the position has been applied already (e.g. when the overlay was opened) and the\n    // consumer opted into locking in the position, re-use the  old position, in order to\n    // prevent the overlay from jumping around.\n    if (this._applied &
 & this._positionLocked && this._lastConnectedPosition) {\n      this.recalculateLastPosition();\n      return;\n    }\n\n    this._applied = true;\n\n    // We need the bounding rects for the origin and the overlay to determine how to position\n    // the overlay relative to the origin.\n    const element = this._pane;\n    const originRect = this._origin.getBoundingClientRect();\n    const overlayRect = element.getBoundingClientRect();\n\n    // We use the viewport size to determine whether a position would go off-screen.\n    const viewportSize = this._viewportRuler.getViewportSize();\n\n    // Fallback point if none of the fallbacks fit into the viewport.\n    let fallbackPoint: OverlayPoint | undefined;\n    let fallbackPosition: ConnectionPositionPair | undefined;\n\n    // We want to place the overlay in the first of the preferred positions such that the\n    // overlay fits on-screen.\n    for (let pos of this._preferredPositions) {\n      // Get the (x, y) point of connectio
 n on the origin, and then use that to get the\n      // (top, left) coordinate for the overlay at `pos`.\n      let originPoint = this._getOriginConnectionPoint(originRect, pos);\n      let overlayPoint = this._getOverlayPoint(originPoint, overlayRect, viewportSize, pos);\n\n      // If the overlay in the calculated position fits on-screen, put it there and we're done.\n      if (overlayPoint.fitsInViewport) {\n        this._setElementPosition(element, overlayRect, overlayPoint, pos);\n\n        // Save the last connected position in case the position needs to be re-calculated.\n        this._lastConnectedPosition = pos;\n\n        return;\n      } else if (!fallbackPoint || fallbackPoint.visibleArea < overlayPoint.visibleArea) {\n        fallbackPoint = overlayPoint;\n        fallbackPosition = pos;\n      }\n    }\n\n    // If none of the preferred positions were in the viewport, take the one\n    // with the largest visible area.\n    this._setElementPosition(element, overlayRect
 , fallbackPoint!, fallbackPosition!);\n  }\n\n  /**\n   * Re-positions the overlay element with the trigger in its last calculated position,\n   * even if a position higher in the \"preferred positions\" list would now fit. This\n   * allows one to re-align the panel without changing the orientation of the panel.\n   */\n  recalculateLastPosition(): void {\n    // If the overlay has never been positioned before, do nothing.\n    if (!this._lastConnectedPosition) {\n      return;\n    }\n\n    const originRect = this._origin.getBoundingClientRect();\n    const overlayRect = this._pane.getBoundingClientRect();\n    const viewportSize = this._viewportRuler.getViewportSize();\n    const lastPosition = this._lastConnectedPosition || this._preferredPositions[0];\n\n    let originPoint = this._getOriginConnectionPoint(originRect, lastPosition);\n    let overlayPoint = this._getOverlayPoint(originPoint, overlayRect, viewportSize, lastPosition);\n    this._setElementPosition(this._pane, over
 layRect, overlayPoint, lastPosition);\n  }\n\n  /**\n   * Sets the list of Scrollable containers that host the origin element so that\n   * on reposition we can evaluate if it or the overlay has been clipped or outside view. Every\n   * Scrollable must be an ancestor element of the strategy's origin element.\n   */\n  withScrollableContainers(scrollables: CdkScrollable[]) {\n    this.scrollables = scrollables;\n  }\n\n  /**\n   * Adds a new preferred fallback position.\n   * @param originPos\n   * @param overlayPos\n   */\n  withFallbackPosition(\n      originPos: OriginConnectionPosition,\n      overlayPos: OverlayConnectionPosition,\n      offsetX?: number,\n      offsetY?: number): this {\n\n    const position = new ConnectionPositionPair(originPos, overlayPos, offsetX, offsetY);\n    this._preferredPositions.push(position);\n    return this;\n  }\n\n  /**\n   * Sets the layout direction so the overlay's position can be adjusted to match.\n   * @param dir New layout direction.\n 
   */\n  withDirection(dir: 'ltr' | 'rtl'): this {\n    this._dir = dir;\n    return this;\n  }\n\n  /**\n   * Sets an offset for the overlay's connection point on the x-axis\n   * @param offset New offset in the X axis.\n   */\n  withOffsetX(offset: number): this {\n    this._offsetX = offset;\n    return this;\n  }\n\n  /**\n   * Sets an offset for the overlay's connection point on the y-axis\n   * @param  offset New offset in the Y axis.\n   */\n  withOffsetY(offset: number): this {\n    this._offsetY = offset;\n    return this;\n  }\n\n  /**\n   * Sets whether the overlay's position should be locked in after it is positioned\n   * initially. When an overlay is locked in, it won't attempt to reposition itself\n   * when the position is re-applied (e.g. when the user scrolls away).\n   * @param isLocked Whether the overlay should locked in.\n   */\n  withLockedPosition(isLocked: boolean): this {\n    this._positionLocked = isLocked;\n    return this;\n  }\n\n  /**\n   * Overwrites 
 the current set of positions with an array of new ones.\n   * @param positions Position pairs to be set on the strategy.\n   */\n  withPositions(positions: ConnectionPositionPair[]): this {\n    this._preferredPositions = positions.slice();\n    return this;\n  }\n\n  /**\n   * Sets the origin element, relative to which to position the overlay.\n   * @param origin Reference to the new origin element.\n   */\n  setOrigin(origin: ElementRef): this {\n    this._origin = origin.nativeElement;\n    return this;\n  }\n\n  /**\n   * Gets the horizontal (x) \"start\" dimension based on whether the overlay is in an RTL context.\n   * @param rect\n   */\n  private _getStartX(rect: ClientRect): number {\n    return this._isRtl ? rect.right : rect.left;\n  }\n\n  /**\n   * Gets the horizontal (x) \"end\" dimension based on whether the overlay is in an RTL context.\n   * @param rect\n   */\n  private _getEndX(rect: ClientRect): number {\n    return this._isRtl ? rect.left : rect.right;\n  }\n\n\
 n  /**\n   * Gets the (x, y) coordinate of a connection point on the origin based on a relative position.\n   * @param originRect\n   * @param pos\n   */\n  private _getOriginConnectionPoint(originRect: ClientRect, pos: ConnectionPositionPair): Point {\n    const originStartX = this._getStartX(originRect);\n    const originEndX = this._getEndX(originRect);\n\n    let x: number;\n    if (pos.originX == 'center') {\n      x = originStartX + (originRect.width / 2);\n    } else {\n      x = pos.originX == 'start' ? originStartX : originEndX;\n    }\n\n    let y: number;\n    if (pos.originY == 'center') {\n      y = originRect.top + (originRect.height / 2);\n    } else {\n      y = pos.originY == 'top' ? originRect.top : originRect.bottom;\n    }\n\n    return {x, y};\n  }\n\n\n  /**\n   * Gets the (x, y) coordinate of the top-left corner of the overlay given a given position and\n   * origin point to which the overlay should be connected, as well as how much of the element\n   * would 
 be inside the viewport at that position.\n   */\n  private _getOverlayPoint(\n      originPoint: Point,\n      overlayRect: ClientRect,\n      viewportSize: {width: number; height: number},\n      pos: ConnectionPositionPair): OverlayPoint {\n    // Calculate the (overlayStartX, overlayStartY), the start of the potential overlay position\n    // relative to the origin point.\n    let overlayStartX: number;\n    if (pos.overlayX == 'center') {\n      overlayStartX = -overlayRect.width / 2;\n    } else if (pos.overlayX === 'start') {\n      overlayStartX = this._isRtl ? -overlayRect.width : 0;\n    } else {\n      overlayStartX = this._isRtl ? 0 : -overlayRect.width;\n    }\n\n    let overlayStartY: number;\n    if (pos.overlayY == 'center') {\n      overlayStartY = -overlayRect.height / 2;\n    } else {\n      overlayStartY = pos.overlayY == 'top' ? 0 : -overlayRect.height;\n    }\n\n    // The (x, y) offsets of the overlay based on the current position.\n    let offsetX = typeof pos
 .offsetX === 'undefined' ? this._offsetX : pos.offsetX;\n    let offsetY = typeof pos.offsetY === 'undefined' ? this._offsetY : pos.offsetY;\n\n    // The (x, y) coordinates of the overlay.\n    let x = originPoint.x + overlayStartX + offsetX;\n    let y = originPoint.y + overlayStartY + offsetY;\n\n    // How much the overlay would overflow at this position, on each side.\n    let leftOverflow = 0 - x;\n    let rightOverflow = (x + overlayRect.width) - viewportSize.width;\n    let topOverflow = 0 - y;\n    let bottomOverflow = (y + overlayRect.height) - viewportSize.height;\n\n    // Visible parts of the element on each axis.\n    let visibleWidth = this._subtractOverflows(overlayRect.width, leftOverflow, rightOverflow);\n    let visibleHeight = this._subtractOverflows(overlayRect.height, topOverflow, bottomOverflow);\n\n    // The area of the element that's within the viewport.\n    let visibleArea = visibleWidth * visibleHeight;\n    let fitsInViewport = (overlayRect.width * over
 layRect.height) === visibleArea;\n\n    return {x, y, fitsInViewport, visibleArea};\n  }\n\n  /**\n   * Gets the view properties of the trigger and overlay, including whether they are clipped\n   * or completely outside the view of any of the strategy's scrollables.\n   */\n  private _getScrollVisibility(overlay: HTMLElement): ScrollingVisibility {\n    const originBounds = this._origin.getBoundingClientRect();\n    const overlayBounds = overlay.getBoundingClientRect();\n    const scrollContainerBounds =\n        this.scrollables.map(s => s.getElementRef().nativeElement.getBoundingClientRect());\n\n    return {\n      isOriginClipped: isElementClippedByScrolling(originBounds, scrollContainerBounds),\n      isOriginOutsideView: isElementScrolledOutsideView(originBounds, scrollContainerBounds),\n      isOverlayClipped: isElementClippedByScrolling(overlayBounds, scrollContainerBounds),\n      isOverlayOutsideView: isElementScrolledOutsideView(overlayBounds, scrollContainerBounds),\n   
  };\n  }\n\n  /** Physically positions the overlay element to the given coordinate. */\n  private _setElementPosition(\n      element: HTMLElement,\n      overlayRect: ClientRect,\n      overlayPoint: Point,\n      pos: ConnectionPositionPair) {\n\n    // We want to set either `top` or `bottom` based on whether the overlay wants to appear above\n    // or below the origin and the direction in which the element will expand.\n    let verticalStyleProperty = pos.overlayY === 'bottom' ? 'bottom' : 'top';\n\n    // When using `bottom`, we adjust the y position such that it is the distance\n    // from the bottom of the viewport rather than the top.\n    let y = verticalStyleProperty === 'top' ?\n        overlayPoint.y :\n        this._document.documentElement.clientHeight - (overlayPoint.y + overlayRect.height);\n\n    // We want to set either `left` or `right` based on whether the overlay wants to appear \"before\"\n    // or \"after\" the origin, which determines the direction in which
  the element will expand.\n    // For the horizontal axis, the meaning of \"before\" and \"after\" change based on whether the\n    // page is in RTL or LTR.\n    let horizontalStyleProperty: string;\n    if (this._dir === 'rtl') {\n      horizontalStyleProperty = pos.overlayX === 'end' ? 'left' : 'right';\n    } else {\n      horizontalStyleProperty = pos.overlayX === 'end' ? 'right' : 'left';\n    }\n\n    // When we're setting `right`, we adjust the x position such that it is the distance\n    // from the right edge of the viewport rather than the left edge.\n    let x = horizontalStyleProperty === 'left' ?\n      overlayPoint.x :\n      this._document.documentElement.clientWidth - (overlayPoint.x + overlayRect.width);\n\n\n    // Reset any existing styles. This is necessary in case the preferred position has\n    // changed since the last `apply`.\n    ['top', 'bottom', 'left', 'right'].forEach(p => element.style[p] = null);\n\n    element.style[verticalStyleProperty] = `${y}px`
 ;\n    element.style[horizontalStyleProperty] = `${x}px`;\n\n    // Notify that the position has been changed along with its change properties.\n    const scrollableViewProperties = this._getScrollVisibility(element);\n    const positionChange = new ConnectedOverlayPositionChange(pos, scrollableViewProperties);\n    this._onPositionChange.next(positionChange);\n  }\n\n  /**\n   * Subtracts the amount that an element is overflowing on an axis from it's length.\n   */\n  private _subtractOverflows(length: number, ...overflows: number[]): number {\n    return overflows.reduce((currentValue: number, currentOverflow: number) => {\n      return currentValue - Math.max(currentOverflow, 0);\n    }, length);\n  }\n}\n\n/** A simple (x, y) coordinate. */\ninterface Point {\n  x: number;\n  y: number;\n}\n\n/**\n * Expands the simple (x, y) coordinate by adding info about whether the\n * element would fit inside the viewport at that position, as well as\n * how much of the element would be vis
 ible.\n */\ninterface OverlayPoint extends Point {\n  visibleArea: number;\n  fitsInViewport: boolean;\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {Direction} from '@angular/cdk/bidi';\nimport {ComponentPortal, Portal, PortalOutlet, TemplatePortal} from '@angular/cdk/portal';\nimport {ComponentRef, EmbeddedViewRef, NgZone} from '@angular/core';\nimport {Observable} from 'rxjs/Observable';\nimport {take} from 'rxjs/operators/take';\nimport {Subject} from 'rxjs/Subject';\nimport {OverlayKeyboardDispatcher} from './keyboard/overlay-keyboard-dispatcher';\nimport {OverlayConfig} from './overlay-config';\n\n\n/** An object where all of its properties cannot be written. */\nexport type ImmutableObject<T> = {\n  readonly [P in keyof T]: T[P];\n};\n\n/**\n * Reference to an overlay that has been created with the O
 verlay service.\n * Used to manipulate or dispose of said overlay.\n */\nexport class OverlayRef implements PortalOutlet {\n  private _backdropElement: HTMLElement | null = null;\n  private _backdropClick: Subject<MouseEvent> = new Subject();\n  private _attachments = new Subject<void>();\n  private _detachments = new Subject<void>();\n\n  /** Stream of keydown events dispatched to this overlay. */\n  _keydownEvents = new Subject<KeyboardEvent>();\n\n  constructor(\n      private _portalOutlet: PortalOutlet,\n      private _pane: HTMLElement,\n      private _config: ImmutableObject<OverlayConfig>,\n      private _ngZone: NgZone,\n      private _keyboardDispatcher: OverlayKeyboardDispatcher,\n      private _document: Document) {\n\n    if (_config.scrollStrategy) {\n      _config.scrollStrategy.attach(this);\n    }\n  }\n\n  /** The overlay's HTML element */\n  get overlayElement(): HTMLElement {\n    return this._pane;\n  }\n\n  /** The overlay's backdrop HTML element. */\n  get bac
 kdropElement(): HTMLElement | null {\n    return this._backdropElement;\n  }\n\n  attach<T>(portal: ComponentPortal<T>): ComponentRef<T>;\n  attach<T>(portal: TemplatePortal<T>): EmbeddedViewRef<T>;\n  attach(portal: any): any;\n\n  /**\n   * Attaches content, given via a Portal, to the overlay.\n   * If the overlay is configured to have a backdrop, it will be created.\n   *\n   * @param portal Portal instance to which to attach the overlay.\n   * @returns The portal attachment result.\n   */\n  attach(portal: Portal<any>): any {\n    let attachResult = this._portalOutlet.attach(portal);\n\n    if (this._config.positionStrategy) {\n      this._config.positionStrategy.attach(this);\n    }\n\n    // Update the pane element with the given configuration.\n    this._updateStackingOrder();\n    this._updateElementSize();\n    this._updateElementDirection();\n\n    if (this._config.scrollStrategy) {\n      this._config.scrollStrategy.enable();\n    }\n\n    // Update the position once the 
 zone is stable so that the overlay will be fully rendered\n    // before attempting to position it, as the position may depend on the size of the rendered\n    // content.\n    this._ngZone.onStable.asObservable().pipe(take(1)).subscribe(() => {\n      // The overlay could've been detached before the zone has stabilized.\n      if (this.hasAttached()) {\n        this.updatePosition();\n      }\n    });\n\n    // Enable pointer events for the overlay pane element.\n    this._togglePointerEvents(true);\n\n    if (this._config.hasBackdrop) {\n      this._attachBackdrop();\n    }\n\n    if (this._config.panelClass) {\n      // We can't do a spread here, because IE doesn't support setting multiple classes.\n      if (Array.isArray(this._config.panelClass)) {\n        this._config.panelClass.forEach(cls => this._pane.classList.add(cls));\n      } else {\n        this._pane.classList.add(this._config.panelClass);\n      }\n    }\n\n    // Only emit the `attachments` event once all other se
 tup is done.\n    this._attachments.next();\n\n    // Track this overlay by the keyboard dispatcher\n    this._keyboardDispatcher.add(this);\n\n    return attachResult;\n  }\n\n  /**\n   * Detaches an overlay from a portal.\n   * @returns The portal detachment result.\n   */\n  detach(): any {\n    if (!this.hasAttached()) {\n      return;\n    }\n\n    this.detachBackdrop();\n\n    // When the overlay is detached, the pane element should disable pointer events.\n    // This is necessary because otherwise the pane element will cover the page and disable\n    // pointer events therefore. Depends on the position strategy and the applied pane boundaries.\n    this._togglePointerEvents(false);\n\n    if (this._config.positionStrategy && this._config.positionStrategy.detach) {\n      this._config.positionStrategy.detach();\n    }\n\n    if (this._config.scrollStrategy) {\n      this._config.scrollStrategy.disable();\n    }\n\n    const detachmentResult = this._portalOutlet.detach();\n\n 
    // Only emit after everything is detached.\n    this._detachments.next();\n\n    // Remove this overlay from keyboard dispatcher tracking\n    this._keyboardDispatcher.remove(this);\n\n    return detachmentResult;\n  }\n\n  /** Cleans up the overlay from the DOM. */\n  dispose(): void {\n    const isAttached = this.hasAttached();\n\n    if (this._config.positionStrategy) {\n      this._config.positionStrategy.dispose();\n    }\n\n    if (this._config.scrollStrategy) {\n      this._config.scrollStrategy.disable();\n    }\n\n    this.detachBackdrop();\n    this._keyboardDispatcher.remove(this);\n    this._portalOutlet.dispose();\n    this._attachments.complete();\n    this._backdropClick.complete();\n    this._keydownEvents.complete();\n\n    if (isAttached) {\n      this._detachments.next();\n    }\n\n    this._detachments.complete();\n  }\n\n  /** Whether the overlay has attached content. */\n  hasAttached(): boolean {\n    return this._portalOutlet.hasAttached();\n  }\n\n  /** G
 ets an observable that emits when the backdrop has been clicked. */\n  backdropClick(): Observable<MouseEvent> {\n    return this._backdropClick.asObservable();\n  }\n\n  /** Gets an observable that emits when the overlay has been attached. */\n  attachments(): Observable<void> {\n    return this._attachments.asObservable();\n  }\n\n  /** Gets an observable that emits when the overlay has been detached. */\n  detachments(): Observable<void> {\n    return this._detachments.asObservable();\n  }\n\n  /** Gets an observable of keydown events targeted to this overlay. */\n  keydownEvents(): Observable<KeyboardEvent> {\n    return this._keydownEvents.asObservable();\n  }\n\n  /** Gets the the current overlay configuration, which is immutable. */\n  getConfig(): OverlayConfig {\n    return this._config;\n  }\n\n  /** Updates the position of the overlay based on the position strategy. */\n  updatePosition() {\n    if (this._config.positionStrategy) {\n      this._config.positionStrategy.app
 ly();\n    }\n  }\n\n  /** Update the size properties of the overlay. */\n  updateSize(sizeConfig: OverlaySizeConfig) {\n    this._config = {...this._config, ...sizeConfig};\n    this._updateElementSize();\n  }\n\n  /** Sets the LTR/RTL direction for the overlay. */\n  setDirection(dir: Direction) {\n    this._config = {...this._config, direction: dir};\n    this._updateElementDirection();\n  }\n\n  /** Updates the text direction of the overlay panel. */\n  private _updateElementDirection() {\n    this._pane.setAttribute('dir', this._config.direction!);\n  }\n\n  /** Updates the size of the overlay element based on the overlay config. */\n  private _updateElementSize() {\n    if (this._config.width || this._config.width === 0) {\n      this._pane.style.width = formatCssUnit(this._config.width);\n    }\n\n    if (this._config.height || this._config.height === 0) {\n      this._pane.style.height = formatCssUnit(this._config.height);\n    }\n\n    if (this._config.minWidth || this._con
 fig.minWidth === 0) {\n      this._pane.style.minWidth = formatCssUnit(this._config.minWidth);\n    }\n\n    if (this._config.minHeight || this._config.minHeight === 0) {\n      this._pane.style.minHeight = formatCssUnit(this._config.minHeight);\n    }\n\n    if (this._config.maxWidth || this._config.maxWidth === 0) {\n      this._pane.style.maxWidth = formatCssUnit(this._config.maxWidth);\n    }\n\n    if (this._config.maxHeight || this._config.maxHeight === 0) {\n      this._pane.style.maxHeight = formatCssUnit(this._config.maxHeight);\n    }\n  }\n\n  /** Toggles the pointer events for the overlay pane element. */\n  private _togglePointerEvents(enablePointer: boolean) {\n    this._pane.style.pointerEvents = enablePointer ? 'auto' : 'none';\n  }\n\n  /** Attaches a backdrop for this overlay. */\n  private _attachBackdrop() {\n    const showingClass = 'cdk-overlay-backdrop-showing';\n\n    this._backdropElement = this._document.createElement('div');\n    this._backdropElement.clas
 sList.add('cdk-overlay-backdrop');\n\n    if (this._config.backdropClass) {\n      this._backdropElement.classList.add(this._config.backdropClass);\n    }\n\n    // Insert the backdrop before the pane in the DOM order,\n    // in order to handle stacked overlays properly.\n    this._pane.parentElement!.insertBefore(this._backdropElement, this._pane);\n\n    // Forward backdrop clicks such that the consumer of the overlay can perform whatever\n    // action desired when such a click occurs (usually closing the overlay).\n    this._backdropElement.addEventListener('click',\n        (event: MouseEvent) => this._backdropClick.next(event));\n\n    // Add class to fade-in the backdrop after one frame.\n    if (typeof requestAnimationFrame !== 'undefined') {\n      this._ngZone.runOutsideAngular(() => {\n        requestAnimationFrame(() => {\n          if (this._backdropElement) {\n            this._backdropElement.classList.add(showingClass);\n          }\n        });\n      });\n    } el
 se {\n      this._backdropElement.classList.add(showingClass);\n    }\n  }\n\n  /**\n   * Updates the stacking order of the element, moving it to the top if necessary.\n   * This is required in cases where one overlay was detached, while another one,\n   * that should be behind it, was destroyed. The next time both of them are opened,\n   * the stacking will be wrong, because the detached element's pane will still be\n   * in its original DOM position.\n   */\n  private _updateStackingOrder() {\n    if (this._pane.nextSibling) {\n      this._pane.parentNode!.appendChild(this._pane);\n    }\n  }\n\n  /** Detaches the backdrop (if any) associated with the overlay. */\n  detachBackdrop(): void {\n    let backdropToDetach = this._backdropElement;\n\n    if (backdropToDetach) {\n      let finishDetach = () => {\n        // It may not be attached to anything in certain cases (e.g. unit tests).\n        if (backdropToDetach && backdropToDetach.parentNode) {\n          backdropToDetach.pare
 ntNode.removeChild(backdropToDetach);\n        }\n\n        // It is possible that a new portal has been attached to this overlay since we started\n        // removing the backdrop. If that is the case, only clear the backdrop reference if it\n        // is still the same instance that we started to remove.\n        if (this._backdropElement == backdropToDetach) {\n          this._backdropElement = null;\n        }\n      };\n\n      backdropToDetach.classList.remove('cdk-overlay-backdrop-showing');\n\n      if (this._config.backdropClass) {\n        backdropToDetach.classList.remove(this._config.backdropClass);\n      }\n\n      backdropToDetach.addEventListener('transitionend', finishDetach);\n\n      // If the backdrop doesn't have a transition, the `transitionend` event won't fire.\n      // In this case we make it unclickable and we try to remove it after a delay.\n      backdropToDetach.style.pointerEvents = 'none';\n\n      // Run this outside the Angular zone because there's
  nothing that Angular cares about.\n      // If it were to run inside the Angular zone, every test that used Overlay would have to be\n      // either async or fakeAsync.\n      this._ngZone.runOutsideAngular(() => {\n        setTimeout(finishDetach, 500);\n      });\n    }\n  }\n}\n\nfunction formatCssUnit(value: number | string) {\n  return typeof value === 'string' ? value as string : `${value}px`;\n}\n\n\n/** Size properties for an overlay. */\nexport interface OverlaySizeConfig {\n  width?: number | string;\n  height?: number | string;\n  minWidth?: number | string;\n  minHeight?: number | string;\n  maxWidth?: number | string;\n  maxHeight?: number | string;\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nexport {CdkScrollable, ScrollDispatcher} from '@angular/cdk/scrolling';\n\n// Export pre-defined scroll st
 rategies and interface to build custom ones.\nexport {ScrollStrategy} from './scroll-strategy';\nexport {ScrollStrategyOptions} from './scroll-strategy-options';\nexport {RepositionScrollStrategy} from './reposition-scroll-strategy';\nexport {CloseScrollStrategy} from './close-scroll-strategy';\nexport {NoopScrollStrategy} from './noop-scroll-strategy';\nexport {BlockScrollStrategy} from './block-scroll-strategy';\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nimport {Injectable, NgZone, Inject} from '@angular/core';\nimport {CloseScrollStrategy, CloseScrollStrategyConfig} from './close-scroll-strategy';\nimport {NoopScrollStrategy} from './noop-scroll-strategy';\nimport {BlockScrollStrategy} from './block-scroll-strategy';\nimport {ScrollDispatcher} from '@angular/cdk/scrolling';\nimport {ViewportRuler} from '@angular/
 cdk/scrolling';\nimport {DOCUMENT} from '@angular/common';\nimport {\n  RepositionScrollStrategy,\n  RepositionScrollStrategyConfig,\n} from './reposition-scroll-strategy';\n\n\n/**\n * Options for how an overlay will handle scrolling.\n *\n * Users can provide a custom value for `ScrollStrategyOptions` to replace the default\n * behaviors. This class primarily acts as a factory for ScrollStrategy instances.\n */\n@Injectable()\nexport class ScrollStrategyOptions {\n  private _document: Document;\n\n  constructor(\n    private _scrollDispatcher: ScrollDispatcher,\n    private _viewportRuler: ViewportRuler,\n    private _ngZone: NgZone,\n    @Inject(DOCUMENT) document: any) {\n      this._document = document;\n    }\n\n  /** Do nothing on scroll. */\n  noop = () => new NoopScrollStrategy();\n\n  /**\n   * Close the overlay as soon as the user scrolls.\n   * @param config Configuration to be used inside the scroll strategy.\n   */\n  close = (config?: CloseScrollStrategyConfig) => new
  CloseScrollStrategy(this._scrollDispatcher,\n      this._ngZone, this._viewportRuler, config)\n\n  /** Block scrolling. */\n  block = () => new BlockScrollStrategy(this._viewportRuler, this._document);\n\n  /**\n   * Update the overlay's position on scroll.\n   * @param config Configuration to be used inside the scroll strategy.\n   * Allows debouncing the reposition calls.\n   */\n  reposition = (config?: RepositionScrollStrategyConfig) => new RepositionScrollStrategy(\n      this._scrollDispatcher, this._viewportRuler, this._ngZone, config)\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {NgZone} from '@angular/core';\nimport {Subscription} from 'rxjs/Subscription';\nimport {ScrollStrategy, getMatScrollStrategyAlreadyAttachedError} from './scroll-strategy';\nimport {OverlayRef} from '../overlay-ref';\nimpo
 rt {ScrollDispatcher, ViewportRuler} from '@angular/cdk/scrolling';\nimport {isElementScrolledOutsideView} from '../position/scroll-clip';\n\n/**\n * Config options for the RepositionScrollStrategy.\n */\nexport interface RepositionScrollStrategyConfig {\n  /** Time in milliseconds to throttle the scroll events. */\n  scrollThrottle?: number;\n\n  /** Whether to close the overlay once the user has scrolled away completely. */\n  autoClose?: boolean;\n}\n\n/**\n * Strategy that will update the element position as the user is scrolling.\n */\nexport class RepositionScrollStrategy implements ScrollStrategy {\n  private _scrollSubscription: Subscription|null = null;\n  private _overlayRef: OverlayRef;\n\n  constructor(\n    private _scrollDispatcher: ScrollDispatcher,\n    private _viewportRuler: ViewportRuler,\n    private _ngZone: NgZone,\n    private _config?: RepositionScrollStrategyConfig) { }\n\n  /** Attaches this scroll strategy to an overlay. */\n  attach(overlayRef: OverlayRef
 ) {\n    if (this._overlayRef) {\n      throw getMatScrollStrategyAlreadyAttachedError();\n    }\n\n    this._overlayRef = overlayRef;\n  }\n\n  /** Enables repositioning of the attached overlay on scroll. */\n  enable() {\n    if (!this._scrollSubscription) {\n      const throttle = this._config ? this._config.scrollThrottle : 0;\n\n      this._scrollSubscription = this._scrollDispatcher.scrolled(throttle).subscribe(() => {\n        this._overlayRef.updatePosition();\n\n        // TODO(crisbeto): make `close` on by default once all components can handle it.\n        if (this._config && this._config.autoClose) {\n          const overlayRect = this._overlayRef.overlayElement.getBoundingClientRect();\n          const {width, height} = this._viewportRuler.getViewportSize();\n\n          // TODO(crisbeto): include all ancestor scroll containers here once\n          // we have a way of exposing the trigger element to the scroll strategy.\n          const parentRects = [{width, height, bo
 ttom: height, right: width, top: 0, left: 0}];\n\n          if (isElementScrolledOutsideView(overlayRect, parentRects)) {\n            this.disable();\n            this._ngZone.run(() => this._overlayRef.detach());\n          }\n        }\n      });\n    }\n  }\n\n  /** Disables repositioning of the attached overlay on scroll. */\n  disable() {\n    if (this._scrollSubscription) {\n      this._scrollSubscription.unsubscribe();\n      this._scrollSubscription = null;\n    }\n  }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n// TODO(jelbourn): move this to live with the rest of the scrolling code\n// TODO(jelbourn): someday replace this with IntersectionObservers\n\n/**\n * Gets whether an element is scrolled outside of view by any of its parent scrolling containers.\n * @param element Dimensions of the element (fro
 m getBoundingClientRect)\n * @param scrollContainers Dimensions of element's scrolling containers (from getBoundingClientRect)\n * @returns Whether the element is scrolled out of view\n * @docs-private\n */\nexport function isElementScrolledOutsideView(element: ClientRect, scrollContainers: ClientRect[]) {\n  return scrollContainers.some(containerBounds => {\n    const outsideAbove = element.bottom < containerBounds.top;\n    const outsideBelow = element.top > containerBounds.bottom;\n    const outsideLeft = element.right < containerBounds.left;\n    const outsideRight = element.left > containerBounds.right;\n\n    return outsideAbove || outsideBelow || outsideLeft || outsideRight;\n  });\n}\n\n\n/**\n * Gets whether an element is clipped by any of its scrolling containers.\n * @param element Dimensions of the element (from getBoundingClientRect)\n * @param scrollContainers Dimensions of element's scrolling containers (from getBoundingClientRect)\n * @returns Whether the element is 
 clipped\n * @docs-private\n */\nexport function isElementClippedByScrolling(element: ClientRect, scrollContainers: ClientRect[]) {\n  return scrollContainers.some(scrollContainerRect => {\n    const clippedAbove = element.top < scrollContainerRect.top;\n    const clippedBelow = element.bottom > scrollContainerRect.bottom;\n    const clippedLeft = element.left < scrollContainerRect.left;\n    const clippedRight = element.right > scrollContainerRect.right;\n\n    return clippedAbove || clippedBelow || clippedLeft || clippedRight;\n  });\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {ScrollStrategy} from './scroll-strategy';\nimport {ViewportRuler} from '@angular/cdk/scrolling';\n\n/**\n * Strategy that will prevent the user from scrolling while the overlay is visible.\n */\nexport class BlockScrollStrategy im
 plements ScrollStrategy {\n  private _previousHTMLStyles = { top: '', left: '' };\n  private _previousScrollPosition: { top: number, left: number };\n  private _isEnabled = false;\n  private _document: Document;\n\n  constructor(private _viewportRuler: ViewportRuler, document: any) {\n    this._document = document;\n  }\n\n  /** Attaches this scroll strategy to an overlay. */\n  attach() { }\n\n  /** Blocks page-level scroll while the attached overlay is open. */\n  enable() {\n    if (this._canBeEnabled()) {\n      const root = this._document.documentElement;\n\n      this._previousScrollPosition = this._viewportRuler.getViewportScrollPosition();\n\n      // Cache the previous inline styles in case the user had set them.\n      this._previousHTMLStyles.left = root.style.left || '';\n      this._previousHTMLStyles.top = root.style.top || '';\n\n      // Note: we're using the `html` node, instead of the `body`, because the `body` may\n      // have the user agent margin, whereas the 
 `html` is guaranteed not to have one.\n      root.style.left = `${-this._previousScrollPosition.left}px`;\n      root.style.top = `${-this._previousScrollPosition.top}px`;\n      root.classList.add('cdk-global-scrollblock');\n      this._isEnabled = true;\n    }\n  }\n\n  /** Unblocks page-level scroll while the attached overlay is open. */\n  disable() {\n    if (this._isEnabled) {\n      const html = this._document.documentElement;\n      const body = this._document.body;\n      const previousHtmlScrollBehavior = html.style['scrollBehavior'] || '';\n      const previousBodyScrollBehavior = body.style['scrollBehavior'] || '';\n\n      this._isEnabled = false;\n\n      html.style.left = this._previousHTMLStyles.left;\n      html.style.top = this._previousHTMLStyles.top;\n      html.classList.remove('cdk-global-scrollblock');\n\n      // Disable user-defined smooth scrolling temporarily while we restore the scroll position.\n      // See https://developer.mozilla.org/en-US/docs/Web/C
 SS/scroll-behavior\n      html.style['scrollBehavior'] = body.style['scrollBehavior'] = 'auto';\n\n      window.scroll(this._previousScrollPosition.left, this._previousScrollPosition.top);\n\n      html.style['scrollBehavior'] = previousHtmlScrollBehavior;\n      body.style['scrollBehavior'] = previousBodyScrollBehavior;\n    }\n  }\n\n  private _canBeEnabled(): boolean {\n    // Since the scroll strategies can't be singletons, we have to use a global CSS class\n    // (`cdk-global-scrollblock`) to make sure that we don't try to disable global\n    // scrolling multiple times.\n    const html = this._document.documentElement;\n\n    if (html.classList.contains('cdk-global-scrollblock') || this._isEnabled) {\n      return false;\n    }\n\n    const body = this._document.body;\n    const viewport = this._viewportRuler.getViewportSize();\n    return body.scrollHeight > viewport.height || body.scrollWidth > viewport.width;\n  }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights
  Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nimport {NgZone} from '@angular/core';\nimport {ScrollStrategy, getMatScrollStrategyAlreadyAttachedError} from './scroll-strategy';\nimport {OverlayRef} from '../overlay-ref';\nimport {Subscription} from 'rxjs/Subscription';\nimport {ScrollDispatcher, ViewportRuler} from '@angular/cdk/scrolling';\n\n/**\n * Config options for the CloseScrollStrategy.\n */\nexport interface CloseScrollStrategyConfig {\n  /** Amount of pixels the user has to scroll before the overlay is closed. */\n  threshold?: number;\n}\n\n/**\n * Strategy that will close the overlay as soon as the user starts scrolling.\n */\nexport class CloseScrollStrategy implements ScrollStrategy {\n  private _scrollSubscription: Subscription|null = null;\n  private _overlayRef: OverlayRef;\n  private _initialScrollPosition: number;\n\n  constructor(\n    private _scrollDis
 patcher: ScrollDispatcher,\n    private _ngZone: NgZone,\n    private _viewportRuler: ViewportRuler,\n    private _config?: CloseScrollStrategyConfig) {}\n\n  /** Attaches this scroll strategy to an overlay. */\n  attach(overlayRef: OverlayRef) {\n    if (this._overlayRef) {\n      throw getMatScrollStrategyAlreadyAttachedError();\n    }\n\n    this._overlayRef = overlayRef;\n  }\n\n  /** Enables the closing of the attached overlay on scroll. */\n  enable() {\n    if (this._scrollSubscription) {\n      return;\n    }\n\n    const stream = this._scrollDispatcher.scrolled(0);\n\n    if (this._config && this._config.threshold && this._config.threshold > 1) {\n      this._initialScrollPosition = this._viewportRuler.getViewportScrollPosition().top;\n\n      this._scrollSubscription = stream.subscribe(() => {\n        const scrollPosition = this._viewportRuler.getViewportScrollPosition().top;\n\n        if (Math.abs(scrollPosition - this._initialScrollPosition) > this._config!.threshold!)
  {\n          this._detach();\n        } else {\n          this._overlayRef.updatePosition();\n        }\n      });\n    } else {\n      this._scrollSubscription = stream.subscribe(this._detach);\n    }\n  }\n\n  /** Disables the closing the attached overlay on scroll. */\n  disable() {\n    if (this._scrollSubscription) {\n      this._scrollSubscription.unsubscribe();\n      this._scrollSubscription = null;\n    }\n  }\n\n  /** Detaches the overlay ref and disables the scroll strategy. */\n  private _detach = () => {\n    this.disable();\n\n    if (this._overlayRef.hasAttached()) {\n      this._ngZone.run(() => this._overlayRef.detach());\n    }\n  }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {OverlayRef} from '../overlay-ref';\n\n/**\n * Describes a strategy that will be used by an overlay to handle sc
 roll events while it is open.\n */\nexport interface ScrollStrategy {\n  /** Enable this scroll strategy (called when the attached overlay is attached to a portal). */\n  enable: () => void;\n\n  /** Disable this scroll strategy (called when the attached overlay is detached from a portal). */\n  disable: () => void;\n\n  /** Attaches this `ScrollStrategy` to an overlay. */\n  attach: (overlayRef: OverlayRef) => void;\n}\n\n/**\n * Returns an error to be thrown when attempting to attach an already-attached scroll strategy.\n */\nexport function getMatScrollStrategyAlreadyAttachedError(): Error {\n  return Error(`Scroll strategy has already been attached.`);\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/** Horizontal dimension of a connection point on the perimeter of the origin or overlay element. */\nimport {Opti
 onal} from '@angular/core';\nexport type HorizontalConnectionPos = 'start' | 'center' | 'end';\n\n/** Vertical dimension of a connection point on the perimeter of the origin or overlay element. */\nexport type VerticalConnectionPos = 'top' | 'center' | 'bottom';\n\n\n/** A connection point on the origin element. */\nexport interface OriginConnectionPosition {\n  originX: HorizontalConnectionPos;\n  originY: VerticalConnectionPos;\n}\n\n/** A connection point on the overlay element. */\nexport interface OverlayConnectionPosition {\n  overlayX: HorizontalConnectionPos;\n  overlayY: VerticalConnectionPos;\n}\n\n/** The points of the origin element and the overlay element to connect. */\nexport class ConnectionPositionPair {\n  /** X-axis attachment point for connected overlay origin. Can be 'start', 'end', or 'center'. */\n  originX: HorizontalConnectionPos;\n  /** Y-axis attachment point for connected overlay origin. Can be 'top', 'bottom', or 'center'. */\n  originY: VerticalConnecti
 onPos;\n  /** X-axis attachment point for connected overlay. Can be 'start', 'end', or 'center'. */\n  overlayX: HorizontalConnectionPos;\n  /** Y-axis attachment point for connected overlay. Can be 'top', 'bottom', or 'center'. */\n  overlayY: VerticalConnectionPos;\n\n  constructor(\n    origin: OriginConnectionPosition,\n    overlay: OverlayConnectionPosition,\n    public offsetX?: number,\n    public offsetY?: number) {\n\n    this.originX = origin.originX;\n    this.originY = origin.originY;\n    this.overlayX = overlay.overlayX;\n    this.overlayY = overlay.overlayY;\n  }\n}\n\n/**\n * Set of properties regarding the position of the origin and overlay relative to the viewport\n * with respect to the containing Scrollable elements.\n *\n * The overlay and origin are clipped if any part of their bounding client rectangle exceeds the\n * bounds of any one of the strategy's Scrollable's bounding client rectangle.\n *\n * The overlay and origin are outside view if there is no overl
 ap between their bounding client\n * rectangle and any one of the strategy's Scrollable's bounding client rectangle.\n *\n *       -----------                    -----------\n *       | outside |                    | clipped |\n *       |  view   |              --------------------------\n *       |         |              |     |         |        |\n *       ----------               |     -----------        |\n *  --------------------------    |                        |\n *  |                        |    |      Scrollable        |\n *  |                        |    |                        |\n *  |                        |     --------------------------\n *  |      Scrollable        |\n *  |                        |\n *  --------------------------\n *\n *  @docs-private\n */\nexport class ScrollingVisibility {\n  isOriginClipped: boolean;\n  isOriginOutsideView: boolean;\n  isOverlayClipped: boolean;\n  isOverlayOutsideView: boolean;\n}\n\n/** The change event emitted by the strateg
 y when a fallback position is used. */\nexport class ConnectedOverlayPositionChange {\n  constructor(\n      /** The position used as a result of this change. */\n      public connectionPair: ConnectionPositionPair,\n      /** @docs-private */\n      @Optional() public scrollableViewProperties: ScrollingVisibility) {}\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {PositionStrategy} from './position/position-strategy';\nimport {Direction} from '@angular/cdk/bidi';\nimport {ScrollStrategy} from './scroll/scroll-strategy';\nimport {NoopScrollStrategy} from './scroll/noop-scroll-strategy';\n\n\n/** Initial configuration used when creating an overlay. */\nexport class OverlayConfig {\n  /** Strategy with which to position the overlay. */\n  positionStrategy?: PositionStrategy;\n\n  /** Strategy to be used when h
 andling scroll events while the overlay is open. */\n  scrollStrategy?: ScrollStrategy = new NoopScrollStrategy();\n\n  /** Custom class to add to the overlay pane. */\n  panelClass?: string | string[] = '';\n\n  /** Whether the overlay has a backdrop. */\n  hasBackdrop?: boolean = false;\n\n  /** Custom class to add to the backdrop */\n  backdropClass?: string = 'cdk-overlay-dark-backdrop';\n\n  /** The width of the overlay panel. If a number is provided, pixel units are assumed. */\n  width?: number | string;\n\n  /** The height of the overlay panel. If a number is provided, pixel units are assumed. */\n  height?: number | string;\n\n  /** The min-width of the overlay panel. If a number is provided, pixel units are assumed. */\n  minWidth?: number | string;\n\n  /** The min-height of the overlay panel. If a number is provided, pixel units are assumed. */\n  minHeight?: number | string;\n\n  /** The max-width of the overlay panel. If a number is provided, pixel units are assumed. *
 /\n  maxWidth?: number | string;\n\n  /** The max-height of the overlay panel. If a number is provided, pixel units are assumed. */\n  maxHeight?: number | string;\n\n  /** The direction of the text in the overlay panel. */\n  direction?: Direction = 'ltr';\n\n  constructor(config?: OverlayConfig) {\n    if (config) {\n      Object.keys(config)\n        .filter(key => typeof config[key] !== 'undefined')\n        .forEach(key => this[key] = config[key]);\n    }\n  }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {ScrollStrategy} from './scroll-strategy';\n\n/** Scroll strategy that doesn't do anything. */\nexport class NoopScrollStrategy implements ScrollStrategy {\n  /** Does nothing, as this scroll strategy is a no-op. */\n  enable() { }\n  /** Does nothing, as this scroll strategy is a no-op. */\n  disable
 () { }\n  /** Does nothing, as this scroll strategy is a no-op. */\n  attach() { }\n}\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AqBWA,AAAA,MAAA,kBAAA,CAAA;;;;;IAEE,MAAM,GAAR,GAAc;;;;;IAEZ,OAAO,GAAT,GAAe;;;;;IAEb,MAAM,GAAR,GAAc;CACb;;;;;;;ADPD;;;AAIA,AAAA,MAAA,aAAA,CAAA;;;;IAqCE,WAAF,CAAc,MAAsB,EAApC;;;;QAhCA,IAAA,CAAA,cAAA,G

<TRUNCATED>

[16/59] [abbrv] [partial] nifi-fds git commit: update gh-pages

Posted by sc...@apache.org.
http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/eec354e6/node_modules/@angular/cdk/bundles/cdk-overlay.umd.min.js
----------------------------------------------------------------------
diff --git a/node_modules/@angular/cdk/bundles/cdk-overlay.umd.min.js b/node_modules/@angular/cdk/bundles/cdk-overlay.umd.min.js
new file mode 100644
index 0000000..1cefdce
--- /dev/null
+++ b/node_modules/@angular/cdk/bundles/cdk-overlay.umd.min.js
@@ -0,0 +1,10 @@
+/**
+ * @license
+ * Copyright Google LLC All Rights Reserved.
+ *
+ * Use of this source code is governed by an MIT-style license that can be
+ * found in the LICENSE file at https://angular.io/license
+ */
+!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports,require("@angular/core"),require("@angular/cdk/scrolling"),require("@angular/common"),require("@angular/cdk/bidi"),require("@angular/cdk/portal"),require("rxjs/operators/take"),require("rxjs/Subject"),require("rxjs/Subscription"),require("rxjs/operators/filter"),require("rxjs/observable/fromEvent"),require("@angular/cdk/coercion"),require("@angular/cdk/keycodes")):"function"==typeof define&&define.amd?define(["exports","@angular/core","@angular/cdk/scrolling","@angular/common","@angular/cdk/bidi","@angular/cdk/portal","rxjs/operators/take","rxjs/Subject","rxjs/Subscription","rxjs/operators/filter","rxjs/observable/fromEvent","@angular/cdk/coercion","@angular/cdk/keycodes"],e):e((t.ng=t.ng||{},t.ng.cdk=t.ng.cdk||{},t.ng.cdk.overlay=t.ng.cdk.overlay||{}),t.ng.core,t.ng.cdk.scrolling,t.ng.common,t.ng.cdk.bidi,t.ng.cdk.portal,t.Rx.operators,t.Rx,t.Rx,t.Rx.operators,t.Rx.Observable,t.ng.cdk.coercion,t.ng.cdk.ke
 ycodes)}(this,function(t,e,i,o,n,r,s,c,a,h,l,p,u){"use strict";function d(t,e){function i(){this.constructor=t}O(t,e),t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)}function f(){return Error("Scroll strategy has already been attached.")}function _(t,e){return e.some(function(e){var i=t.bottom<e.top,o=t.top>e.bottom,n=t.right<e.left,r=t.left>e.right;return i||o||n||r})}function y(t,e){return e.some(function(e){var i=t.top<e.top,o=t.bottom>e.bottom,n=t.left<e.left,r=t.right>e.right;return i||o||n||r})}function g(t){return"string"==typeof t?t:t+"px"}function b(t,e){return t||new L(e)}function v(t,e){return t||new H(e)}function m(t){return function(){return t.scrollStrategies.reposition()}}var O=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)e.hasOwnProperty(i)&&(t[i]=e[i])},k=Object.assign||function(t){for(var e,i=1,o=arguments.length;i<o;i++){e=arguments[i];for(var n in e)Object.prototype.hasOwnP
 roperty.call(e,n)&&(t[n]=e[n])}return t},w=function(){function t(){}return t.prototype.enable=function(){},t.prototype.disable=function(){},t.prototype.attach=function(){},t}(),E=function(){function t(t){var e=this;this.scrollStrategy=new w,this.panelClass="",this.hasBackdrop=!1,this.backdropClass="cdk-overlay-dark-backdrop",this.direction="ltr",t&&Object.keys(t).filter(function(e){return void 0!==t[e]}).forEach(function(i){return e[i]=t[i]})}return t}(),S=function(){function t(t,e,i,o){this.offsetX=i,this.offsetY=o,this.originX=t.originX,this.originY=t.originY,this.overlayX=e.overlayX,this.overlayY=e.overlayY}return t}(),C=function(){function t(){}return t}(),P=function(){function t(t,e){this.connectionPair=t,this.scrollableViewProperties=e}return t.ctorParameters=function(){return[{type:S},{type:C,decorators:[{type:e.Optional}]}]},t}(),R=function(){function t(t,e,i,o){var n=this;this._scrollDispatcher=t,this._ngZone=e,this._viewportRuler=i,this._config=o,this._scrollSubscription=n
 ull,this._detach=function(){n.disable(),n._overlayRef.hasAttached()&&n._ngZone.run(function(){return n._overlayRef.detach()})}}return t.prototype.attach=function(t){if(this._overlayRef)throw f();this._overlayRef=t},t.prototype.enable=function(){var t=this;if(!this._scrollSubscription){var e=this._scrollDispatcher.scrolled(0);this._config&&this._config.threshold&&this._config.threshold>1?(this._initialScrollPosition=this._viewportRuler.getViewportScrollPosition().top,this._scrollSubscription=e.subscribe(function(){var e=t._viewportRuler.getViewportScrollPosition().top;Math.abs(e-t._initialScrollPosition)>t._config.threshold?t._detach():t._overlayRef.updatePosition()})):this._scrollSubscription=e.subscribe(this._detach)}},t.prototype.disable=function(){this._scrollSubscription&&(this._scrollSubscription.unsubscribe(),this._scrollSubscription=null)},t}(),j=function(){function t(t,e){this._viewportRuler=t,this._previousHTMLStyles={top:"",left:""},this._isEnabled=!1,this._document=e}retu
 rn t.prototype.attach=function(){},t.prototype.enable=function(){if(this._canBeEnabled()){var t=this._document.documentElement;this._previousScrollPosition=this._viewportRuler.getViewportScrollPosition(),this._previousHTMLStyles.left=t.style.left||"",this._previousHTMLStyles.top=t.style.top||"",t.style.left=-this._previousScrollPosition.left+"px",t.style.top=-this._previousScrollPosition.top+"px",t.classList.add("cdk-global-scrollblock"),this._isEnabled=!0}},t.prototype.disable=function(){if(this._isEnabled){var t=this._document.documentElement,e=this._document.body,i=t.style.scrollBehavior||"",o=e.style.scrollBehavior||"";this._isEnabled=!1,t.style.left=this._previousHTMLStyles.left,t.style.top=this._previousHTMLStyles.top,t.classList.remove("cdk-global-scrollblock"),t.style.scrollBehavior=e.style.scrollBehavior="auto",window.scroll(this._previousScrollPosition.left,this._previousScrollPosition.top),t.style.scrollBehavior=i,e.style.scrollBehavior=o}},t.prototype._canBeEnabled=funct
 ion(){if(this._document.documentElement.classList.contains("cdk-global-scrollblock")||this._isEnabled)return!1;var t=this._document.body,e=this._viewportRuler.getViewportSize();return t.scrollHeight>e.height||t.scrollWidth>e.width},t}(),x=function(){function t(t,e,i,o){this._scrollDispatcher=t,this._viewportRuler=e,this._ngZone=i,this._config=o,this._scrollSubscription=null}return t.prototype.attach=function(t){if(this._overlayRef)throw f();this._overlayRef=t},t.prototype.enable=function(){var t=this;if(!this._scrollSubscription){var e=this._config?this._config.scrollThrottle:0;this._scrollSubscription=this._scrollDispatcher.scrolled(e).subscribe(function(){if(t._overlayRef.updatePosition(),t._config&&t._config.autoClose){var e=t._overlayRef.overlayElement.getBoundingClientRect(),i=t._viewportRuler.getViewportSize(),o=i.width,n=i.height;_(e,[{width:o,height:n,bottom:n,right:o,top:0,left:0}])&&(t.disable(),t._ngZone.run(function(){return t._overlayRef.detach()}))}})}},t.prototype.dis
 able=function(){this._scrollSubscription&&(this._scrollSubscription.unsubscribe(),this._scrollSubscription=null)},t}(),I=function(){function t(t,e,i,o){var n=this;this._scrollDispatcher=t,this._viewportRuler=e,this._ngZone=i,this.noop=function(){return new w},this.close=function(t){return new R(n._scrollDispatcher,n._ngZone,n._viewportRuler,t)},this.block=function(){return new j(n._viewportRuler,n._document)},this.reposition=function(t){return new x(n._scrollDispatcher,n._viewportRuler,n._ngZone,t)},this._document=o}return t.decorators=[{type:e.Injectable}],t.ctorParameters=function(){return[{type:i.ScrollDispatcher},{type:i.ViewportRuler},{type:e.NgZone},{type:void 0,decorators:[{type:e.Inject,args:[o.DOCUMENT]}]}]},t}(),X=function(){function t(t,e,i,o,n,r){this._portalOutlet=t,this._pane=e,this._config=i,this._ngZone=o,this._keyboardDispatcher=n,this._document=r,this._backdropElement=null,this._backdropClick=new c.Subject,this._attachments=new c.Subject,this._detachments=new c.Sub
 ject,this._keydownEvents=new c.Subject,i.scrollStrategy&&i.scrollStrategy.attach(this)}return Object.defineProperty(t.prototype,"overlayElement",{get:function(){return this._pane},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"backdropElement",{get:function(){return this._backdropElement},enumerable:!0,configurable:!0}),t.prototype.attach=function(t){var e=this,i=this._portalOutlet.attach(t);return this._config.positionStrategy&&this._config.positionStrategy.attach(this),this._updateStackingOrder(),this._updateElementSize(),this._updateElementDirection(),this._config.scrollStrategy&&this._config.scrollStrategy.enable(),this._ngZone.onStable.asObservable().pipe(s.take(1)).subscribe(function(){e.hasAttached()&&e.updatePosition()}),this._togglePointerEvents(!0),this._config.hasBackdrop&&this._attachBackdrop(),this._config.panelClass&&(Array.isArray(this._config.panelClass)?this._config.panelClass.forEach(function(t){return e._pane.classList.add(t)}):this._pane.class
 List.add(this._config.panelClass)),this._attachments.next(),this._keyboardDispatcher.add(this),i},t.prototype.detach=function(){if(this.hasAttached()){this.detachBackdrop(),this._togglePointerEvents(!1),this._config.positionStrategy&&this._config.positionStrategy.detach&&this._config.positionStrategy.detach(),this._config.scrollStrategy&&this._config.scrollStrategy.disable();var t=this._portalOutlet.detach();return this._detachments.next(),this._keyboardDispatcher.remove(this),t}},t.prototype.dispose=function(){var t=this.hasAttached();this._config.positionStrategy&&this._config.positionStrategy.dispose(),this._config.scrollStrategy&&this._config.scrollStrategy.disable(),this.detachBackdrop(),this._keyboardDispatcher.remove(this),this._portalOutlet.dispose(),this._attachments.complete(),this._backdropClick.complete(),this._keydownEvents.complete(),t&&this._detachments.next(),this._detachments.complete()},t.prototype.hasAttached=function(){return this._portalOutlet.hasAttached()},t.p
 rototype.backdropClick=function(){return this._backdropClick.asObservable()},t.prototype.attachments=function(){return this._attachments.asObservable()},t.prototype.detachments=function(){return this._detachments.asObservable()},t.prototype.keydownEvents=function(){return this._keydownEvents.asObservable()},t.prototype.getConfig=function(){return this._config},t.prototype.updatePosition=function(){this._config.positionStrategy&&this._config.positionStrategy.apply()},t.prototype.updateSize=function(t){this._config=k({},this._config,t),this._updateElementSize()},t.prototype.setDirection=function(t){this._config=k({},this._config,{direction:t}),this._updateElementDirection()},t.prototype._updateElementDirection=function(){this._pane.setAttribute("dir",this._config.direction)},t.prototype._updateElementSize=function(){(this._config.width||0===this._config.width)&&(this._pane.style.width=g(this._config.width)),(this._config.height||0===this._config.height)&&(this._pane.style.height=g(thi
 s._config.height)),(this._config.minWidth||0===this._config.minWidth)&&(this._pane.style.minWidth=g(this._config.minWidth)),(this._config.minHeight||0===this._config.minHeight)&&(this._pane.style.minHeight=g(this._config.minHeight)),(this._config.maxWidth||0===this._config.maxWidth)&&(this._pane.style.maxWidth=g(this._config.maxWidth)),(this._config.maxHeight||0===this._config.maxHeight)&&(this._pane.style.maxHeight=g(this._config.maxHeight))},t.prototype._togglePointerEvents=function(t){this._pane.style.pointerEvents=t?"auto":"none"},t.prototype._attachBackdrop=function(){var t=this;this._backdropElement=this._document.createElement("div"),this._backdropElement.classList.add("cdk-overlay-backdrop"),this._config.backdropClass&&this._backdropElement.classList.add(this._config.backdropClass),this._pane.parentElement.insertBefore(this._backdropElement,this._pane),this._backdropElement.addEventListener("click",function(e){return t._backdropClick.next(e)}),"undefined"!=typeof requestAnim
 ationFrame?this._ngZone.runOutsideAngular(function(){requestAnimationFrame(function(){t._backdropElement&&t._backdropElement.classList.add("cdk-overlay-backdrop-showing")})}):this._backdropElement.classList.add("cdk-overlay-backdrop-showing")},t.prototype._updateStackingOrder=function(){this._pane.nextSibling&&this._pane.parentNode.appendChild(this._pane)},t.prototype.detachBackdrop=function(){var t=this,e=this._backdropElement;if(e){var i=function(){e&&e.parentNode&&e.parentNode.removeChild(e),t._backdropElement==e&&(t._backdropElement=null)};e.classList.remove("cdk-overlay-backdrop-showing"),this._config.backdropClass&&e.classList.remove(this._config.backdropClass),e.addEventListener("transitionend",i),e.style.pointerEvents="none",this._ngZone.runOutsideAngular(function(){setTimeout(i,500)})}},t}(),B=function(){function t(t,e,i,o,n){this._connectedTo=i,this._viewportRuler=o,this._document=n,this._dir="ltr",this._offsetX=0,this._offsetY=0,this.scrollables=[],this._resizeSubscriptio
 n=a.Subscription.EMPTY,this._preferredPositions=[],this._applied=!1,this._positionLocked=!1,this._onPositionChange=new c.Subject,this._origin=this._connectedTo.nativeElement,this.withFallbackPosition(t,e)}return Object.defineProperty(t.prototype,"_isRtl",{get:function(){return"rtl"===this._dir},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"onPositionChange",{get:function(){return this._onPositionChange.asObservable()},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"positions",{get:function(){return this._preferredPositions},enumerable:!0,configurable:!0}),t.prototype.attach=function(t){var e=this;this._overlayRef=t,this._pane=t.overlayElement,this._resizeSubscription.unsubscribe(),this._resizeSubscription=this._viewportRuler.change().subscribe(function(){return e.apply()})},t.prototype.dispose=function(){this._applied=!1,this._resizeSubscription.unsubscribe(),this._onPositionChange.complete()},t.prototype.detach=function(){this._applied=!1,thi
 s._resizeSubscription.unsubscribe()},t.prototype.apply=function(){if(this._applied&&this._positionLocked&&this._lastConnectedPosition)return void this.recalculateLastPosition();this._applied=!0;for(var t,e,i=this._pane,o=this._origin.getBoundingClientRect(),n=i.getBoundingClientRect(),r=this._viewportRuler.getViewportSize(),s=0,c=this._preferredPositions;s<c.length;s++){var a=c[s],h=this._getOriginConnectionPoint(o,a),l=this._getOverlayPoint(h,n,r,a);if(l.fitsInViewport)return this._setElementPosition(i,n,l,a),void(this._lastConnectedPosition=a);(!t||t.visibleArea<l.visibleArea)&&(t=l,e=a)}this._setElementPosition(i,n,t,e)},t.prototype.recalculateLastPosition=function(){if(this._lastConnectedPosition){var t=this._origin.getBoundingClientRect(),e=this._pane.getBoundingClientRect(),i=this._viewportRuler.getViewportSize(),o=this._lastConnectedPosition||this._preferredPositions[0],n=this._getOriginConnectionPoint(t,o),r=this._getOverlayPoint(n,e,i,o);this._setElementPosition(this._pane,
 e,r,o)}},t.prototype.withScrollableContainers=function(t){this.scrollables=t},t.prototype.withFallbackPosition=function(t,e,i,o){var n=new S(t,e,i,o);return this._preferredPositions.push(n),this},t.prototype.withDirection=function(t){return this._dir=t,this},t.prototype.withOffsetX=function(t){return this._offsetX=t,this},t.prototype.withOffsetY=function(t){return this._offsetY=t,this},t.prototype.withLockedPosition=function(t){return this._positionLocked=t,this},t.prototype.withPositions=function(t){return this._preferredPositions=t.slice(),this},t.prototype.setOrigin=function(t){return this._origin=t.nativeElement,this},t.prototype._getStartX=function(t){return this._isRtl?t.right:t.left},t.prototype._getEndX=function(t){return this._isRtl?t.left:t.right},t.prototype._getOriginConnectionPoint=function(t,e){var i,o=this._getStartX(t),n=this._getEndX(t);i="center"==e.originX?o+t.width/2:"start"==e.originX?o:n;var r;return r="center"==e.originY?t.top+t.height/2:"top"==e.originY?t.top
 :t.bottom,{x:i,y:r}},t.prototype._getOverlayPoint=function(t,e,i,o){var n;n="center"==o.overlayX?-e.width/2:"start"===o.overlayX?this._isRtl?-e.width:0:this._isRtl?0:-e.width;var r;r="center"==o.overlayY?-e.height/2:"top"==o.overlayY?0:-e.height;var s=void 0===o.offsetX?this._offsetX:o.offsetX,c=void 0===o.offsetY?this._offsetY:o.offsetY,a=t.x+n+s,h=t.y+r+c,l=0-a,p=a+e.width-i.width,u=0-h,d=h+e.height-i.height,f=this._subtractOverflows(e.width,l,p),_=this._subtractOverflows(e.height,u,d),y=f*_;return{x:a,y:h,fitsInViewport:e.width*e.height===y,visibleArea:y}},t.prototype._getScrollVisibility=function(t){var e=this._origin.getBoundingClientRect(),i=t.getBoundingClientRect(),o=this.scrollables.map(function(t){return t.getElementRef().nativeElement.getBoundingClientRect()});return{isOriginClipped:y(e,o),isOriginOutsideView:_(e,o),isOverlayClipped:y(i,o),isOverlayOutsideView:_(i,o)}},t.prototype._setElementPosition=function(t,e,i,o){var n,r="bottom"===o.overlayY?"bottom":"top",s="top"==
 =r?i.y:this._document.documentElement.clientHeight-(i.y+e.height);n="rtl"===this._dir?"end"===o.overlayX?"left":"right":"end"===o.overlayX?"right":"left";var c="left"===n?i.x:this._document.documentElement.clientWidth-(i.x+e.width);["top","bottom","left","right"].forEach(function(e){return t.style[e]=null}),t.style[r]=s+"px",t.style[n]=c+"px";var a=this._getScrollVisibility(t),h=new P(o,a);this._onPositionChange.next(h)},t.prototype._subtractOverflows=function(t){for(var e=[],i=1;i<arguments.length;i++)e[i-1]=arguments[i];return e.reduce(function(t,e){return t-Math.max(e,0)},t)},t}(),Y=function(){function t(t){this._document=t,this._cssPosition="static",this._topOffset="",this._bottomOffset="",this._leftOffset="",this._rightOffset="",this._alignItems="",this._justifyContent="",this._width="",this._height="",this._wrapper=null}return t.prototype.attach=function(t){this._overlayRef=t},t.prototype.top=function(t){return void 0===t&&(t=""),this._bottomOffset="",this._topOffset=t,this._a
 lignItems="flex-start",this},t.prototype.left=function(t){return void 0===t&&(t=""),this._rightOffset="",this._leftOffset=t,this._justifyContent="flex-start",this},t.prototype.bottom=function(t){return void 0===t&&(t=""),this._topOffset="",this._bottomOffset=t,this._alignItems="flex-end",this},t.prototype.right=function(t){return void 0===t&&(t=""),this._leftOffset="",this._rightOffset=t,this._justifyContent="flex-end",this},t.prototype.width=function(t){return void 0===t&&(t=""),this._width=t,"100%"===t&&this.left("0px"),this},t.prototype.height=function(t){return void 0===t&&(t=""),this._height=t,"100%"===t&&this.top("0px"),this},t.prototype.centerHorizontally=function(t){return void 0===t&&(t=""),this.left(t),this._justifyContent="center",this},t.prototype.centerVertically=function(t){return void 0===t&&(t=""),this.top(t),this._alignItems="center",this},t.prototype.apply=function(){if(this._overlayRef.hasAttached()){var t=this._overlayRef.overlayElement;!this._wrapper&&t.parentNo
 de&&(this._wrapper=this._document.createElement("div"),this._wrapper.classList.add("cdk-global-overlay-wrapper"),t.parentNode.insertBefore(this._wrapper,t),this._wrapper.appendChild(t));var e=t.style,i=t.parentNode.style;e.position=this._cssPosition,e.marginTop=this._topOffset,e.marginLeft=this._leftOffset,e.marginBottom=this._bottomOffset,e.marginRight=this._rightOffset,e.width=this._width,e.height=this._height,i.justifyContent=this._justifyContent,i.alignItems=this._alignItems}},t.prototype.dispose=function(){this._wrapper&&this._wrapper.parentNode&&(this._wrapper.parentNode.removeChild(this._wrapper),this._wrapper=null)},t}(),D=function(){function t(t,e){this._viewportRuler=t,this._document=e}return t.prototype.global=function(){return new Y(this._document)},t.prototype.connectedTo=function(t,e,i){return new B(e,i,t,this._viewportRuler,this._document)},t.decorators=[{type:e.Injectable}],t.ctorParameters=function(){return[{type:i.ViewportRuler},{type:void 0,decorators:[{type:e.Inj
 ect,args:[o.DOCUMENT]}]}]},t}(),L=function(){function t(t){this._document=t,this._attachedOverlays=[]}return t.prototype.ngOnDestroy=function(){this._unsubscribeFromKeydownEvents()},t.prototype.add=function(t){this._keydownEventSubscription||this._subscribeToKeydownEvents(),this._attachedOverlays.push(t)},t.prototype.remove=function(t){var e=this._attachedOverlays.indexOf(t);e>-1&&this._attachedOverlays.splice(e,1),0===this._attachedOverlays.length&&this._unsubscribeFromKeydownEvents()},t.prototype._subscribeToKeydownEvents=function(){var t=this,e=l.fromEvent(this._document.body,"keydown",!0);this._keydownEventSubscription=e.pipe(h.filter(function(){return!!t._attachedOverlays.length})).subscribe(function(e){t._selectOverlayFromEvent(e)._keydownEvents.next(e)})},t.prototype._unsubscribeFromKeydownEvents=function(){this._keydownEventSubscription&&(this._keydownEventSubscription.unsubscribe(),this._keydownEventSubscription=null)},t.prototype._selectOverlayFromEvent=function(t){return 
 this._attachedOverlays.find(function(e){return e.overlayElement===t.target||e.overlayElement.contains(t.target)})||this._attachedOverlays[this._attachedOverlays.length-1]},t.decorators=[{type:e.Injectable}],t.ctorParameters=function(){return[{type:void 0,decorators:[{type:e.Inject,args:[o.DOCUMENT]}]}]},t}(),F={provide:L,deps:[[new e.Optional,new e.SkipSelf,L],o.DOCUMENT],useFactory:b},H=function(){function t(t){this._document=t}return t.prototype.ngOnDestroy=function(){this._containerElement&&this._containerElement.parentNode&&this._containerElement.parentNode.removeChild(this._containerElement)},t.prototype.getContainerElement=function(){return this._containerElement||this._createContainer(),this._containerElement},t.prototype._createContainer=function(){var t=this._document.createElement("div");t.classList.add("cdk-overlay-container"),this._document.body.appendChild(t),this._containerElement=t},t.decorators=[{type:e.Injectable}],t.ctorParameters=function(){return[{type:void 0,dec
 orators:[{type:e.Inject,args:[o.DOCUMENT]}]}]},t}(),M={provide:H,deps:[[new e.Optional,new e.SkipSelf,H],o.DOCUMENT],useFactory:v},T=0,V=function(){function t(t,e,i,o,n,r,s,c,a){this.scrollStrategies=t,this._overlayContainer=e,this._componentFactoryResolver=i,this._positionBuilder=o,this._keyboardDispatcher=n,this._appRef=r,this._injector=s,this._ngZone=c,this._document=a}return t.prototype.create=function(t){var e=this._createPaneElement(),i=this._createPortalOutlet(e);return new X(i,e,new E(t),this._ngZone,this._keyboardDispatcher,this._document)},t.prototype.position=function(){return this._positionBuilder},t.prototype._createPaneElement=function(){var t=this._document.createElement("div");return t.id="cdk-overlay-"+T++,t.classList.add("cdk-overlay-pane"),this._overlayContainer.getContainerElement().appendChild(t),t},t.prototype._createPortalOutlet=function(t){return new r.DomPortalOutlet(t,this._componentFactoryResolver,this._appRef,this._injector)},t.decorators=[{type:e.Injecta
 ble}],t.ctorParameters=function(){return[{type:I},{type:H},{type:e.ComponentFactoryResolver},{type:D},{type:L},{type:e.ApplicationRef},{type:e.Injector},{type:e.NgZone},{type:void 0,decorators:[{type:e.Inject,args:[o.DOCUMENT]}]}]},t}(),W=[new S({originX:"start",originY:"bottom"},{overlayX:"start",overlayY:"top"}),new S({originX:"start",originY:"top"},{overlayX:"start",overlayY:"bottom"}),new S({originX:"end",originY:"top"},{overlayX:"end",overlayY:"bottom"}),new S({originX:"end",originY:"bottom"},{overlayX:"end",overlayY:"top"})],A=new e.InjectionToken("cdk-connected-overlay-scroll-strategy"),N={provide:A,deps:[V],useFactory:m},z=function(){function t(t){this.elementRef=t}return t.decorators=[{type:e.Directive,args:[{selector:"[cdk-overlay-origin], [overlay-origin], [cdkOverlayOrigin]",exportAs:"cdkOverlayOrigin"}]}],t.ctorParameters=function(){return[{type:e.ElementRef}]},t}(),Z=function(){function t(t,i,o,n,s){this._overlay=t,this._scrollStrategy=n,this._dir=s,this._hasBackdrop=!
 1,this._backdropSubscription=a.Subscription.EMPTY,this._offsetX=0,this._offsetY=0,this.scrollStrategy=this._scrollStrategy(),this.open=!1,this.backdropClick=new e.EventEmitter,this.positionChange=new e.EventEmitter,this.attach=new e.EventEmitter,this.detach=new e.EventEmitter,this._templatePortal=new r.TemplatePortal(i,o)}return Object.defineProperty(t.prototype,"offsetX",{get:function(){return this._offsetX},set:function(t){this._offsetX=t,this._position&&this._position.withOffsetX(t)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"offsetY",{get:function(){return this._offsetY},set:function(t){this._offsetY=t,this._position&&this._position.withOffsetY(t)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"hasBackdrop",{get:function(){return this._hasBackdrop},set:function(t){this._hasBackdrop=p.coerceBooleanProperty(t)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"_deprecatedOrigin",{get:function(){return this.origin},set:fu
 nction(t){this.origin=t},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"_deprecatedPositions",{get:function(){return this.positions},set:function(t){this.positions=t},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"_deprecatedOffsetX",{get:function(){return this.offsetX},set:function(t){this.offsetX=t},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"_deprecatedOffsetY",{get:function(){return this.offsetY},set:function(t){this.offsetY=t},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"_deprecatedWidth",{get:function(){return this.width},set:function(t){this.width=t},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"_deprecatedHeight",{get:function(){return this.height},set:function(t){this.height=t},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"_deprecatedMinWidth",{get:function(){return this.minWidth},set:function(t){this.minWidth=t},enumerable:!0,configurable:!0}),Obje
 ct.defineProperty(t.prototype,"_deprecatedMinHeight",{get:function(){return this.minHeight},set:function(t){this.minHeight=t},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"_deprecatedBackdropClass",{get:function(){return this.backdropClass},set:function(t){this.backdropClass=t},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"_deprecatedScrollStrategy",{get:function(){return this.scrollStrategy},set:function(t){this.scrollStrategy=t},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"_deprecatedOpen",{get:function(){return this.open},set:function(t){this.open=t},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"_deprecatedHasBackdrop",{get:function(){return this.hasBackdrop},set:function(t){this.hasBackdrop=t},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"overlayRef",{get:function(){return this._overlayRef},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"dir",{get:function
 (){return this._dir?this._dir.value:"ltr"},enumerable:!0,configurable:!0}),t.prototype.ngOnDestroy=function(){this._destroyOverlay()},t.prototype.ngOnChanges=function(t){this._position&&((t.positions||t._deprecatedPositions)&&this._position.withPositions(this.positions),(t.origin||t._deprecatedOrigin)&&(this._position.setOrigin(this.origin.elementRef),this.open&&this._position.apply())),(t.open||t._deprecatedOpen)&&(this.open?this._attachOverlay():this._detachOverlay())},t.prototype._createOverlay=function(){this.positions&&this.positions.length||(this.positions=W),this._overlayRef=this._overlay.create(this._buildConfig())},t.prototype._buildConfig=function(){var t=this._position=this._createPositionStrategy(),e=new E({positionStrategy:t,scrollStrategy:this.scrollStrategy,hasBackdrop:this.hasBackdrop});return(this.width||0===this.width)&&(e.width=this.width),(this.height||0===this.height)&&(e.height=this.height),(this.minWidth||0===this.minWidth)&&(e.minWidth=this.minWidth),(this.mi
 nHeight||0===this.minHeight)&&(e.minHeight=this.minHeight),this.backdropClass&&(e.backdropClass=this.backdropClass),e},t.prototype._createPositionStrategy=function(){for(var t=this,e=this.positions[0],i={originX:e.originX,originY:e.originY},o={overlayX:e.overlayX,overlayY:e.overlayY},n=this._overlay.position().connectedTo(this.origin.elementRef,i,o).withOffsetX(this.offsetX).withOffsetY(this.offsetY),r=1;r<this.positions.length;r++)n.withFallbackPosition({originX:this.positions[r].originX,originY:this.positions[r].originY},{overlayX:this.positions[r].overlayX,overlayY:this.positions[r].overlayY});return n.onPositionChange.subscribe(function(e){return t.positionChange.emit(e)}),n},t.prototype._attachOverlay=function(){var t=this;this._overlayRef||(this._createOverlay(),this._overlayRef.keydownEvents().subscribe(function(e){e.keyCode===u.ESCAPE&&t._detachOverlay()})),this._position.withDirection(this.dir),this._overlayRef.setDirection(this.dir),this._overlayRef.hasAttached()||(this._o
 verlayRef.attach(this._templatePortal),this.attach.emit()),this.hasBackdrop&&(this._backdropSubscription=this._overlayRef.backdropClick().subscribe(function(){t.backdropClick.emit()}))},t.prototype._detachOverlay=function(){this._overlayRef&&(this._overlayRef.detach(),this.detach.emit()),this._backdropSubscription.unsubscribe()},t.prototype._destroyOverlay=function(){this._overlayRef&&this._overlayRef.dispose(),this._backdropSubscription.unsubscribe()},t.decorators=[{type:e.Directive,args:[{selector:"[cdk-connected-overlay], [connected-overlay], [cdkConnectedOverlay]",exportAs:"cdkConnectedOverlay"}]}],t.ctorParameters=function(){return[{type:V},{type:e.TemplateRef},{type:e.ViewContainerRef},{type:void 0,decorators:[{type:e.Inject,args:[A]}]},{type:n.Directionality,decorators:[{type:e.Optional}]}]},t.propDecorators={origin:[{type:e.Input,args:["cdkConnectedOverlayOrigin"]}],positions:[{type:e.Input,args:["cdkConnectedOverlayPositions"]}],offsetX:[{type:e.Input,args:["cdkConnectedOve
 rlayOffsetX"]}],offsetY:[{type:e.Input,args:["cdkConnectedOverlayOffsetY"]}],width:[{type:e.Input,args:["cdkConnectedOverlayWidth"]}],height:[{type:e.Input,args:["cdkConnectedOverlayHeight"]}],minWidth:[{type:e.Input,args:["cdkConnectedOverlayMinWidth"]}],minHeight:[{type:e.Input,args:["cdkConnectedOverlayMinHeight"]}],backdropClass:[{type:e.Input,args:["cdkConnectedOverlayBackdropClass"]}],scrollStrategy:[{type:e.Input,args:["cdkConnectedOverlayScrollStrategy"]}],open:[{type:e.Input,args:["cdkConnectedOverlayOpen"]}],hasBackdrop:[{type:e.Input,args:["cdkConnectedOverlayHasBackdrop"]}],_deprecatedOrigin:[{type:e.Input,args:["origin"]}],_deprecatedPositions:[{type:e.Input,args:["positions"]}],_deprecatedOffsetX:[{type:e.Input,args:["offsetX"]}],_deprecatedOffsetY:[{type:e.Input,args:["offsetY"]}],_deprecatedWidth:[{type:e.Input,args:["width"]}],_deprecatedHeight:[{type:e.Input,args:["height"]}],_deprecatedMinWidth:[{type:e.Input,args:["minWidth"]}],_deprecatedMinHeight:[{type:e.Input
 ,args:["minHeight"]}],_deprecatedBackdropClass:[{type:e.Input,args:["backdropClass"]}],_deprecatedScrollStrategy:[{type:e.Input,args:["scrollStrategy"]}],_deprecatedOpen:[{type:e.Input,args:["open"]}],_deprecatedHasBackdrop:[{type:e.Input,args:["hasBackdrop"]}],backdropClick:[{type:e.Output}],positionChange:[{type:e.Output}],attach:[{type:e.Output}],detach:[{type:e.Output}]},t}(),q=[V,D,F,i.VIEWPORT_RULER_PROVIDER,M,N],U=function(){function t(){}return t.decorators=[{type:e.NgModule,args:[{imports:[n.BidiModule,r.PortalModule,i.ScrollDispatchModule],exports:[Z,z,i.ScrollDispatchModule],declarations:[Z,z],providers:[q,I]}]}],t.ctorParameters=function(){return[]},t}(),K=function(t){function i(){return null!==t&&t.apply(this,arguments)||this}return d(i,t),i.prototype._createContainer=function(){var e=this;t.prototype._createContainer.call(this),this._adjustParentForFullscreenChange(),this._addFullscreenChangeListener(function(){return e._adjustParentForFullscreenChange()})},i.prototype
 ._adjustParentForFullscreenChange=function(){if(this._containerElement){(this.getFullscreenElement()||document.body).appendChild(this._containerElement)}},i.prototype._addFullscreenChangeListener=function(t){document.fullscreenEnabled?document.addEventListener("fullscreenchange",t):document.webkitFullscreenEnabled?document.addEventListener("webkitfullscreenchange",t):document.mozFullScreenEnabled?document.addEventListener("mozfullscreenchange",t):document.msFullscreenEnabled&&document.addEventListener("MSFullscreenChange",t)},i.prototype.getFullscreenElement=function(){return document.fullscreenElement||document.webkitFullscreenElement||document.mozFullScreenElement||document.msFullscreenElement||null},i.decorators=[{type:e.Injectable}],i.ctorParameters=function(){return[]},i}(H);t.Overlay=V,t.OverlayContainer=H,t.CdkOverlayOrigin=z,t.CdkConnectedOverlay=Z,t.FullscreenOverlayContainer=K,t.OverlayRef=X,t.ViewportRuler=i.ViewportRuler,t.OverlayKeyboardDispatcher=L,t.OverlayPositionBui
 lder=D,t.GlobalPositionStrategy=Y,t.ConnectedPositionStrategy=B,
+t.VIEWPORT_RULER_PROVIDER=i.VIEWPORT_RULER_PROVIDER,t.ConnectedOverlayDirective=Z,t.OverlayOrigin=z,t.OverlayConfig=E,t.ConnectionPositionPair=S,t.ScrollingVisibility=C,t.ConnectedOverlayPositionChange=P,t.CdkScrollable=i.CdkScrollable,t.ScrollDispatcher=i.ScrollDispatcher,t.ScrollStrategyOptions=I,t.RepositionScrollStrategy=x,t.CloseScrollStrategy=R,t.NoopScrollStrategy=w,t.BlockScrollStrategy=j,t.OVERLAY_PROVIDERS=q,t.OverlayModule=U,t.ɵg=F,t.ɵf=b,t.ɵb=M,t.ɵa=v,t.ɵc=A,t.ɵe=N,t.ɵd=m,Object.defineProperty(t,"__esModule",{value:!0})});
+//# sourceMappingURL=cdk-overlay.umd.min.js.map


[40/59] [abbrv] [partial] nifi-fds git commit: update gh-pages

Posted by sc...@apache.org.
http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/eec354e6/node_modules/@angular/animations/bundles/animations-browser.umd.min.js.map
----------------------------------------------------------------------
diff --git a/node_modules/@angular/animations/bundles/animations-browser.umd.min.js.map b/node_modules/@angular/animations/bundles/animations-browser.umd.min.js.map
new file mode 100644
index 0000000..1ea0094
--- /dev/null
+++ b/node_modules/@angular/animations/bundles/animations-browser.umd.min.js.map
@@ -0,0 +1 @@
+{"version":3,"sources":["animations-browser.umd.js"],"names":["global","factory","exports","module","require","define","amd","ng","animations","browser","this","_angular_animations","__extends","d","b","__","constructor","extendStatics","prototype","Object","create","optimizeGroupPlayer","players","length","NoopAnimationPlayer","ɵAnimationGroupPlayer","normalizeKeyframes","driver","normalizer","element","keyframes","preStyles","postStyles","errors","normalizedKeyframes","previousOffset","previousKeyframe","forEach","kf","offset","isSameOffset","normalizedKeyframe","keys","prop","normalizedProp","normalizedValue","normalizePropertyName","ɵPRE_STYLE","AUTO_STYLE","normalizeStyleValue","push","Error","join","listenOnPlayer","player","eventName","event","callback","onStart","copyAnimationEvent","totalTime","onDone","onDestroy","e","phaseName","makeAnimationEvent","triggerName","fromState","toState","undefined","data","getOrSetAsInMap","map","key","defaultValue","value","Map","get","se
 t","parseTimelineCommand","command","separatorPos","indexOf","substring","substr","containsVendorPrefix","validateStyleProperty","_CACHED_BODY","getBodyNode","_IS_WEBKIT","style","result","charAt","toUpperCase","document","body","resolveTimingValue","matches","match","_convertTimeValueToMS","parseFloat","unit","ONE_SECOND","resolveTiming","timings","allowNegativeValues","hasOwnProperty","parseTimeExpression","exp","duration","regex","delay","easing","delayMatch","Math","floor","easingVal","containsErrors","startIndex","splice","copyObj","obj","destination","normalizeStyles","styles","normalizedStyles","Array","isArray","copyStyles","readPrototype","setStyles","camelProp","dashCaseToCamelCase","eraseStyles","normalizeAnimationEntry","steps","sequence","validateStyleParams","options","params","extractStyleParams","varName","val","toString","PARAM_REGEX","exec","lastIndex","interpolateParams","original","str","replace","_","localVal","iteratorToArray","iterator","arr","item","next","do
 ne","input","DASH_CASE_REGEXP","m","_i","arguments","allowPreviousPlayerStylesMerge","visitDslNode","visitor","node","context","type","visitTrigger","visitState","visitTransition","visitSequence","visitGroup","visitAnimate","visitKeyframes","visitStyle","visitReference","visitAnimateChild","visitAnimateRef","visitQuery","visitStagger","parseTransitionExpr","transitionValue","expressions","split","parseInnerTransitionStr","eventStr","parseAnimationAlias","separator","makeLambdaFromStates","isFullAnyStateExpr","ANY_STATE","alias","lhs","rhs","LHS_MATCH_BOOLEAN","TRUE_BOOLEAN_VALUES","has","FALSE_BOOLEAN_VALUES","RHS_MATCH_BOOLEAN","lhsMatch","rhsMatch","buildAnimationAst","metadata","AnimationAstBuilderVisitor","build","normalizeSelector","selector","hasAmpersand","find","token","SELF_TOKEN","SELF_TOKEN_REGEX","NG_TRIGGER_SELECTOR","NG_ANIMATING_SELECTOR","normalizeParams","consumeOffset","styleTuple","isObject","constructTimingAst","makeTimingAst","strValue","some","v","ast","dynamic
 ","normalizeAnimationOptions","createTimelineInstruction","preStyleProps","postStyleProps","subTimeline","buildAnimationTimelines","rootElement","enterClassName","leaveClassName","startingStyles","finalStyles","subInstructions","AnimationTimelineBuilderVisitor","buildKeyframes","roundOffset","decimalPoints","mult","pow","round","flattenStyles","allStyles","allProperties","createTransitionInstruction","isRemovalTransition","fromStyles","toStyles","timelines","queriedElements","oneOrMoreTransitionsMatch","matchFns","currentState","nextState","fn","buildTrigger","name","AnimationTrigger","createFallbackTransition","states","AnimationTransitionFactory","animation","matchers","queryCount","depCount","balanceProperties","key1","key2","deleteOrUnsetInMap","currentValues","index","delete","normalizeTriggerValue","isElementNode","isTriggerEventValid","cloakElement","oldValue","display","cloakAndComputeStyles","valuesMap","elements","elementPropsMap","defaultStyle","cloakVals","failedElements
 ","props","computeStyle","REMOVAL_FLAG","NULL_REMOVED_QUERIED_STATE","i","buildRootMap","roots","nodes","getRoot","NULL_NODE","root","localRootMap","parent","parentNode","rootMap","nodeSet","Set","addClass","className","classList","add","classes","CLASSES_CACHE_KEY","removeClass","remove","removeNodesAfterAnimationDone","engine","processLeaveNode","flattenGroupPlayers","finalPlayers","_flattenGroupPlayersRecur","objEquals","a","k1","k2","replacePostStylesAsPre","allPreStyleElements","allPostStyleElements","postEntry","preEntry","_computeStyle","window","getComputedStyle","supportsWebAnimations","Element","setPrototypeOf","__proto__","p","__assign","assign","t","s","n","call","_contains","elm1","elm2","_matches","_query","multi","contains","proto","fn_1","matchesSelector","mozMatchesSelector","msMatchesSelector","oMatchesSelector","webkitMatchesSelector","apply","results","querySelectorAll","elm","querySelector","matchesElement","containsElement","invokeQuery","NoopAnimationDriver","
 query","animate","previousPlayers","AnimationDriver","NOOP","RegExp","SUBSTITUTION_EXPR_START","_driver","AnimationAstBuilderContext","_resetContextStyleTimingState","currentQuerySelector","collectedStyles","currentTime","_this","transitions","definitions","def","stateDef_1","name_1","transition","styleAst","astParams","containsDynamicStyles","missingSubs_1","params_1","stylesObj_1","sub","size","missingSubsArr","values","expr","furthestTime","step","innerAst","max","timingAst","currentAnimateTimings","styleMetadata","styleMetadata_1","isEmpty","newStyleData","_styleAst","isEmptyStep","_makeStyleAst","_validateStyleAst","collectedEasing","styleData","styleMap","endTime","startTime","tuple","collectedEntry","updateCollectedStyle","totalKeyframesWithOffsets","offsets","offsetsOutOfOrder","keyframesOutOfRange","style$$1","offsetVal","generatedOffset","limit","animateDuration","durationUpToThisFrame","parentSelector","currentQuery","_a","includeSelf","optional","originalSelector","curre
 ntTransition","ElementInstructionMap","_map","consume","instructions","append","existingInstructions","clear","ENTER_TOKEN_REGEX","LEAVE_TOKEN_REGEX","AnimationTimelineContext","currentTimeline","filter","timeline","containsAnimation","tl","allowOnlyTimelineStyles","elementInstructions","innerContext","createSubContext","_visitSubInstructions","transformIntoNewTimeline","previousNode","instruction","instructionTimings","appendInstructionToTimeline","updateOptions","subContextCount","ctx","snapshotCurrentStyles","DEFAULT_NOOP_PREVIOUS_NODE","delayNextStep","applyStylesToKeyframe","innerTimelines","mergeTimelineCollectedStyles","_visitTiming","incrementTime","getCurrentStyleProperties","forwardFrame","applyEmptyStep","innerTimeline","forwardTime","elms","currentQueryTotal","sameElementTimeline","currentQueryIndex","parentContext","abs","maxTime","currentStaggerTime","startingTime","_enterClassName","_leaveClassName","initialTimeline","TimelineBuilder","defineProperty","enumerable","co
 nfigurable","skipIfExists","newOptions","optionsToUpdate","newParams","paramsToUpdate_1","_copyOptions","oldParams_1","newTime","target","fork","updatedTimings","builder","SubTimelineBuilder","stretchStartingKeyframe","time","slice","_elementTimelineStylesLookup","_previousKeyframe","_currentKeyframe","_keyframes","_styleSummary","_pendingStyles","_backFill","_currentEmptyStepKeyframe","_localTimelineStyles","_globalTimelineStyles","_loadKeyframe","hasPreStyleStep","_updateStyle","getFinalKeyframe","properties","details0","details1","finalKeyframes","keyframe","finalKeyframe","preProps","postProps","kf0","kf1","_super","_stretchStartingKeyframe","newKeyframes","startingGap","newFirstKeyframe","oldFirstKeyframe","oldOffset","timeAtKeyframe","Animation","errorMessage","_animationAst","buildTimelines","destinationStyles","start","dest","AnimationStyleNormalizer","NoopAnimationStyleNormalizer","propertyName","userProvidedProperty","normalizedProperty","WebAnimationsStyleNormalizer","str
 Val","trim","DIMENSIONAL_PROP_MAP","valAndSuffixMatch","EMPTY_OBJECT","_triggerName","_stateStyles","buildStyles","stateName","backupStateStyler","stateStyler","backupStyles","currentOptions","nextOptions","transitionAnimationParams","currentAnimationParams","currentStateStyles","nextAnimationParams","nextStateStyles","preStyleMap","postStyleMap","isRemoval","animationOptions","queriedElementsList","AnimationStateStyles","defaultParams","combinedParams","styleObj_1","transitionFactories","fallbackTransition","matchTransition","f","matchStyles","EMPTY_INSTRUCTION_MAP","TimelineAnimationEngine","_normalizer","_animations","_playersById","register","id","_buildPlayer","autoStylesMap","inst","destroy","_getPlayer","listen","baseEvent","args","play","pause","reset","restart","finish","init","setPosition","EMPTY_PLAYER_ARRAY","NULL_REMOVAL_STATE","namespaceId","setForRemoval","hasAnimation","removedBeforeQueried","StateValue","isObj","absorbOptions","DEFAULT_STATE_VALUE","DELETED_STATE_VA
 LUE","AnimationTransitionNamespace","hostElement","_engine","_triggers","_queue","_elementListeners","_hostClassName","phase","listeners","triggersWithStates","statesByElement","NG_TRIGGER_CLASSNAME","afterFlush","_getTrigger","trigger","defaultToFallback","TransitionAnimationPlayer","playersOnElement","playersByElement","queued","isFallbackTransition","totalQueuedPlayers","index_1","fromStyles_1","toStyles_1","reportError","deregister","stateMap","entry","clearElementCache","elementPlayers","_signalRemovalForInnerTriggers","namespaces","fetchNamespacesByElement","ns","triggerLeaveAnimation","destroyAfterComplete","triggerStates","players_1","markElementAsRemoved","prepareLeaveAnimationListeners","visitedTriggers_1","listener","elementStates","removeNode","childElementCount","containsPotentialParentTransition","totalAnimations","currentPlayers","playersByQueriedElement","parent_1","triggers","destroyInnerAnimations","_onRemovalComplete","insertNode","drainQueuedTransitions","microta
 skId","destroyed","markedForDestroy","sort","d0","d1","elementContainsData","containsData","TransitionAnimationEngine","newHostElements","disabledNodes","_namespaceLookup","_namespaceList","_flushFns","_whenQuietFns","namespacesByHostElement","collectedEnterElements","collectedLeaveElements","onRemovalComplete","createNamespace","_balanceNamespaceList","collectEnterElement","found","nextNamespace","registerTrigger","_fetchNamespace","afterFlushAnimationsDone","nsId","insertBefore","details","markElementAsDisabled","_buildInstruction","subTimelines","containerElement","destroyActiveAnimationsForElement","finishActiveQueriedAnimationOnElement","whenRenderingDone","Promise","resolve","flush","cleanupFns","_flushAnimations","quietFns_1","skippedPlayers","skippedPlayersMap","queuedInstructions","disabledElementsSet","nodesThatAreDisabled","i_1","bodyNode","allTriggerElements","from","enterNodeMap","enterNodeMapIds","allLeaveNodes","mergedLeaveNodes","leaveNodesWithoutAnimations","i_2","l
 eaveNodeMapIds","leaveNodeMap","allPlayers","erroneousTransitions","i_3","stringMap","setVal_1","setVal","errors_1","error","allPreviousPlayersMap","animationElementMap","_beforeAnimationBuild","_getPreviousPlayers","prevPlayer","replaceNodes","postStylesMap","preStylesMap","post","pre","rootPlayers","subPlayers","NO_PARENT_ANIMATION_ELEMENT_DETECTED","parentWithAnimation_1","parentsToAdd","detectedParent","innerPlayer","_buildAnimation","setRealPlayer","parentPlayers","parentPlayer","playersForElement","syncPlayerEvents","i_4","queriedPlayerResults","queriedInnerElements","j","queriedPlayers","activePlayers","isQueriedElement","toStateValue","queriedElementPlayers","isRemovalAnimation_1","targetNameSpaceId","targetTriggerName","this_1","timelineInstruction","realPlayer","getRealPlayer","beforeDestroy","allQueriedPlayers","allConsumedElements","allSubElements","allNewPlayers","pp","wrappedPlayer","_player","_containsRealPlayer","_queuedCallbacks","triggerCallback","_queueEvent","has
 Started","getPosition","AnimationEngine","_triggerCache","_transitionEngine","_timelineEngine","componentId","cacheKey","onInsert","onRemove","disableAnimations","disable","process","property","action","eventPhase","concat","WebAnimationsPlayer","_onDoneFns","_onStartFns","_onDestroyFns","_initialized","_finished","_started","_destroyed","previousStyles","currentSnapshot","_duration","_delay","_onFinish","_preparePlayerBeforeStart","previousStyleProps","startingKeyframe_1","missingStyleProps_1","self_1","domPlayer","_triggerWebAnimation","_finalKeyframe","addEventListener","_resetDomPlayerState","cancel","methods","WebAnimationsDriver","fill","playerOptions","previousWebAnimationPlayers","ɵAnimation","ɵAnimationStyleNormalizer","ɵNoopAnimationStyleNormalizer","ɵWebAnimationsStyleNormalizer","ɵNoopAnimationDriver","ɵAnimationEngine","ɵWebAnimationsDriver","ɵsupportsWebAnimations","ɵWebAnimationsPlayer"],"mappings":"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

<TRUNCATED>

[29/59] [abbrv] [partial] nifi-fds git commit: update gh-pages

Posted by sc...@apache.org.
http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/eec354e6/node_modules/@angular/animations/esm5/browser.js
----------------------------------------------------------------------
diff --git a/node_modules/@angular/animations/esm5/browser.js b/node_modules/@angular/animations/esm5/browser.js
new file mode 100644
index 0000000..e5efbef
--- /dev/null
+++ b/node_modules/@angular/animations/esm5/browser.js
@@ -0,0 +1,6131 @@
+/**
+ * @license Angular v5.2.0
+ * (c) 2010-2018 Google, Inc. https://angular.io/
+ * License: MIT
+ */
+import { AUTO_STYLE, NoopAnimationPlayer, sequence, style, ɵAnimationGroupPlayer, ɵPRE_STYLE } from '@angular/animations';
+import { __assign, __extends } from 'tslib';
+
+/**
+ * @fileoverview added by tsickle
+ * @suppress {checkTypes} checked by tsc
+ */
+/**
+ * @param {?} players
+ * @return {?}
+ */
+function optimizeGroupPlayer(players) {
+    switch (players.length) {
+        case 0:
+            return new NoopAnimationPlayer();
+        case 1:
+            return players[0];
+        default:
+            return new ɵAnimationGroupPlayer(players);
+    }
+}
+/**
+ * @param {?} driver
+ * @param {?} normalizer
+ * @param {?} element
+ * @param {?} keyframes
+ * @param {?=} preStyles
+ * @param {?=} postStyles
+ * @return {?}
+ */
+function normalizeKeyframes(driver, normalizer, element, keyframes, preStyles, postStyles) {
+    if (preStyles === void 0) { preStyles = {}; }
+    if (postStyles === void 0) { postStyles = {}; }
+    var /** @type {?} */ errors = [];
+    var /** @type {?} */ normalizedKeyframes = [];
+    var /** @type {?} */ previousOffset = -1;
+    var /** @type {?} */ previousKeyframe = null;
+    keyframes.forEach(function (kf) {
+        var /** @type {?} */ offset = /** @type {?} */ (kf['offset']);
+        var /** @type {?} */ isSameOffset = offset == previousOffset;
+        var /** @type {?} */ normalizedKeyframe = (isSameOffset && previousKeyframe) || {};
+        Object.keys(kf).forEach(function (prop) {
+            var /** @type {?} */ normalizedProp = prop;
+            var /** @type {?} */ normalizedValue = kf[prop];
+            if (prop !== 'offset') {
+                normalizedProp = normalizer.normalizePropertyName(normalizedProp, errors);
+                switch (normalizedValue) {
+                    case ɵPRE_STYLE:
+                        normalizedValue = preStyles[prop];
+                        break;
+                    case AUTO_STYLE:
+                        normalizedValue = postStyles[prop];
+                        break;
+                    default:
+                        normalizedValue =
+                            normalizer.normalizeStyleValue(prop, normalizedProp, normalizedValue, errors);
+                        break;
+                }
+            }
+            normalizedKeyframe[normalizedProp] = normalizedValue;
+        });
+        if (!isSameOffset) {
+            normalizedKeyframes.push(normalizedKeyframe);
+        }
+        previousKeyframe = normalizedKeyframe;
+        previousOffset = offset;
+    });
+    if (errors.length) {
+        var /** @type {?} */ LINE_START = '\n - ';
+        throw new Error("Unable to animate due to the following errors:" + LINE_START + errors.join(LINE_START));
+    }
+    return normalizedKeyframes;
+}
+/**
+ * @param {?} player
+ * @param {?} eventName
+ * @param {?} event
+ * @param {?} callback
+ * @return {?}
+ */
+function listenOnPlayer(player, eventName, event, callback) {
+    switch (eventName) {
+        case 'start':
+            player.onStart(function () { return callback(event && copyAnimationEvent(event, 'start', player.totalTime)); });
+            break;
+        case 'done':
+            player.onDone(function () { return callback(event && copyAnimationEvent(event, 'done', player.totalTime)); });
+            break;
+        case 'destroy':
+            player.onDestroy(function () { return callback(event && copyAnimationEvent(event, 'destroy', player.totalTime)); });
+            break;
+    }
+}
+/**
+ * @param {?} e
+ * @param {?=} phaseName
+ * @param {?=} totalTime
+ * @return {?}
+ */
+function copyAnimationEvent(e, phaseName, totalTime) {
+    var /** @type {?} */ event = makeAnimationEvent(e.element, e.triggerName, e.fromState, e.toState, phaseName || e.phaseName, totalTime == undefined ? e.totalTime : totalTime);
+    var /** @type {?} */ data = (/** @type {?} */ (e))['_data'];
+    if (data != null) {
+        (/** @type {?} */ (event))['_data'] = data;
+    }
+    return event;
+}
+/**
+ * @param {?} element
+ * @param {?} triggerName
+ * @param {?} fromState
+ * @param {?} toState
+ * @param {?=} phaseName
+ * @param {?=} totalTime
+ * @return {?}
+ */
+function makeAnimationEvent(element, triggerName, fromState, toState, phaseName, totalTime) {
+    if (phaseName === void 0) { phaseName = ''; }
+    if (totalTime === void 0) { totalTime = 0; }
+    return { element: element, triggerName: triggerName, fromState: fromState, toState: toState, phaseName: phaseName, totalTime: totalTime };
+}
+/**
+ * @param {?} map
+ * @param {?} key
+ * @param {?} defaultValue
+ * @return {?}
+ */
+function getOrSetAsInMap(map, key, defaultValue) {
+    var /** @type {?} */ value;
+    if (map instanceof Map) {
+        value = map.get(key);
+        if (!value) {
+            map.set(key, value = defaultValue);
+        }
+    }
+    else {
+        value = map[key];
+        if (!value) {
+            value = map[key] = defaultValue;
+        }
+    }
+    return value;
+}
+/**
+ * @param {?} command
+ * @return {?}
+ */
+function parseTimelineCommand(command) {
+    var /** @type {?} */ separatorPos = command.indexOf(':');
+    var /** @type {?} */ id = command.substring(1, separatorPos);
+    var /** @type {?} */ action = command.substr(separatorPos + 1);
+    return [id, action];
+}
+var _contains = function (elm1, elm2) { return false; };
+var _matches = function (element, selector) {
+    return false;
+};
+var _query = function (element, selector, multi) {
+    return [];
+};
+if (typeof Element != 'undefined') {
+    // this is well supported in all browsers
+    _contains = function (elm1, elm2) { return /** @type {?} */ (elm1.contains(elm2)); };
+    if (Element.prototype.matches) {
+        _matches = function (element, selector) { return element.matches(selector); };
+    }
+    else {
+        var /** @type {?} */ proto = /** @type {?} */ (Element.prototype);
+        var /** @type {?} */ fn_1 = proto.matchesSelector || proto.mozMatchesSelector || proto.msMatchesSelector ||
+            proto.oMatchesSelector || proto.webkitMatchesSelector;
+        if (fn_1) {
+            _matches = function (element, selector) { return fn_1.apply(element, [selector]); };
+        }
+    }
+    _query = function (element, selector, multi) {
+        var /** @type {?} */ results = [];
+        if (multi) {
+            results.push.apply(results, element.querySelectorAll(selector));
+        }
+        else {
+            var /** @type {?} */ elm = element.querySelector(selector);
+            if (elm) {
+                results.push(elm);
+            }
+        }
+        return results;
+    };
+}
+/**
+ * @param {?} prop
+ * @return {?}
+ */
+function containsVendorPrefix(prop) {
+    // Webkit is the only real popular vendor prefix nowadays
+    // cc: http://shouldiprefix.com/
+    return prop.substring(1, 6) == 'ebkit'; // webkit or Webkit
+}
+var _CACHED_BODY = null;
+var _IS_WEBKIT = false;
+/**
+ * @param {?} prop
+ * @return {?}
+ */
+function validateStyleProperty(prop) {
+    if (!_CACHED_BODY) {
+        _CACHED_BODY = getBodyNode() || {};
+        _IS_WEBKIT = /** @type {?} */ ((_CACHED_BODY)).style ? ('WebkitAppearance' in /** @type {?} */ ((_CACHED_BODY)).style) : false;
+    }
+    var /** @type {?} */ result = true;
+    if (/** @type {?} */ ((_CACHED_BODY)).style && !containsVendorPrefix(prop)) {
+        result = prop in /** @type {?} */ ((_CACHED_BODY)).style;
+        if (!result && _IS_WEBKIT) {
+            var /** @type {?} */ camelProp = 'Webkit' + prop.charAt(0).toUpperCase() + prop.substr(1);
+            result = camelProp in /** @type {?} */ ((_CACHED_BODY)).style;
+        }
+    }
+    return result;
+}
+/**
+ * @return {?}
+ */
+function getBodyNode() {
+    if (typeof document != 'undefined') {
+        return document.body;
+    }
+    return null;
+}
+var matchesElement = _matches;
+var containsElement = _contains;
+var invokeQuery = _query;
+
+/**
+ * @fileoverview added by tsickle
+ * @suppress {checkTypes} checked by tsc
+ */
+/**
+ * \@experimental
+ */
+var NoopAnimationDriver = /** @class */ (function () {
+    function NoopAnimationDriver() {
+    }
+    /**
+     * @param {?} prop
+     * @return {?}
+     */
+    NoopAnimationDriver.prototype.validateStyleProperty = /**
+     * @param {?} prop
+     * @return {?}
+     */
+    function (prop) { return validateStyleProperty(prop); };
+    /**
+     * @param {?} element
+     * @param {?} selector
+     * @return {?}
+     */
+    NoopAnimationDriver.prototype.matchesElement = /**
+     * @param {?} element
+     * @param {?} selector
+     * @return {?}
+     */
+    function (element, selector) {
+        return matchesElement(element, selector);
+    };
+    /**
+     * @param {?} elm1
+     * @param {?} elm2
+     * @return {?}
+     */
+    NoopAnimationDriver.prototype.containsElement = /**
+     * @param {?} elm1
+     * @param {?} elm2
+     * @return {?}
+     */
+    function (elm1, elm2) { return containsElement(elm1, elm2); };
+    /**
+     * @param {?} element
+     * @param {?} selector
+     * @param {?} multi
+     * @return {?}
+     */
+    NoopAnimationDriver.prototype.query = /**
+     * @param {?} element
+     * @param {?} selector
+     * @param {?} multi
+     * @return {?}
+     */
+    function (element, selector, multi) {
+        return invokeQuery(element, selector, multi);
+    };
+    /**
+     * @param {?} element
+     * @param {?} prop
+     * @param {?=} defaultValue
+     * @return {?}
+     */
+    NoopAnimationDriver.prototype.computeStyle = /**
+     * @param {?} element
+     * @param {?} prop
+     * @param {?=} defaultValue
+     * @return {?}
+     */
+    function (element, prop, defaultValue) {
+        return defaultValue || '';
+    };
+    /**
+     * @param {?} element
+     * @param {?} keyframes
+     * @param {?} duration
+     * @param {?} delay
+     * @param {?} easing
+     * @param {?=} previousPlayers
+     * @return {?}
+     */
+    NoopAnimationDriver.prototype.animate = /**
+     * @param {?} element
+     * @param {?} keyframes
+     * @param {?} duration
+     * @param {?} delay
+     * @param {?} easing
+     * @param {?=} previousPlayers
+     * @return {?}
+     */
+    function (element, keyframes, duration, delay, easing, previousPlayers) {
+        if (previousPlayers === void 0) { previousPlayers = []; }
+        return new NoopAnimationPlayer();
+    };
+    return NoopAnimationDriver;
+}());
+/**
+ * \@experimental
+ * @abstract
+ */
+var AnimationDriver = /** @class */ (function () {
+    function AnimationDriver() {
+    }
+    AnimationDriver.NOOP = new NoopAnimationDriver();
+    return AnimationDriver;
+}());
+
+/**
+ * @fileoverview added by tsickle
+ * @suppress {checkTypes} checked by tsc
+ */
+var ONE_SECOND = 1000;
+var SUBSTITUTION_EXPR_START = '{{';
+var SUBSTITUTION_EXPR_END = '}}';
+var ENTER_CLASSNAME = 'ng-enter';
+var LEAVE_CLASSNAME = 'ng-leave';
+
+
+var NG_TRIGGER_CLASSNAME = 'ng-trigger';
+var NG_TRIGGER_SELECTOR = '.ng-trigger';
+var NG_ANIMATING_CLASSNAME = 'ng-animating';
+var NG_ANIMATING_SELECTOR = '.ng-animating';
+/**
+ * @param {?} value
+ * @return {?}
+ */
+function resolveTimingValue(value) {
+    if (typeof value == 'number')
+        return value;
+    var /** @type {?} */ matches = (/** @type {?} */ (value)).match(/^(-?[\.\d]+)(m?s)/);
+    if (!matches || matches.length < 2)
+        return 0;
+    return _convertTimeValueToMS(parseFloat(matches[1]), matches[2]);
+}
+/**
+ * @param {?} value
+ * @param {?} unit
+ * @return {?}
+ */
+function _convertTimeValueToMS(value, unit) {
+    switch (unit) {
+        case 's':
+            return value * ONE_SECOND;
+        default:
+            // ms or something else
+            return value;
+    }
+}
+/**
+ * @param {?} timings
+ * @param {?} errors
+ * @param {?=} allowNegativeValues
+ * @return {?}
+ */
+function resolveTiming(timings, errors, allowNegativeValues) {
+    return timings.hasOwnProperty('duration') ? /** @type {?} */ (timings) :
+        parseTimeExpression(/** @type {?} */ (timings), errors, allowNegativeValues);
+}
+/**
+ * @param {?} exp
+ * @param {?} errors
+ * @param {?=} allowNegativeValues
+ * @return {?}
+ */
+function parseTimeExpression(exp, errors, allowNegativeValues) {
+    var /** @type {?} */ regex = /^(-?[\.\d]+)(m?s)(?:\s+(-?[\.\d]+)(m?s))?(?:\s+([-a-z]+(?:\(.+?\))?))?$/i;
+    var /** @type {?} */ duration;
+    var /** @type {?} */ delay = 0;
+    var /** @type {?} */ easing = '';
+    if (typeof exp === 'string') {
+        var /** @type {?} */ matches = exp.match(regex);
+        if (matches === null) {
+            errors.push("The provided timing value \"" + exp + "\" is invalid.");
+            return { duration: 0, delay: 0, easing: '' };
+        }
+        duration = _convertTimeValueToMS(parseFloat(matches[1]), matches[2]);
+        var /** @type {?} */ delayMatch = matches[3];
+        if (delayMatch != null) {
+            delay = _convertTimeValueToMS(Math.floor(parseFloat(delayMatch)), matches[4]);
+        }
+        var /** @type {?} */ easingVal = matches[5];
+        if (easingVal) {
+            easing = easingVal;
+        }
+    }
+    else {
+        duration = /** @type {?} */ (exp);
+    }
+    if (!allowNegativeValues) {
+        var /** @type {?} */ containsErrors = false;
+        var /** @type {?} */ startIndex = errors.length;
+        if (duration < 0) {
+            errors.push("Duration values below 0 are not allowed for this animation step.");
+            containsErrors = true;
+        }
+        if (delay < 0) {
+            errors.push("Delay values below 0 are not allowed for this animation step.");
+            containsErrors = true;
+        }
+        if (containsErrors) {
+            errors.splice(startIndex, 0, "The provided timing value \"" + exp + "\" is invalid.");
+        }
+    }
+    return { duration: duration, delay: delay, easing: easing };
+}
+/**
+ * @param {?} obj
+ * @param {?=} destination
+ * @return {?}
+ */
+function copyObj(obj, destination) {
+    if (destination === void 0) { destination = {}; }
+    Object.keys(obj).forEach(function (prop) { destination[prop] = obj[prop]; });
+    return destination;
+}
+/**
+ * @param {?} styles
+ * @return {?}
+ */
+function normalizeStyles(styles) {
+    var /** @type {?} */ normalizedStyles = {};
+    if (Array.isArray(styles)) {
+        styles.forEach(function (data) { return copyStyles(data, false, normalizedStyles); });
+    }
+    else {
+        copyStyles(styles, false, normalizedStyles);
+    }
+    return normalizedStyles;
+}
+/**
+ * @param {?} styles
+ * @param {?} readPrototype
+ * @param {?=} destination
+ * @return {?}
+ */
+function copyStyles(styles, readPrototype, destination) {
+    if (destination === void 0) { destination = {}; }
+    if (readPrototype) {
+        // we make use of a for-in loop so that the
+        // prototypically inherited properties are
+        // revealed from the backFill map
+        for (var /** @type {?} */ prop in styles) {
+            destination[prop] = styles[prop];
+        }
+    }
+    else {
+        copyObj(styles, destination);
+    }
+    return destination;
+}
+/**
+ * @param {?} element
+ * @param {?} styles
+ * @return {?}
+ */
+function setStyles(element, styles) {
+    if (element['style']) {
+        Object.keys(styles).forEach(function (prop) {
+            var /** @type {?} */ camelProp = dashCaseToCamelCase(prop);
+            element.style[camelProp] = styles[prop];
+        });
+    }
+}
+/**
+ * @param {?} element
+ * @param {?} styles
+ * @return {?}
+ */
+function eraseStyles(element, styles) {
+    if (element['style']) {
+        Object.keys(styles).forEach(function (prop) {
+            var /** @type {?} */ camelProp = dashCaseToCamelCase(prop);
+            element.style[camelProp] = '';
+        });
+    }
+}
+/**
+ * @param {?} steps
+ * @return {?}
+ */
+function normalizeAnimationEntry(steps) {
+    if (Array.isArray(steps)) {
+        if (steps.length == 1)
+            return steps[0];
+        return sequence(steps);
+    }
+    return /** @type {?} */ (steps);
+}
+/**
+ * @param {?} value
+ * @param {?} options
+ * @param {?} errors
+ * @return {?}
+ */
+function validateStyleParams(value, options, errors) {
+    var /** @type {?} */ params = options.params || {};
+    var /** @type {?} */ matches = extractStyleParams(value);
+    if (matches.length) {
+        matches.forEach(function (varName) {
+            if (!params.hasOwnProperty(varName)) {
+                errors.push("Unable to resolve the local animation param " + varName + " in the given list of values");
+            }
+        });
+    }
+}
+var PARAM_REGEX = new RegExp(SUBSTITUTION_EXPR_START + "\\s*(.+?)\\s*" + SUBSTITUTION_EXPR_END, 'g');
+/**
+ * @param {?} value
+ * @return {?}
+ */
+function extractStyleParams(value) {
+    var /** @type {?} */ params = [];
+    if (typeof value === 'string') {
+        var /** @type {?} */ val = value.toString();
+        var /** @type {?} */ match = void 0;
+        while (match = PARAM_REGEX.exec(val)) {
+            params.push(/** @type {?} */ (match[1]));
+        }
+        PARAM_REGEX.lastIndex = 0;
+    }
+    return params;
+}
+/**
+ * @param {?} value
+ * @param {?} params
+ * @param {?} errors
+ * @return {?}
+ */
+function interpolateParams(value, params, errors) {
+    var /** @type {?} */ original = value.toString();
+    var /** @type {?} */ str = original.replace(PARAM_REGEX, function (_, varName) {
+        var /** @type {?} */ localVal = params[varName];
+        // this means that the value was never overidden by the data passed in by the user
+        if (!params.hasOwnProperty(varName)) {
+            errors.push("Please provide a value for the animation param " + varName);
+            localVal = '';
+        }
+        return localVal.toString();
+    });
+    // we do this to assert that numeric values stay as they are
+    return str == original ? value : str;
+}
+/**
+ * @param {?} iterator
+ * @return {?}
+ */
+function iteratorToArray(iterator) {
+    var /** @type {?} */ arr = [];
+    var /** @type {?} */ item = iterator.next();
+    while (!item.done) {
+        arr.push(item.value);
+        item = iterator.next();
+    }
+    return arr;
+}
+/**
+ * @param {?} source
+ * @param {?} destination
+ * @return {?}
+ */
+
+var DASH_CASE_REGEXP = /-+([a-z0-9])/g;
+/**
+ * @param {?} input
+ * @return {?}
+ */
+function dashCaseToCamelCase(input) {
+    return input.replace(DASH_CASE_REGEXP, function () {
+        var m = [];
+        for (var _i = 0; _i < arguments.length; _i++) {
+            m[_i] = arguments[_i];
+        }
+        return m[1].toUpperCase();
+    });
+}
+/**
+ * @param {?} duration
+ * @param {?} delay
+ * @return {?}
+ */
+function allowPreviousPlayerStylesMerge(duration, delay) {
+    return duration === 0 || delay === 0;
+}
+/**
+ * @param {?} visitor
+ * @param {?} node
+ * @param {?} context
+ * @return {?}
+ */
+function visitDslNode(visitor, node, context) {
+    switch (node.type) {
+        case 7 /* Trigger */:
+            return visitor.visitTrigger(node, context);
+        case 0 /* State */:
+            return visitor.visitState(node, context);
+        case 1 /* Transition */:
+            return visitor.visitTransition(node, context);
+        case 2 /* Sequence */:
+            return visitor.visitSequence(node, context);
+        case 3 /* Group */:
+            return visitor.visitGroup(node, context);
+        case 4 /* Animate */:
+            return visitor.visitAnimate(node, context);
+        case 5 /* Keyframes */:
+            return visitor.visitKeyframes(node, context);
+        case 6 /* Style */:
+            return visitor.visitStyle(node, context);
+        case 8 /* Reference */:
+            return visitor.visitReference(node, context);
+        case 9 /* AnimateChild */:
+            return visitor.visitAnimateChild(node, context);
+        case 10 /* AnimateRef */:
+            return visitor.visitAnimateRef(node, context);
+        case 11 /* Query */:
+            return visitor.visitQuery(node, context);
+        case 12 /* Stagger */:
+            return visitor.visitStagger(node, context);
+        default:
+            throw new Error("Unable to resolve animation metadata node #" + node.type);
+    }
+}
+
+/**
+ * @fileoverview added by tsickle
+ * @suppress {checkTypes} checked by tsc
+ */
+/**
+ * @license
+ * Copyright Google Inc. All Rights Reserved.
+ *
+ * Use of this source code is governed by an MIT-style license that can be
+ * found in the LICENSE file at https://angular.io/license
+ */
+var ANY_STATE = '*';
+/**
+ * @param {?} transitionValue
+ * @param {?} errors
+ * @return {?}
+ */
+function parseTransitionExpr(transitionValue, errors) {
+    var /** @type {?} */ expressions = [];
+    if (typeof transitionValue == 'string') {
+        (/** @type {?} */ (transitionValue))
+            .split(/\s*,\s*/)
+            .forEach(function (str) { return parseInnerTransitionStr(str, expressions, errors); });
+    }
+    else {
+        expressions.push(/** @type {?} */ (transitionValue));
+    }
+    return expressions;
+}
+/**
+ * @param {?} eventStr
+ * @param {?} expressions
+ * @param {?} errors
+ * @return {?}
+ */
+function parseInnerTransitionStr(eventStr, expressions, errors) {
+    if (eventStr[0] == ':') {
+        var /** @type {?} */ result = parseAnimationAlias(eventStr, errors);
+        if (typeof result == 'function') {
+            expressions.push(result);
+            return;
+        }
+        eventStr = /** @type {?} */ (result);
+    }
+    var /** @type {?} */ match = eventStr.match(/^(\*|[-\w]+)\s*(<?[=-]>)\s*(\*|[-\w]+)$/);
+    if (match == null || match.length < 4) {
+        errors.push("The provided transition expression \"" + eventStr + "\" is not supported");
+        return expressions;
+    }
+    var /** @type {?} */ fromState = match[1];
+    var /** @type {?} */ separator = match[2];
+    var /** @type {?} */ toState = match[3];
+    expressions.push(makeLambdaFromStates(fromState, toState));
+    var /** @type {?} */ isFullAnyStateExpr = fromState == ANY_STATE && toState == ANY_STATE;
+    if (separator[0] == '<' && !isFullAnyStateExpr) {
+        expressions.push(makeLambdaFromStates(toState, fromState));
+    }
+}
+/**
+ * @param {?} alias
+ * @param {?} errors
+ * @return {?}
+ */
+function parseAnimationAlias(alias, errors) {
+    switch (alias) {
+        case ':enter':
+            return 'void => *';
+        case ':leave':
+            return '* => void';
+        case ':increment':
+            return function (fromState, toState) { return parseFloat(toState) > parseFloat(fromState); };
+        case ':decrement':
+            return function (fromState, toState) { return parseFloat(toState) < parseFloat(fromState); };
+        default:
+            errors.push("The transition alias value \"" + alias + "\" is not supported");
+            return '* => *';
+    }
+}
+// DO NOT REFACTOR ... keep the follow set instantiations
+// with the values intact (closure compiler for some reason
+// removes follow-up lines that add the values outside of
+// the constructor...
+var TRUE_BOOLEAN_VALUES = new Set(['true', '1']);
+var FALSE_BOOLEAN_VALUES = new Set(['false', '0']);
+/**
+ * @param {?} lhs
+ * @param {?} rhs
+ * @return {?}
+ */
+function makeLambdaFromStates(lhs, rhs) {
+    var /** @type {?} */ LHS_MATCH_BOOLEAN = TRUE_BOOLEAN_VALUES.has(lhs) || FALSE_BOOLEAN_VALUES.has(lhs);
+    var /** @type {?} */ RHS_MATCH_BOOLEAN = TRUE_BOOLEAN_VALUES.has(rhs) || FALSE_BOOLEAN_VALUES.has(rhs);
+    return function (fromState, toState) {
+        var /** @type {?} */ lhsMatch = lhs == ANY_STATE || lhs == fromState;
+        var /** @type {?} */ rhsMatch = rhs == ANY_STATE || rhs == toState;
+        if (!lhsMatch && LHS_MATCH_BOOLEAN && typeof fromState === 'boolean') {
+            lhsMatch = fromState ? TRUE_BOOLEAN_VALUES.has(lhs) : FALSE_BOOLEAN_VALUES.has(lhs);
+        }
+        if (!rhsMatch && RHS_MATCH_BOOLEAN && typeof toState === 'boolean') {
+            rhsMatch = toState ? TRUE_BOOLEAN_VALUES.has(rhs) : FALSE_BOOLEAN_VALUES.has(rhs);
+        }
+        return lhsMatch && rhsMatch;
+    };
+}
+
+/**
+ * @fileoverview added by tsickle
+ * @suppress {checkTypes} checked by tsc
+ */
+var SELF_TOKEN = ':self';
+var SELF_TOKEN_REGEX = new RegExp("s*" + SELF_TOKEN + "s*,?", 'g');
+/**
+ * @param {?} driver
+ * @param {?} metadata
+ * @param {?} errors
+ * @return {?}
+ */
+function buildAnimationAst(driver, metadata, errors) {
+    return new AnimationAstBuilderVisitor(driver).build(metadata, errors);
+}
+var ROOT_SELECTOR = '';
+var AnimationAstBuilderVisitor = /** @class */ (function () {
+    function AnimationAstBuilderVisitor(_driver) {
+        this._driver = _driver;
+    }
+    /**
+     * @param {?} metadata
+     * @param {?} errors
+     * @return {?}
+     */
+    AnimationAstBuilderVisitor.prototype.build = /**
+     * @param {?} metadata
+     * @param {?} errors
+     * @return {?}
+     */
+    function (metadata, errors) {
+        var /** @type {?} */ context = new AnimationAstBuilderContext(errors);
+        this._resetContextStyleTimingState(context);
+        return /** @type {?} */ (visitDslNode(this, normalizeAnimationEntry(metadata), context));
+    };
+    /**
+     * @param {?} context
+     * @return {?}
+     */
+    AnimationAstBuilderVisitor.prototype._resetContextStyleTimingState = /**
+     * @param {?} context
+     * @return {?}
+     */
+    function (context) {
+        context.currentQuerySelector = ROOT_SELECTOR;
+        context.collectedStyles = {};
+        context.collectedStyles[ROOT_SELECTOR] = {};
+        context.currentTime = 0;
+    };
+    /**
+     * @param {?} metadata
+     * @param {?} context
+     * @return {?}
+     */
+    AnimationAstBuilderVisitor.prototype.visitTrigger = /**
+     * @param {?} metadata
+     * @param {?} context
+     * @return {?}
+     */
+    function (metadata, context) {
+        var _this = this;
+        var /** @type {?} */ queryCount = context.queryCount = 0;
+        var /** @type {?} */ depCount = context.depCount = 0;
+        var /** @type {?} */ states = [];
+        var /** @type {?} */ transitions = [];
+        if (metadata.name.charAt(0) == '@') {
+            context.errors.push('animation triggers cannot be prefixed with an `@` sign (e.g. trigger(\'@foo\', [...]))');
+        }
+        metadata.definitions.forEach(function (def) {
+            _this._resetContextStyleTimingState(context);
+            if (def.type == 0 /* State */) {
+                var /** @type {?} */ stateDef_1 = /** @type {?} */ (def);
+                var /** @type {?} */ name_1 = stateDef_1.name;
+                name_1.split(/\s*,\s*/).forEach(function (n) {
+                    stateDef_1.name = n;
+                    states.push(_this.visitState(stateDef_1, context));
+                });
+                stateDef_1.name = name_1;
+            }
+            else if (def.type == 1 /* Transition */) {
+                var /** @type {?} */ transition = _this.visitTransition(/** @type {?} */ (def), context);
+                queryCount += transition.queryCount;
+                depCount += transition.depCount;
+                transitions.push(transition);
+            }
+            else {
+                context.errors.push('only state() and transition() definitions can sit inside of a trigger()');
+            }
+        });
+        return {
+            type: 7 /* Trigger */,
+            name: metadata.name, states: states, transitions: transitions, queryCount: queryCount, depCount: depCount,
+            options: null
+        };
+    };
+    /**
+     * @param {?} metadata
+     * @param {?} context
+     * @return {?}
+     */
+    AnimationAstBuilderVisitor.prototype.visitState = /**
+     * @param {?} metadata
+     * @param {?} context
+     * @return {?}
+     */
+    function (metadata, context) {
+        var /** @type {?} */ styleAst = this.visitStyle(metadata.styles, context);
+        var /** @type {?} */ astParams = (metadata.options && metadata.options.params) || null;
+        if (styleAst.containsDynamicStyles) {
+            var /** @type {?} */ missingSubs_1 = new Set();
+            var /** @type {?} */ params_1 = astParams || {};
+            styleAst.styles.forEach(function (value) {
+                if (isObject(value)) {
+                    var /** @type {?} */ stylesObj_1 = /** @type {?} */ (value);
+                    Object.keys(stylesObj_1).forEach(function (prop) {
+                        extractStyleParams(stylesObj_1[prop]).forEach(function (sub) {
+                            if (!params_1.hasOwnProperty(sub)) {
+                                missingSubs_1.add(sub);
+                            }
+                        });
+                    });
+                }
+            });
+            if (missingSubs_1.size) {
+                var /** @type {?} */ missingSubsArr = iteratorToArray(missingSubs_1.values());
+                context.errors.push("state(\"" + metadata.name + "\", ...) must define default values for all the following style substitutions: " + missingSubsArr.join(', '));
+            }
+        }
+        return {
+            type: 0 /* State */,
+            name: metadata.name,
+            style: styleAst,
+            options: astParams ? { params: astParams } : null
+        };
+    };
+    /**
+     * @param {?} metadata
+     * @param {?} context
+     * @return {?}
+     */
+    AnimationAstBuilderVisitor.prototype.visitTransition = /**
+     * @param {?} metadata
+     * @param {?} context
+     * @return {?}
+     */
+    function (metadata, context) {
+        context.queryCount = 0;
+        context.depCount = 0;
+        var /** @type {?} */ animation = visitDslNode(this, normalizeAnimationEntry(metadata.animation), context);
+        var /** @type {?} */ matchers = parseTransitionExpr(metadata.expr, context.errors);
+        return {
+            type: 1 /* Transition */,
+            matchers: matchers,
+            animation: animation,
+            queryCount: context.queryCount,
+            depCount: context.depCount,
+            options: normalizeAnimationOptions(metadata.options)
+        };
+    };
+    /**
+     * @param {?} metadata
+     * @param {?} context
+     * @return {?}
+     */
+    AnimationAstBuilderVisitor.prototype.visitSequence = /**
+     * @param {?} metadata
+     * @param {?} context
+     * @return {?}
+     */
+    function (metadata, context) {
+        var _this = this;
+        return {
+            type: 2 /* Sequence */,
+            steps: metadata.steps.map(function (s) { return visitDslNode(_this, s, context); }),
+            options: normalizeAnimationOptions(metadata.options)
+        };
+    };
+    /**
+     * @param {?} metadata
+     * @param {?} context
+     * @return {?}
+     */
+    AnimationAstBuilderVisitor.prototype.visitGroup = /**
+     * @param {?} metadata
+     * @param {?} context
+     * @return {?}
+     */
+    function (metadata, context) {
+        var _this = this;
+        var /** @type {?} */ currentTime = context.currentTime;
+        var /** @type {?} */ furthestTime = 0;
+        var /** @type {?} */ steps = metadata.steps.map(function (step) {
+            context.currentTime = currentTime;
+            var /** @type {?} */ innerAst = visitDslNode(_this, step, context);
+            furthestTime = Math.max(furthestTime, context.currentTime);
+            return innerAst;
+        });
+        context.currentTime = furthestTime;
+        return {
+            type: 3 /* Group */,
+            steps: steps,
+            options: normalizeAnimationOptions(metadata.options)
+        };
+    };
+    /**
+     * @param {?} metadata
+     * @param {?} context
+     * @return {?}
+     */
+    AnimationAstBuilderVisitor.prototype.visitAnimate = /**
+     * @param {?} metadata
+     * @param {?} context
+     * @return {?}
+     */
+    function (metadata, context) {
+        var /** @type {?} */ timingAst = constructTimingAst(metadata.timings, context.errors);
+        context.currentAnimateTimings = timingAst;
+        var /** @type {?} */ styleAst;
+        var /** @type {?} */ styleMetadata = metadata.styles ? metadata.styles : style({});
+        if (styleMetadata.type == 5 /* Keyframes */) {
+            styleAst = this.visitKeyframes(/** @type {?} */ (styleMetadata), context);
+        }
+        else {
+            var /** @type {?} */ styleMetadata_1 = /** @type {?} */ (metadata.styles);
+            var /** @type {?} */ isEmpty = false;
+            if (!styleMetadata_1) {
+                isEmpty = true;
+                var /** @type {?} */ newStyleData = {};
+                if (timingAst.easing) {
+                    newStyleData['easing'] = timingAst.easing;
+                }
+                styleMetadata_1 = style(newStyleData);
+            }
+            context.currentTime += timingAst.duration + timingAst.delay;
+            var /** @type {?} */ _styleAst = this.visitStyle(styleMetadata_1, context);
+            _styleAst.isEmptyStep = isEmpty;
+            styleAst = _styleAst;
+        }
+        context.currentAnimateTimings = null;
+        return {
+            type: 4 /* Animate */,
+            timings: timingAst,
+            style: styleAst,
+            options: null
+        };
+    };
+    /**
+     * @param {?} metadata
+     * @param {?} context
+     * @return {?}
+     */
+    AnimationAstBuilderVisitor.prototype.visitStyle = /**
+     * @param {?} metadata
+     * @param {?} context
+     * @return {?}
+     */
+    function (metadata, context) {
+        var /** @type {?} */ ast = this._makeStyleAst(metadata, context);
+        this._validateStyleAst(ast, context);
+        return ast;
+    };
+    /**
+     * @param {?} metadata
+     * @param {?} context
+     * @return {?}
+     */
+    AnimationAstBuilderVisitor.prototype._makeStyleAst = /**
+     * @param {?} metadata
+     * @param {?} context
+     * @return {?}
+     */
+    function (metadata, context) {
+        var /** @type {?} */ styles = [];
+        if (Array.isArray(metadata.styles)) {
+            (/** @type {?} */ (metadata.styles)).forEach(function (styleTuple) {
+                if (typeof styleTuple == 'string') {
+                    if (styleTuple == AUTO_STYLE) {
+                        styles.push(/** @type {?} */ (styleTuple));
+                    }
+                    else {
+                        context.errors.push("The provided style string value " + styleTuple + " is not allowed.");
+                    }
+                }
+                else {
+                    styles.push(/** @type {?} */ (styleTuple));
+                }
+            });
+        }
+        else {
+            styles.push(metadata.styles);
+        }
+        var /** @type {?} */ containsDynamicStyles = false;
+        var /** @type {?} */ collectedEasing = null;
+        styles.forEach(function (styleData) {
+            if (isObject(styleData)) {
+                var /** @type {?} */ styleMap = /** @type {?} */ (styleData);
+                var /** @type {?} */ easing = styleMap['easing'];
+                if (easing) {
+                    collectedEasing = /** @type {?} */ (easing);
+                    delete styleMap['easing'];
+                }
+                if (!containsDynamicStyles) {
+                    for (var /** @type {?} */ prop in styleMap) {
+                        var /** @type {?} */ value = styleMap[prop];
+                        if (value.toString().indexOf(SUBSTITUTION_EXPR_START) >= 0) {
+                            containsDynamicStyles = true;
+                            break;
+                        }
+                    }
+                }
+            }
+        });
+        return {
+            type: 6 /* Style */,
+            styles: styles,
+            easing: collectedEasing,
+            offset: metadata.offset, containsDynamicStyles: containsDynamicStyles,
+            options: null
+        };
+    };
+    /**
+     * @param {?} ast
+     * @param {?} context
+     * @return {?}
+     */
+    AnimationAstBuilderVisitor.prototype._validateStyleAst = /**
+     * @param {?} ast
+     * @param {?} context
+     * @return {?}
+     */
+    function (ast, context) {
+        var _this = this;
+        var /** @type {?} */ timings = context.currentAnimateTimings;
+        var /** @type {?} */ endTime = context.currentTime;
+        var /** @type {?} */ startTime = context.currentTime;
+        if (timings && startTime > 0) {
+            startTime -= timings.duration + timings.delay;
+        }
+        ast.styles.forEach(function (tuple) {
+            if (typeof tuple == 'string')
+                return;
+            Object.keys(tuple).forEach(function (prop) {
+                if (!_this._driver.validateStyleProperty(prop)) {
+                    context.errors.push("The provided animation property \"" + prop + "\" is not a supported CSS property for animations");
+                    return;
+                }
+                var /** @type {?} */ collectedStyles = context.collectedStyles[/** @type {?} */ ((context.currentQuerySelector))];
+                var /** @type {?} */ collectedEntry = collectedStyles[prop];
+                var /** @type {?} */ updateCollectedStyle = true;
+                if (collectedEntry) {
+                    if (startTime != endTime && startTime >= collectedEntry.startTime &&
+                        endTime <= collectedEntry.endTime) {
+                        context.errors.push("The CSS property \"" + prop + "\" that exists between the times of \"" + collectedEntry.startTime + "ms\" and \"" + collectedEntry.endTime + "ms\" is also being animated in a parallel animation between the times of \"" + startTime + "ms\" and \"" + endTime + "ms\"");
+                        updateCollectedStyle = false;
+                    }
+                    // we always choose the smaller start time value since we
+                    // want to have a record of the entire animation window where
+                    // the style property is being animated in between
+                    startTime = collectedEntry.startTime;
+                }
+                if (updateCollectedStyle) {
+                    collectedStyles[prop] = { startTime: startTime, endTime: endTime };
+                }
+                if (context.options) {
+                    validateStyleParams(tuple[prop], context.options, context.errors);
+                }
+            });
+        });
+    };
+    /**
+     * @param {?} metadata
+     * @param {?} context
+     * @return {?}
+     */
+    AnimationAstBuilderVisitor.prototype.visitKeyframes = /**
+     * @param {?} metadata
+     * @param {?} context
+     * @return {?}
+     */
+    function (metadata, context) {
+        var _this = this;
+        var /** @type {?} */ ast = { type: 5 /* Keyframes */, styles: [], options: null };
+        if (!context.currentAnimateTimings) {
+            context.errors.push("keyframes() must be placed inside of a call to animate()");
+            return ast;
+        }
+        var /** @type {?} */ MAX_KEYFRAME_OFFSET = 1;
+        var /** @type {?} */ totalKeyframesWithOffsets = 0;
+        var /** @type {?} */ offsets = [];
+        var /** @type {?} */ offsetsOutOfOrder = false;
+        var /** @type {?} */ keyframesOutOfRange = false;
+        var /** @type {?} */ previousOffset = 0;
+        var /** @type {?} */ keyframes = metadata.steps.map(function (styles) {
+            var /** @type {?} */ style$$1 = _this._makeStyleAst(styles, context);
+            var /** @type {?} */ offsetVal = style$$1.offset != null ? style$$1.offset : consumeOffset(style$$1.styles);
+            var /** @type {?} */ offset = 0;
+            if (offsetVal != null) {
+                totalKeyframesWithOffsets++;
+                offset = style$$1.offset = offsetVal;
+            }
+            keyframesOutOfRange = keyframesOutOfRange || offset < 0 || offset > 1;
+            offsetsOutOfOrder = offsetsOutOfOrder || offset < previousOffset;
+            previousOffset = offset;
+            offsets.push(offset);
+            return style$$1;
+        });
+        if (keyframesOutOfRange) {
+            context.errors.push("Please ensure that all keyframe offsets are between 0 and 1");
+        }
+        if (offsetsOutOfOrder) {
+            context.errors.push("Please ensure that all keyframe offsets are in order");
+        }
+        var /** @type {?} */ length = metadata.steps.length;
+        var /** @type {?} */ generatedOffset = 0;
+        if (totalKeyframesWithOffsets > 0 && totalKeyframesWithOffsets < length) {
+            context.errors.push("Not all style() steps within the declared keyframes() contain offsets");
+        }
+        else if (totalKeyframesWithOffsets == 0) {
+            generatedOffset = MAX_KEYFRAME_OFFSET / (length - 1);
+        }
+        var /** @type {?} */ limit = length - 1;
+        var /** @type {?} */ currentTime = context.currentTime;
+        var /** @type {?} */ currentAnimateTimings = /** @type {?} */ ((context.currentAnimateTimings));
+        var /** @type {?} */ animateDuration = currentAnimateTimings.duration;
+        keyframes.forEach(function (kf, i) {
+            var /** @type {?} */ offset = generatedOffset > 0 ? (i == limit ? 1 : (generatedOffset * i)) : offsets[i];
+            var /** @type {?} */ durationUpToThisFrame = offset * animateDuration;
+            context.currentTime = currentTime + currentAnimateTimings.delay + durationUpToThisFrame;
+            currentAnimateTimings.duration = durationUpToThisFrame;
+            _this._validateStyleAst(kf, context);
+            kf.offset = offset;
+            ast.styles.push(kf);
+        });
+        return ast;
+    };
+    /**
+     * @param {?} metadata
+     * @param {?} context
+     * @return {?}
+     */
+    AnimationAstBuilderVisitor.prototype.visitReference = /**
+     * @param {?} metadata
+     * @param {?} context
+     * @return {?}
+     */
+    function (metadata, context) {
+        return {
+            type: 8 /* Reference */,
+            animation: visitDslNode(this, normalizeAnimationEntry(metadata.animation), context),
+            options: normalizeAnimationOptions(metadata.options)
+        };
+    };
+    /**
+     * @param {?} metadata
+     * @param {?} context
+     * @return {?}
+     */
+    AnimationAstBuilderVisitor.prototype.visitAnimateChild = /**
+     * @param {?} metadata
+     * @param {?} context
+     * @return {?}
+     */
+    function (metadata, context) {
+        context.depCount++;
+        return {
+            type: 9 /* AnimateChild */,
+            options: normalizeAnimationOptions(metadata.options)
+        };
+    };
+    /**
+     * @param {?} metadata
+     * @param {?} context
+     * @return {?}
+     */
+    AnimationAstBuilderVisitor.prototype.visitAnimateRef = /**
+     * @param {?} metadata
+     * @param {?} context
+     * @return {?}
+     */
+    function (metadata, context) {
+        return {
+            type: 10 /* AnimateRef */,
+            animation: this.visitReference(metadata.animation, context),
+            options: normalizeAnimationOptions(metadata.options)
+        };
+    };
+    /**
+     * @param {?} metadata
+     * @param {?} context
+     * @return {?}
+     */
+    AnimationAstBuilderVisitor.prototype.visitQuery = /**
+     * @param {?} metadata
+     * @param {?} context
+     * @return {?}
+     */
+    function (metadata, context) {
+        var /** @type {?} */ parentSelector = /** @type {?} */ ((context.currentQuerySelector));
+        var /** @type {?} */ options = /** @type {?} */ ((metadata.options || {}));
+        context.queryCount++;
+        context.currentQuery = metadata;
+        var _a = normalizeSelector(metadata.selector), selector = _a[0], includeSelf = _a[1];
+        context.currentQuerySelector =
+            parentSelector.length ? (parentSelector + ' ' + selector) : selector;
+        getOrSetAsInMap(context.collectedStyles, context.currentQuerySelector, {});
+        var /** @type {?} */ animation = visitDslNode(this, normalizeAnimationEntry(metadata.animation), context);
+        context.currentQuery = null;
+        context.currentQuerySelector = parentSelector;
+        return {
+            type: 11 /* Query */,
+            selector: selector,
+            limit: options.limit || 0,
+            optional: !!options.optional, includeSelf: includeSelf, animation: animation,
+            originalSelector: metadata.selector,
+            options: normalizeAnimationOptions(metadata.options)
+        };
+    };
+    /**
+     * @param {?} metadata
+     * @param {?} context
+     * @return {?}
+     */
+    AnimationAstBuilderVisitor.prototype.visitStagger = /**
+     * @param {?} metadata
+     * @param {?} context
+     * @return {?}
+     */
+    function (metadata, context) {
+        if (!context.currentQuery) {
+            context.errors.push("stagger() can only be used inside of query()");
+        }
+        var /** @type {?} */ timings = metadata.timings === 'full' ?
+            { duration: 0, delay: 0, easing: 'full' } :
+            resolveTiming(metadata.timings, context.errors, true);
+        return {
+            type: 12 /* Stagger */,
+            animation: visitDslNode(this, normalizeAnimationEntry(metadata.animation), context), timings: timings,
+            options: null
+        };
+    };
+    return AnimationAstBuilderVisitor;
+}());
+/**
+ * @param {?} selector
+ * @return {?}
+ */
+function normalizeSelector(selector) {
+    var /** @type {?} */ hasAmpersand = selector.split(/\s*,\s*/).find(function (token) { return token == SELF_TOKEN; }) ? true : false;
+    if (hasAmpersand) {
+        selector = selector.replace(SELF_TOKEN_REGEX, '');
+    }
+    // the :enter and :leave selectors are filled in at runtime during timeline building
+    selector = selector.replace(/@\*/g, NG_TRIGGER_SELECTOR)
+        .replace(/@\w+/g, function (match) { return NG_TRIGGER_SELECTOR + '-' + match.substr(1); })
+        .replace(/:animating/g, NG_ANIMATING_SELECTOR);
+    return [selector, hasAmpersand];
+}
+/**
+ * @param {?} obj
+ * @return {?}
+ */
+function normalizeParams(obj) {
+    return obj ? copyObj(obj) : null;
+}
+var AnimationAstBuilderContext = /** @class */ (function () {
+    function AnimationAstBuilderContext(errors) {
+        this.errors = errors;
+        this.queryCount = 0;
+        this.depCount = 0;
+        this.currentTransition = null;
+        this.currentQuery = null;
+        this.currentQuerySelector = null;
+        this.currentAnimateTimings = null;
+        this.currentTime = 0;
+        this.collectedStyles = {};
+        this.options = null;
+    }
+    return AnimationAstBuilderContext;
+}());
+/**
+ * @param {?} styles
+ * @return {?}
+ */
+function consumeOffset(styles) {
+    if (typeof styles == 'string')
+        return null;
+    var /** @type {?} */ offset = null;
+    if (Array.isArray(styles)) {
+        styles.forEach(function (styleTuple) {
+            if (isObject(styleTuple) && styleTuple.hasOwnProperty('offset')) {
+                var /** @type {?} */ obj = /** @type {?} */ (styleTuple);
+                offset = parseFloat(/** @type {?} */ (obj['offset']));
+                delete obj['offset'];
+            }
+        });
+    }
+    else if (isObject(styles) && styles.hasOwnProperty('offset')) {
+        var /** @type {?} */ obj = /** @type {?} */ (styles);
+        offset = parseFloat(/** @type {?} */ (obj['offset']));
+        delete obj['offset'];
+    }
+    return offset;
+}
+/**
+ * @param {?} value
+ * @return {?}
+ */
+function isObject(value) {
+    return !Array.isArray(value) && typeof value == 'object';
+}
+/**
+ * @param {?} value
+ * @param {?} errors
+ * @return {?}
+ */
+function constructTimingAst(value, errors) {
+    var /** @type {?} */ timings = null;
+    if (value.hasOwnProperty('duration')) {
+        timings = /** @type {?} */ (value);
+    }
+    else if (typeof value == 'number') {
+        var /** @type {?} */ duration = resolveTiming(/** @type {?} */ (value), errors).duration;
+        return makeTimingAst(/** @type {?} */ (duration), 0, '');
+    }
+    var /** @type {?} */ strValue = /** @type {?} */ (value);
+    var /** @type {?} */ isDynamic = strValue.split(/\s+/).some(function (v) { return v.charAt(0) == '{' && v.charAt(1) == '{'; });
+    if (isDynamic) {
+        var /** @type {?} */ ast = /** @type {?} */ (makeTimingAst(0, 0, ''));
+        ast.dynamic = true;
+        ast.strValue = strValue;
+        return /** @type {?} */ (ast);
+    }
+    timings = timings || resolveTiming(strValue, errors);
+    return makeTimingAst(timings.duration, timings.delay, timings.easing);
+}
+/**
+ * @param {?} options
+ * @return {?}
+ */
+function normalizeAnimationOptions(options) {
+    if (options) {
+        options = copyObj(options);
+        if (options['params']) {
+            options['params'] = /** @type {?} */ ((normalizeParams(options['params'])));
+        }
+    }
+    else {
+        options = {};
+    }
+    return options;
+}
+/**
+ * @param {?} duration
+ * @param {?} delay
+ * @param {?} easing
+ * @return {?}
+ */
+function makeTimingAst(duration, delay, easing) {
+    return { duration: duration, delay: delay, easing: easing };
+}
+
+/**
+ * @fileoverview added by tsickle
+ * @suppress {checkTypes} checked by tsc
+ */
+/**
+ * @record
+ */
+
+/**
+ * @param {?} element
+ * @param {?} keyframes
+ * @param {?} preStyleProps
+ * @param {?} postStyleProps
+ * @param {?} duration
+ * @param {?} delay
+ * @param {?=} easing
+ * @param {?=} subTimeline
+ * @return {?}
+ */
+function createTimelineInstruction(element, keyframes, preStyleProps, postStyleProps, duration, delay, easing, subTimeline) {
+    if (easing === void 0) { easing = null; }
+    if (subTimeline === void 0) { subTimeline = false; }
+    return {
+        type: 1 /* TimelineAnimation */,
+        element: element,
+        keyframes: keyframes,
+        preStyleProps: preStyleProps,
+        postStyleProps: postStyleProps,
+        duration: duration,
+        delay: delay,
+        totalTime: duration + delay, easing: easing, subTimeline: subTimeline
+    };
+}
+
+/**
+ * @fileoverview added by tsickle
+ * @suppress {checkTypes} checked by tsc
+ */
+var ElementInstructionMap = /** @class */ (function () {
+    function ElementInstructionMap() {
+        this._map = new Map();
+    }
+    /**
+     * @param {?} element
+     * @return {?}
+     */
+    ElementInstructionMap.prototype.consume = /**
+     * @param {?} element
+     * @return {?}
+     */
+    function (element) {
+        var /** @type {?} */ instructions = this._map.get(element);
+        if (instructions) {
+            this._map.delete(element);
+        }
+        else {
+            instructions = [];
+        }
+        return instructions;
+    };
+    /**
+     * @param {?} element
+     * @param {?} instructions
+     * @return {?}
+     */
+    ElementInstructionMap.prototype.append = /**
+     * @param {?} element
+     * @param {?} instructions
+     * @return {?}
+     */
+    function (element, instructions) {
+        var /** @type {?} */ existingInstructions = this._map.get(element);
+        if (!existingInstructions) {
+            this._map.set(element, existingInstructions = []);
+        }
+        existingInstructions.push.apply(existingInstructions, instructions);
+    };
+    /**
+     * @param {?} element
+     * @return {?}
+     */
+    ElementInstructionMap.prototype.has = /**
+     * @param {?} element
+     * @return {?}
+     */
+    function (element) { return this._map.has(element); };
+    /**
+     * @return {?}
+     */
+    ElementInstructionMap.prototype.clear = /**
+     * @return {?}
+     */
+    function () { this._map.clear(); };
+    return ElementInstructionMap;
+}());
+
+/**
+ * @fileoverview added by tsickle
+ * @suppress {checkTypes} checked by tsc
+ */
+var ONE_FRAME_IN_MILLISECONDS = 1;
+var ENTER_TOKEN = ':enter';
+var ENTER_TOKEN_REGEX = new RegExp(ENTER_TOKEN, 'g');
+var LEAVE_TOKEN = ':leave';
+var LEAVE_TOKEN_REGEX = new RegExp(LEAVE_TOKEN, 'g');
+/**
+ * @param {?} driver
+ * @param {?} rootElement
+ * @param {?} ast
+ * @param {?} enterClassName
+ * @param {?} leaveClassName
+ * @param {?=} startingStyles
+ * @param {?=} finalStyles
+ * @param {?=} options
+ * @param {?=} subInstructions
+ * @param {?=} errors
+ * @return {?}
+ */
+function buildAnimationTimelines(driver, rootElement, ast, enterClassName, leaveClassName, startingStyles, finalStyles, options, subInstructions, errors) {
+    if (startingStyles === void 0) { startingStyles = {}; }
+    if (finalStyles === void 0) { finalStyles = {}; }
+    if (errors === void 0) { errors = []; }
+    return new AnimationTimelineBuilderVisitor().buildKeyframes(driver, rootElement, ast, enterClassName, leaveClassName, startingStyles, finalStyles, options, subInstructions, errors);
+}
+var AnimationTimelineBuilderVisitor = /** @class */ (function () {
+    function AnimationTimelineBuilderVisitor() {
+    }
+    /**
+     * @param {?} driver
+     * @param {?} rootElement
+     * @param {?} ast
+     * @param {?} enterClassName
+     * @param {?} leaveClassName
+     * @param {?} startingStyles
+     * @param {?} finalStyles
+     * @param {?} options
+     * @param {?=} subInstructions
+     * @param {?=} errors
+     * @return {?}
+     */
+    AnimationTimelineBuilderVisitor.prototype.buildKeyframes = /**
+     * @param {?} driver
+     * @param {?} rootElement
+     * @param {?} ast
+     * @param {?} enterClassName
+     * @param {?} leaveClassName
+     * @param {?} startingStyles
+     * @param {?} finalStyles
+     * @param {?} options
+     * @param {?=} subInstructions
+     * @param {?=} errors
+     * @return {?}
+     */
+    function (driver, rootElement, ast, enterClassName, leaveClassName, startingStyles, finalStyles, options, subInstructions, errors) {
+        if (errors === void 0) { errors = []; }
+        subInstructions = subInstructions || new ElementInstructionMap();
+        var /** @type {?} */ context = new AnimationTimelineContext(driver, rootElement, subInstructions, enterClassName, leaveClassName, errors, []);
+        context.options = options;
+        context.currentTimeline.setStyles([startingStyles], null, context.errors, options);
+        visitDslNode(this, ast, context);
+        // this checks to see if an actual animation happened
+        var /** @type {?} */ timelines = context.timelines.filter(function (timeline) { return timeline.containsAnimation(); });
+        if (timelines.length && Object.keys(finalStyles).length) {
+            var /** @type {?} */ tl = timelines[timelines.length - 1];
+            if (!tl.allowOnlyTimelineStyles()) {
+                tl.setStyles([finalStyles], null, context.errors, options);
+            }
+        }
+        return timelines.length ? timelines.map(function (timeline) { return timeline.buildKeyframes(); }) :
+            [createTimelineInstruction(rootElement, [], [], [], 0, 0, '', false)];
+    };
+    /**
+     * @param {?} ast
+     * @param {?} context
+     * @return {?}
+     */
+    AnimationTimelineBuilderVisitor.prototype.visitTrigger = /**
+     * @param {?} ast
+     * @param {?} context
+     * @return {?}
+     */
+    function (ast, context) {
+        // these values are not visited in this AST
+    };
+    /**
+     * @param {?} ast
+     * @param {?} context
+     * @return {?}
+     */
+    AnimationTimelineBuilderVisitor.prototype.visitState = /**
+     * @param {?} ast
+     * @param {?} context
+     * @return {?}
+     */
+    function (ast, context) {
+        // these values are not visited in this AST
+    };
+    /**
+     * @param {?} ast
+     * @param {?} context
+     * @return {?}
+     */
+    AnimationTimelineBuilderVisitor.prototype.visitTransition = /**
+     * @param {?} ast
+     * @param {?} context
+     * @return {?}
+     */
+    function (ast, context) {
+        // these values are not visited in this AST
+    };
+    /**
+     * @param {?} ast
+     * @param {?} context
+     * @return {?}
+     */
+    AnimationTimelineBuilderVisitor.prototype.visitAnimateChild = /**
+     * @param {?} ast
+     * @param {?} context
+     * @return {?}
+     */
+    function (ast, context) {
+        var /** @type {?} */ elementInstructions = context.subInstructions.consume(context.element);
+        if (elementInstructions) {
+            var /** @type {?} */ innerContext = context.createSubContext(ast.options);
+            var /** @type {?} */ startTime = context.currentTimeline.currentTime;
+            var /** @type {?} */ endTime = this._visitSubInstructions(elementInstructions, innerContext, /** @type {?} */ (innerContext.options));
+            if (startTime != endTime) {
+                // we do this on the upper context because we created a sub context for
+                // the sub child animations
+                context.transformIntoNewTimeline(endTime);
+            }
+        }
+        context.previousNode = ast;
+    };
+    /**
+     * @param {?} ast
+     * @param {?} context
+     * @return {?}
+     */
+    AnimationTimelineBuilderVisitor.prototype.visitAnimateRef = /**
+     * @param {?} ast
+     * @param {?} context
+     * @return {?}
+     */
+    function (ast, context) {
+        var /** @type {?} */ innerContext = context.createSubContext(ast.options);
+        innerContext.transformIntoNewTimeline();
+        this.visitReference(ast.animation, innerContext);
+        context.transformIntoNewTimeline(innerContext.currentTimeline.currentTime);
+        context.previousNode = ast;
+    };
+    /**
+     * @param {?} instructions
+     * @param {?} context
+     * @param {?} options
+     * @return {?}
+     */
+    AnimationTimelineBuilderVisitor.prototype._visitSubInstructions = /**
+     * @param {?} instructions
+     * @param {?} context
+     * @param {?} options
+     * @return {?}
+     */
+    function (instructions, context, options) {
+        var /** @type {?} */ startTime = context.currentTimeline.currentTime;
+        var /** @type {?} */ furthestTime = startTime;
+        // this is a special-case for when a user wants to skip a sub
+        // animation from being fired entirely.
+        var /** @type {?} */ duration = options.duration != null ? resolveTimingValue(options.duration) : null;
+        var /** @type {?} */ delay = options.delay != null ? resolveTimingValue(options.delay) : null;
+        if (duration !== 0) {
+            instructions.forEach(function (instruction) {
+                var /** @type {?} */ instructionTimings = context.appendInstructionToTimeline(instruction, duration, delay);
+                furthestTime =
+                    Math.max(furthestTime, instructionTimings.duration + instructionTimings.delay);
+            });
+        }
+        return furthestTime;
+    };
+    /**
+     * @param {?} ast
+     * @param {?} context
+     * @return {?}
+     */
+    AnimationTimelineBuilderVisitor.prototype.visitReference = /**
+     * @param {?} ast
+     * @param {?} context
+     * @return {?}
+     */
+    function (ast, context) {
+        context.updateOptions(ast.options, true);
+        visitDslNode(this, ast.animation, context);
+        context.previousNode = ast;
+    };
+    /**
+     * @param {?} ast
+     * @param {?} context
+     * @return {?}
+     */
+    AnimationTimelineBuilderVisitor.prototype.visitSequence = /**
+     * @param {?} ast
+     * @param {?} context
+     * @return {?}
+     */
+    function (ast, context) {
+        var _this = this;
+        var /** @type {?} */ subContextCount = context.subContextCount;
+        var /** @type {?} */ ctx = context;
+        var /** @type {?} */ options = ast.options;
+        if (options && (options.params || options.delay)) {
+            ctx = context.createSubContext(options);
+            ctx.transformIntoNewTimeline();
+            if (options.delay != null) {
+                if (ctx.previousNode.type == 6 /* Style */) {
+                    ctx.currentTimeline.snapshotCurrentStyles();
+                    ctx.previousNode = DEFAULT_NOOP_PREVIOUS_NODE;
+                }
+                var /** @type {?} */ delay = resolveTimingValue(options.delay);
+                ctx.delayNextStep(delay);
+            }
+        }
+        if (ast.steps.length) {
+            ast.steps.forEach(function (s) { return visitDslNode(_this, s, ctx); });
+            // this is here just incase the inner steps only contain or end with a style() call
+            ctx.currentTimeline.applyStylesToKeyframe();
+            // this means that some animation function within the sequence
+            // ended up creating a sub timeline (which means the current
+            // timeline cannot overlap with the contents of the sequence)
+            if (ctx.subContextCount > subContextCount) {
+                ctx.transformIntoNewTimeline();
+            }
+        }
+        context.previousNode = ast;
+    };
+    /**
+     * @param {?} ast
+     * @param {?} context
+     * @return {?}
+     */
+    AnimationTimelineBuilderVisitor.prototype.visitGroup = /**
+     * @param {?} ast
+     * @param {?} context
+     * @return {?}
+     */
+    function (ast, context) {
+        var _this = this;
+        var /** @type {?} */ innerTimelines = [];
+        var /** @type {?} */ furthestTime = context.currentTimeline.currentTime;
+        var /** @type {?} */ delay = ast.options && ast.options.delay ? resolveTimingValue(ast.options.delay) : 0;
+        ast.steps.forEach(function (s) {
+            var /** @type {?} */ innerContext = context.createSubContext(ast.options);
+            if (delay) {
+                innerContext.delayNextStep(delay);
+            }
+            visitDslNode(_this, s, innerContext);
+            furthestTime = Math.max(furthestTime, innerContext.currentTimeline.currentTime);
+            innerTimelines.push(innerContext.currentTimeline);
+        });
+        // this operation is run after the AST loop because otherwise
+        // if the parent timeline's collected styles were updated then
+        // it would pass in invalid data into the new-to-be forked items
+        innerTimelines.forEach(function (timeline) { return context.currentTimeline.mergeTimelineCollectedStyles(timeline); });
+        context.transformIntoNewTimeline(furthestTime);
+        context.previousNode = ast;
+    };
+    /**
+     * @param {?} ast
+     * @param {?} context
+     * @return {?}
+     */
+    AnimationTimelineBuilderVisitor.prototype._visitTiming = /**
+     * @param {?} ast
+     * @param {?} context
+     * @return {?}
+     */
+    function (ast, context) {
+        if ((/** @type {?} */ (ast)).dynamic) {
+            var /** @type {?} */ strValue = (/** @type {?} */ (ast)).strValue;
+            var /** @type {?} */ timingValue = context.params ? interpolateParams(strValue, context.params, context.errors) : strValue;
+            return resolveTiming(timingValue, context.errors);
+        }
+        else {
+            return { duration: ast.duration, delay: ast.delay, easing: ast.easing };
+        }
+    };
+    /**
+     * @param {?} ast
+     * @param {?} context
+     * @return {?}
+     */
+    AnimationTimelineBuilderVisitor.prototype.visitAnimate = /**
+     * @param {?} ast
+     * @param {?} context
+     * @return {?}
+     */
+    function (ast, context) {
+        var /** @type {?} */ timings = context.currentAnimateTimings = this._visitTiming(ast.timings, context);
+        var /** @type {?} */ timeline = context.currentTimeline;
+        if (timings.delay) {
+            context.incrementTime(timings.delay);
+            timeline.snapshotCurrentStyles();
+        }
+        var /** @type {?} */ style$$1 = ast.style;
+        if (style$$1.type == 5 /* Keyframes */) {
+            this.visitKeyframes(style$$1, context);
+        }
+        else {
+            context.incrementTime(timings.duration);
+            this.visitStyle(/** @type {?} */ (style$$1), context);
+            timeline.applyStylesToKeyframe();
+        }
+        context.currentAnimateTimings = null;
+        context.previousNode = ast;
+    };
+    /**
+     * @param {?} ast
+     * @param {?} context
+     * @return {?}
+     */
+    AnimationTimelineBuilderVisitor.prototype.visitStyle = /**
+     * @param {?} ast
+     * @param {?} context
+     * @return {?}
+     */
+    function (ast, context) {
+        var /** @type {?} */ timeline = context.currentTimeline;
+        var /** @type {?} */ timings = /** @type {?} */ ((context.currentAnimateTimings));
+        // this is a special case for when a style() call
+        // directly follows  an animate() call (but not inside of an animate() call)
+        if (!timings && timeline.getCurrentStyleProperties().length) {
+            timeline.forwardFrame();
+        }
+        var /** @type {?} */ easing = (timings && timings.easing) || ast.easing;
+        if (ast.isEmptyStep) {
+            timeline.applyEmptyStep(easing);
+        }
+        else {
+            timeline.setStyles(ast.styles, easing, context.errors, context.options);
+        }
+        context.previousNode = ast;
+    };
+    /**
+     * @param {?} ast
+     * @param {?} context
+     * @return {?}
+     */
+    AnimationTimelineBuilderVisitor.prototype.visitKeyframes = /**
+     * @param {?} ast
+     * @param {?} context
+     * @return {?}
+     */
+    function (ast, context) {
+        var /** @type {?} */ currentAnimateTimings = /** @type {?} */ ((context.currentAnimateTimings));
+        var /** @type {?} */ startTime = (/** @type {?} */ ((context.currentTimeline))).duration;
+        var /** @type {?} */ duration = currentAnimateTimings.duration;
+        var /** @type {?} */ innerContext = context.createSubContext();
+        var /** @type {?} */ innerTimeline = innerContext.currentTimeline;
+        innerTimeline.easing = currentAnimateTimings.easing;
+        ast.styles.forEach(function (step) {
+            var /** @type {?} */ offset = step.offset || 0;
+            innerTimeline.forwardTime(offset * duration);
+            innerTimeline.setStyles(step.styles, step.easing, context.errors, context.options);
+            innerTimeline.applyStylesToKeyframe();
+        });
+        // this will ensure that the parent timeline gets all the styles from
+        // the child even if the new timeline below is not used
+        context.currentTimeline.mergeTimelineCollectedStyles(innerTimeline);
+        // we do this because the window between this timeline and the sub timeline
+        // should ensure that the styles within are exactly the same as they were before
+        context.transformIntoNewTimeline(startTime + duration);
+        context.previousNode = ast;
+    };
+    /**
+     * @param {?} ast
+     * @param {?} context
+     * @return {?}
+     */
+    AnimationTimelineBuilderVisitor.prototype.visitQuery = /**
+     * @param {?} ast
+     * @param {?} context
+     * @return {?}
+     */
+    function (ast, context) {
+        var _this = this;
+        // in the event that the first step before this is a style step we need
+        // to ensure the styles are applied before the children are animated
+        var /** @type {?} */ startTime = context.currentTimeline.currentTime;
+        var /** @type {?} */ options = /** @type {?} */ ((ast.options || {}));
+        var /** @type {?} */ delay = options.delay ? resolveTimingValue(options.delay) : 0;
+        if (delay && (context.previousNode.type === 6 /* Style */ ||
+            (startTime == 0 && context.currentTimeline.getCurrentStyleProperties().length))) {
+            context.currentTimeline.snapshotCurrentStyles();
+            context.previousNode = DEFAULT_NOOP_PREVIOUS_NODE;
+        }
+        var /** @type {?} */ furthestTime = startTime;
+        var /** @type {?} */ elms = context.invokeQuery(ast.selector, ast.originalSelector, ast.limit, ast.includeSelf, options.optional ? true : false, context.errors);
+        context.currentQueryTotal = elms.length;
+        var /** @type {?} */ sameElementTimeline = null;
+        elms.forEach(function (element, i) {
+            context.currentQueryIndex = i;
+            var /** @type {?} */ innerContext = context.createSubContext(ast.options, element);
+            if (delay) {
+                innerContext.delayNextStep(delay);
+            }
+            if (element === context.element) {
+                sameElementTimeline = innerContext.currentTimeline;
+            }
+            visitDslNode(_this, ast.animation, innerContext);
+            // this is here just incase the inner steps only contain or end
+            // with a style() call (which is here to signal that this is a preparatory
+            // call to style an element before it is animated again)
+            innerContext.currentTimeline.applyStylesToKeyframe();
+            var /** @type {?} */ endTime = innerContext.currentTimeline.currentTime;
+            furthestTime = Math.max(furthestTime, endTime);
+        });
+        context.currentQueryIndex = 0;
+        context.currentQueryTotal = 0;
+        context.transformIntoNewTimeline(furthestTime);
+        if (sameElementTimeline) {
+            context.currentTimeline.mergeTimelineCollectedStyles(sameElementTimeline);
+            context.currentTimeline.snapshotCurrentStyles();
+        }
+        context.previousNode = ast;
+    };
+    /**
+     * @param {?} ast
+     * @param {?} context
+     * @return {?}
+     */
+    AnimationTimelineBuilderVisitor.prototype.visitStagger = /**
+     * @param {?} ast
+     * @param {?} context
+     * @return {?}
+     */
+    function (ast, context) {
+        var /** @type {?} */ parentContext = /** @type {?} */ ((context.parentContext));
+        var /** @type {?} */ tl = context.currentTimeline;
+        var /** @type {?} */ timings = ast.timings;
+        var /** @type {?} */ duration = Math.abs(timings.duration);
+        var /** @type {?} */ maxTime = duration * (context.currentQueryTotal - 1);
+        var /** @type {?} */ delay = duration * context.currentQueryIndex;
+        var /** @type {?} */ staggerTransformer = timings.duration < 0 ? 'reverse' : timings.easing;
+        switch (staggerTransformer) {
+            case 'reverse':
+                delay = maxTime - delay;
+                break;
+            case 'full':
+                delay = parentContext.currentStaggerTime;
+                break;
+        }
+        var /** @type {?} */ timeline = context.currentTimeline;
+        if (delay) {
+            timeline.delayNextStep(delay);
+        }
+        var /** @type {?} */ startingTime = timeline.currentTime;
+        visitDslNode(this, ast.animation, context);
+        context.previousNode = ast;
+        // time = duration + delay
+        // the reason why this computation is so complex is because
+        // the inner timeline may either have a delay value or a stretched
+        // keyframe depending on if a subtimeline is not used or is used.
+        parentContext.currentStaggerTime =
+            (tl.currentTime - startingTime) + (tl.startTime - parentContext.currentTimeline.startTime);
+    };
+    return AnimationTimelineBuilderVisitor;
+}());
+var DEFAULT_NOOP_PREVIOUS_NODE = /** @type {?} */ ({});
+var AnimationTimelineContext = /** @class */ (function () {
+    function AnimationTimelineContext(_driver, element, subInstructions, _enterClassName, _leaveClassName, errors, timelines, initialTimeline) {
+        this._driver = _driver;
+        this.element = element;
+        this.subInstructions = subInstructions;
+        this._enterClassName = _enterClassName;
+        this._leaveClassName = _leaveClassName;
+        this.errors = errors;
+        this.timelines = timelines;
+        this.parentContext = null;
+        this.currentAnimateTimings = null;
+        this.previousNode = DEFAULT_NOOP_PREVIOUS_NODE;
+        this.subContextCount = 0;
+        this.options = {};
+        this.currentQueryIndex = 0;
+        this.currentQueryTotal = 0;
+        this.currentStaggerTime = 0;
+        this.currentTimeline = initialTimeline || new TimelineBuilder(this._driver, element, 0);
+        timelines.push(this.currentTimeline);
+    }
+    Object.defineProperty(AnimationTimelineContext.prototype, "params", {
+        get: /**
+         * @return {?}
+         */
+        function () { return this.options.params; },
+        enumerable: true,
+        configurable: true
+    });
+    /**
+     * @param {?} options
+     * @param {?=} skipIfExists
+     * @return {?}
+     */
+    AnimationTimelineContext.prototype.updateOptions = /**
+     * @param {?} options
+     * @param {?=} skipIfExists
+     * @return {?}
+     */
+    function (options, skipIfExists) {
+        var _this = this;
+        if (!options)
+            return;
+        var /** @type {?} */ newOptions = /** @type {?} */ (options);
+        var /** @type {?} */ optionsToUpdate = this.options;
+        // NOTE: this will get patched up when other animation methods support duration overrides
+        if (newOptions.duration != null) {
+            (/** @type {?} */ (optionsToUpdate)).duration = resolveTimingValue(newOptions.duration);
+        }
+        if (newOptions.delay != null) {
+            optionsToUpdate.delay = resolveTimingValue(newOptions.delay);
+        }
+        var /** @type {?} */ newParams = newOptions.params;
+        if (newParams) {
+            var /** @type {?} */ paramsToUpdate_1 = /** @type {?} */ ((optionsToUpdate.params));
+            if (!paramsToUpdate_1) {
+                paramsToUpdate_1 = this.options.params = {};
+            }
+            Object.keys(newParams).forEach(function (name) {
+                if (!skipIfExists || !paramsToUpdate_1.hasOwnProperty(name)) {
+                    paramsToUpdate_1[name] = interpolateParams(newParams[name], paramsToUpdate_1, _this.errors);
+                }
+            });
+        }
+    };
+    /**
+     * @return {?}
+     */
+    AnimationTimelineContext.prototype._copyOptions = /**
+     * @return {?}
+     */
+    function () {
+        var /** @type {?} */ options = {};
+        if (this.options) {
+            var /** @type {?} */ oldParams_1 = this.options.params;
+            if (oldParams_1) {
+                var /** @type {?} */ params_1 = options['params'] = {};
+                Object.keys(oldParams_1).forEach(function (name) { params_1[name] = oldParams_1[name]; });
+            }
+        }
+        return options;
+    };
+    /**
+     * @param {?=} options
+     * @param {?=} element
+     * @param {?=} newTime
+     * @return {?}
+     */
+    AnimationTimelineContext.prototype.createSubContext = /**
+     * @param {?=} options
+     * @param {?=} element
+     * @param {?=} newTime
+     * @return {?}
+     */
+    function (options, element, newTime) {
+        if (options === void 0) { options = null; }
+        var /** @type {?} */ target = element || this.element;
+        var /** @type {?} */ context = new AnimationTimelineContext(this._driver, target, this.subInstructions, this._enterClassName, this._leaveClassName, this.errors, this.timelines, this.currentTimeline.fork(target, newTime || 0));
+        context.previousNode = this.previousNode;
+        context.currentAnimateTimings = this.currentAnimateTimings;
+        context.options = this._copyOptions();
+        context.updateOptions(options);
+        context.currentQueryIndex = this.currentQueryIndex;
+        context.currentQueryTotal = this.currentQueryTotal;
+        context.parentContext = this;
+        this.subContextCount++;
+        return context;
+    };
+    /**
+     * @param {?=} newTime
+     * @return {?}
+     */
+    AnimationTimelineContext.prototype.transformIntoNewTimeline = /**
+     * @param {?=} newTime
+     * @return {?}
+     */
+    function (newTime) {
+        this.previousNode = DEFAULT_NOOP_PREVIOUS_NODE;
+        this.currentTimeline = this.currentTimeline.fork(this.element, newTime);
+        this.timelines.push(this.currentTimeline);
+        return this.currentTimeline;
+    };
+    /**
+     * @param {?} instruction
+     * @param {?} duration
+     * @param {?} delay
+     * @return {?}
+     */
+    AnimationTimelineContext.prototype.appendInstructionToTimeline = /**
+     * @param {?} instruction
+     * @param {?} duration
+     * @param {?} delay
+     * @return {?}
+     */
+    function (instruction, duration, delay) {
+        var /** @type {?} */ updatedTimings = {
+            duration: duration != null ? duration : instruction.duration,
+            delay: this.currentTimeline.currentTime + (delay != null ? delay : 0) + instruction.delay,
+            easing: ''
+        };
+        var /** @type {?} */ builder = new SubTimelineBuilder(this._driver, instruction.element, instruction.keyframes, instruction.preStyleProps, instruction.postStyleProps, updatedTimings, instruction.stretchStartingKeyframe);
+        this.timelines.push(builder);
+        return updatedTimings;
+    };
+    /**
+     * @param {?} time
+     * @return {?}
+     */
+    AnimationTimelineContext.prototype.incrementTime = /**
+     * @param {?} time
+     * @return {?}
+     */
+    function (time) {
+        this.currentTimeline.forwardTime(this.currentTimeline.duration + time);
+    };
+    /**
+     * @param {?} delay
+     * @return {?}
+     */
+    AnimationTimelineContext.prototype.delayNextStep = /**
+     * @param {?} delay
+     * @return {?}
+     */
+    function (delay) {
+        // negative delays are not yet supported
+        if (delay > 0) {
+            this.currentTimeline.delayNextStep(delay);
+        }
+    };
+    /**
+     * @param {?} selector
+     * @param {?} originalSelector
+     * @param {?} limit
+     * @param {?} includeSelf
+     * @param {?} optional
+     * @param {?} errors
+     * @return {?}
+     */
+    AnimationTimelineContext.prototype.invokeQuery = /**
+     * @param {?} selector
+     * @param {?} originalSelector
+     * @param {?} limit
+     * @param {?} includeSelf
+     * @param {?} optional
+     * @param {?} errors
+     * @return {?}
+     */
+    function (selector, originalSelector, limit, includeSelf, optional, errors) {
+        var /** @type {?} */ results = [];
+        if (includeSelf) {
+            results.push(this.element);
+        }
+        if (selector.length > 0) {
+            // if :self is only used then the selector is empty
+            selector = selector.replace(ENTER_TOKEN_REGEX, '.' + this._enterClassName);
+            selector = selector.replace(LEAVE_TOKEN_REGEX, '.' + this._leaveClassName);
+            var /** @type {?} */ multi = limit != 1;
+            var /** @type {?} */ elements = this._driver.query(this.element, selector, multi);
+            if (limit !== 0) {
+                elements = limit < 0 ? elements.slice(elements.length + limit, elements.length) :
+                    elements.slice(0, limit);
+            }
+            results.push.apply(results, elements);
+        }
+        if (!optional && results.length == 0) {
+            errors.push("`query(\"" + originalSelector + "\")` returned zero elements. (Use `query(\"" + originalSelector + "\", { optional: true })` if you wish to allow this.)");
+        }
+        return results;
+    };
+    return AnimationTimelineContext;
+}());
+var TimelineBuilder = /** @class */ (function () {
+    function TimelineBuilder(_driver, element, startTime, _elementTimelineStylesLookup) {
+        this._driver = _driver;
+        this.element = element;
+        this.startTime = startTime;
+        this._elementTimelineStylesLookup = _elementTimelineStylesLookup;
+        this.duration = 0;
+        this._previousKeyframe = {};
+        this._currentKeyframe = {};
+        this._keyframes = new Map();
+        this._styleSummary = {};
+        this._pendingStyles = {};
+        this._backFill = {};
+        this._currentEmptyStepKeyframe = null;
+        if (!this._elementTimelineStylesLookup) {
+            this._elementTimelineStylesLookup = new Map();
+        }
+        this._localTimelineStyles = Object.create(this._backFill, {});
+        this._globalTimelineStyles = /** @type {?} */ ((this._elementTimelineStylesLookup.get(element)));
+        if (!this._globalTimelineStyles) {
+            this._globalTimelineStyles = this._localTimelineStyles;
+            this._elementTimelineStylesLookup.set(element, this._localTimelineStyles);
+        }
+        this._loadKeyframe();
+    }
+    /**
+     * @return {?}
+     */
+    TimelineBuilder.prototype.containsAnimation = /**
+     * @return {?}
+     */
+    function () {
+        switch (this._keyframes.size) {
+            case 0:
+                return false;
+            case 1:
+                return this.getCurrentStyleProperties().length > 0;
+            default:
+                return true;
+        }
+    };
+    /**
+     * @return {?}
+     */
+    TimelineBuilder.prototype.getCurrentStyleProperties = /**
+     * @return {?}
+     */
+    function () { return Object.keys(this._currentKeyframe); };
+    Object.defineProperty(TimelineBuilder.prototype, "currentTime", {
+        get: /**
+         * @return {?}
+         */
+        function () { return this.startTime + this.duration; },
+        enumerable: true,
+        configurable: true
+    });
+    /**
+     * @param {?} delay
+     * @return {?}
+     */
+    TimelineBuilder.prototype.delayNextStep = /**
+     * @param {?} delay
+     * @return {?}
+     */
+    function (delay) {
+        // in the event that a style() step is placed right before a stagger()
+        // and that style() step is the very first style() value in the animation
+        // then we need to make a copy of the keyframe [0, copy, 1] so that the delay
+        // properly applies the style() values to work with the stagger...
+        var /** @type {?} */ hasPreStyleStep = this._keyframes.size == 1 && Object.keys(this._pendingStyles).length;
+        if (this.duration || hasPreStyleStep) {
+            this.forwardTime(this.currentTime + delay);
+            if (hasPreStyleStep) {
+                this.snapshotCurrentStyles();
+            }
+        }
+        else {
+            this.startTime += delay;
+        }
+    };
+    /**
+     * @param {?} element
+     * @param {?=} currentTime
+     * @return {?}
+     */
+    TimelineBuilder.prototype.fork = /**
+     * @param {?} element
+     * @param {?=} currentTime
+     * @return {?}
+     */
+    function (element, currentTime) {
+        this.applyStylesToKeyframe();
+        return new TimelineBuilder(this._driver, element, currentTime || this.currentTime, this._elementTimelineStylesLookup);
+    };
+    /**
+     * @return {?}
+     */
+    TimelineBuilder.prototype._loadKeyframe = /**
+     * @return {?}
+     */
+    function () {
+        if (this._currentKeyframe) {
+            this._previousKeyframe = this._currentKeyframe;
+        }
+        this._currentKeyframe = /** @type {?} */ ((this._keyframes.get(this.duration)));
+        if (!this._currentKeyframe) {
+            this._currentKeyframe = Object.create(this._backFill, {});
+            this._keyframes.set(this.duration, this._currentKeyframe);
+        }
+    };
+    /**
+     * @return {?}
+     */
+    TimelineBuilder.prototype.forwardFrame = /**
+     * @return {?}
+     */
+    function () {
+        this.duration += ONE_FRAME_IN_MILLISECONDS;
+        this._loadKeyframe();
+    };
+    /**
+     * @param {?} time
+     * @return {?}
+     */
+    TimelineBuilder.prototype.forwardTime = /**
+     * @param {?} time
+     * @return {?}
+     */
+    function (time) {
+        this.applyStylesToKeyframe();
+        this.duration = time;
+        this._loadKeyframe();
+    };
+    /**
+     * @param {?} prop
+     * @param {?} value
+     * @return {?}
+     */
+    TimelineBuilder.prototype._updateStyle = /**
+     * @param {?} prop
+     * @param {?} value
+     * @return {?}
+     */
+    function (prop, value) {
+        this._localTimelineStyles[prop] = value;
+        this._globalTimelineStyles[prop] = value;
+        this._styleSummary[prop] = { time: this.currentTime, value: value };
+    };
+    /**
+     * @return {?}
+     */
+    TimelineBuilder.prototype.allowOnlyTimelineStyles = /**
+     * @return {?}
+     */
+    function () { return this._currentEmptyStepKeyframe !== this._currentKeyframe; };
+    /**
+     * @param {?} easing
+     * @return {?}
+     */
+    TimelineBuilder.prototype.applyEmptyStep = /**
+     * @param {?} easing
+     * @return {?}
+     */
+    function (easing) {
+        var _this = this;
+        if (easing) {
+            this._previousKeyframe['easing'] = easing;
+        }
+        // special case for animate(duration):
+        // all missing styles are filled with a `*` value then
+        // if any destination styles are filled in later on the same
+        // keyframe then they will override the overridden styles
+        // We use `_globalTimelineStyles` here because there may be
+        // styles in previous keyframes that are not present in this timeline
+        Object.keys(this._globalTimelineStyles).forEach(function (prop) {
+            _this._backFill[prop] = _this._globalTimelineStyles[prop] || AUTO_STYLE;
+            _this._currentKeyframe[prop] = AUTO_STYLE;
+        });
+        this._currentEmptyStepKeyframe = this._currentKeyframe;
+    };
+    /**
+     * @param {?} input
+     * @param {?} easing
+     * @param {?} errors
+     * @param {?=} options
+     * @return {?}
+     */
+    TimelineBuilder.prototype.setStyles = /**
+     * @param {?} input
+     * @param {?} easing
+     * @param {?} errors
+     * @param {?=} options
+     * @return {?}
+     */
+    function (input, easing, errors, options) {
+        var _this = this;
+        if (easing) {
+            this._previousKeyframe['easing'] = easing;
+        }
+        var /** @type {?} */ params = (options && options.params) || {};
+        var /** @type {?} */ styles = flattenStyles(input, this._globalTimelineStyles);
+        Object.keys(styles).forEach(function (prop) {
+            var /** @type {?} */ val = interpolateParams(styles[prop], params, errors);
+            _this._pendingStyles[prop] = val;
+            if (!_this._localTimelineStyles.hasOwnProperty(prop)) {
+                _this._backFill[prop] = _this._globalTimelineStyles.hasOwnProperty(prop) ?
+                    _this._globalTimelineStyles[prop] :
+                    AUTO_STYLE;
+            }
+            _this._updateStyle(prop, val);
+        });
+    };
+    /**
+     * @return {?}
+     */
+    TimelineBuilder.prototype.applyStylesToKeyframe = /**
+     * @return {?}
+     */
+    function () {
+        var _this = this;
+        var /** @type {?} */ styles = this._pendingStyles;
+        var /** @type {?} */ props = Object.keys(styles);
+        if (props.length == 0)
+            return;
+        this._pendingStyles = {};
+        props.forEach(function (prop) {
+            var /** @type {?} */ val = styles[prop];
+            _this._currentKeyframe[prop] = val;
+        });
+        Object.keys(this._localTimelineStyles).forEach(function (prop) {
+            if (!_this._currentKeyframe.hasOwnProperty(prop)) {
+                _this._currentKeyframe[prop] = _this._localTimelineStyles[prop];
+            }
+        });
+    };
+    /**
+     * @return {?}
+     */
+    TimelineBuilder.prototype.snapshotCurrentStyles = /**
+     * @return {?}
+     */
+    function () {
+        var _this = this;
+        Object.keys(this._localTimelineStyles).forEach(function (prop) {
+            var /** @type {?} */ val = _this._localTimelineStyles[prop];
+            _this._pendingStyles[prop] = val;
+            _this._updateStyle(prop, val);
+        });
+    };
+    /**
+     * @return {?}
+     */
+    TimelineBuilder.prototype.getFinalKeyframe = /**
+     * @return {?}
+     */
+    function () { return this._keyframes.get(this.duration); };
+    Object.defineProperty(TimelineBuilder.prototype, "properties", {
+        get: /**
+         * @return {?}
+         */
+        function () {
+            var /** @type {?} */ properties = [];
+            for (var /** @type {?} */ prop in this._currentKeyframe) {
+                properties.push(prop);
+            }
+            return properties;
+        },
+        enumerable: true,
+        configurable: true
+    });
+    /**
+     * @param {?} timeline
+     * @return {?}
+     */
+    T

<TRUNCATED>

[30/59] [abbrv] [partial] nifi-fds git commit: update gh-pages

Posted by sc...@apache.org.
http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/eec354e6/node_modules/@angular/animations/esm5/animations.js.map
----------------------------------------------------------------------
diff --git a/node_modules/@angular/animations/esm5/animations.js.map b/node_modules/@angular/animations/esm5/animations.js.map
new file mode 100644
index 0000000..674fb43
--- /dev/null
+++ b/node_modules/@angular/animations/esm5/animations.js.map
@@ -0,0 +1 @@
+{"version":3,"file":"animations.js","sources":["../../../packages/animations/esm5/src/animation_builder.js","../../../packages/animations/esm5/src/animation_metadata.js","../../../packages/animations/esm5/src/util.js","../../../packages/animations/esm5/src/players/animation_player.js","../../../packages/animations/esm5/src/players/animation_group_player.js","../../../packages/animations/esm5/src/private_export.js","../../../packages/animations/esm5/src/animations.js","../../../packages/animations/esm5/public_api.js","../../../packages/animations/esm5/animations.js"],"sourcesContent":["/**\n * @fileoverview added by tsickle\n * @suppress {checkTypes} checked by tsc\n */\n/**\n * AnimationBuilder is an injectable service that is available when the {\\@link\n * BrowserAnimationsModule BrowserAnimationsModule} or {\\@link NoopAnimationsModule\n * NoopAnimationsModule} modules are used within an application.\n *\n * The purpose if this service is to produce an animation sequence programm
 atically within an\n * angular component or directive.\n *\n * Programmatic animations are first built and then a player is created when the build animation is\n * attached to an element.\n *\n * ```ts\n * // remember to include the BrowserAnimationsModule module for this to work...\n * import {AnimationBuilder} from '\\@angular/animations';\n *\n * class MyCmp {\n *   constructor(private _builder: AnimationBuilder) {}\n *\n *   makeAnimation(element: any) {\n *     // first build the animation\n *     const myAnimation = this._builder.build([\n *       style({ width: 0 }),\n *       animate(1000, style({ width: '100px' }))\n *     ]);\n *\n *     // then create a player from it\n *     const player = myAnimation.create(element);\n *\n *     player.play();\n *   }\n * }\n * ```\n *\n * When an animation is built an instance of {\\@link AnimationFactory AnimationFactory} will be\n * returned. Using that an {\\@link AnimationPlayer AnimationPlayer} can be created which can then be\n *
  used to start the animation.\n *\n * \\@experimental Animation support is experimental.\n * @abstract\n */\nvar /**\n * AnimationBuilder is an injectable service that is available when the {\\@link\n * BrowserAnimationsModule BrowserAnimationsModule} or {\\@link NoopAnimationsModule\n * NoopAnimationsModule} modules are used within an application.\n *\n * The purpose if this service is to produce an animation sequence programmatically within an\n * angular component or directive.\n *\n * Programmatic animations are first built and then a player is created when the build animation is\n * attached to an element.\n *\n * ```ts\n * // remember to include the BrowserAnimationsModule module for this to work...\n * import {AnimationBuilder} from '\\@angular/animations';\n *\n * class MyCmp {\n *   constructor(private _builder: AnimationBuilder) {}\n *\n *   makeAnimation(element: any) {\n *     // first build the animation\n *     const myAnimation = this._builder.build([\n *       style(
 { width: 0 }),\n *       animate(1000, style({ width: '100px' }))\n *     ]);\n *\n *     // then create a player from it\n *     const player = myAnimation.create(element);\n *\n *     player.play();\n *   }\n * }\n * ```\n *\n * When an animation is built an instance of {\\@link AnimationFactory AnimationFactory} will be\n * returned. Using that an {\\@link AnimationPlayer AnimationPlayer} can be created which can then be\n * used to start the animation.\n *\n * \\@experimental Animation support is experimental.\n * @abstract\n */\nAnimationBuilder = /** @class */ (function () {\n    function AnimationBuilder() {\n    }\n    return AnimationBuilder;\n}());\n/**\n * AnimationBuilder is an injectable service that is available when the {\\@link\n * BrowserAnimationsModule BrowserAnimationsModule} or {\\@link NoopAnimationsModule\n * NoopAnimationsModule} modules are used within an application.\n *\n * The purpose if this service is to produce an animation sequence programmatically wi
 thin an\n * angular component or directive.\n *\n * Programmatic animations are first built and then a player is created when the build animation is\n * attached to an element.\n *\n * ```ts\n * // remember to include the BrowserAnimationsModule module for this to work...\n * import {AnimationBuilder} from '\\@angular/animations';\n *\n * class MyCmp {\n *   constructor(private _builder: AnimationBuilder) {}\n *\n *   makeAnimation(element: any) {\n *     // first build the animation\n *     const myAnimation = this._builder.build([\n *       style({ width: 0 }),\n *       animate(1000, style({ width: '100px' }))\n *     ]);\n *\n *     // then create a player from it\n *     const player = myAnimation.create(element);\n *\n *     player.play();\n *   }\n * }\n * ```\n *\n * When an animation is built an instance of {\\@link AnimationFactory AnimationFactory} will be\n * returned. Using that an {\\@link AnimationPlayer AnimationPlayer} can be created which can then be\n * used to st
 art the animation.\n *\n * \\@experimental Animation support is experimental.\n * @abstract\n */\nexport { AnimationBuilder };\nfunction AnimationBuilder_tsickle_Closure_declarations() {\n    /**\n     * @abstract\n     * @param {?} animation\n     * @return {?}\n     */\n    AnimationBuilder.prototype.build = function (animation) { };\n}\n/**\n * An instance of `AnimationFactory` is returned from {\\@link AnimationBuilder#build\n * AnimationBuilder.build}.\n *\n * \\@experimental Animation support is experimental.\n * @abstract\n */\nvar /**\n * An instance of `AnimationFactory` is returned from {\\@link AnimationBuilder#build\n * AnimationBuilder.build}.\n *\n * \\@experimental Animation support is experimental.\n * @abstract\n */\nAnimationFactory = /** @class */ (function () {\n    function AnimationFactory() {\n    }\n    return AnimationFactory;\n}());\n/**\n * An instance of `AnimationFactory` is returned from {\\@link AnimationBuilder#build\n * AnimationBuilder.build}.\n *\n
  * \\@experimental Animation support is experimental.\n * @abstract\n */\nexport { AnimationFactory };\nfunction AnimationFactory_tsickle_Closure_declarations() {\n    /**\n     * @abstract\n     * @param {?} element\n     * @param {?=} options\n     * @return {?}\n     */\n    AnimationFactory.prototype.create = function (element, options) { };\n}\n//# sourceMappingURL=animation_builder.js.map","/**\n * @fileoverview added by tsickle\n * @suppress {checkTypes} checked by tsc\n */\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n * @record\n */\nexport function ɵStyleData() { }\nfunction ɵStyleData_tsickle_Closure_declarations() {\n    /* TODO: handle strange member:\n    [key: string]: string|number;\n    */\n}\n/** @enum {number} */\nvar AnimationMetadataType = {\n    State: 0,\n    Transition: 1,\n    Sequence: 2,\n    Grou
 p: 3,\n    Animate: 4,\n    Keyframes: 5,\n    Style: 6,\n    Trigger: 7,\n    Reference: 8,\n    AnimateChild: 9,\n    AnimateRef: 10,\n    Query: 11,\n    Stagger: 12,\n};\nexport { AnimationMetadataType };\n/**\n * \\@experimental Animation support is experimental.\n */\nexport var /** @type {?} */ AUTO_STYLE = '*';\n/**\n * \\@experimental Animation support is experimental.\n * @record\n */\nexport function AnimationMetadata() { }\nfunction AnimationMetadata_tsickle_Closure_declarations() {\n    /** @type {?} */\n    AnimationMetadata.prototype.type;\n}\n/**\n * Metadata representing the entry of animations. Instances of this interface are provided via the\n * animation DSL when the {\\@link trigger trigger animation function} is called.\n *\n * \\@experimental Animation support is experimental.\n * @record\n */\nexport function AnimationTriggerMetadata() { }\nfunction AnimationTriggerMetadata_tsickle_Closure_declarations() {\n    /** @type {?} */\n    AnimationTriggerMetadata.p
 rototype.name;\n    /** @type {?} */\n    AnimationTriggerMetadata.prototype.definitions;\n    /** @type {?} */\n    AnimationTriggerMetadata.prototype.options;\n}\n/**\n * Metadata representing the entry of animations. Instances of this interface are provided via the\n * animation DSL when the {\\@link state state animation function} is called.\n *\n * \\@experimental Animation support is experimental.\n * @record\n */\nexport function AnimationStateMetadata() { }\nfunction AnimationStateMetadata_tsickle_Closure_declarations() {\n    /** @type {?} */\n    AnimationStateMetadata.prototype.name;\n    /** @type {?} */\n    AnimationStateMetadata.prototype.styles;\n    /** @type {?|undefined} */\n    AnimationStateMetadata.prototype.options;\n}\n/**\n * Metadata representing the entry of animations. Instances of this interface are provided via the\n * animation DSL when the {\\@link transition transition animation function} is called.\n *\n * \\@experimental Animation support is experi
 mental.\n * @record\n */\nexport function AnimationTransitionMetadata() { }\nfunction AnimationTransitionMetadata_tsickle_Closure_declarations() {\n    /** @type {?} */\n    AnimationTransitionMetadata.prototype.expr;\n    /** @type {?} */\n    AnimationTransitionMetadata.prototype.animation;\n    /** @type {?} */\n    AnimationTransitionMetadata.prototype.options;\n}\n/**\n * \\@experimental Animation support is experimental.\n * @record\n */\nexport function AnimationReferenceMetadata() { }\nfunction AnimationReferenceMetadata_tsickle_Closure_declarations() {\n    /** @type {?} */\n    AnimationReferenceMetadata.prototype.animation;\n    /** @type {?} */\n    AnimationReferenceMetadata.prototype.options;\n}\n/**\n * \\@experimental Animation support is experimental.\n * @record\n */\nexport function AnimationQueryMetadata() { }\nfunction AnimationQueryMetadata_tsickle_Closure_declarations() {\n    /** @type {?} */\n    AnimationQueryMetadata.prototype.selector;\n    /** @type {?} 
 */\n    AnimationQueryMetadata.prototype.animation;\n    /** @type {?} */\n    AnimationQueryMetadata.prototype.options;\n}\n/**\n * Metadata representing the entry of animations. Instances of this interface are provided via the\n * animation DSL when the {\\@link keyframes keyframes animation function} is called.\n *\n * \\@experimental Animation support is experimental.\n * @record\n */\nexport function AnimationKeyframesSequenceMetadata() { }\nfunction AnimationKeyframesSequenceMetadata_tsickle_Closure_declarations() {\n    /** @type {?} */\n    AnimationKeyframesSequenceMetadata.prototype.steps;\n}\n/**\n * Metadata representing the entry of animations. Instances of this interface are provided via the\n * animation DSL when the {\\@link style style animation function} is called.\n *\n * \\@experimental Animation support is experimental.\n * @record\n */\nexport function AnimationStyleMetadata() { }\nfunction AnimationStyleMetadata_tsickle_Closure_declarations() {\n    /** @type 
 {?} */\n    AnimationStyleMetadata.prototype.styles;\n    /** @type {?} */\n    AnimationStyleMetadata.prototype.offset;\n}\n/**\n * Metadata representing the entry of animations. Instances of this interface are provided via the\n * animation DSL when the {\\@link animate animate animation function} is called.\n *\n * \\@experimental Animation support is experimental.\n * @record\n */\nexport function AnimationAnimateMetadata() { }\nfunction AnimationAnimateMetadata_tsickle_Closure_declarations() {\n    /** @type {?} */\n    AnimationAnimateMetadata.prototype.timings;\n    /** @type {?} */\n    AnimationAnimateMetadata.prototype.styles;\n}\n/**\n * Metadata representing the entry of animations. Instances of this interface are provided via the\n * animation DSL when the {\\@link animateChild animateChild animation function} is called.\n *\n * \\@experimental Animation support is experimental.\n * @record\n */\nexport function AnimationAnimateChildMetadata() { }\nfunction AnimationAni
 mateChildMetadata_tsickle_Closure_declarations() {\n    /** @type {?} */\n    AnimationAnimateChildMetadata.prototype.options;\n}\n/**\n * Metadata representing the entry of animations. Instances of this interface are provided via the\n * animation DSL when the {\\@link useAnimation useAnimation animation function} is called.\n *\n * \\@experimental Animation support is experimental.\n * @record\n */\nexport function AnimationAnimateRefMetadata() { }\nfunction AnimationAnimateRefMetadata_tsickle_Closure_declarations() {\n    /** @type {?} */\n    AnimationAnimateRefMetadata.prototype.animation;\n    /** @type {?} */\n    AnimationAnimateRefMetadata.prototype.options;\n}\n/**\n * Metadata representing the entry of animations. Instances of this interface are provided via the\n * animation DSL when the {\\@link sequence sequence animation function} is called.\n *\n * \\@experimental Animation support is experimental.\n * @record\n */\nexport function AnimationSequenceMetadata() { }\nfu
 nction AnimationSequenceMetadata_tsickle_Closure_declarations() {\n    /** @type {?} */\n    AnimationSequenceMetadata.prototype.steps;\n    /** @type {?} */\n    AnimationSequenceMetadata.prototype.options;\n}\n/**\n * Metadata representing the entry of animations. Instances of this interface are provided via the\n * animation DSL when the {\\@link group group animation function} is called.\n *\n * \\@experimental Animation support is experimental.\n * @record\n */\nexport function AnimationGroupMetadata() { }\nfunction AnimationGroupMetadata_tsickle_Closure_declarations() {\n    /** @type {?} */\n    AnimationGroupMetadata.prototype.steps;\n    /** @type {?} */\n    AnimationGroupMetadata.prototype.options;\n}\n/**\n * Metadata representing the entry of animations. Instances of this interface are provided via the\n * animation DSL when the {\\@link stagger stagger animation function} is called.\n *\n * \\@experimental Animation support is experimental.\n * @record\n */\nexport fun
 ction AnimationStaggerMetadata() { }\nfunction AnimationStaggerMetadata_tsickle_Closure_declarations() {\n    /** @type {?} */\n    AnimationStaggerMetadata.prototype.timings;\n    /** @type {?} */\n    AnimationStaggerMetadata.prototype.animation;\n}\n/**\n * `trigger` is an animation-specific function that is designed to be used inside of Angular's\n * animation DSL language. If this information is new, please navigate to the\n * {\\@link Component#animations component animations metadata page} to gain a better\n * understanding of how animations in Angular are used.\n *\n * `trigger` Creates an animation trigger which will a list of {\\@link state state} and\n * {\\@link transition transition} entries that will be evaluated when the expression\n * bound to the trigger changes.\n *\n * Triggers are registered within the component annotation data under the\n * {\\@link Component#animations animations section}. An animation trigger can be placed on an element\n * within a template b
 y referencing the name of the trigger followed by the expression value that\n * the\n * trigger is bound to (in the form of `[\\@triggerName]=\"expression\"`.\n *\n * Animation trigger bindings strigify values and then match the previous and current values against\n * any linked transitions. If a boolean value is provided into the trigger binding then it will both\n * be represented as `1` or `true` and `0` or `false` for a true and false boolean values\n * respectively.\n *\n * ### Usage\n *\n * `trigger` will create an animation trigger reference based on the provided `name` value. The\n * provided `animation` value is expected to be an array consisting of {\\@link state state} and\n * {\\@link transition transition} declarations.\n *\n * ```typescript\n * \\@Component({\n *   selector: 'my-component',\n *   templateUrl: 'my-component-tpl.html',\n *   animations: [\n *     trigger(\"myAnimationTrigger\", [\n *       state(...),\n *       state(...),\n *       transition(...),\n * 
       transition(...)\n *     ])\n *   ]\n * })\n * class MyComponent {\n *   myStatusExp = \"something\";\n * }\n * ```\n *\n * The template associated with this component will make use of the `myAnimationTrigger` animation\n * trigger by binding to an element within its template code.\n *\n * ```html\n * <!-- somewhere inside of my-component-tpl.html -->\n * <div [\\@myAnimationTrigger]=\"myStatusExp\">...</div>\n * ```\n *\n * ## Disable Animations\n * A special animation control binding called `\\@.disabled` can be placed on an element which will\n * then disable animations for any inner animation triggers situated within the element as well as\n * any animations on the element itself.\n *\n * When true, the `\\@.disabled` binding will prevent all animations from rendering. The example\n * below shows how to use this feature:\n *\n * ```ts\n * \\@Component({\n *   selector: 'my-component',\n *   template: `\n *     <div [\\@.disabled]=\"isDisabled\">\n *       <div [\\@childAnim
 ation]=\"exp\"></div>\n *     </div>\n *   `,\n *   animations: [\n *     trigger(\"childAnimation\", [\n *       // ...\n *     ])\n *   ]\n * })\n * class MyComponent {\n *   isDisabled = true;\n *   exp = '...';\n * }\n * ```\n *\n * The `\\@childAnimation` trigger will not animate because `\\@.disabled` prevents it from happening\n * (when true).\n *\n * Note that `\\@.disbled` will only disable all animations (this means any animations running on\n * the same element will also be disabled).\n *\n * ### Disabling Animations Application-wide\n * When an area of the template is set to have animations disabled, **all** inner components will\n * also have their animations disabled as well. This means that all animations for an angular\n * application can be disabled by placing a host binding set on `\\@.disabled` on the topmost Angular\n * component.\n *\n * ```ts\n * import {Component, HostBinding} from '\\@angular/core';\n *\n * \\@Component({\n *   selector: 'app-component',\n * 
   templateUrl: 'app.component.html',\n * })\n * class AppComponent {\n *   \\@HostBinding('\\@.disabled')\n *   public animationsDisabled = true;\n * }\n * ```\n *\n * ### What about animations that us `query()` and `animateChild()`?\n * Despite inner animations being disabled, a parent animation can {\\@link query query} for inner\n * elements located in disabled areas of the template and still animate them as it sees fit. This is\n * also the case for when a sub animation is queried by a parent and then later animated using {\\@link\n * animateChild animateChild}.\n *\n * \\@experimental Animation support is experimental.\n * @param {?} name\n * @param {?} definitions\n * @return {?}\n */\nexport function trigger(name, definitions) {\n    return { type: 7 /* Trigger */, name: name, definitions: definitions, options: {} };\n}\n/**\n * `animate` is an animation-specific function that is designed to be used inside of Angular's\n * animation DSL language. If this information is new, p
 lease navigate to the {\\@link\n * Component#animations component animations metadata page} to gain a better understanding of\n * how animations in Angular are used.\n *\n * `animate` specifies an animation step that will apply the provided `styles` data for a given\n * amount of time based on the provided `timing` expression value. Calls to `animate` are expected\n * to be used within {\\@link sequence an animation sequence}, {\\@link group group}, or {\\@link\n * transition transition}.\n *\n * ### Usage\n *\n * The `animate` function accepts two input parameters: `timing` and `styles`:\n *\n * - `timing` is a string based value that can be a combination of a duration with optional delay\n * and easing values. The format for the expression breaks down to `duration delay easing`\n * (therefore a value such as `1s 100ms ease-out` will be parse itself into `duration=1000,\n * delay=100, easing=ease-out`. If a numeric value is provided then that will be used as the\n * `duration` valu
 e in millisecond form.\n * - `styles` is the style input data which can either be a call to {\\@link style style} or {\\@link\n * keyframes keyframes}. If left empty then the styles from the destination state will be collected\n * and used (this is useful when describing an animation step that will complete an animation by\n * {\\@link transition#the-final-animate-call animating to the final state}).\n *\n * ```typescript\n * // various functions for specifying timing data\n * animate(500, style(...))\n * animate(\"1s\", style(...))\n * animate(\"100ms 0.5s\", style(...))\n * animate(\"5s ease\", style(...))\n * animate(\"5s 10ms cubic-bezier(.17,.67,.88,.1)\", style(...))\n *\n * // either style() of keyframes() can be used\n * animate(500, style({ background: \"red\" }))\n * animate(500, keyframes([\n *   style({ background: \"blue\" })),\n *   style({ background: \"red\" }))\n * ])\n * ```\n *\n * {\\@example core/animation/ts/dsl/animation_example.ts region='Component'}\n *\n * 
 \\@experimental Animation support is experimental.\n * @param {?} timings\n * @param {?=} styles\n * @return {?}\n */\nexport function animate(timings, styles) {\n    if (styles === void 0) { styles = null; }\n    return { type: 4 /* Animate */, styles: styles, timings: timings };\n}\n/**\n * `group` is an animation-specific function that is designed to be used inside of Angular's\n * animation DSL language. If this information is new, please navigate to the {\\@link\n * Component#animations component animations metadata page} to gain a better understanding of\n * how animations in Angular are used.\n *\n * `group` specifies a list of animation steps that are all run in parallel. Grouped animations are\n * useful when a series of styles must be animated/closed off at different starting/ending times.\n *\n * The `group` function can either be used within a {\\@link sequence sequence} or a {\\@link transition\n * transition} and it will only continue to the next instruction once all o
 f the inner animation\n * steps have completed.\n *\n * ### Usage\n *\n * The `steps` data that is passed into the `group` animation function can either consist of {\\@link\n * style style} or {\\@link animate animate} function calls. Each call to `style()` or `animate()`\n * within a group will be executed instantly (use {\\@link keyframes keyframes} or a {\\@link\n * animate#usage animate() with a delay value} to offset styles to be applied at a later time).\n *\n * ```typescript\n * group([\n *   animate(\"1s\", { background: \"black\" }))\n *   animate(\"2s\", { color: \"white\" }))\n * ])\n * ```\n *\n * {\\@example core/animation/ts/dsl/animation_example.ts region='Component'}\n *\n * \\@experimental Animation support is experimental.\n * @param {?} steps\n * @param {?=} options\n * @return {?}\n */\nexport function group(steps, options) {\n    if (options === void 0) { options = null; }\n    return { type: 3 /* Group */, steps: steps, options: options };\n}\n/**\n * `sequence
 ` is an animation-specific function that is designed to be used inside of Angular's\n * animation DSL language. If this information is new, please navigate to the {\\@link\n * Component#animations component animations metadata page} to gain a better understanding of\n * how animations in Angular are used.\n *\n * `sequence` Specifies a list of animation steps that are run one by one. (`sequence` is used by\n * default when an array is passed as animation data into {\\@link transition transition}.)\n *\n * The `sequence` function can either be used within a {\\@link group group} or a {\\@link transition\n * transition} and it will only continue to the next instruction once each of the inner animation\n * steps have completed.\n *\n * To perform animation styling in parallel with other animation steps then have a look at the\n * {\\@link group group} animation function.\n *\n * ### Usage\n *\n * The `steps` data that is passed into the `sequence` animation function can either consist 
 of\n * {\\@link style style} or {\\@link animate animate} function calls. A call to `style()` will apply the\n * provided styling data immediately while a call to `animate()` will apply its styling data over a\n * given time depending on its timing data.\n *\n * ```typescript\n * sequence([\n *   style({ opacity: 0 })),\n *   animate(\"1s\", { opacity: 1 }))\n * ])\n * ```\n *\n * {\\@example core/animation/ts/dsl/animation_example.ts region='Component'}\n *\n * \\@experimental Animation support is experimental.\n * @param {?} steps\n * @param {?=} options\n * @return {?}\n */\nexport function sequence(steps, options) {\n    if (options === void 0) { options = null; }\n    return { type: 2 /* Sequence */, steps: steps, options: options };\n}\n/**\n * `style` is an animation-specific function that is designed to be used inside of Angular's\n * animation DSL language. If this information is new, please navigate to the {\\@link\n * Component#animations component animations metadata pag
 e} to gain a better understanding of\n * how animations in Angular are used.\n *\n * `style` declares a key/value object containing CSS properties/styles that can then be used for\n * {\\@link state animation states}, within an {\\@link sequence animation sequence}, or as styling data\n * for both {\\@link animate animate} and {\\@link keyframes keyframes}.\n *\n * ### Usage\n *\n * `style` takes in a key/value string map as data and expects one or more CSS property/value pairs\n * to be defined.\n *\n * ```typescript\n * // string values are used for css properties\n * style({ background: \"red\", color: \"blue\" })\n *\n * // numerical (pixel) values are also supported\n * style({ width: 100, height: 0 })\n * ```\n *\n * #### Auto-styles (using `*`)\n *\n * When an asterix (`*`) character is used as a value then it will be detected from the element\n * being animated and applied as animation data when the animation starts.\n *\n * This feature proves useful for a state depending o
 n layout and/or environment factors; in such\n * cases the styles are calculated just before the animation starts.\n *\n * ```typescript\n * // the steps below will animate from 0 to the\n * // actual height of the element\n * style({ height: 0 }),\n * animate(\"1s\", style({ height: \"*\" }))\n * ```\n *\n * {\\@example core/animation/ts/dsl/animation_example.ts region='Component'}\n *\n * \\@experimental Animation support is experimental.\n * @param {?} tokens\n * @return {?}\n */\nexport function style(tokens) {\n    return { type: 6 /* Style */, styles: tokens, offset: null };\n}\n/**\n * `state` is an animation-specific function that is designed to be used inside of Angular's\n * animation DSL language. If this information is new, please navigate to the {\\@link\n * Component#animations component animations metadata page} to gain a better understanding of\n * how animations in Angular are used.\n *\n * `state` declares an animation state within the given trigger. When a state i
 s active within a\n * component then its associated styles will persist on the element that the trigger is attached to\n * (even when the animation ends).\n *\n * To animate between states, have a look at the animation {\\@link transition transition} DSL\n * function. To register states to an animation trigger please have a look at the {\\@link trigger\n * trigger} function.\n *\n * #### The `void` state\n *\n * The `void` state value is a reserved word that angular uses to determine when the element is not\n * apart of the application anymore (e.g. when an `ngIf` evaluates to false then the state of the\n * associated element is void).\n *\n * #### The `*` (default) state\n *\n * The `*` state (when styled) is a fallback state that will be used if the state that is being\n * animated is not declared within the trigger.\n *\n * ### Usage\n *\n * `state` will declare an animation state with its associated styles\n * within the given trigger.\n *\n * - `stateNameExpr` can be one or mo
 re state names separated by commas.\n * - `styles` refers to the {\\@link style styling data} that will be persisted on the element once\n * the state has been reached.\n *\n * ```typescript\n * // \"void\" is a reserved name for a state and is used to represent\n * // the state in which an element is detached from from the application.\n * state(\"void\", style({ height: 0 }))\n *\n * // user-defined states\n * state(\"closed\", style({ height: 0 }))\n * state(\"open, visible\", style({ height: \"*\" }))\n * ```\n *\n * {\\@example core/animation/ts/dsl/animation_example.ts region='Component'}\n *\n * \\@experimental Animation support is experimental.\n * @param {?} name\n * @param {?} styles\n * @param {?=} options\n * @return {?}\n */\nexport function state(name, styles, options) {\n    return { type: 0 /* State */, name: name, styles: styles, options: options };\n}\n/**\n * `keyframes` is an animation-specific function that is designed to be used inside of Angular's\n * animatio
 n DSL language. If this information is new, please navigate to the {\\@link\n * Component#animations component animations metadata page} to gain a better understanding of\n * how animations in Angular are used.\n *\n * `keyframes` specifies a collection of {\\@link style style} entries each optionally characterized\n * by an `offset` value.\n *\n * ### Usage\n *\n * The `keyframes` animation function is designed to be used alongside the {\\@link animate animate}\n * animation function. Instead of applying animations from where they are currently to their\n * destination, keyframes can describe how each style entry is applied and at what point within the\n * animation arc (much like CSS Keyframe Animations do).\n *\n * For each `style()` entry an `offset` value can be set. Doing so allows to specifiy at what\n * percentage of the animate time the styles will be applied.\n *\n * ```typescript\n * // the provided offset values describe when each backgroundColor value is applied.\n * an
 imate(\"5s\", keyframes([\n *   style({ backgroundColor: \"red\", offset: 0 }),\n *   style({ backgroundColor: \"blue\", offset: 0.2 }),\n *   style({ backgroundColor: \"orange\", offset: 0.3 }),\n *   style({ backgroundColor: \"black\", offset: 1 })\n * ]))\n * ```\n *\n * Alternatively, if there are no `offset` values used within the style entries then the offsets\n * will be calculated automatically.\n *\n * ```typescript\n * animate(\"5s\", keyframes([\n *   style({ backgroundColor: \"red\" }) // offset = 0\n *   style({ backgroundColor: \"blue\" }) // offset = 0.33\n *   style({ backgroundColor: \"orange\" }) // offset = 0.66\n *   style({ backgroundColor: \"black\" }) // offset = 1\n * ]))\n * ```\n *\n * {\\@example core/animation/ts/dsl/animation_example.ts region='Component'}\n *\n * \\@experimental Animation support is experimental.\n * @param {?} steps\n * @return {?}\n */\nexport function keyframes(steps) {\n    return { type: 5 /* Keyframes */, steps: steps };\n}\n/**\n
  * `transition` is an animation-specific function that is designed to be used inside of Angular's\n * animation DSL language. If this information is new, please navigate to the {\\@link\n * Component#animations component animations metadata page} to gain a better understanding of\n * how animations in Angular are used.\n *\n * `transition` declares the {\\@link sequence sequence of animation steps} that will be run when the\n * provided `stateChangeExpr` value is satisfied. The `stateChangeExpr` consists of a `state1 =>\n * state2` which consists of two known states (use an asterix (`*`) to refer to a dynamic starting\n * and/or ending state).\n *\n * A function can also be provided as the `stateChangeExpr` argument for a transition and this\n * function will be executed each time a state change occurs. If the value returned within the\n * function is true then the associated animation will be run.\n *\n * Animation transitions are placed within an {\\@link trigger animation trigger
 }. For an transition\n * to animate to a state value and persist its styles then one or more {\\@link state animation\n * states} is expected to be defined.\n *\n * ### Usage\n *\n * An animation transition is kicked off the `stateChangeExpr` predicate evaluates to true based on\n * what the previous state is and what the current state has become. In other words, if a transition\n * is defined that matches the old/current state criteria then the associated animation will be\n * triggered.\n *\n * ```typescript\n * // all transition/state changes are defined within an animation trigger\n * trigger(\"myAnimationTrigger\", [\n *   // if a state is defined then its styles will be persisted when the\n *   // animation has fully completed itself\n *   state(\"on\", style({ background: \"green\" })),\n *   state(\"off\", style({ background: \"grey\" })),\n *\n *   // a transition animation that will be kicked off when the state value\n *   // bound to \"myAnimationTrigger\" changes from \"
 on\" to \"off\"\n *   transition(\"on => off\", animate(500)),\n *\n *   // it is also possible to do run the same animation for both directions\n *   transition(\"on <=> off\", animate(500)),\n *\n *   // or to define multiple states pairs separated by commas\n *   transition(\"on => off, off => void\", animate(500)),\n *\n *   // this is a catch-all state change for when an element is inserted into\n *   // the page and the destination state is unknown\n *   transition(\"void => *\", [\n *     style({ opacity: 0 }),\n *     animate(500)\n *   ]),\n *\n *   // this will capture a state change between any states\n *   transition(\"* => *\", animate(\"1s 0s\")),\n *\n *   // you can also go full out and include a function\n *   transition((fromState, toState) => {\n *     // when `true` then it will allow the animation below to be invoked\n *     return fromState == \"off\" && toState == \"on\";\n *   }, animate(\"1s 0s\"))\n * ])\n * ```\n *\n * The template associated with this com
 ponent will make use of the `myAnimationTrigger` animation\n * trigger by binding to an element within its template code.\n *\n * ```html\n * <!-- somewhere inside of my-component-tpl.html -->\n * <div [\\@myAnimationTrigger]=\"myStatusExp\">...</div>\n * ```\n *\n * #### The final `animate` call\n *\n * If the final step within the transition steps is a call to `animate()` that **only** uses a\n * timing value with **no style data** then it will be automatically used as the final animation arc\n * for the element to animate itself to the final state. This involves an automatic mix of\n * adding/removing CSS styles so that the element will be in the exact state it should be for the\n * applied state to be presented correctly.\n *\n * ```\n * // start off by hiding the element, but make sure that it animates properly to whatever state\n * // is currently active for \"myAnimationTrigger\"\n * transition(\"void => *\", [\n *   style({ opacity: 0 }),\n *   animate(500)\n * ])\n * ```\n 
 *\n * ### Using :enter and :leave\n *\n * Given that enter (insertion) and leave (removal) animations are so common, the `transition`\n * function accepts both `:enter` and `:leave` values which are aliases for the `void => *` and `*\n * => void` state changes.\n *\n * ```\n * transition(\":enter\", [\n *   style({ opacity: 0 }),\n *   animate(500, style({ opacity: 1 }))\n * ]),\n * transition(\":leave\", [\n *   animate(500, style({ opacity: 0 }))\n * ])\n * ```\n *\n * ### Boolean values\n * if a trigger binding value is a boolean value then it can be matched using a transition\n * expression that compares `true` and `false` or `1` and `0`.\n *\n * ```\n * // in the template\n * <div [\\@openClose]=\"open ? true : false\">...</div>\n *\n * // in the component metadata\n * trigger('openClose', [\n *   state('true', style({ height: '*' })),\n *   state('false', style({ height: '0px' })),\n *   transition('false <=> true', animate(500))\n * ])\n * ```\n *\n * ### Using :increment and
  :decrement\n * In addition to the :enter and :leave transition aliases, the :increment and :decrement aliases\n * can be used to kick off a transition when a numeric value has increased or decreased in value.\n *\n * ```\n * import {group, animate, query, transition, style, trigger} from '\\@angular/animations';\n * import {Component} from '\\@angular/core';\n *\n * \\@Component({\n *   selector: 'banner-carousel-component',\n *   styles: [`\n *     .banner-container {\n *        position:relative;\n *        height:500px;\n *        overflow:hidden;\n *      }\n *     .banner-container > .banner {\n *        position:absolute;\n *        left:0;\n *        top:0;\n *        font-size:200px;\n *        line-height:500px;\n *        font-weight:bold;\n *        text-align:center;\n *        width:100%;\n *      }\n *   `],\n *   template: `\n *     <button (click)=\"previous()\">Previous</button>\n *     <button (click)=\"next()\">Next</button>\n *     <hr>\n *     <div [\\@bannerAn
 imation]=\"selectedIndex\" class=\"banner-container\">\n *       <div class=\"banner\"> {{ banner }} </div>\n *     </div>\n *   `\n *   animations: [\n *     trigger('bannerAnimation', [\n *       transition(\":increment\", group([\n *         query(':enter', [\n *           style({ left: '100%' }),\n *           animate('0.5s ease-out', style('*'))\n *         ]),\n *         query(':leave', [\n *           animate('0.5s ease-out', style({ left: '-100%' }))\n *         ])\n *       ])),\n *       transition(\":decrement\", group([\n *         query(':enter', [\n *           style({ left: '-100%' }),\n *           animate('0.5s ease-out', style('*'))\n *         ]),\n *         query(':leave', [\n *           animate('0.5s ease-out', style({ left: '100%' }))\n *         ])\n *       ])),\n *     ])\n *   ]\n * })\n * class BannerCarouselComponent {\n *   allBanners: string[] = ['1', '2', '3', '4'];\n *   selectedIndex: number = 0;\n *\n *   get banners() {\n *      return [this.all
 Banners[this.selectedIndex]];\n *   }\n *\n *   previous() {\n *     this.selectedIndex = Math.max(this.selectedIndex - 1, 0);\n *   }\n *\n *   next() {\n *     this.selectedIndex = Math.min(this.selectedIndex + 1, this.allBanners.length - 1);\n *   }\n * }\n * ```\n *\n * {\\@example core/animation/ts/dsl/animation_example.ts region='Component'}\n *\n * \\@experimental Animation support is experimental.\n * @param {?} stateChangeExpr\n * @param {?} steps\n * @param {?=} options\n * @return {?}\n */\nexport function transition(stateChangeExpr, steps, options) {\n    if (options === void 0) { options = null; }\n    return { type: 1 /* Transition */, expr: stateChangeExpr, animation: steps, options: options };\n}\n/**\n * `animation` is an animation-specific function that is designed to be used inside of Angular's\n * animation DSL language.\n *\n * `var myAnimation = animation(...)` is designed to produce a reusable animation that can be later\n * invoked in another animation or seq
 uence. Reusable animations are designed to make use of\n * animation parameters and the produced animation can be used via the `useAnimation` method.\n *\n * ```\n * var fadeAnimation = animation([\n *   style({ opacity: '{{ start }}' }),\n *   animate('{{ time }}',\n *     style({ opacity: '{{ end }}'}))\n * ], { params: { time: '1000ms', start: 0, end: 1 }});\n * ```\n *\n * If parameters are attached to an animation then they act as **default parameter values**. When an\n * animation is invoked via `useAnimation` then parameter values are allowed to be passed in\n * directly. If any of the passed in parameter values are missing then the default values will be\n * used.\n *\n * ```\n * useAnimation(fadeAnimation, {\n *   params: {\n *     time: '2s',\n *     start: 1,\n *     end: 0\n *   }\n * })\n * ```\n *\n * If one or more parameter values are missing before animated then an error will be thrown.\n *\n * \\@experimental Animation support is experimental.\n * @param {?} steps\
 n * @param {?=} options\n * @return {?}\n */\nexport function animation(steps, options) {\n    if (options === void 0) { options = null; }\n    return { type: 8 /* Reference */, animation: steps, options: options };\n}\n/**\n * `animateChild` is an animation-specific function that is designed to be used inside of Angular's\n * animation DSL language. It works by allowing a queried element to execute its own\n * animation within the animation sequence.\n *\n * Each time an animation is triggered in angular, the parent animation\n * will always get priority and any child animations will be blocked. In order\n * for a child animation to run, the parent animation must query each of the elements\n * containing child animations and then allow the animations to run using `animateChild`.\n *\n * The example HTML code below shows both parent and child elements that have animation\n * triggers that will execute at the same time.\n *\n * ```html\n * <!-- parent-child.component.html -->\n * <bu
 tton (click)=\"exp =! exp\">Toggle</button>\n * <hr>\n *\n * <div [\\@parentAnimation]=\"exp\">\n *   <header>Hello</header>\n *   <div [\\@childAnimation]=\"exp\">\n *       one\n *   </div>\n *   <div [\\@childAnimation]=\"exp\">\n *       two\n *   </div>\n *   <div [\\@childAnimation]=\"exp\">\n *       three\n *   </div>\n * </div>\n * ```\n *\n * Now when the `exp` value changes to true, only the `parentAnimation` animation will animate\n * because it has priority. However, using `query` and `animateChild` each of the inner animations\n * can also fire:\n *\n * ```ts\n * // parent-child.component.ts\n * import {trigger, transition, animate, style, query, animateChild} from '\\@angular/animations';\n * \\@Component({\n *   selector: 'parent-child-component',\n *   animations: [\n *     trigger('parentAnimation', [\n *       transition('false => true', [\n *         query('header', [\n *           style({ opacity: 0 }),\n *           animate(500, style({ opacity: 1 }))\n *      
    ]),\n *         query('\\@childAnimation', [\n *           animateChild()\n *         ])\n *       ])\n *     ]),\n *     trigger('childAnimation', [\n *       transition('false => true', [\n *         style({ opacity: 0 }),\n *         animate(500, style({ opacity: 1 }))\n *       ])\n *     ])\n *   ]\n * })\n * class ParentChildCmp {\n *   exp: boolean = false;\n * }\n * ```\n *\n * In the animation code above, when the `parentAnimation` transition kicks off it first queries to\n * find the header element and fades it in. It then finds each of the sub elements that contain the\n * `\\@childAnimation` trigger and then allows for their animations to fire.\n *\n * This example can be further extended by using stagger:\n *\n * ```ts\n * query('\\@childAnimation', stagger(100, [\n *   animateChild()\n * ]))\n * ```\n *\n * Now each of the sub animations start off with respect to the `100ms` staggering step.\n *\n * ## The first frame of child animations\n * When sub animations are 
 executed using `animateChild` the animation engine will always apply the\n * first frame of every sub animation immediately at the start of the animation sequence. This way\n * the parent animation does not need to set any initial styling data on the sub elements before the\n * sub animations kick off.\n *\n * In the example above the first frame of the `childAnimation`'s `false => true` transition\n * consists of a style of `opacity: 0`. This is applied immediately when the `parentAnimation`\n * animation transition sequence starts. Only then when the `\\@childAnimation` is queried and called\n * with `animateChild` will it then animate to its destination of `opacity: 1`.\n *\n * Note that this feature designed to be used alongside {\\@link query query()} and it will only work\n * with animations that are assigned using the Angular animation DSL (this means that CSS keyframes\n * and transitions are not handled by this API).\n *\n * \\@experimental Animation support is experimental
 .\n * @param {?=} options\n * @return {?}\n */\nexport function animateChild(options) {\n    if (options === void 0) { options = null; }\n    return { type: 9 /* AnimateChild */, options: options };\n}\n/**\n * `useAnimation` is an animation-specific function that is designed to be used inside of Angular's\n * animation DSL language. It is used to kick off a reusable animation that is created using {\\@link\n * animation animation()}.\n *\n * \\@experimental Animation support is experimental.\n * @param {?} animation\n * @param {?=} options\n * @return {?}\n */\nexport function useAnimation(animation, options) {\n    if (options === void 0) { options = null; }\n    return { type: 10 /* AnimateRef */, animation: animation, options: options };\n}\n/**\n * `query` is an animation-specific function that is designed to be used inside of Angular's\n * animation DSL language.\n *\n * query() is used to find one or more inner elements within the current element that is\n * being animated wi
 thin the sequence. The provided animation steps are applied\n * to the queried element (by default, an array is provided, then this will be\n * treated as an animation sequence).\n *\n * ### Usage\n *\n * query() is designed to collect mutiple elements and works internally by using\n * `element.querySelectorAll`. An additional options object can be provided which\n * can be used to limit the total amount of items to be collected.\n *\n * ```js\n * query('div', [\n *   animate(...),\n *   animate(...)\n * ], { limit: 1 })\n * ```\n *\n * query(), by default, will throw an error when zero items are found. If a query\n * has the `optional` flag set to true then this error will be ignored.\n *\n * ```js\n * query('.some-element-that-may-not-be-there', [\n *   animate(...),\n *   animate(...)\n * ], { optional: true })\n * ```\n *\n * ### Special Selector Values\n *\n * The selector value within a query can collect elements that contain angular-specific\n * characteristics\n * using spec
 ial pseudo-selectors tokens.\n *\n * These include:\n *\n *  - Querying for newly inserted/removed elements using `query(\":enter\")`/`query(\":leave\")`\n *  - Querying all currently animating elements using `query(\":animating\")`\n *  - Querying elements that contain an animation trigger using `query(\"\\@triggerName\")`\n *  - Querying all elements that contain an animation triggers using `query(\"\\@*\")`\n *  - Including the current element into the animation sequence using `query(\":self\")`\n *\n *\n *  Each of these pseudo-selector tokens can be merged together into a combined query selector\n * string:\n *\n *  ```\n *  query(':self, .record:enter, .record:leave, \\@subTrigger', [...])\n *  ```\n *\n * ### Demo\n *\n * ```\n * \\@Component({\n *   selector: 'inner',\n *   template: `\n *     <div [\\@queryAnimation]=\"exp\">\n *       <h1>Title</h1>\n *       <div class=\"content\">\n *         Blah blah blah\n *       </div>\n *     </div>\n *   `,\n *   animations: [\n *
     trigger('queryAnimation', [\n *      transition('* => goAnimate', [\n *        // hide the inner elements\n *        query('h1', style({ opacity: 0 })),\n *        query('.content', style({ opacity: 0 })),\n *\n *        // animate the inner elements in, one by one\n *        query('h1', animate(1000, style({ opacity: 1 })),\n *        query('.content', animate(1000, style({ opacity: 1 })),\n *      ])\n *    ])\n *  ]\n * })\n * class Cmp {\n *   exp = '';\n *\n *   goAnimate() {\n *     this.exp = 'goAnimate';\n *   }\n * }\n * ```\n *\n * \\@experimental Animation support is experimental.\n * @param {?} selector\n * @param {?} animation\n * @param {?=} options\n * @return {?}\n */\nexport function query(selector, animation, options) {\n    if (options === void 0) { options = null; }\n    return { type: 11 /* Query */, selector: selector, animation: animation, options: options };\n}\n/**\n * `stagger` is an animation-specific function that is designed to be used inside of Angu
 lar's\n * animation DSL language. It is designed to be used inside of an animation {\\@link query query()}\n * and works by issuing a timing gap between after each queried item is animated.\n *\n * ### Usage\n *\n * In the example below there is a container element that wraps a list of items stamped out\n * by an ngFor. The container element contains an animation trigger that will later be set\n * to query for each of the inner items.\n *\n * ```html\n * <!-- list.component.html -->\n * <button (click)=\"toggle()\">Show / Hide Items</button>\n * <hr />\n * <div [\\@listAnimation]=\"items.length\">\n *   <div *ngFor=\"let item of items\">\n *     {{ item }}\n *   </div>\n * </div>\n * ```\n *\n * The component code for this looks as such:\n *\n * ```ts\n * import {trigger, transition, style, animate, query, stagger} from '\\@angular/animations';\n * \\@Component({\n *   templateUrl: 'list.component.html',\n *   animations: [\n *     trigger('listAnimation', [\n *        //...\n *    
  ])\n *   ]\n * })\n * class ListComponent {\n *   items = [];\n *\n *   showItems() {\n *     this.items = [0,1,2,3,4];\n *   }\n *\n *   hideItems() {\n *     this.items = [];\n *   }\n *\n *   toggle() {\n *     this.items.length ? this.hideItems() : this.showItems();\n *   }\n * }\n * ```\n *\n * And now for the animation trigger code:\n *\n * ```ts\n * trigger('listAnimation', [\n *   transition('* => *', [ // each time the binding value changes\n *     query(':leave', [\n *       stagger(100, [\n *         animate('0.5s', style({ opacity: 0 }))\n *       ])\n *     ]),\n *     query(':enter', [\n *       style({ opacity: 0 }),\n *       stagger(100, [\n *         animate('0.5s', style({ opacity: 1 }))\n *       ])\n *     ])\n *   ])\n * ])\n * ```\n *\n * Now each time the items are added/removed then either the opacity\n * fade-in animation will run or each removed item will be faded out.\n * When either of these animations occur then a stagger effect will be\n * applied aft
 er each item's animation is started.\n *\n * \\@experimental Animation support is experimental.\n * @param {?} timings\n * @param {?} animation\n * @return {?}\n */\nexport function stagger(timings, animation) {\n    return { type: 12 /* Stagger */, timings: timings, animation: animation };\n}\n//# sourceMappingURL=animation_metadata.js.map","/**\n * @fileoverview added by tsickle\n * @suppress {checkTypes} checked by tsc\n */\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n * @param {?} cb\n * @return {?}\n */\nexport function scheduleMicroTask(cb) {\n    Promise.resolve(null).then(cb);\n}\n//# sourceMappingURL=util.js.map","/**\n * @fileoverview added by tsickle\n * @suppress {checkTypes} checked by tsc\n */\nimport { scheduleMicroTask } from '../util';\n/**\n * AnimationPlayer controls an animation sequence that was produced
  from a programmatic animation.\n * (see {\\@link AnimationBuilder AnimationBuilder} for more information on how to create programmatic\n * animations.)\n *\n * \\@experimental Animation support is experimental.\n * @record\n */\nexport function AnimationPlayer() { }\nfunction AnimationPlayer_tsickle_Closure_declarations() {\n    /** @type {?} */\n    AnimationPlayer.prototype.onDone;\n    /** @type {?} */\n    AnimationPlayer.prototype.onStart;\n    /** @type {?} */\n    AnimationPlayer.prototype.onDestroy;\n    /** @type {?} */\n    AnimationPlayer.prototype.init;\n    /** @type {?} */\n    AnimationPlayer.prototype.hasStarted;\n    /** @type {?} */\n    AnimationPlayer.prototype.play;\n    /** @type {?} */\n    AnimationPlayer.prototype.pause;\n    /** @type {?} */\n    AnimationPlayer.prototype.restart;\n    /** @type {?} */\n    AnimationPlayer.prototype.finish;\n    /** @type {?} */\n    AnimationPlayer.prototype.destroy;\n    /** @type {?} */\n    AnimationPlayer.prototype.re
 set;\n    /** @type {?} */\n    AnimationPlayer.prototype.setPosition;\n    /** @type {?} */\n    AnimationPlayer.prototype.getPosition;\n    /** @type {?} */\n    AnimationPlayer.prototype.parentPlayer;\n    /** @type {?} */\n    AnimationPlayer.prototype.totalTime;\n    /** @type {?|undefined} */\n    AnimationPlayer.prototype.beforeDestroy;\n    /** @type {?|undefined} */\n    AnimationPlayer.prototype.triggerCallback;\n}\n/**\n * \\@experimental Animation support is experimental.\n */\nvar /**\n * \\@experimental Animation support is experimental.\n */\nNoopAnimationPlayer = /** @class */ (function () {\n    function NoopAnimationPlayer() {\n        this._onDoneFns = [];\n        this._onStartFns = [];\n        this._onDestroyFns = [];\n        this._started = false;\n        this._destroyed = false;\n        this._finished = false;\n        this.parentPlayer = null;\n        this.totalTime = 0;\n    }\n    /**\n     * @return {?}\n     */\n    NoopAnimationPlayer.prototype._onF
 inish = /**\n     * @return {?}\n     */\n    function () {\n        if (!this._finished) {\n            this._finished = true;\n            this._onDoneFns.forEach(function (fn) { return fn(); });\n            this._onDoneFns = [];\n        }\n    };\n    /**\n     * @param {?} fn\n     * @return {?}\n     */\n    NoopAnimationPlayer.prototype.onStart = /**\n     * @param {?} fn\n     * @return {?}\n     */\n    function (fn) { this._onStartFns.push(fn); };\n    /**\n     * @param {?} fn\n     * @return {?}\n     */\n    NoopAnimationPlayer.prototype.onDone = /**\n     * @param {?} fn\n     * @return {?}\n     */\n    function (fn) { this._onDoneFns.push(fn); };\n    /**\n     * @param {?} fn\n     * @return {?}\n     */\n    NoopAnimationPlayer.prototype.onDestroy = /**\n     * @param {?} fn\n     * @return {?}\n     */\n    function (fn) { this._onDestroyFns.push(fn); };\n    /**\n     * @return {?}\n     */\n    NoopAnimationPlayer.prototype.hasStarted = /**\n     * @return {?}\
 n     */\n    function () { return this._started; };\n    /**\n     * @return {?}\n     */\n    NoopAnimationPlayer.prototype.init = /**\n     * @return {?}\n     */\n    function () { };\n    /**\n     * @return {?}\n     */\n    NoopAnimationPlayer.prototype.play = /**\n     * @return {?}\n     */\n    function () {\n        if (!this.hasStarted()) {\n            this._onStart();\n            this.triggerMicrotask();\n        }\n        this._started = true;\n    };\n    /* @internal */\n    /**\n     * @return {?}\n     */\n    NoopAnimationPlayer.prototype.triggerMicrotask = /**\n     * @return {?}\n     */\n    function () {\n        var _this = this;\n        scheduleMicroTask(function () { return _this._onFinish(); });\n    };\n    /**\n     * @return {?}\n     */\n    NoopAnimationPlayer.prototype._onStart = /**\n     * @return {?}\n     */\n    function () {\n        this._onStartFns.forEach(function (fn) { return fn(); });\n        this._onStartFns = [];\n    };\n    /**\n
      * @return {?}\n     */\n    NoopAnimationPlayer.prototype.pause = /**\n     * @return {?}\n     */\n    function () { };\n    /**\n     * @return {?}\n     */\n    NoopAnimationPlayer.prototype.restart = /**\n     * @return {?}\n     */\n    function () { };\n    /**\n     * @return {?}\n     */\n    NoopAnimationPlayer.prototype.finish = /**\n     * @return {?}\n     */\n    function () { this._onFinish(); };\n    /**\n     * @return {?}\n     */\n    NoopAnimationPlayer.prototype.destroy = /**\n     * @return {?}\n     */\n    function () {\n        if (!this._destroyed) {\n            this._destroyed = true;\n            if (!this.hasStarted()) {\n                this._onStart();\n            }\n            this.finish();\n            this._onDestroyFns.forEach(function (fn) { return fn(); });\n            this._onDestroyFns = [];\n        }\n    };\n    /**\n     * @return {?}\n     */\n    NoopAnimationPlayer.prototype.reset = /**\n     * @return {?}\n     */\n    function
  () { };\n    /**\n     * @param {?} p\n     * @return {?}\n     */\n    NoopAnimationPlayer.prototype.setPosition = /**\n     * @param {?} p\n     * @return {?}\n     */\n    function (p) { };\n    /**\n     * @return {?}\n     */\n    NoopAnimationPlayer.prototype.getPosition = /**\n     * @return {?}\n     */\n    function () { return 0; };\n    /* @internal */\n    /**\n     * @param {?} phaseName\n     * @return {?}\n     */\n    NoopAnimationPlayer.prototype.triggerCallback = /**\n     * @param {?} phaseName\n     * @return {?}\n     */\n    function (phaseName) {\n        var /** @type {?} */ methods = phaseName == 'start' ? this._onStartFns : this._onDoneFns;\n        methods.forEach(function (fn) { return fn(); });\n        methods.length = 0;\n    };\n    return NoopAnimationPlayer;\n}());\n/**\n * \\@experimental Animation support is experimental.\n */\nexport { NoopAnimationPlayer };\nfunction NoopAnimationPlayer_tsickle_Closure_declarations() {\n    /** @type {?} */\n  
   NoopAnimationPlayer.prototype._onDoneFns;\n    /** @type {?} */\n    NoopAnimationPlayer.prototype._onStartFns;\n    /** @type {?} */\n    NoopAnimationPlayer.prototype._onDestroyFns;\n    /** @type {?} */\n    NoopAnimationPlayer.prototype._started;\n    /** @type {?} */\n    NoopAnimationPlayer.prototype._destroyed;\n    /** @type {?} */\n    NoopAnimationPlayer.prototype._finished;\n    /** @type {?} */\n    NoopAnimationPlayer.prototype.parentPlayer;\n    /** @type {?} */\n    NoopAnimationPlayer.prototype.totalTime;\n}\n//# sourceMappingURL=animation_player.js.map","/**\n * @fileoverview added by tsickle\n * @suppress {checkTypes} checked by tsc\n */\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nimport { scheduleMicroTask } from '../util';\nvar AnimationGroupPlayer = /** @class */ (function () {\n    function Anim
 ationGroupPlayer(_players) {\n        var _this = this;\n        this._onDoneFns = [];\n        this._onStartFns = [];\n        this._finished = false;\n        this._started = false;\n        this._destroyed = false;\n        this._onDestroyFns = [];\n        this.parentPlayer = null;\n        this.totalTime = 0;\n        this.players = _players;\n        var /** @type {?} */ doneCount = 0;\n        var /** @type {?} */ destroyCount = 0;\n        var /** @type {?} */ startCount = 0;\n        var /** @type {?} */ total = this.players.length;\n        if (total == 0) {\n            scheduleMicroTask(function () { return _this._onFinish(); });\n        }\n        else {\n            this.players.forEach(function (player) {\n                player.onDone(function () {\n                    if (++doneCount == total) {\n                        _this._onFinish();\n                    }\n                });\n                player.onDestroy(function () {\n                    if (++destroyCo
 unt == total) {\n                        _this._onDestroy();\n                    }\n                });\n                player.onStart(function () {\n                    if (++startCount == total) {\n                        _this._onStart();\n                    }\n                });\n            });\n        }\n        this.totalTime = this.players.reduce(function (time, player) { return Math.max(time, player.totalTime); }, 0);\n    }\n    /**\n     * @return {?}\n     */\n    AnimationGroupPlayer.prototype._onFinish = /**\n     * @return {?}\n     */\n    function () {\n        if (!this._finished) {\n            this._finished = true;\n            this._onDoneFns.forEach(function (fn) { return fn(); });\n            this._onDoneFns = [];\n        }\n    };\n    /**\n     * @return {?}\n     */\n    AnimationGroupPlayer.prototype.init = /**\n     * @return {?}\n     */\n    function () { this.players.forEach(function (player) { return player.init(); }); };\n    /**\n     * @par
 am {?} fn\n     * @return {?}\n     */\n    AnimationGroupPlayer.prototype.onStart = /**\n     * @param {?} fn\n     * @return {?}\n     */\n    function (fn) { this._onStartFns.push(fn); };\n    /**\n     * @return {?}\n     */\n    AnimationGroupPlayer.prototype._onStart = /**\n     * @return {?}\n     */\n    function () {\n        if (!this.hasStarted()) {\n            this._started = true;\n            this._onStartFns.forEach(function (fn) { return fn(); });\n            this._onStartFns = [];\n        }\n    };\n    /**\n     * @param {?} fn\n     * @return {?}\n     */\n    AnimationGroupPlayer.prototype.onDone = /**\n     * @param {?} fn\n     * @return {?}\n     */\n    function (fn) { this._onDoneFns.push(fn); };\n    /**\n     * @param {?} fn\n     * @return {?}\n     */\n    AnimationGroupPlayer.prototype.onDestroy = /**\n     * @param {?} fn\n     * @return {?}\n     */\n    function (fn) { this._onDestroyFns.push(fn); };\n    /**\n     * @return {?}\n     */\n    Anim
 ationGroupPlayer.prototype.hasStarted = /**\n     * @return {?}\n     */\n    function () { return this._started; };\n    /**\n     * @return {?}\n     */\n    AnimationGroupPlayer.prototype.play = /**\n     * @return {?}\n     */\n    function () {\n        if (!this.parentPlayer) {\n            this.init();\n        }\n        this._onStart();\n        this.players.forEach(function (player) { return player.play(); });\n    };\n    /**\n     * @return {?}\n     */\n    AnimationGroupPlayer.prototype.pause = /**\n     * @return {?}\n     */\n    function () { this.players.forEach(function (player) { return player.pause(); }); };\n    /**\n     * @return {?}\n     */\n    AnimationGroupPlayer.prototype.restart = /**\n     * @return {?}\n     */\n    function () { this.players.forEach(function (player) { return player.restart(); }); };\n    /**\n     * @return {?}\n     */\n    AnimationGroupPlayer.prototype.finish = /**\n     * @return {?}\n     */\n    function () {\n        this._o
 nFinish();\n        this.players.forEach(function (player) { return player.finish(); });\n    };\n    /**\n     * @return {?}\n     */\n    AnimationGroupPlayer.prototype.destroy = /**\n     * @return {?}\n     */\n    function () { this._onDestroy(); };\n    /**\n     * @return {?}\n     */\n    AnimationGroupPlayer.prototype._onDestroy = /**\n     * @return {?}\n     */\n    function () {\n        if (!this._destroyed) {\n            this._destroyed = true;\n            this._onFinish();\n            this.players.forEach(function (player) { return player.destroy(); });\n            this._onDestroyFns.forEach(function (fn) { return fn(); });\n            this._onDestroyFns = [];\n        }\n    };\n    /**\n     * @return {?}\n     */\n    AnimationGroupPlayer.prototype.reset = /**\n     * @return {?}\n     */\n    function () {\n        this.players.forEach(function (player) { return player.reset(); });\n        this._destroyed = false;\n        this._finished = false;\n        th
 is._started = false;\n    };\n    /**\n     * @param {?} p\n     * @return {?}\n     */\n    AnimationGroupPlayer.prototype.setPosition = /**\n     * @param {?} p\n     * @return {?}\n     */\n    function (p) {\n        var /** @type {?} */ timeAtPosition = p * this.totalTime;\n        this.players.forEach(function (player) {\n            var /** @type {?} */ position = player.totalTime ? Math.min(1, timeAtPosition / player.totalTime) : 1;\n            player.setPosition(position);\n        });\n    };\n    /**\n     * @return {?}\n     */\n    AnimationGroupPlayer.prototype.getPosition = /**\n     * @return {?}\n     */\n    function () {\n        var /** @type {?} */ min = 0;\n        this.players.forEach(function (player) {\n            var /** @type {?} */ p = player.getPosition();\n            min = Math.min(p, min);\n        });\n        return min;\n    };\n    /**\n     * @return {?}\n     */\n    AnimationGroupPlayer.prototype.beforeDestroy = /**\n     * @return {?}\n     
 */\n    function () {\n        this.players.forEach(function (player) {\n            if (player.beforeDestroy) {\n                player.beforeDestroy();\n            }\n        });\n    };\n    /* @internal */\n    /**\n     * @param {?} phaseName\n     * @return {?}\n     */\n    AnimationGroupPlayer.prototype.triggerCallback = /**\n     * @param {?} phaseName\n     * @return {?}\n     */\n    function (phaseName) {\n        var /** @type {?} */ methods = phaseName == 'start' ? this._onStartFns : this._onDoneFns;\n        methods.forEach(function (fn) { return fn(); });\n        methods.length = 0;\n    };\n    return AnimationGroupPlayer;\n}());\nexport { AnimationGroupPlayer };\nfunction AnimationGroupPlayer_tsickle_Closure_declarations() {\n    /** @type {?} */\n    AnimationGroupPlayer.prototype._onDoneFns;\n    /** @type {?} */\n    AnimationGroupPlayer.prototype._onStartFns;\n    /** @type {?} */\n    AnimationGroupPlayer.prototype._finished;\n    /** @type {?} */\n    Anima
 tionGroupPlayer.prototype._started;\n    /** @type {?} */\n    AnimationGroupPlayer.prototype._destroyed;\n    /** @type {?} */\n    AnimationGroupPlayer.prototype._onDestroyFns;\n    /** @type {?} */\n    AnimationGroupPlayer.prototype.parentPlayer;\n    /** @type {?} */\n    AnimationGroupPlayer.prototype.totalTime;\n    /** @type {?} */\n    AnimationGroupPlayer.prototype.players;\n}\n//# sourceMappingURL=animation_group_player.js.map","/**\n * @fileoverview added by tsickle\n * @suppress {checkTypes} checked by tsc\n */\nexport { AnimationGroupPlayer as ɵAnimationGroupPlayer } from './players/animation_group_player';\nexport var /** @type {?} */ ɵPRE_STYLE = '!';\n//# sourceMappingURL=private_export.js.map","/**\n * @fileoverview added by tsickle\n * @suppress {checkTypes} checked by tsc\n */\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://a
 ngular.io/license\n */\nexport { AnimationBuilder, AnimationFactory } from './animation_builder';\nexport { AUTO_STYLE, animate, animateChild, animation, group, keyframes, query, sequence, stagger, state, style, transition, trigger, useAnimation } from './animation_metadata';\nexport { NoopAnimationPlayer } from './players/animation_player';\nexport { ɵAnimationGroupPlayer, ɵPRE_STYLE } from './private_export';\n//# sourceMappingURL=animations.js.map","/**\n * @fileoverview added by tsickle\n * @suppress {checkTypes} checked by tsc\n */\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * @module\n * @description\n * Entry point for all public APIs of this package.\n */\nexport { AnimationBuilder, AnimationFactory, AUTO_STYLE, animate, animateChild, animation, group, keyframes, query, sequence, stagger, state, style, 
 transition, trigger, useAnimation, NoopAnimationPlayer, ɵAnimationGroupPlayer, ɵPRE_STYLE } from './src/animations';\n//# sourceMappingURL=public_api.js.map","/**\n * @fileoverview added by tsickle\n * @suppress {checkTypes} checked by tsc\n */\n/**\n * Generated bundle index. Do not edit.\n */\nexport { AnimationBuilder, AnimationFactory, AUTO_STYLE, animate, animateChild, animation, group, keyframes, query, sequence, stagger, state, style, transition, trigger, useAnimation, NoopAnimationPlayer, ɵAnimationGroupPlayer, ɵPRE_STYLE } from './public_api';\n//# sourceMappingURL=animations.js.map"],"names":[],"mappings":"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"}
\ No newline at end of file


[32/59] [abbrv] [partial] nifi-fds git commit: update gh-pages

Posted by sc...@apache.org.
http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/eec354e6/node_modules/@angular/animations/esm2015/browser/testing.js
----------------------------------------------------------------------
diff --git a/node_modules/@angular/animations/esm2015/browser/testing.js b/node_modules/@angular/animations/esm2015/browser/testing.js
new file mode 100644
index 0000000..ffe03b1
--- /dev/null
+++ b/node_modules/@angular/animations/esm2015/browser/testing.js
@@ -0,0 +1,445 @@
+/**
+ * @license Angular v5.2.0
+ * (c) 2010-2018 Google, Inc. https://angular.io/
+ * License: MIT
+ */
+import { AUTO_STYLE, NoopAnimationPlayer } from '@angular/animations';
+
+/**
+ * @fileoverview added by tsickle
+ * @suppress {checkTypes} checked by tsc
+ */
+/**
+ * @param {?} players
+ * @return {?}
+ */
+
+/**
+ * @param {?} driver
+ * @param {?} normalizer
+ * @param {?} element
+ * @param {?} keyframes
+ * @param {?=} preStyles
+ * @param {?=} postStyles
+ * @return {?}
+ */
+
+/**
+ * @param {?} player
+ * @param {?} eventName
+ * @param {?} event
+ * @param {?} callback
+ * @return {?}
+ */
+
+/**
+ * @param {?} e
+ * @param {?=} phaseName
+ * @param {?=} totalTime
+ * @return {?}
+ */
+
+/**
+ * @param {?} element
+ * @param {?} triggerName
+ * @param {?} fromState
+ * @param {?} toState
+ * @param {?=} phaseName
+ * @param {?=} totalTime
+ * @return {?}
+ */
+
+/**
+ * @param {?} map
+ * @param {?} key
+ * @param {?} defaultValue
+ * @return {?}
+ */
+
+/**
+ * @param {?} command
+ * @return {?}
+ */
+
+let _contains = (elm1, elm2) => false;
+let _matches = (element, selector) => false;
+let _query = (element, selector, multi) => {
+    return [];
+};
+if (typeof Element != 'undefined') {
+    // this is well supported in all browsers
+    _contains = (elm1, elm2) => { return /** @type {?} */ (elm1.contains(elm2)); };
+    if (Element.prototype.matches) {
+        _matches = (element, selector) => element.matches(selector);
+    }
+    else {
+        const /** @type {?} */ proto = /** @type {?} */ (Element.prototype);
+        const /** @type {?} */ fn = proto.matchesSelector || proto.mozMatchesSelector || proto.msMatchesSelector ||
+            proto.oMatchesSelector || proto.webkitMatchesSelector;
+        if (fn) {
+            _matches = (element, selector) => fn.apply(element, [selector]);
+        }
+    }
+    _query = (element, selector, multi) => {
+        let /** @type {?} */ results = [];
+        if (multi) {
+            results.push(...element.querySelectorAll(selector));
+        }
+        else {
+            const /** @type {?} */ elm = element.querySelector(selector);
+            if (elm) {
+                results.push(elm);
+            }
+        }
+        return results;
+    };
+}
+/**
+ * @param {?} prop
+ * @return {?}
+ */
+function containsVendorPrefix(prop) {
+    // Webkit is the only real popular vendor prefix nowadays
+    // cc: http://shouldiprefix.com/
+    return prop.substring(1, 6) == 'ebkit'; // webkit or Webkit
+}
+let _CACHED_BODY = null;
+let _IS_WEBKIT = false;
+/**
+ * @param {?} prop
+ * @return {?}
+ */
+function validateStyleProperty(prop) {
+    if (!_CACHED_BODY) {
+        _CACHED_BODY = getBodyNode() || {};
+        _IS_WEBKIT = /** @type {?} */ ((_CACHED_BODY)).style ? ('WebkitAppearance' in /** @type {?} */ ((_CACHED_BODY)).style) : false;
+    }
+    let /** @type {?} */ result = true;
+    if (/** @type {?} */ ((_CACHED_BODY)).style && !containsVendorPrefix(prop)) {
+        result = prop in /** @type {?} */ ((_CACHED_BODY)).style;
+        if (!result && _IS_WEBKIT) {
+            const /** @type {?} */ camelProp = 'Webkit' + prop.charAt(0).toUpperCase() + prop.substr(1);
+            result = camelProp in /** @type {?} */ ((_CACHED_BODY)).style;
+        }
+    }
+    return result;
+}
+/**
+ * @return {?}
+ */
+function getBodyNode() {
+    if (typeof document != 'undefined') {
+        return document.body;
+    }
+    return null;
+}
+const matchesElement = _matches;
+const containsElement = _contains;
+const invokeQuery = _query;
+
+/**
+ * @fileoverview added by tsickle
+ * @suppress {checkTypes} checked by tsc
+ */
+
+
+
+
+
+
+
+
+
+
+
+/**
+ * @param {?} value
+ * @return {?}
+ */
+
+/**
+ * @param {?} timings
+ * @param {?} errors
+ * @param {?=} allowNegativeValues
+ * @return {?}
+ */
+
+/**
+ * @param {?} obj
+ * @param {?=} destination
+ * @return {?}
+ */
+
+/**
+ * @param {?} styles
+ * @return {?}
+ */
+
+/**
+ * @param {?} styles
+ * @param {?} readPrototype
+ * @param {?=} destination
+ * @return {?}
+ */
+
+/**
+ * @param {?} element
+ * @param {?} styles
+ * @return {?}
+ */
+
+/**
+ * @param {?} element
+ * @param {?} styles
+ * @return {?}
+ */
+
+/**
+ * @param {?} steps
+ * @return {?}
+ */
+
+/**
+ * @param {?} value
+ * @param {?} options
+ * @param {?} errors
+ * @return {?}
+ */
+
+/**
+ * @param {?} value
+ * @return {?}
+ */
+
+/**
+ * @param {?} value
+ * @param {?} params
+ * @param {?} errors
+ * @return {?}
+ */
+
+/**
+ * @param {?} iterator
+ * @return {?}
+ */
+
+/**
+ * @param {?} source
+ * @param {?} destination
+ * @return {?}
+ */
+
+/**
+ * @param {?} input
+ * @return {?}
+ */
+
+/**
+ * @param {?} duration
+ * @param {?} delay
+ * @return {?}
+ */
+function allowPreviousPlayerStylesMerge(duration, delay) {
+    return duration === 0 || delay === 0;
+}
+/**
+ * @param {?} visitor
+ * @param {?} node
+ * @param {?} context
+ * @return {?}
+ */
+
+/**
+ * @fileoverview added by tsickle
+ * @suppress {checkTypes} checked by tsc
+ */
+/**
+ * \@experimental Animation support is experimental.
+ */
+class MockAnimationDriver {
+    /**
+     * @param {?} prop
+     * @return {?}
+     */
+    validateStyleProperty(prop) { return validateStyleProperty(prop); }
+    /**
+     * @param {?} element
+     * @param {?} selector
+     * @return {?}
+     */
+    matchesElement(element, selector) {
+        return matchesElement(element, selector);
+    }
+    /**
+     * @param {?} elm1
+     * @param {?} elm2
+     * @return {?}
+     */
+    containsElement(elm1, elm2) { return containsElement(elm1, elm2); }
+    /**
+     * @param {?} element
+     * @param {?} selector
+     * @param {?} multi
+     * @return {?}
+     */
+    query(element, selector, multi) {
+        return invokeQuery(element, selector, multi);
+    }
+    /**
+     * @param {?} element
+     * @param {?} prop
+     * @param {?=} defaultValue
+     * @return {?}
+     */
+    computeStyle(element, prop, defaultValue) {
+        return defaultValue || '';
+    }
+    /**
+     * @param {?} element
+     * @param {?} keyframes
+     * @param {?} duration
+     * @param {?} delay
+     * @param {?} easing
+     * @param {?=} previousPlayers
+     * @return {?}
+     */
+    animate(element, keyframes, duration, delay, easing, previousPlayers = []) {
+        const /** @type {?} */ player = new MockAnimationPlayer(element, keyframes, duration, delay, easing, previousPlayers);
+        MockAnimationDriver.log.push(/** @type {?} */ (player));
+        return player;
+    }
+}
+MockAnimationDriver.log = [];
+/**
+ * \@experimental Animation support is experimental.
+ */
+class MockAnimationPlayer extends NoopAnimationPlayer {
+    /**
+     * @param {?} element
+     * @param {?} keyframes
+     * @param {?} duration
+     * @param {?} delay
+     * @param {?} easing
+     * @param {?} previousPlayers
+     */
+    constructor(element, keyframes, duration, delay, easing, previousPlayers) {
+        super();
+        this.element = element;
+        this.keyframes = keyframes;
+        this.duration = duration;
+        this.delay = delay;
+        this.easing = easing;
+        this.previousPlayers = previousPlayers;
+        this.__finished = false;
+        this.__started = false;
+        this.previousStyles = {};
+        this._onInitFns = [];
+        this.currentSnapshot = {};
+        if (allowPreviousPlayerStylesMerge(duration, delay)) {
+            previousPlayers.forEach(player => {
+                if (player instanceof MockAnimationPlayer) {
+                    const /** @type {?} */ styles = player.currentSnapshot;
+                    Object.keys(styles).forEach(prop => this.previousStyles[prop] = styles[prop]);
+                }
+            });
+        }
+        this.totalTime = delay + duration;
+    }
+    /**
+     * @param {?} fn
+     * @return {?}
+     */
+    onInit(fn) { this._onInitFns.push(fn); }
+    /**
+     * @return {?}
+     */
+    init() {
+        super.init();
+        this._onInitFns.forEach(fn => fn());
+        this._onInitFns = [];
+    }
+    /**
+     * @return {?}
+     */
+    finish() {
+        super.finish();
+        this.__finished = true;
+    }
+    /**
+     * @return {?}
+     */
+    destroy() {
+        super.destroy();
+        this.__finished = true;
+    }
+    /**
+     * @return {?}
+     */
+    triggerMicrotask() { }
+    /**
+     * @return {?}
+     */
+    play() {
+        super.play();
+        this.__started = true;
+    }
+    /**
+     * @return {?}
+     */
+    hasStarted() { return this.__started; }
+    /**
+     * @return {?}
+     */
+    beforeDestroy() {
+        const /** @type {?} */ captures = {};
+        Object.keys(this.previousStyles).forEach(prop => {
+            captures[prop] = this.previousStyles[prop];
+        });
+        if (this.hasStarted()) {
+            // when assembling the captured styles, it's important that
+            // we build the keyframe styles in the following order:
+            // {other styles within keyframes, ... previousStyles }
+            this.keyframes.forEach(kf => {
+                Object.keys(kf).forEach(prop => {
+                    if (prop != 'offset') {
+                        captures[prop] = this.__finished ? kf[prop] : AUTO_STYLE;
+                    }
+                });
+            });
+        }
+        this.currentSnapshot = captures;
+    }
+}
+
+/**
+ * @fileoverview added by tsickle
+ * @suppress {checkTypes} checked by tsc
+ */
+
+/**
+ * @fileoverview added by tsickle
+ * @suppress {checkTypes} checked by tsc
+ */
+/**
+ * @license
+ * Copyright Google Inc. All Rights Reserved.
+ *
+ * Use of this source code is governed by an MIT-style license that can be
+ * found in the LICENSE file at https://angular.io/license
+ */
+/**
+ * @module
+ * @description
+ * Entry point for all public APIs of this package.
+ */
+
+/**
+ * @fileoverview added by tsickle
+ * @suppress {checkTypes} checked by tsc
+ */
+/**
+ * Generated bundle index. Do not edit.
+ */
+
+export { MockAnimationDriver, MockAnimationPlayer };
+//# sourceMappingURL=testing.js.map

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/eec354e6/node_modules/@angular/animations/esm2015/browser/testing.js.map
----------------------------------------------------------------------
diff --git a/node_modules/@angular/animations/esm2015/browser/testing.js.map b/node_modules/@angular/animations/esm2015/browser/testing.js.map
new file mode 100644
index 0000000..273187d
--- /dev/null
+++ b/node_modules/@angular/animations/esm2015/browser/testing.js.map
@@ -0,0 +1 @@
+{"version":3,"file":"testing.js","sources":["../../../../packages/animations/browser/src/render/shared.js","../../../../packages/animations/browser/src/util.js","../../../../packages/animations/browser/testing/src/mock_animation_driver.js","../../../../packages/animations/browser/testing/src/testing.js","../../../../packages/animations/browser/testing/public_api.js","../../../../packages/animations/browser/testing/testing.js"],"sourcesContent":["/**\n * @fileoverview added by tsickle\n * @suppress {checkTypes} checked by tsc\n */\nimport { AUTO_STYLE, NoopAnimationPlayer, ɵAnimationGroupPlayer, ɵPRE_STYLE as PRE_STYLE } from '@angular/animations';\n/**\n * @param {?} players\n * @return {?}\n */\nexport function optimizeGroupPlayer(players) {\n    switch (players.length) {\n        case 0:\n            return new NoopAnimationPlayer();\n        case 1:\n            return players[0];\n        default:\n            return new ɵAnimationGroupPlayer(players);\n    }\n}\n/**\n * @par
 am {?} driver\n * @param {?} normalizer\n * @param {?} element\n * @param {?} keyframes\n * @param {?=} preStyles\n * @param {?=} postStyles\n * @return {?}\n */\nexport function normalizeKeyframes(driver, normalizer, element, keyframes, preStyles = {}, postStyles = {}) {\n    const /** @type {?} */ errors = [];\n    const /** @type {?} */ normalizedKeyframes = [];\n    let /** @type {?} */ previousOffset = -1;\n    let /** @type {?} */ previousKeyframe = null;\n    keyframes.forEach(kf => {\n        const /** @type {?} */ offset = /** @type {?} */ (kf['offset']);\n        const /** @type {?} */ isSameOffset = offset == previousOffset;\n        const /** @type {?} */ normalizedKeyframe = (isSameOffset && previousKeyframe) || {};\n        Object.keys(kf).forEach(prop => {\n            let /** @type {?} */ normalizedProp = prop;\n            let /** @type {?} */ normalizedValue = kf[prop];\n            if (prop !== 'offset') {\n                normalizedProp = normalizer.normalizeProp
 ertyName(normalizedProp, errors);\n                switch (normalizedValue) {\n                    case PRE_STYLE:\n                        normalizedValue = preStyles[prop];\n                        break;\n                    case AUTO_STYLE:\n                        normalizedValue = postStyles[prop];\n                        break;\n                    default:\n                        normalizedValue =\n                            normalizer.normalizeStyleValue(prop, normalizedProp, normalizedValue, errors);\n                        break;\n                }\n            }\n            normalizedKeyframe[normalizedProp] = normalizedValue;\n        });\n        if (!isSameOffset) {\n            normalizedKeyframes.push(normalizedKeyframe);\n        }\n        previousKeyframe = normalizedKeyframe;\n        previousOffset = offset;\n    });\n    if (errors.length) {\n        const /** @type {?} */ LINE_START = '\\n - ';\n        throw new Error(`Unable to animate due to the follo
 wing errors:${LINE_START}${errors.join(LINE_START)}`);\n    }\n    return normalizedKeyframes;\n}\n/**\n * @param {?} player\n * @param {?} eventName\n * @param {?} event\n * @param {?} callback\n * @return {?}\n */\nexport function listenOnPlayer(player, eventName, event, callback) {\n    switch (eventName) {\n        case 'start':\n            player.onStart(() => callback(event && copyAnimationEvent(event, 'start', player.totalTime)));\n            break;\n        case 'done':\n            player.onDone(() => callback(event && copyAnimationEvent(event, 'done', player.totalTime)));\n            break;\n        case 'destroy':\n            player.onDestroy(() => callback(event && copyAnimationEvent(event, 'destroy', player.totalTime)));\n            break;\n    }\n}\n/**\n * @param {?} e\n * @param {?=} phaseName\n * @param {?=} totalTime\n * @return {?}\n */\nexport function copyAnimationEvent(e, phaseName, totalTime) {\n    const /** @type {?} */ event = makeAnimationEvent(e.elem
 ent, e.triggerName, e.fromState, e.toState, phaseName || e.phaseName, totalTime == undefined ? e.totalTime : totalTime);\n    const /** @type {?} */ data = (/** @type {?} */ (e))['_data'];\n    if (data != null) {\n        (/** @type {?} */ (event))['_data'] = data;\n    }\n    return event;\n}\n/**\n * @param {?} element\n * @param {?} triggerName\n * @param {?} fromState\n * @param {?} toState\n * @param {?=} phaseName\n * @param {?=} totalTime\n * @return {?}\n */\nexport function makeAnimationEvent(element, triggerName, fromState, toState, phaseName = '', totalTime = 0) {\n    return { element, triggerName, fromState, toState, phaseName, totalTime };\n}\n/**\n * @param {?} map\n * @param {?} key\n * @param {?} defaultValue\n * @return {?}\n */\nexport function getOrSetAsInMap(map, key, defaultValue) {\n    let /** @type {?} */ value;\n    if (map instanceof Map) {\n        value = map.get(key);\n        if (!value) {\n            map.set(key, value = defaultValue);\n        }\n 
    }\n    else {\n        value = map[key];\n        if (!value) {\n            value = map[key] = defaultValue;\n        }\n    }\n    return value;\n}\n/**\n * @param {?} command\n * @return {?}\n */\nexport function parseTimelineCommand(command) {\n    const /** @type {?} */ separatorPos = command.indexOf(':');\n    const /** @type {?} */ id = command.substring(1, separatorPos);\n    const /** @type {?} */ action = command.substr(separatorPos + 1);\n    return [id, action];\n}\nlet /** @type {?} */ _contains = (elm1, elm2) => false;\nconst ɵ0 = _contains;\nlet /** @type {?} */ _matches = (element, selector) => false;\nconst ɵ1 = _matches;\nlet /** @type {?} */ _query = (element, selector, multi) => {\n    return [];\n};\nconst ɵ2 = _query;\nif (typeof Element != 'undefined') {\n    // this is well supported in all browsers\n    _contains = (elm1, elm2) => { return /** @type {?} */ (elm1.contains(elm2)); };\n    if (Element.prototype.matches) {\n        _matches = (element, sel
 ector) => element.matches(selector);\n    }\n    else {\n        const /** @type {?} */ proto = /** @type {?} */ (Element.prototype);\n        const /** @type {?} */ fn = proto.matchesSelector || proto.mozMatchesSelector || proto.msMatchesSelector ||\n            proto.oMatchesSelector || proto.webkitMatchesSelector;\n        if (fn) {\n            _matches = (element, selector) => fn.apply(element, [selector]);\n        }\n    }\n    _query = (element, selector, multi) => {\n        let /** @type {?} */ results = [];\n        if (multi) {\n            results.push(...element.querySelectorAll(selector));\n        }\n        else {\n            const /** @type {?} */ elm = element.querySelector(selector);\n            if (elm) {\n                results.push(elm);\n            }\n        }\n        return results;\n    };\n}\n/**\n * @param {?} prop\n * @return {?}\n */\nfunction containsVendorPrefix(prop) {\n    // Webkit is the only real popular vendor prefix nowadays\n    // cc: h
 ttp://shouldiprefix.com/\n    return prop.substring(1, 6) == 'ebkit'; // webkit or Webkit\n}\nlet /** @type {?} */ _CACHED_BODY = null;\nlet /** @type {?} */ _IS_WEBKIT = false;\n/**\n * @param {?} prop\n * @return {?}\n */\nexport function validateStyleProperty(prop) {\n    if (!_CACHED_BODY) {\n        _CACHED_BODY = getBodyNode() || {};\n        _IS_WEBKIT = /** @type {?} */ ((_CACHED_BODY)).style ? ('WebkitAppearance' in /** @type {?} */ ((_CACHED_BODY)).style) : false;\n    }\n    let /** @type {?} */ result = true;\n    if (/** @type {?} */ ((_CACHED_BODY)).style && !containsVendorPrefix(prop)) {\n        result = prop in /** @type {?} */ ((_CACHED_BODY)).style;\n        if (!result && _IS_WEBKIT) {\n            const /** @type {?} */ camelProp = 'Webkit' + prop.charAt(0).toUpperCase() + prop.substr(1);\n            result = camelProp in /** @type {?} */ ((_CACHED_BODY)).style;\n        }\n    }\n    return result;\n}\n/**\n * @return {?}\n */\nexport function getBodyNode() {\
 n    if (typeof document != 'undefined') {\n        return document.body;\n    }\n    return null;\n}\nexport const /** @type {?} */ matchesElement = _matches;\nexport const /** @type {?} */ containsElement = _contains;\nexport const /** @type {?} */ invokeQuery = _query;\nexport { ɵ0, ɵ1, ɵ2 };\n//# sourceMappingURL=shared.js.map","/**\n * @fileoverview added by tsickle\n * @suppress {checkTypes} checked by tsc\n */\nimport { sequence } from '@angular/animations';\nexport const /** @type {?} */ ONE_SECOND = 1000;\nexport const /** @type {?} */ SUBSTITUTION_EXPR_START = '{{';\nexport const /** @type {?} */ SUBSTITUTION_EXPR_END = '}}';\nexport const /** @type {?} */ ENTER_CLASSNAME = 'ng-enter';\nexport const /** @type {?} */ LEAVE_CLASSNAME = 'ng-leave';\nexport const /** @type {?} */ ENTER_SELECTOR = '.ng-enter';\nexport const /** @type {?} */ LEAVE_SELECTOR = '.ng-leave';\nexport const /** @type {?} */ NG_TRIGGER_CLASSNAME = 'ng-trigger';\nexport const /** @type {?} */ NG_TRIG
 GER_SELECTOR = '.ng-trigger';\nexport const /** @type {?} */ NG_ANIMATING_CLASSNAME = 'ng-animating';\nexport const /** @type {?} */ NG_ANIMATING_SELECTOR = '.ng-animating';\n/**\n * @param {?} value\n * @return {?}\n */\nexport function resolveTimingValue(value) {\n    if (typeof value == 'number')\n        return value;\n    const /** @type {?} */ matches = (/** @type {?} */ (value)).match(/^(-?[\\.\\d]+)(m?s)/);\n    if (!matches || matches.length < 2)\n        return 0;\n    return _convertTimeValueToMS(parseFloat(matches[1]), matches[2]);\n}\n/**\n * @param {?} value\n * @param {?} unit\n * @return {?}\n */\nfunction _convertTimeValueToMS(value, unit) {\n    switch (unit) {\n        case 's':\n            return value * ONE_SECOND;\n        default:\n            // ms or something else\n            return value;\n    }\n}\n/**\n * @param {?} timings\n * @param {?} errors\n * @param {?=} allowNegativeValues\n * @return {?}\n */\nexport function resolveTiming(timings, errors, all
 owNegativeValues) {\n    return timings.hasOwnProperty('duration') ? /** @type {?} */ (timings) :\n        parseTimeExpression(/** @type {?} */ (timings), errors, allowNegativeValues);\n}\n/**\n * @param {?} exp\n * @param {?} errors\n * @param {?=} allowNegativeValues\n * @return {?}\n */\nfunction parseTimeExpression(exp, errors, allowNegativeValues) {\n    const /** @type {?} */ regex = /^(-?[\\.\\d]+)(m?s)(?:\\s+(-?[\\.\\d]+)(m?s))?(?:\\s+([-a-z]+(?:\\(.+?\\))?))?$/i;\n    let /** @type {?} */ duration;\n    let /** @type {?} */ delay = 0;\n    let /** @type {?} */ easing = '';\n    if (typeof exp === 'string') {\n        const /** @type {?} */ matches = exp.match(regex);\n        if (matches === null) {\n            errors.push(`The provided timing value \"${exp}\" is invalid.`);\n            return { duration: 0, delay: 0, easing: '' };\n        }\n        duration = _convertTimeValueToMS(parseFloat(matches[1]), matches[2]);\n        const /** @type {?} */ delayMatch = matches
 [3];\n        if (delayMatch != null) {\n            delay = _convertTimeValueToMS(Math.floor(parseFloat(delayMatch)), matches[4]);\n        }\n        const /** @type {?} */ easingVal = matches[5];\n        if (easingVal) {\n            easing = easingVal;\n        }\n    }\n    else {\n        duration = /** @type {?} */ (exp);\n    }\n    if (!allowNegativeValues) {\n        let /** @type {?} */ containsErrors = false;\n        let /** @type {?} */ startIndex = errors.length;\n        if (duration < 0) {\n            errors.push(`Duration values below 0 are not allowed for this animation step.`);\n            containsErrors = true;\n        }\n        if (delay < 0) {\n            errors.push(`Delay values below 0 are not allowed for this animation step.`);\n            containsErrors = true;\n        }\n        if (containsErrors) {\n            errors.splice(startIndex, 0, `The provided timing value \"${exp}\" is invalid.`);\n        }\n    }\n    return { duration, delay, easi
 ng };\n}\n/**\n * @param {?} obj\n * @param {?=} destination\n * @return {?}\n */\nexport function copyObj(obj, destination = {}) {\n    Object.keys(obj).forEach(prop => { destination[prop] = obj[prop]; });\n    return destination;\n}\n/**\n * @param {?} styles\n * @return {?}\n */\nexport function normalizeStyles(styles) {\n    const /** @type {?} */ normalizedStyles = {};\n    if (Array.isArray(styles)) {\n        styles.forEach(data => copyStyles(data, false, normalizedStyles));\n    }\n    else {\n        copyStyles(styles, false, normalizedStyles);\n    }\n    return normalizedStyles;\n}\n/**\n * @param {?} styles\n * @param {?} readPrototype\n * @param {?=} destination\n * @return {?}\n */\nexport function copyStyles(styles, readPrototype, destination = {}) {\n    if (readPrototype) {\n        // we make use of a for-in loop so that the\n        // prototypically inherited properties are\n        // revealed from the backFill map\n        for (let /** @type {?} */ prop in styl
 es) {\n            destination[prop] = styles[prop];\n        }\n    }\n    else {\n        copyObj(styles, destination);\n    }\n    return destination;\n}\n/**\n * @param {?} element\n * @param {?} styles\n * @return {?}\n */\nexport function setStyles(element, styles) {\n    if (element['style']) {\n        Object.keys(styles).forEach(prop => {\n            const /** @type {?} */ camelProp = dashCaseToCamelCase(prop);\n            element.style[camelProp] = styles[prop];\n        });\n    }\n}\n/**\n * @param {?} element\n * @param {?} styles\n * @return {?}\n */\nexport function eraseStyles(element, styles) {\n    if (element['style']) {\n        Object.keys(styles).forEach(prop => {\n            const /** @type {?} */ camelProp = dashCaseToCamelCase(prop);\n            element.style[camelProp] = '';\n        });\n    }\n}\n/**\n * @param {?} steps\n * @return {?}\n */\nexport function normalizeAnimationEntry(steps) {\n    if (Array.isArray(steps)) {\n        if (steps.length ==
  1)\n            return steps[0];\n        return sequence(steps);\n    }\n    return /** @type {?} */ (steps);\n}\n/**\n * @param {?} value\n * @param {?} options\n * @param {?} errors\n * @return {?}\n */\nexport function validateStyleParams(value, options, errors) {\n    const /** @type {?} */ params = options.params || {};\n    const /** @type {?} */ matches = extractStyleParams(value);\n    if (matches.length) {\n        matches.forEach(varName => {\n            if (!params.hasOwnProperty(varName)) {\n                errors.push(`Unable to resolve the local animation param ${varName} in the given list of values`);\n            }\n        });\n    }\n}\nconst /** @type {?} */ PARAM_REGEX = new RegExp(`${SUBSTITUTION_EXPR_START}\\\\s*(.+?)\\\\s*${SUBSTITUTION_EXPR_END}`, 'g');\n/**\n * @param {?} value\n * @return {?}\n */\nexport function extractStyleParams(value) {\n    let /** @type {?} */ params = [];\n    if (typeof value === 'string') {\n        const /** @type {?} */ val =
  value.toString();\n        let /** @type {?} */ match;\n        while (match = PARAM_REGEX.exec(val)) {\n            params.push(/** @type {?} */ (match[1]));\n        }\n        PARAM_REGEX.lastIndex = 0;\n    }\n    return params;\n}\n/**\n * @param {?} value\n * @param {?} params\n * @param {?} errors\n * @return {?}\n */\nexport function interpolateParams(value, params, errors) {\n    const /** @type {?} */ original = value.toString();\n    const /** @type {?} */ str = original.replace(PARAM_REGEX, (_, varName) => {\n        let /** @type {?} */ localVal = params[varName];\n        // this means that the value was never overidden by the data passed in by the user\n        if (!params.hasOwnProperty(varName)) {\n            errors.push(`Please provide a value for the animation param ${varName}`);\n            localVal = '';\n        }\n        return localVal.toString();\n    });\n    // we do this to assert that numeric values stay as they are\n    return str == original ? valu
 e : str;\n}\n/**\n * @param {?} iterator\n * @return {?}\n */\nexport function iteratorToArray(iterator) {\n    const /** @type {?} */ arr = [];\n    let /** @type {?} */ item = iterator.next();\n    while (!item.done) {\n        arr.push(item.value);\n        item = iterator.next();\n    }\n    return arr;\n}\n/**\n * @param {?} source\n * @param {?} destination\n * @return {?}\n */\nexport function mergeAnimationOptions(source, destination) {\n    if (source.params) {\n        const /** @type {?} */ p0 = source.params;\n        if (!destination.params) {\n            destination.params = {};\n        }\n        const /** @type {?} */ p1 = destination.params;\n        Object.keys(p0).forEach(param => {\n            if (!p1.hasOwnProperty(param)) {\n                p1[param] = p0[param];\n            }\n        });\n    }\n    return destination;\n}\nconst /** @type {?} */ DASH_CASE_REGEXP = /-+([a-z0-9])/g;\n/**\n * @param {?} input\n * @return {?}\n */\nexport function dashCaseToC
 amelCase(input) {\n    return input.replace(DASH_CASE_REGEXP, (...m) => m[1].toUpperCase());\n}\n/**\n * @param {?} duration\n * @param {?} delay\n * @return {?}\n */\nexport function allowPreviousPlayerStylesMerge(duration, delay) {\n    return duration === 0 || delay === 0;\n}\n/**\n * @param {?} visitor\n * @param {?} node\n * @param {?} context\n * @return {?}\n */\nexport function visitDslNode(visitor, node, context) {\n    switch (node.type) {\n        case 7 /* Trigger */:\n            return visitor.visitTrigger(node, context);\n        case 0 /* State */:\n            return visitor.visitState(node, context);\n        case 1 /* Transition */:\n            return visitor.visitTransition(node, context);\n        case 2 /* Sequence */:\n            return visitor.visitSequence(node, context);\n        case 3 /* Group */:\n            return visitor.visitGroup(node, context);\n        case 4 /* Animate */:\n            return visitor.visitAnimate(node, context);\n        case 5
  /* Keyframes */:\n            return visitor.visitKeyframes(node, context);\n        case 6 /* Style */:\n            return visitor.visitStyle(node, context);\n        case 8 /* Reference */:\n            return visitor.visitReference(node, context);\n        case 9 /* AnimateChild */:\n            return visitor.visitAnimateChild(node, context);\n        case 10 /* AnimateRef */:\n            return visitor.visitAnimateRef(node, context);\n        case 11 /* Query */:\n            return visitor.visitQuery(node, context);\n        case 12 /* Stagger */:\n            return visitor.visitStagger(node, context);\n        default:\n            throw new Error(`Unable to resolve animation metadata node #${node.type}`);\n    }\n}\n//# sourceMappingURL=util.js.map","/**\n * @fileoverview added by tsickle\n * @suppress {checkTypes} checked by tsc\n */\nimport { AUTO_STYLE, NoopAnimationPlayer } from '@angular/animations';\nimport { containsElement, invokeQuery, matchesElement, validateSt
 yleProperty } from '../../src/render/shared';\nimport { allowPreviousPlayerStylesMerge } from '../../src/util';\n/**\n * \\@experimental Animation support is experimental.\n */\nexport class MockAnimationDriver {\n    /**\n     * @param {?} prop\n     * @return {?}\n     */\n    validateStyleProperty(prop) { return validateStyleProperty(prop); }\n    /**\n     * @param {?} element\n     * @param {?} selector\n     * @return {?}\n     */\n    matchesElement(element, selector) {\n        return matchesElement(element, selector);\n    }\n    /**\n     * @param {?} elm1\n     * @param {?} elm2\n     * @return {?}\n     */\n    containsElement(elm1, elm2) { return containsElement(elm1, elm2); }\n    /**\n     * @param {?} element\n     * @param {?} selector\n     * @param {?} multi\n     * @return {?}\n     */\n    query(element, selector, multi) {\n        return invokeQuery(element, selector, multi);\n    }\n    /**\n     * @param {?} element\n     * @param {?} prop\n     * @param {?=}
  defaultValue\n     * @return {?}\n     */\n    computeStyle(element, prop, defaultValue) {\n        return defaultValue || '';\n    }\n    /**\n     * @param {?} element\n     * @param {?} keyframes\n     * @param {?} duration\n     * @param {?} delay\n     * @param {?} easing\n     * @param {?=} previousPlayers\n     * @return {?}\n     */\n    animate(element, keyframes, duration, delay, easing, previousPlayers = []) {\n        const /** @type {?} */ player = new MockAnimationPlayer(element, keyframes, duration, delay, easing, previousPlayers);\n        MockAnimationDriver.log.push(/** @type {?} */ (player));\n        return player;\n    }\n}\nMockAnimationDriver.log = [];\nfunction MockAnimationDriver_tsickle_Closure_declarations() {\n    /** @type {?} */\n    MockAnimationDriver.log;\n}\n/**\n * \\@experimental Animation support is experimental.\n */\nexport class MockAnimationPlayer extends NoopAnimationPlayer {\n    /**\n     * @param {?} element\n     * @param {?} keyframes\
 n     * @param {?} duration\n     * @param {?} delay\n     * @param {?} easing\n     * @param {?} previousPlayers\n     */\n    constructor(element, keyframes, duration, delay, easing, previousPlayers) {\n        super();\n        this.element = element;\n        this.keyframes = keyframes;\n        this.duration = duration;\n        this.delay = delay;\n        this.easing = easing;\n        this.previousPlayers = previousPlayers;\n        this.__finished = false;\n        this.__started = false;\n        this.previousStyles = {};\n        this._onInitFns = [];\n        this.currentSnapshot = {};\n        if (allowPreviousPlayerStylesMerge(duration, delay)) {\n            previousPlayers.forEach(player => {\n                if (player instanceof MockAnimationPlayer) {\n                    const /** @type {?} */ styles = player.currentSnapshot;\n                    Object.keys(styles).forEach(prop => this.previousStyles[prop] = styles[prop]);\n                }\n            });\n   
      }\n        this.totalTime = delay + duration;\n    }\n    /**\n     * @param {?} fn\n     * @return {?}\n     */\n    onInit(fn) { this._onInitFns.push(fn); }\n    /**\n     * @return {?}\n     */\n    init() {\n        super.init();\n        this._onInitFns.forEach(fn => fn());\n        this._onInitFns = [];\n    }\n    /**\n     * @return {?}\n     */\n    finish() {\n        super.finish();\n        this.__finished = true;\n    }\n    /**\n     * @return {?}\n     */\n    destroy() {\n        super.destroy();\n        this.__finished = true;\n    }\n    /**\n     * @return {?}\n     */\n    triggerMicrotask() { }\n    /**\n     * @return {?}\n     */\n    play() {\n        super.play();\n        this.__started = true;\n    }\n    /**\n     * @return {?}\n     */\n    hasStarted() { return this.__started; }\n    /**\n     * @return {?}\n     */\n    beforeDestroy() {\n        const /** @type {?} */ captures = {};\n        Object.keys(this.previousStyles).forEach(prop => {\n  
           captures[prop] = this.previousStyles[prop];\n        });\n        if (this.hasStarted()) {\n            // when assembling the captured styles, it's important that\n            // we build the keyframe styles in the following order:\n            // {other styles within keyframes, ... previousStyles }\n            this.keyframes.forEach(kf => {\n                Object.keys(kf).forEach(prop => {\n                    if (prop != 'offset') {\n                        captures[prop] = this.__finished ? kf[prop] : AUTO_STYLE;\n                    }\n                });\n            });\n        }\n        this.currentSnapshot = captures;\n    }\n}\nfunction MockAnimationPlayer_tsickle_Closure_declarations() {\n    /** @type {?} */\n    MockAnimationPlayer.prototype.__finished;\n    /** @type {?} */\n    MockAnimationPlayer.prototype.__started;\n    /** @type {?} */\n    MockAnimationPlayer.prototype.previousStyles;\n    /** @type {?} */\n    MockAnimationPlayer.prototype._onInitF
 ns;\n    /** @type {?} */\n    MockAnimationPlayer.prototype.currentSnapshot;\n    /** @type {?} */\n    MockAnimationPlayer.prototype.element;\n    /** @type {?} */\n    MockAnimationPlayer.prototype.keyframes;\n    /** @type {?} */\n    MockAnimationPlayer.prototype.duration;\n    /** @type {?} */\n    MockAnimationPlayer.prototype.delay;\n    /** @type {?} */\n    MockAnimationPlayer.prototype.easing;\n    /** @type {?} */\n    MockAnimationPlayer.prototype.previousPlayers;\n}\n//# sourceMappingURL=mock_animation_driver.js.map","/**\n * @fileoverview added by tsickle\n * @suppress {checkTypes} checked by tsc\n */\nexport { MockAnimationDriver, MockAnimationPlayer } from './mock_animation_driver';\n//# sourceMappingURL=testing.js.map","/**\n * @fileoverview added by tsickle\n * @suppress {checkTypes} checked by tsc\n */\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the L
 ICENSE file at https://angular.io/license\n */\n/**\n * @module\n * @description\n * Entry point for all public APIs of this package.\n */\nexport { MockAnimationDriver, MockAnimationPlayer } from './src/testing';\n//# sourceMappingURL=public_api.js.map","/**\n * @fileoverview added by tsickle\n * @suppress {checkTypes} checked by tsc\n */\n/**\n * Generated bundle index. Do not edit.\n */\nexport { MockAnimationDriver, MockAnimationPlayer } from './public_api';\n//# sourceMappingURL=testing.js.map"],"names":[],"mappings":";;;;;;;AAAA;;;;AAIA,AACA;;;;AAIA,AASC;;;;;;;;;;AAUD,AAwCC;;;;;;;;AAQD,AAYC;;;;;;;AAOD,AAOC;;;;;;;;;;AAUD,AAEC;;;;;;;AAOD,AAeC;;;;;AAKD,AAKC;AACD,IAAqB,SAAS,GAAG,CAAC,IAAI,EAAE,IAAI,KAAK,KAAK,CAAC;AACvD,AACA,IAAqB,QAAQ,GAAG,CAAC,OAAO,EAAE,QAAQ,KAAK,KAAK,CAAC;AAC7D,AACA,IAAqB,MAAM,GAAG,CAAC,OAAO,EAAE,QAAQ,EAAE,KAAK,KAAK;IACxD,OAAO,EAAE,CAAC;CACb,CAAC;AACF,AACA,IAAI,OAAO,OAAO,IAAI,WAAW,EAAE;;IAE/B,SAAS,GAAG,CAAC,IAAI,EAAE,IAAI,KAAK,EAAE,yBAAyB,IAAI,CAAC,QAAQ,CAAC,IAA
 I,CAAC,EAAE,EAAE,CAAC;IAC/E,IAAI,OAAO,CAAC,SAAS,CAAC,OAAO,EAAE;QAC3B,QAAQ,GAAG,CAAC,OAAO,EAAE,QAAQ,KAAK,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;KAC/D;SACI;QACD,uBAAuB,KAAK,qBAAqB,OAAO,CAAC,SAAS,CAAC,CAAC;QACpE,uBAAuB,EAAE,GAAG,KAAK,CAAC,eAAe,IAAI,KAAK,CAAC,kBAAkB,IAAI,KAAK,CAAC,iBAAiB;YACpG,KAAK,CAAC,gBAAgB,IAAI,KAAK,CAAC,qBAAqB,CAAC;QAC1D,IAAI,EAAE,EAAE;YACJ,QAAQ,GAAG,CAAC,OAAO,EAAE,QAAQ,KAAK,EAAE,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;SACnE;KACJ;IACD,MAAM,GAAG,CAAC,OAAO,EAAE,QAAQ,EAAE,KAAK,KAAK;QACnC,qBAAqB,OAAO,GAAG,EAAE,CAAC;QAClC,IAAI,KAAK,EAAE;YACP,OAAO,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC,CAAC;SACvD;aACI;YACD,uBAAuB,GAAG,GAAG,OAAO,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;YAC7D,IAAI,GAAG,EAAE;gBACL,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;aACrB;SACJ;QACD,OAAO,OAAO,CAAC;KAClB,CAAC;CACL;;;;;AAKD,SAAS,oBAAoB,CAAC,IAAI,EAAE;;;IAGhC,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,OAAO,CAAC;CAC1C;AACD,IAAqB,YAAY,GAAG,IAAI,CAAC;AACzC,IAAqB,UAAU,GAAG,KAAK,CAAC;;;;;AAKxC,AAA
 O,SAAS,qBAAqB,CAAC,IAAI,EAAE;IACxC,IAAI,CAAC,YAAY,EAAE;QACf,YAAY,GAAG,WAAW,EAAE,IAAI,EAAE,CAAC;QACnC,UAAU,oBAAoB,EAAE,YAAY,GAAG,KAAK,IAAI,kBAAkB,qBAAqB,EAAE,YAAY,GAAG,KAAK,IAAI,KAAK,CAAC;KAClI;IACD,qBAAqB,MAAM,GAAG,IAAI,CAAC;IACnC,qBAAqB,EAAE,YAAY,GAAG,KAAK,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,EAAE;QACxE,MAAM,GAAG,IAAI,qBAAqB,EAAE,YAAY,GAAG,KAAK,CAAC;QACzD,IAAI,CAAC,MAAM,IAAI,UAAU,EAAE;YACvB,uBAAuB,SAAS,GAAG,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;YAC5F,MAAM,GAAG,SAAS,qBAAqB,EAAE,YAAY,GAAG,KAAK,CAAC;SACjE;KACJ;IACD,OAAO,MAAM,CAAC;CACjB;;;;AAID,AAAO,SAAS,WAAW,GAAG;IAC1B,IAAI,OAAO,QAAQ,IAAI,WAAW,EAAE;QAChC,OAAO,QAAQ,CAAC,IAAI,CAAC;KACxB;IACD,OAAO,IAAI,CAAC;CACf;AACD,AAAO,MAAuB,cAAc,GAAG,QAAQ,CAAC;AACxD,AAAO,MAAuB,eAAe,GAAG,SAAS,CAAC;AAC1D,AAAO,MAAuB,WAAW,GAAG,MAAM;;AChOlD;;;;AAIA,AACgD;AAChD,AAA6D;AAC7D,AAA2D;AAC3D,AAA2D;AAC3D,AAA2D;AAC3D,AAA2D;AAC3D,AAA2D;AAC3D,AAAkE;AAClE,AAAkE;AAClE,AAAsE;AACtE,AAAsE;;;;;AAKtE,AAOC;AACD,AAcA;;;;;;AA
 MA,AAGC;AACD,AA+CA;;;;;AAKA,AAGC;;;;;AAKD,AASC;;;;;;;AAOD,AAaC;;;;;;AAMD,AAOC;;;;;;AAMD,AAOC;;;;;AAKD,AAOC;;;;;;;AAOD,AAUC;AACD,AACA;;;;AAIA,AAWC;;;;;;;AAOD,AAaC;;;;;AAKD,AAQC;;;;;;AAMD,AAcC;AACD,AACA;;;;AAIA,AAEC;;;;;;AAMD,AAAO,SAAS,8BAA8B,CAAC,QAAQ,EAAE,KAAK,EAAE;IAC5D,OAAO,QAAQ,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,CAAC;CACxC;;;;;;GAME;;AChSH;;;;AAIA,AAGA;;;AAGA,AAAO,MAAM,mBAAmB,CAAC;;;;;IAK7B,qBAAqB,CAAC,IAAI,EAAE,EAAE,OAAO,qBAAqB,CAAC,IAAI,CAAC,CAAC,EAAE;;;;;;IAMnE,cAAc,CAAC,OAAO,EAAE,QAAQ,EAAE;QAC9B,OAAO,cAAc,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;KAC5C;;;;;;IAMD,eAAe,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,OAAO,eAAe,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,EAAE;;;;;;;IAOnE,KAAK,CAAC,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE;QAC5B,OAAO,WAAW,CAAC,OAAO,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;KAChD;;;;;;;IAOD,YAAY,CAAC,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE;QACtC,OAAO,YAAY,IAAI,EAAE,CAAC;KAC7B;;;;;;;;;;IAUD,OAAO,CAAC,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,eAAe,GAAG,EAAE,EAAE;QACvE,uBAAuB,MAAM,GAAG,IAAI,mBAAmB,CAAC,OAAO,EAAE,SAAS,EAAE,QA
 AQ,EAAE,KAAK,EAAE,MAAM,EAAE,eAAe,CAAC,CAAC;QACtH,mBAAmB,CAAC,GAAG,CAAC,IAAI,mBAAmB,MAAM,EAAE,CAAC;QACxD,OAAO,MAAM,CAAC;KACjB;CACJ;AACD,mBAAmB,CAAC,GAAG,GAAG,EAAE,CAAC;AAC7B,AAIA;;;AAGA,AAAO,MAAM,mBAAmB,SAAS,mBAAmB,CAAC;;;;;;;;;IASzD,WAAW,CAAC,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,eAAe,EAAE;QACtE,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,eAAe,GAAG,eAAe,CAAC;QACvC,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;QACxB,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;QACvB,IAAI,CAAC,cAAc,GAAG,EAAE,CAAC;QACzB,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;QACrB,IAAI,CAAC,eAAe,GAAG,EAAE,CAAC;QAC1B,IAAI,8BAA8B,CAAC,QAAQ,EAAE,KAAK,CAAC,EAAE;YACjD,eAAe,CAAC,OAAO,CAAC,MAAM,IAAI;gBAC9B,IAAI,MAAM,YAAY,mBAAmB,EAAE;oBACvC,uBAAuB,MAAM,GAAG,MAAM,CAAC,eAAe,CAAC;oBACvD,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,IAAI,IAAI,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC
 ,CAAC,CAAC;iBACjF;aACJ,CAAC,CAAC;SACN;QACD,IAAI,CAAC,SAAS,GAAG,KAAK,GAAG,QAAQ,CAAC;KACrC;;;;;IAKD,MAAM,CAAC,EAAE,EAAE,EAAE,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,EAAE;;;;IAIxC,IAAI,GAAG;QACH,KAAK,CAAC,IAAI,EAAE,CAAC;QACb,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;QACpC,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;KACxB;;;;IAID,MAAM,GAAG;QACL,KAAK,CAAC,MAAM,EAAE,CAAC;QACf,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;KAC1B;;;;IAID,OAAO,GAAG;QACN,KAAK,CAAC,OAAO,EAAE,CAAC;QAChB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;KAC1B;;;;IAID,gBAAgB,GAAG,GAAG;;;;IAItB,IAAI,GAAG;QACH,KAAK,CAAC,IAAI,EAAE,CAAC;QACb,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;KACzB;;;;IAID,UAAU,GAAG,EAAE,OAAO,IAAI,CAAC,SAAS,CAAC,EAAE;;;;IAIvC,aAAa,GAAG;QACZ,uBAAuB,QAAQ,GAAG,EAAE,CAAC;QACrC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,OAAO,CAAC,IAAI,IAAI;YAC7C,QAAQ,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;SAC9C,CAAC,CAAC;QACH,IAAI,IAAI,CAAC,UAAU,EAAE,EAAE;;;;YAInB,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,IAAI;gBACzB,MAAM,CAAC,IAAI,CAAC,EAAE,C
 AAC,CAAC,OAAO,CAAC,IAAI,IAAI;oBAC5B,IAAI,IAAI,IAAI,QAAQ,EAAE;wBAClB,QAAQ,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC;qBAC5D;iBACJ,CAAC,CAAC;aACN,CAAC,CAAC;SACN;QACD,IAAI,CAAC,eAAe,GAAG,QAAQ,CAAC;KACnC;CACJ;;ACvKD;;;GAGG;;ACHH;;;;;;;;;;;;;;;GAeG;;ACfH;;;;;;GAMG;;;;"}
\ No newline at end of file


[26/59] [abbrv] [partial] nifi-fds git commit: update gh-pages

Posted by sc...@apache.org.
http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/eec354e6/node_modules/@angular/cdk/a11y/typings/index.metadata.json
----------------------------------------------------------------------
diff --git a/node_modules/@angular/cdk/a11y/typings/index.metadata.json b/node_modules/@angular/cdk/a11y/typings/index.metadata.json
new file mode 100644
index 0000000..dcfd118
--- /dev/null
+++ b/node_modules/@angular/cdk/a11y/typings/index.metadata.json
@@ -0,0 +1 @@
+{"__symbolic":"module","version":4,"metadata":{"FocusTrapDirective":{"__symbolic":"reference","name":"CdkTrapFocus"},"RegisteredMessage":{"__symbolic":"interface"},"MESSAGES_CONTAINER_ID":"cdk-describedby-message-container","CDK_DESCRIBEDBY_ID_PREFIX":"cdk-describedby-message","CDK_DESCRIBEDBY_HOST_ATTRIBUTE":"cdk-describedby-host","AriaDescriber":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":48,"character":1}}],"members":{"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":52,"character":15},"arguments":[{"__symbolic":"reference","module":"@angular/common","name":"DOCUMENT","line":52,"character":22}]}]],"parameters":[{"__symbolic":"reference","name":"any"}]}],"describe":[{"__symbolic":"method"}],"removeDescription":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symb
 olic":"method"}],"_createMessageElement":[{"__symbolic":"method"}],"_deleteMessageElement":[{"__symbolic":"method"}],"_createMessagesContainer":[{"__symbolic":"method"}],"_deleteMessagesContainer":[{"__symbolic":"method"}],"_removeCdkDescribedByReferenceIds":[{"__symbolic":"method"}],"_addMessageReference":[{"__symbolic":"method"}],"_removeMessageReference":[{"__symbolic":"method"}],"_isElementDescribedByMessage":[{"__symbolic":"method"}]}},"ARIA_DESCRIBER_PROVIDER_FACTORY":{"__symbolic":"function","parameters":["parentDispatcher","_document"],"value":{"__symbolic":"binop","operator":"||","left":{"__symbolic":"reference","name":"parentDispatcher"},"right":{"__symbolic":"new","expression":{"__symbolic":"reference","name":"AriaDescriber"},"arguments":[{"__symbolic":"reference","name":"_document"}]}}},"ARIA_DESCRIBER_PROVIDER":{"provide":{"__symbolic":"reference","name":"AriaDescriber"},"deps":[[{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":
 "Optional","line":210,"character":9}},{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"SkipSelf","line":210,"character":25}},{"__symbolic":"reference","name":"AriaDescriber"}],{"__symbolic":"reference","module":"@angular/common","name":"DOCUMENT","line":211,"character":4}],"useFactory":{"__symbolic":"reference","name":"ARIA_DESCRIBER_PROVIDER_FACTORY"}},"Highlightable":{"__symbolic":"interface"},"ActiveDescendantKeyManager":{"__symbolic":"class","arity":1,"extends":{"__symbolic":"reference","name":"ListKeyManager"},"members":{"setActiveItem":[{"__symbolic":"method"}]}},"FocusableOption":{"__symbolic":"interface"},"FocusKeyManager":{"__symbolic":"class","arity":1,"extends":{"__symbolic":"reference","name":"ListKeyManager"},"members":{"setFocusOrigin":[{"__symbolic":"method"}],"setActiveItem":[{"__symbolic":"method"}]}},"ListKeyManagerOption":{"__symbolic":"interface"},"ListKeyManager":{"__symbolic":"class","arity":1,"members":{"__ctor__":[{"
 __symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"QueryList","module":"@angular/core","arguments":[{"__symbolic":"error","message":"Could not resolve type","line":52,"character":40,"context":{"typeName":"T"},"module":"./key-manager/list-key-manager"}]}]}],"withWrap":[{"__symbolic":"method"}],"withVerticalOrientation":[{"__symbolic":"method"}],"withHorizontalOrientation":[{"__symbolic":"method"}],"withTypeAhead":[{"__symbolic":"method"}],"setActiveItem":[{"__symbolic":"method"}],"onKeydown":[{"__symbolic":"method"}],"setFirstItemActive":[{"__symbolic":"method"}],"setLastItemActive":[{"__symbolic":"method"}],"setNextItemActive":[{"__symbolic":"method"}],"setPreviousItemActive":[{"__symbolic":"method"}],"updateActiveItemIndex":[{"__symbolic":"method"}],"_setActiveItemByDelta":[{"__symbolic":"method"}],"_setActiveInWrapMode":[{"__symbolic":"method"}],"_setActiveInDefaultMode":[{"__symbolic":"method"}],"_setActiveItemByIndex":[{"__symbolic":"method"}]}},"FocusTrap
 ":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"error","message":"Could not resolve type","line":47,"character":22,"context":{"typeName":"HTMLElement"},"module":"./focus-trap/focus-trap"},{"__symbolic":"reference","name":"InteractivityChecker"},{"__symbolic":"reference","module":"@angular/core","name":"NgZone","line":49,"character":21},{"__symbolic":"error","message":"Could not resolve type","line":50,"character":23,"context":{"typeName":"Document"},"module":"./focus-trap/focus-trap"},null]}],"destroy":[{"__symbolic":"method"}],"attachAnchors":[{"__symbolic":"method"}],"focusInitialElementWhenReady":[{"__symbolic":"method"}],"focusFirstTabbableElementWhenReady":[{"__symbolic":"method"}],"focusLastTabbableElementWhenReady":[{"__symbolic":"method"}],"_getRegionBoundary":[{"__symbolic":"method"}],"focusInitialElement":[{"__symbolic":"method"}],"focusFirstTabbableElement":[{"__symbolic":"method"}],"focusLastTabbableElement":[{"__sy
 mbolic":"method"}],"_getFirstTabbableElement":[{"__symbolic":"method"}],"_getLastTabbableElement":[{"__symbolic":"method"}],"_createAnchor":[{"__symbolic":"method"}],"_executeOnStable":[{"__symbolic":"method"}]}},"FocusTrapFactory":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":280,"character":1}}],"members":{"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[null,null,[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":287,"character":7},"arguments":[{"__symbolic":"reference","module":"@angular/common","name":"DOCUMENT","line":287,"character":14}]}]],"parameters":[{"__symbolic":"reference","name":"InteractivityChecker"},{"__symbolic":"reference","module":"@angular/core","name":"NgZone","line":49,"character":21},{"__symbolic":"reference","name":"any"}]}],"create":[{"__symbolic":"method"}]}},"FocusTrapDeprecatedDirec
 tive":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":312,"character":1},"arguments":[{"selector":"cdk-focus-trap"}]}],"members":{"disabled":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":319,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ElementRef","line":325,"character":35},{"__symbolic":"reference","name":"FocusTrapFactory"}]}],"ngOnDestroy":[{"__symbolic":"method"}],"ngAfterContentInit":[{"__symbolic":"method"}]}},"CdkTrapFocus":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":340,"character":1},"arguments":[{"selector":"[cdkTrapFocus]","exportAs":"cdkTrapFocus"}]}],"members":{"enabled":[{"__symbolic":"
 property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":354,"character":3},"arguments":["cdkTrapFocus"]}]}],"autoCapture":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":362,"character":3},"arguments":["cdkTrapFocusAutoCapture"]}]}],"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[null,null,[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":370,"character":7},"arguments":[{"__symbolic":"reference","module":"@angular/common","name":"DOCUMENT","line":370,"character":14}]}]],"parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ElementRef","line":325,"character":35},{"__symbolic":"reference","name":"FocusTrapFactory"},{"__symbolic":"reference","name":"any"}]}],"ngOnDestroy":[{"__symbolic":"method"}],"ngAfterContentInit":[{"__
 symbolic":"method"}]}},"InteractivityChecker":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":20,"character":1}}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/cdk/platform","name":"Platform","line":23,"character":33}]}],"isDisabled":[{"__symbolic":"method"}],"isVisible":[{"__symbolic":"method"}],"isTabbable":[{"__symbolic":"method"}],"isFocusable":[{"__symbolic":"method"}]}},"LIVE_ANNOUNCER_ELEMENT_TOKEN":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"InjectionToken","line":19,"character":48},"arguments":["liveAnnouncerElement"]},"AriaLivePoliteness":{"__symbolic":"interface"},"LiveAnnouncer":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":24,"character":1}}],"members":{"__ctor_
 _":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Optional","line":29,"character":7}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":29,"character":19},"arguments":[{"__symbolic":"reference","name":"LIVE_ANNOUNCER_ELEMENT_TOKEN"}]}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":30,"character":7},"arguments":[{"__symbolic":"reference","module":"@angular/common","name":"DOCUMENT","line":30,"character":14}]}]],"parameters":[{"__symbolic":"reference","name":"any"},{"__symbolic":"reference","name":"any"}]}],"announce":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}],"_createLiveElement":[{"__symbolic":"method"}]}},"LIVE_ANNOUNCER_PROVIDER_FACTORY":{"__symbolic":"function","parameters":["parentDispatcher","liveElement","_document"],"value":{"__symbolic"
 :"binop","operator":"||","left":{"__symbolic":"reference","name":"parentDispatcher"},"right":{"__symbolic":"new","expression":{"__symbolic":"reference","name":"LiveAnnouncer"},"arguments":[{"__symbolic":"reference","name":"liveElement"},{"__symbolic":"reference","name":"_document"}]}}},"LIVE_ANNOUNCER_PROVIDER":{"provide":{"__symbolic":"reference","name":"LiveAnnouncer"},"deps":[[{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"Optional","line":88,"character":9}},{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"SkipSelf","line":88,"character":25}},{"__symbolic":"reference","name":"LiveAnnouncer"}],[{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"Optional","line":89,"character":9}},{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":89,"character":25},"arguments":[{"__symbolic":"reference","name":"LIVE
 _ANNOUNCER_ELEMENT_TOKEN"}]}],{"__symbolic":"reference","module":"@angular/common","name":"DOCUMENT","line":90,"character":4}],"useFactory":{"__symbolic":"reference","name":"LIVE_ANNOUNCER_PROVIDER_FACTORY"}},"TOUCH_BUFFER_MS":650,"FocusOrigin":{"__symbolic":"interface"},"FocusMonitor":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":42,"character":1}}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"NgZone","line":74,"character":31},{"__symbolic":"reference","module":"@angular/cdk/platform","name":"Platform","line":74,"character":58}]}],"monitor":[{"__symbolic":"method"},{"__symbolic":"method"},{"__symbolic":"method"}],"stopMonitoring":[{"__symbolic":"method"}],"focusVia":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}],"_registerGlobalListeners":[{"__symbolic":"method"}],"_toggleClass":[{"__s
 ymbolic":"method"}],"_setClasses":[{"__symbolic":"method"}],"_setOriginForCurrentEventQueue":[{"__symbolic":"method"}],"_wasCausedByTouch":[{"__symbolic":"method"}],"_onFocus":[{"__symbolic":"method"}],"_onBlur":[{"__symbolic":"method"}],"_incrementMonitoredElementCount":[{"__symbolic":"method"}],"_decrementMonitoredElementCount":[{"__symbolic":"method"}]}},"CdkMonitorFocus":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":380,"character":1},"arguments":[{"selector":"[cdkMonitorElementFocus], [cdkMonitorSubtreeFocus]"}]}],"members":{"cdkFocusChange":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":385,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ElementRef","line":387,"character":35},{"__symbolic":"refer
 ence","name":"FocusMonitor"}]}],"ngOnDestroy":[{"__symbolic":"method"}]}},"FOCUS_MONITOR_PROVIDER_FACTORY":{"__symbolic":"function","parameters":["parentDispatcher","ngZone","platform"],"value":{"__symbolic":"binop","operator":"||","left":{"__symbolic":"reference","name":"parentDispatcher"},"right":{"__symbolic":"new","expression":{"__symbolic":"reference","name":"FocusMonitor"},"arguments":[{"__symbolic":"reference","name":"ngZone"},{"__symbolic":"reference","name":"platform"}]}}},"FOCUS_MONITOR_PROVIDER":{"provide":{"__symbolic":"reference","name":"FocusMonitor"},"deps":[[{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"Optional","line":410,"character":14}},{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"SkipSelf","line":410,"character":30}},{"__symbolic":"reference","name":"FocusMonitor"}],{"__symbolic":"reference","module":"@angular/core","name":"NgZone","line":74,"character":31},{"__symbolic"
 :"reference","module":"@angular/cdk/platform","name":"Platform","line":74,"character":58}],"useFactory":{"__symbolic":"reference","name":"FOCUS_MONITOR_PROVIDER_FACTORY"}},"isFakeMousedownFromScreenReader":{"__symbolic":"function","parameters":["event"],"value":{"__symbolic":"binop","operator":"===","left":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"event"},"member":"buttons"},"right":0}},"A11yModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":21,"character":1},"arguments":[{"imports":[{"__symbolic":"reference","module":"@angular/common","name":"CommonModule","line":22,"character":12},{"__symbolic":"reference","module":"@angular/cdk/platform","name":"PlatformModule","line":22,"character":26}],"declarations":[{"__symbolic":"reference","name":"CdkTrapFocus"},{"__symbolic":"reference","name":"FocusTrapDeprecatedDirective"},{"__symbolic":"reference","name":"Cd
 kMonitorFocus"}],"exports":[{"__symbolic":"reference","name":"CdkTrapFocus"},{"__symbolic":"reference","name":"FocusTrapDeprecatedDirective"},{"__symbolic":"reference","name":"CdkMonitorFocus"}],"providers":[{"__symbolic":"reference","name":"InteractivityChecker"},{"__symbolic":"reference","name":"FocusTrapFactory"},{"__symbolic":"reference","name":"AriaDescriber"},{"__symbolic":"reference","name":"LIVE_ANNOUNCER_PROVIDER"},{"__symbolic":"reference","name":"ARIA_DESCRIBER_PROVIDER"},{"__symbolic":"reference","name":"FOCUS_MONITOR_PROVIDER"}]}]}],"members":{}}},"origins":{"FocusTrapDirective":"./focus-trap/focus-trap","RegisteredMessage":"./aria-describer/aria-describer","MESSAGES_CONTAINER_ID":"./aria-describer/aria-describer","CDK_DESCRIBEDBY_ID_PREFIX":"./aria-describer/aria-describer","CDK_DESCRIBEDBY_HOST_ATTRIBUTE":"./aria-describer/aria-describer","AriaDescriber":"./aria-describer/aria-describer","ARIA_DESCRIBER_PROVIDER_FACTORY":"./aria-describer/aria-describer","ARIA_DESCRIB
 ER_PROVIDER":"./aria-describer/aria-describer","Highlightable":"./key-manager/activedescendant-key-manager","ActiveDescendantKeyManager":"./key-manager/activedescendant-key-manager","FocusableOption":"./key-manager/focus-key-manager","FocusKeyManager":"./key-manager/focus-key-manager","ListKeyManagerOption":"./key-manager/list-key-manager","ListKeyManager":"./key-manager/list-key-manager","FocusTrap":"./focus-trap/focus-trap","FocusTrapFactory":"./focus-trap/focus-trap","FocusTrapDeprecatedDirective":"./focus-trap/focus-trap","CdkTrapFocus":"./focus-trap/focus-trap","InteractivityChecker":"./interactivity-checker/interactivity-checker","LIVE_ANNOUNCER_ELEMENT_TOKEN":"./live-announcer/live-announcer","AriaLivePoliteness":"./live-announcer/live-announcer","LiveAnnouncer":"./live-announcer/live-announcer","LIVE_ANNOUNCER_PROVIDER_FACTORY":"./live-announcer/live-announcer","LIVE_ANNOUNCER_PROVIDER":"./live-announcer/live-announcer","TOUCH_BUFFER_MS":"./focus-monitor/focus-monitor","Focu
 sOrigin":"./focus-monitor/focus-monitor","FocusMonitor":"./focus-monitor/focus-monitor","CdkMonitorFocus":"./focus-monitor/focus-monitor","FOCUS_MONITOR_PROVIDER_FACTORY":"./focus-monitor/focus-monitor","FOCUS_MONITOR_PROVIDER":"./focus-monitor/focus-monitor","isFakeMousedownFromScreenReader":"./fake-mousedown","A11yModule":"./a11y-module"},"importAs":"@angular/cdk/a11y"}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/eec354e6/node_modules/@angular/cdk/a11y/typings/interactivity-checker/interactivity-checker.d.ts
----------------------------------------------------------------------
diff --git a/node_modules/@angular/cdk/a11y/typings/interactivity-checker/interactivity-checker.d.ts b/node_modules/@angular/cdk/a11y/typings/interactivity-checker/interactivity-checker.d.ts
new file mode 100644
index 0000000..3803fe6
--- /dev/null
+++ b/node_modules/@angular/cdk/a11y/typings/interactivity-checker/interactivity-checker.d.ts
@@ -0,0 +1,40 @@
+import { Platform } from '@angular/cdk/platform';
+/**
+ * Utility for checking the interactivity of an element, such as whether is is focusable or
+ * tabbable.
+ */
+export declare class InteractivityChecker {
+    private _platform;
+    constructor(_platform: Platform);
+    /**
+     * Gets whether an element is disabled.
+     *
+     * @param element Element to be checked.
+     * @returns Whether the element is disabled.
+     */
+    isDisabled(element: HTMLElement): boolean;
+    /**
+     * Gets whether an element is visible for the purposes of interactivity.
+     *
+     * This will capture states like `display: none` and `visibility: hidden`, but not things like
+     * being clipped by an `overflow: hidden` parent or being outside the viewport.
+     *
+     * @returns Whether the element is visible.
+     */
+    isVisible(element: HTMLElement): boolean;
+    /**
+     * Gets whether an element can be reached via Tab key.
+     * Assumes that the element has already been checked with isFocusable.
+     *
+     * @param element Element to be checked.
+     * @returns Whether the element is tabbable.
+     */
+    isTabbable(element: HTMLElement): boolean;
+    /**
+     * Gets whether an element can be focused by the user.
+     *
+     * @param element Element to be checked.
+     * @returns Whether the element is focusable.
+     */
+    isFocusable(element: HTMLElement): boolean;
+}

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/eec354e6/node_modules/@angular/cdk/a11y/typings/key-manager/activedescendant-key-manager.d.ts
----------------------------------------------------------------------
diff --git a/node_modules/@angular/cdk/a11y/typings/key-manager/activedescendant-key-manager.d.ts b/node_modules/@angular/cdk/a11y/typings/key-manager/activedescendant-key-manager.d.ts
new file mode 100644
index 0000000..c2af711
--- /dev/null
+++ b/node_modules/@angular/cdk/a11y/typings/key-manager/activedescendant-key-manager.d.ts
@@ -0,0 +1,27 @@
+/**
+ * @license
+ * Copyright Google LLC All Rights Reserved.
+ *
+ * Use of this source code is governed by an MIT-style license that can be
+ * found in the LICENSE file at https://angular.io/license
+ */
+import { ListKeyManager, ListKeyManagerOption } from './list-key-manager';
+/**
+ * This is the interface for highlightable items (used by the ActiveDescendantKeyManager).
+ * Each item must know how to style itself as active or inactive and whether or not it is
+ * currently disabled.
+ */
+export interface Highlightable extends ListKeyManagerOption {
+    /** Applies the styles for an active item to this item. */
+    setActiveStyles(): void;
+    /** Applies the styles for an inactive item to this item. */
+    setInactiveStyles(): void;
+}
+export declare class ActiveDescendantKeyManager<T> extends ListKeyManager<Highlightable & T> {
+    /**
+     * This method sets the active item to the item at the specified index.
+     * It also adds active styles to the newly active item and removes active
+     * styles from the previously active item.
+     */
+    setActiveItem(index: number): void;
+}

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/eec354e6/node_modules/@angular/cdk/a11y/typings/key-manager/focus-key-manager.d.ts
----------------------------------------------------------------------
diff --git a/node_modules/@angular/cdk/a11y/typings/key-manager/focus-key-manager.d.ts b/node_modules/@angular/cdk/a11y/typings/key-manager/focus-key-manager.d.ts
new file mode 100644
index 0000000..beb9671
--- /dev/null
+++ b/node_modules/@angular/cdk/a11y/typings/key-manager/focus-key-manager.d.ts
@@ -0,0 +1,31 @@
+/**
+ * @license
+ * Copyright Google LLC All Rights Reserved.
+ *
+ * Use of this source code is governed by an MIT-style license that can be
+ * found in the LICENSE file at https://angular.io/license
+ */
+import { ListKeyManager, ListKeyManagerOption } from './list-key-manager';
+import { FocusOrigin } from '../focus-monitor/focus-monitor';
+/**
+ * This is the interface for focusable items (used by the FocusKeyManager).
+ * Each item must know how to focus itself, whether or not it is currently disabled
+ * and be able to supply it's label.
+ */
+export interface FocusableOption extends ListKeyManagerOption {
+    /** Focuses the `FocusableOption`. */
+    focus(origin?: FocusOrigin): void;
+}
+export declare class FocusKeyManager<T> extends ListKeyManager<FocusableOption & T> {
+    private _origin;
+    /**
+     * Sets the focus origin that will be passed in to the items for any subsequent `focus` calls.
+     * @param origin Focus origin to be used when focusing items.
+     */
+    setFocusOrigin(origin: FocusOrigin): this;
+    /**
+     * This method sets the active item to the item at the specified index.
+     * It also adds focuses the newly active item.
+     */
+    setActiveItem(index: number): void;
+}

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/eec354e6/node_modules/@angular/cdk/a11y/typings/key-manager/list-key-manager.d.ts
----------------------------------------------------------------------
diff --git a/node_modules/@angular/cdk/a11y/typings/key-manager/list-key-manager.d.ts b/node_modules/@angular/cdk/a11y/typings/key-manager/list-key-manager.d.ts
new file mode 100644
index 0000000..8151376
--- /dev/null
+++ b/node_modules/@angular/cdk/a11y/typings/key-manager/list-key-manager.d.ts
@@ -0,0 +1,111 @@
+/**
+ * @license
+ * Copyright Google LLC All Rights Reserved.
+ *
+ * Use of this source code is governed by an MIT-style license that can be
+ * found in the LICENSE file at https://angular.io/license
+ */
+import { QueryList } from '@angular/core';
+import { Subject } from 'rxjs/Subject';
+/** This interface is for items that can be passed to a ListKeyManager. */
+export interface ListKeyManagerOption {
+    /** Whether the option is disabled. */
+    disabled?: boolean;
+    /** Gets the label for this option. */
+    getLabel?(): string;
+}
+/**
+ * This class manages keyboard events for selectable lists. If you pass it a query list
+ * of items, it will set the active item correctly when arrow events occur.
+ */
+export declare class ListKeyManager<T extends ListKeyManagerOption> {
+    private _items;
+    private _activeItemIndex;
+    private _activeItem;
+    private _wrap;
+    private _letterKeyStream;
+    private _typeaheadSubscription;
+    private _vertical;
+    private _horizontal;
+    private _pressedLetters;
+    constructor(_items: QueryList<T>);
+    /**
+     * Stream that emits any time the TAB key is pressed, so components can react
+     * when focus is shifted off of the list.
+     */
+    tabOut: Subject<void>;
+    /** Stream that emits whenever the active item of the list manager changes. */
+    change: Subject<number>;
+    /**
+     * Turns on wrapping mode, which ensures that the active item will wrap to
+     * the other end of list when there are no more items in the given direction.
+     */
+    withWrap(): this;
+    /**
+     * Configures whether the key manager should be able to move the selection vertically.
+     * @param enabled Whether vertical selection should be enabled.
+     */
+    withVerticalOrientation(enabled?: boolean): this;
+    /**
+     * Configures the key manager to move the selection horizontally.
+     * Passing in `null` will disable horizontal movement.
+     * @param direction Direction in which the selection can be moved.
+     */
+    withHorizontalOrientation(direction: 'ltr' | 'rtl' | null): this;
+    /**
+     * Turns on typeahead mode which allows users to set the active item by typing.
+     * @param debounceInterval Time to wait after the last keystroke before setting the active item.
+     */
+    withTypeAhead(debounceInterval?: number): this;
+    /**
+     * Sets the active item to the item at the index specified.
+     * @param index The index of the item to be set as active.
+     */
+    setActiveItem(index: number): void;
+    /**
+     * Sets the active item depending on the key event passed in.
+     * @param event Keyboard event to be used for determining which element should be active.
+     */
+    onKeydown(event: KeyboardEvent): void;
+    /** Index of the currently active item. */
+    readonly activeItemIndex: number | null;
+    /** The active item. */
+    readonly activeItem: T | null;
+    /** Sets the active item to the first enabled item in the list. */
+    setFirstItemActive(): void;
+    /** Sets the active item to the last enabled item in the list. */
+    setLastItemActive(): void;
+    /** Sets the active item to the next enabled item in the list. */
+    setNextItemActive(): void;
+    /** Sets the active item to a previous enabled item in the list. */
+    setPreviousItemActive(): void;
+    /**
+     * Allows setting of the activeItemIndex without any other effects.
+     * @param index The new activeItemIndex.
+     */
+    updateActiveItemIndex(index: number): void;
+    /**
+     * This method sets the active item, given a list of items and the delta between the
+     * currently active item and the new active item. It will calculate differently
+     * depending on whether wrap mode is turned on.
+     */
+    private _setActiveItemByDelta(delta, items?);
+    /**
+     * Sets the active item properly given "wrap" mode. In other words, it will continue to move
+     * down the list until it finds an item that is not disabled, and it will wrap if it
+     * encounters either end of the list.
+     */
+    private _setActiveInWrapMode(delta, items);
+    /**
+     * Sets the active item properly given the default mode. In other words, it will
+     * continue to move down the list until it finds an item that is not disabled. If
+     * it encounters either end of the list, it will stop and not wrap.
+     */
+    private _setActiveInDefaultMode(delta, items);
+    /**
+     * Sets the active item to the first enabled item starting at the index specified. If the
+     * item is disabled, it will move in the fallbackDelta direction until it either
+     * finds an enabled item or encounters the end of the list.
+     */
+    private _setActiveItemByIndex(index, fallbackDelta, items?);
+}

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/eec354e6/node_modules/@angular/cdk/a11y/typings/live-announcer/live-announcer.d.ts
----------------------------------------------------------------------
diff --git a/node_modules/@angular/cdk/a11y/typings/live-announcer/live-announcer.d.ts b/node_modules/@angular/cdk/a11y/typings/live-announcer/live-announcer.d.ts
new file mode 100644
index 0000000..43793aa
--- /dev/null
+++ b/node_modules/@angular/cdk/a11y/typings/live-announcer/live-announcer.d.ts
@@ -0,0 +1,32 @@
+/**
+ * @license
+ * Copyright Google LLC All Rights Reserved.
+ *
+ * Use of this source code is governed by an MIT-style license that can be
+ * found in the LICENSE file at https://angular.io/license
+ */
+import { InjectionToken, Optional, OnDestroy } from '@angular/core';
+export declare const LIVE_ANNOUNCER_ELEMENT_TOKEN: InjectionToken<HTMLElement>;
+/** Possible politeness levels. */
+export declare type AriaLivePoliteness = 'off' | 'polite' | 'assertive';
+export declare class LiveAnnouncer implements OnDestroy {
+    private _document;
+    private _liveElement;
+    constructor(elementToken: any, _document: any);
+    /**
+     * Announces a message to screenreaders.
+     * @param message Message to be announced to the screenreader
+     * @param politeness The politeness of the announcer element
+     */
+    announce(message: string, politeness?: AriaLivePoliteness): void;
+    ngOnDestroy(): void;
+    private _createLiveElement();
+}
+/** @docs-private */
+export declare function LIVE_ANNOUNCER_PROVIDER_FACTORY(parentDispatcher: LiveAnnouncer, liveElement: any, _document: any): LiveAnnouncer;
+/** @docs-private */
+export declare const LIVE_ANNOUNCER_PROVIDER: {
+    provide: typeof LiveAnnouncer;
+    deps: (InjectionToken<Document> | Optional[])[];
+    useFactory: (parentDispatcher: LiveAnnouncer, liveElement: any, _document: any) => LiveAnnouncer;
+};

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/eec354e6/node_modules/@angular/cdk/a11y/typings/public-api.d.ts
----------------------------------------------------------------------
diff --git a/node_modules/@angular/cdk/a11y/typings/public-api.d.ts b/node_modules/@angular/cdk/a11y/typings/public-api.d.ts
new file mode 100644
index 0000000..70c8d53
--- /dev/null
+++ b/node_modules/@angular/cdk/a11y/typings/public-api.d.ts
@@ -0,0 +1,23 @@
+/**
+ * @license
+ * Copyright Google LLC All Rights Reserved.
+ *
+ * Use of this source code is governed by an MIT-style license that can be
+ * found in the LICENSE file at https://angular.io/license
+ */
+import { CdkTrapFocus } from './focus-trap/focus-trap';
+export * from './aria-describer/aria-describer';
+export * from './key-manager/activedescendant-key-manager';
+export * from './key-manager/focus-key-manager';
+export * from './key-manager/list-key-manager';
+export * from './focus-trap/focus-trap';
+export * from './interactivity-checker/interactivity-checker';
+export * from './live-announcer/live-announcer';
+export * from './focus-monitor/focus-monitor';
+export * from './fake-mousedown';
+export * from './a11y-module';
+/**
+ * @deprecated Renamed to CdkTrapFocus.
+ * @deletion-target 6.0.0
+ */
+export { CdkTrapFocus as FocusTrapDirective };

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/eec354e6/node_modules/@angular/cdk/accordion.d.ts
----------------------------------------------------------------------
diff --git a/node_modules/@angular/cdk/accordion.d.ts b/node_modules/@angular/cdk/accordion.d.ts
new file mode 100644
index 0000000..67aac61
--- /dev/null
+++ b/node_modules/@angular/cdk/accordion.d.ts
@@ -0,0 +1,8 @@
+/**
+ * @license
+ * Copyright Google LLC All Rights Reserved.
+ *
+ * Use of this source code is governed by an MIT-style license that can be
+ * found in the LICENSE file at https://angular.io/license
+ */
+export * from './accordion/index';

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/eec354e6/node_modules/@angular/cdk/accordion.metadata.json
----------------------------------------------------------------------
diff --git a/node_modules/@angular/cdk/accordion.metadata.json b/node_modules/@angular/cdk/accordion.metadata.json
new file mode 100644
index 0000000..3eb6f43
--- /dev/null
+++ b/node_modules/@angular/cdk/accordion.metadata.json
@@ -0,0 +1,12 @@
+{
+  "__symbolic": "module",
+  "version": 3,
+  "metadata": {},
+  "exports": [
+    {
+      "from": "./accordion/index"
+    }
+  ],
+  "flatModuleIndexRedirect": true,
+  "importAs": "@angular/cdk/accordion"
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/eec354e6/node_modules/@angular/cdk/accordion/index.d.ts
----------------------------------------------------------------------
diff --git a/node_modules/@angular/cdk/accordion/index.d.ts b/node_modules/@angular/cdk/accordion/index.d.ts
new file mode 100644
index 0000000..1faa623
--- /dev/null
+++ b/node_modules/@angular/cdk/accordion/index.d.ts
@@ -0,0 +1,8 @@
+/**
+ * @license
+ * Copyright Google LLC All Rights Reserved.
+ *
+ * Use of this source code is governed by an MIT-style license that can be
+ * found in the LICENSE file at https://angular.io/license
+ */
+export * from './typings/index';

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/eec354e6/node_modules/@angular/cdk/accordion/index.metadata.json
----------------------------------------------------------------------
diff --git a/node_modules/@angular/cdk/accordion/index.metadata.json b/node_modules/@angular/cdk/accordion/index.metadata.json
new file mode 100644
index 0000000..45b3956
--- /dev/null
+++ b/node_modules/@angular/cdk/accordion/index.metadata.json
@@ -0,0 +1,12 @@
+{
+  "__symbolic": "module",
+  "version": 3,
+  "metadata": {},
+  "exports": [
+    {
+      "from": "./typings/index"
+    }
+  ],
+  "flatModuleIndexRedirect": true,
+  "importAs": "@angular/cdk/accordion"
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/eec354e6/node_modules/@angular/cdk/accordion/package.json
----------------------------------------------------------------------
diff --git a/node_modules/@angular/cdk/accordion/package.json b/node_modules/@angular/cdk/accordion/package.json
new file mode 100644
index 0000000..e238366
--- /dev/null
+++ b/node_modules/@angular/cdk/accordion/package.json
@@ -0,0 +1,7 @@
+{
+  "name": "@angular/cdk/accordion",
+  "typings": "../accordion.d.ts",
+  "main": "../bundles/cdk-accordion.umd.js",
+  "module": "../esm5/accordion.es5.js",
+  "es2015": "../esm2015/accordion.js"
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/eec354e6/node_modules/@angular/cdk/accordion/typings/accordion-item.d.ts
----------------------------------------------------------------------
diff --git a/node_modules/@angular/cdk/accordion/typings/accordion-item.d.ts b/node_modules/@angular/cdk/accordion/typings/accordion-item.d.ts
new file mode 100644
index 0000000..630d3a1
--- /dev/null
+++ b/node_modules/@angular/cdk/accordion/typings/accordion-item.d.ts
@@ -0,0 +1,50 @@
+/**
+ * @license
+ * Copyright Google LLC All Rights Reserved.
+ *
+ * Use of this source code is governed by an MIT-style license that can be
+ * found in the LICENSE file at https://angular.io/license
+ */
+import { EventEmitter, OnDestroy, ChangeDetectorRef } from '@angular/core';
+import { UniqueSelectionDispatcher } from '@angular/cdk/collections';
+import { CdkAccordion } from './accordion';
+/**
+ * An basic directive expected to be extended and decorated as a component.  Sets up all
+ * events and attributes needed to be managed by a CdkAccordion parent.
+ */
+export declare class CdkAccordionItem implements OnDestroy {
+    accordion: CdkAccordion;
+    private _changeDetectorRef;
+    protected _expansionDispatcher: UniqueSelectionDispatcher;
+    /** Event emitted every time the AccordionItem is closed. */
+    closed: EventEmitter<void>;
+    /** Event emitted every time the AccordionItem is opened. */
+    opened: EventEmitter<void>;
+    /** Event emitted when the AccordionItem is destroyed. */
+    destroyed: EventEmitter<void>;
+    /**
+     * Emits whenever the expanded state of the accordion changes.
+     * Primarily used to facilitate two-way binding.
+     * @docs-private
+     */
+    expandedChange: EventEmitter<boolean>;
+    /** The unique AccordionItem id. */
+    readonly id: string;
+    /** Whether the AccordionItem is expanded. */
+    expanded: any;
+    private _expanded;
+    /** Whether the AccordionItem is disabled. */
+    disabled: any;
+    private _disabled;
+    /** Unregister function for _expansionDispatcher. */
+    private _removeUniqueSelectionListener;
+    constructor(accordion: CdkAccordion, _changeDetectorRef: ChangeDetectorRef, _expansionDispatcher: UniqueSelectionDispatcher);
+    /** Emits an event for the accordion item being destroyed. */
+    ngOnDestroy(): void;
+    /** Toggles the expanded state of the accordion item. */
+    toggle(): void;
+    /** Sets the expanded state of the accordion item to false. */
+    close(): void;
+    /** Sets the expanded state of the accordion item to true. */
+    open(): void;
+}

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/eec354e6/node_modules/@angular/cdk/accordion/typings/accordion-module.d.ts
----------------------------------------------------------------------
diff --git a/node_modules/@angular/cdk/accordion/typings/accordion-module.d.ts b/node_modules/@angular/cdk/accordion/typings/accordion-module.d.ts
new file mode 100644
index 0000000..250976d
--- /dev/null
+++ b/node_modules/@angular/cdk/accordion/typings/accordion-module.d.ts
@@ -0,0 +1,2 @@
+export declare class CdkAccordionModule {
+}

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/eec354e6/node_modules/@angular/cdk/accordion/typings/accordion.d.ts
----------------------------------------------------------------------
diff --git a/node_modules/@angular/cdk/accordion/typings/accordion.d.ts b/node_modules/@angular/cdk/accordion/typings/accordion.d.ts
new file mode 100644
index 0000000..bd7d65c
--- /dev/null
+++ b/node_modules/@angular/cdk/accordion/typings/accordion.d.ts
@@ -0,0 +1,10 @@
+/**
+ * Directive whose purpose is to manage the expanded state of CdkAccordionItem children.
+ */
+export declare class CdkAccordion {
+    /** A readonly id value to use for unique selection coordination. */
+    readonly id: string;
+    /** Whether the accordion should allow multiple expanded accordion items simultaneously. */
+    multi: boolean;
+    private _multi;
+}

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/eec354e6/node_modules/@angular/cdk/accordion/typings/index.d.ts
----------------------------------------------------------------------
diff --git a/node_modules/@angular/cdk/accordion/typings/index.d.ts b/node_modules/@angular/cdk/accordion/typings/index.d.ts
new file mode 100644
index 0000000..e5daacf
--- /dev/null
+++ b/node_modules/@angular/cdk/accordion/typings/index.d.ts
@@ -0,0 +1,4 @@
+/**
+ * Generated bundle index. Do not edit.
+ */
+export * from './public-api';

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/eec354e6/node_modules/@angular/cdk/accordion/typings/index.metadata.json
----------------------------------------------------------------------
diff --git a/node_modules/@angular/cdk/accordion/typings/index.metadata.json b/node_modules/@angular/cdk/accordion/typings/index.metadata.json
new file mode 100644
index 0000000..c774402
--- /dev/null
+++ b/node_modules/@angular/cdk/accordion/typings/index.metadata.json
@@ -0,0 +1 @@
+{"__symbolic":"module","version":4,"metadata":{"CdkAccordionItem":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":28,"character":1},"arguments":[{"selector":"cdk-accordion-item","exportAs":"cdkAccordionItem"}]}],"members":{"closed":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":34,"character":3}}]}],"opened":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":36,"character":3}}]}],"destroyed":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":38,"character":3}}]}],"expandedChange":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular
 /core","name":"Output","line":45,"character":3}}]}],"expanded":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":51,"character":3}}]}],"disabled":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":81,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Optional","line":89,"character":15}}],null,null],"parameters":[{"__symbolic":"reference","name":"CdkAccordion"},{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectorRef","line":90,"character":42},{"__symbolic":"reference","module":"@angular/cdk/collections","name":"UniqueSelectionDispatcher","line":91,"character":46}]}],"ngOnDestroy":[{"__symbolic":"method"}],"toggle":[{"__symbolic":"method"}],"close":[{"
 __symbolic":"method"}],"open":[{"__symbolic":"method"}]}},"CdkAccordion":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":17,"character":1},"arguments":[{"selector":"cdk-accordion, [cdkAccordion]","exportAs":"cdkAccordion"}]}],"members":{"multi":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":26,"character":3}}]}]}},"CdkAccordionModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":13,"character":1},"arguments":[{"exports":[{"__symbolic":"reference","name":"CdkAccordion"},{"__symbolic":"reference","name":"CdkAccordionItem"}],"declarations":[{"__symbolic":"reference","name":"CdkAccordion"},{"__symbolic":"reference","name":"CdkAccordionItem"}],"providers":[{"__symbolic":"reference","module":"@
 angular/cdk/collections","name":"UNIQUE_SELECTION_DISPATCHER_PROVIDER","line":16,"character":14}]}]}],"members":{}}},"origins":{"CdkAccordionItem":"./accordion-item","CdkAccordion":"./accordion","CdkAccordionModule":"./accordion-module"},"importAs":"@angular/cdk/accordion"}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/eec354e6/node_modules/@angular/cdk/accordion/typings/public-api.d.ts
----------------------------------------------------------------------
diff --git a/node_modules/@angular/cdk/accordion/typings/public-api.d.ts b/node_modules/@angular/cdk/accordion/typings/public-api.d.ts
new file mode 100644
index 0000000..e3b0ab5
--- /dev/null
+++ b/node_modules/@angular/cdk/accordion/typings/public-api.d.ts
@@ -0,0 +1,10 @@
+/**
+ * @license
+ * Copyright Google LLC All Rights Reserved.
+ *
+ * Use of this source code is governed by an MIT-style license that can be
+ * found in the LICENSE file at https://angular.io/license
+ */
+export { CdkAccordionItem } from './accordion-item';
+export { CdkAccordion } from './accordion';
+export * from './accordion-module';

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/eec354e6/node_modules/@angular/cdk/bidi.d.ts
----------------------------------------------------------------------
diff --git a/node_modules/@angular/cdk/bidi.d.ts b/node_modules/@angular/cdk/bidi.d.ts
new file mode 100644
index 0000000..418a014
--- /dev/null
+++ b/node_modules/@angular/cdk/bidi.d.ts
@@ -0,0 +1,8 @@
+/**
+ * @license
+ * Copyright Google LLC All Rights Reserved.
+ *
+ * Use of this source code is governed by an MIT-style license that can be
+ * found in the LICENSE file at https://angular.io/license
+ */
+export * from './bidi/index';

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/eec354e6/node_modules/@angular/cdk/bidi.metadata.json
----------------------------------------------------------------------
diff --git a/node_modules/@angular/cdk/bidi.metadata.json b/node_modules/@angular/cdk/bidi.metadata.json
new file mode 100644
index 0000000..bb191c0
--- /dev/null
+++ b/node_modules/@angular/cdk/bidi.metadata.json
@@ -0,0 +1,12 @@
+{
+  "__symbolic": "module",
+  "version": 3,
+  "metadata": {},
+  "exports": [
+    {
+      "from": "./bidi/index"
+    }
+  ],
+  "flatModuleIndexRedirect": true,
+  "importAs": "@angular/cdk/bidi"
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/eec354e6/node_modules/@angular/cdk/bidi/index.d.ts
----------------------------------------------------------------------
diff --git a/node_modules/@angular/cdk/bidi/index.d.ts b/node_modules/@angular/cdk/bidi/index.d.ts
new file mode 100644
index 0000000..1faa623
--- /dev/null
+++ b/node_modules/@angular/cdk/bidi/index.d.ts
@@ -0,0 +1,8 @@
+/**
+ * @license
+ * Copyright Google LLC All Rights Reserved.
+ *
+ * Use of this source code is governed by an MIT-style license that can be
+ * found in the LICENSE file at https://angular.io/license
+ */
+export * from './typings/index';

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/eec354e6/node_modules/@angular/cdk/bidi/index.metadata.json
----------------------------------------------------------------------
diff --git a/node_modules/@angular/cdk/bidi/index.metadata.json b/node_modules/@angular/cdk/bidi/index.metadata.json
new file mode 100644
index 0000000..91844f1
--- /dev/null
+++ b/node_modules/@angular/cdk/bidi/index.metadata.json
@@ -0,0 +1,12 @@
+{
+  "__symbolic": "module",
+  "version": 3,
+  "metadata": {},
+  "exports": [
+    {
+      "from": "./typings/index"
+    }
+  ],
+  "flatModuleIndexRedirect": true,
+  "importAs": "@angular/cdk/bidi"
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/eec354e6/node_modules/@angular/cdk/bidi/package.json
----------------------------------------------------------------------
diff --git a/node_modules/@angular/cdk/bidi/package.json b/node_modules/@angular/cdk/bidi/package.json
new file mode 100644
index 0000000..904b84a
--- /dev/null
+++ b/node_modules/@angular/cdk/bidi/package.json
@@ -0,0 +1,7 @@
+{
+  "name": "@angular/cdk/bidi",
+  "typings": "../bidi.d.ts",
+  "main": "../bundles/cdk-bidi.umd.js",
+  "module": "../esm5/bidi.es5.js",
+  "es2015": "../esm2015/bidi.js"
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/eec354e6/node_modules/@angular/cdk/bidi/typings/bidi-module.d.ts
----------------------------------------------------------------------
diff --git a/node_modules/@angular/cdk/bidi/typings/bidi-module.d.ts b/node_modules/@angular/cdk/bidi/typings/bidi-module.d.ts
new file mode 100644
index 0000000..871b690
--- /dev/null
+++ b/node_modules/@angular/cdk/bidi/typings/bidi-module.d.ts
@@ -0,0 +1,2 @@
+export declare class BidiModule {
+}

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/eec354e6/node_modules/@angular/cdk/bidi/typings/dir.d.ts
----------------------------------------------------------------------
diff --git a/node_modules/@angular/cdk/bidi/typings/dir.d.ts b/node_modules/@angular/cdk/bidi/typings/dir.d.ts
new file mode 100644
index 0000000..9a6587f
--- /dev/null
+++ b/node_modules/@angular/cdk/bidi/typings/dir.d.ts
@@ -0,0 +1,29 @@
+/**
+ * @license
+ * Copyright Google LLC All Rights Reserved.
+ *
+ * Use of this source code is governed by an MIT-style license that can be
+ * found in the LICENSE file at https://angular.io/license
+ */
+import { EventEmitter, AfterContentInit, OnDestroy } from '@angular/core';
+import { Direction, Directionality } from './directionality';
+/**
+ * Directive to listen for changes of direction of part of the DOM.
+ *
+ * Provides itself as Directionality such that descendant directives only need to ever inject
+ * Directionality to get the closest direction.
+ */
+export declare class Dir implements Directionality, AfterContentInit, OnDestroy {
+    _dir: Direction;
+    /** Whether the `value` has been set to its initial value. */
+    private _isInitialized;
+    /** Event emitted when the direction changes. */
+    change: EventEmitter<Direction>;
+    /** @docs-private */
+    dir: Direction;
+    /** Current layout direction of the element. */
+    readonly value: Direction;
+    /** Initialize once default value has been set. */
+    ngAfterContentInit(): void;
+    ngOnDestroy(): void;
+}

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/eec354e6/node_modules/@angular/cdk/bidi/typings/directionality.d.ts
----------------------------------------------------------------------
diff --git a/node_modules/@angular/cdk/bidi/typings/directionality.d.ts b/node_modules/@angular/cdk/bidi/typings/directionality.d.ts
new file mode 100644
index 0000000..a74bf21
--- /dev/null
+++ b/node_modules/@angular/cdk/bidi/typings/directionality.d.ts
@@ -0,0 +1,31 @@
+/**
+ * @license
+ * Copyright Google LLC All Rights Reserved.
+ *
+ * Use of this source code is governed by an MIT-style license that can be
+ * found in the LICENSE file at https://angular.io/license
+ */
+import { EventEmitter, InjectionToken } from '@angular/core';
+export declare type Direction = 'ltr' | 'rtl';
+/**
+ * Injection token used to inject the document into Directionality.
+ * This is used so that the value can be faked in tests.
+ *
+ * We can't use the real document in tests because changing the real `dir` causes geometry-based
+ * tests in Safari to fail.
+ *
+ * We also can't re-provide the DOCUMENT token from platform-brower because the unit tests
+ * themselves use things like `querySelector` in test code.
+ */
+export declare const DIR_DOCUMENT: InjectionToken<Document>;
+/**
+ * The directionality (LTR / RTL) context for the application (or a subtree of it).
+ * Exposes the current direction and a stream of direction changes.
+ */
+export declare class Directionality {
+    /** The current 'ltr' or 'rtl' value. */
+    readonly value: Direction;
+    /** Stream that emits whenever the 'ltr' / 'rtl' state changes. */
+    readonly change: EventEmitter<Direction>;
+    constructor(_document?: any);
+}

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/eec354e6/node_modules/@angular/cdk/bidi/typings/index.d.ts
----------------------------------------------------------------------
diff --git a/node_modules/@angular/cdk/bidi/typings/index.d.ts b/node_modules/@angular/cdk/bidi/typings/index.d.ts
new file mode 100644
index 0000000..e5daacf
--- /dev/null
+++ b/node_modules/@angular/cdk/bidi/typings/index.d.ts
@@ -0,0 +1,4 @@
+/**
+ * Generated bundle index. Do not edit.
+ */
+export * from './public-api';

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/eec354e6/node_modules/@angular/cdk/bidi/typings/index.metadata.json
----------------------------------------------------------------------
diff --git a/node_modules/@angular/cdk/bidi/typings/index.metadata.json b/node_modules/@angular/cdk/bidi/typings/index.metadata.json
new file mode 100644
index 0000000..099393a
--- /dev/null
+++ b/node_modules/@angular/cdk/bidi/typings/index.metadata.json
@@ -0,0 +1 @@
+{"__symbolic":"module","version":4,"metadata":{"Directionality":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":35,"character":1}}],"members":{"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Optional","line":43,"character":15}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":43,"character":27},"arguments":[{"__symbolic":"reference","name":"DIR_DOCUMENT"}]}]],"parameters":[{"__symbolic":"reference","name":"any"}]}]}},"DIR_DOCUMENT":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"InjectionToken","line":29,"character":32},"arguments":["cdk-dir-doc"]},"Direction":{"__symbolic":"interface"},"Dir":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"
 reference","module":"@angular/core","name":"Directive","line":25,"character":1},"arguments":[{"selector":"[dir]","providers":[{"provide":{"__symbolic":"reference","name":"Directionality"},"useExisting":{"__symbolic":"reference","name":"Dir"}}],"host":{"[dir]":"dir"},"exportAs":"dir"}]}],"members":{"change":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":38,"character":3},"arguments":["dirChange"]}]}],"dir":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":41,"character":3}}]}],"ngAfterContentInit":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}]}},"BidiModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":14,"character":1},"arguments":[{"exports":[{"__symbolic":"reference","
 name":"Dir"}],"declarations":[{"__symbolic":"reference","name":"Dir"}],"providers":[{"provide":{"__symbolic":"reference","name":"DIR_DOCUMENT"},"useExisting":{"__symbolic":"reference","module":"@angular/common","name":"DOCUMENT","line":18,"character":41}},{"__symbolic":"reference","name":"Directionality"}]}]}],"members":{}}},"origins":{"Directionality":"./directionality","DIR_DOCUMENT":"./directionality","Direction":"./directionality","Dir":"./dir","BidiModule":"./bidi-module"},"importAs":"@angular/cdk/bidi"}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/eec354e6/node_modules/@angular/cdk/bidi/typings/public-api.d.ts
----------------------------------------------------------------------
diff --git a/node_modules/@angular/cdk/bidi/typings/public-api.d.ts b/node_modules/@angular/cdk/bidi/typings/public-api.d.ts
new file mode 100644
index 0000000..8d762b9
--- /dev/null
+++ b/node_modules/@angular/cdk/bidi/typings/public-api.d.ts
@@ -0,0 +1,10 @@
+/**
+ * @license
+ * Copyright Google LLC All Rights Reserved.
+ *
+ * Use of this source code is governed by an MIT-style license that can be
+ * found in the LICENSE file at https://angular.io/license
+ */
+export { Directionality, DIR_DOCUMENT, Direction } from './directionality';
+export { Dir } from './dir';
+export * from './bidi-module';


[51/59] [abbrv] [partial] nifi-fds git commit: update gh-pages

Posted by sc...@apache.org.
update gh-pages


Project: http://git-wip-us.apache.org/repos/asf/nifi-fds/repo
Commit: http://git-wip-us.apache.org/repos/asf/nifi-fds/commit/eec354e6
Tree: http://git-wip-us.apache.org/repos/asf/nifi-fds/tree/eec354e6
Diff: http://git-wip-us.apache.org/repos/asf/nifi-fds/diff/eec354e6

Branch: refs/heads/gh-pages
Commit: eec354e650d1b3e83fae007058f8d86059129dda
Parents: 2162923
Author: Scott Aslan <sc...@gmail.com>
Authored: Tue Jun 5 17:00:51 2018 -0400
Committer: Scott Aslan <sc...@gmail.com>
Committed: Tue Jun 5 17:00:51 2018 -0400

----------------------------------------------------------------------
 Gruntfile.js                                    |    68 -
 LICENSE                                         |   240 -
 NOTICE                                          |     5 -
 .../dialogs/demo/fds-demo-dialog.html           |    18 +
 .../dialogs/demo/fds-demo-dialog.js             |    59 +
 .../components/flow-design-system/fds-demo.html |  2980 ++
 .../components/flow-design-system/fds-demo.js   |  1066 +
 demo-app/css/fds-demo.min.css                   |     3 +
 demo-app/css/fds-demo.min.css.gz                |   Bin 0 -> 11590 bytes
 demo-app/css/fds-demo.min.css.map               |    64 +
 demo-app/fds-bootstrap.js                       |    53 +
 demo-app/fds.animations.js                      |   133 +
 demo-app/fds.html                               |    34 +
 demo-app/fds.js                                 |    74 +
 demo-app/fds.module.js                          |    55 +
 demo-app/fds.routes.js                          |    26 +
 demo-app/gh-pages.index.html                    |    36 +
 demo-app/gh-pages.package.json                  |    71 +
 demo-app/index.html                             |    37 +
 demo-app/services/fds.service.js                |    52 +
 demo-app/systemjs-angular-loader.js             |    66 +
 demo-app/systemjs.config.extras.js              |    27 +
 demo-app/systemjs.config.js                     |   128 +
 demo-app/theming/_helperClasses.scss            |    78 +
 demo-app/theming/_structureElements.scss        |    84 +
 demo-app/theming/fds-demo.scss                  |    51 +
 index.html                                      |    36 +
 node_modules/.bin/blocking-proxy                |     1 +
 node_modules/.bin/cake                          |     1 +
 node_modules/.bin/coffee                        |     1 +
 node_modules/.bin/dateformat                    |     1 +
 node_modules/.bin/detect-libc                   |     1 +
 node_modules/.bin/ecstatic                      |     1 +
 node_modules/.bin/escodegen                     |     1 +
 node_modules/.bin/esgenerate                    |     1 +
 node_modules/.bin/esparse                       |     1 +
 node_modules/.bin/esvalidate                    |     1 +
 node_modules/.bin/grunt                         |     1 +
 node_modules/.bin/handlebars                    |     1 +
 node_modules/.bin/he                            |     1 +
 node_modules/.bin/hs                            |     1 +
 node_modules/.bin/http-server                   |     1 +
 node_modules/.bin/in-install                    |     1 +
 node_modules/.bin/in-publish                    |     1 +
 node_modules/.bin/istanbul                      |     1 +
 node_modules/.bin/jasmine                       |     1 +
 node_modules/.bin/js-yaml                       |     1 +
 node_modules/.bin/karma                         |     1 +
 node_modules/.bin/mime                          |     1 +
 node_modules/.bin/mkdirp                        |     1 +
 node_modules/.bin/node-gyp                      |     1 +
 node_modules/.bin/node-sass                     |     1 +
 node_modules/.bin/nopt                          |     1 +
 node_modules/.bin/not-in-install                |     1 +
 node_modules/.bin/not-in-publish                |     1 +
 node_modules/.bin/opener                        |     1 +
 node_modules/.bin/prebuild-install              |     1 +
 node_modules/.bin/protractor                    |     1 +
 node_modules/.bin/rc                            |     1 +
 node_modules/.bin/rimraf                        |     1 +
 node_modules/.bin/sassgraph                     |     1 +
 node_modules/.bin/semver                        |     1 +
 node_modules/.bin/sshpk-conv                    |     1 +
 node_modules/.bin/sshpk-sign                    |     1 +
 node_modules/.bin/sshpk-verify                  |     1 +
 node_modules/.bin/strip-indent                  |     1 +
 node_modules/.bin/uglifyjs                      |     1 +
 node_modules/.bin/uuid                          |     1 +
 node_modules/.bin/webdriver-manager             |     1 +
 node_modules/.bin/which                         |     1 +
 node_modules/@angular/animations/README.md      |     6 +
 .../@angular/animations/animations.d.ts         |     4 +
 .../animations/animations.metadata.json         |     1 +
 node_modules/@angular/animations/browser.d.ts   |     6 +
 .../@angular/animations/browser.metadata.json   |     1 +
 .../@angular/animations/browser/browser.d.ts    |     4 +
 .../animations/browser/browser.metadata.json    |     1 +
 .../@angular/animations/browser/package.json    |     7 +
 .../@angular/animations/browser/public_api.d.ts |    13 +
 .../@angular/animations/browser/testing.d.ts    |     6 +
 .../animations/browser/testing.metadata.json    |     1 +
 .../animations/browser/testing/package.json     |     7 +
 .../animations/browser/testing/public_api.d.ts  |    13 +
 .../animations/browser/testing/testing.d.ts     |     4 +
 .../browser/testing/testing.metadata.json       |     1 +
 .../bundles/animations-browser-testing.umd.js   |   520 +
 .../animations-browser-testing.umd.js.map       |     1 +
 .../animations-browser-testing.umd.min.js       |     7 +
 .../animations-browser-testing.umd.min.js.map   |     1 +
 .../bundles/animations-browser.umd.js           |  6144 +++
 .../bundles/animations-browser.umd.js.map       |     1 +
 .../bundles/animations-browser.umd.min.js       |    15 +
 .../bundles/animations-browser.umd.min.js.map   |     1 +
 .../animations/bundles/animations.umd.js        |  1640 +
 .../animations/bundles/animations.umd.js.map    |     1 +
 .../animations/bundles/animations.umd.min.js    |    21 +
 .../bundles/animations.umd.min.js.map           |     1 +
 .../@angular/animations/esm2015/animations.js   |  1509 +
 .../animations/esm2015/animations.js.map        |     1 +
 .../@angular/animations/esm2015/browser.js      |  5138 +++
 .../@angular/animations/esm2015/browser.js.map  |     1 +
 .../animations/esm2015/browser/testing.js       |   445 +
 .../animations/esm2015/browser/testing.js.map   |     1 +
 .../@angular/animations/esm5/animations.js      |  1644 +
 .../@angular/animations/esm5/animations.js.map  |     1 +
 .../@angular/animations/esm5/browser.js         |  6131 +++
 .../@angular/animations/esm5/browser.js.map     |     1 +
 .../@angular/animations/esm5/browser/testing.js |   511 +
 .../animations/esm5/browser/testing.js.map      |     1 +
 node_modules/@angular/animations/package.json   |    56 +
 .../@angular/animations/public_api.d.ts         |    13 +
 node_modules/@angular/cdk/LICENSE               |    21 +
 node_modules/@angular/cdk/README.md             |     6 +
 node_modules/@angular/cdk/_a11y.scss            |    30 +
 node_modules/@angular/cdk/_overlay.scss         |    99 +
 node_modules/@angular/cdk/a11y-prebuilt.css     |     1 +
 node_modules/@angular/cdk/a11y.d.ts             |     8 +
 node_modules/@angular/cdk/a11y.metadata.json    |    12 +
 node_modules/@angular/cdk/a11y/index.d.ts       |     8 +
 .../@angular/cdk/a11y/index.metadata.json       |    12 +
 node_modules/@angular/cdk/a11y/package.json     |     7 +
 .../@angular/cdk/a11y/typings/a11y-module.d.ts  |     2 +
 .../typings/aria-describer/aria-describer.d.ts  |    77 +
 .../typings/aria-describer/aria-reference.d.ts  |    15 +
 .../cdk/a11y/typings/fake-mousedown.d.ts        |    15 +
 .../typings/focus-monitor/focus-monitor.d.ts    |   123 +
 .../cdk/a11y/typings/focus-trap/focus-trap.d.ts |   137 +
 .../@angular/cdk/a11y/typings/index.d.ts        |     4 +
 .../cdk/a11y/typings/index.metadata.json        |     1 +
 .../interactivity-checker.d.ts                  |    40 +
 .../activedescendant-key-manager.d.ts           |    27 +
 .../typings/key-manager/focus-key-manager.d.ts  |    31 +
 .../typings/key-manager/list-key-manager.d.ts   |   111 +
 .../typings/live-announcer/live-announcer.d.ts  |    32 +
 .../@angular/cdk/a11y/typings/public-api.d.ts   |    23 +
 node_modules/@angular/cdk/accordion.d.ts        |     8 +
 .../@angular/cdk/accordion.metadata.json        |    12 +
 node_modules/@angular/cdk/accordion/index.d.ts  |     8 +
 .../@angular/cdk/accordion/index.metadata.json  |    12 +
 .../@angular/cdk/accordion/package.json         |     7 +
 .../cdk/accordion/typings/accordion-item.d.ts   |    50 +
 .../cdk/accordion/typings/accordion-module.d.ts |     2 +
 .../cdk/accordion/typings/accordion.d.ts        |    10 +
 .../@angular/cdk/accordion/typings/index.d.ts   |     4 +
 .../cdk/accordion/typings/index.metadata.json   |     1 +
 .../cdk/accordion/typings/public-api.d.ts       |    10 +
 node_modules/@angular/cdk/bidi.d.ts             |     8 +
 node_modules/@angular/cdk/bidi.metadata.json    |    12 +
 node_modules/@angular/cdk/bidi/index.d.ts       |     8 +
 .../@angular/cdk/bidi/index.metadata.json       |    12 +
 node_modules/@angular/cdk/bidi/package.json     |     7 +
 .../@angular/cdk/bidi/typings/bidi-module.d.ts  |     2 +
 node_modules/@angular/cdk/bidi/typings/dir.d.ts |    29 +
 .../cdk/bidi/typings/directionality.d.ts        |    31 +
 .../@angular/cdk/bidi/typings/index.d.ts        |     4 +
 .../cdk/bidi/typings/index.metadata.json        |     1 +
 .../@angular/cdk/bidi/typings/public-api.d.ts   |    10 +
 .../@angular/cdk/bundles/cdk-a11y.umd.js        |  2427 ++
 .../@angular/cdk/bundles/cdk-a11y.umd.js.map    |     1 +
 .../@angular/cdk/bundles/cdk-a11y.umd.min.js    |     9 +
 .../cdk/bundles/cdk-a11y.umd.min.js.map         |     1 +
 .../@angular/cdk/bundles/cdk-accordion.umd.js   |   272 +
 .../cdk/bundles/cdk-accordion.umd.js.map        |     1 +
 .../cdk/bundles/cdk-accordion.umd.min.js        |     9 +
 .../cdk/bundles/cdk-accordion.umd.min.js.map    |     1 +
 .../@angular/cdk/bundles/cdk-bidi.umd.js        |   186 +
 .../@angular/cdk/bundles/cdk-bidi.umd.js.map    |     1 +
 .../@angular/cdk/bundles/cdk-bidi.umd.min.js    |     9 +
 .../cdk/bundles/cdk-bidi.umd.min.js.map         |     1 +
 .../@angular/cdk/bundles/cdk-coercion.umd.js    |    78 +
 .../cdk/bundles/cdk-coercion.umd.js.map         |     1 +
 .../cdk/bundles/cdk-coercion.umd.min.js         |     9 +
 .../cdk/bundles/cdk-coercion.umd.min.js.map     |     1 +
 .../@angular/cdk/bundles/cdk-collections.umd.js |   446 +
 .../cdk/bundles/cdk-collections.umd.js.map      |     1 +
 .../cdk/bundles/cdk-collections.umd.min.js      |     9 +
 .../cdk/bundles/cdk-collections.umd.min.js.map  |     1 +
 .../@angular/cdk/bundles/cdk-keycodes.umd.js    |    62 +
 .../cdk/bundles/cdk-keycodes.umd.js.map         |     1 +
 .../cdk/bundles/cdk-keycodes.umd.min.js         |     9 +
 .../cdk/bundles/cdk-keycodes.umd.min.js.map     |     1 +
 .../@angular/cdk/bundles/cdk-layout.umd.js      |   299 +
 .../@angular/cdk/bundles/cdk-layout.umd.js.map  |     1 +
 .../@angular/cdk/bundles/cdk-layout.umd.min.js  |     9 +
 .../cdk/bundles/cdk-layout.umd.min.js.map       |     1 +
 .../@angular/cdk/bundles/cdk-observers.umd.js   |   197 +
 .../cdk/bundles/cdk-observers.umd.js.map        |     1 +
 .../cdk/bundles/cdk-observers.umd.min.js        |     9 +
 .../cdk/bundles/cdk-observers.umd.min.js.map    |     1 +
 .../@angular/cdk/bundles/cdk-overlay.umd.js     |  3096 ++
 .../@angular/cdk/bundles/cdk-overlay.umd.js.map |     1 +
 .../@angular/cdk/bundles/cdk-overlay.umd.min.js |    10 +
 .../cdk/bundles/cdk-overlay.umd.min.js.map      |     1 +
 .../@angular/cdk/bundles/cdk-platform.umd.js    |   183 +
 .../cdk/bundles/cdk-platform.umd.js.map         |     1 +
 .../cdk/bundles/cdk-platform.umd.min.js         |     9 +
 .../cdk/bundles/cdk-platform.umd.min.js.map     |     1 +
 .../@angular/cdk/bundles/cdk-portal.umd.js      |   799 +
 .../@angular/cdk/bundles/cdk-portal.umd.js.map  |     1 +
 .../@angular/cdk/bundles/cdk-portal.umd.min.js  |     9 +
 .../cdk/bundles/cdk-portal.umd.min.js.map       |     1 +
 .../@angular/cdk/bundles/cdk-scrolling.umd.js   |   562 +
 .../cdk/bundles/cdk-scrolling.umd.js.map        |     1 +
 .../cdk/bundles/cdk-scrolling.umd.min.js        |     9 +
 .../cdk/bundles/cdk-scrolling.umd.min.js.map    |     1 +
 .../@angular/cdk/bundles/cdk-stepper.umd.js     |   633 +
 .../@angular/cdk/bundles/cdk-stepper.umd.js.map |     1 +
 .../@angular/cdk/bundles/cdk-stepper.umd.min.js |     9 +
 .../cdk/bundles/cdk-stepper.umd.min.js.map      |     1 +
 .../@angular/cdk/bundles/cdk-table.umd.js       |  1144 +
 .../@angular/cdk/bundles/cdk-table.umd.js.map   |     1 +
 .../@angular/cdk/bundles/cdk-table.umd.min.js   |     9 +
 .../cdk/bundles/cdk-table.umd.min.js.map        |     1 +
 node_modules/@angular/cdk/bundles/cdk.umd.js    |    29 +
 .../@angular/cdk/bundles/cdk.umd.js.map         |     1 +
 .../@angular/cdk/bundles/cdk.umd.min.js         |     9 +
 .../@angular/cdk/bundles/cdk.umd.min.js.map     |     1 +
 node_modules/@angular/cdk/cdk.d.ts              |     8 +
 node_modules/@angular/cdk/cdk.metadata.json     |    12 +
 node_modules/@angular/cdk/coercion.d.ts         |     8 +
 .../@angular/cdk/coercion.metadata.json         |    12 +
 node_modules/@angular/cdk/coercion/index.d.ts   |     8 +
 .../@angular/cdk/coercion/index.metadata.json   |    12 +
 node_modules/@angular/cdk/coercion/package.json |     7 +
 .../@angular/cdk/coercion/typings/array.d.ts    |     9 +
 .../cdk/coercion/typings/boolean-property.d.ts  |     9 +
 .../@angular/cdk/coercion/typings/index.d.ts    |     4 +
 .../cdk/coercion/typings/index.metadata.json    |     1 +
 .../cdk/coercion/typings/number-property.d.ts   |    15 +
 .../cdk/coercion/typings/public-api.d.ts        |    10 +
 node_modules/@angular/cdk/collections.d.ts      |     8 +
 .../@angular/cdk/collections.metadata.json      |    12 +
 .../@angular/cdk/collections/index.d.ts         |     8 +
 .../cdk/collections/index.metadata.json         |    12 +
 .../@angular/cdk/collections/package.json       |     7 +
 .../collections/typings/collection-viewer.d.ts  |    22 +
 .../cdk/collections/typings/data-source.d.ts    |    28 +
 .../@angular/cdk/collections/typings/index.d.ts |     5 +
 .../cdk/collections/typings/index.metadata.json |     1 +
 .../cdk/collections/typings/public-api.d.ts     |    11 +
 .../cdk/collections/typings/selection.d.ts      |    97 +
 .../typings/unique-selection-dispatcher.d.ts    |    41 +
 node_modules/@angular/cdk/esm2015/a11y.js       |  1873 +
 node_modules/@angular/cdk/esm2015/a11y.js.map   |     1 +
 node_modules/@angular/cdk/esm2015/accordion.js  |   244 +
 .../@angular/cdk/esm2015/accordion.js.map       |     1 +
 node_modules/@angular/cdk/esm2015/bidi.js       |   170 +
 node_modules/@angular/cdk/esm2015/bidi.js.map   |     1 +
 node_modules/@angular/cdk/esm2015/cdk.js        |    34 +
 node_modules/@angular/cdk/esm2015/cdk.js.map    |     1 +
 node_modules/@angular/cdk/esm2015/coercion.js   |    77 +
 .../@angular/cdk/esm2015/coercion.js.map        |     1 +
 .../@angular/cdk/esm2015/collections.js         |   321 +
 .../@angular/cdk/esm2015/collections.js.map     |     1 +
 node_modules/@angular/cdk/esm2015/keycodes.js   |    47 +
 .../@angular/cdk/esm2015/keycodes.js.map        |     1 +
 node_modules/@angular/cdk/esm2015/layout.js     |   253 +
 node_modules/@angular/cdk/esm2015/layout.js.map |     1 +
 node_modules/@angular/cdk/esm2015/observers.js  |   175 +
 .../@angular/cdk/esm2015/observers.js.map       |     1 +
 node_modules/@angular/cdk/esm2015/overlay.js    |  2383 ++
 .../@angular/cdk/esm2015/overlay.js.map         |     1 +
 node_modules/@angular/cdk/esm2015/platform.js   |   181 +
 .../@angular/cdk/esm2015/platform.js.map        |     1 +
 node_modules/@angular/cdk/esm2015/portal.js     |   605 +
 node_modules/@angular/cdk/esm2015/portal.js.map |     1 +
 node_modules/@angular/cdk/esm2015/scrolling.js  |   438 +
 .../@angular/cdk/esm2015/scrolling.js.map       |     1 +
 node_modules/@angular/cdk/esm2015/stepper.js    |   530 +
 .../@angular/cdk/esm2015/stepper.js.map         |     1 +
 node_modules/@angular/cdk/esm2015/table.js      |   950 +
 node_modules/@angular/cdk/esm2015/table.js.map  |     1 +
 node_modules/@angular/cdk/esm5/a11y.es5.js      |  2395 ++
 node_modules/@angular/cdk/esm5/a11y.es5.js.map  |     1 +
 node_modules/@angular/cdk/esm5/accordion.es5.js |   277 +
 .../@angular/cdk/esm5/accordion.es5.js.map      |     1 +
 node_modules/@angular/cdk/esm5/bidi.es5.js      |   189 +
 node_modules/@angular/cdk/esm5/bidi.es5.js.map  |     1 +
 node_modules/@angular/cdk/esm5/cdk.es5.js       |    34 +
 node_modules/@angular/cdk/esm5/cdk.es5.js.map   |     1 +
 node_modules/@angular/cdk/esm5/coercion.es5.js  |    78 +
 .../@angular/cdk/esm5/coercion.es5.js.map       |     1 +
 .../@angular/cdk/esm5/collections.es5.js        |   446 +
 .../@angular/cdk/esm5/collections.es5.js.map    |     1 +
 node_modules/@angular/cdk/esm5/keycodes.es5.js  |    47 +
 .../@angular/cdk/esm5/keycodes.es5.js.map       |     1 +
 node_modules/@angular/cdk/esm5/layout.es5.js    |   304 +
 .../@angular/cdk/esm5/layout.es5.js.map         |     1 +
 node_modules/@angular/cdk/esm5/observers.es5.js |   202 +
 .../@angular/cdk/esm5/observers.es5.js.map      |     1 +
 node_modules/@angular/cdk/esm5/overlay.es5.js   |  3047 ++
 .../@angular/cdk/esm5/overlay.es5.js.map        |     1 +
 node_modules/@angular/cdk/esm5/platform.es5.js  |   185 +
 .../@angular/cdk/esm5/platform.es5.js.map       |     1 +
 node_modules/@angular/cdk/esm5/portal.es5.js    |   768 +
 .../@angular/cdk/esm5/portal.es5.js.map         |     1 +
 node_modules/@angular/cdk/esm5/scrolling.es5.js |   566 +
 .../@angular/cdk/esm5/scrolling.es5.js.map      |     1 +
 node_modules/@angular/cdk/esm5/stepper.es5.js   |   638 +
 .../@angular/cdk/esm5/stepper.es5.js.map        |     1 +
 node_modules/@angular/cdk/esm5/table.es5.js     |  1115 +
 node_modules/@angular/cdk/esm5/table.es5.js.map |     1 +
 node_modules/@angular/cdk/keycodes.d.ts         |     8 +
 .../@angular/cdk/keycodes.metadata.json         |    12 +
 node_modules/@angular/cdk/keycodes/index.d.ts   |     8 +
 .../@angular/cdk/keycodes/index.metadata.json   |    12 +
 node_modules/@angular/cdk/keycodes/package.json |     7 +
 .../@angular/cdk/keycodes/typings/index.d.ts    |     4 +
 .../cdk/keycodes/typings/index.metadata.json    |     1 +
 .../@angular/cdk/keycodes/typings/keycodes.d.ts |    26 +
 .../cdk/keycodes/typings/public-api.d.ts        |     8 +
 node_modules/@angular/cdk/layout.d.ts           |     8 +
 node_modules/@angular/cdk/layout.metadata.json  |    12 +
 node_modules/@angular/cdk/layout/index.d.ts     |     8 +
 .../@angular/cdk/layout/index.metadata.json     |    12 +
 node_modules/@angular/cdk/layout/package.json   |     7 +
 .../layout/typings/breakpoints-observer.d.ts    |    41 +
 .../cdk/layout/typings/breakpoints.d.ts         |    23 +
 .../@angular/cdk/layout/typings/index.d.ts      |     4 +
 .../cdk/layout/typings/index.metadata.json      |     1 +
 .../cdk/layout/typings/media-matcher.d.ts       |    15 +
 .../@angular/cdk/layout/typings/public-api.d.ts |     5 +
 node_modules/@angular/cdk/observers.d.ts        |     8 +
 .../@angular/cdk/observers.metadata.json        |    12 +
 node_modules/@angular/cdk/observers/index.d.ts  |     8 +
 .../@angular/cdk/observers/index.metadata.json  |    12 +
 .../@angular/cdk/observers/package.json         |     7 +
 .../@angular/cdk/observers/typings/index.d.ts   |     4 +
 .../cdk/observers/typings/index.metadata.json   |     1 +
 .../cdk/observers/typings/observe-content.d.ts  |    45 +
 .../cdk/observers/typings/public-api.d.ts       |    13 +
 node_modules/@angular/cdk/overlay-prebuilt.css  |     1 +
 node_modules/@angular/cdk/overlay.d.ts          |     8 +
 node_modules/@angular/cdk/overlay.metadata.json |    12 +
 node_modules/@angular/cdk/overlay/index.d.ts    |     8 +
 .../@angular/cdk/overlay/index.metadata.json    |    12 +
 node_modules/@angular/cdk/overlay/package.json  |     7 +
 .../typings/fullscreen-overlay-container.d.ts   |    18 +
 .../@angular/cdk/overlay/typings/index.d.ts     |     7 +
 .../cdk/overlay/typings/index.metadata.json     |     1 +
 .../keyboard/overlay-keyboard-dispatcher.d.ts   |    43 +
 .../cdk/overlay/typings/overlay-config.d.ts     |    38 +
 .../cdk/overlay/typings/overlay-container.d.ts  |    35 +
 .../cdk/overlay/typings/overlay-directives.d.ts |   160 +
 .../cdk/overlay/typings/overlay-module.d.ts     |     4 +
 .../cdk/overlay/typings/overlay-ref.d.ts        |    96 +
 .../@angular/cdk/overlay/typings/overlay.d.ts   |    60 +
 .../position/connected-position-strategy.d.ts   |   153 +
 .../typings/position/connected-position.d.ts    |    70 +
 .../position/global-position-strategy.d.ts      |    86 +
 .../position/overlay-position-builder.d.ts      |    29 +
 .../typings/position/position-strategy.d.ts     |    19 +
 .../overlay/typings/position/scroll-clip.d.ts   |    23 +
 .../cdk/overlay/typings/public-api.d.ts         |    34 +
 .../typings/scroll/block-scroll-strategy.d.ts   |    27 +
 .../typings/scroll/close-scroll-strategy.d.ts   |    39 +
 .../cdk/overlay/typings/scroll/index.d.ts       |    14 +
 .../typings/scroll/noop-scroll-strategy.d.ts    |    17 +
 .../scroll/reposition-scroll-strategy.d.ts      |    38 +
 .../typings/scroll/scroll-strategy-options.d.ts |    42 +
 .../overlay/typings/scroll/scroll-strategy.d.ts |    23 +
 node_modules/@angular/cdk/package.json          |    61 +
 node_modules/@angular/cdk/platform.d.ts         |     8 +
 .../@angular/cdk/platform.metadata.json         |    12 +
 node_modules/@angular/cdk/platform/index.d.ts   |     8 +
 .../@angular/cdk/platform/index.metadata.json   |    12 +
 node_modules/@angular/cdk/platform/package.json |     7 +
 .../@angular/cdk/platform/typings/features.d.ts |     7 +
 .../@angular/cdk/platform/typings/index.d.ts    |     4 +
 .../cdk/platform/typings/index.metadata.json    |     1 +
 .../cdk/platform/typings/platform-module.d.ts   |     2 +
 .../@angular/cdk/platform/typings/platform.d.ts |    24 +
 .../cdk/platform/typings/public-api.d.ts        |    10 +
 node_modules/@angular/cdk/portal.d.ts           |     8 +
 node_modules/@angular/cdk/portal.metadata.json  |    12 +
 node_modules/@angular/cdk/portal/index.d.ts     |     8 +
 .../@angular/cdk/portal/index.metadata.json     |    12 +
 node_modules/@angular/cdk/portal/package.json   |     7 +
 .../cdk/portal/typings/dom-portal-outlet.d.ts   |    41 +
 .../@angular/cdk/portal/typings/index.d.ts      |     4 +
 .../cdk/portal/typings/index.metadata.json      |     1 +
 .../cdk/portal/typings/portal-directives.d.ts   |    68 +
 .../cdk/portal/typings/portal-errors.d.ts       |    37 +
 .../cdk/portal/typings/portal-injector.d.ts     |    19 +
 .../@angular/cdk/portal/typings/portal.d.ts     |   103 +
 .../@angular/cdk/portal/typings/public-api.d.ts |    14 +
 node_modules/@angular/cdk/scrolling.d.ts        |     8 +
 .../@angular/cdk/scrolling.metadata.json        |    12 +
 node_modules/@angular/cdk/scrolling/index.d.ts  |     8 +
 .../@angular/cdk/scrolling/index.metadata.json  |    12 +
 .../@angular/cdk/scrolling/package.json         |     7 +
 .../@angular/cdk/scrolling/typings/index.d.ts   |     4 +
 .../cdk/scrolling/typings/index.metadata.json   |     1 +
 .../cdk/scrolling/typings/public-api.d.ts       |    11 +
 .../scrolling/typings/scroll-dispatcher.d.ts    |    80 +
 .../cdk/scrolling/typings/scrollable.d.ts       |    30 +
 .../cdk/scrolling/typings/scrolling-module.d.ts |     2 +
 .../cdk/scrolling/typings/viewport-ruler.d.ts   |    53 +
 node_modules/@angular/cdk/stepper.d.ts          |     8 +
 node_modules/@angular/cdk/stepper.metadata.json |    12 +
 node_modules/@angular/cdk/stepper/index.d.ts    |     8 +
 .../@angular/cdk/stepper/index.metadata.json    |    12 +
 node_modules/@angular/cdk/stepper/package.json  |     7 +
 .../@angular/cdk/stepper/typings/index.d.ts     |     4 +
 .../cdk/stepper/typings/index.metadata.json     |     1 +
 .../cdk/stepper/typings/public-api.d.ts         |    11 +
 .../cdk/stepper/typings/step-label.d.ts         |    12 +
 .../cdk/stepper/typings/stepper-button.d.ts     |    15 +
 .../cdk/stepper/typings/stepper-module.d.ts     |     2 +
 .../@angular/cdk/stepper/typings/stepper.d.ts   |   109 +
 node_modules/@angular/cdk/table.d.ts            |     8 +
 node_modules/@angular/cdk/table.metadata.json   |    12 +
 node_modules/@angular/cdk/table/index.d.ts      |     8 +
 .../@angular/cdk/table/index.metadata.json      |    12 +
 node_modules/@angular/cdk/table/package.json    |     7 +
 .../@angular/cdk/table/typings/cell.d.ts        |    51 +
 .../@angular/cdk/table/typings/index.d.ts       |     4 +
 .../cdk/table/typings/index.metadata.json       |     1 +
 .../@angular/cdk/table/typings/public-api.d.ts  |    13 +
 .../@angular/cdk/table/typings/row.d.ts         |    98 +
 .../cdk/table/typings/table-errors.d.ts         |    38 +
 .../cdk/table/typings/table-module.d.ts         |     2 +
 .../@angular/cdk/table/typings/table.d.ts       |   206 +
 .../@angular/cdk/typings/a11y/a11y-module.d.ts  |     2 +
 .../a11y/aria-describer/aria-describer.d.ts     |    77 +
 .../a11y/aria-describer/aria-reference.d.ts     |    15 +
 .../cdk/typings/a11y/fake-mousedown.d.ts        |    15 +
 .../a11y/focus-monitor/focus-monitor.d.ts       |   123 +
 .../cdk/typings/a11y/focus-trap/focus-trap.d.ts |   137 +
 .../@angular/cdk/typings/a11y/index.d.ts        |     4 +
 .../cdk/typings/a11y/index.metadata.json        |     1 +
 .../interactivity-checker.d.ts                  |    40 +
 .../activedescendant-key-manager.d.ts           |    27 +
 .../a11y/key-manager/focus-key-manager.d.ts     |    31 +
 .../a11y/key-manager/list-key-manager.d.ts      |   111 +
 .../a11y/live-announcer/live-announcer.d.ts     |    32 +
 .../@angular/cdk/typings/a11y/public-api.d.ts   |    23 +
 .../cdk/typings/accordion/accordion-item.d.ts   |    50 +
 .../cdk/typings/accordion/accordion-module.d.ts |     2 +
 .../cdk/typings/accordion/accordion.d.ts        |    10 +
 .../@angular/cdk/typings/accordion/index.d.ts   |     4 +
 .../cdk/typings/accordion/index.metadata.json   |     1 +
 .../cdk/typings/accordion/public-api.d.ts       |    10 +
 .../@angular/cdk/typings/bidi/bidi-module.d.ts  |     2 +
 node_modules/@angular/cdk/typings/bidi/dir.d.ts |    29 +
 .../cdk/typings/bidi/directionality.d.ts        |    31 +
 .../@angular/cdk/typings/bidi/index.d.ts        |     4 +
 .../cdk/typings/bidi/index.metadata.json        |     1 +
 .../@angular/cdk/typings/bidi/public-api.d.ts   |    10 +
 .../@angular/cdk/typings/coercion/array.d.ts    |     9 +
 .../cdk/typings/coercion/boolean-property.d.ts  |     9 +
 .../@angular/cdk/typings/coercion/index.d.ts    |     4 +
 .../cdk/typings/coercion/index.metadata.json    |     1 +
 .../cdk/typings/coercion/number-property.d.ts   |    15 +
 .../cdk/typings/coercion/public-api.d.ts        |    10 +
 .../typings/collections/collection-viewer.d.ts  |    22 +
 .../cdk/typings/collections/data-source.d.ts    |    28 +
 .../@angular/cdk/typings/collections/index.d.ts |     5 +
 .../cdk/typings/collections/index.metadata.json |     1 +
 .../cdk/typings/collections/public-api.d.ts     |    11 +
 .../cdk/typings/collections/selection.d.ts      |    97 +
 .../unique-selection-dispatcher.d.ts            |    41 +
 .../cdk/typings/esm5/a11y/a11y-module.d.ts      |     2 +
 .../a11y/aria-describer/aria-describer.d.ts     |    77 +
 .../a11y/aria-describer/aria-reference.d.ts     |    15 +
 .../cdk/typings/esm5/a11y/fake-mousedown.d.ts   |    15 +
 .../esm5/a11y/focus-monitor/focus-monitor.d.ts  |   123 +
 .../esm5/a11y/focus-trap/focus-trap.d.ts        |   137 +
 .../@angular/cdk/typings/esm5/a11y/index.d.ts   |     4 +
 .../cdk/typings/esm5/a11y/index.metadata.json   |     1 +
 .../interactivity-checker.d.ts                  |    40 +
 .../activedescendant-key-manager.d.ts           |    27 +
 .../a11y/key-manager/focus-key-manager.d.ts     |    31 +
 .../esm5/a11y/key-manager/list-key-manager.d.ts |   111 +
 .../a11y/live-announcer/live-announcer.d.ts     |    32 +
 .../cdk/typings/esm5/a11y/public-api.d.ts       |    23 +
 .../typings/esm5/accordion/accordion-item.d.ts  |    50 +
 .../esm5/accordion/accordion-module.d.ts        |     2 +
 .../cdk/typings/esm5/accordion/accordion.d.ts   |    10 +
 .../cdk/typings/esm5/accordion/index.d.ts       |     4 +
 .../typings/esm5/accordion/index.metadata.json  |     1 +
 .../cdk/typings/esm5/accordion/public-api.d.ts  |    10 +
 .../cdk/typings/esm5/bidi/bidi-module.d.ts      |     2 +
 .../@angular/cdk/typings/esm5/bidi/dir.d.ts     |    29 +
 .../cdk/typings/esm5/bidi/directionality.d.ts   |    31 +
 .../@angular/cdk/typings/esm5/bidi/index.d.ts   |     4 +
 .../cdk/typings/esm5/bidi/index.metadata.json   |     1 +
 .../cdk/typings/esm5/bidi/public-api.d.ts       |    10 +
 .../cdk/typings/esm5/coercion/array.d.ts        |     9 +
 .../typings/esm5/coercion/boolean-property.d.ts |     9 +
 .../cdk/typings/esm5/coercion/index.d.ts        |     4 +
 .../typings/esm5/coercion/index.metadata.json   |     1 +
 .../typings/esm5/coercion/number-property.d.ts  |    15 +
 .../cdk/typings/esm5/coercion/public-api.d.ts   |    10 +
 .../esm5/collections/collection-viewer.d.ts     |    22 +
 .../typings/esm5/collections/data-source.d.ts   |    28 +
 .../cdk/typings/esm5/collections/index.d.ts     |     5 +
 .../esm5/collections/index.metadata.json        |     1 +
 .../typings/esm5/collections/public-api.d.ts    |    11 +
 .../cdk/typings/esm5/collections/selection.d.ts |    97 +
 .../unique-selection-dispatcher.d.ts            |    41 +
 .../@angular/cdk/typings/esm5/index.d.ts        |     4 +
 .../cdk/typings/esm5/index.metadata.json        |     1 +
 .../cdk/typings/esm5/keycodes/index.d.ts        |     4 +
 .../typings/esm5/keycodes/index.metadata.json   |     1 +
 .../cdk/typings/esm5/keycodes/keycodes.d.ts     |    26 +
 .../cdk/typings/esm5/keycodes/public-api.d.ts   |     8 +
 .../esm5/layout/breakpoints-observer.d.ts       |    41 +
 .../cdk/typings/esm5/layout/breakpoints.d.ts    |    23 +
 .../@angular/cdk/typings/esm5/layout/index.d.ts |     4 +
 .../cdk/typings/esm5/layout/index.metadata.json |     1 +
 .../cdk/typings/esm5/layout/media-matcher.d.ts  |    15 +
 .../cdk/typings/esm5/layout/public-api.d.ts     |     5 +
 .../cdk/typings/esm5/observers/index.d.ts       |     4 +
 .../typings/esm5/observers/index.metadata.json  |     1 +
 .../typings/esm5/observers/observe-content.d.ts |    45 +
 .../cdk/typings/esm5/observers/public-api.d.ts  |    13 +
 .../overlay/fullscreen-overlay-container.d.ts   |    18 +
 .../cdk/typings/esm5/overlay/index.d.ts         |     7 +
 .../typings/esm5/overlay/index.metadata.json    |     1 +
 .../keyboard/overlay-keyboard-dispatcher.d.ts   |    43 +
 .../typings/esm5/overlay/overlay-config.d.ts    |    38 +
 .../typings/esm5/overlay/overlay-container.d.ts |    35 +
 .../esm5/overlay/overlay-directives.d.ts        |   160 +
 .../typings/esm5/overlay/overlay-module.d.ts    |     4 +
 .../cdk/typings/esm5/overlay/overlay-ref.d.ts   |    96 +
 .../cdk/typings/esm5/overlay/overlay.d.ts       |    60 +
 .../position/connected-position-strategy.d.ts   |   153 +
 .../overlay/position/connected-position.d.ts    |    70 +
 .../position/global-position-strategy.d.ts      |    86 +
 .../position/overlay-position-builder.d.ts      |    29 +
 .../overlay/position/position-strategy.d.ts     |    19 +
 .../esm5/overlay/position/scroll-clip.d.ts      |    23 +
 .../cdk/typings/esm5/overlay/public-api.d.ts    |    34 +
 .../overlay/scroll/block-scroll-strategy.d.ts   |    27 +
 .../overlay/scroll/close-scroll-strategy.d.ts   |    39 +
 .../cdk/typings/esm5/overlay/scroll/index.d.ts  |    14 +
 .../overlay/scroll/noop-scroll-strategy.d.ts    |    17 +
 .../scroll/reposition-scroll-strategy.d.ts      |    38 +
 .../overlay/scroll/scroll-strategy-options.d.ts |    42 +
 .../esm5/overlay/scroll/scroll-strategy.d.ts    |    23 +
 .../cdk/typings/esm5/platform/features.d.ts     |     7 +
 .../cdk/typings/esm5/platform/index.d.ts        |     4 +
 .../typings/esm5/platform/index.metadata.json   |     1 +
 .../typings/esm5/platform/platform-module.d.ts  |     2 +
 .../cdk/typings/esm5/platform/platform.d.ts     |    24 +
 .../cdk/typings/esm5/platform/public-api.d.ts   |    10 +
 .../typings/esm5/portal/dom-portal-outlet.d.ts  |    41 +
 .../@angular/cdk/typings/esm5/portal/index.d.ts |     4 +
 .../cdk/typings/esm5/portal/index.metadata.json |     1 +
 .../typings/esm5/portal/portal-directives.d.ts  |    68 +
 .../cdk/typings/esm5/portal/portal-errors.d.ts  |    37 +
 .../typings/esm5/portal/portal-injector.d.ts    |    19 +
 .../cdk/typings/esm5/portal/portal.d.ts         |   103 +
 .../cdk/typings/esm5/portal/public-api.d.ts     |    14 +
 .../@angular/cdk/typings/esm5/public-api.d.ts   |     8 +
 .../cdk/typings/esm5/scrolling/index.d.ts       |     4 +
 .../typings/esm5/scrolling/index.metadata.json  |     1 +
 .../cdk/typings/esm5/scrolling/public-api.d.ts  |    11 +
 .../esm5/scrolling/scroll-dispatcher.d.ts       |    80 +
 .../cdk/typings/esm5/scrolling/scrollable.d.ts  |    30 +
 .../esm5/scrolling/scrolling-module.d.ts        |     2 +
 .../typings/esm5/scrolling/viewport-ruler.d.ts  |    53 +
 .../cdk/typings/esm5/stepper/index.d.ts         |     4 +
 .../typings/esm5/stepper/index.metadata.json    |     1 +
 .../cdk/typings/esm5/stepper/public-api.d.ts    |    11 +
 .../cdk/typings/esm5/stepper/step-label.d.ts    |    12 +
 .../typings/esm5/stepper/stepper-button.d.ts    |    15 +
 .../typings/esm5/stepper/stepper-module.d.ts    |     2 +
 .../cdk/typings/esm5/stepper/stepper.d.ts       |   109 +
 .../@angular/cdk/typings/esm5/table/cell.d.ts   |    51 +
 .../@angular/cdk/typings/esm5/table/index.d.ts  |     4 +
 .../cdk/typings/esm5/table/index.metadata.json  |     1 +
 .../cdk/typings/esm5/table/public-api.d.ts      |    13 +
 .../@angular/cdk/typings/esm5/table/row.d.ts    |    98 +
 .../cdk/typings/esm5/table/table-errors.d.ts    |    38 +
 .../cdk/typings/esm5/table/table-module.d.ts    |     2 +
 .../@angular/cdk/typings/esm5/table/table.d.ts  |   206 +
 .../@angular/cdk/typings/esm5/version.d.ts      |    10 +
 node_modules/@angular/cdk/typings/index.d.ts    |     4 +
 .../@angular/cdk/typings/index.metadata.json    |     1 +
 .../@angular/cdk/typings/keycodes/index.d.ts    |     4 +
 .../cdk/typings/keycodes/index.metadata.json    |     1 +
 .../@angular/cdk/typings/keycodes/keycodes.d.ts |    26 +
 .../cdk/typings/keycodes/public-api.d.ts        |     8 +
 .../typings/layout/breakpoints-observer.d.ts    |    41 +
 .../cdk/typings/layout/breakpoints.d.ts         |    23 +
 .../@angular/cdk/typings/layout/index.d.ts      |     4 +
 .../cdk/typings/layout/index.metadata.json      |     1 +
 .../cdk/typings/layout/media-matcher.d.ts       |    15 +
 .../@angular/cdk/typings/layout/public-api.d.ts |     5 +
 .../@angular/cdk/typings/observers/index.d.ts   |     4 +
 .../cdk/typings/observers/index.metadata.json   |     1 +
 .../cdk/typings/observers/observe-content.d.ts  |    45 +
 .../cdk/typings/observers/public-api.d.ts       |    13 +
 .../overlay/fullscreen-overlay-container.d.ts   |    18 +
 .../@angular/cdk/typings/overlay/index.d.ts     |     7 +
 .../cdk/typings/overlay/index.metadata.json     |     1 +
 .../keyboard/overlay-keyboard-dispatcher.d.ts   |    43 +
 .../cdk/typings/overlay/overlay-config.d.ts     |    38 +
 .../cdk/typings/overlay/overlay-container.d.ts  |    35 +
 .../cdk/typings/overlay/overlay-directives.d.ts |   160 +
 .../cdk/typings/overlay/overlay-module.d.ts     |     4 +
 .../cdk/typings/overlay/overlay-ref.d.ts        |    96 +
 .../@angular/cdk/typings/overlay/overlay.d.ts   |    60 +
 .../position/connected-position-strategy.d.ts   |   153 +
 .../overlay/position/connected-position.d.ts    |    70 +
 .../position/global-position-strategy.d.ts      |    86 +
 .../position/overlay-position-builder.d.ts      |    29 +
 .../overlay/position/position-strategy.d.ts     |    19 +
 .../typings/overlay/position/scroll-clip.d.ts   |    23 +
 .../cdk/typings/overlay/public-api.d.ts         |    34 +
 .../overlay/scroll/block-scroll-strategy.d.ts   |    27 +
 .../overlay/scroll/close-scroll-strategy.d.ts   |    39 +
 .../cdk/typings/overlay/scroll/index.d.ts       |    14 +
 .../overlay/scroll/noop-scroll-strategy.d.ts    |    17 +
 .../scroll/reposition-scroll-strategy.d.ts      |    38 +
 .../overlay/scroll/scroll-strategy-options.d.ts |    42 +
 .../typings/overlay/scroll/scroll-strategy.d.ts |    23 +
 .../@angular/cdk/typings/platform/features.d.ts |     7 +
 .../@angular/cdk/typings/platform/index.d.ts    |     4 +
 .../cdk/typings/platform/index.metadata.json    |     1 +
 .../cdk/typings/platform/platform-module.d.ts   |     2 +
 .../@angular/cdk/typings/platform/platform.d.ts |    24 +
 .../cdk/typings/platform/public-api.d.ts        |    10 +
 .../cdk/typings/portal/dom-portal-outlet.d.ts   |    41 +
 .../@angular/cdk/typings/portal/index.d.ts      |     4 +
 .../cdk/typings/portal/index.metadata.json      |     1 +
 .../cdk/typings/portal/portal-directives.d.ts   |    68 +
 .../cdk/typings/portal/portal-errors.d.ts       |    37 +
 .../cdk/typings/portal/portal-injector.d.ts     |    19 +
 .../@angular/cdk/typings/portal/portal.d.ts     |   103 +
 .../@angular/cdk/typings/portal/public-api.d.ts |    14 +
 .../@angular/cdk/typings/public-api.d.ts        |     8 +
 .../@angular/cdk/typings/scrolling/index.d.ts   |     4 +
 .../cdk/typings/scrolling/index.metadata.json   |     1 +
 .../cdk/typings/scrolling/public-api.d.ts       |    11 +
 .../typings/scrolling/scroll-dispatcher.d.ts    |    80 +
 .../cdk/typings/scrolling/scrollable.d.ts       |    30 +
 .../cdk/typings/scrolling/scrolling-module.d.ts |     2 +
 .../cdk/typings/scrolling/viewport-ruler.d.ts   |    53 +
 .../@angular/cdk/typings/stepper/index.d.ts     |     4 +
 .../cdk/typings/stepper/index.metadata.json     |     1 +
 .../cdk/typings/stepper/public-api.d.ts         |    11 +
 .../cdk/typings/stepper/step-label.d.ts         |    12 +
 .../cdk/typings/stepper/stepper-button.d.ts     |    15 +
 .../cdk/typings/stepper/stepper-module.d.ts     |     2 +
 .../@angular/cdk/typings/stepper/stepper.d.ts   |   109 +
 .../@angular/cdk/typings/table/cell.d.ts        |    51 +
 .../@angular/cdk/typings/table/index.d.ts       |     4 +
 .../cdk/typings/table/index.metadata.json       |     1 +
 .../@angular/cdk/typings/table/public-api.d.ts  |    13 +
 .../@angular/cdk/typings/table/row.d.ts         |    98 +
 .../cdk/typings/table/table-errors.d.ts         |    38 +
 .../cdk/typings/table/table-module.d.ts         |     2 +
 .../@angular/cdk/typings/table/table.d.ts       |   206 +
 node_modules/@angular/cdk/typings/version.d.ts  |    10 +
 node_modules/@angular/common/README.md          |     6 +
 .../common/bundles/common-http-testing.umd.js   |   571 +
 .../bundles/common-http-testing.umd.js.map      |     1 +
 .../bundles/common-http-testing.umd.min.js      |    19 +
 .../bundles/common-http-testing.umd.min.js.map  |     1 +
 .../@angular/common/bundles/common-http.umd.js  |  2728 ++
 .../common/bundles/common-http.umd.js.map       |     1 +
 .../common/bundles/common-http.umd.min.js       |    40 +
 .../common/bundles/common-http.umd.min.js.map   |     1 +
 .../common/bundles/common-testing.umd.js        |   437 +
 .../common/bundles/common-testing.umd.js.map    |     1 +
 .../common/bundles/common-testing.umd.min.js    |     7 +
 .../bundles/common-testing.umd.min.js.map       |     1 +
 .../@angular/common/bundles/common.umd.js       |  6655 ++++
 .../@angular/common/bundles/common.umd.js.map   |     1 +
 .../@angular/common/bundles/common.umd.min.js   |    43 +
 .../common/bundles/common.umd.min.js.map        |     1 +
 node_modules/@angular/common/common.d.ts        |    10 +
 .../@angular/common/common.metadata.json        |     1 +
 node_modules/@angular/common/esm2015/common.js  |  6030 +++
 .../@angular/common/esm2015/common.js.map       |     1 +
 node_modules/@angular/common/esm2015/http.js    |  2224 ++
 .../@angular/common/esm2015/http.js.map         |     1 +
 .../@angular/common/esm2015/http/testing.js     |   461 +
 .../@angular/common/esm2015/http/testing.js.map |     1 +
 node_modules/@angular/common/esm2015/testing.js |   339 +
 .../@angular/common/esm2015/testing.js.map      |     1 +
 node_modules/@angular/common/esm5/common.js     |  6570 +++
 node_modules/@angular/common/esm5/common.js.map |     1 +
 node_modules/@angular/common/esm5/http.js       |  2713 ++
 node_modules/@angular/common/esm5/http.js.map   |     1 +
 .../@angular/common/esm5/http/testing.js        |   577 +
 .../@angular/common/esm5/http/testing.js.map    |     1 +
 node_modules/@angular/common/esm5/testing.js    |   438 +
 .../@angular/common/esm5/testing.js.map         |     1 +
 node_modules/@angular/common/http.d.ts          |     6 +
 node_modules/@angular/common/http.metadata.json |     1 +
 node_modules/@angular/common/http/http.d.ts     |     9 +
 .../@angular/common/http/http.metadata.json     |     1 +
 node_modules/@angular/common/http/package.json  |     7 +
 .../@angular/common/http/public_api.d.ts        |    18 +
 node_modules/@angular/common/http/testing.d.ts  |     6 +
 .../@angular/common/http/testing.metadata.json  |     1 +
 .../@angular/common/http/testing/package.json   |     7 +
 .../common/http/testing/public_api.d.ts         |    10 +
 .../@angular/common/http/testing/testing.d.ts   |     5 +
 .../common/http/testing/testing.metadata.json   |     1 +
 node_modules/@angular/common/locales/af-NA.d.ts |     2 +
 node_modules/@angular/common/locales/af-NA.js   |    45 +
 .../@angular/common/locales/af-NA.js.map        |     1 +
 node_modules/@angular/common/locales/af.d.ts    |     2 +
 node_modules/@angular/common/locales/af.js      |    45 +
 node_modules/@angular/common/locales/af.js.map  |     1 +
 node_modules/@angular/common/locales/agq.d.ts   |     2 +
 node_modules/@angular/common/locales/agq.js     |    43 +
 node_modules/@angular/common/locales/agq.js.map |     1 +
 node_modules/@angular/common/locales/ak.d.ts    |     2 +
 node_modules/@angular/common/locales/ak.js      |    47 +
 node_modules/@angular/common/locales/ak.js.map  |     1 +
 node_modules/@angular/common/locales/am.d.ts    |     2 +
 node_modules/@angular/common/locales/am.js      |    45 +
 node_modules/@angular/common/locales/am.js.map  |     1 +
 node_modules/@angular/common/locales/ar-AE.d.ts |     2 +
 node_modules/@angular/common/locales/ar-AE.js   |    53 +
 .../@angular/common/locales/ar-AE.js.map        |     1 +
 node_modules/@angular/common/locales/ar-BH.d.ts |     2 +
 node_modules/@angular/common/locales/ar-BH.js   |    53 +
 .../@angular/common/locales/ar-BH.js.map        |     1 +
 node_modules/@angular/common/locales/ar-DJ.d.ts |     2 +
 node_modules/@angular/common/locales/ar-DJ.js   |    53 +
 .../@angular/common/locales/ar-DJ.js.map        |     1 +
 node_modules/@angular/common/locales/ar-DZ.d.ts |     2 +
 node_modules/@angular/common/locales/ar-DZ.js   |    53 +
 .../@angular/common/locales/ar-DZ.js.map        |     1 +
 node_modules/@angular/common/locales/ar-EG.d.ts |     2 +
 node_modules/@angular/common/locales/ar-EG.js   |    53 +
 .../@angular/common/locales/ar-EG.js.map        |     1 +
 node_modules/@angular/common/locales/ar-EH.d.ts |     2 +
 node_modules/@angular/common/locales/ar-EH.js   |    53 +
 .../@angular/common/locales/ar-EH.js.map        |     1 +
 node_modules/@angular/common/locales/ar-ER.d.ts |     2 +
 node_modules/@angular/common/locales/ar-ER.js   |    53 +
 .../@angular/common/locales/ar-ER.js.map        |     1 +
 node_modules/@angular/common/locales/ar-IL.d.ts |     2 +
 node_modules/@angular/common/locales/ar-IL.js   |    53 +
 .../@angular/common/locales/ar-IL.js.map        |     1 +
 node_modules/@angular/common/locales/ar-IQ.d.ts |     2 +
 node_modules/@angular/common/locales/ar-IQ.js   |    63 +
 .../@angular/common/locales/ar-IQ.js.map        |     1 +
 node_modules/@angular/common/locales/ar-JO.d.ts |     2 +
 node_modules/@angular/common/locales/ar-JO.js   |    53 +
 .../@angular/common/locales/ar-JO.js.map        |     1 +
 node_modules/@angular/common/locales/ar-KM.d.ts |     2 +
 node_modules/@angular/common/locales/ar-KM.js   |    53 +
 .../@angular/common/locales/ar-KM.js.map        |     1 +
 node_modules/@angular/common/locales/ar-KW.d.ts |     2 +
 node_modules/@angular/common/locales/ar-KW.js   |    53 +
 .../@angular/common/locales/ar-KW.js.map        |     1 +
 node_modules/@angular/common/locales/ar-LB.d.ts |     2 +
 node_modules/@angular/common/locales/ar-LB.js   |    53 +
 .../@angular/common/locales/ar-LB.js.map        |     1 +
 node_modules/@angular/common/locales/ar-LY.d.ts |     2 +
 node_modules/@angular/common/locales/ar-LY.js   |    53 +
 .../@angular/common/locales/ar-LY.js.map        |     1 +
 node_modules/@angular/common/locales/ar-MA.d.ts |     2 +
 node_modules/@angular/common/locales/ar-MA.js   |    53 +
 .../@angular/common/locales/ar-MA.js.map        |     1 +
 node_modules/@angular/common/locales/ar-MR.d.ts |     2 +
 node_modules/@angular/common/locales/ar-MR.js   |    53 +
 .../@angular/common/locales/ar-MR.js.map        |     1 +
 node_modules/@angular/common/locales/ar-OM.d.ts |     2 +
 node_modules/@angular/common/locales/ar-OM.js   |    53 +
 .../@angular/common/locales/ar-OM.js.map        |     1 +
 node_modules/@angular/common/locales/ar-PS.d.ts |     2 +
 node_modules/@angular/common/locales/ar-PS.js   |    53 +
 .../@angular/common/locales/ar-PS.js.map        |     1 +
 node_modules/@angular/common/locales/ar-QA.d.ts |     2 +
 node_modules/@angular/common/locales/ar-QA.js   |    53 +
 .../@angular/common/locales/ar-QA.js.map        |     1 +
 node_modules/@angular/common/locales/ar-SA.d.ts |     2 +
 node_modules/@angular/common/locales/ar-SA.js   |    53 +
 .../@angular/common/locales/ar-SA.js.map        |     1 +
 node_modules/@angular/common/locales/ar-SD.d.ts |     2 +
 node_modules/@angular/common/locales/ar-SD.js   |    53 +
 .../@angular/common/locales/ar-SD.js.map        |     1 +
 node_modules/@angular/common/locales/ar-SO.d.ts |     2 +
 node_modules/@angular/common/locales/ar-SO.js   |    53 +
 .../@angular/common/locales/ar-SO.js.map        |     1 +
 node_modules/@angular/common/locales/ar-SS.d.ts |     2 +
 node_modules/@angular/common/locales/ar-SS.js   |    53 +
 .../@angular/common/locales/ar-SS.js.map        |     1 +
 node_modules/@angular/common/locales/ar-SY.d.ts |     2 +
 node_modules/@angular/common/locales/ar-SY.js   |    53 +
 .../@angular/common/locales/ar-SY.js.map        |     1 +
 node_modules/@angular/common/locales/ar-TD.d.ts |     2 +
 node_modules/@angular/common/locales/ar-TD.js   |    53 +
 .../@angular/common/locales/ar-TD.js.map        |     1 +
 node_modules/@angular/common/locales/ar-TN.d.ts |     2 +
 node_modules/@angular/common/locales/ar-TN.js   |    53 +
 .../@angular/common/locales/ar-TN.js.map        |     1 +
 node_modules/@angular/common/locales/ar-YE.d.ts |     2 +
 node_modules/@angular/common/locales/ar-YE.js   |    53 +
 .../@angular/common/locales/ar-YE.js.map        |     1 +
 node_modules/@angular/common/locales/ar.d.ts    |     2 +
 node_modules/@angular/common/locales/ar.js      |    53 +
 node_modules/@angular/common/locales/ar.js.map  |     1 +
 node_modules/@angular/common/locales/as.d.ts    |     2 +
 node_modules/@angular/common/locales/as.js      |    54 +
 node_modules/@angular/common/locales/as.js.map  |     1 +
 node_modules/@angular/common/locales/asa.d.ts   |     2 +
 node_modules/@angular/common/locales/asa.js     |    45 +
 node_modules/@angular/common/locales/asa.js.map |     1 +
 node_modules/@angular/common/locales/ast.d.ts   |     2 +
 node_modules/@angular/common/locales/ast.js     |    50 +
 node_modules/@angular/common/locales/ast.js.map |     1 +
 .../@angular/common/locales/az-Cyrl.d.ts        |     2 +
 node_modules/@angular/common/locales/az-Cyrl.js |    52 +
 .../@angular/common/locales/az-Cyrl.js.map      |     1 +
 .../@angular/common/locales/az-Latn.d.ts        |     2 +
 node_modules/@angular/common/locales/az-Latn.js |    55 +
 .../@angular/common/locales/az-Latn.js.map      |     1 +
 node_modules/@angular/common/locales/az.d.ts    |     2 +
 node_modules/@angular/common/locales/az.js      |    55 +
 node_modules/@angular/common/locales/az.js.map  |     1 +
 node_modules/@angular/common/locales/bas.d.ts   |     2 +
 node_modules/@angular/common/locales/bas.js     |    42 +
 node_modules/@angular/common/locales/bas.js.map |     1 +
 node_modules/@angular/common/locales/be.d.ts    |     2 +
 node_modules/@angular/common/locales/be.js      |    62 +
 node_modules/@angular/common/locales/be.js.map  |     1 +
 node_modules/@angular/common/locales/bem.d.ts   |     2 +
 node_modules/@angular/common/locales/bem.js     |    48 +
 node_modules/@angular/common/locales/bem.js.map |     1 +
 node_modules/@angular/common/locales/bez.d.ts   |     2 +
 node_modules/@angular/common/locales/bez.js     |    50 +
 node_modules/@angular/common/locales/bez.js.map |     1 +
 node_modules/@angular/common/locales/bg.d.ts    |     2 +
 node_modules/@angular/common/locales/bg.js      |    44 +
 node_modules/@angular/common/locales/bg.js.map  |     1 +
 node_modules/@angular/common/locales/bm.d.ts    |     2 +
 node_modules/@angular/common/locales/bm.js      |    42 +
 node_modules/@angular/common/locales/bm.js.map  |     1 +
 node_modules/@angular/common/locales/bn-IN.d.ts |     2 +
 node_modules/@angular/common/locales/bn-IN.js   |    60 +
 .../@angular/common/locales/bn-IN.js.map        |     1 +
 node_modules/@angular/common/locales/bn.d.ts    |     2 +
 node_modules/@angular/common/locales/bn.js      |    60 +
 node_modules/@angular/common/locales/bn.js.map  |     1 +
 node_modules/@angular/common/locales/bo-IN.d.ts |     2 +
 node_modules/@angular/common/locales/bo-IN.js   |    53 +
 .../@angular/common/locales/bo-IN.js.map        |     1 +
 node_modules/@angular/common/locales/bo.d.ts    |     2 +
 node_modules/@angular/common/locales/bo.js      |    53 +
 node_modules/@angular/common/locales/bo.js.map  |     1 +
 node_modules/@angular/common/locales/br.d.ts    |     2 +
 node_modules/@angular/common/locales/br.js      |    70 +
 node_modules/@angular/common/locales/br.js.map  |     1 +
 node_modules/@angular/common/locales/brx.d.ts   |     2 +
 node_modules/@angular/common/locales/brx.js     |    47 +
 node_modules/@angular/common/locales/brx.js.map |     1 +
 .../@angular/common/locales/bs-Cyrl.d.ts        |     2 +
 node_modules/@angular/common/locales/bs-Cyrl.js |    42 +
 .../@angular/common/locales/bs-Cyrl.js.map      |     1 +
 .../@angular/common/locales/bs-Latn.d.ts        |     2 +
 node_modules/@angular/common/locales/bs-Latn.js |    56 +
 .../@angular/common/locales/bs-Latn.js.map      |     1 +
 node_modules/@angular/common/locales/bs.d.ts    |     2 +
 node_modules/@angular/common/locales/bs.js      |    56 +
 node_modules/@angular/common/locales/bs.js.map  |     1 +
 node_modules/@angular/common/locales/ca-AD.d.ts |     2 +
 node_modules/@angular/common/locales/ca-AD.js   |    59 +
 .../@angular/common/locales/ca-AD.js.map        |     1 +
 .../@angular/common/locales/ca-ES-VALENCIA.d.ts |     2 +
 .../@angular/common/locales/ca-ES-VALENCIA.js   |    59 +
 .../common/locales/ca-ES-VALENCIA.js.map        |     1 +
 node_modules/@angular/common/locales/ca-FR.d.ts |     2 +
 node_modules/@angular/common/locales/ca-FR.js   |    59 +
 .../@angular/common/locales/ca-FR.js.map        |     1 +
 node_modules/@angular/common/locales/ca-IT.d.ts |     2 +
 node_modules/@angular/common/locales/ca-IT.js   |    59 +
 .../@angular/common/locales/ca-IT.js.map        |     1 +
 node_modules/@angular/common/locales/ca.d.ts    |     2 +
 node_modules/@angular/common/locales/ca.js      |    59 +
 node_modules/@angular/common/locales/ca.js.map  |     1 +
 .../@angular/common/locales/ccp-IN.d.ts         |     2 +
 node_modules/@angular/common/locales/ccp-IN.js  |    53 +
 .../@angular/common/locales/ccp-IN.js.map       |     1 +
 node_modules/@angular/common/locales/ccp.d.ts   |     2 +
 node_modules/@angular/common/locales/ccp.js     |    53 +
 node_modules/@angular/common/locales/ccp.js.map |     1 +
 node_modules/@angular/common/locales/ce.d.ts    |     2 +
 node_modules/@angular/common/locales/ce.js      |    52 +
 node_modules/@angular/common/locales/ce.js.map  |     1 +
 node_modules/@angular/common/locales/cgg.d.ts   |     2 +
 node_modules/@angular/common/locales/cgg.js     |    46 +
 node_modules/@angular/common/locales/cgg.js.map |     1 +
 node_modules/@angular/common/locales/chr.d.ts   |     2 +
 node_modules/@angular/common/locales/chr.js     |    45 +
 node_modules/@angular/common/locales/chr.js.map |     1 +
 .../@angular/common/locales/ckb-IR.d.ts         |     2 +
 node_modules/@angular/common/locales/ckb-IR.js  |    47 +
 .../@angular/common/locales/ckb-IR.js.map       |     1 +
 node_modules/@angular/common/locales/ckb.d.ts   |     2 +
 node_modules/@angular/common/locales/ckb.js     |    47 +
 node_modules/@angular/common/locales/ckb.js.map |     1 +
 node_modules/@angular/common/locales/cs.d.ts    |     2 +
 node_modules/@angular/common/locales/cs.js      |    58 +
 node_modules/@angular/common/locales/cs.js.map  |     1 +
 node_modules/@angular/common/locales/cu.d.ts    |     2 +
 node_modules/@angular/common/locales/cu.js      |    41 +
 node_modules/@angular/common/locales/cu.js.map  |     1 +
 node_modules/@angular/common/locales/cy.d.ts    |     2 +
 node_modules/@angular/common/locales/cy.js      |    73 +
 node_modules/@angular/common/locales/cy.js.map  |     1 +
 node_modules/@angular/common/locales/da-GL.d.ts |     2 +
 node_modules/@angular/common/locales/da-GL.js   |    57 +
 .../@angular/common/locales/da-GL.js.map        |     1 +
 node_modules/@angular/common/locales/da.d.ts    |     2 +
 node_modules/@angular/common/locales/da.js      |    57 +
 node_modules/@angular/common/locales/da.js.map  |     1 +
 node_modules/@angular/common/locales/dav.d.ts   |     2 +
 node_modules/@angular/common/locales/dav.js     |    46 +
 node_modules/@angular/common/locales/dav.js.map |     1 +
 node_modules/@angular/common/locales/de-AT.d.ts |     2 +
 node_modules/@angular/common/locales/de-AT.js   |    64 +
 .../@angular/common/locales/de-AT.js.map        |     1 +
 node_modules/@angular/common/locales/de-BE.d.ts |     2 +
 node_modules/@angular/common/locales/de-BE.js   |    64 +
 .../@angular/common/locales/de-BE.js.map        |     1 +
 node_modules/@angular/common/locales/de-CH.d.ts |     2 +
 node_modules/@angular/common/locales/de-CH.js   |    64 +
 .../@angular/common/locales/de-CH.js.map        |     1 +
 node_modules/@angular/common/locales/de-IT.d.ts |     2 +
 node_modules/@angular/common/locales/de-IT.js   |    64 +
 .../@angular/common/locales/de-IT.js.map        |     1 +
 node_modules/@angular/common/locales/de-LI.d.ts |     2 +
 node_modules/@angular/common/locales/de-LI.js   |    64 +
 .../@angular/common/locales/de-LI.js.map        |     1 +
 node_modules/@angular/common/locales/de-LU.d.ts |     2 +
 node_modules/@angular/common/locales/de-LU.js   |    64 +
 .../@angular/common/locales/de-LU.js.map        |     1 +
 node_modules/@angular/common/locales/de.d.ts    |     2 +
 node_modules/@angular/common/locales/de.js      |    64 +
 node_modules/@angular/common/locales/de.js.map  |     1 +
 node_modules/@angular/common/locales/dje.d.ts   |     2 +
 node_modules/@angular/common/locales/dje.js     |    42 +
 node_modules/@angular/common/locales/dje.js.map |     1 +
 node_modules/@angular/common/locales/dsb.d.ts   |     2 +
 node_modules/@angular/common/locales/dsb.js     |    64 +
 node_modules/@angular/common/locales/dsb.js.map |     1 +
 node_modules/@angular/common/locales/dua.d.ts   |     2 +
 node_modules/@angular/common/locales/dua.js     |    42 +
 node_modules/@angular/common/locales/dua.js.map |     1 +
 node_modules/@angular/common/locales/dyo.d.ts   |     2 +
 node_modules/@angular/common/locales/dyo.js     |    42 +
 node_modules/@angular/common/locales/dyo.js.map |     1 +
 node_modules/@angular/common/locales/dz.d.ts    |     2 +
 node_modules/@angular/common/locales/dz.js      |    52 +
 node_modules/@angular/common/locales/dz.js.map  |     1 +
 node_modules/@angular/common/locales/ebu.d.ts   |     2 +
 node_modules/@angular/common/locales/ebu.js     |    43 +
 node_modules/@angular/common/locales/ebu.js.map |     1 +
 node_modules/@angular/common/locales/ee-TG.d.ts |     2 +
 node_modules/@angular/common/locales/ee-TG.js   |    46 +
 .../@angular/common/locales/ee-TG.js.map        |     1 +
 node_modules/@angular/common/locales/ee.d.ts    |     2 +
 node_modules/@angular/common/locales/ee.js      |    45 +
 node_modules/@angular/common/locales/ee.js.map  |     1 +
 node_modules/@angular/common/locales/el-CY.d.ts |     2 +
 node_modules/@angular/common/locales/el-CY.js   |    52 +
 .../@angular/common/locales/el-CY.js.map        |     1 +
 node_modules/@angular/common/locales/el.d.ts    |     2 +
 node_modules/@angular/common/locales/el.js      |    52 +
 node_modules/@angular/common/locales/el.js.map  |     1 +
 .../@angular/common/locales/en-001.d.ts         |     2 +
 node_modules/@angular/common/locales/en-001.js  |    50 +
 .../@angular/common/locales/en-001.js.map       |     1 +
 .../@angular/common/locales/en-150.d.ts         |     2 +
 node_modules/@angular/common/locales/en-150.js  |    50 +
 .../@angular/common/locales/en-150.js.map       |     1 +
 node_modules/@angular/common/locales/en-AG.d.ts |     2 +
 node_modules/@angular/common/locales/en-AG.js   |    50 +
 .../@angular/common/locales/en-AG.js.map        |     1 +
 node_modules/@angular/common/locales/en-AI.d.ts |     2 +
 node_modules/@angular/common/locales/en-AI.js   |    50 +
 .../@angular/common/locales/en-AI.js.map        |     1 +
 node_modules/@angular/common/locales/en-AS.d.ts |     2 +
 node_modules/@angular/common/locales/en-AS.js   |    50 +
 .../@angular/common/locales/en-AS.js.map        |     1 +
 node_modules/@angular/common/locales/en-AT.d.ts |     2 +
 node_modules/@angular/common/locales/en-AT.js   |    50 +
 .../@angular/common/locales/en-AT.js.map        |     1 +
 node_modules/@angular/common/locales/en-AU.d.ts |     2 +
 node_modules/@angular/common/locales/en-AU.js   |    48 +
 .../@angular/common/locales/en-AU.js.map        |     1 +
 node_modules/@angular/common/locales/en-BB.d.ts |     2 +
 node_modules/@angular/common/locales/en-BB.js   |    50 +
 .../@angular/common/locales/en-BB.js.map        |     1 +
 node_modules/@angular/common/locales/en-BE.d.ts |     2 +
 node_modules/@angular/common/locales/en-BE.js   |    50 +
 .../@angular/common/locales/en-BE.js.map        |     1 +
 node_modules/@angular/common/locales/en-BI.d.ts |     2 +
 node_modules/@angular/common/locales/en-BI.js   |    50 +
 .../@angular/common/locales/en-BI.js.map        |     1 +
 node_modules/@angular/common/locales/en-BM.d.ts |     2 +
 node_modules/@angular/common/locales/en-BM.js   |    50 +
 .../@angular/common/locales/en-BM.js.map        |     1 +
 node_modules/@angular/common/locales/en-BS.d.ts |     2 +
 node_modules/@angular/common/locales/en-BS.js   |    50 +
 .../@angular/common/locales/en-BS.js.map        |     1 +
 node_modules/@angular/common/locales/en-BW.d.ts |     2 +
 node_modules/@angular/common/locales/en-BW.js   |    50 +
 .../@angular/common/locales/en-BW.js.map        |     1 +
 node_modules/@angular/common/locales/en-BZ.d.ts |     2 +
 node_modules/@angular/common/locales/en-BZ.js   |    50 +
 .../@angular/common/locales/en-BZ.js.map        |     1 +
 node_modules/@angular/common/locales/en-CA.d.ts |     2 +
 node_modules/@angular/common/locales/en-CA.js   |    57 +
 .../@angular/common/locales/en-CA.js.map        |     1 +
 node_modules/@angular/common/locales/en-CC.d.ts |     2 +
 node_modules/@angular/common/locales/en-CC.js   |    50 +
 .../@angular/common/locales/en-CC.js.map        |     1 +
 node_modules/@angular/common/locales/en-CH.d.ts |     2 +
 node_modules/@angular/common/locales/en-CH.js   |    50 +
 .../@angular/common/locales/en-CH.js.map        |     1 +
 node_modules/@angular/common/locales/en-CK.d.ts |     2 +
 node_modules/@angular/common/locales/en-CK.js   |    50 +
 .../@angular/common/locales/en-CK.js.map        |     1 +
 node_modules/@angular/common/locales/en-CM.d.ts |     2 +
 node_modules/@angular/common/locales/en-CM.js   |    50 +
 .../@angular/common/locales/en-CM.js.map        |     1 +
 node_modules/@angular/common/locales/en-CX.d.ts |     2 +
 node_modules/@angular/common/locales/en-CX.js   |    50 +
 .../@angular/common/locales/en-CX.js.map        |     1 +
 node_modules/@angular/common/locales/en-CY.d.ts |     2 +
 node_modules/@angular/common/locales/en-CY.js   |    50 +
 .../@angular/common/locales/en-CY.js.map        |     1 +
 node_modules/@angular/common/locales/en-DE.d.ts |     2 +
 node_modules/@angular/common/locales/en-DE.js   |    50 +
 .../@angular/common/locales/en-DE.js.map        |     1 +
 node_modules/@angular/common/locales/en-DG.d.ts |     2 +
 node_modules/@angular/common/locales/en-DG.js   |    50 +
 .../@angular/common/locales/en-DG.js.map        |     1 +
 node_modules/@angular/common/locales/en-DK.d.ts |     2 +
 node_modules/@angular/common/locales/en-DK.js   |    50 +
 .../@angular/common/locales/en-DK.js.map        |     1 +
 node_modules/@angular/common/locales/en-DM.d.ts |     2 +
 node_modules/@angular/common/locales/en-DM.js   |    50 +
 .../@angular/common/locales/en-DM.js.map        |     1 +
 node_modules/@angular/common/locales/en-ER.d.ts |     2 +
 node_modules/@angular/common/locales/en-ER.js   |    50 +
 .../@angular/common/locales/en-ER.js.map        |     1 +
 node_modules/@angular/common/locales/en-FI.d.ts |     2 +
 node_modules/@angular/common/locales/en-FI.js   |    50 +
 .../@angular/common/locales/en-FI.js.map        |     1 +
 node_modules/@angular/common/locales/en-FJ.d.ts |     2 +
 node_modules/@angular/common/locales/en-FJ.js   |    50 +
 .../@angular/common/locales/en-FJ.js.map        |     1 +
 node_modules/@angular/common/locales/en-FK.d.ts |     2 +
 node_modules/@angular/common/locales/en-FK.js   |    50 +
 .../@angular/common/locales/en-FK.js.map        |     1 +
 node_modules/@angular/common/locales/en-FM.d.ts |     2 +
 node_modules/@angular/common/locales/en-FM.js   |    50 +
 .../@angular/common/locales/en-FM.js.map        |     1 +
 node_modules/@angular/common/locales/en-GB.d.ts |     2 +
 node_modules/@angular/common/locales/en-GB.js   |    50 +
 .../@angular/common/locales/en-GB.js.map        |     1 +
 node_modules/@angular/common/locales/en-GD.d.ts |     2 +
 node_modules/@angular/common/locales/en-GD.js   |    50 +
 .../@angular/common/locales/en-GD.js.map        |     1 +
 node_modules/@angular/common/locales/en-GG.d.ts |     2 +
 node_modules/@angular/common/locales/en-GG.js   |    50 +
 .../@angular/common/locales/en-GG.js.map        |     1 +
 node_modules/@angular/common/locales/en-GH.d.ts |     2 +
 node_modules/@angular/common/locales/en-GH.js   |    50 +
 .../@angular/common/locales/en-GH.js.map        |     1 +
 node_modules/@angular/common/locales/en-GI.d.ts |     2 +
 node_modules/@angular/common/locales/en-GI.js   |    50 +
 .../@angular/common/locales/en-GI.js.map        |     1 +
 node_modules/@angular/common/locales/en-GM.d.ts |     2 +
 node_modules/@angular/common/locales/en-GM.js   |    50 +
 .../@angular/common/locales/en-GM.js.map        |     1 +
 node_modules/@angular/common/locales/en-GU.d.ts |     2 +
 node_modules/@angular/common/locales/en-GU.js   |    50 +
 .../@angular/common/locales/en-GU.js.map        |     1 +
 node_modules/@angular/common/locales/en-GY.d.ts |     2 +
 node_modules/@angular/common/locales/en-GY.js   |    50 +
 .../@angular/common/locales/en-GY.js.map        |     1 +
 node_modules/@angular/common/locales/en-HK.d.ts |     2 +
 node_modules/@angular/common/locales/en-HK.js   |    50 +
 .../@angular/common/locales/en-HK.js.map        |     1 +
 node_modules/@angular/common/locales/en-IE.d.ts |     2 +
 node_modules/@angular/common/locales/en-IE.js   |    46 +
 .../@angular/common/locales/en-IE.js.map        |     1 +
 node_modules/@angular/common/locales/en-IL.d.ts |     2 +
 node_modules/@angular/common/locales/en-IL.js   |    50 +
 .../@angular/common/locales/en-IL.js.map        |     1 +
 node_modules/@angular/common/locales/en-IM.d.ts |     2 +
 node_modules/@angular/common/locales/en-IM.js   |    50 +
 .../@angular/common/locales/en-IM.js.map        |     1 +
 node_modules/@angular/common/locales/en-IN.d.ts |     2 +
 node_modules/@angular/common/locales/en-IN.js   |    50 +
 .../@angular/common/locales/en-IN.js.map        |     1 +
 node_modules/@angular/common/locales/en-IO.d.ts |     2 +
 node_modules/@angular/common/locales/en-IO.js   |    50 +
 .../@angular/common/locales/en-IO.js.map        |     1 +
 node_modules/@angular/common/locales/en-JE.d.ts |     2 +
 node_modules/@angular/common/locales/en-JE.js   |    50 +
 .../@angular/common/locales/en-JE.js.map        |     1 +
 node_modules/@angular/common/locales/en-JM.d.ts |     2 +
 node_modules/@angular/common/locales/en-JM.js   |    50 +
 .../@angular/common/locales/en-JM.js.map        |     1 +
 node_modules/@angular/common/locales/en-KE.d.ts |     2 +
 node_modules/@angular/common/locales/en-KE.js   |    50 +
 .../@angular/common/locales/en-KE.js.map        |     1 +
 node_modules/@angular/common/locales/en-KI.d.ts |     2 +
 node_modules/@angular/common/locales/en-KI.js   |    50 +
 .../@angular/common/locales/en-KI.js.map        |     1 +
 node_modules/@angular/common/locales/en-KN.d.ts |     2 +
 node_modules/@angular/common/locales/en-KN.js   |    50 +
 .../@angular/common/locales/en-KN.js.map        |     1 +
 node_modules/@angular/common/locales/en-KY.d.ts |     2 +
 node_modules/@angular/common/locales/en-KY.js   |    50 +
 .../@angular/common/locales/en-KY.js.map        |     1 +
 node_modules/@angular/common/locales/en-LC.d.ts |     2 +
 node_modules/@angular/common/locales/en-LC.js   |    50 +
 .../@angular/common/locales/en-LC.js.map        |     1 +
 node_modules/@angular/common/locales/en-LR.d.ts |     2 +
 node_modules/@angular/common/locales/en-LR.js   |    50 +
 .../@angular/common/locales/en-LR.js.map        |     1 +
 node_modules/@angular/common/locales/en-LS.d.ts |     2 +
 node_modules/@angular/common/locales/en-LS.js   |    50 +
 .../@angular/common/locales/en-LS.js.map        |     1 +
 node_modules/@angular/common/locales/en-MG.d.ts |     2 +
 node_modules/@angular/common/locales/en-MG.js   |    50 +
 .../@angular/common/locales/en-MG.js.map        |     1 +
 node_modules/@angular/common/locales/en-MH.d.ts |     2 +
 node_modules/@angular/common/locales/en-MH.js   |    50 +
 .../@angular/common/locales/en-MH.js.map        |     1 +
 node_modules/@angular/common/locales/en-MO.d.ts |     2 +
 node_modules/@angular/common/locales/en-MO.js   |    50 +
 .../@angular/common/locales/en-MO.js.map        |     1 +
 node_modules/@angular/common/locales/en-MP.d.ts |     2 +
 node_modules/@angular/common/locales/en-MP.js   |    50 +
 .../@angular/common/locales/en-MP.js.map        |     1 +
 node_modules/@angular/common/locales/en-MS.d.ts |     2 +
 node_modules/@angular/common/locales/en-MS.js   |    50 +
 .../@angular/common/locales/en-MS.js.map        |     1 +
 node_modules/@angular/common/locales/en-MT.d.ts |     2 +
 node_modules/@angular/common/locales/en-MT.js   |    50 +
 .../@angular/common/locales/en-MT.js.map        |     1 +
 node_modules/@angular/common/locales/en-MU.d.ts |     2 +
 node_modules/@angular/common/locales/en-MU.js   |    50 +
 .../@angular/common/locales/en-MU.js.map        |     1 +
 node_modules/@angular/common/locales/en-MW.d.ts |     2 +
 node_modules/@angular/common/locales/en-MW.js   |    50 +
 .../@angular/common/locales/en-MW.js.map        |     1 +
 node_modules/@angular/common/locales/en-MY.d.ts |     2 +
 node_modules/@angular/common/locales/en-MY.js   |    50 +
 .../@angular/common/locales/en-MY.js.map        |     1 +
 node_modules/@angular/common/locales/en-NA.d.ts |     2 +
 node_modules/@angular/common/locales/en-NA.js   |    50 +
 .../@angular/common/locales/en-NA.js.map        |     1 +
 node_modules/@angular/common/locales/en-NF.d.ts |     2 +
 node_modules/@angular/common/locales/en-NF.js   |    50 +
 .../@angular/common/locales/en-NF.js.map        |     1 +
 node_modules/@angular/common/locales/en-NG.d.ts |     2 +
 node_modules/@angular/common/locales/en-NG.js   |    50 +
 .../@angular/common/locales/en-NG.js.map        |     1 +
 node_modules/@angular/common/locales/en-NL.d.ts |     2 +
 node_modules/@angular/common/locales/en-NL.js   |    50 +
 .../@angular/common/locales/en-NL.js.map        |     1 +
 node_modules/@angular/common/locales/en-NR.d.ts |     2 +
 node_modules/@angular/common/locales/en-NR.js   |    50 +
 .../@angular/common/locales/en-NR.js.map        |     1 +
 node_modules/@angular/common/locales/en-NU.d.ts |     2 +
 node_modules/@angular/common/locales/en-NU.js   |    50 +
 .../@angular/common/locales/en-NU.js.map        |     1 +
 node_modules/@angular/common/locales/en-NZ.d.ts |     2 +
 node_modules/@angular/common/locales/en-NZ.js   |    50 +
 .../@angular/common/locales/en-NZ.js.map        |     1 +
 node_modules/@angular/common/locales/en-PG.d.ts |     2 +
 node_modules/@angular/common/locales/en-PG.js   |    50 +
 .../@angular/common/locales/en-PG.js.map        |     1 +
 node_modules/@angular/common/locales/en-PH.d.ts |     2 +
 node_modules/@angular/common/locales/en-PH.js   |    50 +
 .../@angular/common/locales/en-PH.js.map        |     1 +
 node_modules/@angular/common/locales/en-PK.d.ts |     2 +
 node_modules/@angular/common/locales/en-PK.js   |    50 +
 .../@angular/common/locales/en-PK.js.map        |     1 +
 node_modules/@angular/common/locales/en-PN.d.ts |     2 +
 node_modules/@angular/common/locales/en-PN.js   |    50 +
 .../@angular/common/locales/en-PN.js.map        |     1 +
 node_modules/@angular/common/locales/en-PR.d.ts |     2 +
 node_modules/@angular/common/locales/en-PR.js   |    50 +
 .../@angular/common/locales/en-PR.js.map        |     1 +
 node_modules/@angular/common/locales/en-PW.d.ts |     2 +
 node_modules/@angular/common/locales/en-PW.js   |    50 +
 .../@angular/common/locales/en-PW.js.map        |     1 +
 node_modules/@angular/common/locales/en-RW.d.ts |     2 +
 node_modules/@angular/common/locales/en-RW.js   |    50 +
 .../@angular/common/locales/en-RW.js.map        |     1 +
 node_modules/@angular/common/locales/en-SB.d.ts |     2 +
 node_modules/@angular/common/locales/en-SB.js   |    50 +
 .../@angular/common/locales/en-SB.js.map        |     1 +
 node_modules/@angular/common/locales/en-SC.d.ts |     2 +
 node_modules/@angular/common/locales/en-SC.js   |    50 +
 .../@angular/common/locales/en-SC.js.map        |     1 +
 node_modules/@angular/common/locales/en-SD.d.ts |     2 +
 node_modules/@angular/common/locales/en-SD.js   |    50 +
 .../@angular/common/locales/en-SD.js.map        |     1 +
 node_modules/@angular/common/locales/en-SE.d.ts |     2 +
 node_modules/@angular/common/locales/en-SE.js   |    50 +
 .../@angular/common/locales/en-SE.js.map        |     1 +
 node_modules/@angular/common/locales/en-SG.d.ts |     2 +
 node_modules/@angular/common/locales/en-SG.js   |    50 +
 .../@angular/common/locales/en-SG.js.map        |     1 +
 node_modules/@angular/common/locales/en-SH.d.ts |     2 +
 node_modules/@angular/common/locales/en-SH.js   |    50 +
 .../@angular/common/locales/en-SH.js.map        |     1 +
 node_modules/@angular/common/locales/en-SI.d.ts |     2 +
 node_modules/@angular/common/locales/en-SI.js   |    50 +
 .../@angular/common/locales/en-SI.js.map        |     1 +
 node_modules/@angular/common/locales/en-SL.d.ts |     2 +
 node_modules/@angular/common/locales/en-SL.js   |    50 +
 .../@angular/common/locales/en-SL.js.map        |     1 +
 node_modules/@angular/common/locales/en-SS.d.ts |     2 +
 node_modules/@angular/common/locales/en-SS.js   |    50 +
 .../@angular/common/locales/en-SS.js.map        |     1 +
 node_modules/@angular/common/locales/en-SX.d.ts |     2 +
 node_modules/@angular/common/locales/en-SX.js   |    50 +
 .../@angular/common/locales/en-SX.js.map        |     1 +
 node_modules/@angular/common/locales/en-SZ.d.ts |     2 +
 node_modules/@angular/common/locales/en-SZ.js   |    50 +
 .../@angular/common/locales/en-SZ.js.map        |     1 +
 node_modules/@angular/common/locales/en-TC.d.ts |     2 +
 node_modules/@angular/common/locales/en-TC.js   |    50 +
 .../@angular/common/locales/en-TC.js.map        |     1 +
 node_modules/@angular/common/locales/en-TK.d.ts |     2 +
 node_modules/@angular/common/locales/en-TK.js   |    50 +
 .../@angular/common/locales/en-TK.js.map        |     1 +
 node_modules/@angular/common/locales/en-TO.d.ts |     2 +
 node_modules/@angular/common/locales/en-TO.js   |    50 +
 .../@angular/common/locales/en-TO.js.map        |     1 +
 node_modules/@angular/common/locales/en-TT.d.ts |     2 +
 node_modules/@angular/common/locales/en-TT.js   |    50 +
 .../@angular/common/locales/en-TT.js.map        |     1 +
 node_modules/@angular/common/locales/en-TV.d.ts |     2 +
 node_modules/@angular/common/locales/en-TV.js   |    50 +
 .../@angular/common/locales/en-TV.js.map        |     1 +
 node_modules/@angular/common/locales/en-TZ.d.ts |     2 +
 node_modules/@angular/common/locales/en-TZ.js   |    50 +
 .../@angular/common/locales/en-TZ.js.map        |     1 +
 node_modules/@angular/common/locales/en-UG.d.ts |     2 +
 node_modules/@angular/common/locales/en-UG.js   |    50 +
 .../@angular/common/locales/en-UG.js.map        |     1 +
 node_modules/@angular/common/locales/en-UM.d.ts |     2 +
 node_modules/@angular/common/locales/en-UM.js   |    50 +
 .../@angular/common/locales/en-UM.js.map        |     1 +
 .../@angular/common/locales/en-US-POSIX.d.ts    |     2 +
 .../@angular/common/locales/en-US-POSIX.js      |    50 +
 .../@angular/common/locales/en-US-POSIX.js.map  |     1 +
 node_modules/@angular/common/locales/en-VC.d.ts |     2 +
 node_modules/@angular/common/locales/en-VC.js   |    50 +
 .../@angular/common/locales/en-VC.js.map        |     1 +
 node_modules/@angular/common/locales/en-VG.d.ts |     2 +
 node_modules/@angular/common/locales/en-VG.js   |    50 +
 .../@angular/common/locales/en-VG.js.map        |     1 +
 node_modules/@angular/common/locales/en-VI.d.ts |     2 +
 node_modules/@angular/common/locales/en-VI.js   |    50 +
 .../@angular/common/locales/en-VI.js.map        |     1 +
 node_modules/@angular/common/locales/en-VU.d.ts |     2 +
 node_modules/@angular/common/locales/en-VU.js   |    50 +
 .../@angular/common/locales/en-VU.js.map        |     1 +
 node_modules/@angular/common/locales/en-WS.d.ts |     2 +
 node_modules/@angular/common/locales/en-WS.js   |    50 +
 .../@angular/common/locales/en-WS.js.map        |     1 +
 node_modules/@angular/common/locales/en-ZA.d.ts |     2 +
 node_modules/@angular/common/locales/en-ZA.js   |    50 +
 .../@angular/common/locales/en-ZA.js.map        |     1 +
 node_modules/@angular/common/locales/en-ZM.d.ts |     2 +
 node_modules/@angular/common/locales/en-ZM.js   |    50 +
 .../@angular/common/locales/en-ZM.js.map        |     1 +
 node_modules/@angular/common/locales/en-ZW.d.ts |     2 +
 node_modules/@angular/common/locales/en-ZW.js   |    50 +
 .../@angular/common/locales/en-ZW.js.map        |     1 +
 node_modules/@angular/common/locales/en.d.ts    |     2 +
 node_modules/@angular/common/locales/en.js      |    50 +
 node_modules/@angular/common/locales/en.js.map  |     1 +
 node_modules/@angular/common/locales/eo.d.ts    |     2 +
 node_modules/@angular/common/locales/eo.js      |    48 +
 node_modules/@angular/common/locales/eo.js.map  |     1 +
 .../@angular/common/locales/es-419.d.ts         |     2 +
 node_modules/@angular/common/locales/es-419.js  |    54 +
 .../@angular/common/locales/es-419.js.map       |     1 +
 node_modules/@angular/common/locales/es-AR.d.ts |     2 +
 node_modules/@angular/common/locales/es-AR.js   |    47 +
 .../@angular/common/locales/es-AR.js.map        |     1 +
 node_modules/@angular/common/locales/es-BO.d.ts |     2 +
 node_modules/@angular/common/locales/es-BO.js   |    51 +
 .../@angular/common/locales/es-BO.js.map        |     1 +
 node_modules/@angular/common/locales/es-BR.d.ts |     2 +
 node_modules/@angular/common/locales/es-BR.js   |    54 +
 .../@angular/common/locales/es-BR.js.map        |     1 +
 node_modules/@angular/common/locales/es-BZ.d.ts |     2 +
 node_modules/@angular/common/locales/es-BZ.js   |    54 +
 .../@angular/common/locales/es-BZ.js.map        |     1 +
 node_modules/@angular/common/locales/es-CL.d.ts |     2 +
 node_modules/@angular/common/locales/es-CL.js   |    61 +
 .../@angular/common/locales/es-CL.js.map        |     1 +
 node_modules/@angular/common/locales/es-CO.d.ts |     2 +
 node_modules/@angular/common/locales/es-CO.js   |    61 +
 .../@angular/common/locales/es-CO.js.map        |     1 +
 node_modules/@angular/common/locales/es-CR.d.ts |     2 +
 node_modules/@angular/common/locales/es-CR.js   |    51 +
 .../@angular/common/locales/es-CR.js.map        |     1 +
 node_modules/@angular/common/locales/es-CU.d.ts |     2 +
 node_modules/@angular/common/locales/es-CU.js   |    54 +
 .../@angular/common/locales/es-CU.js.map        |     1 +
 node_modules/@angular/common/locales/es-DO.d.ts |     2 +
 node_modules/@angular/common/locales/es-DO.js   |    47 +
 .../@angular/common/locales/es-DO.js.map        |     1 +
 node_modules/@angular/common/locales/es-EA.d.ts |     2 +
 node_modules/@angular/common/locales/es-EA.js   |    48 +
 .../@angular/common/locales/es-EA.js.map        |     1 +
 node_modules/@angular/common/locales/es-EC.d.ts |     2 +
 node_modules/@angular/common/locales/es-EC.js   |    52 +
 .../@angular/common/locales/es-EC.js.map        |     1 +
 node_modules/@angular/common/locales/es-GQ.d.ts |     2 +
 node_modules/@angular/common/locales/es-GQ.js   |    49 +
 .../@angular/common/locales/es-GQ.js.map        |     1 +
 node_modules/@angular/common/locales/es-GT.d.ts |     2 +
 node_modules/@angular/common/locales/es-GT.js   |    51 +
 .../@angular/common/locales/es-GT.js.map        |     1 +
 node_modules/@angular/common/locales/es-HN.d.ts |     2 +
 node_modules/@angular/common/locales/es-HN.js   |    51 +
 .../@angular/common/locales/es-HN.js.map        |     1 +
 node_modules/@angular/common/locales/es-IC.d.ts |     2 +
 node_modules/@angular/common/locales/es-IC.js   |    48 +
 .../@angular/common/locales/es-IC.js.map        |     1 +
 node_modules/@angular/common/locales/es-MX.d.ts |     2 +
 node_modules/@angular/common/locales/es-MX.js   |    58 +
 .../@angular/common/locales/es-MX.js.map        |     1 +
 node_modules/@angular/common/locales/es-NI.d.ts |     2 +
 node_modules/@angular/common/locales/es-NI.js   |    51 +
 .../@angular/common/locales/es-NI.js.map        |     1 +
 node_modules/@angular/common/locales/es-PA.d.ts |     2 +
 node_modules/@angular/common/locales/es-PA.js   |    51 +
 .../@angular/common/locales/es-PA.js.map        |     1 +
 node_modules/@angular/common/locales/es-PE.d.ts |     2 +
 node_modules/@angular/common/locales/es-PE.js   |    60 +
 .../@angular/common/locales/es-PE.js.map        |     1 +
 node_modules/@angular/common/locales/es-PH.d.ts |     2 +
 node_modules/@angular/common/locales/es-PH.js   |    48 +
 .../@angular/common/locales/es-PH.js.map        |     1 +
 node_modules/@angular/common/locales/es-PR.d.ts |     2 +
 node_modules/@angular/common/locales/es-PR.js   |    51 +
 .../@angular/common/locales/es-PR.js.map        |     1 +
 node_modules/@angular/common/locales/es-PY.d.ts |     2 +
 node_modules/@angular/common/locales/es-PY.js   |    53 +
 .../@angular/common/locales/es-PY.js.map        |     1 +
 node_modules/@angular/common/locales/es-SV.d.ts |     2 +
 node_modules/@angular/common/locales/es-SV.js   |    51 +
 .../@angular/common/locales/es-SV.js.map        |     1 +
 node_modules/@angular/common/locales/es-US.d.ts |     2 +
 node_modules/@angular/common/locales/es-US.js   |    47 +
 .../@angular/common/locales/es-US.js.map        |     1 +
 node_modules/@angular/common/locales/es-UY.d.ts |     2 +
 node_modules/@angular/common/locales/es-UY.js   |    60 +
 .../@angular/common/locales/es-UY.js.map        |     1 +
 node_modules/@angular/common/locales/es-VE.d.ts |     2 +
 node_modules/@angular/common/locales/es-VE.js   |    53 +
 .../@angular/common/locales/es-VE.js.map        |     1 +
 node_modules/@angular/common/locales/es.d.ts    |     2 +
 node_modules/@angular/common/locales/es.js      |    48 +
 node_modules/@angular/common/locales/es.js.map  |     1 +
 node_modules/@angular/common/locales/et.d.ts    |     2 +
 node_modules/@angular/common/locales/et.js      |    47 +
 node_modules/@angular/common/locales/et.js.map  |     1 +
 node_modules/@angular/common/locales/eu.d.ts    |     2 +
 node_modules/@angular/common/locales/eu.js      |    66 +
 node_modules/@angular/common/locales/eu.js.map  |     1 +
 node_modules/@angular/common/locales/ewo.d.ts   |     2 +
 node_modules/@angular/common/locales/ewo.js     |    44 +
 node_modules/@angular/common/locales/ewo.js.map |     1 +
 .../@angular/common/locales/extra/af-NA.d.ts    |     2 +
 .../@angular/common/locales/extra/af-NA.js      |    19 +
 .../@angular/common/locales/extra/af-NA.js.map  |     1 +
 .../@angular/common/locales/extra/af.d.ts       |     2 +
 .../@angular/common/locales/extra/af.js         |    19 +
 .../@angular/common/locales/extra/af.js.map     |     1 +
 .../@angular/common/locales/extra/agq.d.ts      |     2 +
 .../@angular/common/locales/extra/agq.js        |     9 +
 .../@angular/common/locales/extra/agq.js.map    |     1 +
 .../@angular/common/locales/extra/ak.d.ts       |     2 +
 .../@angular/common/locales/extra/ak.js         |     9 +
 .../@angular/common/locales/extra/ak.js.map     |     1 +
 .../@angular/common/locales/extra/am.d.ts       |     2 +
 .../@angular/common/locales/extra/am.js         |    22 +
 .../@angular/common/locales/extra/am.js.map     |     1 +
 .../@angular/common/locales/extra/ar-AE.d.ts    |     2 +
 .../@angular/common/locales/extra/ar-AE.js      |    20 +
 .../@angular/common/locales/extra/ar-AE.js.map  |     1 +
 .../@angular/common/locales/extra/ar-BH.d.ts    |     2 +
 .../@angular/common/locales/extra/ar-BH.js      |    20 +
 .../@angular/common/locales/extra/ar-BH.js.map  |     1 +
 .../@angular/common/locales/extra/ar-DJ.d.ts    |     2 +
 .../@angular/common/locales/extra/ar-DJ.js      |    20 +
 .../@angular/common/locales/extra/ar-DJ.js.map  |     1 +
 .../@angular/common/locales/extra/ar-DZ.d.ts    |     2 +
 .../@angular/common/locales/extra/ar-DZ.js      |    20 +
 .../@angular/common/locales/extra/ar-DZ.js.map  |     1 +
 .../@angular/common/locales/extra/ar-EG.d.ts    |     2 +
 .../@angular/common/locales/extra/ar-EG.js      |    20 +
 .../@angular/common/locales/extra/ar-EG.js.map  |     1 +
 .../@angular/common/locales/extra/ar-EH.d.ts    |     2 +
 .../@angular/common/locales/extra/ar-EH.js      |    20 +
 .../@angular/common/locales/extra/ar-EH.js.map  |     1 +
 .../@angular/common/locales/extra/ar-ER.d.ts    |     2 +
 .../@angular/common/locales/extra/ar-ER.js      |    20 +
 .../@angular/common/locales/extra/ar-ER.js.map  |     1 +
 .../@angular/common/locales/extra/ar-IL.d.ts    |     2 +
 .../@angular/common/locales/extra/ar-IL.js      |    20 +
 .../@angular/common/locales/extra/ar-IL.js.map  |     1 +
 .../@angular/common/locales/extra/ar-IQ.d.ts    |     2 +
 .../@angular/common/locales/extra/ar-IQ.js      |    20 +
 .../@angular/common/locales/extra/ar-IQ.js.map  |     1 +
 .../@angular/common/locales/extra/ar-JO.d.ts    |     2 +
 .../@angular/common/locales/extra/ar-JO.js      |    20 +
 .../@angular/common/locales/extra/ar-JO.js.map  |     1 +
 .../@angular/common/locales/extra/ar-KM.d.ts    |     2 +
 .../@angular/common/locales/extra/ar-KM.js      |    20 +
 .../@angular/common/locales/extra/ar-KM.js.map  |     1 +
 .../@angular/common/locales/extra/ar-KW.d.ts    |     2 +
 .../@angular/common/locales/extra/ar-KW.js      |    20 +
 .../@angular/common/locales/extra/ar-KW.js.map  |     1 +
 .../@angular/common/locales/extra/ar-LB.d.ts    |     2 +
 .../@angular/common/locales/extra/ar-LB.js      |    20 +
 .../@angular/common/locales/extra/ar-LB.js.map  |     1 +
 .../@angular/common/locales/extra/ar-LY.d.ts    |     2 +
 .../@angular/common/locales/extra/ar-LY.js      |    24 +
 .../@angular/common/locales/extra/ar-LY.js.map  |     1 +
 .../@angular/common/locales/extra/ar-MA.d.ts    |     2 +
 .../@angular/common/locales/extra/ar-MA.js      |    20 +
 .../@angular/common/locales/extra/ar-MA.js.map  |     1 +
 .../@angular/common/locales/extra/ar-MR.d.ts    |     2 +
 .../@angular/common/locales/extra/ar-MR.js      |    20 +
 .../@angular/common/locales/extra/ar-MR.js.map  |     1 +
 .../@angular/common/locales/extra/ar-OM.d.ts    |     2 +
 .../@angular/common/locales/extra/ar-OM.js      |    20 +
 .../@angular/common/locales/extra/ar-OM.js.map  |     1 +
 .../@angular/common/locales/extra/ar-PS.d.ts    |     2 +
 .../@angular/common/locales/extra/ar-PS.js      |    20 +
 .../@angular/common/locales/extra/ar-PS.js.map  |     1 +
 .../@angular/common/locales/extra/ar-QA.d.ts    |     2 +
 .../@angular/common/locales/extra/ar-QA.js      |    20 +
 .../@angular/common/locales/extra/ar-QA.js.map  |     1 +
 .../@angular/common/locales/extra/ar-SA.d.ts    |     2 +
 .../@angular/common/locales/extra/ar-SA.js      |    24 +
 .../@angular/common/locales/extra/ar-SA.js.map  |     1 +
 .../@angular/common/locales/extra/ar-SD.d.ts    |     2 +
 .../@angular/common/locales/extra/ar-SD.js      |    20 +
 .../@angular/common/locales/extra/ar-SD.js.map  |     1 +
 .../@angular/common/locales/extra/ar-SO.d.ts    |     2 +
 .../@angular/common/locales/extra/ar-SO.js      |    20 +
 .../@angular/common/locales/extra/ar-SO.js.map  |     1 +
 .../@angular/common/locales/extra/ar-SS.d.ts    |     2 +
 .../@angular/common/locales/extra/ar-SS.js      |    20 +
 .../@angular/common/locales/extra/ar-SS.js.map  |     1 +
 .../@angular/common/locales/extra/ar-SY.d.ts    |     2 +
 .../@angular/common/locales/extra/ar-SY.js      |    20 +
 .../@angular/common/locales/extra/ar-SY.js.map  |     1 +
 .../@angular/common/locales/extra/ar-TD.d.ts    |     2 +
 .../@angular/common/locales/extra/ar-TD.js      |    20 +
 .../@angular/common/locales/extra/ar-TD.js.map  |     1 +
 .../@angular/common/locales/extra/ar-TN.d.ts    |     2 +
 .../@angular/common/locales/extra/ar-TN.js      |    20 +
 .../@angular/common/locales/extra/ar-TN.js.map  |     1 +
 .../@angular/common/locales/extra/ar-YE.d.ts    |     2 +
 .../@angular/common/locales/extra/ar-YE.js      |    20 +
 .../@angular/common/locales/extra/ar-YE.js.map  |     1 +
 .../@angular/common/locales/extra/ar.d.ts       |     2 +
 .../@angular/common/locales/extra/ar.js         |    20 +
 .../@angular/common/locales/extra/ar.js.map     |     1 +
 .../@angular/common/locales/extra/as.d.ts       |     2 +
 .../@angular/common/locales/extra/as.js         |     9 +
 .../@angular/common/locales/extra/as.js.map     |     1 +
 .../@angular/common/locales/extra/asa.d.ts      |     2 +
 .../@angular/common/locales/extra/asa.js        |     9 +
 .../@angular/common/locales/extra/asa.js.map    |     1 +
 .../@angular/common/locales/extra/ast.d.ts      |     2 +
 .../@angular/common/locales/extra/ast.js        |     9 +
 .../@angular/common/locales/extra/ast.js.map    |     1 +
 .../@angular/common/locales/extra/az-Cyrl.d.ts  |     2 +
 .../@angular/common/locales/extra/az-Cyrl.js    |    22 +
 .../common/locales/extra/az-Cyrl.js.map         |     1 +
 .../@angular/common/locales/extra/az-Latn.d.ts  |     2 +
 .../@angular/common/locales/extra/az-Latn.js    |    22 +
 .../common/locales/extra/az-Latn.js.map         |     1 +
 .../@angular/common/locales/extra/az.d.ts       |     2 +
 .../@angular/common/locales/extra/az.js         |    22 +
 .../@angular/common/locales/extra/az.js.map     |     1 +
 .../@angular/common/locales/extra/bas.d.ts      |     2 +
 .../@angular/common/locales/extra/bas.js        |     9 +
 .../@angular/common/locales/extra/bas.js.map    |     1 +
 .../@angular/common/locales/extra/be.d.ts       |     2 +
 .../@angular/common/locales/extra/be.js         |     9 +
 .../@angular/common/locales/extra/be.js.map     |     1 +
 .../@angular/common/locales/extra/bem.d.ts      |     2 +
 .../@angular/common/locales/extra/bem.js        |     9 +
 .../@angular/common/locales/extra/bem.js.map    |     1 +
 .../@angular/common/locales/extra/bez.d.ts      |     2 +
 .../@angular/common/locales/extra/bez.js        |     9 +
 .../@angular/common/locales/extra/bez.js.map    |     1 +
 .../@angular/common/locales/extra/bg.d.ts       |     2 +
 .../@angular/common/locales/extra/bg.js         |    22 +
 .../@angular/common/locales/extra/bg.js.map     |     1 +
 .../@angular/common/locales/extra/bm.d.ts       |     2 +
 .../@angular/common/locales/extra/bm.js         |     9 +
 .../@angular/common/locales/extra/bm.js.map     |     1 +
 .../@angular/common/locales/extra/bn-IN.d.ts    |     2 +
 .../@angular/common/locales/extra/bn-IN.js      |    22 +
 .../@angular/common/locales/extra/bn-IN.js.map  |     1 +
 .../@angular/common/locales/extra/bn.d.ts       |     2 +
 .../@angular/common/locales/extra/bn.js         |    22 +
 .../@angular/common/locales/extra/bn.js.map     |     1 +
 .../@angular/common/locales/extra/bo-IN.d.ts    |     2 +
 .../@angular/common/locales/extra/bo-IN.js      |     9 +
 .../@angular/common/locales/extra/bo-IN.js.map  |     1 +
 .../@angular/common/locales/extra/bo.d.ts       |     2 +
 .../@angular/common/locales/extra/bo.js         |     9 +
 .../@angular/common/locales/extra/bo.js.map     |     1 +
 .../@angular/common/locales/extra/br.d.ts       |     2 +
 .../@angular/common/locales/extra/br.js         |     9 +
 .../@angular/common/locales/extra/br.js.map     |     1 +
 .../@angular/common/locales/extra/brx.d.ts      |     2 +
 .../@angular/common/locales/extra/brx.js        |     9 +
 .../@angular/common/locales/extra/brx.js.map    |     1 +
 .../@angular/common/locales/extra/bs-Cyrl.d.ts  |     2 +
 .../@angular/common/locales/extra/bs-Cyrl.js    |     9 +
 .../common/locales/extra/bs-Cyrl.js.map         |     1 +
 .../@angular/common/locales/extra/bs-Latn.d.ts  |     2 +
 .../@angular/common/locales/extra/bs-Latn.js    |    19 +
 .../common/locales/extra/bs-Latn.js.map         |     1 +
 .../@angular/common/locales/extra/bs.d.ts       |     2 +
 .../@angular/common/locales/extra/bs.js         |    19 +
 .../@angular/common/locales/extra/bs.js.map     |     1 +
 .../@angular/common/locales/extra/ca-AD.d.ts    |     2 +
 .../@angular/common/locales/extra/ca-AD.js      |    22 +
 .../@angular/common/locales/extra/ca-AD.js.map  |     1 +
 .../common/locales/extra/ca-ES-VALENCIA.d.ts    |     2 +
 .../common/locales/extra/ca-ES-VALENCIA.js      |    22 +
 .../common/locales/extra/ca-ES-VALENCIA.js.map  |     1 +
 .../@angular/common/locales/extra/ca-FR.d.ts    |     2 +
 .../@angular/common/locales/extra/ca-FR.js      |    22 +
 .../@angular/common/locales/extra/ca-FR.js.map  |     1 +
 .../@angular/common/locales/extra/ca-IT.d.ts    |     2 +
 .../@angular/common/locales/extra/ca-IT.js      |    22 +
 .../@angular/common/locales/extra/ca-IT.js.map  |     1 +
 .../@angular/common/locales/extra/ca.d.ts       |     2 +
 .../@angular/common/locales/extra/ca.js         |    22 +
 .../@angular/common/locales/extra/ca.js.map     |     1 +
 .../@angular/common/locales/extra/ccp-IN.d.ts   |     2 +
 .../@angular/common/locales/extra/ccp-IN.js     |    19 +
 .../@angular/common/locales/extra/ccp-IN.js.map |     1 +
 .../@angular/common/locales/extra/ccp.d.ts      |     2 +
 .../@angular/common/locales/extra/ccp.js        |    19 +
 .../@angular/common/locales/extra/ccp.js.map    |     1 +
 .../@angular/common/locales/extra/ce.d.ts       |     2 +
 .../@angular/common/locales/extra/ce.js         |     9 +
 .../@angular/common/locales/extra/ce.js.map     |     1 +
 .../@angular/common/locales/extra/cgg.d.ts      |     2 +
 .../@angular/common/locales/extra/cgg.js        |     9 +
 .../@angular/common/locales/extra/cgg.js.map    |     1 +
 .../@angular/common/locales/extra/chr.d.ts      |     2 +
 .../@angular/common/locales/extra/chr.js        |    19 +
 .../@angular/common/locales/extra/chr.js.map    |     1 +
 .../@angular/common/locales/extra/ckb-IR.d.ts   |     2 +
 .../@angular/common/locales/extra/ckb-IR.js     |     9 +
 .../@angular/common/locales/extra/ckb-IR.js.map |     1 +
 .../@angular/common/locales/extra/ckb.d.ts      |     2 +
 .../@angular/common/locales/extra/ckb.js        |     9 +
 .../@angular/common/locales/extra/ckb.js.map    |     1 +
 .../@angular/common/locales/extra/cs.d.ts       |     2 +
 .../@angular/common/locales/extra/cs.js         |    23 +
 .../@angular/common/locales/extra/cs.js.map     |     1 +
 .../@angular/common/locales/extra/cu.d.ts       |     2 +
 .../@angular/common/locales/extra/cu.js         |     9 +
 .../@angular/common/locales/extra/cu.js.map     |     1 +
 .../@angular/common/locales/extra/cy.d.ts       |     2 +
 .../@angular/common/locales/extra/cy.js         |     9 +
 .../@angular/common/locales/extra/cy.js.map     |     1 +
 .../@angular/common/locales/extra/da-GL.d.ts    |     2 +
 .../@angular/common/locales/extra/da-GL.js      |    22 +
 .../@angular/common/locales/extra/da-GL.js.map  |     1 +
 .../@angular/common/locales/extra/da.d.ts       |     2 +
 .../@angular/common/locales/extra/da.js         |    22 +
 .../@angular/common/locales/extra/da.js.map     |     1 +
 .../@angular/common/locales/extra/dav.d.ts      |     2 +
 .../@angular/common/locales/extra/dav.js        |     9 +
 .../@angular/common/locales/extra/dav.js.map    |     1 +
 .../@angular/common/locales/extra/de-AT.d.ts    |     2 +
 .../@angular/common/locales/extra/de-AT.js      |    22 +
 .../@angular/common/locales/extra/de-AT.js.map  |     1 +
 .../@angular/common/locales/extra/de-BE.d.ts    |     2 +
 .../@angular/common/locales/extra/de-BE.js      |    22 +
 .../@angular/common/locales/extra/de-BE.js.map  |     1 +
 .../@angular/common/locales/extra/de-CH.d.ts    |     2 +
 .../@angular/common/locales/extra/de-CH.js      |    22 +
 .../@angular/common/locales/extra/de-CH.js.map  |     1 +
 .../@angular/common/locales/extra/de-IT.d.ts    |     2 +
 .../@angular/common/locales/extra/de-IT.js      |    22 +
 .../@angular/common/locales/extra/de-IT.js.map  |     1 +
 .../@angular/common/locales/extra/de-LI.d.ts    |     2 +
 .../@angular/common/locales/extra/de-LI.js      |    22 +
 .../@angular/common/locales/extra/de-LI.js.map  |     1 +
 .../@angular/common/locales/extra/de-LU.d.ts    |     2 +
 .../@angular/common/locales/extra/de-LU.js      |    22 +
 .../@angular/common/locales/extra/de-LU.js.map  |     1 +
 .../@angular/common/locales/extra/de.d.ts       |     2 +
 .../@angular/common/locales/extra/de.js         |    22 +
 .../@angular/common/locales/extra/de.js.map     |     1 +
 .../@angular/common/locales/extra/dje.d.ts      |     2 +
 .../@angular/common/locales/extra/dje.js        |     9 +
 .../@angular/common/locales/extra/dje.js.map    |     1 +
 .../@angular/common/locales/extra/dsb.d.ts      |     2 +
 .../@angular/common/locales/extra/dsb.js        |     9 +
 .../@angular/common/locales/extra/dsb.js.map    |     1 +
 .../@angular/common/locales/extra/dua.d.ts      |     2 +
 .../@angular/common/locales/extra/dua.js        |     9 +
 .../@angular/common/locales/extra/dua.js.map    |     1 +
 .../@angular/common/locales/extra/dyo.d.ts      |     2 +
 .../@angular/common/locales/extra/dyo.js        |     9 +
 .../@angular/common/locales/extra/dyo.js.map    |     1 +
 .../@angular/common/locales/extra/dz.d.ts       |     2 +
 .../@angular/common/locales/extra/dz.js         |     9 +
 .../@angular/common/locales/extra/dz.js.map     |     1 +
 .../@angular/common/locales/extra/ebu.d.ts      |     2 +
 .../@angular/common/locales/extra/ebu.js        |     9 +
 .../@angular/common/locales/extra/ebu.js.map    |     1 +
 .../@angular/common/locales/extra/ee-TG.d.ts    |     2 +
 .../@angular/common/locales/extra/ee-TG.js      |    19 +
 .../@angular/common/locales/extra/ee-TG.js.map  |     1 +
 .../@angular/common/locales/extra/ee.d.ts       |     2 +
 .../@angular/common/locales/extra/ee.js         |    19 +
 .../@angular/common/locales/extra/ee.js.map     |     1 +
 .../@angular/common/locales/extra/el-CY.d.ts    |     2 +
 .../@angular/common/locales/extra/el-CY.js      |    12 +
 .../@angular/common/locales/extra/el-CY.js.map  |     1 +
 .../@angular/common/locales/extra/el.d.ts       |     2 +
 .../@angular/common/locales/extra/el.js         |    12 +
 .../@angular/common/locales/extra/el.js.map     |     1 +
 .../@angular/common/locales/extra/en-001.d.ts   |     2 +
 .../@angular/common/locales/extra/en-001.js     |    22 +
 .../@angular/common/locales/extra/en-001.js.map |     1 +
 .../@angular/common/locales/extra/en-150.d.ts   |     2 +
 .../@angular/common/locales/extra/en-150.js     |    22 +
 .../@angular/common/locales/extra/en-150.js.map |     1 +
 .../@angular/common/locales/extra/en-AG.d.ts    |     2 +
 .../@angular/common/locales/extra/en-AG.js      |    22 +
 .../@angular/common/locales/extra/en-AG.js.map  |     1 +
 .../@angular/common/locales/extra/en-AI.d.ts    |     2 +
 .../@angular/common/locales/extra/en-AI.js      |    22 +
 .../@angular/common/locales/extra/en-AI.js.map  |     1 +
 .../@angular/common/locales/extra/en-AS.d.ts    |     2 +
 .../@angular/common/locales/extra/en-AS.js      |    22 +
 .../@angular/common/locales/extra/en-AS.js.map  |     1 +
 .../@angular/common/locales/extra/en-AT.d.ts    |     2 +
 .../@angular/common/locales/extra/en-AT.js      |    22 +
 .../@angular/common/locales/extra/en-AT.js.map  |     1 +
 .../@angular/common/locales/extra/en-AU.d.ts    |     2 +
 .../@angular/common/locales/extra/en-AU.js      |    22 +
 .../@angular/common/locales/extra/en-AU.js.map  |     1 +
 .../@angular/common/locales/extra/en-BB.d.ts    |     2 +
 .../@angular/common/locales/extra/en-BB.js      |    22 +
 .../@angular/common/locales/extra/en-BB.js.map  |     1 +
 .../@angular/common/locales/extra/en-BE.d.ts    |     2 +
 .../@angular/common/locales/extra/en-BE.js      |    22 +
 .../@angular/common/locales/extra/en-BE.js.map  |     1 +
 .../@angular/common/locales/extra/en-BI.d.ts    |     2 +
 .../@angular/common/locales/extra/en-BI.js      |    22 +
 .../@angular/common/locales/extra/en-BI.js.map  |     1 +
 .../@angular/common/locales/extra/en-BM.d.ts    |     2 +
 .../@angular/common/locales/extra/en-BM.js      |    22 +
 .../@angular/common/locales/extra/en-BM.js.map  |     1 +
 .../@angular/common/locales/extra/en-BS.d.ts    |     2 +
 .../@angular/common/locales/extra/en-BS.js      |    22 +
 .../@angular/common/locales/extra/en-BS.js.map  |     1 +
 .../@angular/common/locales/extra/en-BW.d.ts    |     2 +
 .../@angular/common/locales/extra/en-BW.js      |    22 +
 .../@angular/common/locales/extra/en-BW.js.map  |     1 +
 .../@angular/common/locales/extra/en-BZ.d.ts    |     2 +
 .../@angular/common/locales/extra/en-BZ.js      |    22 +
 .../@angular/common/locales/extra/en-BZ.js.map  |     1 +
 .../@angular/common/locales/extra/en-CA.d.ts    |     2 +
 .../@angular/common/locales/extra/en-CA.js      |    22 +
 .../@angular/common/locales/extra/en-CA.js.map  |     1 +
 .../@angular/common/locales/extra/en-CC.d.ts    |     2 +
 .../@angular/common/locales/extra/en-CC.js      |    22 +
 .../@angular/common/locales/extra/en-CC.js.map  |     1 +
 .../@angular/common/locales/extra/en-CH.d.ts    |     2 +
 .../@angular/common/locales/extra/en-CH.js      |    22 +
 .../@angular/common/locales/extra/en-CH.js.map  |     1 +
 .../@angular/common/locales/extra/en-CK.d.ts    |     2 +
 .../@angular/common/locales/extra/en-CK.js      |    22 +
 .../@angular/common/locales/extra/en-CK.js.map  |     1 +
 .../@angular/common/locales/extra/en-CM.d.ts    |     2 +
 .../@angular/common/locales/extra/en-CM.js      |    22 +
 .../@angular/common/locales/extra/en-CM.js.map  |     1 +
 .../@angular/common/locales/extra/en-CX.d.ts    |     2 +
 .../@angular/common/locales/extra/en-CX.js      |    22 +
 .../@angular/common/locales/extra/en-CX.js.map  |     1 +
 .../@angular/common/locales/extra/en-CY.d.ts    |     2 +
 .../@angular/common/locales/extra/en-CY.js      |    22 +
 .../@angular/common/locales/extra/en-CY.js.map  |     1 +
 .../@angular/common/locales/extra/en-DE.d.ts    |     2 +
 .../@angular/common/locales/extra/en-DE.js      |    22 +
 .../@angular/common/locales/extra/en-DE.js.map  |     1 +
 .../@angular/common/locales/extra/en-DG.d.ts    |     2 +
 .../@angular/common/locales/extra/en-DG.js      |    22 +
 .../@angular/common/locales/extra/en-DG.js.map  |     1 +
 .../@angular/common/locales/extra/en-DK.d.ts    |     2 +
 .../@angular/common/locales/extra/en-DK.js      |    22 +
 .../@angular/common/locales/extra/en-DK.js.map  |     1 +
 .../@angular/common/locales/extra/en-DM.d.ts    |     2 +
 .../@angular/common/locales/extra/en-DM.js      |    22 +
 .../@angular/common/locales/extra/en-DM.js.map  |     1 +
 .../@angular/common/locales/extra/en-ER.d.ts    |     2 +
 .../@angular/common/locales/extra/en-ER.js      |    22 +
 .../@angular/common/locales/extra/en-ER.js.map  |     1 +
 .../@angular/common/locales/extra/en-FI.d.ts    |     2 +
 .../@angular/common/locales/extra/en-FI.js      |    22 +
 .../@angular/common/locales/extra/en-FI.js.map  |     1 +
 .../@angular/common/locales/extra/en-FJ.d.ts    |     2 +
 .../@angular/common/locales/extra/en-FJ.js      |    22 +
 .../@angular/common/locales/extra/en-FJ.js.map  |     1 +
 .../@angular/common/locales/extra/en-FK.d.ts    |     2 +
 .../@angular/common/locales/extra/en-FK.js      |    22 +
 .../@angular/common/locales/extra/en-FK.js.map  |     1 +
 .../@angular/common/locales/extra/en-FM.d.ts    |     2 +
 .../@angular/common/locales/extra/en-FM.js      |    22 +
 .../@angular/common/locales/extra/en-FM.js.map  |     1 +
 .../@angular/common/locales/extra/en-GB.d.ts    |     2 +
 .../@angular/common/locales/extra/en-GB.js      |    22 +
 .../@angular/common/locales/extra/en-GB.js.map  |     1 +
 .../@angular/common/locales/extra/en-GD.d.ts    |     2 +
 .../@angular/common/locales/extra/en-GD.js      |    22 +
 .../@angular/common/locales/extra/en-GD.js.map  |     1 +
 .../@angular/common/locales/extra/en-GG.d.ts    |     2 +
 .../@angular/common/locales/extra/en-GG.js      |    22 +
 .../@angular/common/locales/extra/en-GG.js.map  |     1 +
 .../@angular/common/locales/extra/en-GH.d.ts    |     2 +
 .../@angular/common/locales/extra/en-GH.js      |    22 +
 .../@angular/common/locales/extra/en-GH.js.map  |     1 +
 .../@angular/common/locales/extra/en-GI.d.ts    |     2 +
 .../@angular/common/locales/extra/en-GI.js      |    22 +
 .../@angular/common/locales/extra/en-GI.js.map  |     1 +
 .../@angular/common/locales/extra/en-GM.d.ts    |     2 +
 .../@angular/common/locales/extra/en-GM.js      |    22 +
 .../@angular/common/locales/extra/en-GM.js.map  |     1 +
 .../@angular/common/locales/extra/en-GU.d.ts    |     2 +
 .../@angular/common/locales/extra/en-GU.js      |    22 +
 .../@angular/common/locales/extra/en-GU.js.map  |     1 +
 .../@angular/common/locales/extra/en-GY.d.ts    |     2 +
 .../@angular/common/locales/extra/en-GY.js      |    22 +
 .../@angular/common/locales/extra/en-GY.js.map  |     1 +
 .../@angular/common/locales/extra/en-HK.d.ts    |     2 +
 .../@angular/common/locales/extra/en-HK.js      |    22 +
 .../@angular/common/locales/extra/en-HK.js.map  |     1 +
 .../@angular/common/locales/extra/en-IE.d.ts    |     2 +
 .../@angular/common/locales/extra/en-IE.js      |    22 +
 .../@angular/common/locales/extra/en-IE.js.map  |     1 +
 .../@angular/common/locales/extra/en-IL.d.ts    |     2 +
 .../@angular/common/locales/extra/en-IL.js      |    22 +
 .../@angular/common/locales/extra/en-IL.js.map  |     1 +
 .../@angular/common/locales/extra/en-IM.d.ts    |     2 +
 .../@angular/common/locales/extra/en-IM.js      |    22 +
 .../@angular/common/locales/extra/en-IM.js.map  |     1 +
 .../@angular/common/locales/extra/en-IN.d.ts    |     2 +
 .../@angular/common/locales/extra/en-IN.js      |    22 +
 .../@angular/common/locales/extra/en-IN.js.map  |     1 +
 .../@angular/common/locales/extra/en-IO.d.ts    |     2 +
 .../@angular/common/locales/extra/en-IO.js      |    22 +
 .../@angular/common/locales/extra/en-IO.js.map  |     1 +
 .../@angular/common/locales/extra/en-JE.d.ts    |     2 +
 .../@angular/common/locales/extra/en-JE.js      |    22 +
 .../@angular/common/locales/extra/en-JE.js.map  |     1 +
 .../@angular/common/locales/extra/en-JM.d.ts    |     2 +
 .../@angular/common/locales/extra/en-JM.js      |    22 +
 .../@angular/common/locales/extra/en-JM.js.map  |     1 +
 .../@angular/common/locales/extra/en-KE.d.ts    |     2 +
 .../@angular/common/locales/extra/en-KE.js      |    22 +
 .../@angular/common/locales/extra/en-KE.js.map  |     1 +
 .../@angular/common/locales/extra/en-KI.d.ts    |     2 +
 .../@angular/common/locales/extra/en-KI.js      |    22 +
 .../@angular/common/locales/extra/en-KI.js.map  |     1 +
 .../@angular/common/locales/extra/en-KN.d.ts    |     2 +
 .../@angular/common/locales/extra/en-KN.js      |    22 +
 .../@angular/common/locales/extra/en-KN.js.map  |     1 +
 .../@angular/common/locales/extra/en-KY.d.ts    |     2 +
 .../@angular/common/locales/extra/en-KY.js      |    22 +
 .../@angular/common/locales/extra/en-KY.js.map  |     1 +
 .../@angular/common/locales/extra/en-LC.d.ts    |     2 +
 .../@angular/common/locales/extra/en-LC.js      |    22 +
 .../@angular/common/locales/extra/en-LC.js.map  |     1 +
 .../@angular/common/locales/extra/en-LR.d.ts    |     2 +
 .../@angular/common/locales/extra/en-LR.js      |    22 +
 .../@angular/common/locales/extra/en-LR.js.map  |     1 +
 .../@angular/common/locales/extra/en-LS.d.ts    |     2 +
 .../@angular/common/locales/extra/en-LS.js      |    22 +
 .../@angular/common/locales/extra/en-LS.js.map  |     1 +
 .../@angular/common/locales/extra/en-MG.d.ts    |     2 +
 .../@angular/common/locales/extra/en-MG.js      |    22 +
 .../@angular/common/locales/extra/en-MG.js.map  |     1 +
 .../@angular/common/locales/extra/en-MH.d.ts    |     2 +
 .../@angular/common/locales/extra/en-MH.js      |    22 +
 .../@angular/common/locales/extra/en-MH.js.map  |     1 +
 .../@angular/common/locales/extra/en-MO.d.ts    |     2 +
 .../@angular/common/locales/extra/en-MO.js      |    22 +
 .../@angular/common/locales/extra/en-MO.js.map  |     1 +
 .../@angular/common/locales/extra/en-MP.d.ts    |     2 +
 .../@angular/common/locales/extra/en-MP.js      |    22 +
 .../@angular/common/locales/extra/en-MP.js.map  |     1 +
 .../@angular/common/locales/extra/en-MS.d.ts    |     2 +
 .../@angular/common/locales/extra/en-MS.js      |    22 +
 .../@angular/common/locales/extra/en-MS.js.map  |     1 +
 .../@angular/common/locales/extra/en-MT.d.ts    |     2 +
 .../@angular/common/locales/extra/en-MT.js      |    22 +
 .../@angular/common/locales/extra/en-MT.js.map  |     1 +
 .../@angular/common/locales/extra/en-MU.d.ts    |     2 +
 .../@angular/common/locales/extra/en-MU.js      |    22 +
 .../@angular/common/locales/extra/en-MU.js.map  |     1 +
 .../@angular/common/locales/extra/en-MW.d.ts    |     2 +
 .../@angular/common/locales/extra/en-MW.js      |    22 +
 .../@angular/common/locales/extra/en-MW.js.map  |     1 +
 .../@angular/common/locales/extra/en-MY.d.ts    |     2 +
 .../@angular/common/locales/extra/en-MY.js      |    22 +
 .../@angular/common/locales/extra/en-MY.js.map  |     1 +
 .../@angular/common/locales/extra/en-NA.d.ts    |     2 +
 .../@angular/common/locales/extra/en-NA.js      |    22 +
 .../@angular/common/locales/extra/en-NA.js.map  |     1 +
 .../@angular/common/locales/extra/en-NF.d.ts    |     2 +
 .../@angular/common/locales/extra/en-NF.js      |    22 +
 .../@angular/common/locales/extra/en-NF.js.map  |     1 +
 .../@angular/common/locales/extra/en-NG.d.ts    |     2 +
 .../@angular/common/locales/extra/en-NG.js      |    22 +
 .../@angular/common/locales/extra/en-NG.js.map  |     1 +
 .../@angular/common/locales/extra/en-NL.d.ts    |     2 +
 .../@angular/common/locales/extra/en-NL.js      |    22 +
 .../@angular/common/locales/extra/en-NL.js.map  |     1 +
 .../@angular/common/locales/extra/en-NR.d.ts    |     2 +
 .../@angular/common/locales/extra/en-NR.js      |    22 +
 .../@angular/common/locales/extra/en-NR.js.map  |     1 +
 .../@angular/common/locales/extra/en-NU.d.ts    |     2 +
 .../@angular/common/locales/extra/en-NU.js      |    22 +
 .../@angular/common/locales/extra/en-NU.js.map  |     1 +
 .../@angular/common/locales/extra/en-NZ.d.ts    |     2 +
 .../@angular/common/locales/extra/en-NZ.js      |    22 +
 .../@angular/common/locales/extra/en-NZ.js.map  |     1 +
 .../@angular/common/locales/extra/en-PG.d.ts    |     2 +
 .../@angular/common/locales/extra/en-PG.js      |    22 +
 .../@angular/common/locales/extra/en-PG.js.map  |     1 +
 .../@angular/common/locales/extra/en-PH.d.ts    |     2 +
 .../@angular/common/locales/extra/en-PH.js      |    22 +
 .../@angular/common/locales/extra/en-PH.js.map  |     1 +
 .../@angular/common/locales/extra/en-PK.d.ts    |     2 +
 .../@angular/common/locales/extra/en-PK.js      |    22 +
 .../@angular/common/locales/extra/en-PK.js.map  |     1 +
 .../@angular/common/locales/extra/en-PN.d.ts    |     2 +
 .../@angular/common/locales/extra/en-PN.js      |    22 +
 .../@angular/common/locales/extra/en-PN.js.map  |     1 +
 .../@angular/common/locales/extra/en-PR.d.ts    |     2 +
 .../@angular/common/locales/extra/en-PR.js      |    22 +
 .../@angular/common/locales/extra/en-PR.js.map  |     1 +
 .../@angular/common/locales/extra/en-PW.d.ts    |     2 +
 .../@angular/common/locales/extra/en-PW.js      |    22 +
 .../@angular/common/locales/extra/en-PW.js.map  |     1 +
 .../@angular/common/locales/extra/en-RW.d.ts    |     2 +
 .../@angular/common/locales/extra/en-RW.js      |    22 +
 .../@angular/common/locales/extra/en-RW.js.map  |     1 +
 .../@angular/common/locales/extra/en-SB.d.ts    |     2 +
 .../@angular/common/locales/extra/en-SB.js      |    22 +
 .../@angular/common/locales/extra/en-SB.js.map  |     1 +
 .../@angular/common/locales/extra/en-SC.d.ts    |     2 +
 .../@angular/common/locales/extra/en-SC.js      |    22 +
 .../@angular/common/locales/extra/en-SC.js.map  |     1 +
 .../@angular/common/locales/extra/en-SD.d.ts    |     2 +
 .../@angular/common/locales/extra/en-SD.js      |    22 +
 .../@angular/common/locales/extra/en-SD.js.map  |     1 +
 .../@angular/common/locales/extra/en-SE.d.ts    |     2 +
 .../@angular/common/locales/extra/en-SE.js      |    22 +
 .../@angular/common/locales/extra/en-SE.js.map  |     1 +
 .../@angular/common/locales/extra/en-SG.d.ts    |     2 +
 .../@angular/common/locales/extra/en-SG.js      |    22 +
 .../@angular/common/locales/extra/en-SG.js.map  |     1 +
 .../@angular/common/locales/extra/en-SH.d.ts    |     2 +
 .../@angular/common/locales/extra/en-SH.js      |    22 +
 .../@angular/common/locales/extra/en-SH.js.map  |     1 +
 .../@angular/common/locales/extra/en-SI.d.ts    |     2 +
 .../@angular/common/locales/extra/en-SI.js      |    22 +
 .../@angular/common/locales/extra/en-SI.js.map  |     1 +
 .../@angular/common/locales/extra/en-SL.d.ts    |     2 +
 .../@angular/common/locales/extra/en-SL.js      |    22 +
 .../@angular/common/locales/extra/en-SL.js.map  |     1 +
 .../@angular/common/locales/extra/en-SS.d.ts    |     2 +
 .../@angular/common/locales/extra/en-SS.js      |    22 +
 .../@angular/common/locales/extra/en-SS.js.map  |     1 +
 .../@angular/common/locales/extra/en-SX.d.ts    |     2 +
 .../@angular/common/locales/extra/en-SX.js      |    22 +
 .../@angular/common/locales/extra/en-SX.js.map  |     1 +
 .../@angular/common/locales/extra/en-SZ.d.ts    |     2 +
 .../@angular/common/locales/extra/en-SZ.js      |    22 +
 .../@angular/common/locales/extra/en-SZ.js.map  |     1 +
 .../@angular/common/locales/extra/en-TC.d.ts    |     2 +
 .../@angular/common/locales/extra/en-TC.js      |    22 +
 .../@angular/common/locales/extra/en-TC.js.map  |     1 +
 .../@angular/common/locales/extra/en-TK.d.ts    |     2 +
 .../@angular/common/locales/extra/en-TK.js      |    22 +
 .../@angular/common/locales/extra/en-TK.js.map  |     1 +
 .../@angular/common/locales/extra/en-TO.d.ts    |     2 +
 .../@angular/common/locales/extra/en-TO.js      |    22 +
 .../@angular/common/locales/extra/en-TO.js.map  |     1 +
 .../@angular/common/locales/extra/en-TT.d.ts    |     2 +
 .../@angular/common/locales/extra/en-TT.js      |    22 +
 .../@angular/common/locales/extra/en-TT.js.map  |     1 +
 .../@angular/common/locales/extra/en-TV.d.ts    |     2 +
 .../@angular/common/locales/extra/en-TV.js      |    22 +
 .../@angular/common/locales/extra/en-TV.js.map  |     1 +
 .../@angular/common/locales/extra/en-TZ.d.ts    |     2 +
 .../@angular/common/locales/extra/en-TZ.js      |    22 +
 .../@angular/common/locales/extra/en-TZ.js.map  |     1 +
 .../@angular/common/locales/extra/en-UG.d.ts    |     2 +
 .../@angular/common/locales/extra/en-UG.js      |    22 +
 .../@angular/common/locales/extra/en-UG.js.map  |     1 +
 .../@angular/common/locales/extra/en-UM.d.ts    |     2 +
 .../@angular/common/locales/extra/en-UM.js      |    22 +
 .../@angular/common/locales/extra/en-UM.js.map  |     1 +
 .../common/locales/extra/en-US-POSIX.d.ts       |     2 +
 .../common/locales/extra/en-US-POSIX.js         |    22 +
 .../common/locales/extra/en-US-POSIX.js.map     |     1 +
 .../@angular/common/locales/extra/en-VC.d.ts    |     2 +
 .../@angular/common/locales/extra/en-VC.js      |    22 +
 .../@angular/common/locales/extra/en-VC.js.map  |     1 +
 .../@angular/common/locales/extra/en-VG.d.ts    |     2 +
 .../@angular/common/locales/extra/en-VG.js      |    22 +
 .../@angular/common/locales/extra/en-VG.js.map  |     1 +
 .../@angular/common/locales/extra/en-VI.d.ts    |     2 +
 .../@angular/common/locales/extra/en-VI.js      |    22 +
 .../@angular/common/locales/extra/en-VI.js.map  |     1 +
 .../@angular/common/locales/extra/en-VU.d.ts    |     2 +
 .../@angular/common/locales/extra/en-VU.js      |    22 +
 .../@angular/common/locales/extra/en-VU.js.map  |     1 +
 .../@angular/common/locales/extra/en-WS.d.ts    |     2 +
 .../@angular/common/locales/extra/en-WS.js      |    22 +
 .../@angular/common/locales/extra/en-WS.js.map  |     1 +
 .../@angular/common/locales/extra/en-ZA.d.ts    |     2 +
 .../@angular/common/locales/extra/en-ZA.js      |    22 +
 .../@angular/common/locales/extra/en-ZA.js.map  |     1 +
 .../@angular/common/locales/extra/en-ZM.d.ts    |     2 +
 .../@angular/common/locales/extra/en-ZM.js      |    22 +
 .../@angular/common/locales/extra/en-ZM.js.map  |     1 +
 .../@angular/common/locales/extra/en-ZW.d.ts    |     2 +
 .../@angular/common/locales/extra/en-ZW.js      |    22 +
 .../@angular/common/locales/extra/en-ZW.js.map  |     1 +
 .../@angular/common/locales/extra/en.d.ts       |     2 +
 .../@angular/common/locales/extra/en.js         |    22 +
 .../@angular/common/locales/extra/en.js.map     |     1 +
 .../@angular/common/locales/extra/eo.d.ts       |     2 +
 .../@angular/common/locales/extra/eo.js         |     9 +
 .../@angular/common/locales/extra/eo.js.map     |     1 +
 .../@angular/common/locales/extra/es-419.d.ts   |     2 +
 .../@angular/common/locales/extra/es-419.js     |    19 +
 .../@angular/common/locales/extra/es-419.js.map |     1 +
 .../@angular/common/locales/extra/es-AR.d.ts    |     2 +
 .../@angular/common/locales/extra/es-AR.js      |    19 +
 .../@angular/common/locales/extra/es-AR.js.map  |     1 +
 .../@angular/common/locales/extra/es-BO.d.ts    |     2 +
 .../@angular/common/locales/extra/es-BO.js      |    19 +
 .../@angular/common/locales/extra/es-BO.js.map  |     1 +
 .../@angular/common/locales/extra/es-BR.d.ts    |     2 +
 .../@angular/common/locales/extra/es-BR.js      |    19 +
 .../@angular/common/locales/extra/es-BR.js.map  |     1 +
 .../@angular/common/locales/extra/es-BZ.d.ts    |     2 +
 .../@angular/common/locales/extra/es-BZ.js      |    19 +
 .../@angular/common/locales/extra/es-BZ.js.map  |     1 +
 .../@angular/common/locales/extra/es-CL.d.ts    |     2 +
 .../@angular/common/locales/extra/es-CL.js      |    19 +
 .../@angular/common/locales/extra/es-CL.js.map  |     1 +
 .../@angular/common/locales/extra/es-CO.d.ts    |     2 +
 .../@angular/common/locales/extra/es-CO.js      |    20 +
 .../@angular/common/locales/extra/es-CO.js.map  |     1 +
 .../@angular/common/locales/extra/es-CR.d.ts    |     2 +
 .../@angular/common/locales/extra/es-CR.js      |    19 +
 .../@angular/common/locales/extra/es-CR.js.map  |     1 +
 .../@angular/common/locales/extra/es-CU.d.ts    |     2 +
 .../@angular/common/locales/extra/es-CU.js      |    19 +
 .../@angular/common/locales/extra/es-CU.js.map  |     1 +
 .../@angular/common/locales/extra/es-DO.d.ts    |     2 +
 .../@angular/common/locales/extra/es-DO.js      |    19 +
 .../@angular/common/locales/extra/es-DO.js.map  |     1 +
 .../@angular/common/locales/extra/es-EA.d.ts    |     2 +
 .../@angular/common/locales/extra/es-EA.js      |    19 +
 .../@angular/common/locales/extra/es-EA.js.map  |     1 +
 .../@angular/common/locales/extra/es-EC.d.ts    |     2 +
 .../@angular/common/locales/extra/es-EC.js      |    19 +
 .../@angular/common/locales/extra/es-EC.js.map  |     1 +
 .../@angular/common/locales/extra/es-GQ.d.ts    |     2 +
 .../@angular/common/locales/extra/es-GQ.js      |    19 +
 .../@angular/common/locales/extra/es-GQ.js.map  |     1 +
 .../@angular/common/locales/extra/es-GT.d.ts    |     2 +
 .../@angular/common/locales/extra/es-GT.js      |    19 +
 .../@angular/common/locales/extra/es-GT.js.map  |     1 +
 .../@angular/common/locales/extra/es-HN.d.ts    |     2 +
 .../@angular/common/locales/extra/es-HN.js      |    19 +
 .../@angular/common/locales/extra/es-HN.js.map  |     1 +
 .../@angular/common/locales/extra/es-IC.d.ts    |     2 +
 .../@angular/common/locales/extra/es-IC.js      |    19 +
 .../@angular/common/locales/extra/es-IC.js.map  |     1 +
 .../@angular/common/locales/extra/es-MX.d.ts    |     2 +
 .../@angular/common/locales/extra/es-MX.js      |    19 +
 .../@angular/common/locales/extra/es-MX.js.map  |     1 +
 .../@angular/common/locales/extra/es-NI.d.ts    |     2 +
 .../@angular/common/locales/extra/es-NI.js      |    19 +
 .../@angular/common/locales/extra/es-NI.js.map  |     1 +
 .../@angular/common/locales/extra/es-PA.d.ts    |     2 +
 .../@angular/common/locales/extra/es-PA.js      |    19 +
 .../@angular/common/locales/extra/es-PA.js.map  |     1 +
 .../@angular/common/locales/extra/es-PE.d.ts    |     2 +
 .../@angular/common/locales/extra/es-PE.js      |    19 +
 .../@angular/common/locales/extra/es-PE.js.map  |     1 +
 .../@angular/common/locales/extra/es-PH.d.ts    |     2 +
 .../@angular/common/locales/extra/es-PH.js      |    19 +
 .../@angular/common/locales/extra/es-PH.js.map  |     1 +
 .../@angular/common/locales/extra/es-PR.d.ts    |     2 +
 .../@angular/common/locales/extra/es-PR.js      |    19 +
 .../@angular/common/locales/extra/es-PR.js.map  |     1 +
 .../@angular/common/locales/extra/es-PY.d.ts    |     2 +
 .../@angular/common/locales/extra/es-PY.js      |    19 +
 .../@angular/common/locales/extra/es-PY.js.map  |     1 +
 .../@angular/common/locales/extra/es-SV.d.ts    |     2 +
 .../@angular/common/locales/extra/es-SV.js      |    19 +
 .../@angular/common/locales/extra/es-SV.js.map  |     1 +
 .../@angular/common/locales/extra/es-US.d.ts    |     2 +
 .../@angular/common/locales/extra/es-US.js      |    19 +
 .../@angular/common/locales/extra/es-US.js.map  |     1 +
 .../@angular/common/locales/extra/es-UY.d.ts    |     2 +
 .../@angular/common/locales/extra/es-UY.js      |    19 +
 .../@angular/common/locales/extra/es-UY.js.map  |     1 +
 .../@angular/common/locales/extra/es-VE.d.ts    |     2 +
 .../@angular/common/locales/extra/es-VE.js      |    19 +
 .../@angular/common/locales/extra/es-VE.js.map  |     1 +
 .../@angular/common/locales/extra/es.d.ts       |     2 +
 .../@angular/common/locales/extra/es.js         |    19 +
 .../@angular/common/locales/extra/es.js.map     |     1 +
 .../@angular/common/locales/extra/et.d.ts       |     2 +
 .../@angular/common/locales/extra/et.js         |    22 +
 .../@angular/common/locales/extra/et.js.map     |     1 +
 .../@angular/common/locales/extra/eu.d.ts       |     2 +
 .../@angular/common/locales/extra/eu.js         |    23 +
 .../@angular/common/locales/extra/eu.js.map     |     1 +
 .../@angular/common/locales/extra/ewo.d.ts      |     2 +
 .../@angular/common/locales/extra/ewo.js        |     9 +
 .../@angular/common/locales/extra/ewo.js.map    |     1 +
 .../@angular/common/locales/extra/fa-AF.d.ts    |     2 +
 .../@angular/common/locales/extra/fa-AF.js      |    22 +
 .../@angular/common/locales/extra/fa-AF.js.map  |     1 +
 .../@angular/common/locales/extra/fa.d.ts       |     2 +
 .../@angular/common/locales/extra/fa.js         |    22 +
 .../@angular/common/locales/extra/fa.js.map     |     1 +
 .../@angular/common/locales/extra/ff-CM.d.ts    |     2 +
 .../@angular/common/locales/extra/ff-CM.js      |     9 +
 .../@angular/common/locales/extra/ff-CM.js.map  |     1 +
 .../@angular/common/locales/extra/ff-GN.d.ts    |     2 +
 .../@angular/common/locales/extra/ff-GN.js      |     9 +
 .../@angular/common/locales/extra/ff-GN.js.map  |     1 +
 .../@angular/common/locales/extra/ff-MR.d.ts    |     2 +
 .../@angular/common/locales/extra/ff-MR.js      |     9 +
 .../@angular/common/locales/extra/ff-MR.js.map  |     1 +
 .../@angular/common/locales/extra/ff.d.ts       |     2 +
 .../@angular/common/locales/extra/ff.js         |     9 +
 .../@angular/common/locales/extra/ff.js.map     |     1 +
 .../@angular/common/locales/extra/fi.d.ts       |     2 +
 .../@angular/common/locales/extra/fi.js         |    24 +
 .../@angular/common/locales/extra/fi.js.map     |     1 +
 .../@angular/common/locales/extra/fil.d.ts      |     2 +
 .../@angular/common/locales/extra/fil.js        |    29 +
 .../@angular/common/locales/extra/fil.js.map    |     1 +
 .../@angular/common/locales/extra/fo-DK.d.ts    |     2 +
 .../@angular/common/locales/extra/fo-DK.js      |     9 +
 .../@angular/common/locales/extra/fo-DK.js.map  |     1 +
 .../@angular/common/locales/extra/fo.d.ts       |     2 +
 .../@angular/common/locales/extra/fo.js         |     9 +
 .../@angular/common/locales/extra/fo.js.map     |     1 +
 .../@angular/common/locales/extra/fr-BE.d.ts    |     2 +
 .../@angular/common/locales/extra/fr-BE.js      |    22 +
 .../@angular/common/locales/extra/fr-BE.js.map  |     1 +
 .../@angular/common/locales/extra/fr-BF.d.ts    |     2 +
 .../@angular/common/locales/extra/fr-BF.js      |    22 +
 .../@angular/common/locales/extra/fr-BF.js.map  |     1 +
 .../@angular/common/locales/extra/fr-BI.d.ts    |     2 +
 .../@angular/common/locales/extra/fr-BI.js      |    22 +
 .../@angular/common/locales/extra/fr-BI.js.map  |     1 +
 .../@angular/common/locales/extra/fr-BJ.d.ts    |     2 +
 .../@angular/common/locales/extra/fr-BJ.js      |    22 +
 .../@angular/common/locales/extra/fr-BJ.js.map  |     1 +
 .../@angular/common/locales/extra/fr-BL.d.ts    |     2 +
 .../@angular/common/locales/extra/fr-BL.js      |    22 +
 .../@angular/common/locales/extra/fr-BL.js.map  |     1 +
 .../@angular/common/locales/extra/fr-CA.d.ts    |     2 +
 .../@angular/common/locales/extra/fr-CA.js      |    24 +
 .../@angular/common/locales/extra/fr-CA.js.map  |     1 +
 .../@angular/common/locales/extra/fr-CD.d.ts    |     2 +
 .../@angular/common/locales/extra/fr-CD.js      |    24 +
 .../@angular/common/locales/extra/fr-CD.js.map  |     1 +
 .../@angular/common/locales/extra/fr-CF.d.ts    |     2 +
 .../@angular/common/locales/extra/fr-CF.js      |    22 +
 .../@angular/common/locales/extra/fr-CF.js.map  |     1 +
 .../@angular/common/locales/extra/fr-CG.d.ts    |     2 +
 .../@angular/common/locales/extra/fr-CG.js      |    22 +
 .../@angular/common/locales/extra/fr-CG.js.map  |     1 +
 .../@angular/common/locales/extra/fr-CH.d.ts    |     2 +
 .../@angular/common/locales/extra/fr-CH.js      |    22 +
 .../@angular/common/locales/extra/fr-CH.js.map  |     1 +
 .../@angular/common/locales/extra/fr-CI.d.ts    |     2 +
 .../@angular/common/locales/extra/fr-CI.js      |    22 +
 .../@angular/common/locales/extra/fr-CI.js.map  |     1 +
 .../@angular/common/locales/extra/fr-CM.d.ts    |     2 +
 .../@angular/common/locales/extra/fr-CM.js      |    22 +
 .../@angular/common/locales/extra/fr-CM.js.map  |     1 +
 .../@angular/common/locales/extra/fr-DJ.d.ts    |     2 +
 .../@angular/common/locales/extra/fr-DJ.js      |    22 +
 .../@angular/common/locales/extra/fr-DJ.js.map  |     1 +
 .../@angular/common/locales/extra/fr-DZ.d.ts    |     2 +
 .../@angular/common/locales/extra/fr-DZ.js      |    22 +
 .../@angular/common/locales/extra/fr-DZ.js.map  |     1 +
 .../@angular/common/locales/extra/fr-GA.d.ts    |     2 +
 .../@angular/common/locales/extra/fr-GA.js      |    22 +
 .../@angular/common/locales/extra/fr-GA.js.map  |     1 +
 .../@angular/common/locales/extra/fr-GF.d.ts    |     2 +
 .../@angular/common/locales/extra/fr-GF.js      |    22 +
 .../@angular/common/locales/extra/fr-GF.js.map  |     1 +
 .../@angular/common/locales/extra/fr-GN.d.ts    |     2 +
 .../@angular/common/locales/extra/fr-GN.js      |    22 +
 .../@angular/common/locales/extra/fr-GN.js.map  |     1 +
 .../@angular/common/locales/extra/fr-GP.d.ts    |     2 +
 .../@angular/common/locales/extra/fr-GP.js      |    22 +
 .../@angular/common/locales/extra/fr-GP.js.map  |     1 +
 .../@angular/common/locales/extra/fr-GQ.d.ts    |     2 +
 .../@angular/common/locales/extra/fr-GQ.js      |    22 +
 .../@angular/common/locales/extra/fr-GQ.js.map  |     1 +
 .../@angular/common/locales/extra/fr-HT.d.ts    |     2 +
 .../@angular/common/locales/extra/fr-HT.js      |    22 +
 .../@angular/common/locales/extra/fr-HT.js.map  |     1 +
 .../@angular/common/locales/extra/fr-KM.d.ts    |     2 +
 .../@angular/common/locales/extra/fr-KM.js      |    22 +
 .../@angular/common/locales/extra/fr-KM.js.map  |     1 +
 .../@angular/common/locales/extra/fr-LU.d.ts    |     2 +
 .../@angular/common/locales/extra/fr-LU.js      |    22 +
 .../@angular/common/locales/extra/fr-LU.js.map  |     1 +
 .../@angular/common/locales/extra/fr-MA.d.ts    |     2 +
 .../@angular/common/locales/extra/fr-MA.js      |    22 +
 .../@angular/common/locales/extra/fr-MA.js.map  |     1 +
 .../@angular/common/locales/extra/fr-MC.d.ts    |     2 +
 .../@angular/common/locales/extra/fr-MC.js      |    22 +
 .../@angular/common/locales/extra/fr-MC.js.map  |     1 +
 .../@angular/common/locales/extra/fr-MF.d.ts    |     2 +
 .../@angular/common/locales/extra/fr-MF.js      |    22 +
 .../@angular/common/locales/extra/fr-MF.js.map  |     1 +
 .../@angular/common/locales/extra/fr-MG.d.ts    |     2 +
 .../@angular/common/locales/extra/fr-MG.js      |    22 +
 .../@angular/common/locales/extra/fr-MG.js.map  |     1 +
 .../@angular/common/locales/extra/fr-ML.d.ts    |     2 +
 .../@angular/common/locales/extra/fr-ML.js      |    22 +
 .../@angular/common/locales/extra/fr-ML.js.map  |     1 +
 .../@angular/common/locales/extra/fr-MQ.d.ts    |     2 +
 .../@angular/common/locales/extra/fr-MQ.js      |    22 +
 .../@angular/common/locales/extra/fr-MQ.js.map  |     1 +
 .../@angular/common/locales/extra/fr-MR.d.ts    |     2 +
 .../@angular/common/locales/extra/fr-MR.js      |    22 +
 .../@angular/common/locales/extra/fr-MR.js.map  |     1 +
 .../@angular/common/locales/extra/fr-MU.d.ts    |     2 +
 .../@angular/common/locales/extra/fr-MU.js      |    22 +
 .../@angular/common/locales/extra/fr-MU.js.map  |     1 +
 .../@angular/common/locales/extra/fr-NC.d.ts    |     2 +
 .../@angular/common/locales/extra/fr-NC.js      |    22 +
 .../@angular/common/locales/extra/fr-NC.js.map  |     1 +
 .../@angular/common/locales/extra/fr-NE.d.ts    |     2 +
 .../@angular/common/locales/extra/fr-NE.js      |    22 +
 .../@angular/common/locales/extra/fr-NE.js.map  |     1 +
 .../@angular/common/locales/extra/fr-PF.d.ts    |     2 +
 .../@angular/common/locales/extra/fr-PF.js      |    22 +
 .../@angular/common/locales/extra/fr-PF.js.map  |     1 +
 .../@angular/common/locales/extra/fr-PM.d.ts    |     2 +
 .../@angular/common/locales/extra/fr-PM.js      |    22 +
 .../@angular/common/locales/extra/fr-PM.js.map  |     1 +
 .../@angular/common/locales/extra/fr-RE.d.ts    |     2 +
 .../@angular/common/locales/extra/fr-RE.js      |    23 +
 .../@angular/common/locales/extra/fr-RE.js.map  |     1 +
 .../@angular/common/locales/extra/fr-RW.d.ts    |     2 +
 .../@angular/common/locales/extra/fr-RW.js      |    22 +
 .../@angular/common/locales/extra/fr-RW.js.map  |     1 +
 .../@angular/common/locales/extra/fr-SC.d.ts    |     2 +
 .../@angular/common/locales/extra/fr-SC.js      |    22 +
 .../@angular/common/locales/extra/fr-SC.js.map  |     1 +
 .../@angular/common/locales/extra/fr-SN.d.ts    |     2 +
 .../@angular/common/locales/extra/fr-SN.js      |    22 +
 .../@angular/common/locales/extra/fr-SN.js.map  |     1 +
 .../@angular/common/locales/extra/fr-SY.d.ts    |     2 +
 .../@angular/common/locales/extra/fr-SY.js      |    22 +
 .../@angular/common/locales/extra/fr-SY.js.map  |     1 +
 .../@angular/common/locales/extra/fr-TD.d.ts    |     2 +
 .../@angular/common/locales/extra/fr-TD.js      |    22 +
 .../@angular/common/locales/extra/fr-TD.js.map  |     1 +
 .../@angular/common/locales/extra/fr-TG.d.ts    |     2 +
 .../@angular/common/locales/extra/fr-TG.js      |    22 +
 .../@angular/common/locales/extra/fr-TG.js.map  |     1 +
 .../@angular/common/locales/extra/fr-TN.d.ts    |     2 +
 .../@angular/common/locales/extra/fr-TN.js      |    22 +
 .../@angular/common/locales/extra/fr-TN.js.map  |     1 +
 .../@angular/common/locales/extra/fr-VU.d.ts    |     2 +
 .../@angular/common/locales/extra/fr-VU.js      |    22 +
 .../@angular/common/locales/extra/fr-VU.js.map  |     1 +
 .../@angular/common/locales/extra/fr-WF.d.ts    |     2 +
 .../@angular/common/locales/extra/fr-WF.js      |    22 +
 .../@angular/common/locales/extra/fr-WF.js.map  |     1 +
 .../@angular/common/locales/extra/fr-YT.d.ts    |     2 +
 .../@angular/common/locales/extra/fr-YT.js      |    22 +
 .../@angular/common/locales/extra/fr-YT.js.map  |     1 +
 .../@angular/common/locales/extra/fr.d.ts       |     2 +
 .../@angular/common/locales/extra/fr.js         |    22 +
 .../@angular/common/locales/extra/fr.js.map     |     1 +
 .../@angular/common/locales/extra/fur.d.ts      |     2 +
 .../@angular/common/locales/extra/fur.js        |     9 +
 .../@angular/common/locales/extra/fur.js.map    |     1 +
 .../@angular/common/locales/extra/fy.d.ts       |     2 +
 .../@angular/common/locales/extra/fy.js         |     9 +
 .../@angular/common/locales/extra/fy.js.map     |     1 +
 .../@angular/common/locales/extra/ga.d.ts       |     2 +
 .../@angular/common/locales/extra/ga.js         |     9 +
 .../@angular/common/locales/extra/ga.js.map     |     1 +
 .../@angular/common/locales/extra/gd.d.ts       |     2 +
 .../@angular/common/locales/extra/gd.js         |     9 +
 .../@angular/common/locales/extra/gd.js.map     |     1 +
 .../@angular/common/locales/extra/gl.d.ts       |     2 +
 .../@angular/common/locales/extra/gl.js         |    22 +
 .../@angular/common/locales/extra/gl.js.map     |     1 +
 .../@angular/common/locales/extra/gsw-FR.d.ts   |     2 +
 .../@angular/common/locales/extra/gsw-FR.js     |    22 +
 .../@angular/common/locales/extra/gsw-FR.js.map |     1 +
 .../@angular/common/locales/extra/gsw-LI.d.ts   |     2 +
 .../@angular/common/locales/extra/gsw-LI.js     |    22 +
 .../@angular/common/locales/extra/gsw-LI.js.map |     1 +
 .../@angular/common/locales/extra/gsw.d.ts      |     2 +
 .../@angular/common/locales/extra/gsw.js        |    22 +
 .../@angular/common/locales/extra/gsw.js.map    |     1 +
 .../@angular/common/locales/extra/gu.d.ts       |     2 +
 .../@angular/common/locales/extra/gu.js         |    16 +
 .../@angular/common/locales/extra/gu.js.map     |     1 +
 .../@angular/common/locales/extra/guz.d.ts      |     2 +
 .../@angular/common/locales/extra/guz.js        |     9 +
 .../@angular/common/locales/extra/guz.js.map    |     1 +
 .../@angular/common/locales/extra/gv.d.ts       |     2 +
 .../@angular/common/locales/extra/gv.js         |     9 +
 .../@angular/common/locales/extra/gv.js.map     |     1 +
 .../@angular/common/locales/extra/ha-GH.d.ts    |     2 +
 .../@angular/common/locales/extra/ha-GH.js      |     9 +
 .../@angular/common/locales/extra/ha-GH.js.map  |     1 +
 .../@angular/common/locales/extra/ha-NE.d.ts    |     2 +
 .../@angular/common/locales/extra/ha-NE.js      |     9 +
 .../@angular/common/locales/extra/ha-NE.js.map  |     1 +
 .../@angular/common/locales/extra/ha.d.ts       |     2 +
 .../@angular/common/locales/extra/ha.js         |     9 +
 .../@angular/common/locales/extra/ha.js.map     |     1 +
 .../@angular/common/locales/extra/haw.d.ts      |     2 +
 .../@angular/common/locales/extra/haw.js        |     9 +
 .../@angular/common/locales/extra/haw.js.map    |     1 +
 .../@angular/common/locales/extra/he.d.ts       |     2 +
 .../@angular/common/locales/extra/he.js         |    23 +
 .../@angular/common/locales/extra/he.js.map     |     1 +
 .../@angular/common/locales/extra/hi.d.ts       |     2 +
 .../@angular/common/locales/extra/hi.js         |    19 +
 .../@angular/common/locales/extra/hi.js.map     |     1 +
 .../@angular/common/locales/extra/hr-BA.d.ts    |     2 +
 .../@angular/common/locales/extra/hr-BA.js      |    22 +
 .../@angular/common/locales/extra/hr-BA.js.map  |     1 +
 .../@angular/common/locales/extra/hr.d.ts       |     2 +
 .../@angular/common/locales/extra/hr.js         |    22 +
 .../@angular/common/locales/extra/hr.js.map     |     1 +
 .../@angular/common/locales/extra/hsb.d.ts      |     2 +
 .../@angular/common/locales/extra/hsb.js        |     9 +
 .../@angular/common/locales/extra/hsb.js.map    |     1 +
 .../@angular/common/locales/extra/hu.d.ts       |     2 +
 .../@angular/common/locales/extra/hu.js         |    19 +
 .../@angular/common/locales/extra/hu.js.map     |     1 +
 .../@angular/common/locales/extra/hy.d.ts       |     2 +
 .../@angular/common/locales/extra/hy.js         |    23 +
 .../@angular/common/locales/extra/hy.js.map     |     1 +
 .../@angular/common/locales/extra/id.d.ts       |     2 +
 .../@angular/common/locales/extra/id.js         |    19 +
 .../@angular/common/locales/extra/id.js.map     |     1 +
 .../@angular/common/locales/extra/ig.d.ts       |     2 +
 .../@angular/common/locales/extra/ig.js         |     9 +
 .../@angular/common/locales/extra/ig.js.map     |     1 +
 .../@angular/common/locales/extra/ii.d.ts       |     2 +
 .../@angular/common/locales/extra/ii.js         |     9 +
 .../@angular/common/locales/extra/ii.js.map     |     1 +
 .../@angular/common/locales/extra/is.d.ts       |     2 +
 .../@angular/common/locales/extra/is.js         |    23 +
 .../@angular/common/locales/extra/is.js.map     |     1 +
 .../@angular/common/locales/extra/it-CH.d.ts    |     2 +
 .../@angular/common/locales/extra/it-CH.js      |    22 +
 .../@angular/common/locales/extra/it-CH.js.map  |     1 +
 .../@angular/common/locales/extra/it-SM.d.ts    |     2 +
 .../@angular/common/locales/extra/it-SM.js      |    22 +
 .../@angular/common/locales/extra/it-SM.js.map  |     1 +
 .../@angular/common/locales/extra/it-VA.d.ts    |     2 +
 .../@angular/common/locales/extra/it-VA.js      |    22 +
 .../@angular/common/locales/extra/it-VA.js.map  |     1 +
 .../@angular/common/locales/extra/it.d.ts       |     2 +
 .../@angular/common/locales/extra/it.js         |    22 +
 .../@angular/common/locales/extra/it.js.map     |     1 +
 .../@angular/common/locales/extra/ja.d.ts       |     2 +
 .../@angular/common/locales/extra/ja.js         |    19 +
 .../@angular/common/locales/extra/ja.js.map     |     1 +
 .../@angular/common/locales/extra/jgo.d.ts      |     2 +
 .../@angular/common/locales/extra/jgo.js        |     9 +
 .../@angular/common/locales/extra/jgo.js.map    |     1 +
 .../@angular/common/locales/extra/jmc.d.ts      |     2 +
 .../@angular/common/locales/extra/jmc.js        |     9 +
 .../@angular/common/locales/extra/jmc.js.map    |     1 +
 .../@angular/common/locales/extra/ka.d.ts       |     2 +
 .../@angular/common/locales/extra/ka.js         |    22 +
 .../@angular/common/locales/extra/ka.js.map     |     1 +
 .../@angular/common/locales/extra/kab.d.ts      |     2 +
 .../@angular/common/locales/extra/kab.js        |     9 +
 .../@angular/common/locales/extra/kab.js.map    |     1 +
 .../@angular/common/locales/extra/kam.d.ts      |     2 +
 .../@angular/common/locales/extra/kam.js        |     9 +
 .../@angular/common/locales/extra/kam.js.map    |     1 +
 .../@angular/common/locales/extra/kde.d.ts      |     2 +
 .../@angular/common/locales/extra/kde.js        |     9 +
 .../@angular/common/locales/extra/kde.js.map    |     1 +
 .../@angular/common/locales/extra/kea.d.ts      |     2 +
 .../@angular/common/locales/extra/kea.js        |     9 +
 .../@angular/common/locales/extra/kea.js.map    |     1 +
 .../@angular/common/locales/extra/khq.d.ts      |     2 +
 .../@angular/common/locales/extra/khq.js        |     9 +
 .../@angular/common/locales/extra/khq.js.map    |     1 +
 .../@angular/common/locales/extra/ki.d.ts       |     2 +
 .../@angular/common/locales/extra/ki.js         |     9 +
 .../@angular/common/locales/extra/ki.js.map     |     1 +
 .../@angular/common/locales/extra/kk.d.ts       |     2 +
 .../@angular/common/locales/extra/kk.js         |    22 +
 .../@angular/common/locales/extra/kk.js.map     |     1 +
 .../@angular/common/locales/extra/kkj.d.ts      |     2 +
 .../@angular/common/locales/extra/kkj.js        |     9 +
 .../@angular/common/locales/extra/kkj.js.map    |     1 +
 .../@angular/common/locales/extra/kl.d.ts       |     2 +
 .../@angular/common/locales/extra/kl.js         |     9 +
 .../@angular/common/locales/extra/kl.js.map     |     1 +
 .../@angular/common/locales/extra/kln.d.ts      |     2 +
 .../@angular/common/locales/extra/kln.js        |     9 +
 .../@angular/common/locales/extra/kln.js.map    |     1 +
 .../@angular/common/locales/extra/km.d.ts       |     2 +
 .../@angular/common/locales/extra/km.js         |    22 +
 .../@angular/common/locales/extra/km.js.map     |     1 +
 .../@angular/common/locales/extra/kn.d.ts       |     2 +
 .../@angular/common/locales/extra/kn.js         |    19 +
 .../@angular/common/locales/extra/kn.js.map     |     1 +
 .../@angular/common/locales/extra/ko-KP.d.ts    |     2 +
 .../@angular/common/locales/extra/ko-KP.js      |    19 +
 .../@angular/common/locales/extra/ko-KP.js.map  |     1 +
 .../@angular/common/locales/extra/ko.d.ts       |     2 +
 .../@angular/common/locales/extra/ko.js         |    19 +
 .../@angular/common/locales/extra/ko.js.map     |     1 +
 .../@angular/common/locales/extra/kok.d.ts      |     2 +
 .../@angular/common/locales/extra/kok.js        |     9 +
 .../@angular/common/locales/extra/kok.js.map    |     1 +
 .../@angular/common/locales/extra/ks.d.ts       |     2 +
 .../@angular/common/locales/extra/ks.js         |     9 +
 .../@angular/common/locales/extra/ks.js.map     |     1 +
 .../@angular/common/locales/extra/ksb.d.ts      |     2 +
 .../@angular/common/locales/extra/ksb.js        |     9 +
 .../@angular/common/locales/extra/ksb.js.map    |     1 +
 .../@angular/common/locales/extra/ksf.d.ts      |     2 +
 .../@angular/common/locales/extra/ksf.js        |     9 +
 .../@angular/common/locales/extra/ksf.js.map    |     1 +
 .../@angular/common/locales/extra/ksh.d.ts      |     2 +
 .../@angular/common/locales/extra/ksh.js        |     9 +
 .../@angular/common/locales/extra/ksh.js.map    |     1 +
 .../@angular/common/locales/extra/kw.d.ts       |     2 +
 .../@angular/common/locales/extra/kw.js         |     9 +
 .../@angular/common/locales/extra/kw.js.map     |     1 +
 .../@angular/common/locales/extra/ky.d.ts       |     2 +
 .../@angular/common/locales/extra/ky.js         |    22 +
 .../@angular/common/locales/extra/ky.js.map     |     1 +
 .../@angular/common/locales/extra/lag.d.ts      |     2 +
 .../@angular/common/locales/extra/lag.js        |     9 +
 .../@angular/common/locales/extra/lag.js.map    |     1 +
 .../@angular/common/locales/extra/lb.d.ts       |     2 +
 .../@angular/common/locales/extra/lb.js         |     9 +
 .../@angular/common/locales/extra/lb.js.map     |     1 +
 .../@angular/common/locales/extra/lg.d.ts       |     2 +
 .../@angular/common/locales/extra/lg.js         |     9 +
 .../@angular/common/locales/extra/lg.js.map     |     1 +
 .../@angular/common/locales/extra/lkt.d.ts      |     2 +
 .../@angular/common/locales/extra/lkt.js        |     9 +
 .../@angular/common/locales/extra/lkt.js.map    |     1 +
 .../@angular/common/locales/extra/ln-AO.d.ts    |     2 +
 .../@angular/common/locales/extra/ln-AO.js      |     9 +
 .../@angular/common/locales/extra/ln-AO.js.map  |     1 +
 .../@angular/common/locales/extra/ln-CF.d.ts    |     2 +
 .../@angular/common/locales/extra/ln-CF.js      |     9 +
 .../@angular/common/locales/extra/ln-CF.js.map  |     1 +
 .../@angular/common/locales/extra/ln-CG.d.ts    |     2 +
 .../@angular/common/locales/extra/ln-CG.js      |     9 +
 .../@angular/common/locales/extra/ln-CG.js.map  |     1 +
 .../@angular/common/locales/extra/ln.d.ts       |     2 +
 .../@angular/common/locales/extra/ln.js         |     9 +
 .../@angular/common/locales/extra/ln.js.map     |     1 +
 .../@angular/common/locales/extra/lo.d.ts       |     2 +
 .../@angular/common/locales/extra/lo.js         |    27 +
 .../@angular/common/locales/extra/lo.js.map     |     1 +
 .../@angular/common/locales/extra/lrc-IQ.d.ts   |     2 +
 .../@angular/common/locales/extra/lrc-IQ.js     |     9 +
 .../@angular/common/locales/extra/lrc-IQ.js.map |     1 +
 .../@angular/common/locales/extra/lrc.d.ts      |     2 +
 .../@angular/common/locales/extra/lrc.js        |     9 +
 .../@angular/common/locales/extra/lrc.js.map    |     1 +
 .../@angular/common/locales/extra/lt.d.ts       |     2 +
 .../@angular/common/locales/extra/lt.js         |    22 +
 .../@angular/common/locales/extra/lt.js.map     |     1 +
 .../@angular/common/locales/extra/lu.d.ts       |     2 +
 .../@angular/common/locales/extra/lu.js         |     9 +
 .../@angular/common/locales/extra/lu.js.map     |     1 +
 .../@angular/common/locales/extra/luo.d.ts      |     2 +
 .../@angular/common/locales/extra/luo.js        |     9 +
 .../@angular/common/locales/extra/luo.js.map    |     1 +
 .../@angular/common/locales/extra/luy.d.ts      |     2 +
 .../@angular/common/locales/extra/luy.js        |     9 +
 .../@angular/common/locales/extra/luy.js.map    |     1 +
 .../@angular/common/locales/extra/lv.d.ts       |     2 +
 .../@angular/common/locales/extra/lv.js         |    23 +
 .../@angular/common/locales/extra/lv.js.map     |     1 +
 .../@angular/common/locales/extra/mas-TZ.d.ts   |     2 +
 .../@angular/common/locales/extra/mas-TZ.js     |     9 +
 .../@angular/common/locales/extra/mas-TZ.js.map |     1 +
 .../@angular/common/locales/extra/mas.d.ts      |     2 +
 .../@angular/common/locales/extra/mas.js        |     9 +
 .../@angular/common/locales/extra/mas.js.map    |     1 +
 .../@angular/common/locales/extra/mer.d.ts      |     2 +
 .../@angular/common/locales/extra/mer.js        |     9 +
 .../@angular/common/locales/extra/mer.js.map    |     1 +
 .../@angular/common/locales/extra/mfe.d.ts      |     2 +
 .../@angular/common/locales/extra/mfe.js        |     9 +
 .../@angular/common/locales/extra/mfe.js.map    |     1 +
 .../@angular/common/locales/extra/mg.d.ts       |     2 +
 .../@angular/common/locales/extra/mg.js         |     9 +
 .../@angular/common/locales/extra/mg.js.map     |     1 +
 .../@angular/common/locales/extra/mgh.d.ts      |     2 +
 .../@angular/common/locales/extra/mgh.js        |     9 +
 .../@angular/common/locales/extra/mgh.js.map    |     1 +
 .../@angular/common/locales/extra/mgo.d.ts      |     2 +
 .../@angular/common/locales/extra/mgo.js        |     9 +
 .../@angular/common/locales/extra/mgo.js.map    |     1 +
 .../@angular/common/locales/extra/mk.d.ts       |     2 +
 .../@angular/common/locales/extra/mk.js         |    24 +
 .../@angular/common/locales/extra/mk.js.map     |     1 +
 .../@angular/common/locales/extra/ml.d.ts       |     2 +
 .../@angular/common/locales/extra/ml.js         |    22 +
 .../@angular/common/locales/extra/ml.js.map     |     1 +
 .../@angular/common/locales/extra/mn.d.ts       |     2 +
 .../@angular/common/locales/extra/mn.js         |    19 +
 .../@angular/common/locales/extra/mn.js.map     |     1 +
 .../@angular/common/locales/extra/mr.d.ts       |     2 +
 .../@angular/common/locales/extra/mr.js         |    22 +
 .../@angular/common/locales/extra/mr.js.map     |     1 +
 .../@angular/common/locales/extra/ms-BN.d.ts    |     2 +
 .../@angular/common/locales/extra/ms-BN.js      |    22 +
 .../@angular/common/locales/extra/ms-BN.js.map  |     1 +
 .../@angular/common/locales/extra/ms-SG.d.ts    |     2 +
 .../@angular/common/locales/extra/ms-SG.js      |    22 +
 .../@angular/common/locales/extra/ms-SG.js.map  |     1 +
 .../@angular/common/locales/extra/ms.d.ts       |     2 +
 .../@angular/common/locales/extra/ms.js         |    22 +
 .../@angular/common/locales/extra/ms.js.map     |     1 +
 .../@angular/common/locales/extra/mt.d.ts       |     2 +
 .../@angular/common/locales/extra/mt.js         |     9 +
 .../@angular/common/locales/extra/mt.js.map     |     1 +
 .../@angular/common/locales/extra/mua.d.ts      |     2 +
 .../@angular/common/locales/extra/mua.js        |     9 +
 .../@angular/common/locales/extra/mua.js.map    |     1 +
 .../@angular/common/locales/extra/my.d.ts       |     2 +
 .../@angular/common/locales/extra/my.js         |    19 +
 .../@angular/common/locales/extra/my.js.map     |     1 +
 .../@angular/common/locales/extra/mzn.d.ts      |     2 +
 .../@angular/common/locales/extra/mzn.js        |     9 +
 .../@angular/common/locales/extra/mzn.js.map    |     1 +
 .../@angular/common/locales/extra/naq.d.ts      |     2 +
 .../@angular/common/locales/extra/naq.js        |     9 +
 .../@angular/common/locales/extra/naq.js.map    |     1 +
 .../@angular/common/locales/extra/nb-SJ.d.ts    |     2 +
 .../@angular/common/locales/extra/nb-SJ.js      |    24 +
 .../@angular/common/locales/extra/nb-SJ.js.map  |     1 +
 .../@angular/common/locales/extra/nb.d.ts       |     2 +
 .../@angular/common/locales/extra/nb.js         |    24 +
 .../@angular/common/locales/extra/nb.js.map     |     1 +
 .../@angular/common/locales/extra/nd.d.ts       |     2 +
 .../@angular/common/locales/extra/nd.js         |     9 +
 .../@angular/common/locales/extra/nd.js.map     |     1 +
 .../@angular/common/locales/extra/nds-NL.d.ts   |     2 +
 .../@angular/common/locales/extra/nds-NL.js     |     9 +
 .../@angular/common/locales/extra/nds-NL.js.map |     1 +
 .../@angular/common/locales/extra/nds.d.ts      |     2 +
 .../@angular/common/locales/extra/nds.js        |     9 +
 .../@angular/common/locales/extra/nds.js.map    |     1 +
 .../@angular/common/locales/extra/ne-IN.d.ts    |     2 +
 .../@angular/common/locales/extra/ne-IN.js      |    19 +
 .../@angular/common/locales/extra/ne-IN.js.map  |     1 +
 .../@angular/common/locales/extra/ne.d.ts       |     2 +
 .../@angular/common/locales/extra/ne.js         |    19 +
 .../@angular/common/locales/extra/ne.js.map     |     1 +
 .../@angular/common/locales/extra/nl-AW.d.ts    |     2 +
 .../@angular/common/locales/extra/nl-AW.js      |    19 +
 .../@angular/common/locales/extra/nl-AW.js.map  |     1 +
 .../@angular/common/locales/extra/nl-BE.d.ts    |     2 +
 .../@angular/common/locales/extra/nl-BE.js      |    19 +
 .../@angular/common/locales/extra/nl-BE.js.map  |     1 +
 .../@angular/common/locales/extra/nl-BQ.d.ts    |     2 +
 .../@angular/common/locales/extra/nl-BQ.js      |    19 +
 .../@angular/common/locales/extra/nl-BQ.js.map  |     1 +
 .../@angular/common/locales/extra/nl-CW.d.ts    |     2 +
 .../@angular/common/locales/extra/nl-CW.js      |    19 +
 .../@angular/common/locales/extra/nl-CW.js.map  |     1 +
 .../@angular/common/locales/extra/nl-SR.d.ts    |     2 +
 .../@angular/common/locales/extra/nl-SR.js      |    19 +
 .../@angular/common/locales/extra/nl-SR.js.map  |     1 +
 .../@angular/common/locales/extra/nl-SX.d.ts    |     2 +
 .../@angular/common/locales/extra/nl-SX.js      |    19 +
 .../@angular/common/locales/extra/nl-SX.js.map  |     1 +
 .../@angular/common/locales/extra/nl.d.ts       |     2 +
 .../@angular/common/locales/extra/nl.js         |    19 +
 .../@angular/common/locales/extra/nl.js.map     |     1 +
 .../@angular/common/locales/extra/nmg.d.ts      |     2 +
 .../@angular/common/locales/extra/nmg.js        |     9 +
 .../@angular/common/locales/extra/nmg.js.map    |     1 +
 .../@angular/common/locales/extra/nn.d.ts       |     2 +
 .../@angular/common/locales/extra/nn.js         |     9 +
 .../@angular/common/locales/extra/nn.js.map     |     1 +
 .../@angular/common/locales/extra/nnh.d.ts      |     2 +
 .../@angular/common/locales/extra/nnh.js        |     9 +
 .../@angular/common/locales/extra/nnh.js.map    |     1 +
 .../@angular/common/locales/extra/nus.d.ts      |     2 +
 .../@angular/common/locales/extra/nus.js        |     9 +
 .../@angular/common/locales/extra/nus.js.map    |     1 +
 .../@angular/common/locales/extra/nyn.d.ts      |     2 +
 .../@angular/common/locales/extra/nyn.js        |     9 +
 .../@angular/common/locales/extra/nyn.js.map    |     1 +
 .../@angular/common/locales/extra/om-KE.d.ts    |     2 +
 .../@angular/common/locales/extra/om-KE.js      |     9 +
 .../@angular/common/locales/extra/om-KE.js.map  |     1 +
 .../@angular/common/locales/extra/om.d.ts       |     2 +
 .../@angular/common/locales/extra/om.js         |     9 +
 .../@angular/common/locales/extra/om.js.map     |     1 +
 .../@angular/common/locales/extra/or.d.ts       |     2 +
 .../@angular/common/locales/extra/or.js         |     9 +
 .../@angular/common/locales/extra/or.js.map     |     1 +
 .../@angular/common/locales/extra/os-RU.d.ts    |     2 +
 .../@angular/common/locales/extra/os-RU.js      |     9 +
 .../@angular/common/locales/extra/os-RU.js.map  |     1 +
 .../@angular/common/locales/extra/os.d.ts       |     2 +
 .../@angular/common/locales/extra/os.js         |     9 +
 .../@angular/common/locales/extra/os.js.map     |     1 +
 .../@angular/common/locales/extra/pa-Arab.d.ts  |     2 +
 .../@angular/common/locales/extra/pa-Arab.js    |     9 +
 .../common/locales/extra/pa-Arab.js.map         |     1 +
 .../@angular/common/locales/extra/pa-Guru.d.ts  |     2 +
 .../@angular/common/locales/extra/pa-Guru.js    |    16 +
 .../common/locales/extra/pa-Guru.js.map         |     1 +
 .../@angular/common/locales/extra/pa.d.ts       |     2 +
 .../@angular/common/locales/extra/pa.js         |    16 +
 .../@angular/common/locales/extra/pa.js.map     |     1 +
 .../@angular/common/locales/extra/pl.d.ts       |     2 +
 .../@angular/common/locales/extra/pl.js         |    22 +
 .../@angular/common/locales/extra/pl.js.map     |     1 +
 .../@angular/common/locales/extra/prg.d.ts      |     2 +
 .../@angular/common/locales/extra/prg.js        |     9 +
 .../@angular/common/locales/extra/prg.js.map    |     1 +
 .../@angular/common/locales/extra/ps.d.ts       |     2 +
 .../@angular/common/locales/extra/ps.js         |     9 +
 .../@angular/common/locales/extra/ps.js.map     |     1 +
 .../@angular/common/locales/extra/pt-AO.d.ts    |     2 +
 .../@angular/common/locales/extra/pt-AO.js      |    22 +
 .../@angular/common/locales/extra/pt-AO.js.map  |     1 +
 .../@angular/common/locales/extra/pt-CH.d.ts    |     2 +
 .../@angular/common/locales/extra/pt-CH.js      |    22 +
 .../@angular/common/locales/extra/pt-CH.js.map  |     1 +
 .../@angular/common/locales/extra/pt-CV.d.ts    |     2 +
 .../@angular/common/locales/extra/pt-CV.js      |    22 +
 .../@angular/common/locales/extra/pt-CV.js.map  |     1 +
 .../@angular/common/locales/extra/pt-GQ.d.ts    |     2 +
 .../@angular/common/locales/extra/pt-GQ.js      |    22 +
 .../@angular/common/locales/extra/pt-GQ.js.map  |     1 +
 .../@angular/common/locales/extra/pt-GW.d.ts    |     2 +
 .../@angular/common/locales/extra/pt-GW.js      |    22 +
 .../@angular/common/locales/extra/pt-GW.js.map  |     1 +
 .../@angular/common/locales/extra/pt-LU.d.ts    |     2 +
 .../@angular/common/locales/extra/pt-LU.js      |    22 +
 .../@angular/common/locales/extra/pt-LU.js.map  |     1 +
 .../@angular/common/locales/extra/pt-MO.d.ts    |     2 +
 .../@angular/common/locales/extra/pt-MO.js      |    22 +
 .../@angular/common/locales/extra/pt-MO.js.map  |     1 +
 .../@angular/common/locales/extra/pt-MZ.d.ts    |     2 +
 .../@angular/common/locales/extra/pt-MZ.js      |    22 +
 .../@angular/common/locales/extra/pt-MZ.js.map  |     1 +
 .../@angular/common/locales/extra/pt-PT.d.ts    |     2 +
 .../@angular/common/locales/extra/pt-PT.js      |    22 +
 .../@angular/common/locales/extra/pt-PT.js.map  |     1 +
 .../@angular/common/locales/extra/pt-ST.d.ts    |     2 +
 .../@angular/common/locales/extra/pt-ST.js      |    22 +
 .../@angular/common/locales/extra/pt-ST.js.map  |     1 +
 .../@angular/common/locales/extra/pt-TL.d.ts    |     2 +
 .../@angular/common/locales/extra/pt-TL.js      |    22 +
 .../@angular/common/locales/extra/pt-TL.js.map  |     1 +
 .../@angular/common/locales/extra/pt.d.ts       |     2 +
 .../@angular/common/locales/extra/pt.js         |    22 +
 .../@angular/common/locales/extra/pt.js.map     |     1 +
 .../@angular/common/locales/extra/qu-BO.d.ts    |     2 +
 .../@angular/common/locales/extra/qu-BO.js      |     9 +
 .../@angular/common/locales/extra/qu-BO.js.map  |     1 +
 .../@angular/common/locales/extra/qu-EC.d.ts    |     2 +
 .../@angular/common/locales/extra/qu-EC.js      |     9 +
 .../@angular/common/locales/extra/qu-EC.js.map  |     1 +
 .../@angular/common/locales/extra/qu.d.ts       |     2 +
 .../@angular/common/locales/extra/qu.js         |     9 +
 .../@angular/common/locales/extra/qu.js.map     |     1 +
 .../@angular/common/locales/extra/rm.d.ts       |     2 +
 .../@angular/common/locales/extra/rm.js         |     9 +
 .../@angular/common/locales/extra/rm.js.map     |     1 +
 .../@angular/common/locales/extra/rn.d.ts       |     2 +
 .../@angular/common/locales/extra/rn.js         |     9 +
 .../@angular/common/locales/extra/rn.js.map     |     1 +
 .../@angular/common/locales/extra/ro-MD.d.ts    |     2 +
 .../@angular/common/locales/extra/ro-MD.js      |    19 +
 .../@angular/common/locales/extra/ro-MD.js.map  |     1 +
 .../@angular/common/locales/extra/ro.d.ts       |     2 +
 .../@angular/common/locales/extra/ro.js         |    23 +
 .../@angular/common/locales/extra/ro.js.map     |     1 +
 .../@angular/common/locales/extra/rof.d.ts      |     2 +
 .../@angular/common/locales/extra/rof.js        |     9 +
 .../@angular/common/locales/extra/rof.js.map    |     1 +
 .../@angular/common/locales/extra/root.d.ts     |     2 +
 .../@angular/common/locales/extra/root.js       |    22 +
 .../@angular/common/locales/extra/root.js.map   |     1 +
 .../@angular/common/locales/extra/ru-BY.d.ts    |     2 +
 .../@angular/common/locales/extra/ru-BY.js      |    23 +
 .../@angular/common/locales/extra/ru-BY.js.map  |     1 +
 .../@angular/common/locales/extra/ru-KG.d.ts    |     2 +
 .../@angular/common/locales/extra/ru-KG.js      |    23 +
 .../@angular/common/locales/extra/ru-KG.js.map  |     1 +
 .../@angular/common/locales/extra/ru-KZ.d.ts    |     2 +
 .../@angular/common/locales/extra/ru-KZ.js      |    23 +
 .../@angular/common/locales/extra/ru-KZ.js.map  |     1 +
 .../@angular/common/locales/extra/ru-MD.d.ts    |     2 +
 .../@angular/common/locales/extra/ru-MD.js      |    23 +
 .../@angular/common/locales/extra/ru-MD.js.map  |     1 +
 .../@angular/common/locales/extra/ru-UA.d.ts    |     2 +
 .../@angular/common/locales/extra/ru-UA.js      |    23 +
 .../@angular/common/locales/extra/ru-UA.js.map  |     1 +
 .../@angular/common/locales/extra/ru.d.ts       |     2 +
 .../@angular/common/locales/extra/ru.js         |    23 +
 .../@angular/common/locales/extra/ru.js.map     |     1 +
 .../@angular/common/locales/extra/rw.d.ts       |     2 +
 .../@angular/common/locales/extra/rw.js         |     9 +
 .../@angular/common/locales/extra/rw.js.map     |     1 +
 .../@angular/common/locales/extra/rwk.d.ts      |     2 +
 .../@angular/common/locales/extra/rwk.js        |     9 +
 .../@angular/common/locales/extra/rwk.js.map    |     1 +
 .../@angular/common/locales/extra/sah.d.ts      |     2 +
 .../@angular/common/locales/extra/sah.js        |     9 +
 .../@angular/common/locales/extra/sah.js.map    |     1 +
 .../@angular/common/locales/extra/saq.d.ts      |     2 +
 .../@angular/common/locales/extra/saq.js        |     9 +
 .../@angular/common/locales/extra/saq.js.map    |     1 +
 .../@angular/common/locales/extra/sbp.d.ts      |     2 +
 .../@angular/common/locales/extra/sbp.js        |     9 +
 .../@angular/common/locales/extra/sbp.js.map    |     1 +
 .../@angular/common/locales/extra/sd.d.ts       |     2 +
 .../@angular/common/locales/extra/sd.js         |     9 +
 .../@angular/common/locales/extra/sd.js.map     |     1 +
 .../@angular/common/locales/extra/se-FI.d.ts    |     2 +
 .../@angular/common/locales/extra/se-FI.js      |     9 +
 .../@angular/common/locales/extra/se-FI.js.map  |     1 +
 .../@angular/common/locales/extra/se-SE.d.ts    |     2 +
 .../@angular/common/locales/extra/se-SE.js      |     9 +
 .../@angular/common/locales/extra/se-SE.js.map  |     1 +
 .../@angular/common/locales/extra/se.d.ts       |     2 +
 .../@angular/common/locales/extra/se.js         |     9 +
 .../@angular/common/locales/extra/se.js.map     |     1 +
 .../@angular/common/locales/extra/seh.d.ts      |     2 +
 .../@angular/common/locales/extra/seh.js        |     9 +
 .../@angular/common/locales/extra/seh.js.map    |     1 +
 .../@angular/common/locales/extra/ses.d.ts      |     2 +
 .../@angular/common/locales/extra/ses.js        |     9 +
 .../@angular/common/locales/extra/ses.js.map    |     1 +
 .../@angular/common/locales/extra/sg.d.ts       |     2 +
 .../@angular/common/locales/extra/sg.js         |     9 +
 .../@angular/common/locales/extra/sg.js.map     |     1 +
 .../@angular/common/locales/extra/shi-Latn.d.ts |     2 +
 .../@angular/common/locales/extra/shi-Latn.js   |     9 +
 .../common/locales/extra/shi-Latn.js.map        |     1 +
 .../@angular/common/locales/extra/shi-Tfng.d.ts |     2 +
 .../@angular/common/locales/extra/shi-Tfng.js   |     9 +
 .../common/locales/extra/shi-Tfng.js.map        |     1 +
 .../@angular/common/locales/extra/shi.d.ts      |     2 +
 .../@angular/common/locales/extra/shi.js        |     9 +
 .../@angular/common/locales/extra/shi.js.map    |     1 +
 .../@angular/common/locales/extra/si.d.ts       |     2 +
 .../@angular/common/locales/extra/si.js         |    22 +
 .../@angular/common/locales/extra/si.js.map     |     1 +
 .../@angular/common/locales/extra/sk.d.ts       |     2 +
 .../@angular/common/locales/extra/sk.js         |    24 +
 .../@angular/common/locales/extra/sk.js.map     |     1 +
 .../@angular/common/locales/extra/sl.d.ts       |     2 +
 .../@angular/common/locales/extra/sl.js         |    24 +
 .../@angular/common/locales/extra/sl.js.map     |     1 +
 .../@angular/common/locales/extra/smn.d.ts      |     2 +
 .../@angular/common/locales/extra/smn.js        |     9 +
 .../@angular/common/locales/extra/smn.js.map    |     1 +
 .../@angular/common/locales/extra/sn.d.ts       |     2 +
 .../@angular/common/locales/extra/sn.js         |     9 +
 .../@angular/common/locales/extra/sn.js.map     |     1 +
 .../@angular/common/locales/extra/so-DJ.d.ts    |     2 +
 .../@angular/common/locales/extra/so-DJ.js      |     9 +
 .../@angular/common/locales/extra/so-DJ.js.map  |     1 +
 .../@angular/common/locales/extra/so-ET.d.ts    |     2 +
 .../@angular/common/locales/extra/so-ET.js      |     9 +
 .../@angular/common/locales/extra/so-ET.js.map  |     1 +
 .../@angular/common/locales/extra/so-KE.d.ts    |     2 +
 .../@angular/common/locales/extra/so-KE.js      |     9 +
 .../@angular/common/locales/extra/so-KE.js.map  |     1 +
 .../@angular/common/locales/extra/so.d.ts       |     2 +
 .../@angular/common/locales/extra/so.js         |     9 +
 .../@angular/common/locales/extra/so.js.map     |     1 +
 .../@angular/common/locales/extra/sq-MK.d.ts    |     2 +
 .../@angular/common/locales/extra/sq-MK.js      |    25 +
 .../@angular/common/locales/extra/sq-MK.js.map  |     1 +
 .../@angular/common/locales/extra/sq-XK.d.ts    |     2 +
 .../@angular/common/locales/extra/sq-XK.js      |    25 +
 .../@angular/common/locales/extra/sq-XK.js.map  |     1 +
 .../@angular/common/locales/extra/sq.d.ts       |     2 +
 .../@angular/common/locales/extra/sq.js         |    25 +
 .../@angular/common/locales/extra/sq.js.map     |     1 +
 .../common/locales/extra/sr-Cyrl-BA.d.ts        |     2 +
 .../@angular/common/locales/extra/sr-Cyrl-BA.js |    23 +
 .../common/locales/extra/sr-Cyrl-BA.js.map      |     1 +
 .../common/locales/extra/sr-Cyrl-ME.d.ts        |     2 +
 .../@angular/common/locales/extra/sr-Cyrl-ME.js |    23 +
 .../common/locales/extra/sr-Cyrl-ME.js.map      |     1 +
 .../common/locales/extra/sr-Cyrl-XK.d.ts        |     2 +
 .../@angular/common/locales/extra/sr-Cyrl-XK.js |    23 +
 .../common/locales/extra/sr-Cyrl-XK.js.map      |     1 +
 .../@angular/common/locales/extra/sr-Cyrl.d.ts  |     2 +
 .../@angular/common/locales/extra/sr-Cyrl.js    |    22 +
 .../common/locales/extra/sr-Cyrl.js.map         |     1 +
 .../common/locales/extra/sr-Latn-BA.d.ts        |     2 +
 .../@angular/common/locales/extra/sr-Latn-BA.js |    23 +
 .../common/locales/extra/sr-Latn-BA.js.map      |     1 +
 .../common/locales/extra/sr-Latn-ME.d.ts        |     2 +
 .../@angular/common/locales/extra/sr-Latn-ME.js |    23 +
 .../common/locales/extra/sr-Latn-ME.js.map      |     1 +
 .../common/locales/extra/sr-Latn-XK.d.ts        |     2 +
 .../@angular/common/locales/extra/sr-Latn-XK.js |    23 +
 .../common/locales/extra/sr-Latn-XK.js.map      |     1 +
 .../@angular/common/locales/extra/sr-Latn.d.ts  |     2 +
 .../@angular/common/locales/extra/sr-Latn.js    |    22 +
 .../common/locales/extra/sr-Latn.js.map         |     1 +
 .../@angular/common/locales/extra/sr.d.ts       |     2 +
 .../@angular/common/locales/extra/sr.js         |    22 +
 .../@angular/common/locales/extra/sr.js.map     |     1 +
 .../@angular/common/locales/extra/sv-AX.d.ts    |     2 +
 .../@angular/common/locales/extra/sv-AX.js      |    24 +
 .../@angular/common/locales/extra/sv-AX.js.map  |     1 +
 .../@angular/common/locales/extra/sv-FI.d.ts    |     2 +
 .../@angular/common/locales/extra/sv-FI.js      |    24 +
 .../@angular/common/locales/extra/sv-FI.js.map  |     1 +
 .../@angular/common/locales/extra/sv.d.ts       |     2 +
 .../@angular/common/locales/extra/sv.js         |    24 +
 .../@angular/common/locales/extra/sv.js.map     |     1 +
 .../@angular/common/locales/extra/sw-CD.d.ts    |     2 +
 .../@angular/common/locales/extra/sw-CD.js      |    23 +
 .../@angular/common/locales/extra/sw-CD.js.map  |     1 +
 .../@angular/common/locales/extra/sw-KE.d.ts    |     2 +
 .../@angular/common/locales/extra/sw-KE.js      |    23 +
 .../@angular/common/locales/extra/sw-KE.js.map  |     1 +
 .../@angular/common/locales/extra/sw-UG.d.ts    |     2 +
 .../@angular/common/locales/extra/sw-UG.js      |    23 +
 .../@angular/common/locales/extra/sw-UG.js.map  |     1 +
 .../@angular/common/locales/extra/sw.d.ts       |     2 +
 .../@angular/common/locales/extra/sw.js         |    23 +
 .../@angular/common/locales/extra/sw.js.map     |     1 +
 .../@angular/common/locales/extra/ta-LK.d.ts    |     2 +
 .../@angular/common/locales/extra/ta-LK.js      |    22 +
 .../@angular/common/locales/extra/ta-LK.js.map  |     1 +
 .../@angular/common/locales/extra/ta-MY.d.ts    |     2 +
 .../@angular/common/locales/extra/ta-MY.js      |    22 +
 .../@angular/common/locales/extra/ta-MY.js.map  |     1 +
 .../@angular/common/locales/extra/ta-SG.d.ts    |     2 +
 .../@angular/common/locales/extra/ta-SG.js      |    22 +
 .../@angular/common/locales/extra/ta-SG.js.map  |     1 +
 .../@angular/common/locales/extra/ta.d.ts       |     2 +
 .../@angular/common/locales/extra/ta.js         |    22 +
 .../@angular/common/locales/extra/ta.js.map     |     1 +
 .../@angular/common/locales/extra/te.d.ts       |     2 +
 .../@angular/common/locales/extra/te.js         |    16 +
 .../@angular/common/locales/extra/te.js.map     |     1 +
 .../@angular/common/locales/extra/teo-KE.d.ts   |     2 +
 .../@angular/common/locales/extra/teo-KE.js     |     9 +
 .../@angular/common/locales/extra/teo-KE.js.map |     1 +
 .../@angular/common/locales/extra/teo.d.ts      |     2 +
 .../@angular/common/locales/extra/teo.js        |     9 +
 .../@angular/common/locales/extra/teo.js.map    |     1 +
 .../@angular/common/locales/extra/tg.d.ts       |     2 +
 .../@angular/common/locales/extra/tg.js         |     9 +
 .../@angular/common/locales/extra/tg.js.map     |     1 +
 .../@angular/common/locales/extra/th.d.ts       |     2 +
 .../@angular/common/locales/extra/th.js         |    22 +
 .../@angular/common/locales/extra/th.js.map     |     1 +
 .../@angular/common/locales/extra/ti-ER.d.ts    |     2 +
 .../@angular/common/locales/extra/ti-ER.js      |     9 +
 .../@angular/common/locales/extra/ti-ER.js.map  |     1 +
 .../@angular/common/locales/extra/ti.d.ts       |     2 +
 .../@angular/common/locales/extra/ti.js         |     9 +
 .../@angular/common/locales/extra/ti.js.map     |     1 +
 .../@angular/common/locales/extra/tk.d.ts       |     2 +
 .../@angular/common/locales/extra/tk.js         |     9 +
 .../@angular/common/locales/extra/tk.js.map     |     1 +
 .../@angular/common/locales/extra/to.d.ts       |     2 +
 .../@angular/common/locales/extra/to.js         |     9 +
 .../@angular/common/locales/extra/to.js.map     |     1 +
 .../@angular/common/locales/extra/tr-CY.d.ts    |     2 +
 .../@angular/common/locales/extra/tr-CY.js      |    22 +
 .../@angular/common/locales/extra/tr-CY.js.map  |     1 +
 .../@angular/common/locales/extra/tr.d.ts       |     2 +
 .../@angular/common/locales/extra/tr.js         |    22 +
 .../@angular/common/locales/extra/tr.js.map     |     1 +
 .../@angular/common/locales/extra/tt.d.ts       |     2 +
 .../@angular/common/locales/extra/tt.js         |     9 +
 .../@angular/common/locales/extra/tt.js.map     |     1 +
 .../@angular/common/locales/extra/twq.d.ts      |     2 +
 .../@angular/common/locales/extra/twq.js        |     9 +
 .../@angular/common/locales/extra/twq.js.map    |     1 +
 .../@angular/common/locales/extra/tzm.d.ts      |     2 +
 .../@angular/common/locales/extra/tzm.js        |     9 +
 .../@angular/common/locales/extra/tzm.js.map    |     1 +
 .../@angular/common/locales/extra/ug.d.ts       |     2 +
 .../@angular/common/locales/extra/ug.js         |     9 +
 .../@angular/common/locales/extra/ug.js.map     |     1 +
 .../@angular/common/locales/extra/uk.d.ts       |     2 +
 .../@angular/common/locales/extra/uk.js         |    22 +
 .../@angular/common/locales/extra/uk.js.map     |     1 +
 .../@angular/common/locales/extra/ur-IN.d.ts    |     2 +
 .../@angular/common/locales/extra/ur-IN.js      |    22 +
 .../@angular/common/locales/extra/ur-IN.js.map  |     1 +
 .../@angular/common/locales/extra/ur.d.ts       |     2 +
 .../@angular/common/locales/extra/ur.js         |    22 +
 .../@angular/common/locales/extra/ur.js.map     |     1 +
 .../@angular/common/locales/extra/uz-Arab.d.ts  |     2 +
 .../@angular/common/locales/extra/uz-Arab.js    |     9 +
 .../common/locales/extra/uz-Arab.js.map         |     1 +
 .../@angular/common/locales/extra/uz-Cyrl.d.ts  |     2 +
 .../@angular/common/locales/extra/uz-Cyrl.js    |    19 +
 .../common/locales/extra/uz-Cyrl.js.map         |     1 +
 .../@angular/common/locales/extra/uz-Latn.d.ts  |     2 +
 .../@angular/common/locales/extra/uz-Latn.js    |    19 +
 .../common/locales/extra/uz-Latn.js.map         |     1 +
 .../@angular/common/locales/extra/uz.d.ts       |     2 +
 .../@angular/common/locales/extra/uz.js         |    19 +
 .../@angular/common/locales/extra/uz.js.map     |     1 +
 .../@angular/common/locales/extra/vai-Latn.d.ts |     2 +
 .../@angular/common/locales/extra/vai-Latn.js   |     9 +
 .../common/locales/extra/vai-Latn.js.map        |     1 +
 .../@angular/common/locales/extra/vai-Vaii.d.ts |     2 +
 .../@angular/common/locales/extra/vai-Vaii.js   |     9 +
 .../common/locales/extra/vai-Vaii.js.map        |     1 +
 .../@angular/common/locales/extra/vai.d.ts      |     2 +
 .../@angular/common/locales/extra/vai.js        |     9 +
 .../@angular/common/locales/extra/vai.js.map    |     1 +
 .../@angular/common/locales/extra/vi.d.ts       |     2 +
 .../@angular/common/locales/extra/vi.js         |    23 +
 .../@angular/common/locales/extra/vi.js.map     |     1 +
 .../@angular/common/locales/extra/vo.d.ts       |     2 +
 .../@angular/common/locales/extra/vo.js         |     9 +
 .../@angular/common/locales/extra/vo.js.map     |     1 +
 .../@angular/common/locales/extra/vun.d.ts      |     2 +
 .../@angular/common/locales/extra/vun.js        |     9 +
 .../@angular/common/locales/extra/vun.js.map    |     1 +
 .../@angular/common/locales/extra/wae.d.ts      |     2 +
 .../@angular/common/locales/extra/wae.js        |     9 +
 .../@angular/common/locales/extra/wae.js.map    |     1 +
 .../@angular/common/locales/extra/wo.d.ts       |     2 +
 .../@angular/common/locales/extra/wo.js         |     9 +
 .../@angular/common/locales/extra/wo.js.map     |     1 +
 .../@angular/common/locales/extra/xog.d.ts      |     2 +
 .../@angular/common/locales/extra/xog.js        |     9 +
 .../@angular/common/locales/extra/xog.js.map    |     1 +
 .../@angular/common/locales/extra/yav.d.ts      |     2 +
 .../@angular/common/locales/extra/yav.js        |     9 +
 .../@angular/common/locales/extra/yav.js.map    |     1 +
 .../@angular/common/locales/extra/yi.d.ts       |     2 +
 .../@angular/common/locales/extra/yi.js         |     9 +
 .../@angular/common/locales/extra/yi.js.map     |     1 +
 .../@angular/common/locales/extra/yo-BJ.d.ts    |     2 +
 .../@angular/common/locales/extra/yo-BJ.js      |     9 +
 .../@angular/common/locales/extra/yo-BJ.js.map  |     1 +
 .../@angular/common/locales/extra/yo.d.ts       |     2 +
 .../@angular/common/locales/extra/yo.js         |     9 +
 .../@angular/common/locales/extra/yo.js.map     |     1 +
 .../@angular/common/locales/extra/yue-Hans.d.ts |     2 +
 .../@angular/common/locales/extra/yue-Hans.js   |    19 +
 .../common/locales/extra/yue-Hans.js.map        |     1 +
 .../@angular/common/locales/extra/yue-Hant.d.ts |     2 +
 .../@angular/common/locales/extra/yue-Hant.js   |    19 +
 .../common/locales/extra/yue-Hant.js.map        |     1 +
 .../@angular/common/locales/extra/yue.d.ts      |     2 +
 .../@angular/common/locales/extra/yue.js        |    19 +
 .../@angular/common/locales/extra/yue.js.map    |     1 +
 .../@angular/common/locales/extra/zgh.d.ts      |     2 +
 .../@angular/common/locales/extra/zgh.js        |     9 +
 .../@angular/common/locales/extra/zgh.js.map    |     1 +
 .../common/locales/extra/zh-Hans-HK.d.ts        |     2 +
 .../@angular/common/locales/extra/zh-Hans-HK.js |    22 +
 .../common/locales/extra/zh-Hans-HK.js.map      |     1 +
 .../common/locales/extra/zh-Hans-MO.d.ts        |     2 +
 .../@angular/common/locales/extra/zh-Hans-MO.js |    22 +
 .../common/locales/extra/zh-Hans-MO.js.map      |     1 +
 .../common/locales/extra/zh-Hans-SG.d.ts        |     2 +
 .../@angular/common/locales/extra/zh-Hans-SG.js |    22 +
 .../common/locales/extra/zh-Hans-SG.js.map      |     1 +
 .../@angular/common/locales/extra/zh-Hans.d.ts  |     2 +
 .../@angular/common/locales/extra/zh-Hans.js    |    22 +
 .../common/locales/extra/zh-Hans.js.map         |     1 +
 .../common/locales/extra/zh-Hant-HK.d.ts        |     2 +
 .../@angular/common/locales/extra/zh-Hant-HK.js |    19 +
 .../common/locales/extra/zh-Hant-HK.js.map      |     1 +
 .../common/locales/extra/zh-Hant-MO.d.ts        |     2 +
 .../@angular/common/locales/extra/zh-Hant-MO.js |    19 +
 .../common/locales/extra/zh-Hant-MO.js.map      |     1 +
 .../@angular/common/locales/extra/zh-Hant.d.ts  |     2 +
 .../@angular/common/locales/extra/zh-Hant.js    |    19 +
 .../common/locales/extra/zh-Hant.js.map         |     1 +
 .../@angular/common/locales/extra/zh.d.ts       |     2 +
 .../@angular/common/locales/extra/zh.js         |    22 +
 .../@angular/common/locales/extra/zh.js.map     |     1 +
 .../@angular/common/locales/extra/zu.d.ts       |     2 +
 .../@angular/common/locales/extra/zu.js         |    19 +
 .../@angular/common/locales/extra/zu.js.map     |     1 +
 node_modules/@angular/common/locales/fa-AF.d.ts |     2 +
 node_modules/@angular/common/locales/fa-AF.js   |    52 +
 .../@angular/common/locales/fa-AF.js.map        |     1 +
 node_modules/@angular/common/locales/fa.d.ts    |     2 +
 node_modules/@angular/common/locales/fa.js      |    48 +
 node_modules/@angular/common/locales/fa.js.map  |     1 +
 node_modules/@angular/common/locales/ff-CM.d.ts |     2 +
 node_modules/@angular/common/locales/ff-CM.js   |    47 +
 .../@angular/common/locales/ff-CM.js.map        |     1 +
 node_modules/@angular/common/locales/ff-GN.d.ts |     2 +
 node_modules/@angular/common/locales/ff-GN.js   |    46 +
 .../@angular/common/locales/ff-GN.js.map        |     1 +
 node_modules/@angular/common/locales/ff-MR.d.ts |     2 +
 node_modules/@angular/common/locales/ff-MR.js   |    47 +
 .../@angular/common/locales/ff-MR.js.map        |     1 +
 node_modules/@angular/common/locales/ff.d.ts    |     2 +
 node_modules/@angular/common/locales/ff.js      |    47 +
 node_modules/@angular/common/locales/ff.js.map  |     1 +
 node_modules/@angular/common/locales/fi.d.ts    |     2 +
 node_modules/@angular/common/locales/fi.js      |    67 +
 node_modules/@angular/common/locales/fi.js.map  |     1 +
 node_modules/@angular/common/locales/fil.d.ts   |     2 +
 node_modules/@angular/common/locales/fil.js     |    58 +
 node_modules/@angular/common/locales/fil.js.map |     1 +
 node_modules/@angular/common/locales/fo-DK.d.ts |     2 +
 node_modules/@angular/common/locales/fo-DK.js   |    56 +
 .../@angular/common/locales/fo-DK.js.map        |     1 +
 node_modules/@angular/common/locales/fo.d.ts    |     2 +
 node_modules/@angular/common/locales/fo.js      |    56 +
 node_modules/@angular/common/locales/fo.js.map  |     1 +
 node_modules/@angular/common/locales/fr-BE.d.ts |     2 +
 node_modules/@angular/common/locales/fr-BE.js   |    49 +
 .../@angular/common/locales/fr-BE.js.map        |     1 +
 node_modules/@angular/common/locales/fr-BF.d.ts |     2 +
 node_modules/@angular/common/locales/fr-BF.js   |    50 +
 .../@angular/common/locales/fr-BF.js.map        |     1 +
 node_modules/@angular/common/locales/fr-BI.d.ts |     2 +
 node_modules/@angular/common/locales/fr-BI.js   |    50 +
 .../@angular/common/locales/fr-BI.js.map        |     1 +
 node_modules/@angular/common/locales/fr-BJ.d.ts |     2 +
 node_modules/@angular/common/locales/fr-BJ.js   |    50 +
 .../@angular/common/locales/fr-BJ.js.map        |     1 +
 node_modules/@angular/common/locales/fr-BL.d.ts |     2 +
 node_modules/@angular/common/locales/fr-BL.js   |    49 +
 .../@angular/common/locales/fr-BL.js.map        |     1 +
 node_modules/@angular/common/locales/fr-CA.d.ts |     2 +
 node_modules/@angular/common/locales/fr-CA.js   |    56 +
 .../@angular/common/locales/fr-CA.js.map        |     1 +
 node_modules/@angular/common/locales/fr-CD.d.ts |     2 +
 node_modules/@angular/common/locales/fr-CD.js   |    50 +
 .../@angular/common/locales/fr-CD.js.map        |     1 +
 node_modules/@angular/common/locales/fr-CF.d.ts |     2 +
 node_modules/@angular/common/locales/fr-CF.js   |    50 +
 .../@angular/common/locales/fr-CF.js.map        |     1 +
 node_modules/@angular/common/locales/fr-CG.d.ts |     2 +
 node_modules/@angular/common/locales/fr-CG.js   |    50 +
 .../@angular/common/locales/fr-CG.js.map        |     1 +
 node_modules/@angular/common/locales/fr-CH.d.ts |     2 +
 node_modules/@angular/common/locales/fr-CH.js   |    50 +
 .../@angular/common/locales/fr-CH.js.map        |     1 +
 node_modules/@angular/common/locales/fr-CI.d.ts |     2 +
 node_modules/@angular/common/locales/fr-CI.js   |    50 +
 .../@angular/common/locales/fr-CI.js.map        |     1 +
 node_modules/@angular/common/locales/fr-CM.d.ts |     2 +
 node_modules/@angular/common/locales/fr-CM.js   |    45 +
 .../@angular/common/locales/fr-CM.js.map        |     1 +
 node_modules/@angular/common/locales/fr-DJ.d.ts |     2 +
 node_modules/@angular/common/locales/fr-DJ.js   |    50 +
 .../@angular/common/locales/fr-DJ.js.map        |     1 +
 node_modules/@angular/common/locales/fr-DZ.d.ts |     2 +
 node_modules/@angular/common/locales/fr-DZ.js   |    50 +
 .../@angular/common/locales/fr-DZ.js.map        |     1 +
 node_modules/@angular/common/locales/fr-GA.d.ts |     2 +
 node_modules/@angular/common/locales/fr-GA.js   |    50 +
 .../@angular/common/locales/fr-GA.js.map        |     1 +
 node_modules/@angular/common/locales/fr-GF.d.ts |     2 +
 node_modules/@angular/common/locales/fr-GF.js   |    49 +
 .../@angular/common/locales/fr-GF.js.map        |     1 +
 node_modules/@angular/common/locales/fr-GN.d.ts |     2 +
 node_modules/@angular/common/locales/fr-GN.js   |    50 +
 .../@angular/common/locales/fr-GN.js.map        |     1 +
 node_modules/@angular/common/locales/fr-GP.d.ts |     2 +
 node_modules/@angular/common/locales/fr-GP.js   |    49 +
 .../@angular/common/locales/fr-GP.js.map        |     1 +
 node_modules/@angular/common/locales/fr-GQ.d.ts |     2 +
 node_modules/@angular/common/locales/fr-GQ.js   |    50 +
 .../@angular/common/locales/fr-GQ.js.map        |     1 +
 node_modules/@angular/common/locales/fr-HT.d.ts |     2 +
 node_modules/@angular/common/locales/fr-HT.js   |    50 +
 .../@angular/common/locales/fr-HT.js.map        |     1 +
 node_modules/@angular/common/locales/fr-KM.d.ts |     2 +
 node_modules/@angular/common/locales/fr-KM.js   |    50 +
 .../@angular/common/locales/fr-KM.js.map        |     1 +
 node_modules/@angular/common/locales/fr-LU.d.ts |     2 +
 node_modules/@angular/common/locales/fr-LU.js   |    49 +
 .../@angular/common/locales/fr-LU.js.map        |     1 +
 node_modules/@angular/common/locales/fr-MA.d.ts |     2 +
 node_modules/@angular/common/locales/fr-MA.js   |    49 +
 .../@angular/common/locales/fr-MA.js.map        |     1 +
 node_modules/@angular/common/locales/fr-MC.d.ts |     2 +
 node_modules/@angular/common/locales/fr-MC.js   |    49 +
 .../@angular/common/locales/fr-MC.js.map        |     1 +
 node_modules/@angular/common/locales/fr-MF.d.ts |     2 +
 node_modules/@angular/common/locales/fr-MF.js   |    49 +
 .../@angular/common/locales/fr-MF.js.map        |     1 +
 node_modules/@angular/common/locales/fr-MG.d.ts |     2 +
 node_modules/@angular/common/locales/fr-MG.js   |    50 +
 .../@angular/common/locales/fr-MG.js.map        |     1 +
 node_modules/@angular/common/locales/fr-ML.d.ts |     2 +
 node_modules/@angular/common/locales/fr-ML.js   |    50 +
 .../@angular/common/locales/fr-ML.js.map        |     1 +
 node_modules/@angular/common/locales/fr-MQ.d.ts |     2 +
 node_modules/@angular/common/locales/fr-MQ.js   |    49 +
 .../@angular/common/locales/fr-MQ.js.map        |     1 +
 node_modules/@angular/common/locales/fr-MR.d.ts |     2 +
 node_modules/@angular/common/locales/fr-MR.js   |    50 +
 .../@angular/common/locales/fr-MR.js.map        |     1 +
 node_modules/@angular/common/locales/fr-MU.d.ts |     2 +
 node_modules/@angular/common/locales/fr-MU.js   |    50 +
 .../@angular/common/locales/fr-MU.js.map        |     1 +
 node_modules/@angular/common/locales/fr-NC.d.ts |     2 +
 node_modules/@angular/common/locales/fr-NC.js   |    50 +
 .../@angular/common/locales/fr-NC.js.map        |     1 +
 node_modules/@angular/common/locales/fr-NE.d.ts |     2 +
 node_modules/@angular/common/locales/fr-NE.js   |    50 +
 .../@angular/common/locales/fr-NE.js.map        |     1 +
 node_modules/@angular/common/locales/fr-PF.d.ts |     2 +
 node_modules/@angular/common/locales/fr-PF.js   |    50 +
 .../@angular/common/locales/fr-PF.js.map        |     1 +
 node_modules/@angular/common/locales/fr-PM.d.ts |     2 +
 node_modules/@angular/common/locales/fr-PM.js   |    49 +
 .../@angular/common/locales/fr-PM.js.map        |     1 +
 node_modules/@angular/common/locales/fr-RE.d.ts |     2 +
 node_modules/@angular/common/locales/fr-RE.js   |    49 +
 .../@angular/common/locales/fr-RE.js.map        |     1 +
 node_modules/@angular/common/locales/fr-RW.d.ts |     2 +
 node_modules/@angular/common/locales/fr-RW.js   |    50 +
 .../@angular/common/locales/fr-RW.js.map        |     1 +
 node_modules/@angular/common/locales/fr-SC.d.ts |     2 +
 node_modules/@angular/common/locales/fr-SC.js   |    50 +
 .../@angular/common/locales/fr-SC.js.map        |     1 +
 node_modules/@angular/common/locales/fr-SN.d.ts |     2 +
 node_modules/@angular/common/locales/fr-SN.js   |    50 +
 .../@angular/common/locales/fr-SN.js.map        |     1 +
 node_modules/@angular/common/locales/fr-SY.d.ts |     2 +
 node_modules/@angular/common/locales/fr-SY.js   |    50 +
 .../@angular/common/locales/fr-SY.js.map        |     1 +
 node_modules/@angular/common/locales/fr-TD.d.ts |     2 +
 node_modules/@angular/common/locales/fr-TD.js   |    50 +
 .../@angular/common/locales/fr-TD.js.map        |     1 +
 node_modules/@angular/common/locales/fr-TG.d.ts |     2 +
 node_modules/@angular/common/locales/fr-TG.js   |    50 +
 .../@angular/common/locales/fr-TG.js.map        |     1 +
 node_modules/@angular/common/locales/fr-TN.d.ts |     2 +
 node_modules/@angular/common/locales/fr-TN.js   |    50 +
 .../@angular/common/locales/fr-TN.js.map        |     1 +
 node_modules/@angular/common/locales/fr-VU.d.ts |     2 +
 node_modules/@angular/common/locales/fr-VU.js   |    50 +
 .../@angular/common/locales/fr-VU.js.map        |     1 +
 node_modules/@angular/common/locales/fr-WF.d.ts |     2 +
 node_modules/@angular/common/locales/fr-WF.js   |    50 +
 .../@angular/common/locales/fr-WF.js.map        |     1 +
 node_modules/@angular/common/locales/fr-YT.d.ts |     2 +
 node_modules/@angular/common/locales/fr-YT.js   |    49 +
 .../@angular/common/locales/fr-YT.js.map        |     1 +
 node_modules/@angular/common/locales/fr.d.ts    |     2 +
 node_modules/@angular/common/locales/fr.js      |    49 +
 node_modules/@angular/common/locales/fr.js.map  |     1 +
 node_modules/@angular/common/locales/fur.d.ts   |     2 +
 node_modules/@angular/common/locales/fur.js     |    48 +
 node_modules/@angular/common/locales/fur.js.map |     1 +
 node_modules/@angular/common/locales/fy.d.ts    |     2 +
 node_modules/@angular/common/locales/fy.js      |    47 +
 node_modules/@angular/common/locales/fy.js.map  |     1 +
 node_modules/@angular/common/locales/ga.d.ts    |     2 +
 node_modules/@angular/common/locales/ga.js      |    60 +
 node_modules/@angular/common/locales/ga.js.map  |     1 +
 node_modules/@angular/common/locales/gd.d.ts    |     2 +
 node_modules/@angular/common/locales/gd.js      |    64 +
 node_modules/@angular/common/locales/gd.js.map  |     1 +
 node_modules/@angular/common/locales/gl.d.ts    |     2 +
 node_modules/@angular/common/locales/gl.js      |    63 +
 node_modules/@angular/common/locales/gl.js.map  |     1 +
 .../@angular/common/locales/gsw-FR.d.ts         |     2 +
 node_modules/@angular/common/locales/gsw-FR.js  |    44 +
 .../@angular/common/locales/gsw-FR.js.map       |     1 +
 .../@angular/common/locales/gsw-LI.d.ts         |     2 +
 node_modules/@angular/common/locales/gsw-LI.js  |    44 +
 .../@angular/common/locales/gsw-LI.js.map       |     1 +
 node_modules/@angular/common/locales/gsw.d.ts   |     2 +
 node_modules/@angular/common/locales/gsw.js     |    44 +
 node_modules/@angular/common/locales/gsw.js.map |     1 +
 node_modules/@angular/common/locales/gu.d.ts    |     2 +
 node_modules/@angular/common/locales/gu.js      |    47 +
 node_modules/@angular/common/locales/gu.js.map  |     1 +
 node_modules/@angular/common/locales/guz.d.ts   |     2 +
 node_modules/@angular/common/locales/guz.js     |    41 +
 node_modules/@angular/common/locales/guz.js.map |     1 +
 node_modules/@angular/common/locales/gv.d.ts    |     2 +
 node_modules/@angular/common/locales/gv.js      |    60 +
 node_modules/@angular/common/locales/gv.js.map  |     1 +
 node_modules/@angular/common/locales/ha-GH.d.ts |     2 +
 node_modules/@angular/common/locales/ha-GH.js   |    45 +
 .../@angular/common/locales/ha-GH.js.map        |     1 +
 node_modules/@angular/common/locales/ha-NE.d.ts |     2 +
 node_modules/@angular/common/locales/ha-NE.js   |    46 +
 .../@angular/common/locales/ha-NE.js.map        |     1 +
 node_modules/@angular/common/locales/ha.d.ts    |     2 +
 node_modules/@angular/common/locales/ha.js      |    45 +
 node_modules/@angular/common/locales/ha.js.map  |     1 +
 node_modules/@angular/common/locales/haw.d.ts   |     2 +
 node_modules/@angular/common/locales/haw.js     |    48 +
 node_modules/@angular/common/locales/haw.js.map |     1 +
 node_modules/@angular/common/locales/he.d.ts    |     2 +
 node_modules/@angular/common/locales/he.js      |    55 +
 node_modules/@angular/common/locales/he.js.map  |     1 +
 node_modules/@angular/common/locales/hi.d.ts    |     2 +
 node_modules/@angular/common/locales/hi.js      |    47 +
 node_modules/@angular/common/locales/hi.js.map  |     1 +
 node_modules/@angular/common/locales/hr-BA.d.ts |     2 +
 node_modules/@angular/common/locales/hr-BA.js   |    59 +
 .../@angular/common/locales/hr-BA.js.map        |     1 +
 node_modules/@angular/common/locales/hr.d.ts    |     2 +
 node_modules/@angular/common/locales/hr.js      |    63 +
 node_modules/@angular/common/locales/hr.js.map  |     1 +
 node_modules/@angular/common/locales/hsb.d.ts   |     2 +
 node_modules/@angular/common/locales/hsb.js     |    64 +
 node_modules/@angular/common/locales/hsb.js.map |     1 +
 node_modules/@angular/common/locales/hu.d.ts    |     2 +
 node_modules/@angular/common/locales/hu.js      |    48 +
 node_modules/@angular/common/locales/hu.js.map  |     1 +
 node_modules/@angular/common/locales/hy.d.ts    |     2 +
 node_modules/@angular/common/locales/hy.js      |    57 +
 node_modules/@angular/common/locales/hy.js.map  |     1 +
 node_modules/@angular/common/locales/id.d.ts    |     2 +
 node_modules/@angular/common/locales/id.js      |    42 +
 node_modules/@angular/common/locales/id.js.map  |     1 +
 node_modules/@angular/common/locales/ig.d.ts    |     2 +
 node_modules/@angular/common/locales/ig.js      |    42 +
 node_modules/@angular/common/locales/ig.js.map  |     1 +
 node_modules/@angular/common/locales/ii.d.ts    |     2 +
 node_modules/@angular/common/locales/ii.js      |    44 +
 node_modules/@angular/common/locales/ii.js.map  |     1 +
 node_modules/@angular/common/locales/is.d.ts    |     2 +
 node_modules/@angular/common/locales/is.js      |    53 +
 node_modules/@angular/common/locales/is.js.map  |     1 +
 node_modules/@angular/common/locales/it-CH.d.ts |     2 +
 node_modules/@angular/common/locales/it-CH.js   |    47 +
 .../@angular/common/locales/it-CH.js.map        |     1 +
 node_modules/@angular/common/locales/it-SM.d.ts |     2 +
 node_modules/@angular/common/locales/it-SM.js   |    47 +
 .../@angular/common/locales/it-SM.js.map        |     1 +
 node_modules/@angular/common/locales/it-VA.d.ts |     2 +
 node_modules/@angular/common/locales/it-VA.js   |    47 +
 .../@angular/common/locales/it-VA.js.map        |     1 +
 node_modules/@angular/common/locales/it.d.ts    |     2 +
 node_modules/@angular/common/locales/it.js      |    47 +
 node_modules/@angular/common/locales/it.js.map  |     1 +
 node_modules/@angular/common/locales/ja.d.ts    |     2 +
 node_modules/@angular/common/locales/ja.js      |    41 +
 node_modules/@angular/common/locales/ja.js.map  |     1 +
 node_modules/@angular/common/locales/jgo.d.ts   |     2 +
 node_modules/@angular/common/locales/jgo.js     |    48 +
 node_modules/@angular/common/locales/jgo.js.map |     1 +
 node_modules/@angular/common/locales/jmc.d.ts   |     2 +
 node_modules/@angular/common/locales/jmc.js     |    45 +
 node_modules/@angular/common/locales/jmc.js.map |     1 +
 node_modules/@angular/common/locales/ka.d.ts    |     2 +
 node_modules/@angular/common/locales/ka.js      |    45 +
 node_modules/@angular/common/locales/ka.js.map  |     1 +
 node_modules/@angular/common/locales/kab.d.ts   |     2 +
 node_modules/@angular/common/locales/kab.js     |    47 +
 node_modules/@angular/common/locales/kab.js.map |     1 +
 node_modules/@angular/common/locales/kam.d.ts   |     2 +
 node_modules/@angular/common/locales/kam.js     |    43 +
 node_modules/@angular/common/locales/kam.js.map |     1 +
 node_modules/@angular/common/locales/kde.d.ts   |     2 +
 node_modules/@angular/common/locales/kde.js     |    47 +
 node_modules/@angular/common/locales/kde.js.map |     1 +
 node_modules/@angular/common/locales/kea.d.ts   |     2 +
 node_modules/@angular/common/locales/kea.js     |    49 +
 node_modules/@angular/common/locales/kea.js.map |     1 +
 node_modules/@angular/common/locales/khq.d.ts   |     2 +
 node_modules/@angular/common/locales/khq.js     |    42 +
 node_modules/@angular/common/locales/khq.js.map |     1 +
 node_modules/@angular/common/locales/ki.d.ts    |     2 +
 node_modules/@angular/common/locales/ki.js      |    43 +
 node_modules/@angular/common/locales/ki.js.map  |     1 +
 node_modules/@angular/common/locales/kk.d.ts    |     2 +
 node_modules/@angular/common/locales/kk.js      |    60 +
 node_modules/@angular/common/locales/kk.js.map  |     1 +
 node_modules/@angular/common/locales/kkj.d.ts   |     2 +
 node_modules/@angular/common/locales/kkj.js     |    51 +
 node_modules/@angular/common/locales/kkj.js.map |     1 +
 node_modules/@angular/common/locales/kl.d.ts    |     2 +
 node_modules/@angular/common/locales/kl.js      |    51 +
 node_modules/@angular/common/locales/kl.js.map  |     1 +
 node_modules/@angular/common/locales/kln.d.ts   |     2 +
 node_modules/@angular/common/locales/kln.js     |    41 +
 node_modules/@angular/common/locales/kln.js.map |     1 +
 node_modules/@angular/common/locales/km.d.ts    |     2 +
 node_modules/@angular/common/locales/km.js      |    40 +
 node_modules/@angular/common/locales/km.js.map  |     1 +
 node_modules/@angular/common/locales/kn.d.ts    |     2 +
 node_modules/@angular/common/locales/kn.js      |    57 +
 node_modules/@angular/common/locales/kn.js.map  |     1 +
 node_modules/@angular/common/locales/ko-KP.d.ts |     2 +
 node_modules/@angular/common/locales/ko-KP.js   |    33 +
 .../@angular/common/locales/ko-KP.js.map        |     1 +
 node_modules/@angular/common/locales/ko.d.ts    |     2 +
 node_modules/@angular/common/locales/ko.js      |    33 +
 node_modules/@angular/common/locales/ko.js.map  |     1 +
 node_modules/@angular/common/locales/kok.d.ts   |     2 +
 node_modules/@angular/common/locales/kok.js     |    44 +
 node_modules/@angular/common/locales/kok.js.map |     1 +
 node_modules/@angular/common/locales/ks.d.ts    |     2 +
 node_modules/@angular/common/locales/ks.js      |    45 +
 node_modules/@angular/common/locales/ks.js.map  |     1 +
 node_modules/@angular/common/locales/ksb.d.ts   |     2 +
 node_modules/@angular/common/locales/ksb.js     |    45 +
 node_modules/@angular/common/locales/ksb.js.map |     1 +
 node_modules/@angular/common/locales/ksf.d.ts   |     2 +
 node_modules/@angular/common/locales/ksf.js     |    43 +
 node_modules/@angular/common/locales/ksf.js.map |     1 +
 node_modules/@angular/common/locales/ksh.d.ts   |     2 +
 node_modules/@angular/common/locales/ksh.js     |    50 +
 node_modules/@angular/common/locales/ksh.js.map |     1 +
 node_modules/@angular/common/locales/kw.d.ts    |     2 +
 node_modules/@angular/common/locales/kw.js      |    50 +
 node_modules/@angular/common/locales/kw.js.map  |     1 +
 node_modules/@angular/common/locales/ky.d.ts    |     2 +
 node_modules/@angular/common/locales/ky.js      |    53 +
 node_modules/@angular/common/locales/ky.js.map  |     1 +
 node_modules/@angular/common/locales/lag.d.ts   |     2 +
 node_modules/@angular/common/locales/lag.js     |    52 +
 node_modules/@angular/common/locales/lag.js.map |     1 +
 node_modules/@angular/common/locales/lb.d.ts    |     2 +
 node_modules/@angular/common/locales/lb.js      |    62 +
 node_modules/@angular/common/locales/lb.js.map  |     1 +
 node_modules/@angular/common/locales/lg.d.ts    |     2 +
 node_modules/@angular/common/locales/lg.js      |    45 +
 node_modules/@angular/common/locales/lg.js.map  |     1 +
 node_modules/@angular/common/locales/lkt.d.ts   |     2 +
 node_modules/@angular/common/locales/lkt.js     |    54 +
 node_modules/@angular/common/locales/lkt.js.map |     1 +
 node_modules/@angular/common/locales/ln-AO.d.ts |     2 +
 node_modules/@angular/common/locales/ln-AO.js   |    50 +
 .../@angular/common/locales/ln-AO.js.map        |     1 +
 node_modules/@angular/common/locales/ln-CF.d.ts |     2 +
 node_modules/@angular/common/locales/ln-CF.js   |    50 +
 .../@angular/common/locales/ln-CF.js.map        |     1 +
 node_modules/@angular/common/locales/ln-CG.d.ts |     2 +
 node_modules/@angular/common/locales/ln-CG.js   |    50 +
 .../@angular/common/locales/ln-CG.js.map        |     1 +
 node_modules/@angular/common/locales/ln.d.ts    |     2 +
 node_modules/@angular/common/locales/ln.js      |    50 +
 node_modules/@angular/common/locales/ln.js.map  |     1 +
 node_modules/@angular/common/locales/lo.d.ts    |     2 +
 node_modules/@angular/common/locales/lo.js      |    47 +
 node_modules/@angular/common/locales/lo.js.map  |     1 +
 .../@angular/common/locales/lrc-IQ.d.ts         |     2 +
 node_modules/@angular/common/locales/lrc-IQ.js  |    44 +
 .../@angular/common/locales/lrc-IQ.js.map       |     1 +
 node_modules/@angular/common/locales/lrc.d.ts   |     2 +
 node_modules/@angular/common/locales/lrc.js     |    44 +
 node_modules/@angular/common/locales/lrc.js.map |     1 +
 node_modules/@angular/common/locales/lt.d.ts    |     2 +
 node_modules/@angular/common/locales/lt.js      |    68 +
 node_modules/@angular/common/locales/lt.js.map  |     1 +
 node_modules/@angular/common/locales/lu.d.ts    |     2 +
 node_modules/@angular/common/locales/lu.js      |    42 +
 node_modules/@angular/common/locales/lu.js.map  |     1 +
 node_modules/@angular/common/locales/luo.d.ts   |     2 +
 node_modules/@angular/common/locales/luo.js     |    43 +
 node_modules/@angular/common/locales/luo.js.map |     1 +
 node_modules/@angular/common/locales/luy.d.ts   |     2 +
 node_modules/@angular/common/locales/luy.js     |    44 +
 node_modules/@angular/common/locales/luy.js.map |     1 +
 node_modules/@angular/common/locales/lv.d.ts    |     2 +
 node_modules/@angular/common/locales/lv.js      |    56 +
 node_modules/@angular/common/locales/lv.js.map  |     1 +
 .../@angular/common/locales/mas-TZ.d.ts         |     2 +
 node_modules/@angular/common/locales/mas-TZ.js  |    45 +
 .../@angular/common/locales/mas-TZ.js.map       |     1 +
 node_modules/@angular/common/locales/mas.d.ts   |     2 +
 node_modules/@angular/common/locales/mas.js     |    45 +
 node_modules/@angular/common/locales/mas.js.map |     1 +
 node_modules/@angular/common/locales/mer.d.ts   |     2 +
 node_modules/@angular/common/locales/mer.js     |    42 +
 node_modules/@angular/common/locales/mer.js.map |     1 +
 node_modules/@angular/common/locales/mfe.d.ts   |     2 +
 node_modules/@angular/common/locales/mfe.js     |    42 +
 node_modules/@angular/common/locales/mfe.js.map |     1 +
 node_modules/@angular/common/locales/mg.d.ts    |     2 +
 node_modules/@angular/common/locales/mg.js      |    46 +
 node_modules/@angular/common/locales/mg.js.map  |     1 +
 node_modules/@angular/common/locales/mgh.d.ts   |     2 +
 node_modules/@angular/common/locales/mgh.js     |    43 +
 node_modules/@angular/common/locales/mgh.js.map |     1 +
 node_modules/@angular/common/locales/mgo.d.ts   |     2 +
 node_modules/@angular/common/locales/mgo.js     |    51 +
 node_modules/@angular/common/locales/mgo.js.map |     1 +
 node_modules/@angular/common/locales/mk.d.ts    |     2 +
 node_modules/@angular/common/locales/mk.js      |    49 +
 node_modules/@angular/common/locales/mk.js.map  |     1 +
 node_modules/@angular/common/locales/ml.d.ts    |     2 +
 node_modules/@angular/common/locales/ml.js      |    63 +
 node_modules/@angular/common/locales/ml.js.map  |     1 +
 node_modules/@angular/common/locales/mn.d.ts    |     2 +
 node_modules/@angular/common/locales/mn.js      |    48 +
 node_modules/@angular/common/locales/mn.js.map  |     1 +
 node_modules/@angular/common/locales/mr.d.ts    |     2 +
 node_modules/@angular/common/locales/mr.js      |    50 +
 node_modules/@angular/common/locales/mr.js.map  |     1 +
 node_modules/@angular/common/locales/ms-BN.d.ts |     2 +
 node_modules/@angular/common/locales/ms-BN.js   |    45 +
 .../@angular/common/locales/ms-BN.js.map        |     1 +
 node_modules/@angular/common/locales/ms-SG.d.ts |     2 +
 node_modules/@angular/common/locales/ms-SG.js   |    45 +
 .../@angular/common/locales/ms-SG.js.map        |     1 +
 node_modules/@angular/common/locales/ms.d.ts    |     2 +
 node_modules/@angular/common/locales/ms.js      |    45 +
 node_modules/@angular/common/locales/ms.js.map  |     1 +
 node_modules/@angular/common/locales/mt.d.ts    |     2 +
 node_modules/@angular/common/locales/mt.js      |    61 +
 node_modules/@angular/common/locales/mt.js.map  |     1 +
 node_modules/@angular/common/locales/mua.d.ts   |     2 +
 node_modules/@angular/common/locales/mua.js     |    42 +
 node_modules/@angular/common/locales/mua.js.map |     1 +
 node_modules/@angular/common/locales/my.d.ts    |     2 +
 node_modules/@angular/common/locales/my.js      |    42 +
 node_modules/@angular/common/locales/my.js.map  |     1 +
 node_modules/@angular/common/locales/mzn.d.ts   |     2 +
 node_modules/@angular/common/locales/mzn.js     |    41 +
 node_modules/@angular/common/locales/mzn.js.map |     1 +
 node_modules/@angular/common/locales/naq.d.ts   |     2 +
 node_modules/@angular/common/locales/naq.js     |    50 +
 node_modules/@angular/common/locales/naq.js.map |     1 +
 node_modules/@angular/common/locales/nb-SJ.d.ts |     2 +
 node_modules/@angular/common/locales/nb-SJ.js   |    51 +
 .../@angular/common/locales/nb-SJ.js.map        |     1 +
 node_modules/@angular/common/locales/nb.d.ts    |     2 +
 node_modules/@angular/common/locales/nb.js      |    51 +
 node_modules/@angular/common/locales/nb.js.map  |     1 +
 node_modules/@angular/common/locales/nd.d.ts    |     2 +
 node_modules/@angular/common/locales/nd.js      |    45 +
 node_modules/@angular/common/locales/nd.js.map  |     1 +
 .../@angular/common/locales/nds-NL.d.ts         |     2 +
 node_modules/@angular/common/locales/nds-NL.js  |    40 +
 .../@angular/common/locales/nds-NL.js.map       |     1 +
 node_modules/@angular/common/locales/nds.d.ts   |     2 +
 node_modules/@angular/common/locales/nds.js     |    40 +
 node_modules/@angular/common/locales/nds.js.map |     1 +
 node_modules/@angular/common/locales/ne-IN.d.ts |     2 +
 node_modules/@angular/common/locales/ne-IN.js   |    53 +
 .../@angular/common/locales/ne-IN.js.map        |     1 +
 node_modules/@angular/common/locales/ne.d.ts    |     2 +
 node_modules/@angular/common/locales/ne.js      |    53 +
 node_modules/@angular/common/locales/ne.js.map  |     1 +
 node_modules/@angular/common/locales/nl-AW.d.ts |     2 +
 node_modules/@angular/common/locales/nl-AW.js   |    47 +
 .../@angular/common/locales/nl-AW.js.map        |     1 +
 node_modules/@angular/common/locales/nl-BE.d.ts |     2 +
 node_modules/@angular/common/locales/nl-BE.js   |    47 +
 .../@angular/common/locales/nl-BE.js.map        |     1 +
 node_modules/@angular/common/locales/nl-BQ.d.ts |     2 +
 node_modules/@angular/common/locales/nl-BQ.js   |    47 +
 .../@angular/common/locales/nl-BQ.js.map        |     1 +
 node_modules/@angular/common/locales/nl-CW.d.ts |     2 +
 node_modules/@angular/common/locales/nl-CW.js   |    47 +
 .../@angular/common/locales/nl-CW.js.map        |     1 +
 node_modules/@angular/common/locales/nl-SR.d.ts |     2 +
 node_modules/@angular/common/locales/nl-SR.js   |    47 +
 .../@angular/common/locales/nl-SR.js.map        |     1 +
 node_modules/@angular/common/locales/nl-SX.d.ts |     2 +
 node_modules/@angular/common/locales/nl-SX.js   |    47 +
 .../@angular/common/locales/nl-SX.js.map        |     1 +
 node_modules/@angular/common/locales/nl.d.ts    |     2 +
 node_modules/@angular/common/locales/nl.js      |    47 +
 node_modules/@angular/common/locales/nl.js.map  |     1 +
 node_modules/@angular/common/locales/nmg.d.ts   |     2 +
 node_modules/@angular/common/locales/nmg.js     |    45 +
 node_modules/@angular/common/locales/nmg.js.map |     1 +
 node_modules/@angular/common/locales/nn.d.ts    |     2 +
 node_modules/@angular/common/locales/nn.js      |    54 +
 node_modules/@angular/common/locales/nn.js.map  |     1 +
 node_modules/@angular/common/locales/nnh.d.ts   |     2 +
 node_modules/@angular/common/locales/nnh.js     |    43 +
 node_modules/@angular/common/locales/nnh.js.map |     1 +
 node_modules/@angular/common/locales/nus.d.ts   |     2 +
 node_modules/@angular/common/locales/nus.js     |    44 +
 node_modules/@angular/common/locales/nus.js.map |     1 +
 node_modules/@angular/common/locales/nyn.d.ts   |     2 +
 node_modules/@angular/common/locales/nyn.js     |    46 +
 node_modules/@angular/common/locales/nyn.js.map |     1 +
 node_modules/@angular/common/locales/om-KE.d.ts |     2 +
 node_modules/@angular/common/locales/om-KE.js   |    52 +
 .../@angular/common/locales/om-KE.js.map        |     1 +
 node_modules/@angular/common/locales/om.d.ts    |     2 +
 node_modules/@angular/common/locales/om.js      |    45 +
 node_modules/@angular/common/locales/om.js.map  |     1 +
 node_modules/@angular/common/locales/or.d.ts    |     2 +
 node_modules/@angular/common/locales/or.js      |    43 +
 node_modules/@angular/common/locales/or.js.map  |     1 +
 node_modules/@angular/common/locales/os-RU.d.ts |     2 +
 node_modules/@angular/common/locales/os-RU.js   |    63 +
 .../@angular/common/locales/os-RU.js.map        |     1 +
 node_modules/@angular/common/locales/os.d.ts    |     2 +
 node_modules/@angular/common/locales/os.js      |    63 +
 node_modules/@angular/common/locales/os.js.map  |     1 +
 .../@angular/common/locales/pa-Arab.d.ts        |     2 +
 node_modules/@angular/common/locales/pa-Arab.js |    44 +
 .../@angular/common/locales/pa-Arab.js.map      |     1 +
 .../@angular/common/locales/pa-Guru.d.ts        |     2 +
 node_modules/@angular/common/locales/pa-Guru.js |    48 +
 .../@angular/common/locales/pa-Guru.js.map      |     1 +
 node_modules/@angular/common/locales/pa.d.ts    |     2 +
 node_modules/@angular/common/locales/pa.js      |    48 +
 node_modules/@angular/common/locales/pa.js.map  |     1 +
 node_modules/@angular/common/locales/pl.d.ts    |     2 +
 node_modules/@angular/common/locales/pl.js      |    65 +
 node_modules/@angular/common/locales/pl.js.map  |     1 +
 node_modules/@angular/common/locales/prg.d.ts   |     2 +
 node_modules/@angular/common/locales/prg.js     |    50 +
 node_modules/@angular/common/locales/prg.js.map |     1 +
 node_modules/@angular/common/locales/ps.d.ts    |     2 +
 node_modules/@angular/common/locales/ps.js      |    54 +
 node_modules/@angular/common/locales/ps.js.map  |     1 +
 node_modules/@angular/common/locales/pt-AO.d.ts |     2 +
 node_modules/@angular/common/locales/pt-AO.js   |    46 +
 .../@angular/common/locales/pt-AO.js.map        |     1 +
 node_modules/@angular/common/locales/pt-CH.d.ts |     2 +
 node_modules/@angular/common/locales/pt-CH.js   |    46 +
 .../@angular/common/locales/pt-CH.js.map        |     1 +
 node_modules/@angular/common/locales/pt-CV.d.ts |     2 +
 node_modules/@angular/common/locales/pt-CV.js   |    46 +
 .../@angular/common/locales/pt-CV.js.map        |     1 +
 node_modules/@angular/common/locales/pt-GQ.d.ts |     2 +
 node_modules/@angular/common/locales/pt-GQ.js   |    46 +
 .../@angular/common/locales/pt-GQ.js.map        |     1 +
 node_modules/@angular/common/locales/pt-GW.d.ts |     2 +
 node_modules/@angular/common/locales/pt-GW.js   |    46 +
 .../@angular/common/locales/pt-GW.js.map        |     1 +
 node_modules/@angular/common/locales/pt-LU.d.ts |     2 +
 node_modules/@angular/common/locales/pt-LU.js   |    46 +
 .../@angular/common/locales/pt-LU.js.map        |     1 +
 node_modules/@angular/common/locales/pt-MO.d.ts |     2 +
 node_modules/@angular/common/locales/pt-MO.js   |    46 +
 .../@angular/common/locales/pt-MO.js.map        |     1 +
 node_modules/@angular/common/locales/pt-MZ.d.ts |     2 +
 node_modules/@angular/common/locales/pt-MZ.js   |    46 +
 .../@angular/common/locales/pt-MZ.js.map        |     1 +
 node_modules/@angular/common/locales/pt-PT.d.ts |     2 +
 node_modules/@angular/common/locales/pt-PT.js   |    46 +
 .../@angular/common/locales/pt-PT.js.map        |     1 +
 node_modules/@angular/common/locales/pt-ST.d.ts |     2 +
 node_modules/@angular/common/locales/pt-ST.js   |    46 +
 .../@angular/common/locales/pt-ST.js.map        |     1 +
 node_modules/@angular/common/locales/pt-TL.d.ts |     2 +
 node_modules/@angular/common/locales/pt-TL.js   |    46 +
 .../@angular/common/locales/pt-TL.js.map        |     1 +
 node_modules/@angular/common/locales/pt.d.ts    |     2 +
 node_modules/@angular/common/locales/pt.js      |    50 +
 node_modules/@angular/common/locales/pt.js.map  |     1 +
 node_modules/@angular/common/locales/qu-BO.d.ts |     2 +
 node_modules/@angular/common/locales/qu-BO.js   |    40 +
 .../@angular/common/locales/qu-BO.js.map        |     1 +
 node_modules/@angular/common/locales/qu-EC.d.ts |     2 +
 node_modules/@angular/common/locales/qu-EC.js   |    40 +
 .../@angular/common/locales/qu-EC.js.map        |     1 +
 node_modules/@angular/common/locales/qu.d.ts    |     2 +
 node_modules/@angular/common/locales/qu.js      |    40 +
 node_modules/@angular/common/locales/qu.js.map  |     1 +
 node_modules/@angular/common/locales/rm.d.ts    |     2 +
 node_modules/@angular/common/locales/rm.js      |    48 +
 node_modules/@angular/common/locales/rm.js.map  |     1 +
 node_modules/@angular/common/locales/rn.d.ts    |     2 +
 node_modules/@angular/common/locales/rn.js      |    47 +
 node_modules/@angular/common/locales/rn.js.map  |     1 +
 node_modules/@angular/common/locales/ro-MD.d.ts |     2 +
 node_modules/@angular/common/locales/ro-MD.js   |    52 +
 .../@angular/common/locales/ro-MD.js.map        |     1 +
 node_modules/@angular/common/locales/ro.d.ts    |     2 +
 node_modules/@angular/common/locales/ro.js      |    52 +
 node_modules/@angular/common/locales/ro.js.map  |     1 +
 node_modules/@angular/common/locales/rof.d.ts   |     2 +
 node_modules/@angular/common/locales/rof.js     |    46 +
 node_modules/@angular/common/locales/rof.js.map |     1 +
 node_modules/@angular/common/locales/root.d.ts  |     2 +
 node_modules/@angular/common/locales/root.js    |    45 +
 .../@angular/common/locales/root.js.map         |     1 +
 node_modules/@angular/common/locales/ru-BY.d.ts |     2 +
 node_modules/@angular/common/locales/ru-BY.js   |    71 +
 .../@angular/common/locales/ru-BY.js.map        |     1 +
 node_modules/@angular/common/locales/ru-KG.d.ts |     2 +
 node_modules/@angular/common/locales/ru-KG.js   |    71 +
 .../@angular/common/locales/ru-KG.js.map        |     1 +
 node_modules/@angular/common/locales/ru-KZ.d.ts |     2 +
 node_modules/@angular/common/locales/ru-KZ.js   |    71 +
 .../@angular/common/locales/ru-KZ.js.map        |     1 +
 node_modules/@angular/common/locales/ru-MD.d.ts |     2 +
 node_modules/@angular/common/locales/ru-MD.js   |    71 +
 .../@angular/common/locales/ru-MD.js.map        |     1 +
 node_modules/@angular/common/locales/ru-UA.d.ts |     2 +
 node_modules/@angular/common/locales/ru-UA.js   |    71 +
 .../@angular/common/locales/ru-UA.js.map        |     1 +
 node_modules/@angular/common/locales/ru.d.ts    |     2 +
 node_modules/@angular/common/locales/ru.js      |    71 +
 node_modules/@angular/common/locales/ru.js.map  |     1 +
 node_modules/@angular/common/locales/rw.d.ts    |     2 +
 node_modules/@angular/common/locales/rw.js      |    50 +
 node_modules/@angular/common/locales/rw.js.map  |     1 +
 node_modules/@angular/common/locales/rwk.d.ts   |     2 +
 node_modules/@angular/common/locales/rwk.js     |    45 +
 node_modules/@angular/common/locales/rwk.js.map |     1 +
 node_modules/@angular/common/locales/sah.d.ts   |     2 +
 node_modules/@angular/common/locales/sah.js     |    52 +
 node_modules/@angular/common/locales/sah.js.map |     1 +
 node_modules/@angular/common/locales/saq.d.ts   |     2 +
 node_modules/@angular/common/locales/saq.js     |    49 +
 node_modules/@angular/common/locales/saq.js.map |     1 +
 node_modules/@angular/common/locales/sbp.d.ts   |     2 +
 node_modules/@angular/common/locales/sbp.js     |    42 +
 node_modules/@angular/common/locales/sbp.js.map |     1 +
 node_modules/@angular/common/locales/sd.d.ts    |     2 +
 node_modules/@angular/common/locales/sd.js      |    48 +
 node_modules/@angular/common/locales/sd.js.map  |     1 +
 node_modules/@angular/common/locales/se-FI.d.ts |     2 +
 node_modules/@angular/common/locales/se-FI.js   |    52 +
 .../@angular/common/locales/se-FI.js.map        |     1 +
 node_modules/@angular/common/locales/se-SE.d.ts |     2 +
 node_modules/@angular/common/locales/se-SE.js   |    45 +
 .../@angular/common/locales/se-SE.js.map        |     1 +
 node_modules/@angular/common/locales/se.d.ts    |     2 +
 node_modules/@angular/common/locales/se.js      |    45 +
 node_modules/@angular/common/locales/se.js.map  |     1 +
 node_modules/@angular/common/locales/seh.d.ts   |     2 +
 node_modules/@angular/common/locales/seh.js     |    45 +
 node_modules/@angular/common/locales/seh.js.map |     1 +
 node_modules/@angular/common/locales/ses.d.ts   |     2 +
 node_modules/@angular/common/locales/ses.js     |    42 +
 node_modules/@angular/common/locales/ses.js.map |     1 +
 node_modules/@angular/common/locales/sg.d.ts    |     2 +
 node_modules/@angular/common/locales/sg.js      |    42 +
 node_modules/@angular/common/locales/sg.js.map  |     1 +
 .../@angular/common/locales/shi-Latn.d.ts       |     2 +
 .../@angular/common/locales/shi-Latn.js         |    42 +
 .../@angular/common/locales/shi-Latn.js.map     |     1 +
 .../@angular/common/locales/shi-Tfng.d.ts       |     2 +
 .../@angular/common/locales/shi-Tfng.js         |    49 +
 .../@angular/common/locales/shi-Tfng.js.map     |     1 +
 node_modules/@angular/common/locales/shi.d.ts   |     2 +
 node_modules/@angular/common/locales/shi.js     |    49 +
 node_modules/@angular/common/locales/shi.js.map |     1 +
 node_modules/@angular/common/locales/si.d.ts    |     2 +
 node_modules/@angular/common/locales/si.js      |    71 +
 node_modules/@angular/common/locales/si.js.map  |     1 +
 node_modules/@angular/common/locales/sk.d.ts    |     2 +
 node_modules/@angular/common/locales/sk.js      |    57 +
 node_modules/@angular/common/locales/sk.js.map  |     1 +
 node_modules/@angular/common/locales/sl.d.ts    |     2 +
 node_modules/@angular/common/locales/sl.js      |    52 +
 node_modules/@angular/common/locales/sl.js.map  |     1 +
 node_modules/@angular/common/locales/smn.d.ts   |     2 +
 node_modules/@angular/common/locales/smn.js     |    54 +
 node_modules/@angular/common/locales/smn.js.map |     1 +
 node_modules/@angular/common/locales/sn.d.ts    |     2 +
 node_modules/@angular/common/locales/sn.js      |    48 +
 node_modules/@angular/common/locales/sn.js.map  |     1 +
 node_modules/@angular/common/locales/so-DJ.d.ts |     2 +
 node_modules/@angular/common/locales/so-DJ.js   |    57 +
 .../@angular/common/locales/so-DJ.js.map        |     1 +
 node_modules/@angular/common/locales/so-ET.d.ts |     2 +
 node_modules/@angular/common/locales/so-ET.js   |    57 +
 .../@angular/common/locales/so-ET.js.map        |     1 +
 node_modules/@angular/common/locales/so-KE.d.ts |     2 +
 node_modules/@angular/common/locales/so-KE.js   |    57 +
 .../@angular/common/locales/so-KE.js.map        |     1 +
 node_modules/@angular/common/locales/so.d.ts    |     2 +
 node_modules/@angular/common/locales/so.js      |    57 +
 node_modules/@angular/common/locales/so.js.map  |     1 +
 node_modules/@angular/common/locales/sq-MK.d.ts |     2 +
 node_modules/@angular/common/locales/sq-MK.js   |    59 +
 .../@angular/common/locales/sq-MK.js.map        |     1 +
 node_modules/@angular/common/locales/sq-XK.d.ts |     2 +
 node_modules/@angular/common/locales/sq-XK.js   |    59 +
 .../@angular/common/locales/sq-XK.js.map        |     1 +
 node_modules/@angular/common/locales/sq.d.ts    |     2 +
 node_modules/@angular/common/locales/sq.js      |    59 +
 node_modules/@angular/common/locales/sq.js.map  |     1 +
 .../@angular/common/locales/sr-Cyrl-BA.d.ts     |     2 +
 .../@angular/common/locales/sr-Cyrl-BA.js       |    55 +
 .../@angular/common/locales/sr-Cyrl-BA.js.map   |     1 +
 .../@angular/common/locales/sr-Cyrl-ME.d.ts     |     2 +
 .../@angular/common/locales/sr-Cyrl-ME.js       |    52 +
 .../@angular/common/locales/sr-Cyrl-ME.js.map   |     1 +
 .../@angular/common/locales/sr-Cyrl-XK.d.ts     |     2 +
 .../@angular/common/locales/sr-Cyrl-XK.js       |    52 +
 .../@angular/common/locales/sr-Cyrl-XK.js.map   |     1 +
 .../@angular/common/locales/sr-Cyrl.d.ts        |     2 +
 node_modules/@angular/common/locales/sr-Cyrl.js |    55 +
 .../@angular/common/locales/sr-Cyrl.js.map      |     1 +
 .../@angular/common/locales/sr-Latn-BA.d.ts     |     2 +
 .../@angular/common/locales/sr-Latn-BA.js       |    42 +
 .../@angular/common/locales/sr-Latn-BA.js.map   |     1 +
 .../@angular/common/locales/sr-Latn-ME.d.ts     |     2 +
 .../@angular/common/locales/sr-Latn-ME.js       |    42 +
 .../@angular/common/locales/sr-Latn-ME.js.map   |     1 +
 .../@angular/common/locales/sr-Latn-XK.d.ts     |     2 +
 .../@angular/common/locales/sr-Latn-XK.js       |    42 +
 .../@angular/common/locales/sr-Latn-XK.js.map   |     1 +
 .../@angular/common/locales/sr-Latn.d.ts        |     2 +
 node_modules/@angular/common/locales/sr-Latn.js |    45 +
 .../@angular/common/locales/sr-Latn.js.map      |     1 +
 node_modules/@angular/common/locales/sr.d.ts    |     2 +
 node_modules/@angular/common/locales/sr.js      |    55 +
 node_modules/@angular/common/locales/sr.js.map  |     1 +
 node_modules/@angular/common/locales/sv-AX.d.ts |     2 +
 node_modules/@angular/common/locales/sv-AX.js   |    47 +
 .../@angular/common/locales/sv-AX.js.map        |     1 +
 node_modules/@angular/common/locales/sv-FI.d.ts |     2 +
 node_modules/@angular/common/locales/sv-FI.js   |    47 +
 .../@angular/common/locales/sv-FI.js.map        |     1 +
 node_modules/@angular/common/locales/sv.d.ts    |     2 +
 node_modules/@angular/common/locales/sv.js      |    47 +
 node_modules/@angular/common/locales/sv.js.map  |     1 +
 node_modules/@angular/common/locales/sw-CD.d.ts |     2 +
 node_modules/@angular/common/locales/sw-CD.js   |    50 +
 .../@angular/common/locales/sw-CD.js.map        |     1 +
 node_modules/@angular/common/locales/sw-KE.d.ts |     2 +
 node_modules/@angular/common/locales/sw-KE.js   |    50 +
 .../@angular/common/locales/sw-KE.js.map        |     1 +
 node_modules/@angular/common/locales/sw-UG.d.ts |     2 +
 node_modules/@angular/common/locales/sw-UG.js   |    50 +
 .../@angular/common/locales/sw-UG.js.map        |     1 +
 node_modules/@angular/common/locales/sw.d.ts    |     2 +
 node_modules/@angular/common/locales/sw.js      |    50 +
 node_modules/@angular/common/locales/sw.js.map  |     1 +
 node_modules/@angular/common/locales/ta-LK.d.ts |     2 +
 node_modules/@angular/common/locales/ta-LK.js   |    46 +
 .../@angular/common/locales/ta-LK.js.map        |     1 +
 node_modules/@angular/common/locales/ta-MY.d.ts |     2 +
 node_modules/@angular/common/locales/ta-MY.js   |    46 +
 .../@angular/common/locales/ta-MY.js.map        |     1 +
 node_modules/@angular/common/locales/ta-SG.d.ts |     2 +
 node_modules/@angular/common/locales/ta-SG.js   |    46 +
 .../@angular/common/locales/ta-SG.js.map        |     1 +
 node_modules/@angular/common/locales/ta.d.ts    |     2 +
 node_modules/@angular/common/locales/ta.js      |    46 +
 node_modules/@angular/common/locales/ta.js.map  |     1 +
 node_modules/@angular/common/locales/te.d.ts    |     2 +
 node_modules/@angular/common/locales/te.js      |    48 +
 node_modules/@angular/common/locales/te.js.map  |     1 +
 .../@angular/common/locales/teo-KE.d.ts         |     2 +
 node_modules/@angular/common/locales/teo-KE.js  |    45 +
 .../@angular/common/locales/teo-KE.js.map       |     1 +
 node_modules/@angular/common/locales/teo.d.ts   |     2 +
 node_modules/@angular/common/locales/teo.js     |    45 +
 node_modules/@angular/common/locales/teo.js.map |     1 +
 node_modules/@angular/common/locales/tg.d.ts    |     2 +
 node_modules/@angular/common/locales/tg.js      |    41 +
 node_modules/@angular/common/locales/tg.js.map  |     1 +
 node_modules/@angular/common/locales/th.d.ts    |     2 +
 node_modules/@angular/common/locales/th.js      |    48 +
 node_modules/@angular/common/locales/th.js.map  |     1 +
 node_modules/@angular/common/locales/ti-ER.d.ts |     2 +
 node_modules/@angular/common/locales/ti-ER.js   |    45 +
 .../@angular/common/locales/ti-ER.js.map        |     1 +
 node_modules/@angular/common/locales/ti.d.ts    |     2 +
 node_modules/@angular/common/locales/ti.js      |    45 +
 node_modules/@angular/common/locales/ti.js.map  |     1 +
 node_modules/@angular/common/locales/tk.d.ts    |     2 +
 node_modules/@angular/common/locales/tk.js      |    52 +
 node_modules/@angular/common/locales/tk.js.map  |     1 +
 node_modules/@angular/common/locales/to.d.ts    |     2 +
 node_modules/@angular/common/locales/to.js      |    37 +
 node_modules/@angular/common/locales/to.js.map  |     1 +
 node_modules/@angular/common/locales/tr-CY.d.ts |     2 +
 node_modules/@angular/common/locales/tr-CY.js   |    48 +
 .../@angular/common/locales/tr-CY.js.map        |     1 +
 node_modules/@angular/common/locales/tr.d.ts    |     2 +
 node_modules/@angular/common/locales/tr.js      |    48 +
 node_modules/@angular/common/locales/tr.js.map  |     1 +
 node_modules/@angular/common/locales/tt.d.ts    |     2 +
 node_modules/@angular/common/locales/tt.js      |    45 +
 node_modules/@angular/common/locales/tt.js.map  |     1 +
 node_modules/@angular/common/locales/twq.d.ts   |     2 +
 node_modules/@angular/common/locales/twq.js     |    42 +
 node_modules/@angular/common/locales/twq.js.map |     1 +
 node_modules/@angular/common/locales/tzm.d.ts   |     2 +
 node_modules/@angular/common/locales/tzm.js     |    46 +
 node_modules/@angular/common/locales/tzm.js.map |     1 +
 node_modules/@angular/common/locales/ug.d.ts    |     2 +
 node_modules/@angular/common/locales/ug.js      |    43 +
 node_modules/@angular/common/locales/ug.js.map  |     1 +
 node_modules/@angular/common/locales/uk.d.ts    |     2 +
 node_modules/@angular/common/locales/uk.js      |    64 +
 node_modules/@angular/common/locales/uk.js.map  |     1 +
 node_modules/@angular/common/locales/ur-IN.d.ts |     2 +
 node_modules/@angular/common/locales/ur-IN.js   |    52 +
 .../@angular/common/locales/ur-IN.js.map        |     1 +
 node_modules/@angular/common/locales/ur.d.ts    |     2 +
 node_modules/@angular/common/locales/ur.js      |    52 +
 node_modules/@angular/common/locales/ur.js.map  |     1 +
 .../@angular/common/locales/uz-Arab.d.ts        |     2 +
 node_modules/@angular/common/locales/uz-Arab.js |    45 +
 .../@angular/common/locales/uz-Arab.js.map      |     1 +
 .../@angular/common/locales/uz-Cyrl.d.ts        |     2 +
 node_modules/@angular/common/locales/uz-Cyrl.js |    53 +
 .../@angular/common/locales/uz-Cyrl.js.map      |     1 +
 .../@angular/common/locales/uz-Latn.d.ts        |     2 +
 node_modules/@angular/common/locales/uz-Latn.js |    52 +
 .../@angular/common/locales/uz-Latn.js.map      |     1 +
 node_modules/@angular/common/locales/uz.d.ts    |     2 +
 node_modules/@angular/common/locales/uz.js      |    52 +
 node_modules/@angular/common/locales/uz.js.map  |     1 +
 .../@angular/common/locales/vai-Latn.d.ts       |     2 +
 .../@angular/common/locales/vai-Latn.js         |    44 +
 .../@angular/common/locales/vai-Latn.js.map     |     1 +
 .../@angular/common/locales/vai-Vaii.d.ts       |     2 +
 .../@angular/common/locales/vai-Vaii.js         |    42 +
 .../@angular/common/locales/vai-Vaii.js.map     |     1 +
 node_modules/@angular/common/locales/vai.d.ts   |     2 +
 node_modules/@angular/common/locales/vai.js     |    42 +
 node_modules/@angular/common/locales/vai.js.map |     1 +
 node_modules/@angular/common/locales/vi.d.ts    |     2 +
 node_modules/@angular/common/locales/vi.js      |    62 +
 node_modules/@angular/common/locales/vi.js.map  |     1 +
 node_modules/@angular/common/locales/vo.d.ts    |     2 +
 node_modules/@angular/common/locales/vo.js      |    44 +
 node_modules/@angular/common/locales/vo.js.map  |     1 +
 node_modules/@angular/common/locales/vun.d.ts   |     2 +
 node_modules/@angular/common/locales/vun.js     |    45 +
 node_modules/@angular/common/locales/vun.js.map |     1 +
 node_modules/@angular/common/locales/wae.d.ts   |     2 +
 node_modules/@angular/common/locales/wae.js     |    48 +
 node_modules/@angular/common/locales/wae.js.map |     1 +
 node_modules/@angular/common/locales/wo.d.ts    |     2 +
 node_modules/@angular/common/locales/wo.js      |    42 +
 node_modules/@angular/common/locales/wo.js.map  |     1 +
 node_modules/@angular/common/locales/xog.d.ts   |     2 +
 node_modules/@angular/common/locales/xog.js     |    45 +
 node_modules/@angular/common/locales/xog.js.map |     1 +
 node_modules/@angular/common/locales/yav.d.ts   |     2 +
 node_modules/@angular/common/locales/yav.js     |    43 +
 node_modules/@angular/common/locales/yav.js.map |     1 +
 node_modules/@angular/common/locales/yi.d.ts    |     2 +
 node_modules/@angular/common/locales/yi.js      |    56 +
 node_modules/@angular/common/locales/yi.js.map  |     1 +
 node_modules/@angular/common/locales/yo-BJ.d.ts |     2 +
 node_modules/@angular/common/locales/yo-BJ.js   |    46 +
 .../@angular/common/locales/yo-BJ.js.map        |     1 +
 node_modules/@angular/common/locales/yo.d.ts    |     2 +
 node_modules/@angular/common/locales/yo.js      |    46 +
 node_modules/@angular/common/locales/yo.js.map  |     1 +
 .../@angular/common/locales/yue-Hans.d.ts       |     2 +
 .../@angular/common/locales/yue-Hans.js         |    46 +
 .../@angular/common/locales/yue-Hans.js.map     |     1 +
 .../@angular/common/locales/yue-Hant.d.ts       |     2 +
 .../@angular/common/locales/yue-Hant.js         |    41 +
 .../@angular/common/locales/yue-Hant.js.map     |     1 +
 node_modules/@angular/common/locales/yue.d.ts   |     2 +
 node_modules/@angular/common/locales/yue.js     |    41 +
 node_modules/@angular/common/locales/yue.js.map |     1 +
 node_modules/@angular/common/locales/zgh.d.ts   |     2 +
 node_modules/@angular/common/locales/zgh.js     |    42 +
 node_modules/@angular/common/locales/zgh.js.map |     1 +
 .../@angular/common/locales/zh-Hans-HK.d.ts     |     2 +
 .../@angular/common/locales/zh-Hans-HK.js       |    46 +
 .../@angular/common/locales/zh-Hans-HK.js.map   |     1 +
 .../@angular/common/locales/zh-Hans-MO.d.ts     |     2 +
 .../@angular/common/locales/zh-Hans-MO.js       |    46 +
 .../@angular/common/locales/zh-Hans-MO.js.map   |     1 +
 .../@angular/common/locales/zh-Hans-SG.d.ts     |     2 +
 .../@angular/common/locales/zh-Hans-SG.js       |    46 +
 .../@angular/common/locales/zh-Hans-SG.js.map   |     1 +
 .../@angular/common/locales/zh-Hans.d.ts        |     2 +
 node_modules/@angular/common/locales/zh-Hans.js |    46 +
 .../@angular/common/locales/zh-Hans.js.map      |     1 +
 .../@angular/common/locales/zh-Hant-HK.d.ts     |     2 +
 .../@angular/common/locales/zh-Hant-HK.js       |    42 +
 .../@angular/common/locales/zh-Hant-HK.js.map   |     1 +
 .../@angular/common/locales/zh-Hant-MO.d.ts     |     2 +
 .../@angular/common/locales/zh-Hant-MO.js       |    42 +
 .../@angular/common/locales/zh-Hant-MO.js.map   |     1 +
 .../@angular/common/locales/zh-Hant.d.ts        |     2 +
 node_modules/@angular/common/locales/zh-Hant.js |    42 +
 .../@angular/common/locales/zh-Hant.js.map      |     1 +
 node_modules/@angular/common/locales/zh.d.ts    |     2 +
 node_modules/@angular/common/locales/zh.js      |    46 +
 node_modules/@angular/common/locales/zh.js.map  |     1 +
 node_modules/@angular/common/locales/zu.d.ts    |     2 +
 node_modules/@angular/common/locales/zu.js      |    60 +
 node_modules/@angular/common/locales/zu.js.map  |     1 +
 node_modules/@angular/common/package.json       |    57 +
 node_modules/@angular/common/public_api.d.ts    |    14 +
 node_modules/@angular/common/testing.d.ts       |     6 +
 .../@angular/common/testing.metadata.json       |     1 +
 .../@angular/common/testing/package.json        |     7 +
 .../@angular/common/testing/public_api.d.ts     |    13 +
 .../@angular/common/testing/testing.d.ts        |     4 +
 .../common/testing/testing.metadata.json        |     1 +
 node_modules/@angular/compiler/README.md        |     6 +
 .../compiler/bundles/compiler-testing.umd.js    |   612 +
 .../bundles/compiler-testing.umd.js.map         |     1 +
 .../bundles/compiler-testing.umd.min.js         |     7 +
 .../bundles/compiler-testing.umd.min.js.map     |     1 +
 .../@angular/compiler/bundles/compiler.umd.js   | 35440 +++++++++++++++++
 .../compiler/bundles/compiler.umd.js.map        |     1 +
 .../compiler/bundles/compiler.umd.min.js        |   124 +
 .../compiler/bundles/compiler.umd.min.js.map    |     1 +
 node_modules/@angular/compiler/compiler.d.ts    |     8 +
 .../@angular/compiler/esm2015/compiler.js       | 28902 ++++++++++++++
 .../@angular/compiler/esm2015/compiler.js.map   |     1 +
 .../@angular/compiler/esm2015/testing.js        |   462 +
 .../@angular/compiler/esm2015/testing.js.map    |     1 +
 node_modules/@angular/compiler/esm5/compiler.js | 35235 ++++++++++++++++
 .../@angular/compiler/esm5/compiler.js.map      |     1 +
 node_modules/@angular/compiler/esm5/testing.js  |   632 +
 .../@angular/compiler/esm5/testing.js.map       |     1 +
 node_modules/@angular/compiler/index.d.ts       |     8 +
 node_modules/@angular/compiler/package.json     |    53 +
 node_modules/@angular/compiler/public_api.d.ts  |    13 +
 node_modules/@angular/compiler/testing.d.ts     |     6 +
 .../@angular/compiler/testing.metadata.json     |     1 +
 .../@angular/compiler/testing/package.json      |     7 +
 .../@angular/compiler/testing/public_api.d.ts   |    13 +
 .../@angular/compiler/testing/testing.d.ts      |     8 +
 node_modules/@angular/core/README.md            |     6 +
 .../@angular/core/bundles/core-testing.umd.js   |  1315 +
 .../core/bundles/core-testing.umd.js.map        |     1 +
 .../core/bundles/core-testing.umd.min.js        |    14 +
 .../core/bundles/core-testing.umd.min.js.map    |     1 +
 node_modules/@angular/core/bundles/core.umd.js  | 19332 +++++++++
 .../@angular/core/bundles/core.umd.js.map       |     1 +
 .../@angular/core/bundles/core.umd.min.js       |   262 +
 .../@angular/core/bundles/core.umd.min.js.map   |     1 +
 node_modules/@angular/core/core.d.ts            |    18 +
 node_modules/@angular/core/core.metadata.json   |     1 +
 node_modules/@angular/core/esm2015/core.js      | 16857 ++++++++
 node_modules/@angular/core/esm2015/core.js.map  |     1 +
 node_modules/@angular/core/esm2015/testing.js   |  1044 +
 .../@angular/core/esm2015/testing.js.map        |     1 +
 node_modules/@angular/core/esm5/core.js         | 19276 +++++++++
 node_modules/@angular/core/esm5/core.js.map     |     1 +
 node_modules/@angular/core/esm5/testing.js      |  1289 +
 node_modules/@angular/core/esm5/testing.js.map  |     1 +
 node_modules/@angular/core/package.json         |    57 +
 node_modules/@angular/core/public_api.d.ts      |    13 +
 node_modules/@angular/core/testing.d.ts         |     6 +
 .../@angular/core/testing.metadata.json         |     1 +
 node_modules/@angular/core/testing/package.json |     7 +
 .../@angular/core/testing/public_api.d.ts       |    13 +
 node_modules/@angular/core/testing/testing.d.ts |     4 +
 .../@angular/core/testing/testing.metadata.json |     1 +
 node_modules/@angular/flex-layout/CHANGELOG.md  |   658 +
 node_modules/@angular/flex-layout/LICENSE       |    21 +
 node_modules/@angular/flex-layout/README.md     |    62 +
 .../flex-layout/bundles/flex-layout-core.umd.js |  3545 ++
 .../bundles/flex-layout-core.umd.js.map         |     1 +
 .../bundles/flex-layout-core.umd.min.js         |     9 +
 .../bundles/flex-layout-core.umd.min.js.map     |     1 +
 .../bundles/flex-layout-extended.umd.js         |  1727 +
 .../bundles/flex-layout-extended.umd.js.map     |     1 +
 .../bundles/flex-layout-extended.umd.min.js     |     9 +
 .../bundles/flex-layout-extended.umd.min.js.map |     1 +
 .../flex-layout/bundles/flex-layout-flex.umd.js |  2647 ++
 .../bundles/flex-layout-flex.umd.js.map         |     1 +
 .../bundles/flex-layout-flex.umd.min.js         |    10 +
 .../bundles/flex-layout-flex.umd.min.js.map     |     1 +
 .../bundles/flex-layout-server.umd.js           |   187 +
 .../bundles/flex-layout-server.umd.js.map       |     1 +
 .../bundles/flex-layout-server.umd.min.js       |     9 +
 .../bundles/flex-layout-server.umd.min.js.map   |     1 +
 .../flex-layout/bundles/flex-layout.umd.js      |   162 +
 .../flex-layout/bundles/flex-layout.umd.js.map  |     1 +
 .../flex-layout/bundles/flex-layout.umd.min.js  |     9 +
 .../bundles/flex-layout.umd.min.js.map          |     1 +
 node_modules/@angular/flex-layout/core.d.ts     |     8 +
 .../@angular/flex-layout/core.metadata.json     |    12 +
 .../@angular/flex-layout/core/index.d.ts        |     8 +
 .../flex-layout/core/index.metadata.json        |    12 +
 .../@angular/flex-layout/core/package.json      |     7 +
 .../flex-layout/core/typings/add-alias.d.ts     |    14 +
 .../core/typings/base/base-adapter.d.ts         |    74 +
 .../flex-layout/core/typings/base/base.d.ts     |   123 +
 .../flex-layout/core/typings/base/index.d.ts    |     9 +
 .../break-point-registry-provider.d.ts          |    22 +
 .../breakpoints/break-point-registry.d.ts       |    42 +
 .../core/typings/breakpoints/break-point.d.ts   |    13 +
 .../breakpoints/break-points-provider.d.ts      |    77 +
 .../typings/breakpoints/break-points-token.d.ts |    14 +
 .../typings/breakpoints/breakpoint-tools.d.ts   |    19 +
 .../typings/breakpoints/data/break-points.d.ts  |    10 +
 .../data/orientation-break-points.d.ts          |    23 +
 .../core/typings/breakpoints/index.d.ts         |    13 +
 .../core/typings/browser-provider.d.ts          |    24 +
 .../flex-layout/core/typings/index.d.ts         |     7 +
 .../core/typings/index.metadata.json            |     1 +
 .../core/typings/match-media/index.d.ts         |    10 +
 .../match-media/match-media-provider.d.ts       |    21 +
 .../core/typings/match-media/match-media.d.ts   |    58 +
 .../match-media/mock/mock-match-media.d.ts      |    89 +
 .../typings/match-media/server-match-media.d.ts |    56 +
 .../flex-layout/core/typings/media-change.d.ts  |    21 +
 .../core/typings/media-monitor/index.d.ts       |     9 +
 .../media-monitor/media-monitor-provider.d.ts   |    23 +
 .../typings/media-monitor/media-monitor.d.ts    |    44 +
 .../core/typings/media-queries-module.d.ts      |     9 +
 .../flex-layout/core/typings/module.d.ts        |     7 +
 .../core/typings/observable-media/index.d.ts    |     9 +
 .../observable-media-provider.d.ts              |    23 +
 .../observable-media/observable-media.d.ts      |   105 +
 .../flex-layout/core/typings/public-api.d.ts    |    20 +
 .../responsive-activation.d.ts                  |   124 +
 .../core/typings/style-utils/style-utils.d.ts   |    48 +
 .../core/typings/stylesheet-map/index.d.ts      |     9 +
 .../stylesheet-map/stylesheet-map-provider.d.ts |    21 +
 .../typings/stylesheet-map/stylesheet-map.d.ts  |    21 +
 .../core/typings/tokens/breakpoint-token.d.ts   |    12 +
 .../core/typings/tokens/flex-styles-token.d.ts  |     9 +
 .../flex-layout/core/typings/tokens/index.d.ts  |    11 +
 .../core/typings/tokens/server-token.d.ts       |    15 +
 .../typings/tokens/vendor-prefixes-token.d.ts   |     9 +
 .../@angular/flex-layout/esm2015/core.js        |  2594 ++
 .../@angular/flex-layout/esm2015/core.js.map    |     1 +
 .../@angular/flex-layout/esm2015/extended.js    |  1219 +
 .../flex-layout/esm2015/extended.js.map         |     1 +
 .../@angular/flex-layout/esm2015/flex-layout.js |    87 +
 .../flex-layout/esm2015/flex-layout.js.map      |     1 +
 .../@angular/flex-layout/esm2015/flex.js        |  2010 +
 .../@angular/flex-layout/esm2015/flex.js.map    |     1 +
 .../@angular/flex-layout/esm2015/server.js      |   181 +
 .../@angular/flex-layout/esm2015/server.js.map  |     1 +
 .../@angular/flex-layout/esm5/core.es5.js       |  3487 ++
 .../@angular/flex-layout/esm5/core.es5.js.map   |     1 +
 .../@angular/flex-layout/esm5/extended.es5.js   |  1703 +
 .../flex-layout/esm5/extended.es5.js.map        |     1 +
 .../flex-layout/esm5/flex-layout.es5.js         |   105 +
 .../flex-layout/esm5/flex-layout.es5.js.map     |     1 +
 .../@angular/flex-layout/esm5/flex.es5.js       |  2619 ++
 .../@angular/flex-layout/esm5/flex.es5.js.map   |     1 +
 .../@angular/flex-layout/esm5/server.es5.js     |   189 +
 .../@angular/flex-layout/esm5/server.es5.js.map |     1 +
 node_modules/@angular/flex-layout/extended.d.ts |     8 +
 .../@angular/flex-layout/extended.metadata.json |    12 +
 .../@angular/flex-layout/extended/index.d.ts    |     8 +
 .../flex-layout/extended/index.metadata.json    |    12 +
 .../@angular/flex-layout/extended/package.json  |     7 +
 .../extended/typings/class/class.d.ts           |    80 +
 .../extended/typings/img-src/img-src.d.ts       |    73 +
 .../flex-layout/extended/typings/index.d.ts     |     4 +
 .../extended/typings/index.metadata.json        |     1 +
 .../flex-layout/extended/typings/module.d.ts    |     7 +
 .../extended/typings/public-api.d.ts            |    12 +
 .../extended/typings/show-hide/show-hide.d.ts   |    92 +
 .../typings/style/style-transforms.d.ts         |    33 +
 .../extended/typings/style/style.d.ts           |    90 +
 .../@angular/flex-layout/flex-layout.d.ts       |     8 +
 .../flex-layout/flex-layout.metadata.json       |    12 +
 node_modules/@angular/flex-layout/flex.d.ts     |     8 +
 .../@angular/flex-layout/flex.metadata.json     |    12 +
 .../@angular/flex-layout/flex/index.d.ts        |     8 +
 .../flex-layout/flex/index.metadata.json        |    12 +
 .../@angular/flex-layout/flex/package.json      |     7 +
 .../flex/typings/flex-align/flex-align.d.ts     |    42 +
 .../flex/typings/flex-fill/flex-fill.d.ts       |    19 +
 .../flex/typings/flex-offset/flex-offset.d.ts   |    76 +
 .../flex/typings/flex-order/flex-order.d.ts     |    44 +
 .../flex-layout/flex/typings/flex/flex.d.ts     |    69 +
 .../flex-layout/flex/typings/index.d.ts         |     4 +
 .../flex/typings/index.metadata.json            |     1 +
 .../flex/typings/layout-align/layout-align.d.ts |    60 +
 .../flex/typings/layout-gap/layout-gap.d.ts     |    74 +
 .../flex-layout/flex/typings/layout/layout.d.ts |    67 +
 .../flex-layout/flex/typings/module.d.ts        |     7 +
 .../flex-layout/flex/typings/public-api.d.ts    |    16 +
 node_modules/@angular/flex-layout/package.json  |    63 +
 node_modules/@angular/flex-layout/server.d.ts   |     8 +
 .../@angular/flex-layout/server.metadata.json   |    12 +
 .../@angular/flex-layout/server/index.d.ts      |     8 +
 .../flex-layout/server/index.metadata.json      |    12 +
 .../@angular/flex-layout/server/package.json    |     7 +
 .../flex-layout/server/typings/index.d.ts       |     4 +
 .../server/typings/index.metadata.json          |     1 +
 .../flex-layout/server/typings/module.d.ts      |     2 +
 .../flex-layout/server/typings/public-api.d.ts  |     9 +
 .../server/typings/server-provider.d.ts         |    40 +
 .../flex-layout/typings/core/add-alias.d.ts     |    14 +
 .../typings/core/base/base-adapter.d.ts         |    74 +
 .../flex-layout/typings/core/base/base.d.ts     |   123 +
 .../flex-layout/typings/core/base/index.d.ts    |     9 +
 .../break-point-registry-provider.d.ts          |    22 +
 .../core/breakpoints/break-point-registry.d.ts  |    42 +
 .../typings/core/breakpoints/break-point.d.ts   |    13 +
 .../core/breakpoints/break-points-provider.d.ts |    77 +
 .../core/breakpoints/break-points-token.d.ts    |    14 +
 .../core/breakpoints/breakpoint-tools.d.ts      |    19 +
 .../core/breakpoints/data/break-points.d.ts     |    10 +
 .../data/orientation-break-points.d.ts          |    23 +
 .../typings/core/breakpoints/index.d.ts         |    13 +
 .../typings/core/browser-provider.d.ts          |    24 +
 .../flex-layout/typings/core/index.d.ts         |     7 +
 .../typings/core/index.metadata.json            |     1 +
 .../typings/core/match-media/index.d.ts         |    10 +
 .../core/match-media/match-media-provider.d.ts  |    21 +
 .../typings/core/match-media/match-media.d.ts   |    58 +
 .../core/match-media/mock/mock-match-media.d.ts |    89 +
 .../core/match-media/server-match-media.d.ts    |    56 +
 .../flex-layout/typings/core/media-change.d.ts  |    21 +
 .../typings/core/media-monitor/index.d.ts       |     9 +
 .../media-monitor/media-monitor-provider.d.ts   |    23 +
 .../core/media-monitor/media-monitor.d.ts       |    44 +
 .../typings/core/media-queries-module.d.ts      |     9 +
 .../flex-layout/typings/core/module.d.ts        |     7 +
 .../typings/core/observable-media/index.d.ts    |     9 +
 .../observable-media-provider.d.ts              |    23 +
 .../core/observable-media/observable-media.d.ts |   105 +
 .../flex-layout/typings/core/public-api.d.ts    |    20 +
 .../responsive-activation.d.ts                  |   124 +
 .../typings/core/style-utils/style-utils.d.ts   |    48 +
 .../typings/core/stylesheet-map/index.d.ts      |     9 +
 .../stylesheet-map/stylesheet-map-provider.d.ts |    21 +
 .../core/stylesheet-map/stylesheet-map.d.ts     |    21 +
 .../typings/core/tokens/breakpoint-token.d.ts   |    12 +
 .../typings/core/tokens/flex-styles-token.d.ts  |     9 +
 .../flex-layout/typings/core/tokens/index.d.ts  |    11 +
 .../typings/core/tokens/server-token.d.ts       |    15 +
 .../core/tokens/vendor-prefixes-token.d.ts      |     9 +
 .../typings/esm5/core/add-alias.d.ts            |    14 +
 .../typings/esm5/core/base/base-adapter.d.ts    |    74 +
 .../typings/esm5/core/base/base.d.ts            |   123 +
 .../typings/esm5/core/base/index.d.ts           |     9 +
 .../break-point-registry-provider.d.ts          |    22 +
 .../core/breakpoints/break-point-registry.d.ts  |    42 +
 .../esm5/core/breakpoints/break-point.d.ts      |    13 +
 .../core/breakpoints/break-points-provider.d.ts |    77 +
 .../core/breakpoints/break-points-token.d.ts    |    14 +
 .../esm5/core/breakpoints/breakpoint-tools.d.ts |    19 +
 .../core/breakpoints/data/break-points.d.ts     |    10 +
 .../data/orientation-break-points.d.ts          |    23 +
 .../typings/esm5/core/breakpoints/index.d.ts    |    13 +
 .../typings/esm5/core/browser-provider.d.ts     |    24 +
 .../flex-layout/typings/esm5/core/index.d.ts    |     7 +
 .../typings/esm5/core/index.metadata.json       |     1 +
 .../typings/esm5/core/match-media/index.d.ts    |    10 +
 .../core/match-media/match-media-provider.d.ts  |    21 +
 .../esm5/core/match-media/match-media.d.ts      |    58 +
 .../core/match-media/mock/mock-match-media.d.ts |    89 +
 .../core/match-media/server-match-media.d.ts    |    56 +
 .../typings/esm5/core/media-change.d.ts         |    21 +
 .../typings/esm5/core/media-monitor/index.d.ts  |     9 +
 .../media-monitor/media-monitor-provider.d.ts   |    23 +
 .../esm5/core/media-monitor/media-monitor.d.ts  |    44 +
 .../typings/esm5/core/media-queries-module.d.ts |     9 +
 .../flex-layout/typings/esm5/core/module.d.ts   |     7 +
 .../esm5/core/observable-media/index.d.ts       |     9 +
 .../observable-media-provider.d.ts              |    23 +
 .../core/observable-media/observable-media.d.ts |   105 +
 .../typings/esm5/core/public-api.d.ts           |    20 +
 .../responsive-activation.d.ts                  |   124 +
 .../esm5/core/style-utils/style-utils.d.ts      |    48 +
 .../typings/esm5/core/stylesheet-map/index.d.ts |     9 +
 .../stylesheet-map/stylesheet-map-provider.d.ts |    21 +
 .../core/stylesheet-map/stylesheet-map.d.ts     |    21 +
 .../esm5/core/tokens/breakpoint-token.d.ts      |    12 +
 .../esm5/core/tokens/flex-styles-token.d.ts     |     9 +
 .../typings/esm5/core/tokens/index.d.ts         |    11 +
 .../typings/esm5/core/tokens/server-token.d.ts  |    15 +
 .../esm5/core/tokens/vendor-prefixes-token.d.ts |     9 +
 .../typings/esm5/extended/class/class.d.ts      |    80 +
 .../typings/esm5/extended/img-src/img-src.d.ts  |    73 +
 .../typings/esm5/extended/index.d.ts            |     4 +
 .../typings/esm5/extended/index.metadata.json   |     1 +
 .../typings/esm5/extended/module.d.ts           |     7 +
 .../typings/esm5/extended/public-api.d.ts       |    12 +
 .../esm5/extended/show-hide/show-hide.d.ts      |    92 +
 .../esm5/extended/style/style-transforms.d.ts   |    33 +
 .../typings/esm5/extended/style/style.d.ts      |    90 +
 .../esm5/flex/flex-align/flex-align.d.ts        |    42 +
 .../typings/esm5/flex/flex-fill/flex-fill.d.ts  |    19 +
 .../esm5/flex/flex-offset/flex-offset.d.ts      |    76 +
 .../esm5/flex/flex-order/flex-order.d.ts        |    44 +
 .../typings/esm5/flex/flex/flex.d.ts            |    69 +
 .../flex-layout/typings/esm5/flex/index.d.ts    |     4 +
 .../typings/esm5/flex/index.metadata.json       |     1 +
 .../esm5/flex/layout-align/layout-align.d.ts    |    60 +
 .../esm5/flex/layout-gap/layout-gap.d.ts        |    74 +
 .../typings/esm5/flex/layout/layout.d.ts        |    67 +
 .../flex-layout/typings/esm5/flex/module.d.ts   |     7 +
 .../typings/esm5/flex/public-api.d.ts           |    16 +
 .../flex-layout/typings/esm5/index.d.ts         |     4 +
 .../typings/esm5/index.metadata.json            |     1 +
 .../flex-layout/typings/esm5/module.d.ts        |    32 +
 .../flex-layout/typings/esm5/public-api.d.ts    |    17 +
 .../flex-layout/typings/esm5/server/index.d.ts  |     4 +
 .../typings/esm5/server/index.metadata.json     |     1 +
 .../flex-layout/typings/esm5/server/module.d.ts |     2 +
 .../typings/esm5/server/public-api.d.ts         |     9 +
 .../typings/esm5/server/server-provider.d.ts    |    40 +
 .../typings/esm5/utils/auto-prefixer.d.ts       |    20 +
 .../typings/esm5/utils/basis-validator.d.ts     |    13 +
 .../typings/esm5/utils/layout-validator.d.ts    |    32 +
 .../typings/esm5/utils/object-extend.d.ts       |    15 +
 .../flex-layout/typings/esm5/version.d.ts       |    10 +
 .../typings/extended/class/class.d.ts           |    80 +
 .../typings/extended/img-src/img-src.d.ts       |    73 +
 .../flex-layout/typings/extended/index.d.ts     |     4 +
 .../typings/extended/index.metadata.json        |     1 +
 .../flex-layout/typings/extended/module.d.ts    |     7 +
 .../typings/extended/public-api.d.ts            |    12 +
 .../typings/extended/show-hide/show-hide.d.ts   |    92 +
 .../extended/style/style-transforms.d.ts        |    33 +
 .../typings/extended/style/style.d.ts           |    90 +
 .../typings/flex/flex-align/flex-align.d.ts     |    42 +
 .../typings/flex/flex-fill/flex-fill.d.ts       |    19 +
 .../typings/flex/flex-offset/flex-offset.d.ts   |    76 +
 .../typings/flex/flex-order/flex-order.d.ts     |    44 +
 .../flex-layout/typings/flex/flex/flex.d.ts     |    69 +
 .../flex-layout/typings/flex/index.d.ts         |     4 +
 .../typings/flex/index.metadata.json            |     1 +
 .../typings/flex/layout-align/layout-align.d.ts |    60 +
 .../typings/flex/layout-gap/layout-gap.d.ts     |    74 +
 .../flex-layout/typings/flex/layout/layout.d.ts |    67 +
 .../flex-layout/typings/flex/module.d.ts        |     7 +
 .../flex-layout/typings/flex/public-api.d.ts    |    16 +
 .../@angular/flex-layout/typings/index.d.ts     |     4 +
 .../flex-layout/typings/index.metadata.json     |     1 +
 .../@angular/flex-layout/typings/module.d.ts    |    32 +
 .../flex-layout/typings/public-api.d.ts         |    17 +
 .../flex-layout/typings/server/index.d.ts       |     4 +
 .../typings/server/index.metadata.json          |     1 +
 .../flex-layout/typings/server/module.d.ts      |     2 +
 .../flex-layout/typings/server/public-api.d.ts  |     9 +
 .../typings/server/server-provider.d.ts         |    40 +
 .../typings/utils/auto-prefixer.d.ts            |    20 +
 .../typings/utils/basis-validator.d.ts          |    13 +
 .../typings/utils/layout-validator.d.ts         |    32 +
 .../typings/utils/object-extend.d.ts            |    15 +
 .../@angular/flex-layout/typings/version.d.ts   |    10 +
 node_modules/@angular/forms/README.md           |     6 +
 .../@angular/forms/bundles/forms.umd.js         |  8245 ++++
 .../@angular/forms/bundles/forms.umd.js.map     |     1 +
 .../@angular/forms/bundles/forms.umd.min.js     |    37 +
 .../@angular/forms/bundles/forms.umd.min.js.map |     1 +
 node_modules/@angular/forms/esm2015/forms.js    |  5990 +++
 .../@angular/forms/esm2015/forms.js.map         |     1 +
 node_modules/@angular/forms/esm5/forms.js       |  8172 ++++
 node_modules/@angular/forms/esm5/forms.js.map   |     1 +
 node_modules/@angular/forms/forms.d.ts          |    22 +
 node_modules/@angular/forms/forms.metadata.json |     1 +
 node_modules/@angular/forms/package.json        |    59 +
 node_modules/@angular/forms/public_api.d.ts     |    13 +
 node_modules/@angular/http/README.md            |     6 +
 .../@angular/http/bundles/http-testing.umd.js   |   365 +
 .../http/bundles/http-testing.umd.js.map        |     1 +
 .../http/bundles/http-testing.umd.min.js        |    19 +
 .../http/bundles/http-testing.umd.min.js.map    |     1 +
 node_modules/@angular/http/bundles/http.umd.js  |  2792 ++
 .../@angular/http/bundles/http.umd.js.map       |     1 +
 .../@angular/http/bundles/http.umd.min.js       |    42 +
 .../@angular/http/bundles/http.umd.min.js.map   |     1 +
 node_modules/@angular/http/esm2015/http.js      |  2194 +
 node_modules/@angular/http/esm2015/http.js.map  |     1 +
 node_modules/@angular/http/esm2015/testing.js   |   280 +
 .../@angular/http/esm2015/testing.js.map        |     1 +
 node_modules/@angular/http/esm5/http.js         |  2764 ++
 node_modules/@angular/http/esm5/http.js.map     |     1 +
 node_modules/@angular/http/esm5/testing.js      |   397 +
 node_modules/@angular/http/esm5/testing.js.map  |     1 +
 node_modules/@angular/http/http.d.ts            |     8 +
 node_modules/@angular/http/http.metadata.json   |     1 +
 node_modules/@angular/http/package.json         |    58 +
 node_modules/@angular/http/public_api.d.ts      |    13 +
 node_modules/@angular/http/testing.d.ts         |     6 +
 .../@angular/http/testing.metadata.json         |     1 +
 node_modules/@angular/http/testing/package.json |     7 +
 .../@angular/http/testing/public_api.d.ts       |    13 +
 node_modules/@angular/http/testing/testing.d.ts |     4 +
 .../@angular/http/testing/testing.metadata.json |     1 +
 node_modules/@angular/material/LICENSE          |    21 +
 node_modules/@angular/material/README.md        |     6 +
 node_modules/@angular/material/_theming.scss    |  3836 ++
 .../@angular/material/autocomplete.d.ts         |     8 +
 .../material/autocomplete.metadata.json         |    12 +
 .../@angular/material/autocomplete/index.d.ts   |     8 +
 .../material/autocomplete/index.metadata.json   |    12 +
 .../@angular/material/autocomplete/package.json |     7 +
 .../typings/autocomplete-module.d.ts            |     2 +
 .../typings/autocomplete-trigger.d.ts           |   150 +
 .../autocomplete/typings/autocomplete.d.ts      |    85 +
 .../material/autocomplete/typings/index.d.ts    |     4 +
 .../autocomplete/typings/index.metadata.json    |     1 +
 .../autocomplete/typings/public-api.d.ts        |    10 +
 .../bundles/material-autocomplete.umd.js        |   962 +
 .../bundles/material-autocomplete.umd.js.map    |     1 +
 .../bundles/material-autocomplete.umd.min.js    |     9 +
 .../material-autocomplete.umd.min.js.map        |     1 +
 .../bundles/material-button-toggle.umd.js       |   698 +
 .../bundles/material-button-toggle.umd.js.map   |     1 +
 .../bundles/material-button-toggle.umd.min.js   |     9 +
 .../material-button-toggle.umd.min.js.map       |     1 +
 .../material/bundles/material-button.umd.js     |   289 +
 .../material/bundles/material-button.umd.js.map |     1 +
 .../material/bundles/material-button.umd.min.js |     9 +
 .../bundles/material-button.umd.min.js.map      |     1 +
 .../material/bundles/material-card.umd.js       |   352 +
 .../material/bundles/material-card.umd.js.map   |     1 +
 .../material/bundles/material-card.umd.min.js   |     9 +
 .../bundles/material-card.umd.min.js.map        |     1 +
 .../material/bundles/material-checkbox.umd.js   |   672 +
 .../bundles/material-checkbox.umd.js.map        |     1 +
 .../bundles/material-checkbox.umd.min.js        |     9 +
 .../bundles/material-checkbox.umd.min.js.map    |     1 +
 .../material/bundles/material-chips.umd.js      |  1769 +
 .../material/bundles/material-chips.umd.js.map  |     1 +
 .../material/bundles/material-chips.umd.min.js  |     9 +
 .../bundles/material-chips.umd.min.js.map       |     1 +
 .../material/bundles/material-core.umd.js       |  2817 ++
 .../material/bundles/material-core.umd.js.map   |     1 +
 .../material/bundles/material-core.umd.min.js   |     9 +
 .../bundles/material-core.umd.min.js.map        |     1 +
 .../material/bundles/material-datepicker.umd.js |  2621 ++
 .../bundles/material-datepicker.umd.js.map      |     1 +
 .../bundles/material-datepicker.umd.min.js      |    10 +
 .../bundles/material-datepicker.umd.min.js.map  |     1 +
 .../material/bundles/material-dialog.umd.js     |  1244 +
 .../material/bundles/material-dialog.umd.js.map |     1 +
 .../material/bundles/material-dialog.umd.min.js |     9 +
 .../bundles/material-dialog.umd.min.js.map      |     1 +
 .../material/bundles/material-divider.umd.js    |   108 +
 .../bundles/material-divider.umd.js.map         |     1 +
 .../bundles/material-divider.umd.min.js         |     9 +
 .../bundles/material-divider.umd.min.js.map     |     1 +
 .../material/bundles/material-expansion.umd.js  |   606 +
 .../bundles/material-expansion.umd.js.map       |     1 +
 .../bundles/material-expansion.umd.min.js       |     9 +
 .../bundles/material-expansion.umd.min.js.map   |     1 +
 .../material/bundles/material-form-field.umd.js |   778 +
 .../bundles/material-form-field.umd.js.map      |     1 +
 .../bundles/material-form-field.umd.min.js      |     9 +
 .../bundles/material-form-field.umd.min.js.map  |     1 +
 .../material/bundles/material-grid-list.umd.js  |  1117 +
 .../bundles/material-grid-list.umd.js.map       |     1 +
 .../bundles/material-grid-list.umd.min.js       |     9 +
 .../bundles/material-grid-list.umd.min.js.map   |     1 +
 .../material/bundles/material-icon.umd.js       |  1062 +
 .../material/bundles/material-icon.umd.js.map   |     1 +
 .../material/bundles/material-icon.umd.min.js   |     9 +
 .../bundles/material-icon.umd.min.js.map        |     1 +
 .../material/bundles/material-input.umd.js      |   847 +
 .../material/bundles/material-input.umd.js.map  |     1 +
 .../material/bundles/material-input.umd.min.js  |     9 +
 .../bundles/material-input.umd.min.js.map       |     1 +
 .../material/bundles/material-list.umd.js       |  1031 +
 .../material/bundles/material-list.umd.js.map   |     1 +
 .../material/bundles/material-list.umd.min.js   |    11 +
 .../bundles/material-list.umd.min.js.map        |     1 +
 .../material/bundles/material-menu.umd.js       |  1410 +
 .../material/bundles/material-menu.umd.js.map   |     1 +
 .../material/bundles/material-menu.umd.min.js   |     9 +
 .../bundles/material-menu.umd.min.js.map        |     1 +
 .../material/bundles/material-paginator.umd.js  |   497 +
 .../bundles/material-paginator.umd.js.map       |     1 +
 .../bundles/material-paginator.umd.min.js       |     9 +
 .../bundles/material-paginator.umd.min.js.map   |     1 +
 .../bundles/material-progress-bar.umd.js        |   214 +
 .../bundles/material-progress-bar.umd.js.map    |     1 +
 .../bundles/material-progress-bar.umd.min.js    |     9 +
 .../material-progress-bar.umd.min.js.map        |     1 +
 .../bundles/material-progress-spinner.umd.js    |   394 +
 .../material-progress-spinner.umd.js.map        |     1 +
 .../material-progress-spinner.umd.min.js        |     9 +
 .../material-progress-spinner.umd.min.js.map    |     1 +
 .../material/bundles/material-radio.umd.js      |   927 +
 .../material/bundles/material-radio.umd.js.map  |     1 +
 .../material/bundles/material-radio.umd.min.js  |     9 +
 .../bundles/material-radio.umd.min.js.map       |     1 +
 .../material/bundles/material-select.umd.js     |  1841 +
 .../material/bundles/material-select.umd.js.map |     1 +
 .../material/bundles/material-select.umd.min.js |     9 +
 .../bundles/material-select.umd.min.js.map      |     1 +
 .../material/bundles/material-sidenav.umd.js    |  1227 +
 .../bundles/material-sidenav.umd.js.map         |     1 +
 .../bundles/material-sidenav.umd.min.js         |     9 +
 .../bundles/material-sidenav.umd.min.js.map     |     1 +
 .../bundles/material-slide-toggle.umd.js        |   569 +
 .../bundles/material-slide-toggle.umd.js.map    |     1 +
 .../bundles/material-slide-toggle.umd.min.js    |     9 +
 .../material-slide-toggle.umd.min.js.map        |     1 +
 .../material/bundles/material-slider.umd.js     |  1143 +
 .../material/bundles/material-slider.umd.js.map |     1 +
 .../material/bundles/material-slider.umd.min.js |     9 +
 .../bundles/material-slider.umd.min.js.map      |     1 +
 .../material/bundles/material-snack-bar.umd.js  |   900 +
 .../bundles/material-snack-bar.umd.js.map       |     1 +
 .../bundles/material-snack-bar.umd.min.js       |     9 +
 .../bundles/material-snack-bar.umd.min.js.map   |     1 +
 .../material/bundles/material-sort.umd.js       |   794 +
 .../material/bundles/material-sort.umd.js.map   |     1 +
 .../material/bundles/material-sort.umd.min.js   |     9 +
 .../bundles/material-sort.umd.min.js.map        |     1 +
 .../material/bundles/material-stepper.umd.js    |   572 +
 .../bundles/material-stepper.umd.js.map         |     1 +
 .../bundles/material-stepper.umd.min.js         |     9 +
 .../bundles/material-stepper.umd.min.js.map     |     1 +
 .../material/bundles/material-table.umd.js      |   707 +
 .../material/bundles/material-table.umd.js.map  |     1 +
 .../material/bundles/material-table.umd.min.js  |     9 +
 .../bundles/material-table.umd.min.js.map       |     1 +
 .../material/bundles/material-tabs.umd.js       |  2101 +
 .../material/bundles/material-tabs.umd.js.map   |     1 +
 .../material/bundles/material-tabs.umd.min.js   |     9 +
 .../bundles/material-tabs.umd.min.js.map        |     1 +
 .../material/bundles/material-toolbar.umd.js    |   184 +
 .../bundles/material-toolbar.umd.js.map         |     1 +
 .../bundles/material-toolbar.umd.min.js         |     9 +
 .../bundles/material-toolbar.umd.min.js.map     |     1 +
 .../material/bundles/material-tooltip.umd.js    |   918 +
 .../bundles/material-tooltip.umd.js.map         |     1 +
 .../bundles/material-tooltip.umd.min.js         |     9 +
 .../bundles/material-tooltip.umd.min.js.map     |     1 +
 .../@angular/material/bundles/material.umd.js   | 30132 ++++++++++++++
 .../material/bundles/material.umd.js.map        |     1 +
 .../material/bundles/material.umd.min.js        |    25 +
 .../material/bundles/material.umd.min.js.map    |     1 +
 .../@angular/material/button-toggle.d.ts        |     8 +
 .../material/button-toggle.metadata.json        |    12 +
 .../@angular/material/button-toggle/index.d.ts  |     8 +
 .../material/button-toggle/index.metadata.json  |    12 +
 .../material/button-toggle/package.json         |     7 +
 .../typings/button-toggle-module.d.ts           |     2 +
 .../button-toggle/typings/button-toggle.d.ts    |   142 +
 .../material/button-toggle/typings/index.d.ts   |     4 +
 .../button-toggle/typings/index.metadata.json   |     1 +
 .../button-toggle/typings/public-api.d.ts       |     9 +
 node_modules/@angular/material/button.d.ts      |     8 +
 .../@angular/material/button.metadata.json      |    12 +
 .../@angular/material/button/index.d.ts         |     8 +
 .../material/button/index.metadata.json         |    12 +
 .../@angular/material/button/package.json       |     7 +
 .../material/button/typings/button-module.d.ts  |     2 +
 .../material/button/typings/button.d.ts         |    45 +
 .../@angular/material/button/typings/index.d.ts |     4 +
 .../material/button/typings/index.metadata.json |     1 +
 .../material/button/typings/public-api.d.ts     |     9 +
 node_modules/@angular/material/card.d.ts        |     8 +
 .../@angular/material/card.metadata.json        |    12 +
 node_modules/@angular/material/card/index.d.ts  |     8 +
 .../@angular/material/card/index.metadata.json  |    12 +
 .../@angular/material/card/package.json         |     7 +
 .../material/card/typings/card-module.d.ts      |     2 +
 .../@angular/material/card/typings/card.d.ts    |    95 +
 .../@angular/material/card/typings/index.d.ts   |     4 +
 .../material/card/typings/index.metadata.json   |     1 +
 .../material/card/typings/public-api.d.ts       |     9 +
 node_modules/@angular/material/checkbox.d.ts    |     8 +
 .../@angular/material/checkbox.metadata.json    |    12 +
 .../@angular/material/checkbox/index.d.ts       |     8 +
 .../material/checkbox/index.metadata.json       |    12 +
 .../@angular/material/checkbox/package.json     |     7 +
 .../checkbox/typings/checkbox-config.d.ts       |    20 +
 .../checkbox/typings/checkbox-module.d.ts       |     2 +
 .../typings/checkbox-required-validator.d.ts    |    17 +
 .../material/checkbox/typings/checkbox.d.ts     |   149 +
 .../material/checkbox/typings/index.d.ts        |     4 +
 .../checkbox/typings/index.metadata.json        |     1 +
 .../material/checkbox/typings/public-api.d.ts   |    11 +
 node_modules/@angular/material/chips.d.ts       |     8 +
 .../@angular/material/chips.metadata.json       |    12 +
 node_modules/@angular/material/chips/index.d.ts |     8 +
 .../@angular/material/chips/index.metadata.json |    12 +
 .../@angular/material/chips/package.json        |     7 +
 .../material/chips/typings/chip-input.d.ts      |    51 +
 .../material/chips/typings/chip-list.d.ts       |   265 +
 .../@angular/material/chips/typings/chip.d.ts   |   136 +
 .../material/chips/typings/chips-module.d.ts    |     2 +
 .../@angular/material/chips/typings/index.d.ts  |     4 +
 .../material/chips/typings/index.metadata.json  |     1 +
 .../material/chips/typings/public-api.d.ts      |    11 +
 node_modules/@angular/material/core.d.ts        |     8 +
 .../@angular/material/core.metadata.json        |    12 +
 node_modules/@angular/material/core/index.d.ts  |     8 +
 .../@angular/material/core/index.metadata.json  |    12 +
 .../@angular/material/core/package.json         |     7 +
 .../core/typings/animation/animation.d.ts       |    20 +
 .../core/typings/common-behaviors/color.d.ts    |    22 +
 .../typings/common-behaviors/common-module.d.ts |    36 +
 .../typings/common-behaviors/constructor.d.ts   |     9 +
 .../common-behaviors/disable-ripple.d.ts        |     8 +
 .../core/typings/common-behaviors/disabled.d.ts |     8 +
 .../typings/common-behaviors/error-state.d.ts   |    30 +
 .../core/typings/common-behaviors/index.d.ts    |    14 +
 .../typings/common-behaviors/initialized.d.ts   |    28 +
 .../core/typings/common-behaviors/tabindex.d.ts |    16 +
 .../core/typings/datetime/date-adapter.d.ts     |   212 +
 .../core/typings/datetime/date-formats.d.ts     |    20 +
 .../material/core/typings/datetime/index.d.ts   |     8 +
 .../typings/datetime/native-date-adapter.d.ts   |    58 +
 .../typings/datetime/native-date-formats.d.ts   |     9 +
 .../core/typings/error/error-options.d.ts       |     9 +
 .../typings/gestures/gesture-annotations.d.ts   |    64 +
 .../core/typings/gestures/gesture-config.d.ts   |    40 +
 .../@angular/material/core/typings/index.d.ts   |     4 +
 .../material/core/typings/index.metadata.json   |     1 +
 .../core/typings/label/label-options.d.ts       |    20 +
 .../material/core/typings/line/line.d.ts        |    29 +
 .../material/core/typings/option/index.d.ts     |     4 +
 .../material/core/typings/option/optgroup.d.ts  |    14 +
 .../material/core/typings/option/option.d.ts    |   112 +
 .../material/core/typings/public-api.d.ts       |    34 +
 .../material/core/typings/ripple/index.d.ts     |     5 +
 .../core/typings/ripple/ripple-ref.d.ts         |    28 +
 .../core/typings/ripple/ripple-renderer.d.ts    |    98 +
 .../material/core/typings/ripple/ripple.d.ts    |   101 +
 .../material/core/typings/selection/index.d.ts  |     3 +
 .../pseudo-checkbox/pseudo-checkbox.d.ts        |    20 +
 .../core/typings/testing/month-constants.d.ts   |    12 +
 node_modules/@angular/material/datepicker.d.ts  |     8 +
 .../@angular/material/datepicker.metadata.json  |    12 +
 .../@angular/material/datepicker/index.d.ts     |     8 +
 .../material/datepicker/index.metadata.json     |    12 +
 .../@angular/material/datepicker/package.json   |     7 +
 .../datepicker/typings/calendar-body.d.ts       |    52 +
 .../material/datepicker/typings/calendar.d.ts   |   101 +
 .../datepicker/typings/datepicker-errors.d.ts   |     9 +
 .../datepicker/typings/datepicker-input.d.ts    |   105 +
 .../datepicker/typings/datepicker-intl.d.ts     |    29 +
 .../datepicker/typings/datepicker-module.d.ts   |     2 +
 .../datepicker/typings/datepicker-toggle.d.ts   |    24 +
 .../material/datepicker/typings/datepicker.d.ts |   126 +
 .../material/datepicker/typings/index.d.ts      |     5 +
 .../datepicker/typings/index.metadata.json      |     1 +
 .../material/datepicker/typings/month-view.d.ts |    71 +
 .../datepicker/typings/multi-year-view.d.ts     |    52 +
 .../material/datepicker/typings/public-api.d.ts |    16 +
 .../material/datepicker/typings/year-view.d.ts  |    60 +
 node_modules/@angular/material/dialog.d.ts      |     8 +
 .../@angular/material/dialog.metadata.json      |    12 +
 .../@angular/material/dialog/index.d.ts         |     8 +
 .../material/dialog/index.metadata.json         |    12 +
 .../@angular/material/dialog/package.json       |     7 +
 .../dialog/typings/dialog-animations.d.ts       |    12 +
 .../material/dialog/typings/dialog-config.d.ts  |    75 +
 .../dialog/typings/dialog-container.d.ts        |    68 +
 .../typings/dialog-content-directives.d.ts      |    48 +
 .../material/dialog/typings/dialog-module.d.ts  |     2 +
 .../material/dialog/typings/dialog-ref.d.ts     |    73 +
 .../material/dialog/typings/dialog.d.ts         |   113 +
 .../@angular/material/dialog/typings/index.d.ts |     4 +
 .../material/dialog/typings/index.metadata.json |     1 +
 .../material/dialog/typings/public-api.d.ts     |    14 +
 node_modules/@angular/material/divider.d.ts     |     8 +
 .../@angular/material/divider.metadata.json     |    12 +
 .../@angular/material/divider/index.d.ts        |     8 +
 .../material/divider/index.metadata.json        |    12 +
 .../@angular/material/divider/package.json      |     7 +
 .../divider/typings/divider-module.d.ts         |     2 +
 .../material/divider/typings/divider.d.ts       |     8 +
 .../material/divider/typings/index.d.ts         |     4 +
 .../divider/typings/index.metadata.json         |     1 +
 .../material/divider/typings/public-api.d.ts    |     9 +
 .../@angular/material/esm2015/autocomplete.js   |   772 +
 .../material/esm2015/autocomplete.js.map        |     1 +
 .../@angular/material/esm2015/button-toggle.js  |   555 +
 .../material/esm2015/button-toggle.js.map       |     1 +
 .../@angular/material/esm2015/button.js         |   245 +
 .../@angular/material/esm2015/button.js.map     |     1 +
 node_modules/@angular/material/esm2015/card.js  |   301 +
 .../@angular/material/esm2015/card.js.map       |     1 +
 .../@angular/material/esm2015/checkbox.js       |   534 +
 .../@angular/material/esm2015/checkbox.js.map   |     1 +
 node_modules/@angular/material/esm2015/chips.js |  1365 +
 .../@angular/material/esm2015/chips.js.map      |     1 +
 node_modules/@angular/material/esm2015/core.js  |  2146 +
 .../@angular/material/esm2015/core.js.map       |     1 +
 .../@angular/material/esm2015/datepicker.js     |  2169 +
 .../@angular/material/esm2015/datepicker.js.map |     1 +
 .../@angular/material/esm2015/dialog.js         |  1002 +
 .../@angular/material/esm2015/dialog.js.map     |     1 +
 .../@angular/material/esm2015/divider.js        |   103 +
 .../@angular/material/esm2015/divider.js.map    |     1 +
 .../@angular/material/esm2015/expansion.js      |   518 +
 .../@angular/material/esm2015/expansion.js.map  |     1 +
 .../@angular/material/esm2015/form-field.js     |   638 +
 .../@angular/material/esm2015/form-field.js.map |     1 +
 .../@angular/material/esm2015/grid-list.js      |   825 +
 .../@angular/material/esm2015/grid-list.js.map  |     1 +
 node_modules/@angular/material/esm2015/icon.js  |   797 +
 .../@angular/material/esm2015/icon.js.map       |     1 +
 node_modules/@angular/material/esm2015/input.js |   677 +
 .../@angular/material/esm2015/input.js.map      |     1 +
 node_modules/@angular/material/esm2015/list.js  |   784 +
 .../@angular/material/esm2015/list.js.map       |     1 +
 .../@angular/material/esm2015/material.js       |    66 +
 .../@angular/material/esm2015/material.js.map   |     1 +
 node_modules/@angular/material/esm2015/menu.js  |  1144 +
 .../@angular/material/esm2015/menu.js.map       |     1 +
 .../@angular/material/esm2015/paginator.js      |   406 +
 .../@angular/material/esm2015/paginator.js.map  |     1 +
 .../@angular/material/esm2015/progress-bar.js   |   168 +
 .../material/esm2015/progress-bar.js.map        |     1 +
 .../material/esm2015/progress-spinner.js        |   345 +
 .../material/esm2015/progress-spinner.js.map    |     1 +
 node_modules/@angular/material/esm2015/radio.js |   718 +
 .../@angular/material/esm2015/radio.js.map      |     1 +
 .../@angular/material/esm2015/select.js         |  1448 +
 .../@angular/material/esm2015/select.js.map     |     1 +
 .../@angular/material/esm2015/sidenav.js        |  1001 +
 .../@angular/material/esm2015/sidenav.js.map    |     1 +
 .../@angular/material/esm2015/slide-toggle.js   |   446 +
 .../material/esm2015/slide-toggle.js.map        |     1 +
 .../@angular/material/esm2015/slider.js         |   871 +
 .../@angular/material/esm2015/slider.js.map     |     1 +
 .../@angular/material/esm2015/snack-bar.js      |   707 +
 .../@angular/material/esm2015/snack-bar.js.map  |     1 +
 node_modules/@angular/material/esm2015/sort.js  |   638 +
 .../@angular/material/esm2015/sort.js.map       |     1 +
 .../@angular/material/esm2015/stepper.js        |   493 +
 .../@angular/material/esm2015/stepper.js.map    |     1 +
 node_modules/@angular/material/esm2015/table.js |   520 +
 .../@angular/material/esm2015/table.js.map      |     1 +
 node_modules/@angular/material/esm2015/tabs.js  |  1640 +
 .../@angular/material/esm2015/tabs.js.map       |     1 +
 .../@angular/material/esm2015/toolbar.js        |   149 +
 .../@angular/material/esm2015/toolbar.js.map    |     1 +
 .../@angular/material/esm2015/tooltip.js        |   758 +
 .../@angular/material/esm2015/tooltip.js.map    |     1 +
 .../@angular/material/esm5/autocomplete.es5.js  |   950 +
 .../material/esm5/autocomplete.es5.js.map       |     1 +
 .../@angular/material/esm5/button-toggle.es5.js |   677 +
 .../material/esm5/button-toggle.es5.js.map      |     1 +
 .../@angular/material/esm5/button.es5.js        |   270 +
 .../@angular/material/esm5/button.es5.js.map    |     1 +
 node_modules/@angular/material/esm5/card.es5.js |   344 +
 .../@angular/material/esm5/card.es5.js.map      |     1 +
 .../@angular/material/esm5/checkbox.es5.js      |   650 +
 .../@angular/material/esm5/checkbox.es5.js.map  |     1 +
 .../@angular/material/esm5/chips.es5.js         |  1751 +
 .../@angular/material/esm5/chips.es5.js.map     |     1 +
 node_modules/@angular/material/esm5/core.es5.js |  2744 ++
 .../@angular/material/esm5/core.es5.js.map      |     1 +
 .../@angular/material/esm5/datepicker.es5.js    |  2627 ++
 .../material/esm5/datepicker.es5.js.map         |     1 +
 .../@angular/material/esm5/dialog.es5.js        |  1217 +
 .../@angular/material/esm5/dialog.es5.js.map    |     1 +
 .../@angular/material/esm5/divider.es5.js       |   115 +
 .../@angular/material/esm5/divider.es5.js.map   |     1 +
 .../@angular/material/esm5/expansion.es5.js     |   592 +
 .../@angular/material/esm5/expansion.es5.js.map |     1 +
 .../@angular/material/esm5/form-field.es5.js    |   753 +
 .../material/esm5/form-field.es5.js.map         |     1 +
 .../@angular/material/esm5/grid-list.es5.js     |  1094 +
 .../@angular/material/esm5/grid-list.es5.js.map |     1 +
 node_modules/@angular/material/esm5/icon.es5.js |  1047 +
 .../@angular/material/esm5/icon.es5.js.map      |     1 +
 .../@angular/material/esm5/input.es5.js         |   832 +
 .../@angular/material/esm5/input.es5.js.map     |     1 +
 node_modules/@angular/material/esm5/list.es5.js |  1001 +
 .../@angular/material/esm5/list.es5.js.map      |     1 +
 .../@angular/material/esm5/material.es5.js      |    66 +
 .../@angular/material/esm5/material.es5.js.map  |     1 +
 node_modules/@angular/material/esm5/menu.es5.js |  1400 +
 .../@angular/material/esm5/menu.es5.js.map      |     1 +
 .../@angular/material/esm5/paginator.es5.js     |   503 +
 .../@angular/material/esm5/paginator.es5.js.map |     1 +
 .../@angular/material/esm5/progress-bar.es5.js  |   194 +
 .../material/esm5/progress-bar.es5.js.map       |     1 +
 .../material/esm5/progress-spinner.es5.js       |   375 +
 .../material/esm5/progress-spinner.es5.js.map   |     1 +
 .../@angular/material/esm5/radio.es5.js         |   906 +
 .../@angular/material/esm5/radio.es5.js.map     |     1 +
 .../@angular/material/esm5/select.es5.js        |  1826 +
 .../@angular/material/esm5/select.es5.js.map    |     1 +
 .../@angular/material/esm5/sidenav.es5.js       |  1217 +
 .../@angular/material/esm5/sidenav.es5.js.map   |     1 +
 .../@angular/material/esm5/slide-toggle.es5.js  |   552 +
 .../material/esm5/slide-toggle.es5.js.map       |     1 +
 .../@angular/material/esm5/slider.es5.js        |  1128 +
 .../@angular/material/esm5/slider.es5.js.map    |     1 +
 .../@angular/material/esm5/snack-bar.es5.js     |   874 +
 .../@angular/material/esm5/snack-bar.es5.js.map |     1 +
 node_modules/@angular/material/esm5/sort.es5.js |   772 +
 .../@angular/material/esm5/sort.es5.js.map      |     1 +
 .../@angular/material/esm5/stepper.es5.js       |   552 +
 .../@angular/material/esm5/stepper.es5.js.map   |     1 +
 .../@angular/material/esm5/table.es5.js         |   686 +
 .../@angular/material/esm5/table.es5.js.map     |     1 +
 node_modules/@angular/material/esm5/tabs.es5.js |  2078 +
 .../@angular/material/esm5/tabs.es5.js.map      |     1 +
 .../@angular/material/esm5/toolbar.es5.js       |   163 +
 .../@angular/material/esm5/toolbar.es5.js.map   |     1 +
 .../@angular/material/esm5/tooltip.es5.js       |   928 +
 .../@angular/material/esm5/tooltip.es5.js.map   |     1 +
 node_modules/@angular/material/expansion.d.ts   |     8 +
 .../@angular/material/expansion.metadata.json   |    12 +
 .../@angular/material/expansion/index.d.ts      |     8 +
 .../material/expansion/index.metadata.json      |    12 +
 .../@angular/material/expansion/package.json    |     7 +
 .../material/expansion/typings/accordion.d.ts   |    20 +
 .../expansion/typings/expansion-animations.d.ts |    16 +
 .../expansion/typings/expansion-module.d.ts     |     2 +
 .../typings/expansion-panel-content.d.ts        |    16 +
 .../typings/expansion-panel-header.d.ts         |    54 +
 .../expansion/typings/expansion-panel.d.ts      |    52 +
 .../material/expansion/typings/index.d.ts       |     4 +
 .../expansion/typings/index.metadata.json       |     1 +
 .../material/expansion/typings/public-api.d.ts  |    13 +
 node_modules/@angular/material/form-field.d.ts  |     8 +
 .../@angular/material/form-field.metadata.json  |    12 +
 .../@angular/material/form-field/index.d.ts     |     8 +
 .../material/form-field/index.metadata.json     |    12 +
 .../@angular/material/form-field/package.json   |     7 +
 .../material/form-field/typings/error.d.ts      |     4 +
 .../typings/form-field-animations.d.ts          |    12 +
 .../form-field/typings/form-field-control.d.ts  |    53 +
 .../form-field/typings/form-field-errors.d.ts   |    13 +
 .../form-field/typings/form-field-module.d.ts   |     2 +
 .../material/form-field/typings/form-field.d.ts |    96 +
 .../material/form-field/typings/hint.d.ts       |     7 +
 .../material/form-field/typings/index.d.ts      |     4 +
 .../form-field/typings/index.metadata.json      |     1 +
 .../material/form-field/typings/label.d.ts      |     3 +
 .../form-field/typings/placeholder.d.ts         |     3 +
 .../material/form-field/typings/prefix.d.ts     |     3 +
 .../material/form-field/typings/public-api.d.ts |    18 +
 .../material/form-field/typings/suffix.d.ts     |     3 +
 node_modules/@angular/material/grid-list.d.ts   |     8 +
 .../@angular/material/grid-list.metadata.json   |    12 +
 .../@angular/material/grid-list/index.d.ts      |     8 +
 .../material/grid-list/index.metadata.json      |    12 +
 .../@angular/material/grid-list/package.json    |     7 +
 .../grid-list/typings/grid-list-measure.d.ts    |    17 +
 .../grid-list/typings/grid-list-module.d.ts     |     2 +
 .../material/grid-list/typings/grid-list.d.ts   |    52 +
 .../material/grid-list/typings/grid-tile.d.ts   |    53 +
 .../material/grid-list/typings/index.d.ts       |     4 +
 .../grid-list/typings/index.metadata.json       |     1 +
 .../material/grid-list/typings/public-api.d.ts  |    10 +
 .../grid-list/typings/tile-coordinator.d.ts     |    66 +
 .../material/grid-list/typings/tile-styler.d.ts |   129 +
 node_modules/@angular/material/icon.d.ts        |     8 +
 .../@angular/material/icon.metadata.json        |    12 +
 node_modules/@angular/material/icon/index.d.ts  |     8 +
 .../@angular/material/icon/index.metadata.json  |    12 +
 .../@angular/material/icon/package.json         |     7 +
 .../material/icon/typings/icon-module.d.ts      |     2 +
 .../material/icon/typings/icon-registry.d.ts    |   188 +
 .../@angular/material/icon/typings/icon.d.ts    |    76 +
 .../@angular/material/icon/typings/index.d.ts   |     4 +
 .../material/icon/typings/index.metadata.json   |     1 +
 .../material/icon/typings/public-api.d.ts       |    10 +
 node_modules/@angular/material/input.d.ts       |     8 +
 .../@angular/material/input.metadata.json       |    12 +
 node_modules/@angular/material/input/index.d.ts |     8 +
 .../@angular/material/input/index.metadata.json |    12 +
 .../@angular/material/input/package.json        |     7 +
 .../material/input/typings/autosize.d.ts        |    52 +
 .../@angular/material/input/typings/index.d.ts  |     4 +
 .../material/input/typings/index.metadata.json  |     1 +
 .../material/input/typings/input-errors.d.ts    |     9 +
 .../material/input/typings/input-module.d.ts    |     2 +
 .../input/typings/input-value-accessor.d.ts     |    17 +
 .../@angular/material/input/typings/input.d.ts  |   125 +
 .../material/input/typings/public-api.d.ts      |    12 +
 node_modules/@angular/material/list.d.ts        |     8 +
 .../@angular/material/list.metadata.json        |    12 +
 node_modules/@angular/material/list/index.d.ts  |     8 +
 .../@angular/material/list/index.metadata.json  |    12 +
 .../@angular/material/list/package.json         |     7 +
 .../@angular/material/list/typings/index.d.ts   |     4 +
 .../material/list/typings/index.metadata.json   |     1 +
 .../material/list/typings/list-module.d.ts      |     2 +
 .../@angular/material/list/typings/list.d.ts    |    56 +
 .../material/list/typings/public-api.d.ts       |    10 +
 .../material/list/typings/selection-list.d.ts   |   169 +
 node_modules/@angular/material/material.d.ts    |    40 +
 .../@angular/material/material.metadata.json    |   108 +
 node_modules/@angular/material/menu.d.ts        |     8 +
 .../@angular/material/menu.metadata.json        |    12 +
 node_modules/@angular/material/menu/index.d.ts  |     8 +
 .../@angular/material/menu/index.metadata.json  |    12 +
 .../@angular/material/menu/package.json         |     7 +
 .../@angular/material/menu/typings/index.d.ts   |     6 +
 .../material/menu/typings/index.metadata.json   |     1 +
 .../material/menu/typings/menu-animations.d.ts  |    27 +
 .../material/menu/typings/menu-content.d.ts     |    28 +
 .../material/menu/typings/menu-directive.d.ts   |   120 +
 .../material/menu/typings/menu-errors.d.ts      |    24 +
 .../material/menu/typings/menu-item.d.ts        |    44 +
 .../material/menu/typings/menu-module.d.ts      |     2 +
 .../material/menu/typings/menu-panel.d.ts       |    30 +
 .../material/menu/typings/menu-positions.d.ts   |     9 +
 .../material/menu/typings/menu-trigger.d.ts     |   136 +
 .../@angular/material/menu/typings/menu.d.ts    |    12 +
 .../material/menu/typings/public-api.d.ts       |    12 +
 node_modules/@angular/material/package.json     |    61 +
 node_modules/@angular/material/paginator.d.ts   |     8 +
 .../@angular/material/paginator.metadata.json   |    12 +
 .../@angular/material/paginator/index.d.ts      |     8 +
 .../material/paginator/index.metadata.json      |    12 +
 .../@angular/material/paginator/package.json    |     7 +
 .../material/paginator/typings/index.d.ts       |     4 +
 .../paginator/typings/index.metadata.json       |     1 +
 .../paginator/typings/paginator-intl.d.ts       |    40 +
 .../paginator/typings/paginator-module.d.ts     |     2 +
 .../material/paginator/typings/paginator.d.ts   |    80 +
 .../material/paginator/typings/public-api.d.ts  |    10 +
 .../prebuilt-themes/deeppurple-amber.css        |     1 +
 .../material/prebuilt-themes/indigo-pink.css    |     1 +
 .../material/prebuilt-themes/pink-bluegrey.css  |     1 +
 .../material/prebuilt-themes/purple-green.css   |     1 +
 .../@angular/material/progress-bar.d.ts         |     8 +
 .../material/progress-bar.metadata.json         |    12 +
 .../@angular/material/progress-bar/index.d.ts   |     8 +
 .../material/progress-bar/index.metadata.json   |    12 +
 .../@angular/material/progress-bar/package.json |     7 +
 .../material/progress-bar/typings/index.d.ts    |     4 +
 .../progress-bar/typings/index.metadata.json    |     1 +
 .../typings/progress-bar-module.d.ts            |     2 +
 .../progress-bar/typings/progress-bar.d.ts      |    49 +
 .../progress-bar/typings/public-api.d.ts        |     9 +
 .../@angular/material/progress-spinner.d.ts     |     8 +
 .../material/progress-spinner.metadata.json     |    12 +
 .../material/progress-spinner/index.d.ts        |     8 +
 .../progress-spinner/index.metadata.json        |    12 +
 .../material/progress-spinner/package.json      |     7 +
 .../progress-spinner/typings/index.d.ts         |     4 +
 .../typings/index.metadata.json                 |     1 +
 .../typings/progress-spinner-module.d.ts        |     3 +
 .../typings/progress-spinner.d.ts               |    73 +
 .../progress-spinner/typings/public-api.d.ts    |     9 +
 node_modules/@angular/material/radio.d.ts       |     8 +
 .../@angular/material/radio.metadata.json       |    12 +
 node_modules/@angular/material/radio/index.d.ts |     8 +
 .../@angular/material/radio/index.metadata.json |    12 +
 .../@angular/material/radio/package.json        |     7 +
 .../@angular/material/radio/typings/index.d.ts  |     4 +
 .../material/radio/typings/index.metadata.json  |     1 +
 .../material/radio/typings/public-api.d.ts      |     9 +
 .../material/radio/typings/radio-module.d.ts    |     2 +
 .../@angular/material/radio/typings/radio.d.ts  |   222 +
 node_modules/@angular/material/select.d.ts      |     8 +
 .../@angular/material/select.metadata.json      |    12 +
 .../@angular/material/select/index.d.ts         |     8 +
 .../material/select/index.metadata.json         |    12 +
 .../@angular/material/select/package.json       |     7 +
 .../@angular/material/select/typings/index.d.ts |     4 +
 .../material/select/typings/index.metadata.json |     1 +
 .../material/select/typings/public-api.d.ts     |    10 +
 .../select/typings/select-animations.d.ts       |    28 +
 .../material/select/typings/select-errors.d.ts  |    26 +
 .../material/select/typings/select-module.d.ts  |     2 +
 .../material/select/typings/select.d.ts         |   405 +
 node_modules/@angular/material/sidenav.d.ts     |     8 +
 .../@angular/material/sidenav.metadata.json     |    12 +
 .../@angular/material/sidenav/index.d.ts        |     8 +
 .../material/sidenav/index.metadata.json        |    12 +
 .../@angular/material/sidenav/package.json      |     7 +
 .../sidenav/typings/drawer-animations.d.ts      |    12 +
 .../material/sidenav/typings/drawer.d.ts        |   246 +
 .../material/sidenav/typings/index.d.ts         |     4 +
 .../sidenav/typings/index.metadata.json         |     1 +
 .../material/sidenav/typings/public-api.d.ts    |    11 +
 .../sidenav/typings/sidenav-module.d.ts         |     2 +
 .../material/sidenav/typings/sidenav.d.ts       |    33 +
 .../@angular/material/slide-toggle.d.ts         |     8 +
 .../material/slide-toggle.metadata.json         |    12 +
 .../@angular/material/slide-toggle/index.d.ts   |     8 +
 .../material/slide-toggle/index.metadata.json   |    12 +
 .../@angular/material/slide-toggle/package.json |     7 +
 .../material/slide-toggle/typings/index.d.ts    |     4 +
 .../slide-toggle/typings/index.metadata.json    |     1 +
 .../slide-toggle/typings/public-api.d.ts        |     9 +
 .../typings/slide-toggle-module.d.ts            |     2 +
 .../slide-toggle/typings/slide-toggle.d.ts      |    98 +
 node_modules/@angular/material/slider.d.ts      |     8 +
 .../@angular/material/slider.metadata.json      |    12 +
 .../@angular/material/slider/index.d.ts         |     8 +
 .../material/slider/index.metadata.json         |    12 +
 .../@angular/material/slider/package.json       |     7 +
 .../@angular/material/slider/typings/index.d.ts |     4 +
 .../material/slider/typings/index.metadata.json |     1 +
 .../material/slider/typings/public-api.d.ts     |     9 +
 .../material/slider/typings/slider-module.d.ts  |     2 +
 .../material/slider/typings/slider.d.ts         |   218 +
 node_modules/@angular/material/snack-bar.d.ts   |     8 +
 .../@angular/material/snack-bar.metadata.json   |    12 +
 .../@angular/material/snack-bar/index.d.ts      |     8 +
 .../material/snack-bar/index.metadata.json      |    12 +
 .../@angular/material/snack-bar/package.json    |     7 +
 .../material/snack-bar/typings/index.d.ts       |     4 +
 .../snack-bar/typings/index.metadata.json       |     1 +
 .../material/snack-bar/typings/public-api.d.ts  |    14 +
 .../snack-bar/typings/simple-snack-bar.d.ts     |    18 +
 .../snack-bar/typings/snack-bar-animations.d.ts |    17 +
 .../snack-bar/typings/snack-bar-config.d.ts     |    45 +
 .../snack-bar/typings/snack-bar-container.d.ts  |    54 +
 .../snack-bar/typings/snack-bar-module.d.ts     |     2 +
 .../snack-bar/typings/snack-bar-ref.d.ts        |    64 +
 .../material/snack-bar/typings/snack-bar.d.ts   |    72 +
 node_modules/@angular/material/sort.d.ts        |     8 +
 .../@angular/material/sort.metadata.json        |    12 +
 node_modules/@angular/material/sort/index.d.ts  |     8 +
 .../@angular/material/sort/index.metadata.json  |    12 +
 .../@angular/material/sort/package.json         |     7 +
 .../@angular/material/sort/typings/index.d.ts   |     4 +
 .../material/sort/typings/index.metadata.json   |     1 +
 .../material/sort/typings/public-api.d.ts       |    13 +
 .../material/sort/typings/sort-animations.d.ts  |    17 +
 .../material/sort/typings/sort-direction.d.ts   |     8 +
 .../material/sort/typings/sort-errors.d.ts      |    15 +
 .../material/sort/typings/sort-header-intl.d.ts |    33 +
 .../material/sort/typings/sort-header.d.ts      |   113 +
 .../material/sort/typings/sort-module.d.ts      |     2 +
 .../@angular/material/sort/typings/sort.d.ts    |    72 +
 node_modules/@angular/material/stepper.d.ts     |     8 +
 .../@angular/material/stepper.metadata.json     |    12 +
 .../@angular/material/stepper/index.d.ts        |     8 +
 .../material/stepper/index.metadata.json        |    12 +
 .../@angular/material/stepper/package.json      |     7 +
 .../material/stepper/typings/index.d.ts         |     4 +
 .../stepper/typings/index.metadata.json         |     1 +
 .../material/stepper/typings/public-api.d.ts    |    15 +
 .../material/stepper/typings/step-header.d.ts   |    45 +
 .../material/stepper/typings/step-label.d.ts    |    12 +
 .../stepper/typings/stepper-animations.d.ts     |    13 +
 .../stepper/typings/stepper-button.d.ts         |     7 +
 .../material/stepper/typings/stepper-icon.d.ts  |    17 +
 .../material/stepper/typings/stepper-intl.d.ts  |    11 +
 .../stepper/typings/stepper-module.d.ts         |     2 +
 .../material/stepper/typings/stepper.d.ts       |    43 +
 node_modules/@angular/material/table.d.ts       |     8 +
 .../@angular/material/table.metadata.json       |    12 +
 node_modules/@angular/material/table/index.d.ts |     8 +
 .../@angular/material/table/index.metadata.json |    12 +
 .../@angular/material/table/package.json        |     7 +
 .../@angular/material/table/typings/cell.d.ts   |    37 +
 .../@angular/material/table/typings/index.d.ts  |     4 +
 .../material/table/typings/index.metadata.json  |     1 +
 .../material/table/typings/public-api.d.ts      |    12 +
 .../@angular/material/table/typings/row.d.ts    |    20 +
 .../table/typings/table-data-source.d.ts        |   136 +
 .../material/table/typings/table-module.d.ts    |     2 +
 .../@angular/material/table/typings/table.d.ts  |     6 +
 node_modules/@angular/material/tabs.d.ts        |     8 +
 .../@angular/material/tabs.metadata.json        |    12 +
 node_modules/@angular/material/tabs/index.d.ts  |     8 +
 .../@angular/material/tabs/index.metadata.json  |    12 +
 .../@angular/material/tabs/package.json         |     7 +
 .../@angular/material/tabs/typings/index.d.ts   |     8 +
 .../material/tabs/typings/index.metadata.json   |     1 +
 .../@angular/material/tabs/typings/ink-bar.d.ts |    32 +
 .../material/tabs/typings/public-api.d.ts       |    17 +
 .../material/tabs/typings/tab-body.d.ts         |    81 +
 .../material/tabs/typings/tab-group.d.ts        |   109 +
 .../material/tabs/typings/tab-header.d.ts       |   161 +
 .../tabs/typings/tab-label-wrapper.d.ts         |    25 +
 .../material/tabs/typings/tab-label.d.ts        |    13 +
 .../tabs/typings/tab-nav-bar/index.d.ts         |     8 +
 .../tabs/typings/tab-nav-bar/tab-nav-bar.d.ts   |    85 +
 .../@angular/material/tabs/typings/tab.d.ts     |    51 +
 .../material/tabs/typings/tabs-animations.d.ts  |    12 +
 .../material/tabs/typings/tabs-module.d.ts      |     2 +
 node_modules/@angular/material/toolbar.d.ts     |     8 +
 .../@angular/material/toolbar.metadata.json     |    12 +
 .../@angular/material/toolbar/index.d.ts        |     8 +
 .../material/toolbar/index.metadata.json        |    12 +
 .../@angular/material/toolbar/package.json      |     7 +
 .../material/toolbar/typings/index.d.ts         |     4 +
 .../toolbar/typings/index.metadata.json         |     1 +
 .../material/toolbar/typings/public-api.d.ts    |     9 +
 .../toolbar/typings/toolbar-module.d.ts         |     2 +
 .../material/toolbar/typings/toolbar.d.ts       |    35 +
 node_modules/@angular/material/tooltip.d.ts     |     8 +
 .../@angular/material/tooltip.metadata.json     |    12 +
 .../@angular/material/tooltip/index.d.ts        |     8 +
 .../material/tooltip/index.metadata.json        |    12 +
 .../@angular/material/tooltip/package.json      |     7 +
 .../material/tooltip/typings/index.d.ts         |     4 +
 .../tooltip/typings/index.metadata.json         |     1 +
 .../material/tooltip/typings/public-api.d.ts    |    10 +
 .../tooltip/typings/tooltip-animations.d.ts     |    12 +
 .../tooltip/typings/tooltip-module.d.ts         |     2 +
 .../material/tooltip/typings/tooltip.d.ts       |   191 +
 .../autocomplete/autocomplete-module.d.ts       |     2 +
 .../autocomplete/autocomplete-trigger.d.ts      |   150 +
 .../typings/autocomplete/autocomplete.d.ts      |    85 +
 .../material/typings/autocomplete/index.d.ts    |     4 +
 .../typings/autocomplete/index.metadata.json    |     1 +
 .../typings/autocomplete/public-api.d.ts        |    10 +
 .../button-toggle/button-toggle-module.d.ts     |     2 +
 .../typings/button-toggle/button-toggle.d.ts    |   142 +
 .../material/typings/button-toggle/index.d.ts   |     4 +
 .../typings/button-toggle/index.metadata.json   |     1 +
 .../typings/button-toggle/public-api.d.ts       |     9 +
 .../material/typings/button/button-module.d.ts  |     2 +
 .../material/typings/button/button.d.ts         |    45 +
 .../@angular/material/typings/button/index.d.ts |     4 +
 .../material/typings/button/index.metadata.json |     1 +
 .../material/typings/button/public-api.d.ts     |     9 +
 .../material/typings/card/card-module.d.ts      |     2 +
 .../@angular/material/typings/card/card.d.ts    |    95 +
 .../@angular/material/typings/card/index.d.ts   |     4 +
 .../material/typings/card/index.metadata.json   |     1 +
 .../material/typings/card/public-api.d.ts       |     9 +
 .../typings/checkbox/checkbox-config.d.ts       |    20 +
 .../typings/checkbox/checkbox-module.d.ts       |     2 +
 .../checkbox/checkbox-required-validator.d.ts   |    17 +
 .../material/typings/checkbox/checkbox.d.ts     |   149 +
 .../material/typings/checkbox/index.d.ts        |     4 +
 .../typings/checkbox/index.metadata.json        |     1 +
 .../material/typings/checkbox/public-api.d.ts   |    11 +
 .../material/typings/chips/chip-input.d.ts      |    51 +
 .../material/typings/chips/chip-list.d.ts       |   265 +
 .../@angular/material/typings/chips/chip.d.ts   |   136 +
 .../material/typings/chips/chips-module.d.ts    |     2 +
 .../@angular/material/typings/chips/index.d.ts  |     4 +
 .../material/typings/chips/index.metadata.json  |     1 +
 .../material/typings/chips/public-api.d.ts      |    11 +
 .../typings/core/animation/animation.d.ts       |    20 +
 .../typings/core/common-behaviors/color.d.ts    |    22 +
 .../core/common-behaviors/common-module.d.ts    |    36 +
 .../core/common-behaviors/constructor.d.ts      |     9 +
 .../core/common-behaviors/disable-ripple.d.ts   |     8 +
 .../typings/core/common-behaviors/disabled.d.ts |     8 +
 .../core/common-behaviors/error-state.d.ts      |    30 +
 .../typings/core/common-behaviors/index.d.ts    |    14 +
 .../core/common-behaviors/initialized.d.ts      |    28 +
 .../typings/core/common-behaviors/tabindex.d.ts |    16 +
 .../typings/core/datetime/date-adapter.d.ts     |   212 +
 .../typings/core/datetime/date-formats.d.ts     |    20 +
 .../material/typings/core/datetime/index.d.ts   |     8 +
 .../core/datetime/native-date-adapter.d.ts      |    58 +
 .../core/datetime/native-date-formats.d.ts      |     9 +
 .../typings/core/error/error-options.d.ts       |     9 +
 .../core/gestures/gesture-annotations.d.ts      |    64 +
 .../typings/core/gestures/gesture-config.d.ts   |    40 +
 .../@angular/material/typings/core/index.d.ts   |     4 +
 .../material/typings/core/index.metadata.json   |     1 +
 .../typings/core/label/label-options.d.ts       |    20 +
 .../material/typings/core/line/line.d.ts        |    29 +
 .../material/typings/core/option/index.d.ts     |     4 +
 .../material/typings/core/option/optgroup.d.ts  |    14 +
 .../material/typings/core/option/option.d.ts    |   112 +
 .../material/typings/core/public-api.d.ts       |    34 +
 .../material/typings/core/ripple/index.d.ts     |     5 +
 .../typings/core/ripple/ripple-ref.d.ts         |    28 +
 .../typings/core/ripple/ripple-renderer.d.ts    |    98 +
 .../material/typings/core/ripple/ripple.d.ts    |   101 +
 .../material/typings/core/selection/index.d.ts  |     3 +
 .../pseudo-checkbox/pseudo-checkbox.d.ts        |    20 +
 .../typings/core/testing/month-constants.d.ts   |    12 +
 .../typings/datepicker/calendar-body.d.ts       |    52 +
 .../material/typings/datepicker/calendar.d.ts   |   101 +
 .../typings/datepicker/datepicker-errors.d.ts   |     9 +
 .../typings/datepicker/datepicker-input.d.ts    |   105 +
 .../typings/datepicker/datepicker-intl.d.ts     |    29 +
 .../typings/datepicker/datepicker-module.d.ts   |     2 +
 .../typings/datepicker/datepicker-toggle.d.ts   |    24 +
 .../material/typings/datepicker/datepicker.d.ts |   126 +
 .../material/typings/datepicker/index.d.ts      |     5 +
 .../typings/datepicker/index.metadata.json      |     1 +
 .../material/typings/datepicker/month-view.d.ts |    71 +
 .../typings/datepicker/multi-year-view.d.ts     |    52 +
 .../material/typings/datepicker/public-api.d.ts |    16 +
 .../material/typings/datepicker/year-view.d.ts  |    60 +
 .../typings/dialog/dialog-animations.d.ts       |    12 +
 .../material/typings/dialog/dialog-config.d.ts  |    75 +
 .../typings/dialog/dialog-container.d.ts        |    68 +
 .../dialog/dialog-content-directives.d.ts       |    48 +
 .../material/typings/dialog/dialog-module.d.ts  |     2 +
 .../material/typings/dialog/dialog-ref.d.ts     |    73 +
 .../material/typings/dialog/dialog.d.ts         |   113 +
 .../@angular/material/typings/dialog/index.d.ts |     4 +
 .../material/typings/dialog/index.metadata.json |     1 +
 .../material/typings/dialog/public-api.d.ts     |    14 +
 .../typings/divider/divider-module.d.ts         |     2 +
 .../material/typings/divider/divider.d.ts       |     8 +
 .../material/typings/divider/index.d.ts         |     4 +
 .../typings/divider/index.metadata.json         |     1 +
 .../material/typings/divider/public-api.d.ts    |     9 +
 .../esm5/autocomplete/autocomplete-module.d.ts  |     2 +
 .../esm5/autocomplete/autocomplete-trigger.d.ts |   150 +
 .../typings/esm5/autocomplete/autocomplete.d.ts |    85 +
 .../typings/esm5/autocomplete/index.d.ts        |     4 +
 .../esm5/autocomplete/index.metadata.json       |     1 +
 .../typings/esm5/autocomplete/public-api.d.ts   |    10 +
 .../button-toggle/button-toggle-module.d.ts     |     2 +
 .../esm5/button-toggle/button-toggle.d.ts       |   142 +
 .../typings/esm5/button-toggle/index.d.ts       |     4 +
 .../esm5/button-toggle/index.metadata.json      |     1 +
 .../typings/esm5/button-toggle/public-api.d.ts  |     9 +
 .../typings/esm5/button/button-module.d.ts      |     2 +
 .../material/typings/esm5/button/button.d.ts    |    45 +
 .../material/typings/esm5/button/index.d.ts     |     4 +
 .../typings/esm5/button/index.metadata.json     |     1 +
 .../typings/esm5/button/public-api.d.ts         |     9 +
 .../material/typings/esm5/card/card-module.d.ts |     2 +
 .../material/typings/esm5/card/card.d.ts        |    95 +
 .../material/typings/esm5/card/index.d.ts       |     4 +
 .../typings/esm5/card/index.metadata.json       |     1 +
 .../material/typings/esm5/card/public-api.d.ts  |     9 +
 .../typings/esm5/checkbox/checkbox-config.d.ts  |    20 +
 .../typings/esm5/checkbox/checkbox-module.d.ts  |     2 +
 .../checkbox/checkbox-required-validator.d.ts   |    17 +
 .../typings/esm5/checkbox/checkbox.d.ts         |   149 +
 .../material/typings/esm5/checkbox/index.d.ts   |     4 +
 .../typings/esm5/checkbox/index.metadata.json   |     1 +
 .../typings/esm5/checkbox/public-api.d.ts       |    11 +
 .../material/typings/esm5/chips/chip-input.d.ts |    51 +
 .../material/typings/esm5/chips/chip-list.d.ts  |   265 +
 .../material/typings/esm5/chips/chip.d.ts       |   136 +
 .../typings/esm5/chips/chips-module.d.ts        |     2 +
 .../material/typings/esm5/chips/index.d.ts      |     4 +
 .../typings/esm5/chips/index.metadata.json      |     1 +
 .../material/typings/esm5/chips/public-api.d.ts |    11 +
 .../typings/esm5/core/animation/animation.d.ts  |    20 +
 .../esm5/core/common-behaviors/color.d.ts       |    22 +
 .../core/common-behaviors/common-module.d.ts    |    36 +
 .../esm5/core/common-behaviors/constructor.d.ts |     9 +
 .../core/common-behaviors/disable-ripple.d.ts   |     8 +
 .../esm5/core/common-behaviors/disabled.d.ts    |     8 +
 .../esm5/core/common-behaviors/error-state.d.ts |    30 +
 .../esm5/core/common-behaviors/index.d.ts       |    14 +
 .../esm5/core/common-behaviors/initialized.d.ts |    28 +
 .../esm5/core/common-behaviors/tabindex.d.ts    |    16 +
 .../esm5/core/datetime/date-adapter.d.ts        |   212 +
 .../esm5/core/datetime/date-formats.d.ts        |    20 +
 .../typings/esm5/core/datetime/index.d.ts       |     8 +
 .../esm5/core/datetime/native-date-adapter.d.ts |    58 +
 .../esm5/core/datetime/native-date-formats.d.ts |     9 +
 .../typings/esm5/core/error/error-options.d.ts  |     9 +
 .../esm5/core/gestures/gesture-annotations.d.ts |    64 +
 .../esm5/core/gestures/gesture-config.d.ts      |    40 +
 .../material/typings/esm5/core/index.d.ts       |     4 +
 .../typings/esm5/core/index.metadata.json       |     1 +
 .../typings/esm5/core/label/label-options.d.ts  |    20 +
 .../material/typings/esm5/core/line/line.d.ts   |    29 +
 .../typings/esm5/core/option/index.d.ts         |     4 +
 .../typings/esm5/core/option/optgroup.d.ts      |    14 +
 .../typings/esm5/core/option/option.d.ts        |   112 +
 .../material/typings/esm5/core/public-api.d.ts  |    34 +
 .../typings/esm5/core/ripple/index.d.ts         |     5 +
 .../typings/esm5/core/ripple/ripple-ref.d.ts    |    28 +
 .../esm5/core/ripple/ripple-renderer.d.ts       |    98 +
 .../typings/esm5/core/ripple/ripple.d.ts        |   101 +
 .../typings/esm5/core/selection/index.d.ts      |     3 +
 .../pseudo-checkbox/pseudo-checkbox.d.ts        |    20 +
 .../esm5/core/testing/month-constants.d.ts      |    12 +
 .../typings/esm5/datepicker/calendar-body.d.ts  |    52 +
 .../typings/esm5/datepicker/calendar.d.ts       |   101 +
 .../esm5/datepicker/datepicker-errors.d.ts      |     9 +
 .../esm5/datepicker/datepicker-input.d.ts       |   105 +
 .../esm5/datepicker/datepicker-intl.d.ts        |    29 +
 .../esm5/datepicker/datepicker-module.d.ts      |     2 +
 .../esm5/datepicker/datepicker-toggle.d.ts      |    24 +
 .../typings/esm5/datepicker/datepicker.d.ts     |   126 +
 .../material/typings/esm5/datepicker/index.d.ts |     5 +
 .../typings/esm5/datepicker/index.metadata.json |     1 +
 .../typings/esm5/datepicker/month-view.d.ts     |    71 +
 .../esm5/datepicker/multi-year-view.d.ts        |    52 +
 .../typings/esm5/datepicker/public-api.d.ts     |    16 +
 .../typings/esm5/datepicker/year-view.d.ts      |    60 +
 .../typings/esm5/dialog/dialog-animations.d.ts  |    12 +
 .../typings/esm5/dialog/dialog-config.d.ts      |    75 +
 .../typings/esm5/dialog/dialog-container.d.ts   |    68 +
 .../esm5/dialog/dialog-content-directives.d.ts  |    48 +
 .../typings/esm5/dialog/dialog-module.d.ts      |     2 +
 .../typings/esm5/dialog/dialog-ref.d.ts         |    73 +
 .../material/typings/esm5/dialog/dialog.d.ts    |   113 +
 .../material/typings/esm5/dialog/index.d.ts     |     4 +
 .../typings/esm5/dialog/index.metadata.json     |     1 +
 .../typings/esm5/dialog/public-api.d.ts         |    14 +
 .../typings/esm5/divider/divider-module.d.ts    |     2 +
 .../material/typings/esm5/divider/divider.d.ts  |     8 +
 .../material/typings/esm5/divider/index.d.ts    |     4 +
 .../typings/esm5/divider/index.metadata.json    |     1 +
 .../typings/esm5/divider/public-api.d.ts        |     9 +
 .../typings/esm5/expansion/accordion.d.ts       |    20 +
 .../esm5/expansion/expansion-animations.d.ts    |    16 +
 .../esm5/expansion/expansion-module.d.ts        |     2 +
 .../esm5/expansion/expansion-panel-content.d.ts |    16 +
 .../esm5/expansion/expansion-panel-header.d.ts  |    54 +
 .../typings/esm5/expansion/expansion-panel.d.ts |    52 +
 .../material/typings/esm5/expansion/index.d.ts  |     4 +
 .../typings/esm5/expansion/index.metadata.json  |     1 +
 .../typings/esm5/expansion/public-api.d.ts      |    13 +
 .../material/typings/esm5/form-field/error.d.ts |     4 +
 .../esm5/form-field/form-field-animations.d.ts  |    12 +
 .../esm5/form-field/form-field-control.d.ts     |    53 +
 .../esm5/form-field/form-field-errors.d.ts      |    13 +
 .../esm5/form-field/form-field-module.d.ts      |     2 +
 .../typings/esm5/form-field/form-field.d.ts     |    96 +
 .../material/typings/esm5/form-field/hint.d.ts  |     7 +
 .../material/typings/esm5/form-field/index.d.ts |     4 +
 .../typings/esm5/form-field/index.metadata.json |     1 +
 .../material/typings/esm5/form-field/label.d.ts |     3 +
 .../typings/esm5/form-field/placeholder.d.ts    |     3 +
 .../typings/esm5/form-field/prefix.d.ts         |     3 +
 .../typings/esm5/form-field/public-api.d.ts     |    18 +
 .../typings/esm5/form-field/suffix.d.ts         |     3 +
 .../esm5/grid-list/grid-list-measure.d.ts       |    17 +
 .../esm5/grid-list/grid-list-module.d.ts        |     2 +
 .../typings/esm5/grid-list/grid-list.d.ts       |    52 +
 .../typings/esm5/grid-list/grid-tile.d.ts       |    53 +
 .../material/typings/esm5/grid-list/index.d.ts  |     4 +
 .../typings/esm5/grid-list/index.metadata.json  |     1 +
 .../typings/esm5/grid-list/public-api.d.ts      |    10 +
 .../esm5/grid-list/tile-coordinator.d.ts        |    66 +
 .../typings/esm5/grid-list/tile-styler.d.ts     |   129 +
 .../material/typings/esm5/icon/icon-module.d.ts |     2 +
 .../typings/esm5/icon/icon-registry.d.ts        |   188 +
 .../material/typings/esm5/icon/icon.d.ts        |    76 +
 .../material/typings/esm5/icon/index.d.ts       |     4 +
 .../typings/esm5/icon/index.metadata.json       |     1 +
 .../material/typings/esm5/icon/public-api.d.ts  |    10 +
 .../@angular/material/typings/esm5/index.d.ts   |     4 +
 .../material/typings/esm5/index.metadata.json   |     1 +
 .../material/typings/esm5/input/autosize.d.ts   |    52 +
 .../material/typings/esm5/input/index.d.ts      |     4 +
 .../typings/esm5/input/index.metadata.json      |     1 +
 .../typings/esm5/input/input-errors.d.ts        |     9 +
 .../typings/esm5/input/input-module.d.ts        |     2 +
 .../esm5/input/input-value-accessor.d.ts        |    17 +
 .../material/typings/esm5/input/input.d.ts      |   125 +
 .../material/typings/esm5/input/public-api.d.ts |    12 +
 .../material/typings/esm5/list/index.d.ts       |     4 +
 .../typings/esm5/list/index.metadata.json       |     1 +
 .../material/typings/esm5/list/list-module.d.ts |     2 +
 .../material/typings/esm5/list/list.d.ts        |    56 +
 .../material/typings/esm5/list/public-api.d.ts  |    10 +
 .../typings/esm5/list/selection-list.d.ts       |   169 +
 .../material/typings/esm5/menu/index.d.ts       |     6 +
 .../typings/esm5/menu/index.metadata.json       |     1 +
 .../typings/esm5/menu/menu-animations.d.ts      |    27 +
 .../typings/esm5/menu/menu-content.d.ts         |    28 +
 .../typings/esm5/menu/menu-directive.d.ts       |   120 +
 .../material/typings/esm5/menu/menu-errors.d.ts |    24 +
 .../material/typings/esm5/menu/menu-item.d.ts   |    44 +
 .../material/typings/esm5/menu/menu-module.d.ts |     2 +
 .../material/typings/esm5/menu/menu-panel.d.ts  |    30 +
 .../typings/esm5/menu/menu-positions.d.ts       |     9 +
 .../typings/esm5/menu/menu-trigger.d.ts         |   136 +
 .../material/typings/esm5/menu/menu.d.ts        |    12 +
 .../material/typings/esm5/menu/public-api.d.ts  |    12 +
 .../material/typings/esm5/paginator/index.d.ts  |     4 +
 .../typings/esm5/paginator/index.metadata.json  |     1 +
 .../typings/esm5/paginator/paginator-intl.d.ts  |    40 +
 .../esm5/paginator/paginator-module.d.ts        |     2 +
 .../typings/esm5/paginator/paginator.d.ts       |    80 +
 .../typings/esm5/paginator/public-api.d.ts      |    10 +
 .../typings/esm5/progress-bar/index.d.ts        |     4 +
 .../esm5/progress-bar/index.metadata.json       |     1 +
 .../esm5/progress-bar/progress-bar-module.d.ts  |     2 +
 .../typings/esm5/progress-bar/progress-bar.d.ts |    49 +
 .../typings/esm5/progress-bar/public-api.d.ts   |     9 +
 .../typings/esm5/progress-spinner/index.d.ts    |     4 +
 .../esm5/progress-spinner/index.metadata.json   |     1 +
 .../progress-spinner-module.d.ts                |     3 +
 .../esm5/progress-spinner/progress-spinner.d.ts |    73 +
 .../esm5/progress-spinner/public-api.d.ts       |     9 +
 .../material/typings/esm5/public-api.d.ts       |    40 +
 .../material/typings/esm5/radio/index.d.ts      |     4 +
 .../typings/esm5/radio/index.metadata.json      |     1 +
 .../material/typings/esm5/radio/public-api.d.ts |     9 +
 .../typings/esm5/radio/radio-module.d.ts        |     2 +
 .../material/typings/esm5/radio/radio.d.ts      |   222 +
 .../material/typings/esm5/select/index.d.ts     |     4 +
 .../typings/esm5/select/index.metadata.json     |     1 +
 .../typings/esm5/select/public-api.d.ts         |    10 +
 .../typings/esm5/select/select-animations.d.ts  |    28 +
 .../typings/esm5/select/select-errors.d.ts      |    26 +
 .../typings/esm5/select/select-module.d.ts      |     2 +
 .../material/typings/esm5/select/select.d.ts    |   405 +
 .../typings/esm5/sidenav/drawer-animations.d.ts |    12 +
 .../material/typings/esm5/sidenav/drawer.d.ts   |   246 +
 .../material/typings/esm5/sidenav/index.d.ts    |     4 +
 .../typings/esm5/sidenav/index.metadata.json    |     1 +
 .../typings/esm5/sidenav/public-api.d.ts        |    11 +
 .../typings/esm5/sidenav/sidenav-module.d.ts    |     2 +
 .../material/typings/esm5/sidenav/sidenav.d.ts  |    33 +
 .../typings/esm5/slide-toggle/index.d.ts        |     4 +
 .../esm5/slide-toggle/index.metadata.json       |     1 +
 .../typings/esm5/slide-toggle/public-api.d.ts   |     9 +
 .../esm5/slide-toggle/slide-toggle-module.d.ts  |     2 +
 .../typings/esm5/slide-toggle/slide-toggle.d.ts |    98 +
 .../material/typings/esm5/slider/index.d.ts     |     4 +
 .../typings/esm5/slider/index.metadata.json     |     1 +
 .../typings/esm5/slider/public-api.d.ts         |     9 +
 .../typings/esm5/slider/slider-module.d.ts      |     2 +
 .../material/typings/esm5/slider/slider.d.ts    |   218 +
 .../material/typings/esm5/snack-bar/index.d.ts  |     4 +
 .../typings/esm5/snack-bar/index.metadata.json  |     1 +
 .../typings/esm5/snack-bar/public-api.d.ts      |    14 +
 .../esm5/snack-bar/simple-snack-bar.d.ts        |    18 +
 .../esm5/snack-bar/snack-bar-animations.d.ts    |    17 +
 .../esm5/snack-bar/snack-bar-config.d.ts        |    45 +
 .../esm5/snack-bar/snack-bar-container.d.ts     |    54 +
 .../esm5/snack-bar/snack-bar-module.d.ts        |     2 +
 .../typings/esm5/snack-bar/snack-bar-ref.d.ts   |    64 +
 .../typings/esm5/snack-bar/snack-bar.d.ts       |    72 +
 .../material/typings/esm5/sort/index.d.ts       |     4 +
 .../typings/esm5/sort/index.metadata.json       |     1 +
 .../material/typings/esm5/sort/public-api.d.ts  |    13 +
 .../typings/esm5/sort/sort-animations.d.ts      |    17 +
 .../typings/esm5/sort/sort-direction.d.ts       |     8 +
 .../material/typings/esm5/sort/sort-errors.d.ts |    15 +
 .../typings/esm5/sort/sort-header-intl.d.ts     |    33 +
 .../material/typings/esm5/sort/sort-header.d.ts |   113 +
 .../material/typings/esm5/sort/sort-module.d.ts |     2 +
 .../material/typings/esm5/sort/sort.d.ts        |    72 +
 .../material/typings/esm5/stepper/index.d.ts    |     4 +
 .../typings/esm5/stepper/index.metadata.json    |     1 +
 .../typings/esm5/stepper/public-api.d.ts        |    15 +
 .../typings/esm5/stepper/step-header.d.ts       |    45 +
 .../typings/esm5/stepper/step-label.d.ts        |    12 +
 .../esm5/stepper/stepper-animations.d.ts        |    13 +
 .../typings/esm5/stepper/stepper-button.d.ts    |     7 +
 .../typings/esm5/stepper/stepper-icon.d.ts      |    17 +
 .../typings/esm5/stepper/stepper-intl.d.ts      |    11 +
 .../typings/esm5/stepper/stepper-module.d.ts    |     2 +
 .../material/typings/esm5/stepper/stepper.d.ts  |    43 +
 .../material/typings/esm5/table/cell.d.ts       |    37 +
 .../material/typings/esm5/table/index.d.ts      |     4 +
 .../typings/esm5/table/index.metadata.json      |     1 +
 .../material/typings/esm5/table/public-api.d.ts |    12 +
 .../material/typings/esm5/table/row.d.ts        |    20 +
 .../typings/esm5/table/table-data-source.d.ts   |   136 +
 .../typings/esm5/table/table-module.d.ts        |     2 +
 .../material/typings/esm5/table/table.d.ts      |     6 +
 .../material/typings/esm5/tabs/index.d.ts       |     8 +
 .../typings/esm5/tabs/index.metadata.json       |     1 +
 .../material/typings/esm5/tabs/ink-bar.d.ts     |    32 +
 .../material/typings/esm5/tabs/public-api.d.ts  |    17 +
 .../material/typings/esm5/tabs/tab-body.d.ts    |    81 +
 .../material/typings/esm5/tabs/tab-group.d.ts   |   109 +
 .../material/typings/esm5/tabs/tab-header.d.ts  |   161 +
 .../typings/esm5/tabs/tab-label-wrapper.d.ts    |    25 +
 .../material/typings/esm5/tabs/tab-label.d.ts   |    13 +
 .../typings/esm5/tabs/tab-nav-bar/index.d.ts    |     8 +
 .../esm5/tabs/tab-nav-bar/tab-nav-bar.d.ts      |    85 +
 .../material/typings/esm5/tabs/tab.d.ts         |    51 +
 .../typings/esm5/tabs/tabs-animations.d.ts      |    12 +
 .../material/typings/esm5/tabs/tabs-module.d.ts |     2 +
 .../material/typings/esm5/toolbar/index.d.ts    |     4 +
 .../typings/esm5/toolbar/index.metadata.json    |     1 +
 .../typings/esm5/toolbar/public-api.d.ts        |     9 +
 .../typings/esm5/toolbar/toolbar-module.d.ts    |     2 +
 .../material/typings/esm5/toolbar/toolbar.d.ts  |    35 +
 .../material/typings/esm5/tooltip/index.d.ts    |     4 +
 .../typings/esm5/tooltip/index.metadata.json    |     1 +
 .../typings/esm5/tooltip/public-api.d.ts        |    10 +
 .../esm5/tooltip/tooltip-animations.d.ts        |    12 +
 .../typings/esm5/tooltip/tooltip-module.d.ts    |     2 +
 .../material/typings/esm5/tooltip/tooltip.d.ts  |   191 +
 .../@angular/material/typings/esm5/version.d.ts |    10 +
 .../material/typings/expansion/accordion.d.ts   |    20 +
 .../typings/expansion/expansion-animations.d.ts |    16 +
 .../typings/expansion/expansion-module.d.ts     |     2 +
 .../expansion/expansion-panel-content.d.ts      |    16 +
 .../expansion/expansion-panel-header.d.ts       |    54 +
 .../typings/expansion/expansion-panel.d.ts      |    52 +
 .../material/typings/expansion/index.d.ts       |     4 +
 .../typings/expansion/index.metadata.json       |     1 +
 .../material/typings/expansion/public-api.d.ts  |    13 +
 .../material/typings/form-field/error.d.ts      |     4 +
 .../form-field/form-field-animations.d.ts       |    12 +
 .../typings/form-field/form-field-control.d.ts  |    53 +
 .../typings/form-field/form-field-errors.d.ts   |    13 +
 .../typings/form-field/form-field-module.d.ts   |     2 +
 .../material/typings/form-field/form-field.d.ts |    96 +
 .../material/typings/form-field/hint.d.ts       |     7 +
 .../material/typings/form-field/index.d.ts      |     4 +
 .../typings/form-field/index.metadata.json      |     1 +
 .../material/typings/form-field/label.d.ts      |     3 +
 .../typings/form-field/placeholder.d.ts         |     3 +
 .../material/typings/form-field/prefix.d.ts     |     3 +
 .../material/typings/form-field/public-api.d.ts |    18 +
 .../material/typings/form-field/suffix.d.ts     |     3 +
 .../typings/grid-list/grid-list-measure.d.ts    |    17 +
 .../typings/grid-list/grid-list-module.d.ts     |     2 +
 .../material/typings/grid-list/grid-list.d.ts   |    52 +
 .../material/typings/grid-list/grid-tile.d.ts   |    53 +
 .../material/typings/grid-list/index.d.ts       |     4 +
 .../typings/grid-list/index.metadata.json       |     1 +
 .../material/typings/grid-list/public-api.d.ts  |    10 +
 .../typings/grid-list/tile-coordinator.d.ts     |    66 +
 .../material/typings/grid-list/tile-styler.d.ts |   129 +
 .../material/typings/icon/icon-module.d.ts      |     2 +
 .../material/typings/icon/icon-registry.d.ts    |   188 +
 .../@angular/material/typings/icon/icon.d.ts    |    76 +
 .../@angular/material/typings/icon/index.d.ts   |     4 +
 .../material/typings/icon/index.metadata.json   |     1 +
 .../material/typings/icon/public-api.d.ts       |    10 +
 .../@angular/material/typings/index.d.ts        |     4 +
 .../material/typings/index.metadata.json        |     1 +
 .../material/typings/input/autosize.d.ts        |    52 +
 .../@angular/material/typings/input/index.d.ts  |     4 +
 .../material/typings/input/index.metadata.json  |     1 +
 .../material/typings/input/input-errors.d.ts    |     9 +
 .../material/typings/input/input-module.d.ts    |     2 +
 .../typings/input/input-value-accessor.d.ts     |    17 +
 .../@angular/material/typings/input/input.d.ts  |   125 +
 .../material/typings/input/public-api.d.ts      |    12 +
 .../@angular/material/typings/list/index.d.ts   |     4 +
 .../material/typings/list/index.metadata.json   |     1 +
 .../material/typings/list/list-module.d.ts      |     2 +
 .../@angular/material/typings/list/list.d.ts    |    56 +
 .../material/typings/list/public-api.d.ts       |    10 +
 .../material/typings/list/selection-list.d.ts   |   169 +
 .../@angular/material/typings/menu/index.d.ts   |     6 +
 .../material/typings/menu/index.metadata.json   |     1 +
 .../material/typings/menu/menu-animations.d.ts  |    27 +
 .../material/typings/menu/menu-content.d.ts     |    28 +
 .../material/typings/menu/menu-directive.d.ts   |   120 +
 .../material/typings/menu/menu-errors.d.ts      |    24 +
 .../material/typings/menu/menu-item.d.ts        |    44 +
 .../material/typings/menu/menu-module.d.ts      |     2 +
 .../material/typings/menu/menu-panel.d.ts       |    30 +
 .../material/typings/menu/menu-positions.d.ts   |     9 +
 .../material/typings/menu/menu-trigger.d.ts     |   136 +
 .../@angular/material/typings/menu/menu.d.ts    |    12 +
 .../material/typings/menu/public-api.d.ts       |    12 +
 .../material/typings/paginator/index.d.ts       |     4 +
 .../typings/paginator/index.metadata.json       |     1 +
 .../typings/paginator/paginator-intl.d.ts       |    40 +
 .../typings/paginator/paginator-module.d.ts     |     2 +
 .../material/typings/paginator/paginator.d.ts   |    80 +
 .../material/typings/paginator/public-api.d.ts  |    10 +
 .../material/typings/progress-bar/index.d.ts    |     4 +
 .../typings/progress-bar/index.metadata.json    |     1 +
 .../progress-bar/progress-bar-module.d.ts       |     2 +
 .../typings/progress-bar/progress-bar.d.ts      |    49 +
 .../typings/progress-bar/public-api.d.ts        |     9 +
 .../typings/progress-spinner/index.d.ts         |     4 +
 .../progress-spinner/index.metadata.json        |     1 +
 .../progress-spinner-module.d.ts                |     3 +
 .../progress-spinner/progress-spinner.d.ts      |    73 +
 .../typings/progress-spinner/public-api.d.ts    |     9 +
 .../@angular/material/typings/public-api.d.ts   |    40 +
 .../@angular/material/typings/radio/index.d.ts  |     4 +
 .../material/typings/radio/index.metadata.json  |     1 +
 .../material/typings/radio/public-api.d.ts      |     9 +
 .../material/typings/radio/radio-module.d.ts    |     2 +
 .../@angular/material/typings/radio/radio.d.ts  |   222 +
 .../@angular/material/typings/select/index.d.ts |     4 +
 .../material/typings/select/index.metadata.json |     1 +
 .../material/typings/select/public-api.d.ts     |    10 +
 .../typings/select/select-animations.d.ts       |    28 +
 .../material/typings/select/select-errors.d.ts  |    26 +
 .../material/typings/select/select-module.d.ts  |     2 +
 .../material/typings/select/select.d.ts         |   405 +
 .../typings/sidenav/drawer-animations.d.ts      |    12 +
 .../material/typings/sidenav/drawer.d.ts        |   246 +
 .../material/typings/sidenav/index.d.ts         |     4 +
 .../typings/sidenav/index.metadata.json         |     1 +
 .../material/typings/sidenav/public-api.d.ts    |    11 +
 .../typings/sidenav/sidenav-module.d.ts         |     2 +
 .../material/typings/sidenav/sidenav.d.ts       |    33 +
 .../material/typings/slide-toggle/index.d.ts    |     4 +
 .../typings/slide-toggle/index.metadata.json    |     1 +
 .../typings/slide-toggle/public-api.d.ts        |     9 +
 .../slide-toggle/slide-toggle-module.d.ts       |     2 +
 .../typings/slide-toggle/slide-toggle.d.ts      |    98 +
 .../@angular/material/typings/slider/index.d.ts |     4 +
 .../material/typings/slider/index.metadata.json |     1 +
 .../material/typings/slider/public-api.d.ts     |     9 +
 .../material/typings/slider/slider-module.d.ts  |     2 +
 .../material/typings/slider/slider.d.ts         |   218 +
 .../material/typings/snack-bar/index.d.ts       |     4 +
 .../typings/snack-bar/index.metadata.json       |     1 +
 .../material/typings/snack-bar/public-api.d.ts  |    14 +
 .../typings/snack-bar/simple-snack-bar.d.ts     |    18 +
 .../typings/snack-bar/snack-bar-animations.d.ts |    17 +
 .../typings/snack-bar/snack-bar-config.d.ts     |    45 +
 .../typings/snack-bar/snack-bar-container.d.ts  |    54 +
 .../typings/snack-bar/snack-bar-module.d.ts     |     2 +
 .../typings/snack-bar/snack-bar-ref.d.ts        |    64 +
 .../material/typings/snack-bar/snack-bar.d.ts   |    72 +
 .../@angular/material/typings/sort/index.d.ts   |     4 +
 .../material/typings/sort/index.metadata.json   |     1 +
 .../material/typings/sort/public-api.d.ts       |    13 +
 .../material/typings/sort/sort-animations.d.ts  |    17 +
 .../material/typings/sort/sort-direction.d.ts   |     8 +
 .../material/typings/sort/sort-errors.d.ts      |    15 +
 .../material/typings/sort/sort-header-intl.d.ts |    33 +
 .../material/typings/sort/sort-header.d.ts      |   113 +
 .../material/typings/sort/sort-module.d.ts      |     2 +
 .../@angular/material/typings/sort/sort.d.ts    |    72 +
 .../material/typings/stepper/index.d.ts         |     4 +
 .../typings/stepper/index.metadata.json         |     1 +
 .../material/typings/stepper/public-api.d.ts    |    15 +
 .../material/typings/stepper/step-header.d.ts   |    45 +
 .../material/typings/stepper/step-label.d.ts    |    12 +
 .../typings/stepper/stepper-animations.d.ts     |    13 +
 .../typings/stepper/stepper-button.d.ts         |     7 +
 .../material/typings/stepper/stepper-icon.d.ts  |    17 +
 .../material/typings/stepper/stepper-intl.d.ts  |    11 +
 .../typings/stepper/stepper-module.d.ts         |     2 +
 .../material/typings/stepper/stepper.d.ts       |    43 +
 .../@angular/material/typings/table/cell.d.ts   |    37 +
 .../@angular/material/typings/table/index.d.ts  |     4 +
 .../material/typings/table/index.metadata.json  |     1 +
 .../material/typings/table/public-api.d.ts      |    12 +
 .../@angular/material/typings/table/row.d.ts    |    20 +
 .../typings/table/table-data-source.d.ts        |   136 +
 .../material/typings/table/table-module.d.ts    |     2 +
 .../@angular/material/typings/table/table.d.ts  |     6 +
 .../@angular/material/typings/tabs/index.d.ts   |     8 +
 .../material/typings/tabs/index.metadata.json   |     1 +
 .../@angular/material/typings/tabs/ink-bar.d.ts |    32 +
 .../material/typings/tabs/public-api.d.ts       |    17 +
 .../material/typings/tabs/tab-body.d.ts         |    81 +
 .../material/typings/tabs/tab-group.d.ts        |   109 +
 .../material/typings/tabs/tab-header.d.ts       |   161 +
 .../typings/tabs/tab-label-wrapper.d.ts         |    25 +
 .../material/typings/tabs/tab-label.d.ts        |    13 +
 .../typings/tabs/tab-nav-bar/index.d.ts         |     8 +
 .../typings/tabs/tab-nav-bar/tab-nav-bar.d.ts   |    85 +
 .../@angular/material/typings/tabs/tab.d.ts     |    51 +
 .../material/typings/tabs/tabs-animations.d.ts  |    12 +
 .../material/typings/tabs/tabs-module.d.ts      |     2 +
 .../material/typings/toolbar/index.d.ts         |     4 +
 .../typings/toolbar/index.metadata.json         |     1 +
 .../material/typings/toolbar/public-api.d.ts    |     9 +
 .../typings/toolbar/toolbar-module.d.ts         |     2 +
 .../material/typings/toolbar/toolbar.d.ts       |    35 +
 .../material/typings/tooltip/index.d.ts         |     4 +
 .../typings/tooltip/index.metadata.json         |     1 +
 .../material/typings/tooltip/public-api.d.ts    |    10 +
 .../typings/tooltip/tooltip-animations.d.ts     |    12 +
 .../typings/tooltip/tooltip-module.d.ts         |     2 +
 .../material/typings/tooltip/tooltip.d.ts       |   191 +
 .../@angular/material/typings/version.d.ts      |    10 +
 .../@angular/platform-browser-dynamic/README.md |     6 +
 .../platform-browser-dynamic-testing.umd.js     |   580 +
 .../platform-browser-dynamic-testing.umd.js.map |     1 +
 .../platform-browser-dynamic-testing.umd.min.js |     7 +
 ...tform-browser-dynamic-testing.umd.min.js.map |     1 +
 .../bundles/platform-browser-dynamic.umd.js     |   720 +
 .../bundles/platform-browser-dynamic.umd.js.map |     1 +
 .../bundles/platform-browser-dynamic.umd.min.js |     7 +
 .../platform-browser-dynamic.umd.min.js.map     |     1 +
 .../esm2015/platform-browser-dynamic.js         |   618 +
 .../esm2015/platform-browser-dynamic.js.map     |     1 +
 .../platform-browser-dynamic/esm2015/testing.js |   476 +
 .../esm2015/testing.js.map                      |     1 +
 .../esm5/platform-browser-dynamic.js            |   704 +
 .../esm5/platform-browser-dynamic.js.map        |     1 +
 .../platform-browser-dynamic/esm5/testing.js    |   568 +
 .../esm5/testing.js.map                         |     1 +
 .../platform-browser-dynamic/package.json       |    59 +
 .../platform-browser-dynamic.d.ts               |     5 +
 .../platform-browser-dynamic.metadata.json      |     1 +
 .../platform-browser-dynamic/public_api.d.ts    |    13 +
 .../platform-browser-dynamic/testing.d.ts       |     6 +
 .../testing.metadata.json                       |     1 +
 .../testing/package.json                        |     7 +
 .../testing/public_api.d.ts                     |    13 +
 .../testing/testing.d.ts                        |     5 +
 .../testing/testing.metadata.json               |     1 +
 .../@angular/platform-browser/README.md         |     6 +
 .../@angular/platform-browser/animations.d.ts   |     6 +
 .../platform-browser/animations.metadata.json   |     1 +
 .../platform-browser/animations/animations.d.ts |     6 +
 .../animations/animations.metadata.json         |     1 +
 .../platform-browser/animations/package.json    |     7 +
 .../platform-browser/animations/public_api.d.ts |    13 +
 .../bundles/platform-browser-animations.umd.js  |   912 +
 .../platform-browser-animations.umd.js.map      |     1 +
 .../platform-browser-animations.umd.min.js      |     7 +
 .../platform-browser-animations.umd.min.js.map  |     1 +
 .../bundles/platform-browser-testing.umd.js     |   237 +
 .../bundles/platform-browser-testing.umd.js.map |     1 +
 .../bundles/platform-browser-testing.umd.min.js |    19 +
 .../platform-browser-testing.umd.min.js.map     |     1 +
 .../bundles/platform-browser.umd.js             |  5289 +++
 .../bundles/platform-browser.umd.js.map         |     1 +
 .../bundles/platform-browser.umd.min.js         |    29 +
 .../bundles/platform-browser.umd.min.js.map     |     1 +
 .../platform-browser/esm2015/animations.js      |   705 +
 .../platform-browser/esm2015/animations.js.map  |     1 +
 .../esm2015/platform-browser.js                 |  4035 ++
 .../esm2015/platform-browser.js.map             |     1 +
 .../platform-browser/esm2015/testing.js         |   209 +
 .../platform-browser/esm2015/testing.js.map     |     1 +
 .../platform-browser/esm5/animations.js         |   907 +
 .../platform-browser/esm5/animations.js.map     |     1 +
 .../platform-browser/esm5/platform-browser.js   |  5236 +++
 .../esm5/platform-browser.js.map                |     1 +
 .../@angular/platform-browser/esm5/testing.js   |   265 +
 .../platform-browser/esm5/testing.js.map        |     1 +
 .../@angular/platform-browser/package.json      |    57 +
 .../platform-browser/platform-browser.d.ts      |    11 +
 .../platform-browser.metadata.json              |     1 +
 .../@angular/platform-browser/public_api.d.ts   |    13 +
 .../@angular/platform-browser/testing.d.ts      |     6 +
 .../platform-browser/testing.metadata.json      |     1 +
 .../platform-browser/testing/package.json       |     7 +
 .../platform-browser/testing/public_api.d.ts    |    13 +
 .../platform-browser/testing/testing.d.ts       |     5 +
 .../testing/testing.metadata.json               |     1 +
 node_modules/@angular/router/README.md          |     6 +
 .../router/bundles/router-testing.umd.js        |   235 +
 .../router/bundles/router-testing.umd.js.map    |     1 +
 .../router/bundles/router-testing.umd.min.js    |    19 +
 .../bundles/router-testing.umd.min.js.map       |     1 +
 .../router/bundles/router-upgrade.umd.js        |    95 +
 .../router/bundles/router-upgrade.umd.js.map    |     1 +
 .../router/bundles/router-upgrade.umd.min.js    |    19 +
 .../bundles/router-upgrade.umd.min.js.map       |     1 +
 .../@angular/router/bundles/router.umd.js       |  7495 ++++
 .../@angular/router/bundles/router.umd.js.map   |     1 +
 .../@angular/router/bundles/router.umd.min.js   |    44 +
 .../router/bundles/router.umd.min.js.map        |     1 +
 node_modules/@angular/router/esm2015/router.js  |  6289 +++
 .../@angular/router/esm2015/router.js.map       |     1 +
 node_modules/@angular/router/esm2015/testing.js |   246 +
 .../@angular/router/esm2015/testing.js.map      |     1 +
 node_modules/@angular/router/esm2015/upgrade.js |   112 +
 .../@angular/router/esm2015/upgrade.js.map      |     1 +
 node_modules/@angular/router/esm5/router.js     |  7461 ++++
 node_modules/@angular/router/esm5/router.js.map |     1 +
 node_modules/@angular/router/esm5/testing.js    |   267 +
 .../@angular/router/esm5/testing.js.map         |     1 +
 node_modules/@angular/router/esm5/upgrade.js    |   109 +
 .../@angular/router/esm5/upgrade.js.map         |     1 +
 node_modules/@angular/router/package.json       |    63 +
 node_modules/@angular/router/public_api.d.ts    |    13 +
 node_modules/@angular/router/router.d.ts        |     6 +
 .../@angular/router/router.metadata.json        |     1 +
 node_modules/@angular/router/testing.d.ts       |     6 +
 .../@angular/router/testing.metadata.json       |     1 +
 .../@angular/router/testing/package.json        |     7 +
 .../@angular/router/testing/public_api.d.ts     |    13 +
 .../@angular/router/testing/testing.d.ts        |     4 +
 .../router/testing/testing.metadata.json        |     1 +
 node_modules/@angular/router/upgrade.d.ts       |     6 +
 .../@angular/router/upgrade.metadata.json       |     1 +
 .../@angular/router/upgrade/package.json        |     7 +
 .../@angular/router/upgrade/public_api.d.ts     |    13 +
 .../@angular/router/upgrade/upgrade.d.ts        |     4 +
 .../router/upgrade/upgrade.metadata.json        |     1 +
 node_modules/@covalent/core/README.md           |    41 +
 .../core/bundles/covalent-core-chips.umd.js     |   946 +
 .../core/bundles/covalent-core-chips.umd.js.map |    30 +
 .../core/bundles/covalent-core-chips.umd.min.js |     2 +
 .../bundles/covalent-core-chips.umd.min.js.map  |   156 +
 .../core/bundles/covalent-core-common.umd.js    |  2209 +
 .../bundles/covalent-core-common.umd.js.map     |    92 +
 .../bundles/covalent-core-common.umd.min.js     |     2 +
 .../bundles/covalent-core-common.umd.min.js.map |   279 +
 .../bundles/covalent-core-data-table.umd.js     |  1741 +
 .../bundles/covalent-core-data-table.umd.js.map |    38 +
 .../bundles/covalent-core-data-table.umd.min.js |     2 +
 .../covalent-core-data-table.umd.min.js.map     |   263 +
 .../core/bundles/covalent-core-dialogs.umd.js   |   429 +
 .../bundles/covalent-core-dialogs.umd.js.map    |    28 +
 .../bundles/covalent-core-dialogs.umd.min.js    |     2 +
 .../covalent-core-dialogs.umd.min.js.map        |    72 +
 .../covalent-core-expansion-panel.umd.js        |   343 +
 .../covalent-core-expansion-panel.umd.js.map    |    23 +
 .../covalent-core-expansion-panel.umd.min.js    |     2 +
 ...covalent-core-expansion-panel.umd.min.js.map |    74 +
 .../core/bundles/covalent-core-file.umd.js      |   732 +
 .../core/bundles/covalent-core-file.umd.js.map  |    45 +
 .../core/bundles/covalent-core-file.umd.min.js  |     2 +
 .../bundles/covalent-core-file.umd.min.js.map   |   141 +
 .../bundles/covalent-core-json-formatter.umd.js |   327 +
 .../covalent-core-json-formatter.umd.js.map     |    15 +
 .../covalent-core-json-formatter.umd.min.js     |     2 +
 .../covalent-core-json-formatter.umd.min.js.map |    69 +
 .../core/bundles/covalent-core-layout.umd.js    |  1265 +
 .../bundles/covalent-core-layout.umd.js.map     |    47 +
 .../bundles/covalent-core-layout.umd.min.js     |     2 +
 .../bundles/covalent-core-layout.umd.min.js.map |   140 +
 .../core/bundles/covalent-core-loading.umd.js   |  1044 +
 .../bundles/covalent-core-loading.umd.js.map    |    39 +
 .../bundles/covalent-core-loading.umd.min.js    |     2 +
 .../covalent-core-loading.umd.min.js.map        |   208 +
 .../core/bundles/covalent-core-media.umd.js     |   346 +
 .../core/bundles/covalent-core-media.umd.js.map |    23 +
 .../core/bundles/covalent-core-media.umd.min.js |     2 +
 .../bundles/covalent-core-media.umd.min.js.map  |     1 +
 .../core/bundles/covalent-core-menu.umd.js      |    61 +
 .../core/bundles/covalent-core-menu.umd.js.map  |    14 +
 .../core/bundles/covalent-core-menu.umd.min.js  |     2 +
 .../bundles/covalent-core-menu.umd.min.js.map   |    19 +
 .../core/bundles/covalent-core-message.umd.js   |   290 +
 .../bundles/covalent-core-message.umd.js.map    |    18 +
 .../bundles/covalent-core-message.umd.min.js    |     2 +
 .../covalent-core-message.umd.min.js.map        |     1 +
 .../bundles/covalent-core-notifications.umd.js  |   212 +
 .../covalent-core-notifications.umd.js.map      |    12 +
 .../covalent-core-notifications.umd.min.js      |     2 +
 .../covalent-core-notifications.umd.min.js.map  |    33 +
 .../core/bundles/covalent-core-paging.umd.js    |   374 +
 .../bundles/covalent-core-paging.umd.js.map     |    18 +
 .../bundles/covalent-core-paging.umd.min.js     |     2 +
 .../bundles/covalent-core-paging.umd.min.js.map |     1 +
 .../core/bundles/covalent-core-search.umd.js    |   416 +
 .../bundles/covalent-core-search.umd.js.map     |    33 +
 .../bundles/covalent-core-search.umd.min.js     |     2 +
 .../bundles/covalent-core-search.umd.min.js.map |     0
 .../core/bundles/covalent-core-steps.umd.js     |   690 +
 .../core/bundles/covalent-core-steps.umd.js.map |    32 +
 .../core/bundles/covalent-core-steps.umd.min.js |     2 +
 .../bundles/covalent-core-steps.umd.min.js.map  |   141 +
 .../bundles/covalent-core-virtual-scroll.umd.js |   348 +
 .../covalent-core-virtual-scroll.umd.js.map     |    26 +
 .../covalent-core-virtual-scroll.umd.min.js     |     2 +
 .../covalent-core-virtual-scroll.umd.min.js.map |   104 +
 .../@covalent/core/bundles/covalent-core.umd.js | 11472 ++++++
 .../core/bundles/covalent-core.umd.js.map       |   251 +
 .../core/bundles/covalent-core.umd.min.js       |     2 +
 .../core/bundles/covalent-core.umd.min.js.map   |  1089 +
 node_modules/@covalent/core/chips/README.md     |    91 +
 .../@covalent/core/chips/_chips-theme.scss      |    72 +
 .../@covalent/core/chips/chips.component.d.ts   |   260 +
 .../@covalent/core/chips/chips.module.d.ts      |     2 +
 .../core/chips/covalent-core-chips.d.ts         |     4 +
 .../chips/covalent-core-chips.metadata.json     |     1 +
 node_modules/@covalent/core/chips/index.d.ts    |     1 +
 node_modules/@covalent/core/chips/package.json  |    11 +
 .../@covalent/core/chips/public-api.d.ts        |     2 +
 .../@covalent/core/common/_common-theme.scss    |    22 +
 .../animations/bounce/bounce.animation.d.ts     |    14 +
 .../animations/collapse/collapse.animation.d.ts |    21 +
 .../common/animations/common/interfaces.d.ts    |     5 +
 .../common/animations/fade/fade.directive.d.ts  |    52 +
 .../animations/fade/fadeInOut.animation.d.ts    |    21 +
 .../animations/flash/flash.animation.d.ts       |    14 +
 .../headshake/headshake.animation.d.ts          |    14 +
 .../animations/jello/jello.animation.d.ts       |    14 +
 .../animations/pulse/pulse.animation.d.ts       |    14 +
 .../animations/rotate/rotate.animation.d.ts     |    21 +
 .../animations/toggle/toggle.directive.d.ts     |    45 +
 .../core/common/behaviors/constructor.d.ts      |     1 +
 .../behaviors/control-value-accesor.mixin.d.ts  |    15 +
 .../common/behaviors/disable-ripple.mixin.d.ts  |     8 +
 .../core/common/behaviors/disabled.mixin.d.ts   |     8 +
 .../@covalent/core/common/common.module.d.ts    |     2 +
 .../core/common/covalent-core-common.d.ts       |     6 +
 .../common/covalent-core-common.metadata.json   |     1 +
 .../forms/auto-trim/auto-trim.directive.d.ts    |     9 +
 .../common/forms/validators/validators.d.ts     |     8 +
 node_modules/@covalent/core/common/index.d.ts   |     1 +
 .../@covalent/core/common/material-icons.css    |    90 +
 .../core/common/material-icons.css.map          |     1 +
 .../@covalent/core/common/material-icons.scss   |     3 +
 node_modules/@covalent/core/common/package.json |    11 +
 .../core/common/pipes/bytes/bytes.pipe.d.ts     |     4 +
 .../core/common/pipes/digits/digits.pipe.d.ts   |     7 +
 .../common/pipes/time-ago/time-ago.pipe.d.ts    |     4 +
 .../time-difference/time-difference.pipe.d.ts   |     4 +
 .../common/pipes/truncate/truncate.pipe.d.ts    |     4 +
 node_modules/@covalent/core/common/platform.css | 15162 +++++++
 .../@covalent/core/common/platform.css.map      |     1 +
 .../@covalent/core/common/platform.scss         |     8 +
 .../@covalent/core/common/public-api.d.ts       |    30 +
 .../core/common/services/icon.service.d.ts      |     5 +
 .../common/services/router-path.service.d.ts    |     7 +
 .../core/common/styles/_elevation.scss          |   172 +
 .../@covalent/core/common/styles/_layout.scss   |   583 +
 .../core/common/styles/_palette-dark.scss       |   326 +
 .../core/common/styles/_palette-light.scss      |   637 +
 .../@covalent/core/common/styles/_rtl.scss      |    29 +
 .../@covalent/core/common/styles/_styles.scss   |    12 +
 .../core/common/styles/_theme-functions.scss    |    25 +
 .../common/styles/_typography-functions.scss    |    39 +
 .../core/common/styles/_typography.scss         |    76 +
 .../core/common/styles/_variables.scss          |    98 +
 .../core/common/styles/colors/_colors-dark.scss |   388 +
 .../common/styles/colors/_colors-light.scss     |   902 +
 .../core/common/styles/colors/_colors.scss      |     7 +
 .../core/common/styles/core/_button.scss        |    58 +
 .../core/common/styles/core/_card.scss          |   167 +
 .../core/common/styles/core/_content.scss       |    43 +
 .../core/common/styles/core/_core.scss          |    23 +
 .../core/common/styles/core/_divider.scss       |    15 +
 .../core/common/styles/core/_icons.scss         |    20 +
 .../core/common/styles/core/_list.scss          |     8 +
 .../core/common/styles/core/_sidenav.scss       |    20 +
 .../core/common/styles/core/_structure.scss     |   126 +
 .../core/common/styles/core/_toolbar.scss       |    30 +
 .../core/common/styles/core/_whiteframe.scss    |   129 +
 .../styles/font/MaterialIcons-Regular.eot       |   Bin 0 -> 143258 bytes
 .../styles/font/MaterialIcons-Regular.ijmap     |     1 +
 .../styles/font/MaterialIcons-Regular.ttf       |   Bin 0 -> 128180 bytes
 .../styles/font/MaterialIcons-Regular.woff      |   Bin 0 -> 57620 bytes
 .../styles/font/MaterialIcons-Regular.woff2     |   Bin 0 -> 44300 bytes
 .../@covalent/core/common/styles/font/README.md |     9 +
 .../core/common/styles/font/_font.scss          |    79 +
 .../core/common/styles/font/codepoints          |   932 +
 .../core/common/styles/utilities/_general.scss  |    51 +
 .../core/common/styles/utilities/_pad.scss      |    36 +
 .../core/common/styles/utilities/_pull.scss     |    36 +
 .../core/common/styles/utilities/_push.scss     |    36 +
 .../core/common/styles/utilities/_size.scss     |    24 +
 .../core/common/styles/utilities/_text.scss     |    79 +
 .../common/styles/utilities/_utilities.scss     |    15 +
 node_modules/@covalent/core/covalent-core.d.ts  |     6 +
 .../@covalent/core/covalent-core.metadata.json  |     1 +
 .../@covalent/core/data-table/README.md         |   132 +
 .../core/data-table/_data-table-theme.scss      |    83 +
 .../data-table/covalent-core-data-table.d.ts    |     4 +
 .../covalent-core-data-table.metadata.json      |     1 +
 .../data-table-cell.component.d.ts              |    13 +
 .../data-table-column.component.d.ts            |    59 +
 .../data-table-row.component.d.ts               |    19 +
 .../data-table-table.component.d.ts             |     6 +
 .../core/data-table/data-table.component.d.ts   |   323 +
 .../core/data-table/data-table.module.d.ts      |     2 +
 .../data-table-template.directive.d.ts          |     6 +
 .../@covalent/core/data-table/index.d.ts        |     1 +
 .../@covalent/core/data-table/package.json      |    11 +
 .../@covalent/core/data-table/public-api.d.ts   |     8 +
 .../data-table/services/data-table.service.d.ts |    34 +
 .../@covalent/core/dialogs/_dialog-theme.scss   |    30 +
 .../alert-dialog/alert-dialog.component.d.ts    |     9 +
 .../confirm-dialog.component.d.ts               |    11 +
 .../core/dialogs/covalent-core-dialogs.d.ts     |     4 +
 .../dialogs/covalent-core-dialogs.metadata.json |     1 +
 .../core/dialogs/dialog.component.d.ts          |    13 +
 .../@covalent/core/dialogs/dialogs.module.d.ts  |     2 +
 node_modules/@covalent/core/dialogs/index.d.ts  |     1 +
 .../@covalent/core/dialogs/package.json         |    11 +
 .../prompt-dialog/prompt-dialog.component.d.ts  |    20 +
 .../@covalent/core/dialogs/public-api.d.ts      |     6 +
 .../core/dialogs/services/dialog.service.d.ts   |    82 +
 .../core/esm2015/covalent-core-chips.js         |  1131 +
 .../core/esm2015/covalent-core-chips.js.map     |    14 +
 .../core/esm2015/covalent-core-common.js        |  2082 +
 .../core/esm2015/covalent-core-common.js.map    |    59 +
 .../core/esm2015/covalent-core-data-table.js    |  2072 +
 .../esm2015/covalent-core-data-table.js.map     |    26 +
 .../core/esm2015/covalent-core-dialogs.js       |   553 +
 .../core/esm2015/covalent-core-dialogs.js.map   |    22 +
 .../esm2015/covalent-core-expansion-panel.js    |   387 +
 .../covalent-core-expansion-panel.js.map        |    16 +
 .../core/esm2015/covalent-core-file.js          |   739 +
 .../core/esm2015/covalent-core-file.js.map      |    22 +
 .../esm2015/covalent-core-json-formatter.js     |   389 +
 .../esm2015/covalent-core-json-formatter.js.map |    14 +
 .../core/esm2015/covalent-core-layout.js        |  1621 +
 .../core/esm2015/covalent-core-layout.js.map    |    34 +
 .../core/esm2015/covalent-core-loading.js       |  1048 +
 .../core/esm2015/covalent-core-loading.js.map   |    20 +
 .../core/esm2015/covalent-core-media.js         |   328 +
 .../core/esm2015/covalent-core-media.js.map     |    16 +
 .../core/esm2015/covalent-core-menu.js          |   139 +
 .../core/esm2015/covalent-core-menu.js.map      |    14 +
 .../core/esm2015/covalent-core-message.js       |   322 +
 .../core/esm2015/covalent-core-message.js.map   |    14 +
 .../core/esm2015/covalent-core-notifications.js |   262 +
 .../esm2015/covalent-core-notifications.js.map  |    14 +
 .../core/esm2015/covalent-core-paging.js        |   400 +
 .../core/esm2015/covalent-core-paging.js.map    |    14 +
 .../core/esm2015/covalent-core-search.js        |   486 +
 .../core/esm2015/covalent-core-search.js.map    |    16 +
 .../core/esm2015/covalent-core-steps.js         |   835 +
 .../core/esm2015/covalent-core-steps.js.map     |    20 +
 .../esm2015/covalent-core-virtual-scroll.js     |   331 +
 .../esm2015/covalent-core-virtual-scroll.js.map |    16 +
 .../@covalent/core/esm2015/covalent-core.js     | 12865 ++++++
 .../@covalent/core/esm2015/covalent-core.js.map |   201 +
 .../@covalent/core/esm5/covalent-core-chips.js  |   943 +
 .../core/esm5/covalent-core-chips.js.map        |    14 +
 .../@covalent/core/esm5/covalent-core-common.js |  2149 +
 .../core/esm5/covalent-core-common.js.map       |    59 +
 .../core/esm5/covalent-core-data-table.js       |  1707 +
 .../core/esm5/covalent-core-data-table.js.map   |    26 +
 .../core/esm5/covalent-core-dialogs.js          |   429 +
 .../core/esm5/covalent-core-dialogs.js.map      |    22 +
 .../core/esm5/covalent-core-expansion-panel.js  |   325 +
 .../esm5/covalent-core-expansion-panel.js.map   |    16 +
 .../@covalent/core/esm5/covalent-core-file.js   |   713 +
 .../core/esm5/covalent-core-file.js.map         |    22 +
 .../core/esm5/covalent-core-json-formatter.js   |   336 +
 .../esm5/covalent-core-json-formatter.js.map    |    14 +
 .../@covalent/core/esm5/covalent-core-layout.js |  1239 +
 .../core/esm5/covalent-core-layout.js.map       |    34 +
 .../core/esm5/covalent-core-loading.js          |  1019 +
 .../core/esm5/covalent-core-loading.js.map      |    20 +
 .../@covalent/core/esm5/covalent-core-media.js  |   350 +
 .../core/esm5/covalent-core-media.js.map        |    16 +
 .../@covalent/core/esm5/covalent-core-menu.js   |    68 +
 .../core/esm5/covalent-core-menu.js.map         |    14 +
 .../core/esm5/covalent-core-message.js          |   296 +
 .../core/esm5/covalent-core-message.js.map      |    14 +
 .../core/esm5/covalent-core-notifications.js    |   215 +
 .../esm5/covalent-core-notifications.js.map     |    14 +
 .../@covalent/core/esm5/covalent-core-paging.js |   383 +
 .../core/esm5/covalent-core-paging.js.map       |    14 +
 .../@covalent/core/esm5/covalent-core-search.js |   404 +
 .../core/esm5/covalent-core-search.js.map       |    16 +
 .../@covalent/core/esm5/covalent-core-steps.js  |   638 +
 .../core/esm5/covalent-core-steps.js.map        |    20 +
 .../core/esm5/covalent-core-virtual-scroll.js   |   333 +
 .../esm5/covalent-core-virtual-scroll.js.map    |    16 +
 .../@covalent/core/esm5/covalent-core.js        | 11308 ++++++
 .../@covalent/core/esm5/covalent-core.js.map    |   201 +
 .../@covalent/core/expansion-panel/README.md    |    94 +
 .../expansion-panel/_expansion-panel-theme.scss |    77 +
 .../covalent-core-expansion-panel.d.ts          |     4 +
 .../covalent-core-expansion-panel.metadata.json |     1 +
 .../expansion-panel-group.component.d.ts        |     6 +
 .../expansion-panel.component.d.ts              |    81 +
 .../expansion-panel/expansion-panel.module.d.ts |     2 +
 .../@covalent/core/expansion-panel/index.d.ts   |     1 +
 .../@covalent/core/expansion-panel/package.json |    11 +
 .../core/expansion-panel/public-api.d.ts        |     3 +
 .../@covalent/core/file/_file-theme.scss        |    25 +
 .../@covalent/core/file/covalent-core-file.d.ts |     4 +
 .../core/file/covalent-core-file.metadata.json  |     1 +
 .../file/directives/file-drop.directive.d.ts    |    59 +
 .../file/directives/file-select.directive.d.ts  |    30 +
 .../@covalent/core/file/file-input/README.md    |   138 +
 .../file/file-input/file-input.component.d.ts   |    51 +
 .../@covalent/core/file/file-upload/README.md   |   149 +
 .../file/file-upload/file-upload.component.d.ts |    79 +
 .../@covalent/core/file/file.module.d.ts        |     2 +
 node_modules/@covalent/core/file/index.d.ts     |     1 +
 node_modules/@covalent/core/file/package.json   |    11 +
 .../@covalent/core/file/public-api.d.ts         |     6 +
 .../core/file/services/file.service.d.ts        |    34 +
 node_modules/@covalent/core/index.d.ts          |     1 +
 .../@covalent/core/json-formatter/README.md     |    50 +
 .../json-formatter/_json-formatter-theme.scss   |    62 +
 .../covalent-core-json-formatter.d.ts           |     4 +
 .../covalent-core-json-formatter.metadata.json  |     1 +
 .../@covalent/core/json-formatter/index.d.ts    |     1 +
 .../json-formatter.component.d.ts               |    72 +
 .../json-formatter/json-formatter.module.d.ts   |     2 +
 .../@covalent/core/json-formatter/package.json  |    11 +
 .../core/json-formatter/public-api.d.ts         |     2 +
 node_modules/@covalent/core/layout/README.md    |   134 +
 .../@covalent/core/layout/_layout-theme.scss    |    88 +
 .../core/layout/covalent-core-layout.d.ts       |     4 +
 .../layout/covalent-core-layout.metadata.json   |     1 +
 node_modules/@covalent/core/layout/index.d.ts   |     1 +
 .../core/layout/layout-card-over/README.md      |    41 +
 .../layout-card-over.component.d.ts             |    28 +
 .../layout-footer/layout-footer.component.d.ts  |    13 +
 .../core/layout/layout-manage-list/README.md    |    81 +
 .../layout-manage-list.component.d.ts           |    52 +
 .../layout-manage-list.directives.d.ts          |    18 +
 .../core/layout/layout-nav-list/README.md       |    98 +
 .../layout-nav-list.component.d.ts              |    90 +
 .../layout-nav-list.directives.d.ts             |    18 +
 .../@covalent/core/layout/layout-nav/README.md  |    46 +
 .../layout/layout-nav/layout-nav.component.d.ts |    42 +
 .../core/layout/layout-toggle.class.d.ts        |    36 +
 .../@covalent/core/layout/layout.component.d.ts |    52 +
 .../core/layout/layout.directives.d.ts          |    18 +
 .../@covalent/core/layout/layout.module.d.ts    |     2 +
 .../navigation-drawer.component.d.ts            |   105 +
 node_modules/@covalent/core/layout/package.json |    11 +
 .../@covalent/core/layout/public-api.d.ts       |    12 +
 node_modules/@covalent/core/loading/README.md   |   180 +
 .../@covalent/core/loading/_loading-theme.scss  |    10 +
 .../core/loading/covalent-core-loading.d.ts     |     4 +
 .../loading/covalent-core-loading.metadata.json |     1 +
 .../loading/directives/loading.directive.d.ts   |    71 +
 node_modules/@covalent/core/loading/index.d.ts  |     1 +
 .../core/loading/loading.component.d.ts         |    92 +
 .../@covalent/core/loading/loading.module.d.ts  |     2 +
 .../@covalent/core/loading/package.json         |    11 +
 .../@covalent/core/loading/public-api.d.ts      |     5 +
 .../core/loading/services/loading.factory.d.ts  |    67 +
 .../core/loading/services/loading.service.d.ts  |   118 +
 .../core/media/covalent-core-media.d.ts         |     4 +
 .../media/covalent-core-media.metadata.json     |     1 +
 .../directives/media-toggle.directive.d.ts      |    42 +
 node_modules/@covalent/core/media/index.d.ts    |     1 +
 .../@covalent/core/media/media.module.d.ts      |     2 +
 node_modules/@covalent/core/media/package.json  |    11 +
 .../@covalent/core/media/public-api.d.ts        |     3 +
 .../core/media/services/media.service.d.ts      |    33 +
 .../@covalent/core/menu/covalent-core-menu.d.ts |     4 +
 .../core/menu/covalent-core-menu.metadata.json  |     1 +
 node_modules/@covalent/core/menu/index.d.ts     |     1 +
 .../@covalent/core/menu/menu.component.d.ts     |     2 +
 .../@covalent/core/menu/menu.module.d.ts        |     2 +
 node_modules/@covalent/core/menu/package.json   |    11 +
 .../@covalent/core/menu/public-api.d.ts         |     2 +
 node_modules/@covalent/core/message/README.md   |    58 +
 .../@covalent/core/message/_message-theme.scss  |    40 +
 .../core/message/covalent-core-message.d.ts     |     4 +
 .../message/covalent-core-message.metadata.json |     1 +
 node_modules/@covalent/core/message/index.d.ts  |     1 +
 .../core/message/message.component.d.ts         |    94 +
 .../@covalent/core/message/message.module.d.ts  |     2 +
 .../@covalent/core/message/package.json         |    11 +
 .../@covalent/core/message/public-api.d.ts      |     2 +
 .../@covalent/core/notifications/README.md      |    60 +
 .../_notification-count-theme.scss              |    27 +
 .../covalent-core-notifications.d.ts            |     4 +
 .../covalent-core-notifications.metadata.json   |     1 +
 .../@covalent/core/notifications/index.d.ts     |     1 +
 .../notification-count.component.d.ts           |    65 +
 .../notifications/notifications.module.d.ts     |     2 +
 .../@covalent/core/notifications/package.json   |    11 +
 .../core/notifications/public-api.d.ts          |     2 +
 node_modules/@covalent/core/package.json        |   101 +
 node_modules/@covalent/core/paging/README.md    |   141 +
 .../core/paging/_paging-bar-theme.scss          |    25 +
 .../core/paging/covalent-core-paging.d.ts       |     4 +
 .../paging/covalent-core-paging.metadata.json   |     1 +
 node_modules/@covalent/core/paging/index.d.ts   |     1 +
 node_modules/@covalent/core/paging/package.json |    11 +
 .../core/paging/paging-bar.component.d.ts       |   112 +
 .../@covalent/core/paging/paging.module.d.ts    |     2 +
 .../@covalent/core/paging/public-api.d.ts       |     2 +
 node_modules/@covalent/core/public-api.d.ts     |    17 +
 .../core/search/covalent-core-search.d.ts       |     4 +
 .../search/covalent-core-search.metadata.json   |     1 +
 node_modules/@covalent/core/search/index.d.ts   |     1 +
 node_modules/@covalent/core/search/package.json |    11 +
 .../@covalent/core/search/public-api.d.ts       |     3 +
 .../@covalent/core/search/search-box/README.md  |    59 +
 .../search/search-box/search-box.component.d.ts |    75 +
 .../core/search/search-input/README.md          |    62 +
 .../search-input/search-input.component.d.ts    |    69 +
 .../@covalent/core/search/search.module.d.ts    |     2 +
 .../@covalent/core/steps/_steps-theme.scss      |    88 +
 .../core/steps/covalent-core-steps.d.ts         |     4 +
 .../steps/covalent-core-steps.metadata.json     |     1 +
 node_modules/@covalent/core/steps/index.d.ts    |     1 +
 node_modules/@covalent/core/steps/package.json  |    11 +
 .../@covalent/core/steps/public-api.d.ts        |     5 +
 .../steps/step-body/step-body.component.d.ts    |    25 +
 .../step-header/step-header.component.d.ts      |    30 +
 .../@covalent/core/steps/step.component.d.ts    |    95 +
 .../@covalent/core/steps/steps.component.d.ts   |    59 +
 .../@covalent/core/steps/steps.module.d.ts      |     2 +
 .../@covalent/core/theming/_all-theme.scss      |    34 +
 .../theming/prebuilt/blue-grey-deep-orange.css  |  1829 +
 .../prebuilt/blue-grey-deep-orange.css.map      |     1 +
 .../theming/prebuilt/blue-grey-deep-orange.scss |    13 +
 .../core/theming/prebuilt/blue-orange.css       |  1829 +
 .../core/theming/prebuilt/blue-orange.css.map   |     1 +
 .../core/theming/prebuilt/blue-orange.scss      |    13 +
 .../core/theming/prebuilt/indigo-pink.css       |  1829 +
 .../core/theming/prebuilt/indigo-pink.css.map   |     1 +
 .../core/theming/prebuilt/indigo-pink.scss      |    13 +
 .../core/theming/prebuilt/orange-light-blue.css |  1829 +
 .../theming/prebuilt/orange-light-blue.css.map  |     1 +
 .../theming/prebuilt/orange-light-blue.scss     |    13 +
 .../core/theming/prebuilt/teal-orange.css       |  1829 +
 .../core/theming/prebuilt/teal-orange.css.map   |     1 +
 .../core/theming/prebuilt/teal-orange.scss      |    13 +
 .../core/typography/_all-typography.scss        |    49 +
 .../@covalent/core/virtual-scroll/README.md     |    59 +
 .../covalent-core-virtual-scroll.d.ts           |     4 +
 .../covalent-core-virtual-scroll.metadata.json  |     1 +
 .../@covalent/core/virtual-scroll/index.d.ts    |     1 +
 .../@covalent/core/virtual-scroll/package.json  |    11 +
 .../core/virtual-scroll/public-api.d.ts         |     3 +
 .../virtual-scroll-container.component.d.ts     |    61 +
 .../virtual-scroll-row.directive.d.ts           |     5 +
 .../virtual-scroll/virtual-scroll.module.d.ts   |     2 +
 node_modules/@nifi-fds/core/README.md           |   158 +
 .../@nifi-fds/core/common/fds-common.module.js  |    48 +
 .../@nifi-fds/core/common/fds.animations.js     |   133 +
 .../core/common/services/fds-storage.service.js |   219 +
 .../common/services/fds-storage.service.spec.js |    61 +
 .../core/common/styles/_basicElements.scss      |   130 +
 .../core/common/styles/_buttonToggles.scss      |    98 +
 .../@nifi-fds/core/common/styles/_buttons.scss  |   214 +
 .../core/common/styles/_checkboxes.scss         |    85 +
 .../@nifi-fds/core/common/styles/_chips.scss    |    73 +
 .../core/common/styles/_expansionPanels.scss    |    62 +
 .../core/common/styles/_globalVars.scss         |    69 +
 .../core/common/styles/_helperClasses.scss      |    85 +
 .../@nifi-fds/core/common/styles/_inputs.scss   |   109 +
 .../@nifi-fds/core/common/styles/_links.scss    |    35 +
 .../@nifi-fds/core/common/styles/_menus.scss    |   118 +
 .../@nifi-fds/core/common/styles/_modals.scss   |    23 +
 .../@nifi-fds/core/common/styles/_panels.scss   |    54 +
 .../core/common/styles/_progress-bar.scss       |    20 +
 .../@nifi-fds/core/common/styles/_radios.scss   |    56 +
 .../@nifi-fds/core/common/styles/_sideNav.scss  |    20 +
 .../@nifi-fds/core/common/styles/_stepper.scss  |    20 +
 .../@nifi-fds/core/common/styles/_tables.scss   |   118 +
 .../@nifi-fds/core/common/styles/_tabs.scss     |    41 +
 .../@nifi-fds/core/common/styles/_tooltips.scss |    24 +
 .../styles/css/flow-design-system.min.css       |     3 +
 .../styles/css/flow-design-system.min.css.gz    |   Bin 0 -> 3208 bytes
 .../styles/css/flow-design-system.min.css.map   |    28 +
 .../core/common/styles/flow-design-system.scss  |    36 +
 .../core/dialogs/_fds-dialog-component.scss     |    21 +
 .../confirm-dialog.component.html               |    45 +
 .../confirm-dialog/confirm-dialog.component.js  |    64 +
 .../confirm-dialog.component.spec.js            |    50 +
 .../core/dialogs/fds-dialog.component.html      |    29 +
 .../core/dialogs/fds-dialog.component.js        |   102 +
 .../core/dialogs/fds-dialogs.component.spec.js  |    32 +
 .../core/dialogs/fds-dialogs.module.js          |    87 +
 .../core/dialogs/services/dialog.service.js     |   140 +
 .../@nifi-fds/core/flow-design-system.module.js |   155 +
 node_modules/@nifi-fds/core/package.json        |    40 +
 .../snackbars/coaster/_coaster.component.scss   |    63 +
 .../snackbars/coaster/coaster.component.html    |    33 +
 .../core/snackbars/coaster/coaster.component.js |    70 +
 .../snackbars/coaster/coaster.component.spec.js |    32 +
 .../core/snackbars/fds-snackbar.component.html  |    29 +
 .../core/snackbars/fds-snackbar.component.js    |   102 +
 .../snackbars/fds-snackbar.component.spec.js    |    32 +
 .../core/snackbars/fds-snackbars.module.js      |    87 +
 .../core/snackbars/services/snackbar.service.js |   138 +
 .../@nifi-fds/core/theming/_all-theme.scss      |    36 +
 node_modules/@types/node/LICENSE                |    21 +
 node_modules/@types/node/README.md              |    16 +
 node_modules/@types/node/index.d.ts             |  4387 ++
 node_modules/@types/node/package.json           |    75 +
 node_modules/@types/q/README.md                 |    18 +
 node_modules/@types/q/index.d.ts                |   360 +
 node_modules/@types/q/package.json              |    50 +
 node_modules/@types/q/types-metadata.json       |    23 +
 node_modules/@types/selenium-webdriver/LICENSE  |    21 +
 .../@types/selenium-webdriver/README.md         |    16 +
 .../@types/selenium-webdriver/chrome.d.ts       |   414 +
 .../@types/selenium-webdriver/edge.d.ts         |   124 +
 .../@types/selenium-webdriver/executors.d.ts    |    11 +
 .../@types/selenium-webdriver/firefox.d.ts      |   253 +
 .../@types/selenium-webdriver/http.d.ts         |   152 +
 node_modules/@types/selenium-webdriver/ie.d.ts  |   205 +
 .../@types/selenium-webdriver/index.d.ts        |  5049 +++
 .../@types/selenium-webdriver/opera.d.ts        |   173 +
 .../@types/selenium-webdriver/package.json      |    60 +
 .../@types/selenium-webdriver/remote.d.ts       |   105 +
 .../@types/selenium-webdriver/safari.d.ts       |    89 +
 .../@types/selenium-webdriver/testing.d.ts      |    59 +
 node_modules/abbrev/LICENSE                     |    46 +
 node_modules/abbrev/README.md                   |    23 +
 node_modules/abbrev/abbrev.js                   |    61 +
 node_modules/abbrev/package.json                |    60 +
 node_modules/accepts/HISTORY.md                 |   224 +
 node_modules/accepts/LICENSE                    |    23 +
 node_modules/accepts/README.md                  |   143 +
 node_modules/accepts/index.js                   |   238 +
 node_modules/accepts/package.json               |    89 +
 node_modules/adm-zip/MIT-LICENSE.txt            |    21 +
 node_modules/adm-zip/README.md                  |    64 +
 node_modules/adm-zip/adm-zip.js                 |   404 +
 node_modules/adm-zip/headers/entryHeader.js     |   261 +
 node_modules/adm-zip/headers/index.js           |     2 +
 node_modules/adm-zip/headers/mainHeader.js      |    80 +
 node_modules/adm-zip/methods/deflater.js        |  1578 +
 node_modules/adm-zip/methods/index.js           |     2 +
 node_modules/adm-zip/methods/inflater.js        |   448 +
 node_modules/adm-zip/package.json               |    64 +
 node_modules/adm-zip/util/constants.js          |    84 +
 node_modules/adm-zip/util/errors.js             |    35 +
 node_modules/adm-zip/util/fattr.js              |    84 +
 node_modules/adm-zip/util/index.js              |     4 +
 node_modules/adm-zip/util/utils.js              |   145 +
 node_modules/adm-zip/zipEntry.js                |   224 +
 node_modules/adm-zip/zipFile.js                 |   311 +
 node_modules/after/.npmignore                   |     2 +
 node_modules/after/.travis.yml                  |    12 +
 node_modules/after/LICENCE                      |    19 +
 node_modules/after/README.md                    |   115 +
 node_modules/after/index.js                     |    28 +
 node_modules/after/package.json                 |    67 +
 node_modules/agent-base/.npmignore              |     1 +
 node_modules/agent-base/.travis.yml             |    29 +
 node_modules/agent-base/History.md              |    59 +
 node_modules/agent-base/README.md               |   121 +
 node_modules/agent-base/agent.js                |   106 +
 .../agent-base/node_modules/.bin/semver         |     1 +
 .../agent-base/node_modules/semver/.npmignore   |     4 +
 .../agent-base/node_modules/semver/.travis.yml  |     5 +
 .../agent-base/node_modules/semver/LICENSE      |    15 +
 .../agent-base/node_modules/semver/README.md    |   303 +
 .../agent-base/node_modules/semver/bin/semver   |   133 +
 .../agent-base/node_modules/semver/package.json |    53 +
 .../agent-base/node_modules/semver/semver.js    |  1200 +
 node_modules/agent-base/package.json            |    71 +
 node_modules/agent-base/patch-core.js           |    54 +
 node_modules/ajv/.tonic_example.js              |    20 +
 node_modules/ajv/LICENSE                        |    22 +
 node_modules/ajv/README.md                      |  1327 +
 node_modules/ajv/dist/ajv.bundle.js             |  7345 ++++
 node_modules/ajv/dist/ajv.min.js                |     3 +
 node_modules/ajv/dist/ajv.min.js.map            |     1 +
 node_modules/ajv/dist/nodent.min.js             |     2 +
 node_modules/ajv/dist/regenerator.min.js        |     2 +
 node_modules/ajv/lib/$data.js                   |    49 +
 node_modules/ajv/lib/ajv.d.ts                   |   358 +
 node_modules/ajv/lib/ajv.js                     |   502 +
 node_modules/ajv/lib/cache.js                   |    26 +
 node_modules/ajv/lib/compile/_rules.js          |    31 +
 node_modules/ajv/lib/compile/async.js           |    90 +
 node_modules/ajv/lib/compile/equal.js           |     3 +
 node_modules/ajv/lib/compile/error_classes.js   |    34 +
 node_modules/ajv/lib/compile/formats.js         |   135 +
 node_modules/ajv/lib/compile/index.js           |   380 +
 node_modules/ajv/lib/compile/resolve.js         |   271 +
 node_modules/ajv/lib/compile/rules.js           |    58 +
 node_modules/ajv/lib/compile/schema_obj.js      |     9 +
 node_modules/ajv/lib/compile/ucs2length.js      |    20 +
 node_modules/ajv/lib/compile/util.js            |   267 +
 node_modules/ajv/lib/dot/_limit.jst             |    96 +
 node_modules/ajv/lib/dot/_limitItems.jst        |    10 +
 node_modules/ajv/lib/dot/_limitLength.jst       |    10 +
 node_modules/ajv/lib/dot/_limitProperties.jst   |    10 +
 node_modules/ajv/lib/dot/allOf.jst              |    34 +
 node_modules/ajv/lib/dot/anyOf.jst              |    48 +
 node_modules/ajv/lib/dot/coerce.def             |    61 +
 node_modules/ajv/lib/dot/const.jst              |    11 +
 node_modules/ajv/lib/dot/contains.jst           |    57 +
 node_modules/ajv/lib/dot/custom.jst             |   191 +
 node_modules/ajv/lib/dot/defaults.def           |    32 +
 node_modules/ajv/lib/dot/definitions.def        |   199 +
 node_modules/ajv/lib/dot/dependencies.jst       |    80 +
 node_modules/ajv/lib/dot/enum.jst               |    30 +
 node_modules/ajv/lib/dot/errors.def             |   194 +
 node_modules/ajv/lib/dot/format.jst             |   106 +
 node_modules/ajv/lib/dot/items.jst              |   100 +
 node_modules/ajv/lib/dot/missing.def            |    39 +
 node_modules/ajv/lib/dot/multipleOf.jst         |    20 +
 node_modules/ajv/lib/dot/not.jst                |    43 +
 node_modules/ajv/lib/dot/oneOf.jst              |    44 +
 node_modules/ajv/lib/dot/pattern.jst            |    14 +
 node_modules/ajv/lib/dot/properties.jst         |   327 +
 node_modules/ajv/lib/dot/propertyNames.jst      |    54 +
 node_modules/ajv/lib/dot/ref.jst                |    85 +
 node_modules/ajv/lib/dot/required.jst           |   108 +
 node_modules/ajv/lib/dot/uniqueItems.jst        |    38 +
 node_modules/ajv/lib/dot/validate.jst           |   272 +
 node_modules/ajv/lib/dotjs/README.md            |     3 +
 node_modules/ajv/lib/dotjs/_limit.js            |   149 +
 node_modules/ajv/lib/dotjs/_limitItems.js       |    76 +
 node_modules/ajv/lib/dotjs/_limitLength.js      |    81 +
 node_modules/ajv/lib/dotjs/_limitProperties.js  |    76 +
 node_modules/ajv/lib/dotjs/allOf.js             |    43 +
 node_modules/ajv/lib/dotjs/anyOf.js             |    73 +
 node_modules/ajv/lib/dotjs/const.js             |    55 +
 node_modules/ajv/lib/dotjs/contains.js          |    81 +
 node_modules/ajv/lib/dotjs/custom.js            |   226 +
 node_modules/ajv/lib/dotjs/dependencies.js      |   167 +
 node_modules/ajv/lib/dotjs/enum.js              |    65 +
 node_modules/ajv/lib/dotjs/format.js            |   149 +
 node_modules/ajv/lib/dotjs/items.js             |   140 +
 node_modules/ajv/lib/dotjs/multipleOf.js        |    76 +
 node_modules/ajv/lib/dotjs/not.js               |    83 +
 node_modules/ajv/lib/dotjs/oneOf.js             |    70 +
 node_modules/ajv/lib/dotjs/pattern.js           |    74 +
 node_modules/ajv/lib/dotjs/properties.js        |   468 +
 node_modules/ajv/lib/dotjs/propertyNames.js     |    81 +
 node_modules/ajv/lib/dotjs/ref.js               |   123 +
 node_modules/ajv/lib/dotjs/required.js          |   268 +
 node_modules/ajv/lib/dotjs/uniqueItems.js       |    71 +
 node_modules/ajv/lib/dotjs/validate.js          |   458 +
 node_modules/ajv/lib/keyword.js                 |   135 +
 node_modules/ajv/lib/patternGroups.js           |    36 +
 node_modules/ajv/lib/refs/$data.json            |    17 +
 .../ajv/lib/refs/json-schema-draft-04.json      |   150 +
 .../ajv/lib/refs/json-schema-draft-06.json      |   154 +
 node_modules/ajv/lib/refs/json-schema-v5.json   |   250 +
 node_modules/ajv/package.json                   |   134 +
 node_modules/align-text/LICENSE                 |    21 +
 node_modules/align-text/README.md               |   236 +
 node_modules/align-text/index.js                |    52 +
 node_modules/align-text/package.json            |    82 +
 node_modules/amdefine/LICENSE                   |    58 +
 node_modules/amdefine/README.md                 |   171 +
 node_modules/amdefine/amdefine.js               |   301 +
 node_modules/amdefine/intercept.js              |    36 +
 node_modules/amdefine/package.json              |    53 +
 node_modules/amqplib/CHANGELOG.md               |   234 +
 node_modules/amqplib/LICENSE                    |     6 +
 node_modules/amqplib/LICENSE-MIT                |    21 +
 node_modules/amqplib/Makefile                   |    46 +
 node_modules/amqplib/README.md                  |   157 +
 node_modules/amqplib/callback_api.js            |    22 +
 node_modules/amqplib/channel_api.js             |    16 +
 node_modules/amqplib/examples/headers.js        |    42 +
 .../amqplib/examples/receive_generator.js       |    39 +
 .../amqplib/examples/send_generators.js         |    42 +
 node_modules/amqplib/examples/ssl.js            |    64 +
 .../amqplib/examples/tutorials/README.md        |    93 +
 .../examples/tutorials/callback_api/emit_log.js |    28 +
 .../tutorials/callback_api/emit_log_direct.js   |    30 +
 .../tutorials/callback_api/emit_log_topic.js    |    27 +
 .../examples/tutorials/callback_api/new_task.js |    27 +
 .../examples/tutorials/callback_api/receive.js  |    30 +
 .../tutorials/callback_api/receive_logs.js      |    36 +
 .../callback_api/receive_logs_direct.js         |    56 +
 .../callback_api/receive_logs_topic.js          |    55 +
 .../tutorials/callback_api/rpc_client.js        |    49 +
 .../tutorials/callback_api/rpc_server.js        |    45 +
 .../examples/tutorials/callback_api/send.js     |    29 +
 .../examples/tutorials/callback_api/worker.js   |    35 +
 .../amqplib/examples/tutorials/emit_log.js      |    19 +
 .../examples/tutorials/emit_log_direct.js       |    20 +
 .../examples/tutorials/emit_log_topic.js        |    19 +
 .../amqplib/examples/tutorials/new_task.js      |    18 +
 .../amqplib/examples/tutorials/package.json     |    16 +
 .../amqplib/examples/tutorials/receive.js       |    21 +
 .../amqplib/examples/tutorials/receive_logs.js  |    28 +
 .../examples/tutorials/receive_logs_direct.js   |    45 +
 .../examples/tutorials/receive_logs_topic.js    |    44 +
 .../amqplib/examples/tutorials/rpc_client.js    |    53 +
 .../amqplib/examples/tutorials/rpc_server.js    |    39 +
 node_modules/amqplib/examples/tutorials/send.js |    23 +
 .../amqplib/examples/tutorials/worker.js        |    28 +
 .../amqplib/examples/waitForConfirms.js         |    22 +
 node_modules/amqplib/lib/api_args.js            |   312 +
 node_modules/amqplib/lib/bitset.js              |   103 +
 node_modules/amqplib/lib/callback_model.js      |   328 +
 node_modules/amqplib/lib/channel.js             |   480 +
 node_modules/amqplib/lib/channel_model.js       |   318 +
 node_modules/amqplib/lib/codec.js               |   321 +
 node_modules/amqplib/lib/connect.js             |   193 +
 node_modules/amqplib/lib/connection.js          |   646 +
 node_modules/amqplib/lib/credentials.js         |    29 +
 node_modules/amqplib/lib/defs.js                |  4856 +++
 node_modules/amqplib/lib/error.js               |    24 +
 node_modules/amqplib/lib/format.js              |    40 +
 node_modules/amqplib/lib/frame.js               |   114 +
 node_modules/amqplib/lib/heartbeat.js           |    89 +
 node_modules/amqplib/lib/mux.js                 |   146 +
 .../amqplib/node_modules/isarray/README.md      |    54 +
 .../amqplib/node_modules/isarray/build/build.js |   209 +
 .../amqplib/node_modules/isarray/component.json |    19 +
 .../amqplib/node_modules/isarray/index.js       |     3 +
 .../amqplib/node_modules/isarray/package.json   |    62 +
 .../node_modules/readable-stream/.npmignore     |     5 +
 .../node_modules/readable-stream/LICENSE        |    18 +
 .../node_modules/readable-stream/README.md      |    15 +
 .../node_modules/readable-stream/duplex.js      |     1 +
 .../node_modules/readable-stream/float.patch    |   923 +
 .../readable-stream/lib/_stream_duplex.js       |    89 +
 .../readable-stream/lib/_stream_passthrough.js  |    46 +
 .../readable-stream/lib/_stream_readable.js     |   951 +
 .../readable-stream/lib/_stream_transform.js    |   209 +
 .../readable-stream/lib/_stream_writable.js     |   477 +
 .../node_modules/readable-stream/package.json   |    70 +
 .../node_modules/readable-stream/passthrough.js |     1 +
 .../node_modules/readable-stream/readable.js    |    10 +
 .../node_modules/readable-stream/transform.js   |     1 +
 .../node_modules/readable-stream/writable.js    |     1 +
 .../node_modules/string_decoder/.npmignore      |     2 +
 .../amqplib/node_modules/string_decoder/LICENSE |    20 +
 .../node_modules/string_decoder/README.md       |     7 +
 .../node_modules/string_decoder/index.js        |   221 +
 .../node_modules/string_decoder/package.json    |    58 +
 node_modules/amqplib/package.json               |    77 +
 node_modules/ansi-regex/index.js                |     4 +
 node_modules/ansi-regex/license                 |    21 +
 node_modules/ansi-regex/package.json            |   113 +
 node_modules/ansi-regex/readme.md               |    39 +
 node_modules/ansi-styles/index.js               |    65 +
 node_modules/ansi-styles/license                |    21 +
 node_modules/ansi-styles/package.json           |    94 +
 node_modules/ansi-styles/readme.md              |    86 +
 node_modules/anymatch/LICENSE                   |    15 +
 node_modules/anymatch/README.md                 |    98 +
 node_modules/anymatch/index.js                  |    67 +
 node_modules/anymatch/package.json              |    76 +
 node_modules/aproba/LICENSE                     |    14 +
 node_modules/aproba/README.md                   |    94 +
 node_modules/aproba/index.js                    |   105 +
 node_modules/aproba/package.json                |    66 +
 node_modules/archiver-utils/LICENSE             |    22 +
 node_modules/archiver-utils/README.md           |     7 +
 node_modules/archiver-utils/file.js             |   206 +
 node_modules/archiver-utils/index.js            |   156 +
 node_modules/archiver-utils/package.json        |    80 +
 node_modules/archiver/CHANGELOG.md              |    41 +
 node_modules/archiver/LICENSE                   |    22 +
 node_modules/archiver/README.md                 |    72 +
 node_modules/archiver/index.js                  |    70 +
 node_modules/archiver/lib/core.js               |   906 +
 node_modules/archiver/lib/plugins/json.js       |   109 +
 node_modules/archiver/lib/plugins/tar.js        |   166 +
 node_modules/archiver/lib/plugins/zip.js        |   115 +
 .../archiver/node_modules/async/CHANGELOG.md    |   263 +
 .../archiver/node_modules/async/LICENSE         |    19 +
 .../archiver/node_modules/async/README.md       |    50 +
 node_modules/archiver/node_modules/async/all.js |    50 +
 .../archiver/node_modules/async/allLimit.js     |    42 +
 .../archiver/node_modules/async/allSeries.js    |    37 +
 node_modules/archiver/node_modules/async/any.js |    52 +
 .../archiver/node_modules/async/anyLimit.js     |    43 +
 .../archiver/node_modules/async/anySeries.js    |    38 +
 .../archiver/node_modules/async/apply.js        |    68 +
 .../archiver/node_modules/async/applyEach.js    |    51 +
 .../node_modules/async/applyEachSeries.js       |    37 +
 .../archiver/node_modules/async/asyncify.js     |   110 +
 .../archiver/node_modules/async/auto.js         |   289 +
 .../archiver/node_modules/async/autoInject.js   |   170 +
 .../archiver/node_modules/async/bower.json      |    17 +
 .../archiver/node_modules/async/cargo.js        |    94 +
 .../archiver/node_modules/async/compose.js      |    58 +
 .../archiver/node_modules/async/concat.js       |    43 +
 .../archiver/node_modules/async/concatLimit.js  |    65 +
 .../archiver/node_modules/async/concatSeries.js |    36 +
 .../archiver/node_modules/async/constant.js     |    66 +
 .../archiver/node_modules/async/detect.js       |    61 +
 .../archiver/node_modules/async/detectLimit.js  |    48 +
 .../archiver/node_modules/async/detectSeries.js |    38 +
 node_modules/archiver/node_modules/async/dir.js |    43 +
 .../archiver/node_modules/async/dist/async.js   |  5595 +++
 .../node_modules/async/dist/async.min.js        |     2 +
 .../node_modules/async/dist/async.min.map       |     1 +
 .../archiver/node_modules/async/doDuring.js     |    66 +
 .../archiver/node_modules/async/doUntil.js      |    39 +
 .../archiver/node_modules/async/doWhilst.js     |    59 +
 .../archiver/node_modules/async/during.js       |    76 +
 .../archiver/node_modules/async/each.js         |    82 +
 .../archiver/node_modules/async/eachLimit.js    |    45 +
 .../archiver/node_modules/async/eachOf.js       |   111 +
 .../archiver/node_modules/async/eachOfLimit.js  |    41 +
 .../archiver/node_modules/async/eachOfSeries.js |    35 +
 .../archiver/node_modules/async/eachSeries.js   |    37 +
 .../archiver/node_modules/async/ensureAsync.js  |    73 +
 .../archiver/node_modules/async/every.js        |    50 +
 .../archiver/node_modules/async/everyLimit.js   |    42 +
 .../archiver/node_modules/async/everySeries.js  |    37 +
 .../archiver/node_modules/async/filter.js       |    45 +
 .../archiver/node_modules/async/filterLimit.js  |    37 +
 .../archiver/node_modules/async/filterSeries.js |    35 +
 .../archiver/node_modules/async/find.js         |    61 +
 .../archiver/node_modules/async/findLimit.js    |    48 +
 .../archiver/node_modules/async/findSeries.js   |    38 +
 .../archiver/node_modules/async/foldl.js        |    78 +
 .../archiver/node_modules/async/foldr.js        |    44 +
 .../archiver/node_modules/async/forEach.js      |    82 +
 .../archiver/node_modules/async/forEachLimit.js |    45 +
 .../archiver/node_modules/async/forEachOf.js    |   111 +
 .../node_modules/async/forEachOfLimit.js        |    41 +
 .../node_modules/async/forEachOfSeries.js       |    35 +
 .../node_modules/async/forEachSeries.js         |    37 +
 .../archiver/node_modules/async/forever.js      |    65 +
 .../archiver/node_modules/async/groupBy.js      |    54 +
 .../archiver/node_modules/async/groupByLimit.js |    71 +
 .../node_modules/async/groupBySeries.js         |    37 +
 .../archiver/node_modules/async/index.js        |   582 +
 .../archiver/node_modules/async/inject.js       |    78 +
 .../async/internal/DoublyLinkedList.js          |    88 +
 .../node_modules/async/internal/applyEach.js    |    38 +
 .../node_modules/async/internal/breakLoop.js    |     9 +
 .../node_modules/async/internal/consoleFunc.js  |    42 +
 .../node_modules/async/internal/createTester.js |    44 +
 .../node_modules/async/internal/doLimit.js      |    12 +
 .../node_modules/async/internal/doParallel.js   |    23 +
 .../async/internal/doParallelLimit.js           |    23 +
 .../node_modules/async/internal/eachOfLimit.js  |    71 +
 .../node_modules/async/internal/filter.js       |    75 +
 .../async/internal/findGetResult.js             |    10 +
 .../node_modules/async/internal/getIterator.js  |    13 +
 .../async/internal/initialParams.js             |    21 +
 .../node_modules/async/internal/iterator.js     |    58 +
 .../archiver/node_modules/async/internal/map.js |    35 +
 .../node_modules/async/internal/notId.js        |    10 +
 .../node_modules/async/internal/once.js         |    15 +
 .../node_modules/async/internal/onlyOnce.js     |    15 +
 .../node_modules/async/internal/parallel.js     |    42 +
 .../node_modules/async/internal/queue.js        |   204 +
 .../node_modules/async/internal/reject.js       |    21 +
 .../node_modules/async/internal/setImmediate.js |    42 +
 .../node_modules/async/internal/slice.js        |    16 +
 .../node_modules/async/internal/withoutIndex.js |    12 +
 .../node_modules/async/internal/wrapAsync.js    |    25 +
 node_modules/archiver/node_modules/async/log.js |    41 +
 node_modules/archiver/node_modules/async/map.js |    54 +
 .../archiver/node_modules/async/mapLimit.js     |    37 +
 .../archiver/node_modules/async/mapSeries.js    |    36 +
 .../archiver/node_modules/async/mapValues.js    |    63 +
 .../node_modules/async/mapValuesLimit.js        |    61 +
 .../node_modules/async/mapValuesSeries.js       |    37 +
 .../archiver/node_modules/async/memoize.js      |   101 +
 .../archiver/node_modules/async/nextTick.js     |    51 +
 .../archiver/node_modules/async/package.json    |   114 +
 .../archiver/node_modules/async/parallel.js     |    90 +
 .../node_modules/async/parallelLimit.js         |    40 +
 .../node_modules/async/priorityQueue.js         |    98 +
 .../archiver/node_modules/async/queue.js        |   130 +
 .../archiver/node_modules/async/race.js         |    70 +
 .../archiver/node_modules/async/reduce.js       |    78 +
 .../archiver/node_modules/async/reduceRight.js  |    44 +
 .../archiver/node_modules/async/reflect.js      |    81 +
 .../archiver/node_modules/async/reflectAll.js   |   105 +
 .../archiver/node_modules/async/reject.js       |    45 +
 .../archiver/node_modules/async/rejectLimit.js  |    37 +
 .../archiver/node_modules/async/rejectSeries.js |    35 +
 .../archiver/node_modules/async/retry.js        |   156 +
 .../archiver/node_modules/async/retryable.js    |    65 +
 .../archiver/node_modules/async/select.js       |    45 +
 .../archiver/node_modules/async/selectLimit.js  |    37 +
 .../archiver/node_modules/async/selectSeries.js |    35 +
 node_modules/archiver/node_modules/async/seq.js |    91 +
 .../archiver/node_modules/async/series.js       |    85 +
 .../archiver/node_modules/async/setImmediate.js |    45 +
 .../archiver/node_modules/async/some.js         |    52 +
 .../archiver/node_modules/async/someLimit.js    |    43 +
 .../archiver/node_modules/async/someSeries.js   |    38 +
 .../archiver/node_modules/async/sortBy.js       |    91 +
 .../archiver/node_modules/async/timeout.js      |    89 +
 .../archiver/node_modules/async/times.js        |    50 +
 .../archiver/node_modules/async/timesLimit.js   |    42 +
 .../archiver/node_modules/async/timesSeries.js  |    32 +
 .../archiver/node_modules/async/transform.js    |    87 +
 .../archiver/node_modules/async/tryEach.js      |    81 +
 .../archiver/node_modules/async/unmemoize.js    |    25 +
 .../archiver/node_modules/async/until.js        |    41 +
 .../archiver/node_modules/async/waterfall.js    |   113 +
 .../archiver/node_modules/async/whilst.js       |    72 +
 .../archiver/node_modules/async/wrapSync.js     |   110 +
 node_modules/archiver/package.json              |    94 +
 node_modules/are-we-there-yet/CHANGES.md        |    31 +
 node_modules/are-we-there-yet/LICENSE           |     5 +
 node_modules/are-we-there-yet/README.md         |   195 +
 node_modules/are-we-there-yet/index.js          |     4 +
 node_modules/are-we-there-yet/package.json      |    67 +
 node_modules/are-we-there-yet/tracker-base.js   |    11 +
 node_modules/are-we-there-yet/tracker-group.js  |   107 +
 node_modules/are-we-there-yet/tracker-stream.js |    35 +
 node_modules/are-we-there-yet/tracker.js        |    30 +
 node_modules/argparse/CHANGELOG.md              |   185 +
 node_modules/argparse/LICENSE                   |    21 +
 node_modules/argparse/README.md                 |   257 +
 node_modules/argparse/index.js                  |     3 +
 node_modules/argparse/lib/action.js             |   146 +
 node_modules/argparse/lib/action/append.js      |    53 +
 .../argparse/lib/action/append/constant.js      |    47 +
 node_modules/argparse/lib/action/count.js       |    40 +
 node_modules/argparse/lib/action/help.js        |    47 +
 node_modules/argparse/lib/action/store.js       |    50 +
 .../argparse/lib/action/store/constant.js       |    43 +
 node_modules/argparse/lib/action/store/false.js |    27 +
 node_modules/argparse/lib/action/store/true.js  |    26 +
 node_modules/argparse/lib/action/subparsers.js  |   149 +
 node_modules/argparse/lib/action/version.js     |    47 +
 node_modules/argparse/lib/action_container.js   |   482 +
 node_modules/argparse/lib/argparse.js           |    14 +
 node_modules/argparse/lib/argument/error.js     |    50 +
 node_modules/argparse/lib/argument/exclusive.js |    54 +
 node_modules/argparse/lib/argument/group.js     |    75 +
 node_modules/argparse/lib/argument_parser.js    |  1161 +
 node_modules/argparse/lib/const.js              |    21 +
 .../argparse/lib/help/added_formatters.js       |    87 +
 node_modules/argparse/lib/help/formatter.js     |   795 +
 node_modules/argparse/lib/namespace.js          |    76 +
 node_modules/argparse/lib/utils.js              |    57 +
 node_modules/argparse/package.json              |    74 +
 node_modules/arr-diff/LICENSE                   |    21 +
 node_modules/arr-diff/README.md                 |    74 +
 node_modules/arr-diff/index.js                  |    58 +
 node_modules/arr-diff/package.json              |    84 +
 node_modules/arr-flatten/LICENSE                |    21 +
 node_modules/arr-flatten/README.md              |    86 +
 node_modules/arr-flatten/index.js               |    22 +
 node_modules/arr-flatten/package.json           |   117 +
 node_modules/array-differ/index.js              |     7 +
 node_modules/array-differ/package.json          |    68 +
 node_modules/array-differ/readme.md             |    41 +
 node_modules/array-find-index/index.js          |    25 +
 node_modules/array-find-index/license           |    21 +
 node_modules/array-find-index/package.json      |    71 +
 node_modules/array-find-index/readme.md         |    30 +
 node_modules/array-slice/LICENSE                |    21 +
 node_modules/array-slice/README.md              |    54 +
 node_modules/array-slice/index.js               |    36 +
 node_modules/array-slice/package.json           |    72 +
 node_modules/array-union/index.js               |     6 +
 node_modules/array-union/license                |    21 +
 node_modules/array-union/package.json           |    77 +
 node_modules/array-union/readme.md              |    28 +
 node_modules/array-uniq/index.js                |    62 +
 node_modules/array-uniq/license                 |    21 +
 node_modules/array-uniq/package.json            |    73 +
 node_modules/array-uniq/readme.md               |    30 +
 node_modules/array-unique/LICENSE               |    21 +
 node_modules/array-unique/README.md             |    51 +
 node_modules/array-unique/index.js              |    28 +
 node_modules/array-unique/package.json          |    67 +
 node_modules/arraybuffer.slice/.npmignore       |    17 +
 node_modules/arraybuffer.slice/LICENCE          |    18 +
 node_modules/arraybuffer.slice/Makefile         |     8 +
 node_modules/arraybuffer.slice/README.md        |    17 +
 node_modules/arraybuffer.slice/index.js         |    29 +
 node_modules/arraybuffer.slice/package.json     |    48 +
 node_modules/arrify/index.js                    |     8 +
 node_modules/arrify/license                     |    21 +
 node_modules/arrify/package.json                |    71 +
 node_modules/arrify/readme.md                   |    36 +
 node_modules/asn1/.npmignore                    |     2 +
 node_modules/asn1/.travis.yml                   |     4 +
 node_modules/asn1/LICENSE                       |    19 +
 node_modules/asn1/README.md                     |    50 +
 node_modules/asn1/lib/ber/errors.js             |    13 +
 node_modules/asn1/lib/ber/index.js              |    27 +
 node_modules/asn1/lib/ber/reader.js             |   261 +
 node_modules/asn1/lib/ber/types.js              |    36 +
 node_modules/asn1/lib/ber/writer.js             |   316 +
 node_modules/asn1/lib/index.js                  |    20 +
 node_modules/asn1/package.json                  |    69 +
 node_modules/asn1/tst/ber/reader.test.js        |   208 +
 node_modules/asn1/tst/ber/writer.test.js        |   370 +
 node_modules/assert-plus/AUTHORS                |     6 +
 node_modules/assert-plus/CHANGES.md             |    14 +
 node_modules/assert-plus/README.md              |   162 +
 node_modules/assert-plus/assert.js              |   211 +
 node_modules/assert-plus/package.json           |    91 +
 node_modules/ast-types/.travis.yml              |    10 +
 node_modules/ast-types/LICENSE                  |    20 +
 node_modules/ast-types/README.md                |   486 +
 node_modules/ast-types/def/babel-core.js        |   298 +
 node_modules/ast-types/def/babel.js             |     4 +
 node_modules/ast-types/def/core.js              |   372 +
 node_modules/ast-types/def/e4x.js               |    86 +
 node_modules/ast-types/def/es6.js               |   255 +
 node_modules/ast-types/def/es7.js               |    42 +
 node_modules/ast-types/def/esprima.js           |    72 +
 node_modules/ast-types/def/flow.js              |   379 +
 node_modules/ast-types/def/jsx.js               |   131 +
 node_modules/ast-types/def/mozilla.js           |    42 +
 node_modules/ast-types/def/typescript.js        |   445 +
 node_modules/ast-types/fork.js                  |    46 +
 node_modules/ast-types/lib/equiv.js             |   186 +
 node_modules/ast-types/lib/node-path.js         |   476 +
 node_modules/ast-types/lib/path-visitor.js      |   422 +
 node_modules/ast-types/lib/path.js              |   369 +
 node_modules/ast-types/lib/scope.js             |   355 +
 node_modules/ast-types/lib/shared.js            |    46 +
 node_modules/ast-types/lib/types.js             |   873 +
 node_modules/ast-types/main.js                  |    17 +
 node_modules/ast-types/package.json             |    83 +
 node_modules/async-each/.npmignore              |     3 +
 node_modules/async-each/CHANGELOG.md            |    23 +
 node_modules/async-each/README.md               |    38 +
 node_modules/async-each/index.js                |    38 +
 node_modules/async-each/package.json            |    64 +
 node_modules/async-foreach/LICENSE-MIT          |    22 +
 node_modules/async-foreach/README.md            |   195 +
 node_modules/async-foreach/dist/ba-foreach.js   |    58 +
 .../async-foreach/dist/ba-foreach.min.js        |     4 +
 node_modules/async-foreach/grunt.js             |    48 +
 node_modules/async-foreach/lib/foreach.js       |    63 +
 node_modules/async-foreach/package.json         |    59 +
 node_modules/async-limiter/.travis.yml          |     7 +
 node_modules/async-limiter/LICENSE              |     8 +
 .../async-limiter/coverage/coverage.json        |     1 +
 .../lcov-report/async-throttle/index.html       |    73 +
 .../lcov-report/async-throttle/index.js.html    |   246 +
 .../async-limiter/coverage/lcov-report/base.css |   182 +
 .../coverage/lcov-report/index.html             |    73 +
 .../coverage/lcov-report/prettify.css           |     1 +
 .../coverage/lcov-report/prettify.js            |     1 +
 .../coverage/lcov-report/sort-arrow-sprite.png  |   Bin 0 -> 209 bytes
 .../coverage/lcov-report/sorter.js              |   156 +
 node_modules/async-limiter/coverage/lcov.info   |    74 +
 node_modules/async-limiter/index.js             |    67 +
 node_modules/async-limiter/package.json         |    73 +
 node_modules/async-limiter/readme.md            |   132 +
 node_modules/async/CHANGELOG.md                 |   125 +
 node_modules/async/LICENSE                      |    19 +
 node_modules/async/README.md                    |  1877 +
 node_modules/async/dist/async.js                |  1265 +
 node_modules/async/dist/async.min.js            |     2 +
 node_modules/async/lib/async.js                 |  1265 +
 node_modules/async/package.json                 |   120 +
 node_modules/asynckit/LICENSE                   |    21 +
 node_modules/asynckit/README.md                 |   233 +
 node_modules/asynckit/bench.js                  |    76 +
 node_modules/asynckit/index.js                  |     6 +
 node_modules/asynckit/lib/abort.js              |    29 +
 node_modules/asynckit/lib/async.js              |    34 +
 node_modules/asynckit/lib/defer.js              |    26 +
 node_modules/asynckit/lib/iterate.js            |    75 +
 node_modules/asynckit/lib/readable_asynckit.js  |    91 +
 node_modules/asynckit/lib/readable_parallel.js  |    25 +
 node_modules/asynckit/lib/readable_serial.js    |    25 +
 .../asynckit/lib/readable_serial_ordered.js     |    29 +
 node_modules/asynckit/lib/state.js              |    37 +
 node_modules/asynckit/lib/streamify.js          |   141 +
 node_modules/asynckit/lib/terminator.js         |    29 +
 node_modules/asynckit/package.json              |    98 +
 node_modules/asynckit/parallel.js               |    43 +
 node_modules/asynckit/serial.js                 |    17 +
 node_modules/asynckit/serialOrdered.js          |    75 +
 node_modules/asynckit/stream.js                 |    21 +
 node_modules/aws-sign2/LICENSE                  |    55 +
 node_modules/aws-sign2/README.md                |     4 +
 node_modules/aws-sign2/index.js                 |   212 +
 node_modules/aws-sign2/package.json             |    54 +
 node_modules/aws4/.travis.yml                   |     5 +
 node_modules/aws4/LICENSE                       |    19 +
 node_modules/aws4/README.md                     |   523 +
 node_modules/aws4/aws4.js                       |   332 +
 node_modules/aws4/lru.js                        |    96 +
 node_modules/aws4/package.json                  |   110 +
 node_modules/axios/CHANGELOG.md                 |   200 +
 node_modules/axios/LICENSE                      |    19 +
 node_modules/axios/README.md                    |   582 +
 node_modules/axios/UPGRADE_GUIDE.md             |   156 +
 node_modules/axios/dist/axios.js                |  1545 +
 node_modules/axios/dist/axios.map               |     1 +
 node_modules/axios/dist/axios.min.js            |     3 +
 node_modules/axios/dist/axios.min.map           |     1 +
 node_modules/axios/index.d.ts                   |   131 +
 node_modules/axios/index.js                     |     1 +
 node_modules/axios/lib/adapters/README.md       |    37 +
 node_modules/axios/lib/adapters/http.js         |   226 +
 node_modules/axios/lib/adapters/xhr.js          |   177 +
 node_modules/axios/lib/axios.js                 |    52 +
 node_modules/axios/lib/cancel/Cancel.js         |    19 +
 node_modules/axios/lib/cancel/CancelToken.js    |    57 +
 node_modules/axios/lib/cancel/isCancel.js       |     5 +
 node_modules/axios/lib/core/Axios.js            |    85 +
 .../axios/lib/core/InterceptorManager.js        |    52 +
 node_modules/axios/lib/core/README.md           |     7 +
 node_modules/axios/lib/core/createError.js      |    17 +
 node_modules/axios/lib/core/dispatchRequest.js  |    79 +
 node_modules/axios/lib/core/enhanceError.js     |    19 +
 node_modules/axios/lib/core/settle.js           |    25 +
 node_modules/axios/lib/core/transformData.js    |    20 +
 node_modules/axios/lib/defaults.js              |    93 +
 node_modules/axios/lib/helpers/README.md        |     7 +
 node_modules/axios/lib/helpers/bind.js          |    11 +
 node_modules/axios/lib/helpers/btoa.js          |    36 +
 node_modules/axios/lib/helpers/buildURL.js      |    68 +
 node_modules/axios/lib/helpers/combineURLs.js   |    12 +
 node_modules/axios/lib/helpers/cookies.js       |    53 +
 .../axios/lib/helpers/deprecatedMethod.js       |    24 +
 node_modules/axios/lib/helpers/isAbsoluteURL.js |    14 +
 .../axios/lib/helpers/isURLSameOrigin.js        |    68 +
 .../axios/lib/helpers/normalizeHeaderName.js    |    12 +
 node_modules/axios/lib/helpers/parseHeaders.js  |    37 +
 node_modules/axios/lib/helpers/spread.js        |    27 +
 node_modules/axios/lib/utils.js                 |   299 +
 .../axios/node_modules/debug/.coveralls.yml     |     1 +
 node_modules/axios/node_modules/debug/.eslintrc |    11 +
 .../axios/node_modules/debug/.npmignore         |     9 +
 .../axios/node_modules/debug/.travis.yml        |    14 +
 .../axios/node_modules/debug/CHANGELOG.md       |   362 +
 node_modules/axios/node_modules/debug/LICENSE   |    19 +
 node_modules/axios/node_modules/debug/Makefile  |    50 +
 node_modules/axios/node_modules/debug/README.md |   312 +
 .../axios/node_modules/debug/component.json     |    19 +
 .../axios/node_modules/debug/karma.conf.js      |    70 +
 node_modules/axios/node_modules/debug/node.js   |     1 +
 .../axios/node_modules/debug/package.json       |    93 +
 .../node_modules/follow-redirects/README.md     |   135 +
 .../axios/node_modules/follow-redirects/http.js |     1 +
 .../node_modules/follow-redirects/https.js      |     1 +
 .../node_modules/follow-redirects/index.js      |   185 +
 .../node_modules/follow-redirects/package.json  |   102 +
 node_modules/axios/package.json                 |   112 +
 node_modules/axios/typings.json                 |     5 +
 node_modules/backo2/.npmignore                  |     1 +
 node_modules/backo2/History.md                  |    12 +
 node_modules/backo2/Makefile                    |     8 +
 node_modules/backo2/Readme.md                   |    34 +
 node_modules/backo2/component.json              |    11 +
 node_modules/backo2/index.js                    |    85 +
 node_modules/backo2/package.json                |    51 +
 node_modules/balanced-match/.npmignore          |     5 +
 node_modules/balanced-match/LICENSE.md          |    21 +
 node_modules/balanced-match/README.md           |    91 +
 node_modules/balanced-match/index.js            |    59 +
 node_modules/balanced-match/package.json        |    81 +
 node_modules/base64-arraybuffer/.npmignore      |     3 +
 node_modules/base64-arraybuffer/.travis.yml     |    19 +
 node_modules/base64-arraybuffer/LICENSE-MIT     |    22 +
 node_modules/base64-arraybuffer/README.md       |    20 +
 .../lib/base64-arraybuffer.js                   |    67 +
 node_modules/base64-arraybuffer/package.json    |    69 +
 node_modules/base64id/.npmignore                |     3 +
 node_modules/base64id/LICENSE                   |    22 +
 node_modules/base64id/README.md                 |    18 +
 node_modules/base64id/lib/base64id.js           |   103 +
 node_modules/base64id/package.json              |    51 +
 node_modules/bcrypt-pbkdf/README.md             |    39 +
 node_modules/bcrypt-pbkdf/index.js              |   556 +
 node_modules/bcrypt-pbkdf/package.json          |    41 +
 node_modules/better-assert/.npmignore           |     4 +
 node_modules/better-assert/History.md           |    15 +
 node_modules/better-assert/Makefile             |     5 +
 node_modules/better-assert/Readme.md            |    61 +
 node_modules/better-assert/example.js           |    10 +
 node_modules/better-assert/index.js             |    38 +
 node_modules/better-assert/package.json         |    69 +
 .../binary-extensions/binary-extensions.json    |   246 +
 node_modules/binary-extensions/license          |     9 +
 node_modules/binary-extensions/package.json     |    72 +
 node_modules/binary-extensions/readme.md        |    33 +
 node_modules/bitsyntax/.npmignore               |     3 +
 node_modules/bitsyntax/.travis.yml              |     7 +
 node_modules/bitsyntax/Makefile                 |    15 +
 node_modules/bitsyntax/README.md                |   306 +
 node_modules/bitsyntax/index.js                 |    10 +
 node_modules/bitsyntax/lib/compile.js           |   301 +
 node_modules/bitsyntax/lib/constructor.js       |   142 +
 node_modules/bitsyntax/lib/grammar.pegjs        |    67 +
 node_modules/bitsyntax/lib/interp.js            |   234 +
 node_modules/bitsyntax/lib/parse.js             |    32 +
 node_modules/bitsyntax/lib/parser.js            |  1173 +
 node_modules/bitsyntax/lib/pattern.js           |   116 +
 node_modules/bitsyntax/package.json             |    62 +
 node_modules/bl/.jshintrc                       |    59 +
 node_modules/bl/.travis.yml                     |    16 +
 node_modules/bl/LICENSE.md                      |    13 +
 node_modules/bl/README.md                       |   208 +
 node_modules/bl/bl.js                           |   281 +
 node_modules/bl/package.json                    |    67 +
 node_modules/blob/.npmignore                    |     2 +
 node_modules/blob/.zuul.yml                     |    14 +
 node_modules/blob/Makefile                      |    14 +
 node_modules/blob/README.md                     |    14 +
 node_modules/blob/index.js                      |    96 +
 node_modules/blob/package.json                  |    52 +
 node_modules/block-stream/LICENCE               |    25 +
 node_modules/block-stream/LICENSE               |    15 +
 node_modules/block-stream/README.md             |    14 +
 node_modules/block-stream/block-stream.js       |   209 +
 node_modules/block-stream/package.json          |    64 +
 node_modules/blocking-proxy/.clang-format       |     3 +
 node_modules/blocking-proxy/.nvmrc              |     1 +
 node_modules/blocking-proxy/LICENSE             |    21 +
 node_modules/blocking-proxy/README.md           |    90 +
 .../built/lib/angular_wait_barrier.d.ts         |    44 +
 .../built/lib/angular_wait_barrier.js           |   108 +
 .../built/lib/angular_wait_barrier.js.map       |     1 +
 node_modules/blocking-proxy/built/lib/bin.d.ts  |     0
 node_modules/blocking-proxy/built/lib/bin.js    |    28 +
 .../blocking-proxy/built/lib/bin.js.map         |     1 +
 .../blocking-proxy/built/lib/blockingproxy.d.ts |    41 +
 .../blocking-proxy/built/lib/blockingproxy.js   |   119 +
 .../built/lib/blockingproxy.js.map              |     1 +
 .../blocking-proxy/built/lib/client.d.ts        |    20 +
 node_modules/blocking-proxy/built/lib/client.js |    68 +
 .../blocking-proxy/built/lib/client.js.map      |     1 +
 .../built/lib/client_scripts/highlight.js       |    29 +
 .../built/lib/client_scripts/wait.js            |   180 +
 .../blocking-proxy/built/lib/config.d.ts        |    10 +
 node_modules/blocking-proxy/built/lib/config.js |    40 +
 .../blocking-proxy/built/lib/config.js.map      |     1 +
 .../built/lib/highlight_delay_barrier.d.ts      |    18 +
 .../built/lib/highlight_delay_barrier.js        |    67 +
 .../built/lib/highlight_delay_barrier.js.map    |     1 +
 .../blocking-proxy/built/lib/index.d.ts         |     2 +
 node_modules/blocking-proxy/built/lib/index.js  |     7 +
 .../blocking-proxy/built/lib/index.js.map       |     1 +
 .../built/lib/simple_webdriver_client.d.ts      |    39 +
 .../built/lib/simple_webdriver_client.js        |    96 +
 .../built/lib/simple_webdriver_client.js.map    |     1 +
 .../built/lib/webdriver_commands.d.ts           |    67 +
 .../built/lib/webdriver_commands.js             |   212 +
 .../built/lib/webdriver_commands.js.map         |     1 +
 .../built/lib/webdriver_logger.d.ts             |    35 +
 .../built/lib/webdriver_logger.js               |   152 +
 .../built/lib/webdriver_logger.js.map           |     1 +
 .../built/lib/webdriver_proxy.d.ts              |    24 +
 .../blocking-proxy/built/lib/webdriver_proxy.js |    81 +
 .../built/lib/webdriver_proxy.js.map            |     1 +
 node_modules/blocking-proxy/circle.yml          |    29 +
 node_modules/blocking-proxy/examples/README.md  |    22 +
 .../blocking-proxy/examples/e2e_test.py         |    31 +
 .../blocking-proxy/examples/run_example.sh      |    22 +
 node_modules/blocking-proxy/gulpfile.js         |    65 +
 node_modules/blocking-proxy/package.json        |   111 +
 node_modules/blocking-proxy/tsconfig.json       |    24 +
 node_modules/blocking-proxy/tslint.json         |    15 +
 node_modules/bluebird/LICENSE                   |    21 +
 node_modules/bluebird/README.md                 |    52 +
 node_modules/bluebird/changelog.md              |     1 +
 .../bluebird/js/browser/bluebird.core.js        |  3781 ++
 .../bluebird/js/browser/bluebird.core.min.js    |    31 +
 node_modules/bluebird/js/browser/bluebird.js    |  5623 +++
 .../bluebird/js/browser/bluebird.min.js         |    31 +
 node_modules/bluebird/js/release/any.js         |    21 +
 node_modules/bluebird/js/release/assert.js      |    55 +
 node_modules/bluebird/js/release/async.js       |   161 +
 node_modules/bluebird/js/release/bind.js        |    67 +
 node_modules/bluebird/js/release/bluebird.js    |    11 +
 node_modules/bluebird/js/release/call_get.js    |   123 +
 node_modules/bluebird/js/release/cancel.js      |   129 +
 .../bluebird/js/release/catch_filter.js         |    42 +
 node_modules/bluebird/js/release/context.js     |    69 +
 .../bluebird/js/release/debuggability.js        |   919 +
 .../bluebird/js/release/direct_resolve.js       |    46 +
 node_modules/bluebird/js/release/each.js        |    30 +
 node_modules/bluebird/js/release/errors.js      |   116 +
 node_modules/bluebird/js/release/es5.js         |    80 +
 node_modules/bluebird/js/release/filter.js      |    12 +
 node_modules/bluebird/js/release/finally.js     |   146 +
 node_modules/bluebird/js/release/generators.js  |   223 +
 node_modules/bluebird/js/release/join.js        |   168 +
 node_modules/bluebird/js/release/map.js         |   168 +
 node_modules/bluebird/js/release/method.js      |    55 +
 node_modules/bluebird/js/release/nodeback.js    |    51 +
 node_modules/bluebird/js/release/nodeify.js     |    58 +
 node_modules/bluebird/js/release/promise.js     |   775 +
 .../bluebird/js/release/promise_array.js        |   185 +
 node_modules/bluebird/js/release/promisify.js   |   314 +
 node_modules/bluebird/js/release/props.js       |   118 +
 node_modules/bluebird/js/release/queue.js       |    73 +
 node_modules/bluebird/js/release/race.js        |    49 +
 node_modules/bluebird/js/release/reduce.js      |   172 +
 node_modules/bluebird/js/release/schedule.js    |    61 +
 node_modules/bluebird/js/release/settle.js      |    43 +
 node_modules/bluebird/js/release/some.js        |   148 +
 .../js/release/synchronous_inspection.js        |   103 +
 node_modules/bluebird/js/release/thenables.js   |    86 +
 node_modules/bluebird/js/release/timers.js      |    93 +
 node_modules/bluebird/js/release/using.js       |   226 +
 node_modules/bluebird/js/release/util.js        |   380 +
 node_modules/bluebird/package.json              |   106 +
 node_modules/body-parser/HISTORY.md             |   568 +
 node_modules/body-parser/LICENSE                |    23 +
 node_modules/body-parser/README.md              |   438 +
 node_modules/body-parser/index.js               |   157 +
 node_modules/body-parser/lib/read.js            |   181 +
 node_modules/body-parser/lib/types/json.js      |   232 +
 node_modules/body-parser/lib/types/raw.js       |   101 +
 node_modules/body-parser/lib/types/text.js      |   121 +
 .../body-parser/lib/types/urlencoded.js         |   284 +
 .../node_modules/debug/.coveralls.yml           |     1 +
 .../body-parser/node_modules/debug/.eslintrc    |    11 +
 .../body-parser/node_modules/debug/.npmignore   |     9 +
 .../body-parser/node_modules/debug/.travis.yml  |    14 +
 .../body-parser/node_modules/debug/CHANGELOG.md |   362 +
 .../body-parser/node_modules/debug/LICENSE      |    19 +
 .../body-parser/node_modules/debug/Makefile     |    50 +
 .../body-parser/node_modules/debug/README.md    |   312 +
 .../node_modules/debug/component.json           |    19 +
 .../node_modules/debug/karma.conf.js            |    70 +
 .../body-parser/node_modules/debug/node.js      |     1 +
 .../body-parser/node_modules/debug/package.json |    92 +
 .../node_modules/iconv-lite/.npmignore          |     6 +
 .../node_modules/iconv-lite/.travis.yml         |    23 +
 .../node_modules/iconv-lite/Changelog.md        |   134 +
 .../body-parser/node_modules/iconv-lite/LICENSE |    21 +
 .../node_modules/iconv-lite/README.md           |   160 +
 .../iconv-lite/encodings/dbcs-codec.js          |   555 +
 .../iconv-lite/encodings/dbcs-data.js           |   176 +
 .../node_modules/iconv-lite/encodings/index.js  |    22 +
 .../iconv-lite/encodings/internal.js            |   188 +
 .../iconv-lite/encodings/sbcs-codec.js          |    73 +
 .../iconv-lite/encodings/sbcs-data-generated.js |   451 +
 .../iconv-lite/encodings/sbcs-data.js           |   169 +
 .../iconv-lite/encodings/tables/big5-added.json |   122 +
 .../iconv-lite/encodings/tables/cp936.json      |   264 +
 .../iconv-lite/encodings/tables/cp949.json      |   273 +
 .../iconv-lite/encodings/tables/cp950.json      |   177 +
 .../iconv-lite/encodings/tables/eucjp.json      |   182 +
 .../encodings/tables/gb18030-ranges.json        |     1 +
 .../iconv-lite/encodings/tables/gbk-added.json  |    55 +
 .../iconv-lite/encodings/tables/shiftjis.json   |   125 +
 .../node_modules/iconv-lite/encodings/utf16.js  |   177 +
 .../node_modules/iconv-lite/encodings/utf7.js   |   290 +
 .../node_modules/iconv-lite/lib/bom-handling.js |    52 +
 .../node_modules/iconv-lite/lib/extend-node.js  |   215 +
 .../node_modules/iconv-lite/lib/index.d.ts      |    24 +
 .../node_modules/iconv-lite/lib/index.js        |   148 +
 .../node_modules/iconv-lite/lib/streams.js      |   121 +
 .../node_modules/iconv-lite/package.json        |   127 +
 node_modules/body-parser/package.json           |    97 +
 node_modules/boom/LICENSE                       |    29 +
 node_modules/boom/README.md                     |   760 +
 node_modules/boom/lib/index.js                  |   433 +
 node_modules/boom/node_modules/hoek/.npmignore  |     3 +
 node_modules/boom/node_modules/hoek/LICENSE     |    32 +
 node_modules/boom/node_modules/hoek/README.md   |    30 +
 .../boom/node_modules/hoek/lib/escape.js        |   168 +
 .../boom/node_modules/hoek/lib/index.js         |   961 +
 .../boom/node_modules/hoek/package.json         |    59 +
 node_modules/boom/package.json                  |    65 +
 node_modules/brace-expansion/LICENSE            |    21 +
 node_modules/brace-expansion/README.md          |   129 +
 node_modules/brace-expansion/index.js           |   201 +
 node_modules/brace-expansion/package.json       |    79 +
 node_modules/braces/LICENSE                     |    21 +
 node_modules/braces/README.md                   |   248 +
 node_modules/braces/index.js                    |   399 +
 node_modules/braces/package.json                |   118 +
 node_modules/buffer-alloc-unsafe/.npmignore     |     2 +
 node_modules/buffer-alloc-unsafe/index.js       |    17 +
 node_modules/buffer-alloc-unsafe/package.json   |    57 +
 node_modules/buffer-alloc-unsafe/readme.md      |    46 +
 node_modules/buffer-alloc-unsafe/test.js        |    14 +
 node_modules/buffer-alloc/.npmignore            |     2 +
 node_modules/buffer-alloc/index.js              |    32 +
 node_modules/buffer-alloc/package.json          |    60 +
 node_modules/buffer-alloc/readme.md             |    43 +
 node_modules/buffer-alloc/test.js               |    23 +
 node_modules/buffer-crc32/LICENSE               |    19 +
 node_modules/buffer-crc32/README.md             |    47 +
 node_modules/buffer-crc32/index.js              |   111 +
 node_modules/buffer-crc32/package.json          |    74 +
 node_modules/buffer-fill/index.js               |   113 +
 node_modules/buffer-fill/package.json           |    50 +
 node_modules/buffer-fill/readme.md              |    54 +
 node_modules/buffer-fill/test.js                |   175 +
 node_modules/buffer-more-ints/.npmignore        |     2 +
 node_modules/buffer-more-ints/LICENSE           |    19 +
 node_modules/buffer-more-ints/README.md         |    68 +
 .../buffer-more-ints/buffer-more-ints-tests.js  |   207 +
 .../buffer-more-ints/buffer-more-ints.js        |   472 +
 node_modules/buffer-more-ints/package.json      |    54 +
 node_modules/buffer-more-ints/polyfill.js       |    71 +
 .../builtin-modules/builtin-modules.json        |    35 +
 node_modules/builtin-modules/index.js           |    10 +
 node_modules/builtin-modules/license            |    21 +
 node_modules/builtin-modules/package.json       |    76 +
 node_modules/builtin-modules/readme.md          |    41 +
 node_modules/builtin-modules/static.js          |     2 +
 node_modules/bytes/History.md                   |    82 +
 node_modules/bytes/LICENSE                      |    23 +
 node_modules/bytes/Readme.md                    |   125 +
 node_modules/bytes/index.js                     |   159 +
 node_modules/bytes/package.json                 |    86 +
 node_modules/callsite/.npmignore                |     4 +
 node_modules/callsite/History.md                |    10 +
 node_modules/callsite/Makefile                  |     6 +
 node_modules/callsite/Readme.md                 |    44 +
 node_modules/callsite/index.js                  |    10 +
 node_modules/callsite/package.json              |    52 +
 node_modules/camelcase-keys/index.js            |    12 +
 node_modules/camelcase-keys/license             |    21 +
 node_modules/camelcase-keys/package.json        |    88 +
 node_modules/camelcase-keys/readme.md           |    54 +
 node_modules/camelcase/index.js                 |    56 +
 node_modules/camelcase/license                  |    21 +
 node_modules/camelcase/package.json             |    75 +
 node_modules/camelcase/readme.md                |    57 +
 node_modules/caseless/LICENSE                   |    28 +
 node_modules/caseless/README.md                 |    45 +
 node_modules/caseless/index.js                  |    67 +
 node_modules/caseless/package.json              |    60 +
 node_modules/caseless/test.js                   |    67 +
 node_modules/center-align/LICENSE               |    21 +
 node_modules/center-align/README.md             |    74 +
 node_modules/center-align/index.js              |    16 +
 node_modules/center-align/package.json          |    87 +
 node_modules/center-align/utils.js              |    40 +
 node_modules/chalk/index.js                     |   116 +
 node_modules/chalk/license                      |    21 +
 node_modules/chalk/package.json                 |   124 +
 node_modules/chalk/readme.md                    |   213 +
 node_modules/chokidar/CHANGELOG.md              |   274 +
 node_modules/chokidar/README.md                 |   293 +
 node_modules/chokidar/index.js                  |   716 +
 node_modules/chokidar/lib/fsevents-handler.js   |   397 +
 node_modules/chokidar/lib/nodefs-handler.js     |   481 +
 node_modules/chokidar/package.json              |    88 +
 node_modules/chownr/LICENSE                     |    15 +
 node_modules/chownr/README.md                   |     3 +
 node_modules/chownr/chownr.js                   |    52 +
 node_modules/chownr/package.json                |    61 +
 node_modules/circular-json/LICENSE.txt          |    19 +
 node_modules/circular-json/README.md            |   136 +
 .../circular-json/build/circular-json.js        |     2 +
 .../circular-json/build/circular-json.max.js    |   210 +
 .../circular-json/build/circular-json.node.js   |   207 +
 node_modules/circular-json/package.json         |    69 +
 .../circular-json/template/license.after        |     2 +
 .../circular-json/template/license.before       |     1 +
 node_modules/cliui/CHANGELOG.md                 |    15 +
 node_modules/cliui/LICENSE.txt                  |    14 +
 node_modules/cliui/README.md                    |   110 +
 node_modules/cliui/index.js                     |   316 +
 node_modules/cliui/package.json                 |   100 +
 node_modules/co/History.md                      |   172 +
 node_modules/co/LICENSE                         |    22 +
 node_modules/co/Readme.md                       |   212 +
 node_modules/co/index.js                        |   237 +
 node_modules/co/package.json                    |    70 +
 node_modules/code-point-at/index.js             |    32 +
 node_modules/code-point-at/license              |    21 +
 node_modules/code-point-at/package.json         |    74 +
 node_modules/code-point-at/readme.md            |    32 +
 node_modules/coffeescript/.npmignore            |    11 +
 node_modules/coffeescript/CNAME                 |     1 +
 node_modules/coffeescript/CONTRIBUTING.md       |     9 +
 node_modules/coffeescript/LICENSE               |    22 +
 node_modules/coffeescript/README.md             |    62 +
 node_modules/coffeescript/bin/cake              |     7 +
 node_modules/coffeescript/bin/coffee            |     7 +
 node_modules/coffeescript/bower.json            |    27 +
 .../coffeescript/lib/coffee-script/browser.js   |   135 +
 .../coffeescript/lib/coffee-script/cake.js      |   114 +
 .../lib/coffee-script/coffee-script.js          |   376 +
 .../coffeescript/lib/coffee-script/command.js   |   610 +
 .../coffeescript/lib/coffee-script/grammar.js   |   665 +
 .../coffeescript/lib/coffee-script/helpers.js   |   248 +
 .../coffeescript/lib/coffee-script/index.js     |    11 +
 .../coffeescript/lib/coffee-script/lexer.js     |  1011 +
 .../coffeescript/lib/coffee-script/nodes.js     |  3307 ++
 .../coffeescript/lib/coffee-script/optparse.js  |   139 +
 .../coffeescript/lib/coffee-script/parser.js    |   735 +
 .../coffeescript/lib/coffee-script/register.js  |    66 +
 .../coffeescript/lib/coffee-script/repl.js      |   202 +
 .../coffeescript/lib/coffee-script/rewriter.js  |   504 +
 .../coffeescript/lib/coffee-script/scope.js     |   155 +
 .../coffeescript/lib/coffee-script/sourcemap.js |   161 +
 node_modules/coffeescript/package.json          |    75 +
 node_modules/coffeescript/register.js           |     1 +
 node_modules/coffeescript/repl.js               |     1 +
 node_modules/colors/LICENSE                     |    23 +
 node_modules/colors/ReadMe.md                   |   178 +
 node_modules/colors/examples/normal-usage.js    |    74 +
 node_modules/colors/examples/safe-string.js     |    76 +
 node_modules/colors/lib/colors.js               |   187 +
 node_modules/colors/lib/custom/trap.js          |    45 +
 node_modules/colors/lib/custom/zalgo.js         |   104 +
 .../colors/lib/extendStringPrototype.js         |   113 +
 node_modules/colors/lib/index.js                |    12 +
 node_modules/colors/lib/maps/america.js         |    12 +
 node_modules/colors/lib/maps/rainbow.js         |    13 +
 node_modules/colors/lib/maps/random.js          |     8 +
 node_modules/colors/lib/maps/zebra.js           |     5 +
 node_modules/colors/lib/styles.js               |    77 +
 .../colors/lib/system/supports-colors.js        |    61 +
 node_modules/colors/package.json                |    67 +
 node_modules/colors/safe.js                     |     9 +
 node_modules/colors/themes/generic-logging.js   |    12 +
 node_modules/combine-lists/.npmignore           |     2 +
 node_modules/combine-lists/LICENSE              |    21 +
 node_modules/combine-lists/README.md            |    45 +
 node_modules/combine-lists/index.js             |    90 +
 node_modules/combine-lists/package.json         |    66 +
 node_modules/combined-stream/License            |    19 +
 node_modules/combined-stream/Readme.md          |   138 +
 .../combined-stream/lib/combined_stream.js      |   189 +
 node_modules/combined-stream/lib/defer.js       |    26 +
 node_modules/combined-stream/package.json       |    67 +
 node_modules/commander/CHANGELOG.md             |   356 +
 node_modules/commander/LICENSE                  |    22 +
 node_modules/commander/Readme.md                |   408 +
 node_modules/commander/index.js                 |  1231 +
 node_modules/commander/package.json             |    74 +
 node_modules/commander/typings/index.d.ts       |   309 +
 node_modules/component-bind/.npmignore          |     4 +
 node_modules/component-bind/History.md          |    13 +
 node_modules/component-bind/Makefile            |     7 +
 node_modules/component-bind/Readme.md           |    64 +
 node_modules/component-bind/component.json      |    13 +
 node_modules/component-bind/index.js            |    23 +
 node_modules/component-bind/package.json        |    55 +
 node_modules/component-emitter/History.md       |    68 +
 node_modules/component-emitter/LICENSE          |    24 +
 node_modules/component-emitter/Readme.md        |    74 +
 node_modules/component-emitter/index.js         |   163 +
 node_modules/component-emitter/package.json     |    62 +
 node_modules/component-inherit/.npmignore       |     3 +
 node_modules/component-inherit/History.md       |     5 +
 node_modules/component-inherit/Makefile         |    16 +
 node_modules/component-inherit/Readme.md        |    24 +
 node_modules/component-inherit/component.json   |    10 +
 node_modules/component-inherit/index.js         |     7 +
 node_modules/component-inherit/package.json     |    52 +
 node_modules/compress-commons/LICENSE           |    22 +
 node_modules/compress-commons/README.md         |    25 +
 .../lib/archivers/archive-entry.js              |    16 +
 .../lib/archivers/archive-output-stream.js      |   117 +
 .../lib/archivers/zip/constants.js              |    71 +
 .../lib/archivers/zip/general-purpose-bit.js    |   101 +
 .../lib/archivers/zip/unix-stat.js              |    53 +
 .../compress-commons/lib/archivers/zip/util.js  |    74 +
 .../lib/archivers/zip/zip-archive-entry.js      |   406 +
 .../archivers/zip/zip-archive-output-stream.js  |   440 +
 .../compress-commons/lib/compress-commons.js    |    13 +
 node_modules/compress-commons/lib/util/index.js |    30 +
 node_modules/compress-commons/package.json      |    77 +
 node_modules/concat-map/.travis.yml             |     4 +
 node_modules/concat-map/LICENSE                 |    18 +
 node_modules/concat-map/README.markdown         |    62 +
 node_modules/concat-map/example/map.js          |     6 +
 node_modules/concat-map/index.js                |    13 +
 node_modules/concat-map/package.json            |    92 +
 node_modules/connect/HISTORY.md                 |  2491 ++
 node_modules/connect/LICENSE                    |    25 +
 node_modules/connect/README.md                  |   292 +
 node_modules/connect/SECURITY.md                |    43 +
 node_modules/connect/index.js                   |   283 +
 .../connect/node_modules/debug/.coveralls.yml   |     1 +
 .../connect/node_modules/debug/.eslintrc        |    11 +
 .../connect/node_modules/debug/.npmignore       |     9 +
 .../connect/node_modules/debug/.travis.yml      |    14 +
 .../connect/node_modules/debug/CHANGELOG.md     |   362 +
 node_modules/connect/node_modules/debug/LICENSE |    19 +
 .../connect/node_modules/debug/Makefile         |    50 +
 .../connect/node_modules/debug/README.md        |   312 +
 .../connect/node_modules/debug/component.json   |    19 +
 .../connect/node_modules/debug/karma.conf.js    |    70 +
 node_modules/connect/node_modules/debug/node.js |     1 +
 .../connect/node_modules/debug/package.json     |    92 +
 node_modules/connect/package.json               |    99 +
 node_modules/console-control-strings/LICENSE    |    13 +
 node_modules/console-control-strings/README.md  |   145 +
 node_modules/console-control-strings/index.js   |   125 +
 .../console-control-strings/package.json        |    65 +
 node_modules/content-type/HISTORY.md            |    24 +
 node_modules/content-type/LICENSE               |    22 +
 node_modules/content-type/README.md             |    92 +
 node_modules/content-type/index.js              |   222 +
 node_modules/content-type/package.json          |    79 +
 node_modules/cookie/HISTORY.md                  |   118 +
 node_modules/cookie/LICENSE                     |    24 +
 node_modules/cookie/README.md                   |   220 +
 node_modules/cookie/index.js                    |   195 +
 node_modules/cookie/package.json                |    75 +
 node_modules/core-js/CHANGELOG.md               |   659 +
 node_modules/core-js/LICENSE                    |    19 +
 node_modules/core-js/README.md                  |  2289 ++
 node_modules/core-js/bower.json                 |    49 +
 node_modules/core-js/build/Gruntfile.ls         |    86 +
 node_modules/core-js/build/build.ls             |    62 +
 node_modules/core-js/build/config.js            |   274 +
 node_modules/core-js/build/index.js             |   104 +
 node_modules/core-js/client/core.js             |  8629 ++++
 node_modules/core-js/client/core.min.js         |    10 +
 node_modules/core-js/client/core.min.js.map     |     1 +
 node_modules/core-js/client/library.js          |  8113 ++++
 node_modules/core-js/client/library.min.js      |    10 +
 node_modules/core-js/client/library.min.js.map  |     1 +
 node_modules/core-js/client/shim.js             |  8197 ++++
 node_modules/core-js/client/shim.min.js         |    10 +
 node_modules/core-js/client/shim.min.js.map     |     1 +
 node_modules/core-js/core/_.js                  |     2 +
 node_modules/core-js/core/delay.js              |     2 +
 node_modules/core-js/core/dict.js               |     2 +
 node_modules/core-js/core/function.js           |     2 +
 node_modules/core-js/core/index.js              |    15 +
 node_modules/core-js/core/number.js             |     2 +
 node_modules/core-js/core/object.js             |     5 +
 node_modules/core-js/core/regexp.js             |     2 +
 node_modules/core-js/core/string.js             |     3 +
 node_modules/core-js/es5/index.js               |    37 +
 node_modules/core-js/es6/array.js               |    23 +
 node_modules/core-js/es6/date.js                |     6 +
 node_modules/core-js/es6/function.js            |     4 +
 node_modules/core-js/es6/index.js               |   138 +
 node_modules/core-js/es6/map.js                 |     5 +
 node_modules/core-js/es6/math.js                |    18 +
 node_modules/core-js/es6/number.js              |    13 +
 node_modules/core-js/es6/object.js              |    20 +
 node_modules/core-js/es6/parse-float.js         |     2 +
 node_modules/core-js/es6/parse-int.js           |     2 +
 node_modules/core-js/es6/promise.js             |     5 +
 node_modules/core-js/es6/reflect.js             |    15 +
 node_modules/core-js/es6/regexp.js              |     8 +
 node_modules/core-js/es6/set.js                 |     5 +
 node_modules/core-js/es6/string.js              |    27 +
 node_modules/core-js/es6/symbol.js              |     3 +
 node_modules/core-js/es6/typed.js               |    13 +
 node_modules/core-js/es6/weak-map.js            |     4 +
 node_modules/core-js/es6/weak-set.js            |     4 +
 node_modules/core-js/es7/array.js               |     4 +
 node_modules/core-js/es7/asap.js                |     2 +
 node_modules/core-js/es7/error.js               |     2 +
 node_modules/core-js/es7/global.js              |     2 +
 node_modules/core-js/es7/index.js               |    56 +
 node_modules/core-js/es7/map.js                 |     4 +
 node_modules/core-js/es7/math.js                |    13 +
 node_modules/core-js/es7/object.js              |     8 +
 node_modules/core-js/es7/observable.js          |     7 +
 node_modules/core-js/es7/promise.js             |     3 +
 node_modules/core-js/es7/reflect.js             |    10 +
 node_modules/core-js/es7/set.js                 |     4 +
 node_modules/core-js/es7/string.js              |     7 +
 node_modules/core-js/es7/symbol.js              |     3 +
 node_modules/core-js/es7/system.js              |     2 +
 node_modules/core-js/es7/weak-map.js            |     3 +
 node_modules/core-js/es7/weak-set.js            |     3 +
 node_modules/core-js/fn/_.js                    |     2 +
 node_modules/core-js/fn/array/concat.js         |     4 +
 node_modules/core-js/fn/array/copy-within.js    |     2 +
 node_modules/core-js/fn/array/entries.js        |     2 +
 node_modules/core-js/fn/array/every.js          |     2 +
 node_modules/core-js/fn/array/fill.js           |     2 +
 node_modules/core-js/fn/array/filter.js         |     2 +
 node_modules/core-js/fn/array/find-index.js     |     2 +
 node_modules/core-js/fn/array/find.js           |     2 +
 node_modules/core-js/fn/array/flat-map.js       |     2 +
 node_modules/core-js/fn/array/flatten.js        |     2 +
 node_modules/core-js/fn/array/for-each.js       |     2 +
 node_modules/core-js/fn/array/from.js           |     3 +
 node_modules/core-js/fn/array/includes.js       |     2 +
 node_modules/core-js/fn/array/index-of.js       |     2 +
 node_modules/core-js/fn/array/index.js          |    26 +
 node_modules/core-js/fn/array/is-array.js       |     2 +
 node_modules/core-js/fn/array/iterator.js       |     2 +
 node_modules/core-js/fn/array/join.js           |     2 +
 node_modules/core-js/fn/array/keys.js           |     2 +
 node_modules/core-js/fn/array/last-index-of.js  |     2 +
 node_modules/core-js/fn/array/map.js            |     2 +
 node_modules/core-js/fn/array/of.js             |     2 +
 node_modules/core-js/fn/array/pop.js            |     4 +
 node_modules/core-js/fn/array/push.js           |     4 +
 node_modules/core-js/fn/array/reduce-right.js   |     2 +
 node_modules/core-js/fn/array/reduce.js         |     2 +
 node_modules/core-js/fn/array/reverse.js        |     4 +
 node_modules/core-js/fn/array/shift.js          |     4 +
 node_modules/core-js/fn/array/slice.js          |     2 +
 node_modules/core-js/fn/array/some.js           |     2 +
 node_modules/core-js/fn/array/sort.js           |     2 +
 node_modules/core-js/fn/array/splice.js         |     4 +
 node_modules/core-js/fn/array/unshift.js        |     4 +
 node_modules/core-js/fn/array/values.js         |     2 +
 .../core-js/fn/array/virtual/copy-within.js     |     2 +
 .../core-js/fn/array/virtual/entries.js         |     2 +
 node_modules/core-js/fn/array/virtual/every.js  |     2 +
 node_modules/core-js/fn/array/virtual/fill.js   |     2 +
 node_modules/core-js/fn/array/virtual/filter.js |     2 +
 .../core-js/fn/array/virtual/find-index.js      |     2 +
 node_modules/core-js/fn/array/virtual/find.js   |     2 +
 .../core-js/fn/array/virtual/flat-map.js        |     2 +
 .../core-js/fn/array/virtual/flatten.js         |     2 +
 .../core-js/fn/array/virtual/for-each.js        |     2 +
 .../core-js/fn/array/virtual/includes.js        |     2 +
 .../core-js/fn/array/virtual/index-of.js        |     2 +
 node_modules/core-js/fn/array/virtual/index.js  |    20 +
 .../core-js/fn/array/virtual/iterator.js        |     2 +
 node_modules/core-js/fn/array/virtual/join.js   |     2 +
 node_modules/core-js/fn/array/virtual/keys.js   |     2 +
 .../core-js/fn/array/virtual/last-index-of.js   |     2 +
 node_modules/core-js/fn/array/virtual/map.js    |     2 +
 .../core-js/fn/array/virtual/reduce-right.js    |     2 +
 node_modules/core-js/fn/array/virtual/reduce.js |     2 +
 node_modules/core-js/fn/array/virtual/slice.js  |     2 +
 node_modules/core-js/fn/array/virtual/some.js   |     2 +
 node_modules/core-js/fn/array/virtual/sort.js   |     2 +
 node_modules/core-js/fn/array/virtual/values.js |     2 +
 node_modules/core-js/fn/asap.js                 |     2 +
 node_modules/core-js/fn/clear-immediate.js      |     2 +
 node_modules/core-js/fn/date/index.js           |     6 +
 node_modules/core-js/fn/date/now.js             |     2 +
 node_modules/core-js/fn/date/to-iso-string.js   |     3 +
 node_modules/core-js/fn/date/to-json.js         |     2 +
 node_modules/core-js/fn/date/to-primitive.js    |     5 +
 node_modules/core-js/fn/date/to-string.js       |     5 +
 node_modules/core-js/fn/delay.js                |     2 +
 node_modules/core-js/fn/dict.js                 |     2 +
 .../core-js/fn/dom-collections/index.js         |     8 +
 .../core-js/fn/dom-collections/iterator.js      |     2 +
 node_modules/core-js/fn/error/index.js          |     2 +
 node_modules/core-js/fn/error/is-error.js       |     2 +
 node_modules/core-js/fn/function/bind.js        |     2 +
 .../core-js/fn/function/has-instance.js         |     2 +
 node_modules/core-js/fn/function/index.js       |     5 +
 node_modules/core-js/fn/function/name.js        |     1 +
 node_modules/core-js/fn/function/part.js        |     2 +
 .../core-js/fn/function/virtual/bind.js         |     2 +
 .../core-js/fn/function/virtual/index.js        |     3 +
 .../core-js/fn/function/virtual/part.js         |     2 +
 node_modules/core-js/fn/get-iterator-method.js  |     3 +
 node_modules/core-js/fn/get-iterator.js         |     3 +
 node_modules/core-js/fn/global.js               |     2 +
 node_modules/core-js/fn/is-iterable.js          |     3 +
 node_modules/core-js/fn/json/index.js           |     2 +
 node_modules/core-js/fn/json/stringify.js       |     5 +
 node_modules/core-js/fn/map.js                  |     8 +
 node_modules/core-js/fn/map/from.js             |     8 +
 node_modules/core-js/fn/map/index.js            |     8 +
 node_modules/core-js/fn/map/of.js               |     8 +
 node_modules/core-js/fn/math/acosh.js           |     2 +
 node_modules/core-js/fn/math/asinh.js           |     2 +
 node_modules/core-js/fn/math/atanh.js           |     2 +
 node_modules/core-js/fn/math/cbrt.js            |     2 +
 node_modules/core-js/fn/math/clamp.js           |     2 +
 node_modules/core-js/fn/math/clz32.js           |     2 +
 node_modules/core-js/fn/math/cosh.js            |     2 +
 node_modules/core-js/fn/math/deg-per-rad.js     |     2 +
 node_modules/core-js/fn/math/degrees.js         |     2 +
 node_modules/core-js/fn/math/expm1.js           |     2 +
 node_modules/core-js/fn/math/fround.js          |     2 +
 node_modules/core-js/fn/math/fscale.js          |     2 +
 node_modules/core-js/fn/math/hypot.js           |     2 +
 node_modules/core-js/fn/math/iaddh.js           |     2 +
 node_modules/core-js/fn/math/imul.js            |     2 +
 node_modules/core-js/fn/math/imulh.js           |     2 +
 node_modules/core-js/fn/math/index.js           |    30 +
 node_modules/core-js/fn/math/isubh.js           |     2 +
 node_modules/core-js/fn/math/log10.js           |     2 +
 node_modules/core-js/fn/math/log1p.js           |     2 +
 node_modules/core-js/fn/math/log2.js            |     2 +
 node_modules/core-js/fn/math/rad-per-deg.js     |     2 +
 node_modules/core-js/fn/math/radians.js         |     2 +
 node_modules/core-js/fn/math/scale.js           |     2 +
 node_modules/core-js/fn/math/sign.js            |     2 +
 node_modules/core-js/fn/math/signbit.js         |     3 +
 node_modules/core-js/fn/math/sinh.js            |     2 +
 node_modules/core-js/fn/math/tanh.js            |     2 +
 node_modules/core-js/fn/math/trunc.js           |     2 +
 node_modules/core-js/fn/math/umulh.js           |     2 +
 node_modules/core-js/fn/number/constructor.js   |     2 +
 node_modules/core-js/fn/number/epsilon.js       |     2 +
 node_modules/core-js/fn/number/index.js         |    14 +
 node_modules/core-js/fn/number/is-finite.js     |     2 +
 node_modules/core-js/fn/number/is-integer.js    |     2 +
 node_modules/core-js/fn/number/is-nan.js        |     2 +
 .../core-js/fn/number/is-safe-integer.js        |     2 +
 node_modules/core-js/fn/number/iterator.js      |     5 +
 .../core-js/fn/number/max-safe-integer.js       |     2 +
 .../core-js/fn/number/min-safe-integer.js       |     2 +
 node_modules/core-js/fn/number/parse-float.js   |     2 +
 node_modules/core-js/fn/number/parse-int.js     |     2 +
 node_modules/core-js/fn/number/to-fixed.js      |     2 +
 node_modules/core-js/fn/number/to-precision.js  |     2 +
 node_modules/core-js/fn/number/virtual/index.js |     4 +
 .../core-js/fn/number/virtual/iterator.js       |     2 +
 .../core-js/fn/number/virtual/to-fixed.js       |     2 +
 .../core-js/fn/number/virtual/to-precision.js   |     2 +
 node_modules/core-js/fn/object/assign.js        |     2 +
 node_modules/core-js/fn/object/classof.js       |     2 +
 node_modules/core-js/fn/object/create.js        |     5 +
 node_modules/core-js/fn/object/define-getter.js |     2 +
 .../core-js/fn/object/define-properties.js      |     5 +
 .../core-js/fn/object/define-property.js        |     5 +
 node_modules/core-js/fn/object/define-setter.js |     2 +
 node_modules/core-js/fn/object/define.js        |     2 +
 node_modules/core-js/fn/object/entries.js       |     2 +
 node_modules/core-js/fn/object/freeze.js        |     2 +
 .../fn/object/get-own-property-descriptor.js    |     5 +
 .../fn/object/get-own-property-descriptors.js   |     2 +
 .../core-js/fn/object/get-own-property-names.js |     5 +
 .../fn/object/get-own-property-symbols.js       |     2 +
 .../core-js/fn/object/get-prototype-of.js       |     2 +
 node_modules/core-js/fn/object/index.js         |    30 +
 node_modules/core-js/fn/object/is-extensible.js |     2 +
 node_modules/core-js/fn/object/is-frozen.js     |     2 +
 node_modules/core-js/fn/object/is-object.js     |     2 +
 node_modules/core-js/fn/object/is-sealed.js     |     2 +
 node_modules/core-js/fn/object/is.js            |     2 +
 node_modules/core-js/fn/object/keys.js          |     2 +
 node_modules/core-js/fn/object/lookup-getter.js |     2 +
 node_modules/core-js/fn/object/lookup-setter.js |     2 +
 node_modules/core-js/fn/object/make.js          |     2 +
 .../core-js/fn/object/prevent-extensions.js     |     2 +
 node_modules/core-js/fn/object/seal.js          |     2 +
 .../core-js/fn/object/set-prototype-of.js       |     2 +
 node_modules/core-js/fn/object/values.js        |     2 +
 node_modules/core-js/fn/observable.js           |     7 +
 node_modules/core-js/fn/parse-float.js          |     2 +
 node_modules/core-js/fn/parse-int.js            |     2 +
 node_modules/core-js/fn/promise.js              |     7 +
 node_modules/core-js/fn/promise/finally.js      |     4 +
 node_modules/core-js/fn/promise/index.js        |     7 +
 node_modules/core-js/fn/promise/try.js          |     8 +
 node_modules/core-js/fn/reflect/apply.js        |     2 +
 node_modules/core-js/fn/reflect/construct.js    |     2 +
 .../core-js/fn/reflect/define-metadata.js       |     2 +
 .../core-js/fn/reflect/define-property.js       |     2 +
 .../core-js/fn/reflect/delete-metadata.js       |     2 +
 .../core-js/fn/reflect/delete-property.js       |     2 +
 node_modules/core-js/fn/reflect/enumerate.js    |     2 +
 .../core-js/fn/reflect/get-metadata-keys.js     |     2 +
 node_modules/core-js/fn/reflect/get-metadata.js |     2 +
 .../core-js/fn/reflect/get-own-metadata-keys.js |     2 +
 .../core-js/fn/reflect/get-own-metadata.js      |     2 +
 .../fn/reflect/get-own-property-descriptor.js   |     2 +
 .../core-js/fn/reflect/get-prototype-of.js      |     2 +
 node_modules/core-js/fn/reflect/get.js          |     2 +
 node_modules/core-js/fn/reflect/has-metadata.js |     2 +
 .../core-js/fn/reflect/has-own-metadata.js      |     2 +
 node_modules/core-js/fn/reflect/has.js          |     2 +
 node_modules/core-js/fn/reflect/index.js        |    24 +
 .../core-js/fn/reflect/is-extensible.js         |     2 +
 node_modules/core-js/fn/reflect/metadata.js     |     2 +
 node_modules/core-js/fn/reflect/own-keys.js     |     2 +
 .../core-js/fn/reflect/prevent-extensions.js    |     2 +
 .../core-js/fn/reflect/set-prototype-of.js      |     2 +
 node_modules/core-js/fn/reflect/set.js          |     2 +
 node_modules/core-js/fn/regexp/constructor.js   |     2 +
 node_modules/core-js/fn/regexp/escape.js        |     2 +
 node_modules/core-js/fn/regexp/flags.js         |     5 +
 node_modules/core-js/fn/regexp/index.js         |     9 +
 node_modules/core-js/fn/regexp/match.js         |     5 +
 node_modules/core-js/fn/regexp/replace.js       |     5 +
 node_modules/core-js/fn/regexp/search.js        |     5 +
 node_modules/core-js/fn/regexp/split.js         |     5 +
 node_modules/core-js/fn/regexp/to-string.js     |     5 +
 node_modules/core-js/fn/set-immediate.js        |     2 +
 node_modules/core-js/fn/set-interval.js         |     2 +
 node_modules/core-js/fn/set-timeout.js          |     2 +
 node_modules/core-js/fn/set.js                  |     8 +
 node_modules/core-js/fn/set/from.js             |     8 +
 node_modules/core-js/fn/set/index.js            |     8 +
 node_modules/core-js/fn/set/of.js               |     8 +
 node_modules/core-js/fn/string/anchor.js        |     2 +
 node_modules/core-js/fn/string/at.js            |     2 +
 node_modules/core-js/fn/string/big.js           |     2 +
 node_modules/core-js/fn/string/blink.js         |     2 +
 node_modules/core-js/fn/string/bold.js          |     2 +
 node_modules/core-js/fn/string/code-point-at.js |     2 +
 node_modules/core-js/fn/string/ends-with.js     |     2 +
 node_modules/core-js/fn/string/escape-html.js   |     2 +
 node_modules/core-js/fn/string/fixed.js         |     2 +
 node_modules/core-js/fn/string/fontcolor.js     |     2 +
 node_modules/core-js/fn/string/fontsize.js      |     2 +
 .../core-js/fn/string/from-code-point.js        |     2 +
 node_modules/core-js/fn/string/includes.js      |     2 +
 node_modules/core-js/fn/string/index.js         |    35 +
 node_modules/core-js/fn/string/italics.js       |     2 +
 node_modules/core-js/fn/string/iterator.js      |     5 +
 node_modules/core-js/fn/string/link.js          |     2 +
 node_modules/core-js/fn/string/match-all.js     |     2 +
 node_modules/core-js/fn/string/pad-end.js       |     2 +
 node_modules/core-js/fn/string/pad-start.js     |     2 +
 node_modules/core-js/fn/string/raw.js           |     2 +
 node_modules/core-js/fn/string/repeat.js        |     2 +
 node_modules/core-js/fn/string/small.js         |     2 +
 node_modules/core-js/fn/string/starts-with.js   |     2 +
 node_modules/core-js/fn/string/strike.js        |     2 +
 node_modules/core-js/fn/string/sub.js           |     2 +
 node_modules/core-js/fn/string/sup.js           |     2 +
 node_modules/core-js/fn/string/trim-end.js      |     2 +
 node_modules/core-js/fn/string/trim-left.js     |     2 +
 node_modules/core-js/fn/string/trim-right.js    |     2 +
 node_modules/core-js/fn/string/trim-start.js    |     2 +
 node_modules/core-js/fn/string/trim.js          |     2 +
 node_modules/core-js/fn/string/unescape-html.js |     2 +
 .../core-js/fn/string/virtual/anchor.js         |     2 +
 node_modules/core-js/fn/string/virtual/at.js    |     2 +
 node_modules/core-js/fn/string/virtual/big.js   |     2 +
 node_modules/core-js/fn/string/virtual/blink.js |     2 +
 node_modules/core-js/fn/string/virtual/bold.js  |     2 +
 .../core-js/fn/string/virtual/code-point-at.js  |     2 +
 .../core-js/fn/string/virtual/ends-with.js      |     2 +
 .../core-js/fn/string/virtual/escape-html.js    |     2 +
 node_modules/core-js/fn/string/virtual/fixed.js |     2 +
 .../core-js/fn/string/virtual/fontcolor.js      |     2 +
 .../core-js/fn/string/virtual/fontsize.js       |     2 +
 .../core-js/fn/string/virtual/includes.js       |     2 +
 node_modules/core-js/fn/string/virtual/index.js |    33 +
 .../core-js/fn/string/virtual/italics.js        |     2 +
 .../core-js/fn/string/virtual/iterator.js       |     2 +
 node_modules/core-js/fn/string/virtual/link.js  |     2 +
 .../core-js/fn/string/virtual/match-all.js      |     2 +
 .../core-js/fn/string/virtual/pad-end.js        |     2 +
 .../core-js/fn/string/virtual/pad-start.js      |     2 +
 .../core-js/fn/string/virtual/repeat.js         |     2 +
 node_modules/core-js/fn/string/virtual/small.js |     2 +
 .../core-js/fn/string/virtual/starts-with.js    |     2 +
 .../core-js/fn/string/virtual/strike.js         |     2 +
 node_modules/core-js/fn/string/virtual/sub.js   |     2 +
 node_modules/core-js/fn/string/virtual/sup.js   |     2 +
 .../core-js/fn/string/virtual/trim-end.js       |     2 +
 .../core-js/fn/string/virtual/trim-left.js      |     2 +
 .../core-js/fn/string/virtual/trim-right.js     |     2 +
 .../core-js/fn/string/virtual/trim-start.js     |     2 +
 node_modules/core-js/fn/string/virtual/trim.js  |     2 +
 .../core-js/fn/string/virtual/unescape-html.js  |     2 +
 .../core-js/fn/symbol/async-iterator.js         |     2 +
 node_modules/core-js/fn/symbol/for.js           |     2 +
 node_modules/core-js/fn/symbol/has-instance.js  |     2 +
 node_modules/core-js/fn/symbol/index.js         |     5 +
 .../core-js/fn/symbol/is-concat-spreadable.js   |     1 +
 node_modules/core-js/fn/symbol/iterator.js      |     3 +
 node_modules/core-js/fn/symbol/key-for.js       |     2 +
 node_modules/core-js/fn/symbol/match.js         |     2 +
 node_modules/core-js/fn/symbol/observable.js    |     2 +
 node_modules/core-js/fn/symbol/replace.js       |     2 +
 node_modules/core-js/fn/symbol/search.js        |     2 +
 node_modules/core-js/fn/symbol/species.js       |     1 +
 node_modules/core-js/fn/symbol/split.js         |     2 +
 node_modules/core-js/fn/symbol/to-primitive.js  |     1 +
 node_modules/core-js/fn/symbol/to-string-tag.js |     2 +
 node_modules/core-js/fn/symbol/unscopables.js   |     1 +
 node_modules/core-js/fn/system/global.js        |     2 +
 node_modules/core-js/fn/system/index.js         |     2 +
 node_modules/core-js/fn/typed/array-buffer.js   |     3 +
 node_modules/core-js/fn/typed/data-view.js      |     3 +
 node_modules/core-js/fn/typed/float32-array.js  |     2 +
 node_modules/core-js/fn/typed/float64-array.js  |     2 +
 node_modules/core-js/fn/typed/index.js          |    13 +
 node_modules/core-js/fn/typed/int16-array.js    |     2 +
 node_modules/core-js/fn/typed/int32-array.js    |     2 +
 node_modules/core-js/fn/typed/int8-array.js     |     2 +
 node_modules/core-js/fn/typed/uint16-array.js   |     2 +
 node_modules/core-js/fn/typed/uint32-array.js   |     2 +
 node_modules/core-js/fn/typed/uint8-array.js    |     2 +
 .../core-js/fn/typed/uint8-clamped-array.js     |     2 +
 node_modules/core-js/fn/weak-map.js             |     6 +
 node_modules/core-js/fn/weak-map/from.js        |     8 +
 node_modules/core-js/fn/weak-map/index.js       |     6 +
 node_modules/core-js/fn/weak-map/of.js          |     8 +
 node_modules/core-js/fn/weak-set.js             |     6 +
 node_modules/core-js/fn/weak-set/from.js        |     8 +
 node_modules/core-js/fn/weak-set/index.js       |     6 +
 node_modules/core-js/fn/weak-set/of.js          |     8 +
 node_modules/core-js/index.js                   |    16 +
 node_modules/core-js/library/core/_.js          |     2 +
 node_modules/core-js/library/core/delay.js      |     2 +
 node_modules/core-js/library/core/dict.js       |     2 +
 node_modules/core-js/library/core/function.js   |     2 +
 node_modules/core-js/library/core/index.js      |    15 +
 node_modules/core-js/library/core/number.js     |     2 +
 node_modules/core-js/library/core/object.js     |     5 +
 node_modules/core-js/library/core/regexp.js     |     2 +
 node_modules/core-js/library/core/string.js     |     3 +
 node_modules/core-js/library/es5/index.js       |    37 +
 node_modules/core-js/library/es6/array.js       |    23 +
 node_modules/core-js/library/es6/date.js        |     6 +
 node_modules/core-js/library/es6/function.js    |     4 +
 node_modules/core-js/library/es6/index.js       |   138 +
 node_modules/core-js/library/es6/map.js         |     5 +
 node_modules/core-js/library/es6/math.js        |    18 +
 node_modules/core-js/library/es6/number.js      |    13 +
 node_modules/core-js/library/es6/object.js      |    20 +
 node_modules/core-js/library/es6/parse-float.js |     2 +
 node_modules/core-js/library/es6/parse-int.js   |     2 +
 node_modules/core-js/library/es6/promise.js     |     5 +
 node_modules/core-js/library/es6/reflect.js     |    15 +
 node_modules/core-js/library/es6/regexp.js      |     8 +
 node_modules/core-js/library/es6/set.js         |     5 +
 node_modules/core-js/library/es6/string.js      |    27 +
 node_modules/core-js/library/es6/symbol.js      |     3 +
 node_modules/core-js/library/es6/typed.js       |    13 +
 node_modules/core-js/library/es6/weak-map.js    |     4 +
 node_modules/core-js/library/es6/weak-set.js    |     4 +
 node_modules/core-js/library/es7/array.js       |     4 +
 node_modules/core-js/library/es7/asap.js        |     2 +
 node_modules/core-js/library/es7/error.js       |     2 +
 node_modules/core-js/library/es7/global.js      |     2 +
 node_modules/core-js/library/es7/index.js       |    56 +
 node_modules/core-js/library/es7/map.js         |     4 +
 node_modules/core-js/library/es7/math.js        |    13 +
 node_modules/core-js/library/es7/object.js      |     8 +
 node_modules/core-js/library/es7/observable.js  |     7 +
 node_modules/core-js/library/es7/promise.js     |     3 +
 node_modules/core-js/library/es7/reflect.js     |    10 +
 node_modules/core-js/library/es7/set.js         |     4 +
 node_modules/core-js/library/es7/string.js      |     7 +
 node_modules/core-js/library/es7/symbol.js      |     3 +
 node_modules/core-js/library/es7/system.js      |     2 +
 node_modules/core-js/library/es7/weak-map.js    |     3 +
 node_modules/core-js/library/es7/weak-set.js    |     3 +
 node_modules/core-js/library/fn/_.js            |     2 +
 node_modules/core-js/library/fn/array/concat.js |     4 +
 .../core-js/library/fn/array/copy-within.js     |     2 +
 .../core-js/library/fn/array/entries.js         |     2 +
 node_modules/core-js/library/fn/array/every.js  |     2 +
 node_modules/core-js/library/fn/array/fill.js   |     2 +
 node_modules/core-js/library/fn/array/filter.js |     2 +
 .../core-js/library/fn/array/find-index.js      |     2 +
 node_modules/core-js/library/fn/array/find.js   |     2 +
 .../core-js/library/fn/array/flat-map.js        |     2 +
 .../core-js/library/fn/array/flatten.js         |     2 +
 .../core-js/library/fn/array/for-each.js        |     2 +
 node_modules/core-js/library/fn/array/from.js   |     3 +
 .../core-js/library/fn/array/includes.js        |     2 +
 .../core-js/library/fn/array/index-of.js        |     2 +
 node_modules/core-js/library/fn/array/index.js  |    26 +
 .../core-js/library/fn/array/is-array.js        |     2 +
 .../core-js/library/fn/array/iterator.js        |     2 +
 node_modules/core-js/library/fn/array/join.js   |     2 +
 node_modules/core-js/library/fn/array/keys.js   |     2 +
 .../core-js/library/fn/array/last-index-of.js   |     2 +
 node_modules/core-js/library/fn/array/map.js    |     2 +
 node_modules/core-js/library/fn/array/of.js     |     2 +
 node_modules/core-js/library/fn/array/pop.js    |     4 +
 node_modules/core-js/library/fn/array/push.js   |     4 +
 .../core-js/library/fn/array/reduce-right.js    |     2 +
 node_modules/core-js/library/fn/array/reduce.js |     2 +
 .../core-js/library/fn/array/reverse.js         |     4 +
 node_modules/core-js/library/fn/array/shift.js  |     4 +
 node_modules/core-js/library/fn/array/slice.js  |     2 +
 node_modules/core-js/library/fn/array/some.js   |     2 +
 node_modules/core-js/library/fn/array/sort.js   |     2 +
 node_modules/core-js/library/fn/array/splice.js |     4 +
 .../core-js/library/fn/array/unshift.js         |     4 +
 node_modules/core-js/library/fn/array/values.js |     2 +
 .../library/fn/array/virtual/copy-within.js     |     2 +
 .../core-js/library/fn/array/virtual/entries.js |     2 +
 .../core-js/library/fn/array/virtual/every.js   |     2 +
 .../core-js/library/fn/array/virtual/fill.js    |     2 +
 .../core-js/library/fn/array/virtual/filter.js  |     2 +
 .../library/fn/array/virtual/find-index.js      |     2 +
 .../core-js/library/fn/array/virtual/find.js    |     2 +
 .../library/fn/array/virtual/flat-map.js        |     2 +
 .../core-js/library/fn/array/virtual/flatten.js |     2 +
 .../library/fn/array/virtual/for-each.js        |     2 +
 .../library/fn/array/virtual/includes.js        |     2 +
 .../library/fn/array/virtual/index-of.js        |     2 +
 .../core-js/library/fn/array/virtual/index.js   |    20 +
 .../library/fn/array/virtual/iterator.js        |     2 +
 .../core-js/library/fn/array/virtual/join.js    |     2 +
 .../core-js/library/fn/array/virtual/keys.js    |     2 +
 .../library/fn/array/virtual/last-index-of.js   |     2 +
 .../core-js/library/fn/array/virtual/map.js     |     2 +
 .../library/fn/array/virtual/reduce-right.js    |     2 +
 .../core-js/library/fn/array/virtual/reduce.js  |     2 +
 .../core-js/library/fn/array/virtual/slice.js   |     2 +
 .../core-js/library/fn/array/virtual/some.js    |     2 +
 .../core-js/library/fn/array/virtual/sort.js    |     2 +
 .../core-js/library/fn/array/virtual/values.js  |     2 +
 node_modules/core-js/library/fn/asap.js         |     2 +
 .../core-js/library/fn/clear-immediate.js       |     2 +
 node_modules/core-js/library/fn/date/index.js   |     6 +
 node_modules/core-js/library/fn/date/now.js     |     2 +
 .../core-js/library/fn/date/to-iso-string.js    |     3 +
 node_modules/core-js/library/fn/date/to-json.js |     2 +
 .../core-js/library/fn/date/to-primitive.js     |     5 +
 .../core-js/library/fn/date/to-string.js        |     5 +
 node_modules/core-js/library/fn/delay.js        |     2 +
 node_modules/core-js/library/fn/dict.js         |     2 +
 .../core-js/library/fn/dom-collections/index.js |     8 +
 .../library/fn/dom-collections/iterator.js      |     2 +
 node_modules/core-js/library/fn/error/index.js  |     2 +
 .../core-js/library/fn/error/is-error.js        |     2 +
 .../core-js/library/fn/function/bind.js         |     2 +
 .../core-js/library/fn/function/has-instance.js |     2 +
 .../core-js/library/fn/function/index.js        |     5 +
 .../core-js/library/fn/function/name.js         |     1 +
 .../core-js/library/fn/function/part.js         |     2 +
 .../core-js/library/fn/function/virtual/bind.js |     2 +
 .../library/fn/function/virtual/index.js        |     3 +
 .../core-js/library/fn/function/virtual/part.js |     2 +
 .../core-js/library/fn/get-iterator-method.js   |     3 +
 node_modules/core-js/library/fn/get-iterator.js |     3 +
 node_modules/core-js/library/fn/global.js       |     2 +
 node_modules/core-js/library/fn/is-iterable.js  |     3 +
 node_modules/core-js/library/fn/json/index.js   |     2 +
 .../core-js/library/fn/json/stringify.js        |     5 +
 node_modules/core-js/library/fn/map.js          |     8 +
 node_modules/core-js/library/fn/map/from.js     |     8 +
 node_modules/core-js/library/fn/map/index.js    |     8 +
 node_modules/core-js/library/fn/map/of.js       |     8 +
 node_modules/core-js/library/fn/math/acosh.js   |     2 +
 node_modules/core-js/library/fn/math/asinh.js   |     2 +
 node_modules/core-js/library/fn/math/atanh.js   |     2 +
 node_modules/core-js/library/fn/math/cbrt.js    |     2 +
 node_modules/core-js/library/fn/math/clamp.js   |     2 +
 node_modules/core-js/library/fn/math/clz32.js   |     2 +
 node_modules/core-js/library/fn/math/cosh.js    |     2 +
 .../core-js/library/fn/math/deg-per-rad.js      |     2 +
 node_modules/core-js/library/fn/math/degrees.js |     2 +
 node_modules/core-js/library/fn/math/expm1.js   |     2 +
 node_modules/core-js/library/fn/math/fround.js  |     2 +
 node_modules/core-js/library/fn/math/fscale.js  |     2 +
 node_modules/core-js/library/fn/math/hypot.js   |     2 +
 node_modules/core-js/library/fn/math/iaddh.js   |     2 +
 node_modules/core-js/library/fn/math/imul.js    |     2 +
 node_modules/core-js/library/fn/math/imulh.js   |     2 +
 node_modules/core-js/library/fn/math/index.js   |    30 +
 node_modules/core-js/library/fn/math/isubh.js   |     2 +
 node_modules/core-js/library/fn/math/log10.js   |     2 +
 node_modules/core-js/library/fn/math/log1p.js   |     2 +
 node_modules/core-js/library/fn/math/log2.js    |     2 +
 .../core-js/library/fn/math/rad-per-deg.js      |     2 +
 node_modules/core-js/library/fn/math/radians.js |     2 +
 node_modules/core-js/library/fn/math/scale.js   |     2 +
 node_modules/core-js/library/fn/math/sign.js    |     2 +
 node_modules/core-js/library/fn/math/signbit.js |     3 +
 node_modules/core-js/library/fn/math/sinh.js    |     2 +
 node_modules/core-js/library/fn/math/tanh.js    |     2 +
 node_modules/core-js/library/fn/math/trunc.js   |     2 +
 node_modules/core-js/library/fn/math/umulh.js   |     2 +
 .../core-js/library/fn/number/constructor.js    |     2 +
 .../core-js/library/fn/number/epsilon.js        |     2 +
 node_modules/core-js/library/fn/number/index.js |    14 +
 .../core-js/library/fn/number/is-finite.js      |     2 +
 .../core-js/library/fn/number/is-integer.js     |     2 +
 .../core-js/library/fn/number/is-nan.js         |     2 +
 .../library/fn/number/is-safe-integer.js        |     2 +
 .../core-js/library/fn/number/iterator.js       |     5 +
 .../library/fn/number/max-safe-integer.js       |     2 +
 .../library/fn/number/min-safe-integer.js       |     2 +
 .../core-js/library/fn/number/parse-float.js    |     2 +
 .../core-js/library/fn/number/parse-int.js      |     2 +
 .../core-js/library/fn/number/to-fixed.js       |     2 +
 .../core-js/library/fn/number/to-precision.js   |     2 +
 .../core-js/library/fn/number/virtual/index.js  |     4 +
 .../library/fn/number/virtual/iterator.js       |     2 +
 .../library/fn/number/virtual/to-fixed.js       |     2 +
 .../library/fn/number/virtual/to-precision.js   |     2 +
 .../core-js/library/fn/object/assign.js         |     2 +
 .../core-js/library/fn/object/classof.js        |     2 +
 .../core-js/library/fn/object/create.js         |     5 +
 .../core-js/library/fn/object/define-getter.js  |     2 +
 .../library/fn/object/define-properties.js      |     5 +
 .../library/fn/object/define-property.js        |     5 +
 .../core-js/library/fn/object/define-setter.js  |     2 +
 .../core-js/library/fn/object/define.js         |     2 +
 .../core-js/library/fn/object/entries.js        |     2 +
 .../core-js/library/fn/object/freeze.js         |     2 +
 .../fn/object/get-own-property-descriptor.js    |     5 +
 .../fn/object/get-own-property-descriptors.js   |     2 +
 .../library/fn/object/get-own-property-names.js |     5 +
 .../fn/object/get-own-property-symbols.js       |     2 +
 .../library/fn/object/get-prototype-of.js       |     2 +
 node_modules/core-js/library/fn/object/index.js |    30 +
 .../core-js/library/fn/object/is-extensible.js  |     2 +
 .../core-js/library/fn/object/is-frozen.js      |     2 +
 .../core-js/library/fn/object/is-object.js      |     2 +
 .../core-js/library/fn/object/is-sealed.js      |     2 +
 node_modules/core-js/library/fn/object/is.js    |     2 +
 node_modules/core-js/library/fn/object/keys.js  |     2 +
 .../core-js/library/fn/object/lookup-getter.js  |     2 +
 .../core-js/library/fn/object/lookup-setter.js  |     2 +
 node_modules/core-js/library/fn/object/make.js  |     2 +
 .../library/fn/object/prevent-extensions.js     |     2 +
 node_modules/core-js/library/fn/object/seal.js  |     2 +
 .../library/fn/object/set-prototype-of.js       |     2 +
 .../core-js/library/fn/object/values.js         |     2 +
 node_modules/core-js/library/fn/observable.js   |     7 +
 node_modules/core-js/library/fn/parse-float.js  |     2 +
 node_modules/core-js/library/fn/parse-int.js    |     2 +
 node_modules/core-js/library/fn/promise.js      |     7 +
 .../core-js/library/fn/promise/finally.js       |     4 +
 .../core-js/library/fn/promise/index.js         |     7 +
 node_modules/core-js/library/fn/promise/try.js  |     8 +
 .../core-js/library/fn/reflect/apply.js         |     2 +
 .../core-js/library/fn/reflect/construct.js     |     2 +
 .../library/fn/reflect/define-metadata.js       |     2 +
 .../library/fn/reflect/define-property.js       |     2 +
 .../library/fn/reflect/delete-metadata.js       |     2 +
 .../library/fn/reflect/delete-property.js       |     2 +
 .../core-js/library/fn/reflect/enumerate.js     |     2 +
 .../library/fn/reflect/get-metadata-keys.js     |     2 +
 .../core-js/library/fn/reflect/get-metadata.js  |     2 +
 .../library/fn/reflect/get-own-metadata-keys.js |     2 +
 .../library/fn/reflect/get-own-metadata.js      |     2 +
 .../fn/reflect/get-own-property-descriptor.js   |     2 +
 .../library/fn/reflect/get-prototype-of.js      |     2 +
 node_modules/core-js/library/fn/reflect/get.js  |     2 +
 .../core-js/library/fn/reflect/has-metadata.js  |     2 +
 .../library/fn/reflect/has-own-metadata.js      |     2 +
 node_modules/core-js/library/fn/reflect/has.js  |     2 +
 .../core-js/library/fn/reflect/index.js         |    24 +
 .../core-js/library/fn/reflect/is-extensible.js |     2 +
 .../core-js/library/fn/reflect/metadata.js      |     2 +
 .../core-js/library/fn/reflect/own-keys.js      |     2 +
 .../library/fn/reflect/prevent-extensions.js    |     2 +
 .../library/fn/reflect/set-prototype-of.js      |     2 +
 node_modules/core-js/library/fn/reflect/set.js  |     2 +
 .../core-js/library/fn/regexp/constructor.js    |     2 +
 .../core-js/library/fn/regexp/escape.js         |     2 +
 node_modules/core-js/library/fn/regexp/flags.js |     5 +
 node_modules/core-js/library/fn/regexp/index.js |     9 +
 node_modules/core-js/library/fn/regexp/match.js |     5 +
 .../core-js/library/fn/regexp/replace.js        |     5 +
 .../core-js/library/fn/regexp/search.js         |     5 +
 node_modules/core-js/library/fn/regexp/split.js |     5 +
 .../core-js/library/fn/regexp/to-string.js      |     5 +
 .../core-js/library/fn/set-immediate.js         |     2 +
 node_modules/core-js/library/fn/set-interval.js |     2 +
 node_modules/core-js/library/fn/set-timeout.js  |     2 +
 node_modules/core-js/library/fn/set.js          |     8 +
 node_modules/core-js/library/fn/set/from.js     |     8 +
 node_modules/core-js/library/fn/set/index.js    |     8 +
 node_modules/core-js/library/fn/set/of.js       |     8 +
 .../core-js/library/fn/string/anchor.js         |     2 +
 node_modules/core-js/library/fn/string/at.js    |     2 +
 node_modules/core-js/library/fn/string/big.js   |     2 +
 node_modules/core-js/library/fn/string/blink.js |     2 +
 node_modules/core-js/library/fn/string/bold.js  |     2 +
 .../core-js/library/fn/string/code-point-at.js  |     2 +
 .../core-js/library/fn/string/ends-with.js      |     2 +
 .../core-js/library/fn/string/escape-html.js    |     2 +
 node_modules/core-js/library/fn/string/fixed.js |     2 +
 .../core-js/library/fn/string/fontcolor.js      |     2 +
 .../core-js/library/fn/string/fontsize.js       |     2 +
 .../library/fn/string/from-code-point.js        |     2 +
 .../core-js/library/fn/string/includes.js       |     2 +
 node_modules/core-js/library/fn/string/index.js |    35 +
 .../core-js/library/fn/string/italics.js        |     2 +
 .../core-js/library/fn/string/iterator.js       |     5 +
 node_modules/core-js/library/fn/string/link.js  |     2 +
 .../core-js/library/fn/string/match-all.js      |     2 +
 .../core-js/library/fn/string/pad-end.js        |     2 +
 .../core-js/library/fn/string/pad-start.js      |     2 +
 node_modules/core-js/library/fn/string/raw.js   |     2 +
 .../core-js/library/fn/string/repeat.js         |     2 +
 node_modules/core-js/library/fn/string/small.js |     2 +
 .../core-js/library/fn/string/starts-with.js    |     2 +
 .../core-js/library/fn/string/strike.js         |     2 +
 node_modules/core-js/library/fn/string/sub.js   |     2 +
 node_modules/core-js/library/fn/string/sup.js   |     2 +
 .../core-js/library/fn/string/trim-end.js       |     2 +
 .../core-js/library/fn/string/trim-left.js      |     2 +
 .../core-js/library/fn/string/trim-right.js     |     2 +
 .../core-js/library/fn/string/trim-start.js     |     2 +
 node_modules/core-js/library/fn/string/trim.js  |     2 +
 .../core-js/library/fn/string/unescape-html.js  |     2 +
 .../core-js/library/fn/string/virtual/anchor.js |     2 +
 .../core-js/library/fn/string/virtual/at.js     |     2 +
 .../core-js/library/fn/string/virtual/big.js    |     2 +
 .../core-js/library/fn/string/virtual/blink.js  |     2 +
 .../core-js/library/fn/string/virtual/bold.js   |     2 +
 .../library/fn/string/virtual/code-point-at.js  |     2 +
 .../library/fn/string/virtual/ends-with.js      |     2 +
 .../library/fn/string/virtual/escape-html.js    |     2 +
 .../core-js/library/fn/string/virtual/fixed.js  |     2 +
 .../library/fn/string/virtual/fontcolor.js      |     2 +
 .../library/fn/string/virtual/fontsize.js       |     2 +
 .../library/fn/string/virtual/includes.js       |     2 +
 .../core-js/library/fn/string/virtual/index.js  |    33 +
 .../library/fn/string/virtual/italics.js        |     2 +
 .../library/fn/string/virtual/iterator.js       |     2 +
 .../core-js/library/fn/string/virtual/link.js   |     2 +
 .../library/fn/string/virtual/match-all.js      |     2 +
 .../library/fn/string/virtual/pad-end.js        |     2 +
 .../library/fn/string/virtual/pad-start.js      |     2 +
 .../core-js/library/fn/string/virtual/repeat.js |     2 +
 .../core-js/library/fn/string/virtual/small.js  |     2 +
 .../library/fn/string/virtual/starts-with.js    |     2 +
 .../core-js/library/fn/string/virtual/strike.js |     2 +
 .../core-js/library/fn/string/virtual/sub.js    |     2 +
 .../core-js/library/fn/string/virtual/sup.js    |     2 +
 .../library/fn/string/virtual/trim-end.js       |     2 +
 .../library/fn/string/virtual/trim-left.js      |     2 +
 .../library/fn/string/virtual/trim-right.js     |     2 +
 .../library/fn/string/virtual/trim-start.js     |     2 +
 .../core-js/library/fn/string/virtual/trim.js   |     2 +
 .../library/fn/string/virtual/unescape-html.js  |     2 +
 .../core-js/library/fn/symbol/async-iterator.js |     2 +
 node_modules/core-js/library/fn/symbol/for.js   |     2 +
 .../core-js/library/fn/symbol/has-instance.js   |     2 +
 node_modules/core-js/library/fn/symbol/index.js |     5 +
 .../library/fn/symbol/is-concat-spreadable.js   |     1 +
 .../core-js/library/fn/symbol/iterator.js       |     3 +
 .../core-js/library/fn/symbol/key-for.js        |     2 +
 node_modules/core-js/library/fn/symbol/match.js |     2 +
 .../core-js/library/fn/symbol/observable.js     |     2 +
 .../core-js/library/fn/symbol/replace.js        |     2 +
 .../core-js/library/fn/symbol/search.js         |     2 +
 .../core-js/library/fn/symbol/species.js        |     1 +
 node_modules/core-js/library/fn/symbol/split.js |     2 +
 .../core-js/library/fn/symbol/to-primitive.js   |     1 +
 .../core-js/library/fn/symbol/to-string-tag.js  |     2 +
 .../core-js/library/fn/symbol/unscopables.js    |     1 +
 .../core-js/library/fn/system/global.js         |     2 +
 node_modules/core-js/library/fn/system/index.js |     2 +
 .../core-js/library/fn/typed/array-buffer.js    |     3 +
 .../core-js/library/fn/typed/data-view.js       |     3 +
 .../core-js/library/fn/typed/float32-array.js   |     2 +
 .../core-js/library/fn/typed/float64-array.js   |     2 +
 node_modules/core-js/library/fn/typed/index.js  |    13 +
 .../core-js/library/fn/typed/int16-array.js     |     2 +
 .../core-js/library/fn/typed/int32-array.js     |     2 +
 .../core-js/library/fn/typed/int8-array.js      |     2 +
 .../core-js/library/fn/typed/uint16-array.js    |     2 +
 .../core-js/library/fn/typed/uint32-array.js    |     2 +
 .../core-js/library/fn/typed/uint8-array.js     |     2 +
 .../library/fn/typed/uint8-clamped-array.js     |     2 +
 node_modules/core-js/library/fn/weak-map.js     |     6 +
 .../core-js/library/fn/weak-map/from.js         |     8 +
 .../core-js/library/fn/weak-map/index.js        |     6 +
 node_modules/core-js/library/fn/weak-map/of.js  |     8 +
 node_modules/core-js/library/fn/weak-set.js     |     6 +
 .../core-js/library/fn/weak-set/from.js         |     8 +
 .../core-js/library/fn/weak-set/index.js        |     6 +
 node_modules/core-js/library/fn/weak-set/of.js  |     8 +
 node_modules/core-js/library/index.js           |    16 +
 .../core-js/library/modules/_a-function.js      |     4 +
 .../core-js/library/modules/_a-number-value.js  |     5 +
 .../library/modules/_add-to-unscopables.js      |     1 +
 .../core-js/library/modules/_an-instance.js     |     5 +
 .../core-js/library/modules/_an-object.js       |     5 +
 .../library/modules/_array-copy-within.js       |    26 +
 .../core-js/library/modules/_array-fill.js      |    15 +
 .../library/modules/_array-from-iterable.js     |     7 +
 .../core-js/library/modules/_array-includes.js  |    23 +
 .../core-js/library/modules/_array-methods.js   |    44 +
 .../core-js/library/modules/_array-reduce.js    |    28 +
 .../modules/_array-species-constructor.js       |    16 +
 .../library/modules/_array-species-create.js    |     6 +
 node_modules/core-js/library/modules/_bind.js   |    25 +
 .../core-js/library/modules/_classof.js         |    23 +
 node_modules/core-js/library/modules/_cof.js    |     5 +
 .../library/modules/_collection-strong.js       |   144 +
 .../library/modules/_collection-to-json.js      |     9 +
 .../core-js/library/modules/_collection-weak.js |    85 +
 .../core-js/library/modules/_collection.js      |    59 +
 node_modules/core-js/library/modules/_core.js   |     2 +
 .../core-js/library/modules/_create-property.js |     8 +
 node_modules/core-js/library/modules/_ctx.js    |    20 +
 .../library/modules/_date-to-iso-string.js      |    26 +
 .../library/modules/_date-to-primitive.js       |     9 +
 .../core-js/library/modules/_defined.js         |     5 +
 .../core-js/library/modules/_descriptors.js     |     4 +
 .../core-js/library/modules/_dom-create.js      |     7 +
 .../core-js/library/modules/_entry-virtual.js   |     5 +
 .../core-js/library/modules/_enum-bug-keys.js   |     4 +
 .../core-js/library/modules/_enum-keys.js       |    15 +
 node_modules/core-js/library/modules/_export.js |    62 +
 .../core-js/library/modules/_fails-is-regexp.js |    12 +
 node_modules/core-js/library/modules/_fails.js  |     7 +
 .../core-js/library/modules/_fix-re-wks.js      |    28 +
 node_modules/core-js/library/modules/_flags.js  |    13 +
 .../library/modules/_flatten-into-array.js      |    39 +
 node_modules/core-js/library/modules/_for-of.js |    25 +
 node_modules/core-js/library/modules/_global.js |     6 +
 node_modules/core-js/library/modules/_has.js    |     4 +
 node_modules/core-js/library/modules/_hide.js   |     8 +
 node_modules/core-js/library/modules/_html.js   |     2 +
 .../core-js/library/modules/_ie8-dom-define.js  |     3 +
 .../library/modules/_inherit-if-required.js     |     9 +
 node_modules/core-js/library/modules/_invoke.js |    16 +
 .../core-js/library/modules/_iobject.js         |     6 +
 .../core-js/library/modules/_is-array-iter.js   |     8 +
 .../core-js/library/modules/_is-array.js        |     5 +
 .../core-js/library/modules/_is-integer.js      |     6 +
 .../core-js/library/modules/_is-object.js       |     3 +
 .../core-js/library/modules/_is-regexp.js       |     8 +
 .../core-js/library/modules/_iter-call.js       |    12 +
 .../core-js/library/modules/_iter-create.js     |    13 +
 .../core-js/library/modules/_iter-define.js     |    69 +
 .../core-js/library/modules/_iter-detect.js     |    22 +
 .../core-js/library/modules/_iter-step.js       |     3 +
 .../core-js/library/modules/_iterators.js       |     1 +
 node_modules/core-js/library/modules/_keyof.js  |    10 +
 .../core-js/library/modules/_library.js         |     1 +
 .../core-js/library/modules/_math-expm1.js      |    10 +
 .../core-js/library/modules/_math-fround.js     |    23 +
 .../core-js/library/modules/_math-log1p.js      |     4 +
 .../core-js/library/modules/_math-scale.js      |    18 +
 .../core-js/library/modules/_math-sign.js       |     5 +
 node_modules/core-js/library/modules/_meta.js   |    53 +
 .../core-js/library/modules/_metadata.js        |    51 +
 .../core-js/library/modules/_microtask.js       |    68 +
 .../library/modules/_new-promise-capability.js  |    18 +
 .../core-js/library/modules/_object-assign.js   |    34 +
 .../core-js/library/modules/_object-create.js   |    41 +
 .../core-js/library/modules/_object-define.js   |    13 +
 .../core-js/library/modules/_object-dp.js       |    16 +
 .../core-js/library/modules/_object-dps.js      |    13 +
 .../library/modules/_object-forced-pam.js       |     9 +
 .../core-js/library/modules/_object-gopd.js     |    16 +
 .../core-js/library/modules/_object-gopn-ext.js |    19 +
 .../core-js/library/modules/_object-gopn.js     |     7 +
 .../core-js/library/modules/_object-gops.js     |     1 +
 .../core-js/library/modules/_object-gpo.js      |    13 +
 .../library/modules/_object-keys-internal.js    |    17 +
 .../core-js/library/modules/_object-keys.js     |     7 +
 .../core-js/library/modules/_object-pie.js      |     1 +
 .../core-js/library/modules/_object-sap.js      |    10 +
 .../core-js/library/modules/_object-to-array.js |    16 +
 .../core-js/library/modules/_own-keys.js        |    10 +
 .../core-js/library/modules/_parse-float.js     |     8 +
 .../core-js/library/modules/_parse-int.js       |     9 +
 .../core-js/library/modules/_partial.js         |    25 +
 node_modules/core-js/library/modules/_path.js   |     1 +
 .../core-js/library/modules/_perform.js         |     7 +
 .../core-js/library/modules/_promise-resolve.js |    12 +
 .../core-js/library/modules/_property-desc.js   |     8 +
 .../core-js/library/modules/_redefine-all.js    |     7 +
 .../core-js/library/modules/_redefine.js        |     1 +
 .../core-js/library/modules/_replacer.js        |     8 +
 .../core-js/library/modules/_same-value.js      |     5 +
 .../library/modules/_set-collection-from.js     |    28 +
 .../library/modules/_set-collection-of.js       |    12 +
 .../core-js/library/modules/_set-proto.js       |    25 +
 .../core-js/library/modules/_set-species.js     |    14 +
 .../library/modules/_set-to-string-tag.js       |     7 +
 .../core-js/library/modules/_shared-key.js      |     5 +
 node_modules/core-js/library/modules/_shared.js |     6 +
 .../library/modules/_species-constructor.js     |     9 +
 .../core-js/library/modules/_strict-method.js   |     9 +
 .../core-js/library/modules/_string-at.js       |    17 +
 .../core-js/library/modules/_string-context.js  |     8 +
 .../core-js/library/modules/_string-html.js     |    19 +
 .../core-js/library/modules/_string-pad.js      |    16 +
 .../core-js/library/modules/_string-repeat.js   |    12 +
 .../core-js/library/modules/_string-trim.js     |    30 +
 .../core-js/library/modules/_string-ws.js       |     2 +
 node_modules/core-js/library/modules/_task.js   |    84 +
 .../library/modules/_to-absolute-index.js       |     7 +
 .../core-js/library/modules/_to-index.js        |    10 +
 .../core-js/library/modules/_to-integer.js      |     6 +
 .../core-js/library/modules/_to-iobject.js      |     6 +
 .../core-js/library/modules/_to-length.js       |     6 +
 .../core-js/library/modules/_to-object.js       |     5 +
 .../core-js/library/modules/_to-primitive.js    |    12 +
 .../core-js/library/modules/_typed-array.js     |   480 +
 .../core-js/library/modules/_typed-buffer.js    |   276 +
 node_modules/core-js/library/modules/_typed.js  |    28 +
 node_modules/core-js/library/modules/_uid.js    |     5 +
 .../core-js/library/modules/_user-agent.js      |     4 +
 .../library/modules/_validate-collection.js     |     5 +
 .../core-js/library/modules/_wks-define.js      |     9 +
 .../core-js/library/modules/_wks-ext.js         |     1 +
 node_modules/core-js/library/modules/_wks.js    |    11 +
 .../core-js/library/modules/core.delay.js       |    12 +
 .../core-js/library/modules/core.dict.js        |   157 +
 .../library/modules/core.function.part.js       |     7 +
 .../library/modules/core.get-iterator-method.js |     8 +
 .../library/modules/core.get-iterator.js        |     7 +
 .../core-js/library/modules/core.is-iterable.js |    10 +
 .../library/modules/core.number.iterator.js     |     9 +
 .../library/modules/core.object.classof.js      |     3 +
 .../library/modules/core.object.define.js       |     4 +
 .../library/modules/core.object.is-object.js    |     3 +
 .../core-js/library/modules/core.object.make.js |     9 +
 .../library/modules/core.regexp.escape.js       |     5 +
 .../library/modules/core.string.escape-html.js  |    11 +
 .../modules/core.string.unescape-html.js        |    11 +
 node_modules/core-js/library/modules/es5.js     |    35 +
 .../library/modules/es6.array.copy-within.js    |     6 +
 .../core-js/library/modules/es6.array.every.js  |    10 +
 .../core-js/library/modules/es6.array.fill.js   |     6 +
 .../core-js/library/modules/es6.array.filter.js |    10 +
 .../library/modules/es6.array.find-index.js     |    14 +
 .../core-js/library/modules/es6.array.find.js   |    14 +
 .../library/modules/es6.array.for-each.js       |    11 +
 .../core-js/library/modules/es6.array.from.js   |    37 +
 .../library/modules/es6.array.index-of.js       |    15 +
 .../library/modules/es6.array.is-array.js       |     4 +
 .../library/modules/es6.array.iterator.js       |    34 +
 .../core-js/library/modules/es6.array.join.js   |    12 +
 .../library/modules/es6.array.last-index-of.js  |    22 +
 .../core-js/library/modules/es6.array.map.js    |    10 +
 .../core-js/library/modules/es6.array.of.js     |    19 +
 .../library/modules/es6.array.reduce-right.js   |    10 +
 .../core-js/library/modules/es6.array.reduce.js |    10 +
 .../core-js/library/modules/es6.array.slice.js  |    28 +
 .../core-js/library/modules/es6.array.some.js   |    10 +
 .../core-js/library/modules/es6.array.sort.js   |    23 +
 .../library/modules/es6.array.species.js        |     1 +
 .../core-js/library/modules/es6.date.now.js     |     4 +
 .../library/modules/es6.date.to-iso-string.js   |     8 +
 .../core-js/library/modules/es6.date.to-json.js |    19 +
 .../library/modules/es6.date.to-primitive.js    |     0
 .../library/modules/es6.date.to-string.js       |     0
 .../library/modules/es6.function.bind.js        |     4 +
 .../modules/es6.function.has-instance.js        |    13 +
 .../library/modules/es6.function.name.js        |     0
 node_modules/core-js/library/modules/es6.map.js |    19 +
 .../core-js/library/modules/es6.math.acosh.js   |    18 +
 .../core-js/library/modules/es6.math.asinh.js   |    10 +
 .../core-js/library/modules/es6.math.atanh.js   |    10 +
 .../core-js/library/modules/es6.math.cbrt.js    |     9 +
 .../core-js/library/modules/es6.math.clz32.js   |     8 +
 .../core-js/library/modules/es6.math.cosh.js    |     9 +
 .../core-js/library/modules/es6.math.expm1.js   |     5 +
 .../core-js/library/modules/es6.math.fround.js  |     4 +
 .../core-js/library/modules/es6.math.hypot.js   |    25 +
 .../core-js/library/modules/es6.math.imul.js    |    17 +
 .../core-js/library/modules/es6.math.log10.js   |     8 +
 .../core-js/library/modules/es6.math.log1p.js   |     4 +
 .../core-js/library/modules/es6.math.log2.js    |     8 +
 .../core-js/library/modules/es6.math.sign.js    |     4 +
 .../core-js/library/modules/es6.math.sinh.js    |    15 +
 .../core-js/library/modules/es6.math.tanh.js    |    12 +
 .../core-js/library/modules/es6.math.trunc.js   |     8 +
 .../library/modules/es6.number.constructor.js   |     0
 .../library/modules/es6.number.epsilon.js       |     4 +
 .../library/modules/es6.number.is-finite.js     |     9 +
 .../library/modules/es6.number.is-integer.js    |     4 +
 .../library/modules/es6.number.is-nan.js        |     9 +
 .../modules/es6.number.is-safe-integer.js       |    10 +
 .../modules/es6.number.max-safe-integer.js      |     4 +
 .../modules/es6.number.min-safe-integer.js      |     4 +
 .../library/modules/es6.number.parse-float.js   |     4 +
 .../library/modules/es6.number.parse-int.js     |     4 +
 .../library/modules/es6.number.to-fixed.js      |   114 +
 .../library/modules/es6.number.to-precision.js  |    18 +
 .../library/modules/es6.object.assign.js        |     4 +
 .../library/modules/es6.object.create.js        |     3 +
 .../modules/es6.object.define-properties.js     |     3 +
 .../modules/es6.object.define-property.js       |     3 +
 .../library/modules/es6.object.freeze.js        |     9 +
 .../es6.object.get-own-property-descriptor.js   |     9 +
 .../es6.object.get-own-property-names.js        |     4 +
 .../modules/es6.object.get-prototype-of.js      |     9 +
 .../library/modules/es6.object.is-extensible.js |     8 +
 .../library/modules/es6.object.is-frozen.js     |     8 +
 .../library/modules/es6.object.is-sealed.js     |     8 +
 .../core-js/library/modules/es6.object.is.js    |     3 +
 .../core-js/library/modules/es6.object.keys.js  |     9 +
 .../modules/es6.object.prevent-extensions.js    |     9 +
 .../core-js/library/modules/es6.object.seal.js  |     9 +
 .../modules/es6.object.set-prototype-of.js      |     3 +
 .../library/modules/es6.object.to-string.js     |     0
 .../core-js/library/modules/es6.parse-float.js  |     4 +
 .../core-js/library/modules/es6.parse-int.js    |     4 +
 .../core-js/library/modules/es6.promise.js      |   277 +
 .../library/modules/es6.reflect.apply.js        |    16 +
 .../library/modules/es6.reflect.construct.js    |    47 +
 .../modules/es6.reflect.define-property.js      |    23 +
 .../modules/es6.reflect.delete-property.js      |    11 +
 .../library/modules/es6.reflect.enumerate.js    |    26 +
 .../es6.reflect.get-own-property-descriptor.js  |    10 +
 .../modules/es6.reflect.get-prototype-of.js     |    10 +
 .../core-js/library/modules/es6.reflect.get.js  |    21 +
 .../core-js/library/modules/es6.reflect.has.js  |     8 +
 .../modules/es6.reflect.is-extensible.js        |    11 +
 .../library/modules/es6.reflect.own-keys.js     |     4 +
 .../modules/es6.reflect.prevent-extensions.js   |    16 +
 .../modules/es6.reflect.set-prototype-of.js     |    15 +
 .../core-js/library/modules/es6.reflect.set.js  |    33 +
 .../library/modules/es6.regexp.constructor.js   |     1 +
 .../core-js/library/modules/es6.regexp.flags.js |     0
 .../core-js/library/modules/es6.regexp.match.js |     0
 .../library/modules/es6.regexp.replace.js       |     0
 .../library/modules/es6.regexp.search.js        |     0
 .../core-js/library/modules/es6.regexp.split.js |     0
 .../library/modules/es6.regexp.to-string.js     |     0
 node_modules/core-js/library/modules/es6.set.js |    14 +
 .../library/modules/es6.string.anchor.js        |     7 +
 .../core-js/library/modules/es6.string.big.js   |     7 +
 .../core-js/library/modules/es6.string.blink.js |     7 +
 .../core-js/library/modules/es6.string.bold.js  |     7 +
 .../library/modules/es6.string.code-point-at.js |     9 +
 .../library/modules/es6.string.ends-with.js     |    20 +
 .../core-js/library/modules/es6.string.fixed.js |     7 +
 .../library/modules/es6.string.fontcolor.js     |     7 +
 .../library/modules/es6.string.fontsize.js      |     7 +
 .../modules/es6.string.from-code-point.js       |    23 +
 .../library/modules/es6.string.includes.js      |    12 +
 .../library/modules/es6.string.italics.js       |     7 +
 .../library/modules/es6.string.iterator.js      |    17 +
 .../core-js/library/modules/es6.string.link.js  |     7 +
 .../core-js/library/modules/es6.string.raw.js   |    18 +
 .../library/modules/es6.string.repeat.js        |     6 +
 .../core-js/library/modules/es6.string.small.js |     7 +
 .../library/modules/es6.string.starts-with.js   |    18 +
 .../library/modules/es6.string.strike.js        |     7 +
 .../core-js/library/modules/es6.string.sub.js   |     7 +
 .../core-js/library/modules/es6.string.sup.js   |     7 +
 .../core-js/library/modules/es6.string.trim.js  |     7 +
 .../core-js/library/modules/es6.symbol.js       |   234 +
 .../library/modules/es6.typed.array-buffer.js   |    46 +
 .../library/modules/es6.typed.data-view.js      |     4 +
 .../library/modules/es6.typed.float32-array.js  |     5 +
 .../library/modules/es6.typed.float64-array.js  |     5 +
 .../library/modules/es6.typed.int16-array.js    |     5 +
 .../library/modules/es6.typed.int32-array.js    |     5 +
 .../library/modules/es6.typed.int8-array.js     |     5 +
 .../library/modules/es6.typed.uint16-array.js   |     5 +
 .../library/modules/es6.typed.uint32-array.js   |     5 +
 .../library/modules/es6.typed.uint8-array.js    |     5 +
 .../modules/es6.typed.uint8-clamped-array.js    |     5 +
 .../core-js/library/modules/es6.weak-map.js     |    59 +
 .../core-js/library/modules/es6.weak-set.js     |    14 +
 .../library/modules/es7.array.flat-map.js       |    22 +
 .../library/modules/es7.array.flatten.js        |    21 +
 .../library/modules/es7.array.includes.js       |    12 +
 .../core-js/library/modules/es7.asap.js         |    12 +
 .../library/modules/es7.error.is-error.js       |     9 +
 .../core-js/library/modules/es7.global.js       |     4 +
 .../core-js/library/modules/es7.map.from.js     |     2 +
 .../core-js/library/modules/es7.map.of.js       |     2 +
 .../core-js/library/modules/es7.map.to-json.js  |     4 +
 .../core-js/library/modules/es7.math.clamp.js   |     8 +
 .../library/modules/es7.math.deg-per-rad.js     |     4 +
 .../core-js/library/modules/es7.math.degrees.js |     9 +
 .../core-js/library/modules/es7.math.fscale.js  |    10 +
 .../core-js/library/modules/es7.math.iaddh.js   |    11 +
 .../core-js/library/modules/es7.math.imulh.js   |    16 +
 .../core-js/library/modules/es7.math.isubh.js   |    11 +
 .../library/modules/es7.math.rad-per-deg.js     |     4 +
 .../core-js/library/modules/es7.math.radians.js |     9 +
 .../core-js/library/modules/es7.math.scale.js   |     4 +
 .../core-js/library/modules/es7.math.signbit.js |     7 +
 .../core-js/library/modules/es7.math.umulh.js   |    16 +
 .../library/modules/es7.object.define-getter.js |    12 +
 .../library/modules/es7.object.define-setter.js |    12 +
 .../library/modules/es7.object.entries.js       |     9 +
 .../es7.object.get-own-property-descriptors.js  |    22 +
 .../library/modules/es7.object.lookup-getter.js |    18 +
 .../library/modules/es7.object.lookup-setter.js |    18 +
 .../library/modules/es7.object.values.js        |     9 +
 .../core-js/library/modules/es7.observable.js   |   199 +
 .../library/modules/es7.promise.finally.js      |    20 +
 .../core-js/library/modules/es7.promise.try.js  |    12 +
 .../modules/es7.reflect.define-metadata.js      |     8 +
 .../modules/es7.reflect.delete-metadata.js      |    15 +
 .../modules/es7.reflect.get-metadata-keys.js    |    19 +
 .../library/modules/es7.reflect.get-metadata.js |    17 +
 .../es7.reflect.get-own-metadata-keys.js        |     8 +
 .../modules/es7.reflect.get-own-metadata.js     |     9 +
 .../library/modules/es7.reflect.has-metadata.js |    16 +
 .../modules/es7.reflect.has-own-metadata.js     |     9 +
 .../library/modules/es7.reflect.metadata.js     |    15 +
 .../core-js/library/modules/es7.set.from.js     |     2 +
 .../core-js/library/modules/es7.set.of.js       |     2 +
 .../core-js/library/modules/es7.set.to-json.js  |     4 +
 .../core-js/library/modules/es7.string.at.js    |    10 +
 .../library/modules/es7.string.match-all.js     |    30 +
 .../library/modules/es7.string.pad-end.js       |    12 +
 .../library/modules/es7.string.pad-start.js     |    12 +
 .../library/modules/es7.string.trim-left.js     |     7 +
 .../library/modules/es7.string.trim-right.js    |     7 +
 .../modules/es7.symbol.async-iterator.js        |     1 +
 .../library/modules/es7.symbol.observable.js    |     1 +
 .../library/modules/es7.system.global.js        |     4 +
 .../library/modules/es7.weak-map.from.js        |     2 +
 .../core-js/library/modules/es7.weak-map.of.js  |     2 +
 .../library/modules/es7.weak-set.from.js        |     2 +
 .../core-js/library/modules/es7.weak-set.of.js  |     2 +
 .../core-js/library/modules/web.dom.iterable.js |    19 +
 .../core-js/library/modules/web.immediate.js    |     6 +
 .../core-js/library/modules/web.timers.js       |    20 +
 node_modules/core-js/library/shim.js            |   197 +
 node_modules/core-js/library/stage/0.js         |    10 +
 node_modules/core-js/library/stage/1.js         |    23 +
 node_modules/core-js/library/stage/2.js         |     4 +
 node_modules/core-js/library/stage/3.js         |     4 +
 node_modules/core-js/library/stage/4.js         |    11 +
 node_modules/core-js/library/stage/index.js     |     1 +
 node_modules/core-js/library/stage/pre.js       |    10 +
 .../core-js/library/web/dom-collections.js      |     2 +
 node_modules/core-js/library/web/immediate.js   |     2 +
 node_modules/core-js/library/web/index.js       |     4 +
 node_modules/core-js/library/web/timers.js      |     2 +
 node_modules/core-js/modules/_a-function.js     |     4 +
 node_modules/core-js/modules/_a-number-value.js |     5 +
 .../core-js/modules/_add-to-unscopables.js      |     7 +
 node_modules/core-js/modules/_an-instance.js    |     5 +
 node_modules/core-js/modules/_an-object.js      |     5 +
 .../core-js/modules/_array-copy-within.js       |    26 +
 node_modules/core-js/modules/_array-fill.js     |    15 +
 .../core-js/modules/_array-from-iterable.js     |     7 +
 node_modules/core-js/modules/_array-includes.js |    23 +
 node_modules/core-js/modules/_array-methods.js  |    44 +
 node_modules/core-js/modules/_array-reduce.js   |    28 +
 .../modules/_array-species-constructor.js       |    16 +
 .../core-js/modules/_array-species-create.js    |     6 +
 node_modules/core-js/modules/_bind.js           |    25 +
 node_modules/core-js/modules/_classof.js        |    23 +
 node_modules/core-js/modules/_cof.js            |     5 +
 .../core-js/modules/_collection-strong.js       |   144 +
 .../core-js/modules/_collection-to-json.js      |     9 +
 .../core-js/modules/_collection-weak.js         |    85 +
 node_modules/core-js/modules/_collection.js     |    85 +
 node_modules/core-js/modules/_core.js           |     2 +
 .../core-js/modules/_create-property.js         |     8 +
 node_modules/core-js/modules/_ctx.js            |    20 +
 .../core-js/modules/_date-to-iso-string.js      |    26 +
 .../core-js/modules/_date-to-primitive.js       |     9 +
 node_modules/core-js/modules/_defined.js        |     5 +
 node_modules/core-js/modules/_descriptors.js    |     4 +
 node_modules/core-js/modules/_dom-create.js     |     7 +
 node_modules/core-js/modules/_entry-virtual.js  |     5 +
 node_modules/core-js/modules/_enum-bug-keys.js  |     4 +
 node_modules/core-js/modules/_enum-keys.js      |    15 +
 node_modules/core-js/modules/_export.js         |    43 +
 .../core-js/modules/_fails-is-regexp.js         |    12 +
 node_modules/core-js/modules/_fails.js          |     7 +
 node_modules/core-js/modules/_fix-re-wks.js     |    28 +
 node_modules/core-js/modules/_flags.js          |    13 +
 .../core-js/modules/_flatten-into-array.js      |    39 +
 node_modules/core-js/modules/_for-of.js         |    25 +
 node_modules/core-js/modules/_global.js         |     6 +
 node_modules/core-js/modules/_has.js            |     4 +
 node_modules/core-js/modules/_hide.js           |     8 +
 node_modules/core-js/modules/_html.js           |     2 +
 node_modules/core-js/modules/_ie8-dom-define.js |     3 +
 .../core-js/modules/_inherit-if-required.js     |     9 +
 node_modules/core-js/modules/_invoke.js         |    16 +
 node_modules/core-js/modules/_iobject.js        |     6 +
 node_modules/core-js/modules/_is-array-iter.js  |     8 +
 node_modules/core-js/modules/_is-array.js       |     5 +
 node_modules/core-js/modules/_is-integer.js     |     6 +
 node_modules/core-js/modules/_is-object.js      |     3 +
 node_modules/core-js/modules/_is-regexp.js      |     8 +
 node_modules/core-js/modules/_iter-call.js      |    12 +
 node_modules/core-js/modules/_iter-create.js    |    13 +
 node_modules/core-js/modules/_iter-define.js    |    69 +
 node_modules/core-js/modules/_iter-detect.js    |    22 +
 node_modules/core-js/modules/_iter-step.js      |     3 +
 node_modules/core-js/modules/_iterators.js      |     1 +
 node_modules/core-js/modules/_keyof.js          |    10 +
 node_modules/core-js/modules/_library.js        |     1 +
 node_modules/core-js/modules/_math-expm1.js     |    10 +
 node_modules/core-js/modules/_math-fround.js    |    23 +
 node_modules/core-js/modules/_math-log1p.js     |     4 +
 node_modules/core-js/modules/_math-scale.js     |    18 +
 node_modules/core-js/modules/_math-sign.js      |     5 +
 node_modules/core-js/modules/_meta.js           |    53 +
 node_modules/core-js/modules/_metadata.js       |    51 +
 node_modules/core-js/modules/_microtask.js      |    68 +
 .../core-js/modules/_new-promise-capability.js  |    18 +
 node_modules/core-js/modules/_object-assign.js  |    34 +
 node_modules/core-js/modules/_object-create.js  |    41 +
 node_modules/core-js/modules/_object-define.js  |    13 +
 node_modules/core-js/modules/_object-dp.js      |    16 +
 node_modules/core-js/modules/_object-dps.js     |    13 +
 .../core-js/modules/_object-forced-pam.js       |     9 +
 node_modules/core-js/modules/_object-gopd.js    |    16 +
 .../core-js/modules/_object-gopn-ext.js         |    19 +
 node_modules/core-js/modules/_object-gopn.js    |     7 +
 node_modules/core-js/modules/_object-gops.js    |     1 +
 node_modules/core-js/modules/_object-gpo.js     |    13 +
 .../core-js/modules/_object-keys-internal.js    |    17 +
 node_modules/core-js/modules/_object-keys.js    |     7 +
 node_modules/core-js/modules/_object-pie.js     |     1 +
 node_modules/core-js/modules/_object-sap.js     |    10 +
 .../core-js/modules/_object-to-array.js         |    16 +
 node_modules/core-js/modules/_own-keys.js       |    10 +
 node_modules/core-js/modules/_parse-float.js    |     8 +
 node_modules/core-js/modules/_parse-int.js      |     9 +
 node_modules/core-js/modules/_partial.js        |    25 +
 node_modules/core-js/modules/_path.js           |     1 +
 node_modules/core-js/modules/_perform.js        |     7 +
 .../core-js/modules/_promise-resolve.js         |    12 +
 node_modules/core-js/modules/_property-desc.js  |     8 +
 node_modules/core-js/modules/_redefine-all.js   |     5 +
 node_modules/core-js/modules/_redefine.js       |    31 +
 node_modules/core-js/modules/_replacer.js       |     8 +
 node_modules/core-js/modules/_same-value.js     |     5 +
 .../core-js/modules/_set-collection-from.js     |    28 +
 .../core-js/modules/_set-collection-of.js       |    12 +
 node_modules/core-js/modules/_set-proto.js      |    25 +
 node_modules/core-js/modules/_set-species.js    |    13 +
 .../core-js/modules/_set-to-string-tag.js       |     7 +
 node_modules/core-js/modules/_shared-key.js     |     5 +
 node_modules/core-js/modules/_shared.js         |     6 +
 .../core-js/modules/_species-constructor.js     |     9 +
 node_modules/core-js/modules/_strict-method.js  |     9 +
 node_modules/core-js/modules/_string-at.js      |    17 +
 node_modules/core-js/modules/_string-context.js |     8 +
 node_modules/core-js/modules/_string-html.js    |    19 +
 node_modules/core-js/modules/_string-pad.js     |    16 +
 node_modules/core-js/modules/_string-repeat.js  |    12 +
 node_modules/core-js/modules/_string-trim.js    |    30 +
 node_modules/core-js/modules/_string-ws.js      |     2 +
 node_modules/core-js/modules/_task.js           |    84 +
 .../core-js/modules/_to-absolute-index.js       |     7 +
 node_modules/core-js/modules/_to-index.js       |    10 +
 node_modules/core-js/modules/_to-integer.js     |     6 +
 node_modules/core-js/modules/_to-iobject.js     |     6 +
 node_modules/core-js/modules/_to-length.js      |     6 +
 node_modules/core-js/modules/_to-object.js      |     5 +
 node_modules/core-js/modules/_to-primitive.js   |    12 +
 node_modules/core-js/modules/_typed-array.js    |   480 +
 node_modules/core-js/modules/_typed-buffer.js   |   276 +
 node_modules/core-js/modules/_typed.js          |    28 +
 node_modules/core-js/modules/_uid.js            |     5 +
 node_modules/core-js/modules/_user-agent.js     |     4 +
 .../core-js/modules/_validate-collection.js     |     5 +
 node_modules/core-js/modules/_wks-define.js     |     9 +
 node_modules/core-js/modules/_wks-ext.js        |     1 +
 node_modules/core-js/modules/_wks.js            |    11 +
 node_modules/core-js/modules/core.delay.js      |    12 +
 node_modules/core-js/modules/core.dict.js       |   157 +
 .../core-js/modules/core.function.part.js       |     7 +
 .../core-js/modules/core.get-iterator-method.js |     8 +
 .../core-js/modules/core.get-iterator.js        |     7 +
 .../core-js/modules/core.is-iterable.js         |    10 +
 .../core-js/modules/core.number.iterator.js     |     9 +
 .../core-js/modules/core.object.classof.js      |     3 +
 .../core-js/modules/core.object.define.js       |     4 +
 .../core-js/modules/core.object.is-object.js    |     3 +
 .../core-js/modules/core.object.make.js         |     9 +
 .../core-js/modules/core.regexp.escape.js       |     5 +
 .../core-js/modules/core.string.escape-html.js  |    11 +
 .../modules/core.string.unescape-html.js        |    11 +
 node_modules/core-js/modules/es5.js             |    35 +
 .../core-js/modules/es6.array.copy-within.js    |     6 +
 node_modules/core-js/modules/es6.array.every.js |    10 +
 node_modules/core-js/modules/es6.array.fill.js  |     6 +
 .../core-js/modules/es6.array.filter.js         |    10 +
 .../core-js/modules/es6.array.find-index.js     |    14 +
 node_modules/core-js/modules/es6.array.find.js  |    14 +
 .../core-js/modules/es6.array.for-each.js       |    11 +
 node_modules/core-js/modules/es6.array.from.js  |    37 +
 .../core-js/modules/es6.array.index-of.js       |    15 +
 .../core-js/modules/es6.array.is-array.js       |     4 +
 .../core-js/modules/es6.array.iterator.js       |    34 +
 node_modules/core-js/modules/es6.array.join.js  |    12 +
 .../core-js/modules/es6.array.last-index-of.js  |    22 +
 node_modules/core-js/modules/es6.array.map.js   |    10 +
 node_modules/core-js/modules/es6.array.of.js    |    19 +
 .../core-js/modules/es6.array.reduce-right.js   |    10 +
 .../core-js/modules/es6.array.reduce.js         |    10 +
 node_modules/core-js/modules/es6.array.slice.js |    28 +
 node_modules/core-js/modules/es6.array.some.js  |    10 +
 node_modules/core-js/modules/es6.array.sort.js  |    23 +
 .../core-js/modules/es6.array.species.js        |     1 +
 node_modules/core-js/modules/es6.date.now.js    |     4 +
 .../core-js/modules/es6.date.to-iso-string.js   |     8 +
 .../core-js/modules/es6.date.to-json.js         |    16 +
 .../core-js/modules/es6.date.to-primitive.js    |     4 +
 .../core-js/modules/es6.date.to-string.js       |    12 +
 .../core-js/modules/es6.function.bind.js        |     4 +
 .../modules/es6.function.has-instance.js        |    13 +
 .../core-js/modules/es6.function.name.js        |    16 +
 node_modules/core-js/modules/es6.map.js         |    19 +
 node_modules/core-js/modules/es6.math.acosh.js  |    18 +
 node_modules/core-js/modules/es6.math.asinh.js  |    10 +
 node_modules/core-js/modules/es6.math.atanh.js  |    10 +
 node_modules/core-js/modules/es6.math.cbrt.js   |     9 +
 node_modules/core-js/modules/es6.math.clz32.js  |     8 +
 node_modules/core-js/modules/es6.math.cosh.js   |     9 +
 node_modules/core-js/modules/es6.math.expm1.js  |     5 +
 node_modules/core-js/modules/es6.math.fround.js |     4 +
 node_modules/core-js/modules/es6.math.hypot.js  |    25 +
 node_modules/core-js/modules/es6.math.imul.js   |    17 +
 node_modules/core-js/modules/es6.math.log10.js  |     8 +
 node_modules/core-js/modules/es6.math.log1p.js  |     4 +
 node_modules/core-js/modules/es6.math.log2.js   |     8 +
 node_modules/core-js/modules/es6.math.sign.js   |     4 +
 node_modules/core-js/modules/es6.math.sinh.js   |    15 +
 node_modules/core-js/modules/es6.math.tanh.js   |    12 +
 node_modules/core-js/modules/es6.math.trunc.js  |     8 +
 .../core-js/modules/es6.number.constructor.js   |    69 +
 .../core-js/modules/es6.number.epsilon.js       |     4 +
 .../core-js/modules/es6.number.is-finite.js     |     9 +
 .../core-js/modules/es6.number.is-integer.js    |     4 +
 .../core-js/modules/es6.number.is-nan.js        |     9 +
 .../modules/es6.number.is-safe-integer.js       |    10 +
 .../modules/es6.number.max-safe-integer.js      |     4 +
 .../modules/es6.number.min-safe-integer.js      |     4 +
 .../core-js/modules/es6.number.parse-float.js   |     4 +
 .../core-js/modules/es6.number.parse-int.js     |     4 +
 .../core-js/modules/es6.number.to-fixed.js      |   114 +
 .../core-js/modules/es6.number.to-precision.js  |    18 +
 .../core-js/modules/es6.object.assign.js        |     4 +
 .../core-js/modules/es6.object.create.js        |     3 +
 .../modules/es6.object.define-properties.js     |     3 +
 .../modules/es6.object.define-property.js       |     3 +
 .../core-js/modules/es6.object.freeze.js        |     9 +
 .../es6.object.get-own-property-descriptor.js   |     9 +
 .../es6.object.get-own-property-names.js        |     4 +
 .../modules/es6.object.get-prototype-of.js      |     9 +
 .../core-js/modules/es6.object.is-extensible.js |     8 +
 .../core-js/modules/es6.object.is-frozen.js     |     8 +
 .../core-js/modules/es6.object.is-sealed.js     |     8 +
 node_modules/core-js/modules/es6.object.is.js   |     3 +
 node_modules/core-js/modules/es6.object.keys.js |     9 +
 .../modules/es6.object.prevent-extensions.js    |     9 +
 node_modules/core-js/modules/es6.object.seal.js |     9 +
 .../modules/es6.object.set-prototype-of.js      |     3 +
 .../core-js/modules/es6.object.to-string.js     |    10 +
 node_modules/core-js/modules/es6.parse-float.js |     4 +
 node_modules/core-js/modules/es6.parse-int.js   |     4 +
 node_modules/core-js/modules/es6.promise.js     |   277 +
 .../core-js/modules/es6.reflect.apply.js        |    16 +
 .../core-js/modules/es6.reflect.construct.js    |    47 +
 .../modules/es6.reflect.define-property.js      |    23 +
 .../modules/es6.reflect.delete-property.js      |    11 +
 .../core-js/modules/es6.reflect.enumerate.js    |    26 +
 .../es6.reflect.get-own-property-descriptor.js  |    10 +
 .../modules/es6.reflect.get-prototype-of.js     |    10 +
 node_modules/core-js/modules/es6.reflect.get.js |    21 +
 node_modules/core-js/modules/es6.reflect.has.js |     8 +
 .../modules/es6.reflect.is-extensible.js        |    11 +
 .../core-js/modules/es6.reflect.own-keys.js     |     4 +
 .../modules/es6.reflect.prevent-extensions.js   |    16 +
 .../modules/es6.reflect.set-prototype-of.js     |    15 +
 node_modules/core-js/modules/es6.reflect.set.js |    33 +
 .../core-js/modules/es6.regexp.constructor.js   |    43 +
 .../core-js/modules/es6.regexp.flags.js         |     5 +
 .../core-js/modules/es6.regexp.match.js         |    10 +
 .../core-js/modules/es6.regexp.replace.js       |    12 +
 .../core-js/modules/es6.regexp.search.js        |    10 +
 .../core-js/modules/es6.regexp.split.js         |    71 +
 .../core-js/modules/es6.regexp.to-string.js     |    25 +
 node_modules/core-js/modules/es6.set.js         |    14 +
 .../core-js/modules/es6.string.anchor.js        |     7 +
 node_modules/core-js/modules/es6.string.big.js  |     7 +
 .../core-js/modules/es6.string.blink.js         |     7 +
 node_modules/core-js/modules/es6.string.bold.js |     7 +
 .../core-js/modules/es6.string.code-point-at.js |     9 +
 .../core-js/modules/es6.string.ends-with.js     |    20 +
 .../core-js/modules/es6.string.fixed.js         |     7 +
 .../core-js/modules/es6.string.fontcolor.js     |     7 +
 .../core-js/modules/es6.string.fontsize.js      |     7 +
 .../modules/es6.string.from-code-point.js       |    23 +
 .../core-js/modules/es6.string.includes.js      |    12 +
 .../core-js/modules/es6.string.italics.js       |     7 +
 .../core-js/modules/es6.string.iterator.js      |    17 +
 node_modules/core-js/modules/es6.string.link.js |     7 +
 node_modules/core-js/modules/es6.string.raw.js  |    18 +
 .../core-js/modules/es6.string.repeat.js        |     6 +
 .../core-js/modules/es6.string.small.js         |     7 +
 .../core-js/modules/es6.string.starts-with.js   |    18 +
 .../core-js/modules/es6.string.strike.js        |     7 +
 node_modules/core-js/modules/es6.string.sub.js  |     7 +
 node_modules/core-js/modules/es6.string.sup.js  |     7 +
 node_modules/core-js/modules/es6.string.trim.js |     7 +
 node_modules/core-js/modules/es6.symbol.js      |   234 +
 .../core-js/modules/es6.typed.array-buffer.js   |    46 +
 .../core-js/modules/es6.typed.data-view.js      |     4 +
 .../core-js/modules/es6.typed.float32-array.js  |     5 +
 .../core-js/modules/es6.typed.float64-array.js  |     5 +
 .../core-js/modules/es6.typed.int16-array.js    |     5 +
 .../core-js/modules/es6.typed.int32-array.js    |     5 +
 .../core-js/modules/es6.typed.int8-array.js     |     5 +
 .../core-js/modules/es6.typed.uint16-array.js   |     5 +
 .../core-js/modules/es6.typed.uint32-array.js   |     5 +
 .../core-js/modules/es6.typed.uint8-array.js    |     5 +
 .../modules/es6.typed.uint8-clamped-array.js    |     5 +
 node_modules/core-js/modules/es6.weak-map.js    |    59 +
 node_modules/core-js/modules/es6.weak-set.js    |    14 +
 .../core-js/modules/es7.array.flat-map.js       |    22 +
 .../core-js/modules/es7.array.flatten.js        |    21 +
 .../core-js/modules/es7.array.includes.js       |    12 +
 node_modules/core-js/modules/es7.asap.js        |    12 +
 .../core-js/modules/es7.error.is-error.js       |     9 +
 node_modules/core-js/modules/es7.global.js      |     4 +
 node_modules/core-js/modules/es7.map.from.js    |     2 +
 node_modules/core-js/modules/es7.map.of.js      |     2 +
 node_modules/core-js/modules/es7.map.to-json.js |     4 +
 node_modules/core-js/modules/es7.math.clamp.js  |     8 +
 .../core-js/modules/es7.math.deg-per-rad.js     |     4 +
 .../core-js/modules/es7.math.degrees.js         |     9 +
 node_modules/core-js/modules/es7.math.fscale.js |    10 +
 node_modules/core-js/modules/es7.math.iaddh.js  |    11 +
 node_modules/core-js/modules/es7.math.imulh.js  |    16 +
 node_modules/core-js/modules/es7.math.isubh.js  |    11 +
 .../core-js/modules/es7.math.rad-per-deg.js     |     4 +
 .../core-js/modules/es7.math.radians.js         |     9 +
 node_modules/core-js/modules/es7.math.scale.js  |     4 +
 .../core-js/modules/es7.math.signbit.js         |     7 +
 node_modules/core-js/modules/es7.math.umulh.js  |    16 +
 .../core-js/modules/es7.object.define-getter.js |    12 +
 .../core-js/modules/es7.object.define-setter.js |    12 +
 .../core-js/modules/es7.object.entries.js       |     9 +
 .../es7.object.get-own-property-descriptors.js  |    22 +
 .../core-js/modules/es7.object.lookup-getter.js |    18 +
 .../core-js/modules/es7.object.lookup-setter.js |    18 +
 .../core-js/modules/es7.object.values.js        |     9 +
 node_modules/core-js/modules/es7.observable.js  |   199 +
 .../core-js/modules/es7.promise.finally.js      |    20 +
 node_modules/core-js/modules/es7.promise.try.js |    12 +
 .../modules/es7.reflect.define-metadata.js      |     8 +
 .../modules/es7.reflect.delete-metadata.js      |    15 +
 .../modules/es7.reflect.get-metadata-keys.js    |    19 +
 .../core-js/modules/es7.reflect.get-metadata.js |    17 +
 .../es7.reflect.get-own-metadata-keys.js        |     8 +
 .../modules/es7.reflect.get-own-metadata.js     |     9 +
 .../core-js/modules/es7.reflect.has-metadata.js |    16 +
 .../modules/es7.reflect.has-own-metadata.js     |     9 +
 .../core-js/modules/es7.reflect.metadata.js     |    15 +
 node_modules/core-js/modules/es7.set.from.js    |     2 +
 node_modules/core-js/modules/es7.set.of.js      |     2 +
 node_modules/core-js/modules/es7.set.to-json.js |     4 +
 node_modules/core-js/modules/es7.string.at.js   |    10 +
 .../core-js/modules/es7.string.match-all.js     |    30 +
 .../core-js/modules/es7.string.pad-end.js       |    12 +
 .../core-js/modules/es7.string.pad-start.js     |    12 +
 .../core-js/modules/es7.string.trim-left.js     |     7 +
 .../core-js/modules/es7.string.trim-right.js    |     7 +
 .../modules/es7.symbol.async-iterator.js        |     1 +
 .../core-js/modules/es7.symbol.observable.js    |     1 +
 .../core-js/modules/es7.system.global.js        |     4 +
 .../core-js/modules/es7.weak-map.from.js        |     2 +
 node_modules/core-js/modules/es7.weak-map.of.js |     2 +
 .../core-js/modules/es7.weak-set.from.js        |     2 +
 node_modules/core-js/modules/es7.weak-set.of.js |     2 +
 .../modules/library/_add-to-unscopables.js      |     1 +
 .../core-js/modules/library/_collection.js      |    59 +
 node_modules/core-js/modules/library/_export.js |    62 +
 .../core-js/modules/library/_library.js         |     1 +
 node_modules/core-js/modules/library/_path.js   |     1 +
 .../core-js/modules/library/_redefine-all.js    |     7 +
 .../core-js/modules/library/_redefine.js        |     1 +
 .../core-js/modules/library/_set-species.js     |    14 +
 .../core-js/modules/library/es6.date.to-json.js |    19 +
 .../modules/library/es6.date.to-primitive.js    |     0
 .../modules/library/es6.date.to-string.js       |     0
 .../modules/library/es6.function.name.js        |     0
 .../modules/library/es6.number.constructor.js   |     0
 .../modules/library/es6.object.to-string.js     |     0
 .../modules/library/es6.regexp.constructor.js   |     1 +
 .../core-js/modules/library/es6.regexp.flags.js |     0
 .../core-js/modules/library/es6.regexp.match.js |     0
 .../modules/library/es6.regexp.replace.js       |     0
 .../modules/library/es6.regexp.search.js        |     0
 .../core-js/modules/library/es6.regexp.split.js |     0
 .../modules/library/es6.regexp.to-string.js     |     0
 .../core-js/modules/library/web.dom.iterable.js |    19 +
 .../core-js/modules/web.dom.iterable.js         |    58 +
 node_modules/core-js/modules/web.immediate.js   |     6 +
 node_modules/core-js/modules/web.timers.js      |    20 +
 node_modules/core-js/package.json               |   105 +
 node_modules/core-js/shim.js                    |   197 +
 node_modules/core-js/stage/0.js                 |    10 +
 node_modules/core-js/stage/1.js                 |    23 +
 node_modules/core-js/stage/2.js                 |     4 +
 node_modules/core-js/stage/3.js                 |     4 +
 node_modules/core-js/stage/4.js                 |    11 +
 node_modules/core-js/stage/index.js             |     1 +
 node_modules/core-js/stage/pre.js               |    10 +
 node_modules/core-js/web/dom-collections.js     |     2 +
 node_modules/core-js/web/immediate.js           |     2 +
 node_modules/core-js/web/index.js               |     4 +
 node_modules/core-js/web/timers.js              |     2 +
 node_modules/core-util-is/LICENSE               |    19 +
 node_modules/core-util-is/README.md             |     3 +
 node_modules/core-util-is/float.patch           |   604 +
 node_modules/core-util-is/lib/util.js           |   107 +
 node_modules/core-util-is/package.json          |    71 +
 node_modules/core-util-is/test.js               |    68 +
 node_modules/corser/.npmignore                  |     2 +
 node_modules/corser/.travis.yml                 |     4 +
 node_modules/corser/LICENSE                     |    19 +
 node_modules/corser/README.md                   |   202 +
 node_modules/corser/lib/corser.js               |   228 +
 node_modules/corser/package.json                |    65 +
 node_modules/crc/LICENSE                        |    22 +
 node_modules/crc/README.md                      |   116 +
 node_modules/crc/lib/crc1.js                    |    28 +
 node_modules/crc/lib/crc16.js                   |    31 +
 node_modules/crc/lib/crc16_ccitt.js             |    31 +
 node_modules/crc/lib/crc16_kermit.js            |    31 +
 node_modules/crc/lib/crc16_modbus.js            |    31 +
 node_modules/crc/lib/crc16_xmodem.js            |    35 +
 node_modules/crc/lib/crc24.js                   |    31 +
 node_modules/crc/lib/crc32.js                   |    31 +
 node_modules/crc/lib/crc8.js                    |    31 +
 node_modules/crc/lib/crc8_1wire.js              |    31 +
 node_modules/crc/lib/crcjam.js                  |    33 +
 node_modules/crc/lib/create_buffer.js           |    16 +
 node_modules/crc/lib/define_crc.js              |    16 +
 node_modules/crc/lib/index.js                   |    15 +
 node_modules/crc/package.json                   |    69 +
 node_modules/crc32-stream/CHANGELOG.md          |    12 +
 node_modules/crc32-stream/LICENSE               |    22 +
 node_modules/crc32-stream/README.md             |    79 +
 node_modules/crc32-stream/lib/crc32-stream.js   |    44 +
 .../crc32-stream/lib/deflate-crc32-stream.js    |    69 +
 node_modules/crc32-stream/lib/index.js          |    10 +
 node_modules/crc32-stream/package.json          |    74 +
 node_modules/cross-spawn/.editorconfig          |    15 +
 node_modules/cross-spawn/.eslintrc              |     7 +
 node_modules/cross-spawn/.npmignore             |     3 +
 node_modules/cross-spawn/.travis.yml            |     6 +
 node_modules/cross-spawn/LICENSE                |    19 +
 node_modules/cross-spawn/README.md              |    64 +
 node_modules/cross-spawn/appveyor.yml           |    29 +
 node_modules/cross-spawn/index.js               |    59 +
 node_modules/cross-spawn/lib/enoent.js          |    73 +
 node_modules/cross-spawn/lib/parse.js           |   128 +
 node_modules/cross-spawn/lib/resolveCommand.js  |    31 +
 node_modules/cross-spawn/package.json           |    81 +
 node_modules/cryptiles/.npmignore               |     3 +
 node_modules/cryptiles/LICENSE                  |    28 +
 node_modules/cryptiles/README.md                |    19 +
 node_modules/cryptiles/lib/index.js             |    88 +
 .../cryptiles/node_modules/boom/LICENSE         |    29 +
 .../cryptiles/node_modules/boom/README.md       |   784 +
 .../cryptiles/node_modules/boom/lib/index.js    |   457 +
 .../boom/node_modules/hoek/.npmignore           |     3 +
 .../node_modules/boom/node_modules/hoek/LICENSE |    32 +
 .../boom/node_modules/hoek/README.md            |    30 +
 .../boom/node_modules/hoek/lib/escape.js        |   168 +
 .../boom/node_modules/hoek/lib/index.js         |   961 +
 .../boom/node_modules/hoek/package.json         |    59 +
 .../cryptiles/node_modules/boom/package.json    |    65 +
 .../cryptiles/node_modules/hoek/.npmignore      |     3 +
 .../cryptiles/node_modules/hoek/LICENSE         |    32 +
 .../cryptiles/node_modules/hoek/README.md       |    30 +
 .../cryptiles/node_modules/hoek/lib/escape.js   |   168 +
 .../cryptiles/node_modules/hoek/lib/index.js    |   961 +
 .../cryptiles/node_modules/hoek/package.json    |    56 +
 node_modules/cryptiles/package.json             |    63 +
 node_modules/currently-unhandled/browser.js     |    27 +
 node_modules/currently-unhandled/core.js        |    33 +
 node_modules/currently-unhandled/index.js       |    12 +
 node_modules/currently-unhandled/license        |    21 +
 node_modules/currently-unhandled/package.json   |   107 +
 node_modules/currently-unhandled/readme.md      |    44 +
 node_modules/custom-event/.npmignore            |     2 +
 node_modules/custom-event/.travis.yml           |    29 +
 node_modules/custom-event/History.md            |    16 +
 node_modules/custom-event/LICENSE               |    19 +
 node_modules/custom-event/Makefile              |    29 +
 node_modules/custom-event/README.md             |    36 +
 node_modules/custom-event/index.js              |    48 +
 node_modules/custom-event/package.json          |    63 +
 node_modules/dashdash/CHANGES.md                |   364 +
 node_modules/dashdash/LICENSE.txt               |    24 +
 node_modules/dashdash/README.md                 |   574 +
 .../dashdash/etc/dashdash.bash_completion.in    |   389 +
 node_modules/dashdash/lib/dashdash.js           |  1055 +
 node_modules/dashdash/package.json              |    71 +
 node_modules/data-uri-to-buffer/.npmignore      |     1 +
 node_modules/data-uri-to-buffer/.travis.yml     |    25 +
 node_modules/data-uri-to-buffer/History.md      |    49 +
 node_modules/data-uri-to-buffer/README.md       |    80 +
 node_modules/data-uri-to-buffer/index.js        |    55 +
 node_modules/data-uri-to-buffer/package.json    |    66 +
 node_modules/date-format/.eslintrc              |    24 +
 node_modules/date-format/.npmignore             |    15 +
 node_modules/date-format/.travis.yml            |     7 +
 node_modules/date-format/LICENSE                |    20 +
 node_modules/date-format/README.md              |    40 +
 node_modules/date-format/lib/index.js           |    77 +
 node_modules/date-format/package.json           |    70 +
 node_modules/dateformat/.npmignore              |    57 +
 node_modules/dateformat/.travis.yml             |     4 +
 node_modules/dateformat/LICENSE                 |    20 +
 node_modules/dateformat/Readme.md               |    82 +
 node_modules/dateformat/bin/cli.js              |    75 +
 node_modules/dateformat/lib/dateformat.js       |   226 +
 node_modules/dateformat/package.json            |    79 +
 node_modules/debug/.coveralls.yml               |     1 +
 node_modules/debug/.eslintrc                    |    14 +
 node_modules/debug/.npmignore                   |     9 +
 node_modules/debug/.travis.yml                  |    20 +
 node_modules/debug/CHANGELOG.md                 |   395 +
 node_modules/debug/LICENSE                      |    19 +
 node_modules/debug/Makefile                     |    58 +
 node_modules/debug/README.md                    |   368 +
 node_modules/debug/karma.conf.js                |    70 +
 node_modules/debug/node.js                      |     1 +
 node_modules/debug/package.json                 |    91 +
 node_modules/decamelize/index.js                |    13 +
 node_modules/decamelize/license                 |    21 +
 node_modules/decamelize/package.json            |    76 +
 node_modules/decamelize/readme.md               |    48 +
 node_modules/decompress-response/index.js       |    29 +
 node_modules/decompress-response/license        |    21 +
 node_modules/decompress-response/package.json   |    90 +
 node_modules/decompress-response/readme.md      |    31 +
 node_modules/deep-extend/CHANGELOG.md           |    38 +
 node_modules/deep-extend/LICENSE                |    20 +
 node_modules/deep-extend/README.md              |    93 +
 node_modules/deep-extend/index.js               |     1 +
 node_modules/deep-extend/lib/deep-extend.js     |   150 +
 node_modules/deep-extend/package.json           |    98 +
 node_modules/deep-is/.npmignore                 |     1 +
 node_modules/deep-is/.travis.yml                |     6 +
 node_modules/deep-is/LICENSE                    |    22 +
 node_modules/deep-is/README.markdown            |    70 +
 node_modules/deep-is/example/cmp.js             |    11 +
 node_modules/deep-is/index.js                   |   102 +
 node_modules/deep-is/package.json               |    94 +
 node_modules/degenerator/.npmignore             |     2 +
 node_modules/degenerator/.travis.yml            |    29 +
 node_modules/degenerator/CHANGELOG.md           |    66 +
 node_modules/degenerator/README.md              |   141 +
 node_modules/degenerator/index.js               |   129 +
 .../degenerator/node_modules/.bin/esparse       |     1 +
 .../degenerator/node_modules/.bin/esvalidate    |     1 +
 .../degenerator/node_modules/esprima/ChangeLog  |   209 +
 .../node_modules/esprima/LICENSE.BSD            |    21 +
 .../degenerator/node_modules/esprima/README.md  |    44 +
 .../node_modules/esprima/bin/esparse.js         |   139 +
 .../node_modules/esprima/bin/esvalidate.js      |   236 +
 .../node_modules/esprima/dist/esprima.js        |  6401 +++
 .../node_modules/esprima/package.json           |   139 +
 node_modules/degenerator/package.json           |    61 +
 node_modules/del/index.js                       |    73 +
 node_modules/del/license                        |    21 +
 node_modules/del/package.json                   |    97 +
 node_modules/del/readme.md                      |   106 +
 node_modules/delayed-stream/.npmignore          |     1 +
 node_modules/delayed-stream/License             |    19 +
 node_modules/delayed-stream/Makefile            |     7 +
 node_modules/delayed-stream/Readme.md           |   141 +
 .../delayed-stream/lib/delayed_stream.js        |   107 +
 node_modules/delayed-stream/package.json        |    66 +
 node_modules/delegates/.npmignore               |     1 +
 node_modules/delegates/History.md               |    22 +
 node_modules/delegates/License                  |    20 +
 node_modules/delegates/Makefile                 |     8 +
 node_modules/delegates/Readme.md                |    94 +
 node_modules/delegates/index.js                 |   121 +
 node_modules/delegates/package.json             |    52 +
 node_modules/depd/History.md                    |    96 +
 node_modules/depd/LICENSE                       |    22 +
 node_modules/depd/Readme.md                     |   280 +
 node_modules/depd/index.js                      |   522 +
 node_modules/depd/lib/browser/index.js          |    77 +
 .../depd/lib/compat/callsite-tostring.js        |   103 +
 .../depd/lib/compat/event-listener-count.js     |    22 +
 node_modules/depd/lib/compat/index.js           |    79 +
 node_modules/depd/package.json                  |    81 +
 node_modules/detect-libc/.npmignore             |     7 +
 node_modules/detect-libc/LICENSE                |   201 +
 node_modules/detect-libc/README.md              |    78 +
 node_modules/detect-libc/bin/detect-libc.js     |    18 +
 node_modules/detect-libc/lib/detect-libc.js     |    92 +
 node_modules/detect-libc/package.json           |    74 +
 node_modules/di/LICENSE                         |    20 +
 node_modules/di/README.md                       |    22 +
 node_modules/di/lib/annotation.js               |    37 +
 node_modules/di/lib/index.js                    |     5 +
 node_modules/di/lib/injector.js                 |   131 +
 node_modules/di/lib/module.js                   |    24 +
 node_modules/di/package.json                    |    65 +
 node_modules/dom-serialize/.npmignore           |     2 +
 node_modules/dom-serialize/.travis.yml          |    26 +
 node_modules/dom-serialize/History.md           |    73 +
 node_modules/dom-serialize/Makefile             |    29 +
 node_modules/dom-serialize/README.md            |    81 +
 node_modules/dom-serialize/index.js             |   230 +
 node_modules/dom-serialize/package.json         |    68 +
 node_modules/double-ended-queue/.npmignore      |    31 +
 node_modules/double-ended-queue/LICENSE         |    19 +
 node_modules/double-ended-queue/README.md       |   293 +
 node_modules/double-ended-queue/js/deque.js     |   275 +
 node_modules/double-ended-queue/package.json    |    73 +
 node_modules/each-async/index.js                |    46 +
 node_modules/each-async/license                 |    21 +
 node_modules/each-async/package.json            |    78 +
 node_modules/each-async/readme.md               |    62 +
 node_modules/ecc-jsbn/.npmignore                |    15 +
 node_modules/ecc-jsbn/LICENSE                   |    21 +
 node_modules/ecc-jsbn/README.md                 |     8 +
 node_modules/ecc-jsbn/index.js                  |    57 +
 node_modules/ecc-jsbn/lib/LICENSE-jsbn          |    40 +
 node_modules/ecc-jsbn/lib/ec.js                 |   561 +
 node_modules/ecc-jsbn/lib/sec.js                |   170 +
 node_modules/ecc-jsbn/package.json              |    69 +
 node_modules/ecc-jsbn/test.js                   |    14 +
 node_modules/ecstatic/CHANGELOG.md              |   132 +
 node_modules/ecstatic/CONTRIBUTING.md           |    80 +
 node_modules/ecstatic/CONTRIBUTORS.md           |    66 +
 node_modules/ecstatic/LICENSE.txt               |    22 +
 node_modules/ecstatic/README.md                 |   288 +
 node_modules/ecstatic/example/cli.sh            |     4 +
 node_modules/ecstatic/example/core.js           |    13 +
 node_modules/ecstatic/example/express.js        |    16 +
 .../ecstatic/example/public/beep/index.html     |     1 +
 node_modules/ecstatic/example/public/hello.txt  |     1 +
 .../ecstatic/example/public/subdir/world.txt    |     1 +
 node_modules/ecstatic/example/public/turtle.png |   Bin 0 -> 195848 bytes
 node_modules/ecstatic/lib/ecstatic.js           |   461 +
 node_modules/ecstatic/lib/ecstatic/aliases.json |    35 +
 .../ecstatic/lib/ecstatic/defaults.json         |    18 +
 node_modules/ecstatic/lib/ecstatic/etag.js      |     9 +
 node_modules/ecstatic/lib/ecstatic/opts.js      |   207 +
 .../ecstatic/lib/ecstatic/show-dir/icons.json   |    65 +
 .../ecstatic/lib/ecstatic/show-dir/index.js     |   171 +
 .../lib/ecstatic/show-dir/perms-to-string.js    |    22 +
 .../lib/ecstatic/show-dir/size-to-string.js     |    30 +
 .../lib/ecstatic/show-dir/sort-files.js         |    37 +
 .../ecstatic/lib/ecstatic/show-dir/styles.js    |    20 +
 .../ecstatic/lib/ecstatic/status-handlers.js    |    96 +
 node_modules/ecstatic/package.json              |    82 +
 node_modules/ee-first/LICENSE                   |    22 +
 node_modules/ee-first/README.md                 |    80 +
 node_modules/ee-first/index.js                  |    95 +
 node_modules/ee-first/package.json              |    67 +
 node_modules/encodeurl/HISTORY.md               |    14 +
 node_modules/encodeurl/LICENSE                  |    22 +
 node_modules/encodeurl/README.md                |   128 +
 node_modules/encodeurl/index.js                 |    60 +
 node_modules/encodeurl/package.json             |    79 +
 node_modules/end-of-stream/LICENSE              |    21 +
 node_modules/end-of-stream/README.md            |    52 +
 node_modules/end-of-stream/index.js             |    87 +
 node_modules/end-of-stream/package.json         |    68 +
 node_modules/engine.io-client/LICENSE           |    22 +
 node_modules/engine.io-client/README.md         |   299 +
 node_modules/engine.io-client/engine.io.js      |  4692 +++
 node_modules/engine.io-client/lib/index.js      |    10 +
 node_modules/engine.io-client/lib/socket.js     |   743 +
 node_modules/engine.io-client/lib/transport.js  |   157 +
 .../engine.io-client/lib/transports/index.js    |    53 +
 .../lib/transports/polling-jsonp.js             |   231 +
 .../lib/transports/polling-xhr.js               |   412 +
 .../engine.io-client/lib/transports/polling.js  |   245 +
 .../lib/transports/websocket.js                 |   286 +
 .../engine.io-client/lib/xmlhttprequest.js      |    37 +
 node_modules/engine.io-client/package.json      |   115 +
 node_modules/engine.io-parser/LICENSE           |    22 +
 node_modules/engine.io-parser/Readme.md         |   202 +
 node_modules/engine.io-parser/lib/browser.js    |   606 +
 node_modules/engine.io-parser/lib/index.js      |   480 +
 node_modules/engine.io-parser/lib/keys.js       |    19 +
 node_modules/engine.io-parser/lib/utf8.js       |   255 +
 node_modules/engine.io-parser/package.json      |    66 +
 node_modules/engine.io/LICENSE                  |    19 +
 node_modules/engine.io/README.md                |   539 +
 node_modules/engine.io/lib/engine.io.js         |   126 +
 node_modules/engine.io/lib/server.js            |   581 +
 node_modules/engine.io/lib/socket.js            |   486 +
 node_modules/engine.io/lib/transport.js         |   128 +
 node_modules/engine.io/lib/transports/index.js  |    36 +
 .../engine.io/lib/transports/polling-jsonp.js   |    75 +
 .../engine.io/lib/transports/polling-xhr.js     |    69 +
 .../engine.io/lib/transports/polling.js         |   407 +
 .../engine.io/lib/transports/websocket.js       |   134 +
 node_modules/engine.io/package.json             |   100 +
 node_modules/ent/.npmignore                     |     1 +
 node_modules/ent/.travis.yml                    |     4 +
 node_modules/ent/LICENSE                        |    18 +
 node_modules/ent/decode.js                      |    32 +
 node_modules/ent/encode.js                      |    39 +
 node_modules/ent/entities.json                  |  2233 ++
 node_modules/ent/examples/simple.js             |     3 +
 node_modules/ent/index.js                       |     2 +
 node_modules/ent/package.json                   |    76 +
 node_modules/ent/readme.markdown                |    71 +
 node_modules/ent/reversed.json                  |  1315 +
 node_modules/error-ex/LICENSE                   |    21 +
 node_modules/error-ex/README.md                 |   144 +
 node_modules/error-ex/index.js                  |   133 +
 node_modules/error-ex/package.json              |    90 +
 node_modules/es6-promise/CHANGELOG.md           |    29 +
 node_modules/es6-promise/LICENSE                |    19 +
 node_modules/es6-promise/README.md              |    61 +
 node_modules/es6-promise/dist/es6-promise.js    |   967 +
 .../es6-promise/dist/es6-promise.min.js         |     9 +
 node_modules/es6-promise/lib/es6-promise.umd.js |    18 +
 .../es6-promise/lib/es6-promise/-internal.js    |   252 +
 .../es6-promise/lib/es6-promise/asap.js         |   120 +
 .../es6-promise/lib/es6-promise/enumerator.js   |   113 +
 .../es6-promise/lib/es6-promise/polyfill.js     |    26 +
 .../es6-promise/lib/es6-promise/promise.js      |   415 +
 .../es6-promise/lib/es6-promise/promise/all.js  |    52 +
 .../es6-promise/lib/es6-promise/promise/race.js |   104 +
 .../lib/es6-promise/promise/reject.js           |    46 +
 .../lib/es6-promise/promise/resolve.js          |    48 +
 .../es6-promise/lib/es6-promise/utils.js        |    22 +
 node_modules/es6-promise/package.json           |    97 +
 node_modules/escape-html/LICENSE                |    24 +
 node_modules/escape-html/Readme.md              |    43 +
 node_modules/escape-html/index.js               |    78 +
 node_modules/escape-html/package.json           |    60 +
 node_modules/escape-string-regexp/index.js      |    11 +
 node_modules/escape-string-regexp/license       |    21 +
 node_modules/escape-string-regexp/package.json  |    85 +
 node_modules/escape-string-regexp/readme.md     |    27 +
 node_modules/escodegen/LICENSE.BSD              |    19 +
 node_modules/escodegen/README.md                |    84 +
 node_modules/escodegen/bin/escodegen.js         |    77 +
 node_modules/escodegen/bin/esgenerate.js        |    64 +
 node_modules/escodegen/escodegen.js             |  2601 ++
 .../escodegen/node_modules/.bin/esparse         |     1 +
 .../escodegen/node_modules/.bin/esvalidate      |     1 +
 .../escodegen/node_modules/esprima/ChangeLog    |   209 +
 .../escodegen/node_modules/esprima/LICENSE.BSD  |    21 +
 .../escodegen/node_modules/esprima/README.md    |    44 +
 .../node_modules/esprima/bin/esparse.js         |   139 +
 .../node_modules/esprima/bin/esvalidate.js      |   236 +
 .../node_modules/esprima/dist/esprima.js        |  6401 +++
 .../escodegen/node_modules/esprima/package.json |   139 +
 .../node_modules/source-map/CHANGELOG.md        |   301 +
 .../escodegen/node_modules/source-map/LICENSE   |    28 +
 .../escodegen/node_modules/source-map/README.md |   742 +
 .../source-map/dist/source-map.debug.js         |  3234 ++
 .../node_modules/source-map/dist/source-map.js  |  3233 ++
 .../source-map/dist/source-map.min.js           |     2 +
 .../source-map/dist/source-map.min.js.map       |     1 +
 .../node_modules/source-map/lib/array-set.js    |   121 +
 .../node_modules/source-map/lib/base64-vlq.js   |   140 +
 .../node_modules/source-map/lib/base64.js       |    67 +
 .../source-map/lib/binary-search.js             |   111 +
 .../node_modules/source-map/lib/mapping-list.js |    79 +
 .../node_modules/source-map/lib/quick-sort.js   |   114 +
 .../source-map/lib/source-map-consumer.js       |  1145 +
 .../source-map/lib/source-map-generator.js      |   425 +
 .../node_modules/source-map/lib/source-node.js  |   413 +
 .../node_modules/source-map/lib/util.js         |   488 +
 .../node_modules/source-map/package.json        |   217 +
 .../node_modules/source-map/source-map.d.ts     |    98 +
 .../node_modules/source-map/source-map.js       |     8 +
 node_modules/escodegen/package.json             |    95 +
 node_modules/esprima/ChangeLog                  |   174 +
 node_modules/esprima/LICENSE.BSD                |    21 +
 node_modules/esprima/README.md                  |    27 +
 node_modules/esprima/bin/esparse.js             |   126 +
 node_modules/esprima/bin/esvalidate.js          |   199 +
 node_modules/esprima/esprima.js                 |  5740 +++
 node_modules/esprima/package.json               |   130 +
 node_modules/estraverse/.babelrc                |     3 +
 node_modules/estraverse/.jshintrc               |    16 +
 node_modules/estraverse/LICENSE.BSD             |    19 +
 node_modules/estraverse/estraverse.js           |   849 +
 node_modules/estraverse/gulpfile.js             |    70 +
 node_modules/estraverse/package.json            |    73 +
 node_modules/esutils/LICENSE.BSD                |    19 +
 node_modules/esutils/README.md                  |   169 +
 node_modules/esutils/lib/ast.js                 |   144 +
 node_modules/esutils/lib/code.js                |   135 +
 node_modules/esutils/lib/keyword.js             |   165 +
 node_modules/esutils/lib/utils.js               |    33 +
 node_modules/esutils/package.json               |    82 +
 node_modules/eventemitter2/README.md            |   248 +
 node_modules/eventemitter2/index.js             |     1 +
 node_modules/eventemitter2/lib/eventemitter2.js |   573 +
 node_modules/eventemitter2/package.json         |    87 +
 node_modules/eventemitter3/LICENSE              |    21 +
 node_modules/eventemitter3/README.md            |    92 +
 node_modules/eventemitter3/index.d.ts           |    64 +
 node_modules/eventemitter3/index.js             |   336 +
 node_modules/eventemitter3/package.json         |    88 +
 node_modules/eventemitter3/umd/eventemitter3.js |   340 +
 .../eventemitter3/umd/eventemitter3.min.js      |     1 +
 .../eventemitter3/umd/eventemitter3.min.js.map  |     1 +
 node_modules/exit/.jshintrc                     |    14 +
 node_modules/exit/.npmignore                    |     0
 node_modules/exit/.travis.yml                   |     6 +
 node_modules/exit/LICENSE-MIT                   |    22 +
 node_modules/exit/README.md                     |    75 +
 node_modules/exit/lib/exit.js                   |    41 +
 node_modules/exit/package.json                  |    77 +
 node_modules/expand-braces/LICENSE              |    22 +
 node_modules/expand-braces/index.js             |    40 +
 .../node_modules/braces/.gitattributes          |    14 +
 .../expand-braces/node_modules/braces/.jshintrc |    24 +
 .../node_modules/braces/.npmignore              |    52 +
 .../node_modules/braces/.travis.yml             |     3 +
 .../expand-braces/node_modules/braces/.verb.md  |    90 +
 .../node_modules/braces/LICENSE-MIT             |    22 +
 .../expand-braces/node_modules/braces/README.md |    98 +
 .../braces/benchmark/fixtures/expand-basic.js   |     1 +
 .../braces/benchmark/fixtures/expand-nested.js  |     1 +
 .../braces/benchmark/fixtures/expand-range.js   |     1 +
 .../node_modules/braces/benchmark/index.js      |    11 +
 .../braces/benchmark/libs/brace-expansion.js    |     7 +
 .../braces/benchmark/libs/braces.js             |     7 +
 .../braces/benchmark/libs/minimatch.js          |     1 +
 .../braces/benchmark/libs/pathname-expansion.js |    57 +
 .../node_modules/braces/examples.js             |    41 +
 .../expand-braces/node_modules/braces/index.js  |    96 +
 .../node_modules/braces/package.json            |    93 +
 .../expand-braces/node_modules/braces/test.js   |    99 +
 .../node_modules/expand-range/.gitattributes    |    14 +
 .../node_modules/expand-range/.jshintrc         |    24 +
 .../node_modules/expand-range/.npmignore        |    52 +
 .../node_modules/expand-range/.travis.yml       |     3 +
 .../node_modules/expand-range/.verbrc.md        |    95 +
 .../node_modules/expand-range/LICENSE-MIT       |    22 +
 .../node_modules/expand-range/README.md         |   103 +
 .../expand-range/benchmark/check.js             |    20 +
 .../benchmark/fixtures/alpha-lower.js           |     1 +
 .../benchmark/fixtures/alpha-upper.js           |     1 +
 .../expand-range/benchmark/fixtures/padded.js   |     1 +
 .../expand-range/benchmark/fixtures/range.js    |     1 +
 .../expand-range/benchmark/index.js             |    11 +
 .../benchmark/libs/brace-expansion.js           |    11 +
 .../expand-range/benchmark/libs/expand.js       |     7 +
 .../node_modules/expand-range/index.js          |    65 +
 .../node_modules/expand-range/package.json      |    89 +
 .../node_modules/expand-range/test.js           |    53 +
 .../node_modules/is-number/.gitattributes       |    14 +
 .../node_modules/is-number/.jshintrc            |    22 +
 .../node_modules/is-number/.npmignore           |    52 +
 .../node_modules/is-number/.travis.yml          |     3 +
 .../node_modules/is-number/.verbrc.md           |    96 +
 .../node_modules/is-number/LICENSE-MIT          |    22 +
 .../node_modules/is-number/README.md            |   105 +
 .../node_modules/is-number/index.js             |    12 +
 .../node_modules/is-number/package.json         |    80 +
 .../node_modules/is-number/test.js              |   130 +
 .../node_modules/repeat-string/.gitattributes   |    14 +
 .../node_modules/repeat-string/.jshintrc        |    22 +
 .../node_modules/repeat-string/.npmignore       |    53 +
 .../node_modules/repeat-string/.verbrc.md       |    53 +
 .../node_modules/repeat-string/LICENSE-MIT      |    22 +
 .../node_modules/repeat-string/README.md        |    66 +
 .../node_modules/repeat-string/bower.json       |     7 +
 .../node_modules/repeat-string/index.js         |    28 +
 .../node_modules/repeat-string/package.json     |    71 +
 .../node_modules/repeat-string/test.js          |    41 +
 node_modules/expand-braces/package.json         |   103 +
 node_modules/expand-braces/readme.md            |    70 +
 node_modules/expand-brackets/LICENSE            |    21 +
 node_modules/expand-brackets/README.md          |   107 +
 node_modules/expand-brackets/index.js           |   163 +
 node_modules/expand-brackets/package.json       |    97 +
 node_modules/expand-range/LICENSE               |    24 +
 node_modules/expand-range/README.md             |   145 +
 node_modules/expand-range/index.js              |    43 +
 node_modules/expand-range/package.json          |   108 +
 node_modules/expand-template/.npmignore         |     1 +
 node_modules/expand-template/.travis.yml        |     8 +
 node_modules/expand-template/README.md          |    41 +
 node_modules/expand-template/index.js           |    25 +
 node_modules/expand-template/package.json       |    62 +
 node_modules/expand-template/test.js            |    47 +
 node_modules/extend/.eslintrc                   |    17 +
 node_modules/extend/.jscs.json                  |   175 +
 node_modules/extend/.npmignore                  |     1 +
 node_modules/extend/.travis.yml                 |   179 +
 node_modules/extend/CHANGELOG.md                |    77 +
 node_modules/extend/LICENSE                     |    23 +
 node_modules/extend/README.md                   |    81 +
 node_modules/extend/component.json              |    32 +
 node_modules/extend/index.js                    |    86 +
 node_modules/extend/package.json                |    90 +
 node_modules/extglob/LICENSE                    |    21 +
 node_modules/extglob/README.md                  |    88 +
 node_modules/extglob/index.js                   |   178 +
 node_modules/extglob/package.json               |    89 +
 node_modules/extsprintf/.gitmodules             |     0
 node_modules/extsprintf/.npmignore              |     2 +
 node_modules/extsprintf/LICENSE                 |    19 +
 node_modules/extsprintf/Makefile                |    24 +
 node_modules/extsprintf/Makefile.targ           |   285 +
 node_modules/extsprintf/README.md               |    46 +
 node_modules/extsprintf/jsl.node.conf           |   137 +
 node_modules/extsprintf/lib/extsprintf.js       |   183 +
 node_modules/extsprintf/package.json            |    48 +
 node_modules/fast-deep-equal/LICENSE            |    21 +
 node_modules/fast-deep-equal/README.md          |    55 +
 node_modules/fast-deep-equal/index.d.ts         |     4 +
 node_modules/fast-deep-equal/index.js           |    55 +
 node_modules/fast-deep-equal/package.json       |    89 +
 .../fast-json-stable-stringify/.eslintrc.yml    |    26 +
 .../fast-json-stable-stringify/.npmignore       |     4 +
 .../fast-json-stable-stringify/.travis.yml      |     8 +
 node_modules/fast-json-stable-stringify/LICENSE |    18 +
 .../fast-json-stable-stringify/README.md        |   119 +
 .../benchmark/index.js                          |    31 +
 .../benchmark/test.json                         |   137 +
 .../example/key_cmp.js                          |     7 +
 .../example/nested.js                           |     3 +
 .../fast-json-stable-stringify/example/str.js   |     3 +
 .../example/value_cmp.js                        |     7 +
 .../fast-json-stable-stringify/index.js         |    59 +
 .../fast-json-stable-stringify/package.json     |    82 +
 node_modules/fast-levenshtein/LICENSE.md        |    25 +
 node_modules/fast-levenshtein/README.md         |   104 +
 node_modules/fast-levenshtein/levenshtein.js    |   136 +
 node_modules/fast-levenshtein/package.json      |    76 +
 node_modules/file-uri-to-path/.npmignore        |     1 +
 node_modules/file-uri-to-path/.travis.yml       |    30 +
 node_modules/file-uri-to-path/History.md        |    21 +
 node_modules/file-uri-to-path/LICENSE           |    20 +
 node_modules/file-uri-to-path/README.md         |    74 +
 node_modules/file-uri-to-path/index.d.ts        |     2 +
 node_modules/file-uri-to-path/index.js          |    66 +
 node_modules/file-uri-to-path/package.json      |    66 +
 node_modules/filename-regex/LICENSE             |    21 +
 node_modules/filename-regex/README.md           |    63 +
 node_modules/filename-regex/index.js            |    10 +
 node_modules/filename-regex/package.json        |    85 +
 node_modules/fill-range/LICENSE                 |    21 +
 node_modules/fill-range/README.md               |   290 +
 node_modules/fill-range/index.js                |   408 +
 node_modules/fill-range/package.json            |    96 +
 node_modules/finalhandler/HISTORY.md            |   172 +
 node_modules/finalhandler/LICENSE               |    22 +
 node_modules/finalhandler/README.md             |   148 +
 node_modules/finalhandler/index.js              |   314 +
 .../node_modules/debug/.coveralls.yml           |     1 +
 .../finalhandler/node_modules/debug/.eslintrc   |    11 +
 .../finalhandler/node_modules/debug/.npmignore  |     9 +
 .../finalhandler/node_modules/debug/.travis.yml |    14 +
 .../node_modules/debug/CHANGELOG.md             |   362 +
 .../finalhandler/node_modules/debug/LICENSE     |    19 +
 .../finalhandler/node_modules/debug/Makefile    |    50 +
 .../finalhandler/node_modules/debug/README.md   |   312 +
 .../node_modules/debug/component.json           |    19 +
 .../node_modules/debug/karma.conf.js            |    70 +
 .../finalhandler/node_modules/debug/node.js     |     1 +
 .../node_modules/debug/package.json             |    92 +
 .../node_modules/statuses/HISTORY.md            |    55 +
 .../finalhandler/node_modules/statuses/LICENSE  |    23 +
 .../node_modules/statuses/README.md             |   103 +
 .../node_modules/statuses/codes.json            |    65 +
 .../finalhandler/node_modules/statuses/index.js |   110 +
 .../node_modules/statuses/package.json          |    87 +
 node_modules/finalhandler/package.json          |    86 +
 node_modules/find-up/index.js                   |    53 +
 node_modules/find-up/license                    |    21 +
 node_modules/find-up/package.json               |    88 +
 node_modules/find-up/readme.md                  |    72 +
 node_modules/findup-sync/.npmignore             |     4 +
 node_modules/findup-sync/LICENSE-MIT            |    22 +
 node_modules/findup-sync/README.md              |    48 +
 node_modules/findup-sync/lib/findup-sync.js     |    49 +
 .../findup-sync/node_modules/glob/LICENSE       |    15 +
 .../findup-sync/node_modules/glob/README.md     |   377 +
 .../findup-sync/node_modules/glob/common.js     |   245 +
 .../findup-sync/node_modules/glob/glob.js       |   752 +
 .../findup-sync/node_modules/glob/package.json  |    79 +
 .../findup-sync/node_modules/glob/sync.js       |   460 +
 node_modules/findup-sync/package.json           |    79 +
 node_modules/follow-redirects/LICENSE           |    19 +
 node_modules/follow-redirects/README.md         |   155 +
 node_modules/follow-redirects/http.js           |     1 +
 node_modules/follow-redirects/https.js          |     1 +
 node_modules/follow-redirects/index.js          |   267 +
 node_modules/follow-redirects/package.json      |   101 +
 node_modules/font-awesome/.npmignore            |    42 +
 node_modules/font-awesome/HELP-US-OUT.txt       |     7 +
 node_modules/font-awesome/README.md             |   106 +
 node_modules/font-awesome/css/font-awesome.css  |  2337 ++
 .../font-awesome/css/font-awesome.css.map       |     7 +
 .../font-awesome/css/font-awesome.min.css       |     4 +
 node_modules/font-awesome/fonts/FontAwesome.otf |   Bin 0 -> 134808 bytes
 .../font-awesome/fonts/fontawesome-webfont.eot  |   Bin 0 -> 165742 bytes
 .../font-awesome/fonts/fontawesome-webfont.svg  |  2671 ++
 .../font-awesome/fonts/fontawesome-webfont.ttf  |   Bin 0 -> 165548 bytes
 .../font-awesome/fonts/fontawesome-webfont.woff |   Bin 0 -> 98024 bytes
 .../fonts/fontawesome-webfont.woff2             |   Bin 0 -> 77160 bytes
 node_modules/font-awesome/less/animated.less    |    34 +
 .../font-awesome/less/bordered-pulled.less      |    25 +
 node_modules/font-awesome/less/core.less        |    12 +
 node_modules/font-awesome/less/fixed-width.less |     6 +
 .../font-awesome/less/font-awesome.less         |    18 +
 node_modules/font-awesome/less/icons.less       |   789 +
 node_modules/font-awesome/less/larger.less      |    13 +
 node_modules/font-awesome/less/list.less        |    19 +
 node_modules/font-awesome/less/mixins.less      |    60 +
 node_modules/font-awesome/less/path.less        |    15 +
 .../font-awesome/less/rotated-flipped.less      |    20 +
 .../font-awesome/less/screen-reader.less        |     5 +
 node_modules/font-awesome/less/stacked.less     |    20 +
 node_modules/font-awesome/less/variables.less   |   800 +
 node_modules/font-awesome/package.json          |    78 +
 node_modules/font-awesome/scss/_animated.scss   |    34 +
 .../font-awesome/scss/_bordered-pulled.scss     |    25 +
 node_modules/font-awesome/scss/_core.scss       |    12 +
 .../font-awesome/scss/_fixed-width.scss         |     6 +
 node_modules/font-awesome/scss/_icons.scss      |   789 +
 node_modules/font-awesome/scss/_larger.scss     |    13 +
 node_modules/font-awesome/scss/_list.scss       |    19 +
 node_modules/font-awesome/scss/_mixins.scss     |    60 +
 node_modules/font-awesome/scss/_path.scss       |    15 +
 .../font-awesome/scss/_rotated-flipped.scss     |    20 +
 .../font-awesome/scss/_screen-reader.scss       |     5 +
 node_modules/font-awesome/scss/_stacked.scss    |    20 +
 node_modules/font-awesome/scss/_variables.scss  |   800 +
 .../font-awesome/scss/font-awesome.scss         |    18 +
 node_modules/for-in/LICENSE                     |    21 +
 node_modules/for-in/README.md                   |    85 +
 node_modules/for-in/index.js                    |    16 +
 node_modules/for-in/package.json                |   110 +
 node_modules/for-own/LICENSE                    |    21 +
 node_modules/for-own/README.md                  |    85 +
 node_modules/for-own/index.js                   |    19 +
 node_modules/for-own/package.json               |   113 +
 node_modules/forever-agent/LICENSE              |    55 +
 node_modules/forever-agent/README.md            |     4 +
 node_modules/forever-agent/index.js             |   138 +
 node_modules/forever-agent/package.json         |    56 +
 node_modules/form-data/License                  |    19 +
 node_modules/form-data/README.md                |   234 +
 node_modules/form-data/README.md.bak            |   234 +
 node_modules/form-data/lib/browser.js           |     2 +
 node_modules/form-data/lib/form_data.js         |   457 +
 node_modules/form-data/lib/populate.js          |    10 +
 node_modules/form-data/package.json             |   102 +
 node_modules/fs-access/index.js                 |    41 +
 node_modules/fs-access/license                  |    21 +
 node_modules/fs-access/package.json             |    78 +
 node_modules/fs-access/readme.md                |    51 +
 node_modules/fs-constants/LICENSE               |    21 +
 node_modules/fs-constants/README.md             |    26 +
 node_modules/fs-constants/browser.js            |     1 +
 node_modules/fs-constants/index.js              |     1 +
 node_modules/fs-constants/package.json          |    51 +
 node_modules/fs.realpath/LICENSE                |    43 +
 node_modules/fs.realpath/README.md              |    33 +
 node_modules/fs.realpath/index.js               |    66 +
 node_modules/fs.realpath/old.js                 |   303 +
 node_modules/fs.realpath/package.json           |    65 +
 node_modules/fsevents/.npmignore                |     1 +
 node_modules/fsevents/.travis.yml               |   102 +
 node_modules/fsevents/ISSUE_TEMPLATE.md         |     8 +
 node_modules/fsevents/LICENSE                   |    22 +
 node_modules/fsevents/Readme.md                 |    78 +
 node_modules/fsevents/binding.gyp               |    29 +
 node_modules/fsevents/build/.target.mk          |    53 +
 node_modules/fsevents/build/Makefile            |   352 +
 .../build/Release/.deps/Release/.node.d         |     1 +
 .../build/Release/.deps/Release/fse.node.d      |     1 +
 .../obj.target/action_after_build.stamp.d       |     1 +
 .../.deps/Release/obj.target/fse/fsevents.o.d   |    65 +
 .../Release/node-v48-darwin-x64/fse.node.d      |     1 +
 node_modules/fsevents/build/Release/.node       |   Bin 0 -> 4144 bytes
 node_modules/fsevents/build/Release/fse.node    |   Bin 0 -> 38328 bytes
 .../Release/obj.target/action_after_build.stamp |     0
 .../build/Release/obj.target/fse/fsevents.o     |   Bin 0 -> 301752 bytes
 .../fsevents/build/action_after_build.target.mk |    32 +
 node_modules/fsevents/build/binding.Makefile    |     6 +
 node_modules/fsevents/build/fse.target.mk       |   179 +
 node_modules/fsevents/build/gyp-mac-tool        |   611 +
 .../fse-v1.1.2-node-v48-darwin-x64.tar.gz       |   Bin 0 -> 10817 bytes
 node_modules/fsevents/fsevents.cc               |   100 +
 node_modules/fsevents/fsevents.js               |   108 +
 node_modules/fsevents/install.js                |     7 +
 .../Release/node-v11-darwin-x64/fse.node        |   Bin 0 -> 33384 bytes
 .../Release/node-v46-darwin-x64/fse.node        |   Bin 0 -> 34672 bytes
 .../Release/node-v47-darwin-x64/fse.node        |   Bin 0 -> 34672 bytes
 .../Release/node-v48-darwin-x64/fse.node        |   Bin 0 -> 38328 bytes
 .../Release/node-v57-darwin-x64/fse.node        |   Bin 0 -> 40736 bytes
 .../Release/node-v64-darwin-x64/fse.node        |   Bin 0 -> 39376 bytes
 .../fsevents/node_modules/.bin/detect-libc      |     1 +
 node_modules/fsevents/node_modules/.bin/mkdirp  |     1 +
 node_modules/fsevents/node_modules/.bin/needle  |     1 +
 .../fsevents/node_modules/.bin/node-pre-gyp     |     1 +
 node_modules/fsevents/node_modules/.bin/nopt    |     1 +
 node_modules/fsevents/node_modules/.bin/rc      |     1 +
 node_modules/fsevents/node_modules/.bin/rimraf  |     1 +
 node_modules/fsevents/node_modules/.bin/semver  |     1 +
 .../fsevents/node_modules/abbrev/LICENSE        |    46 +
 .../fsevents/node_modules/abbrev/README.md      |    23 +
 .../fsevents/node_modules/abbrev/abbrev.js      |    61 +
 .../fsevents/node_modules/abbrev/package.json   |    61 +
 .../fsevents/node_modules/ansi-regex/index.js   |     4 +
 .../fsevents/node_modules/ansi-regex/license    |    21 +
 .../node_modules/ansi-regex/package.json        |   112 +
 .../fsevents/node_modules/ansi-regex/readme.md  |    39 +
 .../fsevents/node_modules/aproba/LICENSE        |    14 +
 .../fsevents/node_modules/aproba/README.md      |    94 +
 .../fsevents/node_modules/aproba/index.js       |   105 +
 .../fsevents/node_modules/aproba/package.json   |    67 +
 .../node_modules/are-we-there-yet/CHANGES.md    |    31 +
 .../node_modules/are-we-there-yet/LICENSE       |     5 +
 .../node_modules/are-we-there-yet/README.md     |   195 +
 .../node_modules/are-we-there-yet/index.js      |     4 +
 .../node_modules/are-we-there-yet/package.json  |    68 +
 .../are-we-there-yet/tracker-base.js            |    11 +
 .../are-we-there-yet/tracker-group.js           |   107 +
 .../are-we-there-yet/tracker-stream.js          |    35 +
 .../node_modules/are-we-there-yet/tracker.js    |    30 +
 .../node_modules/balanced-match/.npmignore      |     5 +
 .../node_modules/balanced-match/LICENSE.md      |    21 +
 .../node_modules/balanced-match/README.md       |    91 +
 .../node_modules/balanced-match/index.js        |    59 +
 .../node_modules/balanced-match/package.json    |    81 +
 .../node_modules/brace-expansion/LICENSE        |    21 +
 .../node_modules/brace-expansion/README.md      |   129 +
 .../node_modules/brace-expansion/index.js       |   201 +
 .../node_modules/brace-expansion/package.json   |    79 +
 .../fsevents/node_modules/chownr/LICENSE        |    15 +
 .../fsevents/node_modules/chownr/README.md      |     3 +
 .../fsevents/node_modules/chownr/chownr.js      |    52 +
 .../fsevents/node_modules/chownr/package.json   |    61 +
 .../node_modules/code-point-at/index.js         |    32 +
 .../fsevents/node_modules/code-point-at/license |    21 +
 .../node_modules/code-point-at/package.json     |    74 +
 .../node_modules/code-point-at/readme.md        |    32 +
 .../node_modules/concat-map/.travis.yml         |     4 +
 .../fsevents/node_modules/concat-map/LICENSE    |    18 +
 .../node_modules/concat-map/README.markdown     |    62 +
 .../node_modules/concat-map/example/map.js      |     6 +
 .../fsevents/node_modules/concat-map/index.js   |    13 +
 .../node_modules/concat-map/package.json        |    92 +
 .../console-control-strings/LICENSE             |    13 +
 .../console-control-strings/README.md           |   145 +
 .../console-control-strings/index.js            |   125 +
 .../console-control-strings/package.json        |    65 +
 .../fsevents/node_modules/core-util-is/LICENSE  |    19 +
 .../node_modules/core-util-is/README.md         |     3 +
 .../node_modules/core-util-is/float.patch       |   604 +
 .../node_modules/core-util-is/lib/util.js       |   107 +
 .../node_modules/core-util-is/package.json      |    67 +
 .../fsevents/node_modules/core-util-is/test.js  |    68 +
 .../fsevents/node_modules/debug/.coveralls.yml  |     1 +
 .../fsevents/node_modules/debug/.eslintrc       |    11 +
 .../fsevents/node_modules/debug/.npmignore      |     9 +
 .../fsevents/node_modules/debug/.travis.yml     |    14 +
 .../fsevents/node_modules/debug/CHANGELOG.md    |   362 +
 .../fsevents/node_modules/debug/LICENSE         |    19 +
 .../fsevents/node_modules/debug/Makefile        |    50 +
 .../fsevents/node_modules/debug/README.md       |   312 +
 .../fsevents/node_modules/debug/component.json  |    19 +
 .../fsevents/node_modules/debug/karma.conf.js   |    70 +
 .../fsevents/node_modules/debug/node.js         |     1 +
 .../fsevents/node_modules/debug/package.json    |    93 +
 .../node_modules/deep-extend/CHANGELOG.md       |    21 +
 .../fsevents/node_modules/deep-extend/LICENSE   |    20 +
 .../fsevents/node_modules/deep-extend/README.md |    90 +
 .../fsevents/node_modules/deep-extend/index.js  |     1 +
 .../node_modules/deep-extend/lib/deep-extend.js |   144 +
 .../node_modules/deep-extend/package.json       |    98 +
 .../fsevents/node_modules/delegates/.npmignore  |     1 +
 .../fsevents/node_modules/delegates/History.md  |    22 +
 .../fsevents/node_modules/delegates/License     |    20 +
 .../fsevents/node_modules/delegates/Makefile    |     8 +
 .../fsevents/node_modules/delegates/Readme.md   |    94 +
 .../fsevents/node_modules/delegates/index.js    |   121 +
 .../node_modules/delegates/package.json         |    53 +
 .../node_modules/detect-libc/.npmignore         |     7 +
 .../fsevents/node_modules/detect-libc/LICENSE   |   201 +
 .../fsevents/node_modules/detect-libc/README.md |    78 +
 .../node_modules/detect-libc/bin/detect-libc.js |    18 +
 .../node_modules/detect-libc/lib/detect-libc.js |    92 +
 .../node_modules/detect-libc/package.json       |    75 +
 .../fsevents/node_modules/fs-minipass/LICENSE   |    15 +
 .../fsevents/node_modules/fs-minipass/README.md |    70 +
 .../fsevents/node_modules/fs-minipass/index.js  |   386 +
 .../node_modules/fs-minipass/package.json       |    67 +
 .../fsevents/node_modules/fs.realpath/LICENSE   |    43 +
 .../fsevents/node_modules/fs.realpath/README.md |    33 +
 .../fsevents/node_modules/fs.realpath/index.js  |    66 +
 .../fsevents/node_modules/fs.realpath/old.js    |   303 +
 .../node_modules/fs.realpath/package.json       |    64 +
 .../fsevents/node_modules/gauge/CHANGELOG.md    |   160 +
 .../fsevents/node_modules/gauge/LICENSE         |    13 +
 .../fsevents/node_modules/gauge/README.md       |   399 +
 .../fsevents/node_modules/gauge/base-theme.js   |    14 +
 .../fsevents/node_modules/gauge/error.js        |    24 +
 .../fsevents/node_modules/gauge/has-color.js    |    12 +
 .../fsevents/node_modules/gauge/index.js        |   233 +
 .../fsevents/node_modules/gauge/package.json    |    96 +
 .../fsevents/node_modules/gauge/plumbing.js     |    48 +
 .../fsevents/node_modules/gauge/process.js      |     3 +
 .../fsevents/node_modules/gauge/progress-bar.js |    35 +
 .../node_modules/gauge/render-template.js       |   181 +
 .../node_modules/gauge/set-immediate.js         |     7 +
 .../fsevents/node_modules/gauge/set-interval.js |     3 +
 .../fsevents/node_modules/gauge/spin.js         |     5 +
 .../node_modules/gauge/template-item.js         |    73 +
 .../fsevents/node_modules/gauge/theme-set.js    |   115 +
 .../fsevents/node_modules/gauge/themes.js       |    54 +
 .../node_modules/gauge/wide-truncate.js         |    25 +
 node_modules/fsevents/node_modules/glob/LICENSE |    15 +
 .../fsevents/node_modules/glob/README.md        |   368 +
 .../fsevents/node_modules/glob/changelog.md     |    67 +
 .../fsevents/node_modules/glob/common.js        |   240 +
 node_modules/fsevents/node_modules/glob/glob.js |   790 +
 .../fsevents/node_modules/glob/package.json     |    81 +
 node_modules/fsevents/node_modules/glob/sync.js |   486 +
 .../fsevents/node_modules/has-unicode/LICENSE   |    14 +
 .../fsevents/node_modules/has-unicode/README.md |    43 +
 .../fsevents/node_modules/has-unicode/index.js  |    16 +
 .../node_modules/has-unicode/package.json       |    63 +
 .../node_modules/iconv-lite/.travis.yml         |    23 +
 .../node_modules/iconv-lite/Changelog.md        |   146 +
 .../fsevents/node_modules/iconv-lite/LICENSE    |    21 +
 .../fsevents/node_modules/iconv-lite/README.md  |   156 +
 .../iconv-lite/encodings/dbcs-codec.js          |   555 +
 .../iconv-lite/encodings/dbcs-data.js           |   176 +
 .../node_modules/iconv-lite/encodings/index.js  |    22 +
 .../iconv-lite/encodings/internal.js            |   188 +
 .../iconv-lite/encodings/sbcs-codec.js          |    72 +
 .../iconv-lite/encodings/sbcs-data-generated.js |   451 +
 .../iconv-lite/encodings/sbcs-data.js           |   169 +
 .../iconv-lite/encodings/tables/big5-added.json |   122 +
 .../iconv-lite/encodings/tables/cp936.json      |   264 +
 .../iconv-lite/encodings/tables/cp949.json      |   273 +
 .../iconv-lite/encodings/tables/cp950.json      |   177 +
 .../iconv-lite/encodings/tables/eucjp.json      |   182 +
 .../encodings/tables/gb18030-ranges.json        |     1 +
 .../iconv-lite/encodings/tables/gbk-added.json  |    55 +
 .../iconv-lite/encodings/tables/shiftjis.json   |   125 +
 .../node_modules/iconv-lite/encodings/utf16.js  |   177 +
 .../node_modules/iconv-lite/encodings/utf7.js   |   290 +
 .../node_modules/iconv-lite/lib/bom-handling.js |    52 +
 .../node_modules/iconv-lite/lib/extend-node.js  |   217 +
 .../node_modules/iconv-lite/lib/index.d.ts      |    24 +
 .../node_modules/iconv-lite/lib/index.js        |   153 +
 .../node_modules/iconv-lite/lib/streams.js      |   121 +
 .../node_modules/iconv-lite/package.json        |    81 +
 .../fsevents/node_modules/ignore-walk/LICENSE   |    15 +
 .../fsevents/node_modules/ignore-walk/README.md |    60 +
 .../fsevents/node_modules/ignore-walk/index.js  |   265 +
 .../node_modules/ignore-walk/package.json       |    76 +
 .../fsevents/node_modules/inflight/LICENSE      |    15 +
 .../fsevents/node_modules/inflight/README.md    |    37 +
 .../fsevents/node_modules/inflight/inflight.js  |    54 +
 .../fsevents/node_modules/inflight/package.json |    63 +
 .../fsevents/node_modules/inherits/LICENSE      |    16 +
 .../fsevents/node_modules/inherits/README.md    |    42 +
 .../fsevents/node_modules/inherits/inherits.js  |     7 +
 .../node_modules/inherits/inherits_browser.js   |    23 +
 .../fsevents/node_modules/inherits/package.json |    66 +
 node_modules/fsevents/node_modules/ini/LICENSE  |    15 +
 .../fsevents/node_modules/ini/README.md         |   102 +
 node_modules/fsevents/node_modules/ini/ini.js   |   194 +
 .../fsevents/node_modules/ini/package.json      |    68 +
 .../is-fullwidth-code-point/index.js            |    46 +
 .../is-fullwidth-code-point/license             |    21 +
 .../is-fullwidth-code-point/package.json        |    81 +
 .../is-fullwidth-code-point/readme.md           |    39 +
 .../fsevents/node_modules/isarray/.npmignore    |     1 +
 .../fsevents/node_modules/isarray/.travis.yml   |     4 +
 .../fsevents/node_modules/isarray/Makefile      |     6 +
 .../fsevents/node_modules/isarray/README.md     |    60 +
 .../node_modules/isarray/component.json         |    19 +
 .../fsevents/node_modules/isarray/index.js      |     5 +
 .../fsevents/node_modules/isarray/package.json  |    78 +
 .../fsevents/node_modules/isarray/test.js       |    20 +
 .../fsevents/node_modules/minimatch/LICENSE     |    15 +
 .../fsevents/node_modules/minimatch/README.md   |   209 +
 .../node_modules/minimatch/minimatch.js         |   923 +
 .../node_modules/minimatch/package.json         |    68 +
 .../fsevents/node_modules/minimist/.travis.yml  |     4 +
 .../fsevents/node_modules/minimist/LICENSE      |    18 +
 .../node_modules/minimist/example/parse.js      |     2 +
 .../fsevents/node_modules/minimist/index.js     |   187 +
 .../fsevents/node_modules/minimist/package.json |    75 +
 .../node_modules/minimist/readme.markdown       |    73 +
 .../fsevents/node_modules/minipass/README.md    |    46 +
 .../fsevents/node_modules/minipass/index.js     |   304 +
 .../fsevents/node_modules/minipass/package.json |    73 +
 .../fsevents/node_modules/minizlib/LICENSE      |    26 +
 .../fsevents/node_modules/minizlib/README.md    |    44 +
 .../fsevents/node_modules/minizlib/constants.js |    46 +
 .../fsevents/node_modules/minizlib/index.js     |   364 +
 .../fsevents/node_modules/minizlib/package.json |    76 +
 .../fsevents/node_modules/mkdirp/.travis.yml    |     8 +
 .../fsevents/node_modules/mkdirp/LICENSE        |    21 +
 .../fsevents/node_modules/mkdirp/bin/cmd.js     |    33 +
 .../fsevents/node_modules/mkdirp/bin/usage.txt  |    12 +
 .../node_modules/mkdirp/examples/pow.js         |     6 +
 .../fsevents/node_modules/mkdirp/index.js       |    98 +
 .../fsevents/node_modules/mkdirp/package.json   |    67 +
 .../node_modules/mkdirp/readme.markdown         |   100 +
 node_modules/fsevents/node_modules/ms/index.js  |   152 +
 .../fsevents/node_modules/ms/license.md         |    21 +
 .../fsevents/node_modules/ms/package.json       |    74 +
 node_modules/fsevents/node_modules/ms/readme.md |    51 +
 .../fsevents/node_modules/needle/README.md      |   593 +
 .../fsevents/node_modules/needle/bin/needle     |    40 +
 .../needle/examples/deflated-stream.js          |    22 +
 .../node_modules/needle/examples/digest-auth.js |    16 +
 .../needle/examples/download-to-file.js         |    18 +
 .../needle/examples/multipart-stream.js         |    25 +
 .../needle/examples/parsed-stream.js            |    23 +
 .../needle/examples/parsed-stream2.js           |    21 +
 .../needle/examples/stream-events.js            |    23 +
 .../needle/examples/stream-to-file.js           |    14 +
 .../needle/examples/upload-image.js             |    51 +
 .../fsevents/node_modules/needle/lib/auth.js    |   110 +
 .../fsevents/node_modules/needle/lib/cookies.js |    77 +
 .../fsevents/node_modules/needle/lib/decoder.js |    53 +
 .../node_modules/needle/lib/multipart.js        |    98 +
 .../fsevents/node_modules/needle/lib/needle.js  |   783 +
 .../fsevents/node_modules/needle/lib/parsers.js |   120 +
 .../node_modules/needle/lib/querystring.js      |    49 +
 .../fsevents/node_modules/needle/license.txt    |    19 +
 .../fsevents/node_modules/needle/package.json   |   107 +
 .../node_modules/node-pre-gyp/CHANGELOG.md      |   401 +
 .../fsevents/node_modules/node-pre-gyp/LICENSE  |    27 +
 .../node_modules/node-pre-gyp/README.md         |   661 +
 .../node_modules/node-pre-gyp/appveyor.yml      |    37 +
 .../node_modules/node-pre-gyp/bin/node-pre-gyp  |   134 +
 .../node-pre-gyp/bin/node-pre-gyp.cmd           |     2 +
 .../node_modules/node-pre-gyp/contributing.md   |    10 +
 .../node_modules/node-pre-gyp/lib/build.js      |    51 +
 .../node_modules/node-pre-gyp/lib/clean.js      |    32 +
 .../node_modules/node-pre-gyp/lib/configure.js  |    52 +
 .../node_modules/node-pre-gyp/lib/info.js       |    40 +
 .../node_modules/node-pre-gyp/lib/install.js    |   221 +
 .../node-pre-gyp/lib/node-pre-gyp.js            |   203 +
 .../node_modules/node-pre-gyp/lib/package.js    |    53 +
 .../node-pre-gyp/lib/pre-binding.js             |    30 +
 .../node_modules/node-pre-gyp/lib/publish.js    |    79 +
 .../node_modules/node-pre-gyp/lib/rebuild.js    |    21 +
 .../node_modules/node-pre-gyp/lib/reinstall.js  |    20 +
 .../node_modules/node-pre-gyp/lib/reveal.js     |    33 +
 .../node_modules/node-pre-gyp/lib/testbinary.js |    81 +
 .../node-pre-gyp/lib/testpackage.js             |    55 +
 .../node_modules/node-pre-gyp/lib/unpublish.js  |    43 +
 .../node-pre-gyp/lib/util/abi_crosswalk.json    |  1682 +
 .../node-pre-gyp/lib/util/compile.js            |    87 +
 .../node-pre-gyp/lib/util/handle_gyp_opts.js    |   100 +
 .../node_modules/node-pre-gyp/lib/util/napi.js  |   156 +
 .../node-pre-gyp/lib/util/nw-pre-gyp/index.html |    26 +
 .../lib/util/nw-pre-gyp/package.json            |     9 +
 .../node-pre-gyp/lib/util/s3_setup.js           |    27 +
 .../node-pre-gyp/lib/util/versioning.js         |   330 +
 .../node_modules/node-pre-gyp/package.json      |    92 +
 .../fsevents/node_modules/nopt/.npmignore       |     1 +
 .../fsevents/node_modules/nopt/.travis.yml      |     8 +
 .../fsevents/node_modules/nopt/CHANGELOG.md     |    58 +
 node_modules/fsevents/node_modules/nopt/LICENSE |    15 +
 .../fsevents/node_modules/nopt/README.md        |   213 +
 .../fsevents/node_modules/nopt/bin/nopt.js      |    54 +
 .../node_modules/nopt/examples/my-program.js    |    30 +
 .../fsevents/node_modules/nopt/lib/nopt.js      |   436 +
 .../fsevents/node_modules/nopt/package.json     |    63 +
 .../fsevents/node_modules/npm-bundled/README.md |    46 +
 .../fsevents/node_modules/npm-bundled/index.js  |   227 +
 .../node_modules/npm-bundled/package.json       |    65 +
 .../fsevents/node_modules/npm-packlist/LICENSE  |    15 +
 .../node_modules/npm-packlist/README.md         |    68 +
 .../fsevents/node_modules/npm-packlist/index.js |   220 +
 .../node_modules/npm-packlist/package.json      |    71 +
 .../fsevents/node_modules/npmlog/CHANGELOG.md   |    49 +
 .../fsevents/node_modules/npmlog/LICENSE        |    15 +
 .../fsevents/node_modules/npmlog/README.md      |   216 +
 .../fsevents/node_modules/npmlog/log.js         |   309 +
 .../fsevents/node_modules/npmlog/package.json   |    66 +
 .../node_modules/number-is-nan/index.js         |     4 +
 .../fsevents/node_modules/number-is-nan/license |    21 +
 .../node_modules/number-is-nan/package.json     |    71 +
 .../node_modules/number-is-nan/readme.md        |    28 +
 .../node_modules/object-assign/index.js         |    90 +
 .../fsevents/node_modules/object-assign/license |    21 +
 .../node_modules/object-assign/package.json     |    79 +
 .../node_modules/object-assign/readme.md        |    61 +
 node_modules/fsevents/node_modules/once/LICENSE |    15 +
 .../fsevents/node_modules/once/README.md        |    79 +
 node_modules/fsevents/node_modules/once/once.js |    42 +
 .../fsevents/node_modules/once/package.json     |    71 +
 .../fsevents/node_modules/os-homedir/index.js   |    24 +
 .../fsevents/node_modules/os-homedir/license    |    21 +
 .../node_modules/os-homedir/package.json        |    78 +
 .../fsevents/node_modules/os-homedir/readme.md  |    31 +
 .../fsevents/node_modules/os-tmpdir/index.js    |    25 +
 .../fsevents/node_modules/os-tmpdir/license     |    21 +
 .../node_modules/os-tmpdir/package.json         |    78 +
 .../fsevents/node_modules/os-tmpdir/readme.md   |    32 +
 .../fsevents/node_modules/osenv/LICENSE         |    15 +
 .../fsevents/node_modules/osenv/README.md       |    63 +
 .../fsevents/node_modules/osenv/osenv.js        |    72 +
 .../fsevents/node_modules/osenv/package.json    |    78 +
 .../node_modules/path-is-absolute/index.js      |    20 +
 .../node_modules/path-is-absolute/license       |    21 +
 .../node_modules/path-is-absolute/package.json  |    80 +
 .../node_modules/path-is-absolute/readme.md     |    59 +
 .../node_modules/process-nextick-args/index.js  |    44 +
 .../process-nextick-args/license.md             |    19 +
 .../process-nextick-args/package.json           |    55 +
 .../node_modules/process-nextick-args/readme.md |    18 +
 .../fsevents/node_modules/rc/.npmignore         |     3 +
 .../fsevents/node_modules/rc/LICENSE.APACHE2    |    15 +
 .../fsevents/node_modules/rc/LICENSE.BSD        |    26 +
 .../fsevents/node_modules/rc/LICENSE.MIT        |    24 +
 node_modules/fsevents/node_modules/rc/README.md |   227 +
 .../fsevents/node_modules/rc/browser.js         |     7 +
 node_modules/fsevents/node_modules/rc/cli.js    |     4 +
 node_modules/fsevents/node_modules/rc/index.js  |    53 +
 .../fsevents/node_modules/rc/lib/utils.js       |   104 +
 .../rc/node_modules/minimist/.travis.yml        |     8 +
 .../rc/node_modules/minimist/LICENSE            |    18 +
 .../rc/node_modules/minimist/example/parse.js   |     2 +
 .../rc/node_modules/minimist/index.js           |   236 +
 .../rc/node_modules/minimist/package.json       |    78 +
 .../rc/node_modules/minimist/readme.markdown    |    91 +
 .../fsevents/node_modules/rc/package.json       |    69 +
 .../node_modules/readable-stream/.travis.yml    |    55 +
 .../readable-stream/CONTRIBUTING.md             |    38 +
 .../node_modules/readable-stream/GOVERNANCE.md  |   136 +
 .../node_modules/readable-stream/LICENSE        |    47 +
 .../node_modules/readable-stream/README.md      |    58 +
 .../doc/wg-meetings/2015-01-30.md               |    60 +
 .../readable-stream/duplex-browser.js           |     1 +
 .../node_modules/readable-stream/duplex.js      |     1 +
 .../readable-stream/lib/_stream_duplex.js       |   131 +
 .../readable-stream/lib/_stream_passthrough.js  |    47 +
 .../readable-stream/lib/_stream_readable.js     |  1019 +
 .../readable-stream/lib/_stream_transform.js    |   214 +
 .../readable-stream/lib/_stream_writable.js     |   687 +
 .../lib/internal/streams/BufferList.js          |    79 +
 .../lib/internal/streams/destroy.js             |    74 +
 .../lib/internal/streams/stream-browser.js      |     1 +
 .../lib/internal/streams/stream.js              |     1 +
 .../node_modules/readable-stream/package.json   |    86 +
 .../node_modules/readable-stream/passthrough.js |     1 +
 .../readable-stream/readable-browser.js         |     7 +
 .../node_modules/readable-stream/readable.js    |    19 +
 .../node_modules/readable-stream/transform.js   |     1 +
 .../readable-stream/writable-browser.js         |     1 +
 .../node_modules/readable-stream/writable.js    |     8 +
 .../fsevents/node_modules/rimraf/LICENSE        |    15 +
 .../fsevents/node_modules/rimraf/README.md      |   101 +
 .../fsevents/node_modules/rimraf/bin.js         |    50 +
 .../fsevents/node_modules/rimraf/package.json   |    69 +
 .../fsevents/node_modules/rimraf/rimraf.js      |   364 +
 .../node_modules/safe-buffer/.travis.yml        |     7 +
 .../fsevents/node_modules/safe-buffer/LICENSE   |    21 +
 .../fsevents/node_modules/safe-buffer/README.md |   584 +
 .../fsevents/node_modules/safe-buffer/index.js  |    62 +
 .../node_modules/safe-buffer/package.json       |    69 +
 .../fsevents/node_modules/safe-buffer/test.js   |   101 +
 .../fsevents/node_modules/safer-buffer/LICENSE  |    21 +
 .../node_modules/safer-buffer/Porting-Buffer.md |   268 +
 .../node_modules/safer-buffer/Readme.md         |   156 +
 .../node_modules/safer-buffer/dangerous.js      |    58 +
 .../node_modules/safer-buffer/package.json      |    65 +
 .../fsevents/node_modules/safer-buffer/safer.js |    77 +
 .../fsevents/node_modules/safer-buffer/tests.js |   406 +
 node_modules/fsevents/node_modules/sax/LICENSE  |    41 +
 .../fsevents/node_modules/sax/README.md         |   225 +
 .../fsevents/node_modules/sax/lib/sax.js        |  1565 +
 .../fsevents/node_modules/sax/package.json      |    66 +
 .../fsevents/node_modules/semver/LICENSE        |    15 +
 .../fsevents/node_modules/semver/README.md      |   388 +
 .../fsevents/node_modules/semver/bin/semver     |   143 +
 .../fsevents/node_modules/semver/package.json   |    59 +
 .../fsevents/node_modules/semver/range.bnf      |    16 +
 .../fsevents/node_modules/semver/semver.js      |  1324 +
 .../node_modules/set-blocking/CHANGELOG.md      |    26 +
 .../node_modules/set-blocking/LICENSE.txt       |    14 +
 .../node_modules/set-blocking/README.md         |    31 +
 .../fsevents/node_modules/set-blocking/index.js |     7 +
 .../node_modules/set-blocking/package.json      |    75 +
 .../node_modules/signal-exit/CHANGELOG.md       |    27 +
 .../node_modules/signal-exit/LICENSE.txt        |    16 +
 .../fsevents/node_modules/signal-exit/README.md |    40 +
 .../fsevents/node_modules/signal-exit/index.js  |   157 +
 .../node_modules/signal-exit/package.json       |    71 +
 .../node_modules/signal-exit/signals.js         |    53 +
 .../fsevents/node_modules/string-width/index.js |    37 +
 .../fsevents/node_modules/string-width/license  |    21 +
 .../node_modules/string-width/package.json      |    93 +
 .../node_modules/string-width/readme.md         |    42 +
 .../node_modules/string_decoder/.travis.yml     |    50 +
 .../node_modules/string_decoder/LICENSE         |    48 +
 .../node_modules/string_decoder/README.md       |    47 +
 .../string_decoder/lib/string_decoder.js        |   296 +
 .../node_modules/string_decoder/package.json    |    64 +
 .../fsevents/node_modules/strip-ansi/index.js   |     6 +
 .../fsevents/node_modules/strip-ansi/license    |    21 +
 .../node_modules/strip-ansi/package.json        |   106 +
 .../fsevents/node_modules/strip-ansi/readme.md  |    33 +
 .../node_modules/strip-json-comments/index.js   |    70 +
 .../node_modules/strip-json-comments/license    |    21 +
 .../strip-json-comments/package.json            |    79 +
 .../node_modules/strip-json-comments/readme.md  |    64 +
 node_modules/fsevents/node_modules/tar/LICENSE  |    15 +
 .../fsevents/node_modules/tar/README.md         |   949 +
 node_modules/fsevents/node_modules/tar/index.js |    18 +
 .../fsevents/node_modules/tar/lib/buffer.js     |    11 +
 .../fsevents/node_modules/tar/lib/create.js     |   105 +
 .../fsevents/node_modules/tar/lib/extract.js    |   112 +
 .../fsevents/node_modules/tar/lib/header.js     |   273 +
 .../node_modules/tar/lib/high-level-opt.js      |    29 +
 .../node_modules/tar/lib/large-numbers.js       |    92 +
 .../fsevents/node_modules/tar/lib/list.js       |   130 +
 .../fsevents/node_modules/tar/lib/mkdir.js      |   206 +
 .../fsevents/node_modules/tar/lib/pack.js       |   403 +
 .../fsevents/node_modules/tar/lib/parse.js      |   422 +
 .../fsevents/node_modules/tar/lib/pax.js        |   146 +
 .../fsevents/node_modules/tar/lib/read-entry.js |    94 +
 .../fsevents/node_modules/tar/lib/replace.js    |   220 +
 .../fsevents/node_modules/tar/lib/types.js      |    44 +
 .../fsevents/node_modules/tar/lib/unpack.js     |   560 +
 .../fsevents/node_modules/tar/lib/update.js     |    36 +
 .../fsevents/node_modules/tar/lib/warn-mixin.js |    14 +
 .../fsevents/node_modules/tar/lib/winchars.js   |    23 +
 .../node_modules/tar/lib/write-entry.js         |   403 +
 .../fsevents/node_modules/tar/package.json      |    83 +
 .../node_modules/util-deprecate/History.md      |    16 +
 .../node_modules/util-deprecate/LICENSE         |    24 +
 .../node_modules/util-deprecate/README.md       |    53 +
 .../node_modules/util-deprecate/browser.js      |    67 +
 .../node_modules/util-deprecate/node.js         |     6 +
 .../node_modules/util-deprecate/package.json    |    61 +
 .../fsevents/node_modules/wide-align/LICENSE    |    14 +
 .../fsevents/node_modules/wide-align/README.md  |    47 +
 .../fsevents/node_modules/wide-align/align.js   |    65 +
 .../node_modules/wide-align/package.json        |    71 +
 .../fsevents/node_modules/wrappy/LICENSE        |    15 +
 .../fsevents/node_modules/wrappy/README.md      |    36 +
 .../fsevents/node_modules/wrappy/package.json   |    63 +
 .../fsevents/node_modules/wrappy/wrappy.js      |    33 +
 .../fsevents/node_modules/yallist/LICENSE       |    15 +
 .../fsevents/node_modules/yallist/README.md     |   204 +
 .../fsevents/node_modules/yallist/iterator.js   |     8 +
 .../fsevents/node_modules/yallist/package.json  |    67 +
 .../fsevents/node_modules/yallist/yallist.js    |   376 +
 node_modules/fsevents/package.json              |    82 +
 node_modules/fstream/.npmignore                 |     5 +
 node_modules/fstream/.travis.yml                |     9 +
 node_modules/fstream/LICENSE                    |    15 +
 node_modules/fstream/README.md                  |    76 +
 node_modules/fstream/examples/filter-pipe.js    |   134 +
 node_modules/fstream/examples/pipe.js           |   118 +
 node_modules/fstream/examples/reader.js         |    68 +
 node_modules/fstream/examples/symlink-write.js  |    27 +
 node_modules/fstream/fstream.js                 |    35 +
 node_modules/fstream/lib/abstract.js            |    85 +
 node_modules/fstream/lib/collect.js             |    70 +
 node_modules/fstream/lib/dir-reader.js          |   252 +
 node_modules/fstream/lib/dir-writer.js          |   174 +
 node_modules/fstream/lib/file-reader.js         |   150 +
 node_modules/fstream/lib/file-writer.js         |   107 +
 node_modules/fstream/lib/get-type.js            |    33 +
 node_modules/fstream/lib/link-reader.js         |    53 +
 node_modules/fstream/lib/link-writer.js         |    95 +
 node_modules/fstream/lib/proxy-reader.js        |    95 +
 node_modules/fstream/lib/proxy-writer.js        |   111 +
 node_modules/fstream/lib/reader.js              |   255 +
 node_modules/fstream/lib/socket-reader.js       |    36 +
 node_modules/fstream/lib/writer.js              |   390 +
 node_modules/fstream/package.json               |    66 +
 node_modules/ftp/LICENSE                        |    19 +
 node_modules/ftp/README.md                      |   195 +
 node_modules/ftp/TODO                           |     3 +
 node_modules/ftp/lib/connection.js              |  1070 +
 node_modules/ftp/lib/parser.js                  |   216 +
 node_modules/ftp/node_modules/isarray/README.md |    54 +
 .../ftp/node_modules/isarray/build/build.js     |   209 +
 .../ftp/node_modules/isarray/component.json     |    19 +
 node_modules/ftp/node_modules/isarray/index.js  |     3 +
 .../ftp/node_modules/isarray/package.json       |    62 +
 .../ftp/node_modules/readable-stream/.npmignore |     5 +
 .../ftp/node_modules/readable-stream/LICENSE    |    18 +
 .../ftp/node_modules/readable-stream/README.md  |    15 +
 .../ftp/node_modules/readable-stream/duplex.js  |     1 +
 .../node_modules/readable-stream/float.patch    |   923 +
 .../readable-stream/lib/_stream_duplex.js       |    89 +
 .../readable-stream/lib/_stream_passthrough.js  |    46 +
 .../readable-stream/lib/_stream_readable.js     |   951 +
 .../readable-stream/lib/_stream_transform.js    |   209 +
 .../readable-stream/lib/_stream_writable.js     |   477 +
 .../node_modules/readable-stream/package.json   |    70 +
 .../node_modules/readable-stream/passthrough.js |     1 +
 .../node_modules/readable-stream/readable.js    |    10 +
 .../node_modules/readable-stream/transform.js   |     1 +
 .../node_modules/readable-stream/writable.js    |     1 +
 .../ftp/node_modules/string_decoder/.npmignore  |     2 +
 .../ftp/node_modules/string_decoder/LICENSE     |    20 +
 .../ftp/node_modules/string_decoder/README.md   |     7 +
 .../ftp/node_modules/string_decoder/index.js    |   221 +
 .../node_modules/string_decoder/package.json    |    58 +
 node_modules/ftp/package.json                   |    72 +
 node_modules/gauge/CHANGELOG.md                 |   160 +
 node_modules/gauge/LICENSE                      |    13 +
 node_modules/gauge/README.md                    |   399 +
 node_modules/gauge/base-theme.js                |    14 +
 node_modules/gauge/error.js                     |    24 +
 node_modules/gauge/has-color.js                 |    12 +
 node_modules/gauge/index.js                     |   233 +
 node_modules/gauge/package.json                 |    95 +
 node_modules/gauge/plumbing.js                  |    48 +
 node_modules/gauge/process.js                   |     3 +
 node_modules/gauge/progress-bar.js              |    35 +
 node_modules/gauge/render-template.js           |   181 +
 node_modules/gauge/set-immediate.js             |     7 +
 node_modules/gauge/set-interval.js              |     3 +
 node_modules/gauge/spin.js                      |     5 +
 node_modules/gauge/template-item.js             |    73 +
 node_modules/gauge/theme-set.js                 |   115 +
 node_modules/gauge/themes.js                    |    54 +
 node_modules/gauge/wide-truncate.js             |    25 +
 node_modules/gaze/LICENSE-MIT                   |    22 +
 node_modules/gaze/README.md                     |   195 +
 node_modules/gaze/lib/gaze.js                   |   459 +
 node_modules/gaze/lib/helper.js                 |    84 +
 node_modules/gaze/package.json                  |    83 +
 node_modules/generate-function/.npmignore       |     1 +
 node_modules/generate-function/.travis.yml      |     3 +
 node_modules/generate-function/README.md        |    72 +
 node_modules/generate-function/example.js       |    27 +
 node_modules/generate-function/index.js         |    61 +
 node_modules/generate-function/package.json     |    60 +
 node_modules/generate-function/test.js          |    33 +
 .../generate-object-property/.npmignore         |     1 +
 .../generate-object-property/.travis.yml        |     3 +
 node_modules/generate-object-property/LICENSE   |    21 +
 node_modules/generate-object-property/README.md |    19 +
 node_modules/generate-object-property/index.js  |    12 +
 .../generate-object-property/package.json       |    57 +
 node_modules/generate-object-property/test.js   |    12 +
 node_modules/get-caller-file/README.md          |     4 +
 node_modules/get-caller-file/index.js           |    20 +
 node_modules/get-caller-file/package.json       |    62 +
 node_modules/get-stdin/index.js                 |    49 +
 node_modules/get-stdin/package.json             |    73 +
 node_modules/get-stdin/readme.md                |    44 +
 node_modules/get-uri/.npmignore                 |     2 +
 node_modules/get-uri/.travis.yml                |    25 +
 node_modules/get-uri/History.md                 |   114 +
 node_modules/get-uri/README.md                  |   158 +
 node_modules/get-uri/data.js                    |    62 +
 node_modules/get-uri/file.js                    |    86 +
 node_modules/get-uri/ftp.js                     |   128 +
 node_modules/get-uri/http.js                    |   230 +
 node_modules/get-uri/https.js                   |    24 +
 node_modules/get-uri/index.js                   |    71 +
 .../get-uri/node_modules/debug/.coveralls.yml   |     1 +
 .../get-uri/node_modules/debug/.eslintrc        |    11 +
 .../get-uri/node_modules/debug/.npmignore       |     9 +
 .../get-uri/node_modules/debug/.travis.yml      |    14 +
 .../get-uri/node_modules/debug/CHANGELOG.md     |   362 +
 node_modules/get-uri/node_modules/debug/LICENSE |    19 +
 .../get-uri/node_modules/debug/Makefile         |    50 +
 .../get-uri/node_modules/debug/README.md        |   312 +
 .../get-uri/node_modules/debug/component.json   |    19 +
 .../get-uri/node_modules/debug/karma.conf.js    |    70 +
 node_modules/get-uri/node_modules/debug/node.js |     1 +
 .../get-uri/node_modules/debug/package.json     |    93 +
 node_modules/get-uri/notfound.js                |    28 +
 node_modules/get-uri/notmodified.js             |    28 +
 node_modules/get-uri/package.json               |    83 +
 node_modules/getobject/.jshintrc                |    15 +
 node_modules/getobject/.npmignore               |     1 +
 node_modules/getobject/.travis.yml              |     6 +
 node_modules/getobject/LICENSE-MIT              |    22 +
 node_modules/getobject/README.md                |    20 +
 node_modules/getobject/lib/getobject.js         |    60 +
 node_modules/getobject/package.json             |    73 +
 node_modules/getpass/.npmignore                 |     8 +
 node_modules/getpass/.travis.yml                |     9 +
 node_modules/getpass/LICENSE                    |    18 +
 node_modules/getpass/README.md                  |    32 +
 node_modules/getpass/lib/index.js               |   123 +
 node_modules/getpass/package.json               |    54 +
 node_modules/github-from-package/.travis.yml    |     4 +
 node_modules/github-from-package/LICENSE        |    18 +
 .../github-from-package/example/package.json    |     8 +
 node_modules/github-from-package/example/url.js |     3 +
 node_modules/github-from-package/index.js       |    17 +
 node_modules/github-from-package/package.json   |    63 +
 .../github-from-package/readme.markdown         |    53 +
 node_modules/glob-base/LICENSE                  |    21 +
 node_modules/glob-base/README.md                |   158 +
 node_modules/glob-base/index.js                 |    51 +
 node_modules/glob-base/package.json             |    81 +
 node_modules/glob-parent/.npmignore             |     4 +
 node_modules/glob-parent/.travis.yml            |     8 +
 node_modules/glob-parent/LICENSE                |    15 +
 node_modules/glob-parent/README.md              |    43 +
 node_modules/glob-parent/index.js               |    10 +
 node_modules/glob-parent/package.json           |    67 +
 node_modules/glob-parent/test.js                |    28 +
 node_modules/glob/LICENSE                       |    15 +
 node_modules/glob/README.md                     |   365 +
 node_modules/glob/changelog.md                  |    67 +
 node_modules/glob/common.js                     |   235 +
 node_modules/glob/glob.js                       |   787 +
 node_modules/glob/package.json                  |    92 +
 node_modules/glob/sync.js                       |   468 +
 node_modules/globby/index.js                    |    65 +
 node_modules/globby/license                     |    21 +
 node_modules/globby/package.json                |   106 +
 node_modules/globby/readme.md                   |    82 +
 node_modules/globule/LICENSE                    |    22 +
 node_modules/globule/README.md                  |   130 +
 node_modules/globule/lib/globule.js             |   192 +
 node_modules/globule/node_modules/glob/LICENSE  |    15 +
 .../globule/node_modules/glob/README.md         |   368 +
 .../globule/node_modules/glob/changelog.md      |    67 +
 .../globule/node_modules/glob/common.js         |   240 +
 node_modules/globule/node_modules/glob/glob.js  |   790 +
 .../globule/node_modules/glob/package.json      |    80 +
 node_modules/globule/node_modules/glob/sync.js  |   486 +
 node_modules/globule/package.json               |    86 +
 node_modules/graceful-fs/LICENSE                |    15 +
 node_modules/graceful-fs/README.md              |   133 +
 node_modules/graceful-fs/fs.js                  |    21 +
 node_modules/graceful-fs/graceful-fs.js         |   262 +
 node_modules/graceful-fs/legacy-streams.js      |   118 +
 node_modules/graceful-fs/package.json           |    86 +
 node_modules/graceful-fs/polyfills.js           |   330 +
 node_modules/hammerjs/.bowerrc                  |     3 +
 node_modules/hammerjs/.jscsrc                   |    95 +
 node_modules/hammerjs/.jshintrc                 |    22 +
 node_modules/hammerjs/.npmignore                |    21 +
 node_modules/hammerjs/.travis.yml               |    11 +
 node_modules/hammerjs/CHANGELOG.md              |    54 +
 node_modules/hammerjs/CONTRIBUTING.md           |    41 +
 node_modules/hammerjs/Gruntfile.coffee          |   124 +
 node_modules/hammerjs/LICENSE.md                |    21 +
 node_modules/hammerjs/README.md                 |    51 +
 node_modules/hammerjs/bower.json                |    16 +
 node_modules/hammerjs/changelog.js              |    71 +
 node_modules/hammerjs/component.json            |     8 +
 node_modules/hammerjs/hammer.js                 |  2643 ++
 node_modules/hammerjs/hammer.min.js             |     7 +
 node_modules/hammerjs/hammer.min.js.map         |     1 +
 node_modules/hammerjs/hammer.min.map            |     1 +
 node_modules/hammerjs/package.json              |    84 +
 .../hammerjs/tests/manual/assets/style.css      |    42 +
 .../tests/manual/compute_touch_action.html      |    18 +
 node_modules/hammerjs/tests/manual/input.html   |    51 +
 node_modules/hammerjs/tests/manual/log.html     |    61 +
 .../hammerjs/tests/manual/multiple.html         |    73 +
 node_modules/hammerjs/tests/manual/nested.html  |   217 +
 .../tests/manual/simulator-googlemaps.html      |   100 +
 .../hammerjs/tests/manual/simulator.html        |   118 +
 .../hammerjs/tests/manual/touchaction.html      |    91 +
 node_modules/hammerjs/tests/manual/visual.html  |   211 +
 .../hammerjs/tests/unit/assets/blanket.js       |  5447 +++
 .../hammerjs/tests/unit/assets/jquery.min.js    |     4 +
 .../hammerjs/tests/unit/assets/lodash.compat.js |  7157 ++++
 .../hammerjs/tests/unit/assets/qunit.css        |   237 +
 .../hammerjs/tests/unit/assets/qunit.js         |  2288 ++
 .../hammerjs/tests/unit/assets/utils.js         |    50 +
 .../hammerjs/tests/unit/gestures/test_pan.js    |    63 +
 .../hammerjs/tests/unit/gestures/test_pinch.js  |    43 +
 .../hammerjs/tests/unit/gestures/test_swipe.js  |    29 +
 node_modules/hammerjs/tests/unit/index.html     |    43 +
 node_modules/hammerjs/tests/unit/test_enable.js |   171 +
 node_modules/hammerjs/tests/unit/test_events.js |    61 +
 .../hammerjs/tests/unit/test_gestures.js        |   208 +
 node_modules/hammerjs/tests/unit/test_hammer.js |   187 +
 .../hammerjs/tests/unit/test_jquery_plugin.js   |    59 +
 .../hammerjs/tests/unit/test_multiple_taps.js   |    90 +
 .../unit/test_nested_gesture_recognizers.js     |   167 +
 .../tests/unit/test_propagation_bubble.js       |    56 +
 .../hammerjs/tests/unit/test_require_failure.js |   111 +
 .../tests/unit/test_simultaneous_recognition.js |   234 +
 node_modules/hammerjs/tests/unit/test_utils.js  |   164 +
 node_modules/handlebars/.gitattributes          |     6 +
 node_modules/handlebars/.gitmodules             |     3 +
 node_modules/handlebars/.istanbul.yml           |     2 +
 node_modules/handlebars/.npmignore              |    25 +
 node_modules/handlebars/CONTRIBUTING.md         |    99 +
 node_modules/handlebars/FAQ.md                  |    60 +
 node_modules/handlebars/LICENSE                 |    19 +
 node_modules/handlebars/README.markdown         |   168 +
 node_modules/handlebars/appveyor.yml            |    38 +
 node_modules/handlebars/bin/handlebars          |   128 +
 node_modules/handlebars/dist/amd/handlebars.js  |    51 +
 .../handlebars/dist/amd/handlebars.runtime.js   |    44 +
 .../handlebars/dist/amd/handlebars/base.js      |    96 +
 .../dist/amd/handlebars/compiler/ast.js         |    31 +
 .../dist/amd/handlebars/compiler/base.js        |    36 +
 .../dist/amd/handlebars/compiler/code-gen.js    |   163 +
 .../dist/amd/handlebars/compiler/compiler.js    |   569 +
 .../dist/amd/handlebars/compiler/helpers.js     |   230 +
 .../handlebars/compiler/javascript-compiler.js  |  1120 +
 .../dist/amd/handlebars/compiler/parser.js      |   739 +
 .../dist/amd/handlebars/compiler/printer.js     |   186 +
 .../dist/amd/handlebars/compiler/visitor.js     |   138 +
 .../handlebars/compiler/whitespace-control.js   |   219 +
 .../dist/amd/handlebars/decorators.js           |    16 +
 .../dist/amd/handlebars/decorators/inline.js    |    25 +
 .../handlebars/dist/amd/handlebars/exception.js |    53 +
 .../handlebars/dist/amd/handlebars/helpers.js   |    34 +
 .../handlebars/helpers/block-helper-missing.js  |    35 +
 .../dist/amd/handlebars/helpers/each.js         |    89 +
 .../amd/handlebars/helpers/helper-missing.js    |    22 +
 .../dist/amd/handlebars/helpers/if.js           |    25 +
 .../dist/amd/handlebars/helpers/log.js          |    24 +
 .../dist/amd/handlebars/helpers/lookup.js       |    10 +
 .../dist/amd/handlebars/helpers/with.js         |    29 +
 .../handlebars/dist/amd/handlebars/logger.js    |    44 +
 .../dist/amd/handlebars/no-conflict.js          |    18 +
 .../handlebars/dist/amd/handlebars/runtime.js   |   297 +
 .../dist/amd/handlebars/safe-string.js          |    15 +
 .../handlebars/dist/amd/handlebars/utils.js     |   126 +
 node_modules/handlebars/dist/amd/precompiler.js |   312 +
 node_modules/handlebars/dist/cjs/handlebars.js  |    65 +
 .../handlebars/dist/cjs/handlebars.runtime.js   |    66 +
 .../handlebars/dist/cjs/handlebars/base.js      |   104 +
 .../dist/cjs/handlebars/compiler/ast.js         |    31 +
 .../dist/cjs/handlebars/compiler/base.js        |    48 +
 .../dist/cjs/handlebars/compiler/code-gen.js    |   166 +
 .../dist/cjs/handlebars/compiler/compiler.js    |   573 +
 .../dist/cjs/handlebars/compiler/helpers.js     |   230 +
 .../handlebars/compiler/javascript-compiler.js  |  1128 +
 .../dist/cjs/handlebars/compiler/parser.js      |   739 +
 .../dist/cjs/handlebars/compiler/printer.js     |   186 +
 .../dist/cjs/handlebars/compiler/visitor.js     |   140 +
 .../handlebars/compiler/whitespace-control.js   |   221 +
 .../dist/cjs/handlebars/decorators.js           |    16 +
 .../dist/cjs/handlebars/decorators/inline.js    |    29 +
 .../handlebars/dist/cjs/handlebars/exception.js |    54 +
 .../handlebars/dist/cjs/handlebars/helpers.js   |    46 +
 .../handlebars/helpers/block-helper-missing.js  |    39 +
 .../dist/cjs/handlebars/helpers/each.js         |    94 +
 .../cjs/handlebars/helpers/helper-missing.js    |    25 +
 .../dist/cjs/handlebars/helpers/if.js           |    29 +
 .../dist/cjs/handlebars/helpers/log.js          |    26 +
 .../dist/cjs/handlebars/helpers/lookup.js       |    12 +
 .../dist/cjs/handlebars/helpers/with.js         |    33 +
 .../handlebars/dist/cjs/handlebars/logger.js    |    47 +
 .../dist/cjs/handlebars/no-conflict.js          |    20 +
 .../handlebars/dist/cjs/handlebars/runtime.js   |   307 +
 .../dist/cjs/handlebars/safe-string.js          |    15 +
 .../handlebars/dist/cjs/handlebars/utils.js     |   124 +
 node_modules/handlebars/dist/cjs/precompiler.js |   326 +
 node_modules/handlebars/dist/handlebars.amd.js  |  4352 ++
 .../handlebars/dist/handlebars.amd.min.js       |    29 +
 node_modules/handlebars/dist/handlebars.js      |  4840 +++
 node_modules/handlebars/dist/handlebars.min.js  |    29 +
 .../handlebars/dist/handlebars.runtime.amd.js   |  1046 +
 .../dist/handlebars.runtime.amd.min.js          |    27 +
 .../handlebars/dist/handlebars.runtime.js       |  1468 +
 .../handlebars/dist/handlebars.runtime.min.js   |    27 +
 node_modules/handlebars/docs/compiler-api.md    |   338 +
 node_modules/handlebars/docs/decorators-api.md  |    19 +
 node_modules/handlebars/lib/handlebars.js       |    41 +
 .../handlebars/lib/handlebars.runtime.js        |    37 +
 node_modules/handlebars/lib/handlebars/base.js  |    78 +
 .../handlebars/lib/handlebars/compiler/ast.js   |    28 +
 .../handlebars/lib/handlebars/compiler/base.js  |    24 +
 .../lib/handlebars/compiler/code-gen.js         |   168 +
 .../lib/handlebars/compiler/compiler.js         |   559 +
 .../lib/handlebars/compiler/helpers.js          |   212 +
 .../handlebars/compiler/javascript-compiler.js  |  1137 +
 .../lib/handlebars/compiler/parser.js           |   622 +
 .../lib/handlebars/compiler/printer.js          |   171 +
 .../lib/handlebars/compiler/visitor.js          |   129 +
 .../handlebars/compiler/whitespace-control.js   |   216 +
 .../handlebars/lib/handlebars/decorators.js     |     6 +
 .../lib/handlebars/decorators/inline.js         |    22 +
 .../handlebars/lib/handlebars/exception.js      |    49 +
 .../handlebars/lib/handlebars/helpers.js        |    17 +
 .../handlebars/helpers/block-helper-missing.js  |    32 +
 .../handlebars/lib/handlebars/helpers/each.js   |    79 +
 .../lib/handlebars/helpers/helper-missing.js    |    13 +
 .../handlebars/lib/handlebars/helpers/if.js     |    20 +
 .../handlebars/lib/handlebars/helpers/log.js    |    19 +
 .../handlebars/lib/handlebars/helpers/lookup.js |     5 +
 .../handlebars/lib/handlebars/helpers/with.js   |    24 +
 .../handlebars/lib/handlebars/logger.js         |    35 +
 .../handlebars/lib/handlebars/no-conflict.js    |    13 +
 .../handlebars/lib/handlebars/runtime.js        |   281 +
 .../handlebars/lib/handlebars/safe-string.js    |    10 +
 node_modules/handlebars/lib/handlebars/utils.js |   108 +
 node_modules/handlebars/lib/index.js            |    25 +
 node_modules/handlebars/lib/precompiler.js      |   297 +
 node_modules/handlebars/package-lock.json       |  5492 +++
 node_modules/handlebars/package.json            |   111 +
 node_modules/handlebars/print-script            |    95 +
 node_modules/handlebars/release-notes.md        |   537 +
 node_modules/handlebars/runtime.js              |     3 +
 node_modules/har-schema/LICENSE                 |    13 +
 node_modules/har-schema/README.md               |    49 +
 node_modules/har-schema/lib/afterRequest.json   |    30 +
 node_modules/har-schema/lib/beforeRequest.json  |    30 +
 node_modules/har-schema/lib/browser.json        |    20 +
 node_modules/har-schema/lib/cache.json          |    21 +
 node_modules/har-schema/lib/content.json        |    29 +
 node_modules/har-schema/lib/cookie.json         |    36 +
 node_modules/har-schema/lib/creator.json        |    20 +
 node_modules/har-schema/lib/entry.json          |    53 +
 node_modules/har-schema/lib/har.json            |    13 +
 node_modules/har-schema/lib/header.json         |    20 +
 node_modules/har-schema/lib/index.js            |    22 +
 node_modules/har-schema/lib/log.json            |    36 +
 node_modules/har-schema/lib/page.json           |    32 +
 node_modules/har-schema/lib/pageTimings.json    |    18 +
 node_modules/har-schema/lib/postData.json       |    43 +
 node_modules/har-schema/lib/query.json          |    20 +
 node_modules/har-schema/lib/request.json        |    57 +
 node_modules/har-schema/lib/response.json       |    54 +
 node_modules/har-schema/lib/timings.json        |    42 +
 node_modules/har-schema/package.json            |    90 +
 node_modules/har-validator/LICENSE              |    13 +
 node_modules/har-validator/README.md            |    54 +
 node_modules/har-validator/lib/async.js         |    98 +
 node_modules/har-validator/lib/error.js         |    17 +
 node_modules/har-validator/lib/promise.js       |    95 +
 node_modules/har-validator/package.json         |    79 +
 node_modules/has-ansi/index.js                  |     4 +
 node_modules/has-ansi/license                   |    21 +
 node_modules/has-ansi/package.json              |    99 +
 node_modules/has-ansi/readme.md                 |    36 +
 node_modules/has-binary2/History.md             |    39 +
 node_modules/has-binary2/LICENSE                |    20 +
 node_modules/has-binary2/README.md              |     4 +
 node_modules/has-binary2/index.js               |    62 +
 .../has-binary2/node_modules/isarray/README.md  |    54 +
 .../has-binary2/node_modules/isarray/index.js   |     5 +
 .../node_modules/isarray/package.json           |    80 +
 node_modules/has-binary2/package.json           |    54 +
 node_modules/has-cors/.npmignore                |     3 +
 node_modules/has-cors/History.md                |    21 +
 node_modules/has-cors/Makefile                  |    11 +
 node_modules/has-cors/Readme.md                 |    24 +
 node_modules/has-cors/component.json            |    13 +
 node_modules/has-cors/index.js                  |    17 +
 node_modules/has-cors/package.json              |    70 +
 node_modules/has-cors/test.js                   |    24 +
 node_modules/has-flag/index.js                  |    10 +
 node_modules/has-flag/license                   |    21 +
 node_modules/has-flag/package.json              |    96 +
 node_modules/has-flag/readme.md                 |    64 +
 node_modules/has-unicode/LICENSE                |    14 +
 node_modules/has-unicode/README.md              |    43 +
 node_modules/has-unicode/index.js               |    16 +
 node_modules/has-unicode/package.json           |    62 +
 node_modules/hawk/.npmignore                    |     5 +
 node_modules/hawk/LICENSE                       |    28 +
 node_modules/hawk/README.md                     |   637 +
 node_modules/hawk/client.js                     |     3 +
 node_modules/hawk/dist/browser.js               |   793 +
 node_modules/hawk/lib/browser.js                |   653 +
 node_modules/hawk/lib/client.js                 |   394 +
 node_modules/hawk/lib/crypto.js                 |   128 +
 node_modules/hawk/lib/index.js                  |    17 +
 node_modules/hawk/lib/server.js                 |   550 +
 node_modules/hawk/lib/utils.js                  |   186 +
 node_modules/hawk/node_modules/hoek/.npmignore  |     3 +
 node_modules/hawk/node_modules/hoek/LICENSE     |    32 +
 node_modules/hawk/node_modules/hoek/README.md   |    30 +
 .../hawk/node_modules/hoek/lib/escape.js        |   168 +
 .../hawk/node_modules/hoek/lib/index.js         |   961 +
 .../hawk/node_modules/hoek/package.json         |    59 +
 node_modules/hawk/package.json                  |    82 +
 node_modules/he/LICENSE-MIT.txt                 |    20 +
 node_modules/he/README.md                       |   379 +
 node_modules/he/bin/he                          |   148 +
 node_modules/he/he.js                           |   342 +
 node_modules/he/man/he.1                        |    78 +
 node_modules/he/package.json                    |    92 +
 node_modules/hipchat-notifier/.npmignore        |    44 +
 node_modules/hipchat-notifier/README.md         |    73 +
 .../hipchat-notifier/example/example.js         |    56 +
 .../hipchat-notifier/example/screenshot.png     |   Bin 0 -> 103976 bytes
 node_modules/hipchat-notifier/index.js          |    97 +
 node_modules/hipchat-notifier/package.json      |    47 +
 node_modules/hooker/LICENSE-MIT                 |    22 +
 node_modules/hooker/README.md                   |   186 +
 node_modules/hooker/child.js                    |   101 +
 node_modules/hooker/dist/ba-hooker.js           |   169 +
 node_modules/hooker/dist/ba-hooker.min.js       |     4 +
 node_modules/hooker/grunt.js                    |    47 +
 node_modules/hooker/lib/hooker.js               |   174 +
 node_modules/hooker/package.json                |    71 +
 node_modules/hooker/parent.js                   |    17 +
 node_modules/hosted-git-info/CHANGELOG.md       |    17 +
 node_modules/hosted-git-info/LICENSE            |    13 +
 node_modules/hosted-git-info/README.md          |   133 +
 node_modules/hosted-git-info/git-host-info.js   |    78 +
 node_modules/hosted-git-info/git-host.js        |   129 +
 node_modules/hosted-git-info/index.js           |   121 +
 node_modules/hosted-git-info/package.json       |    75 +
 node_modules/http-errors/HISTORY.md             |   132 +
 node_modules/http-errors/LICENSE                |    23 +
 node_modules/http-errors/README.md              |   135 +
 node_modules/http-errors/index.js               |   260 +
 node_modules/http-errors/package.json           |    94 +
 node_modules/http-proxy-agent/.npmignore        |     1 +
 node_modules/http-proxy-agent/.travis.yml       |     8 +
 node_modules/http-proxy-agent/History.md        |    84 +
 node_modules/http-proxy-agent/README.md         |    74 +
 .../http-proxy-agent/http-proxy-agent.js        |   110 +
 .../node_modules/debug/.coveralls.yml           |     1 +
 .../node_modules/debug/.eslintrc                |    11 +
 .../node_modules/debug/.npmignore               |     9 +
 .../node_modules/debug/.travis.yml              |    14 +
 .../node_modules/debug/CHANGELOG.md             |   362 +
 .../http-proxy-agent/node_modules/debug/LICENSE |    19 +
 .../node_modules/debug/Makefile                 |    50 +
 .../node_modules/debug/README.md                |   312 +
 .../node_modules/debug/component.json           |    19 +
 .../node_modules/debug/karma.conf.js            |    70 +
 .../http-proxy-agent/node_modules/debug/node.js |     1 +
 .../node_modules/debug/package.json             |    92 +
 node_modules/http-proxy-agent/package.json      |    70 +
 .../964792f65a1be0c07a24aa0ccfb5d038.json       |     1 +
 .../a290d7f5908ec7d06d33ee34e792483c.json       |     1 +
 .../bb60b90ed8ee70af09b130b7e0e44671.json       |     1 +
 node_modules/http-proxy/CODE_OF_CONDUCT.md      |    74 +
 node_modules/http-proxy/LICENSE                 |    23 +
 node_modules/http-proxy/README.md               |   568 +
 node_modules/http-proxy/codecov.yml             |    10 +
 .../http-proxy/coverage/lcov-report/base.css    |   223 +
 .../coverage/lcov-report/block-navigation.js    |    63 +
 .../lcov-report/http-proxy/common.js.html       |   813 +
 .../coverage/lcov-report/http-proxy/index.html  |    97 +
 .../lcov-report/http-proxy/passes/index.html    |   110 +
 .../http-proxy/passes/web-incoming.js.html      |   639 +
 .../http-proxy/passes/web-outgoing.js.html      |   507 +
 .../http-proxy/coverage/lcov-report/index.html  |   123 +
 .../coverage/lcov-report/lib/http-proxy.js.html |   267 +
 .../lcov-report/lib/http-proxy/common.js.html   |   813 +
 .../lcov-report/lib/http-proxy/index.html       |   110 +
 .../lcov-report/lib/http-proxy/index.js.html    |   624 +
 .../lib/http-proxy/passes/index.html            |   123 +
 .../lib/http-proxy/passes/web-incoming.js.html  |   645 +
 .../lib/http-proxy/passes/web-outgoing.js.html  |   510 +
 .../lib/http-proxy/passes/ws-incoming.js.html   |   555 +
 .../coverage/lcov-report/lib/index.html         |    97 +
 .../coverage/lcov-report/prettify.css           |     1 +
 .../http-proxy/coverage/lcov-report/prettify.js |     1 +
 .../coverage/lcov-report/sort-arrow-sprite.png  |   Bin 0 -> 209 bytes
 .../http-proxy/coverage/lcov-report/sorter.js   |   158 +
 node_modules/http-proxy/coverage/lcov.info      |   767 +
 node_modules/http-proxy/index.js                |    13 +
 node_modules/http-proxy/lib/http-proxy.js       |    66 +
 .../http-proxy/lib/http-proxy/common.js         |   248 +
 node_modules/http-proxy/lib/http-proxy/index.js |   185 +
 .../lib/http-proxy/passes/web-incoming.js       |   192 +
 .../lib/http-proxy/passes/web-outgoing.js       |   147 +
 .../lib/http-proxy/passes/ws-incoming.js        |   162 +
 node_modules/http-proxy/package.json            |    79 +
 node_modules/http-server/LICENSE                |    20 +
 node_modules/http-server/README.md              |    76 +
 node_modules/http-server/bin/http-server        |   178 +
 node_modules/http-server/lib/http-server.js     |   143 +
 .../http-server/node_modules/colors/.travis.yml |     6 +
 .../node_modules/colors/MIT-LICENSE.txt         |    23 +
 .../http-server/node_modules/colors/ReadMe.md   |   167 +
 .../colors/examples/normal-usage.js             |    74 +
 .../node_modules/colors/examples/safe-string.js |    76 +
 .../node_modules/colors/lib/colors.js           |   176 +
 .../node_modules/colors/lib/custom/trap.js      |    45 +
 .../node_modules/colors/lib/custom/zalgo.js     |   104 +
 .../colors/lib/extendStringPrototype.js         |   118 +
 .../node_modules/colors/lib/index.js            |    12 +
 .../node_modules/colors/lib/maps/america.js     |    12 +
 .../node_modules/colors/lib/maps/rainbow.js     |    13 +
 .../node_modules/colors/lib/maps/random.js      |     8 +
 .../node_modules/colors/lib/maps/zebra.js       |     5 +
 .../node_modules/colors/lib/styles.js           |    77 +
 .../colors/lib/system/supports-colors.js        |    61 +
 .../node_modules/colors/package.json            |    58 +
 .../http-server/node_modules/colors/safe.js     |     9 +
 .../node_modules/colors/screenshots/colors.png  |   Bin 0 -> 79787 bytes
 .../node_modules/colors/tests/basic-test.js     |    50 +
 .../node_modules/colors/tests/safe-test.js      |    45 +
 .../colors/themes/generic-logging.js            |    12 +
 node_modules/http-server/package.json           |   122 +
 node_modules/http-signature/.dir-locals.el      |     6 +
 node_modules/http-signature/.npmignore          |     7 +
 node_modules/http-signature/CHANGES.md          |    46 +
 node_modules/http-signature/LICENSE             |    18 +
 node_modules/http-signature/README.md           |    79 +
 node_modules/http-signature/http_signing.md     |   363 +
 node_modules/http-signature/lib/index.js        |    29 +
 node_modules/http-signature/lib/parser.js       |   315 +
 node_modules/http-signature/lib/signer.js       |   401 +
 node_modules/http-signature/lib/utils.js        |   112 +
 node_modules/http-signature/lib/verify.js       |    88 +
 node_modules/http-signature/package.json        |    81 +
 node_modules/https-proxy-agent/.npmignore       |     2 +
 node_modules/https-proxy-agent/.travis.yml      |     8 +
 node_modules/https-proxy-agent/History.md       |    90 +
 node_modules/https-proxy-agent/README.md        |   141 +
 .../https-proxy-agent/https-proxy-agent.js      |   202 +
 .../node_modules/debug/.coveralls.yml           |     1 +
 .../node_modules/debug/.eslintrc                |    11 +
 .../node_modules/debug/.npmignore               |     9 +
 .../node_modules/debug/.travis.yml              |    14 +
 .../node_modules/debug/CHANGELOG.md             |   362 +
 .../node_modules/debug/LICENSE                  |    19 +
 .../node_modules/debug/Makefile                 |    50 +
 .../node_modules/debug/README.md                |   312 +
 .../node_modules/debug/component.json           |    19 +
 .../node_modules/debug/karma.conf.js            |    70 +
 .../node_modules/debug/node.js                  |     1 +
 .../node_modules/debug/package.json             |    92 +
 node_modules/https-proxy-agent/package.json     |    72 +
 node_modules/iconv-lite/.travis.yml             |    23 +
 node_modules/iconv-lite/Changelog.md            |   146 +
 node_modules/iconv-lite/LICENSE                 |    21 +
 node_modules/iconv-lite/README.md               |   156 +
 node_modules/iconv-lite/encodings/dbcs-codec.js |   555 +
 node_modules/iconv-lite/encodings/dbcs-data.js  |   176 +
 node_modules/iconv-lite/encodings/index.js      |    22 +
 node_modules/iconv-lite/encodings/internal.js   |   188 +
 node_modules/iconv-lite/encodings/sbcs-codec.js |    72 +
 .../iconv-lite/encodings/sbcs-data-generated.js |   451 +
 node_modules/iconv-lite/encodings/sbcs-data.js  |   169 +
 .../iconv-lite/encodings/tables/big5-added.json |   122 +
 .../iconv-lite/encodings/tables/cp936.json      |   264 +
 .../iconv-lite/encodings/tables/cp949.json      |   273 +
 .../iconv-lite/encodings/tables/cp950.json      |   177 +
 .../iconv-lite/encodings/tables/eucjp.json      |   182 +
 .../encodings/tables/gb18030-ranges.json        |     1 +
 .../iconv-lite/encodings/tables/gbk-added.json  |    55 +
 .../iconv-lite/encodings/tables/shiftjis.json   |   125 +
 node_modules/iconv-lite/encodings/utf16.js      |   177 +
 node_modules/iconv-lite/encodings/utf7.js       |   290 +
 node_modules/iconv-lite/lib/bom-handling.js     |    52 +
 node_modules/iconv-lite/lib/extend-node.js      |   217 +
 node_modules/iconv-lite/lib/index.d.ts          |    24 +
 node_modules/iconv-lite/lib/index.js            |   153 +
 node_modules/iconv-lite/lib/streams.js          |   121 +
 node_modules/iconv-lite/package.json            |    80 +
 node_modules/iltorb/CHANGELOG.md                |   219 +
 node_modules/iltorb/LICENSE                     |    21 +
 node_modules/iltorb/README.md                   |   136 +
 node_modules/iltorb/binding.gyp                 |    70 +
 node_modules/iltorb/brotli/LICENSE              |    19 +
 node_modules/iltorb/brotli/README.md            |    71 +
 node_modules/iltorb/brotli/common/constants.h   |    55 +
 node_modules/iltorb/brotli/common/dictionary.c  |  5886 +++
 node_modules/iltorb/brotli/common/dictionary.h  |    50 +
 node_modules/iltorb/brotli/common/version.h     |    19 +
 node_modules/iltorb/brotli/dec/bit_reader.c     |    48 +
 node_modules/iltorb/brotli/dec/bit_reader.h     |   360 +
 node_modules/iltorb/brotli/dec/context.h        |   251 +
 node_modules/iltorb/brotli/dec/decode.c         |  2365 ++
 node_modules/iltorb/brotli/dec/huffman.c        |   358 +
 node_modules/iltorb/brotli/dec/huffman.h        |    68 +
 node_modules/iltorb/brotli/dec/port.h           |   168 +
 node_modules/iltorb/brotli/dec/prefix.h         |   751 +
 node_modules/iltorb/brotli/dec/state.c          |   169 +
 node_modules/iltorb/brotli/dec/state.h          |   250 +
 node_modules/iltorb/brotli/dec/transform.h      |   300 +
 .../iltorb/brotli/enc/backward_references.c     |   130 +
 .../iltorb/brotli/enc/backward_references.h     |    39 +
 .../iltorb/brotli/enc/backward_references_hq.c  |   790 +
 .../iltorb/brotli/enc/backward_references_hq.h  |    99 +
 .../iltorb/brotli/enc/backward_references_inc.h |   143 +
 node_modules/iltorb/brotli/enc/bit_cost.c       |    35 +
 node_modules/iltorb/brotli/enc/bit_cost.h       |    63 +
 node_modules/iltorb/brotli/enc/bit_cost_inc.h   |   127 +
 .../iltorb/brotli/enc/block_encoder_inc.h       |    33 +
 node_modules/iltorb/brotli/enc/block_splitter.c |   197 +
 node_modules/iltorb/brotli/enc/block_splitter.h |    51 +
 .../iltorb/brotli/enc/block_splitter_inc.h      |   432 +
 .../iltorb/brotli/enc/brotli_bit_stream.c       |  1341 +
 .../iltorb/brotli/enc/brotli_bit_stream.h       |   107 +
 node_modules/iltorb/brotli/enc/cluster.c        |    56 +
 node_modules/iltorb/brotli/enc/cluster.h        |    48 +
 node_modules/iltorb/brotli/enc/cluster_inc.h    |   315 +
 node_modules/iltorb/brotli/enc/command.h        |   177 +
 .../iltorb/brotli/enc/compress_fragment.c       |   791 +
 .../iltorb/brotli/enc/compress_fragment.h       |    61 +
 .../brotli/enc/compress_fragment_two_pass.c     |   612 +
 .../brotli/enc/compress_fragment_two_pass.h     |    54 +
 node_modules/iltorb/brotli/enc/context.h        |   184 +
 .../iltorb/brotli/enc/dictionary_hash.c         |  1120 +
 .../iltorb/brotli/enc/dictionary_hash.h         |    24 +
 node_modules/iltorb/brotli/enc/encode.c         |  1814 +
 node_modules/iltorb/brotli/enc/entropy_encode.c |   501 +
 node_modules/iltorb/brotli/enc/entropy_encode.h |   122 +
 .../iltorb/brotli/enc/entropy_encode_static.h   |   539 +
 node_modules/iltorb/brotli/enc/fast_log.h       |   145 +
 .../iltorb/brotli/enc/find_match_length.h       |    80 +
 node_modules/iltorb/brotli/enc/hash.h           |   470 +
 .../brotli/enc/hash_forgetful_chain_inc.h       |   256 +
 .../brotli/enc/hash_longest_match64_inc.h       |   269 +
 .../iltorb/brotli/enc/hash_longest_match_inc.h  |   261 +
 .../brotli/enc/hash_longest_match_quickly_inc.h |   232 +
 .../iltorb/brotli/enc/hash_to_binary_tree_inc.h |   322 +
 node_modules/iltorb/brotli/enc/histogram.c      |    97 +
 node_modules/iltorb/brotli/enc/histogram.h      |    60 +
 node_modules/iltorb/brotli/enc/histogram_inc.h  |    51 +
 node_modules/iltorb/brotli/enc/literal_cost.c   |   175 +
 node_modules/iltorb/brotli/enc/literal_cost.h   |    30 +
 node_modules/iltorb/brotli/enc/memory.c         |   181 +
 node_modules/iltorb/brotli/enc/memory.h         |    63 +
 node_modules/iltorb/brotli/enc/metablock.c      |   528 +
 node_modules/iltorb/brotli/enc/metablock.h      |   100 +
 node_modules/iltorb/brotli/enc/metablock_inc.h  |   183 +
 node_modules/iltorb/brotli/enc/port.h           |   160 +
 node_modules/iltorb/brotli/enc/prefix.h         |    54 +
 node_modules/iltorb/brotli/enc/quality.h        |   160 +
 node_modules/iltorb/brotli/enc/ringbuffer.h     |   160 +
 node_modules/iltorb/brotli/enc/static_dict.c    |   482 +
 node_modules/iltorb/brotli/enc/static_dict.h    |    39 +
 .../iltorb/brotli/enc/static_dict_lut.h         |  5864 +++
 node_modules/iltorb/brotli/enc/utf8_util.c      |    85 +
 node_modules/iltorb/brotli/enc/utf8_util.h      |    32 +
 node_modules/iltorb/brotli/enc/write_bits.h     |    90 +
 .../iltorb/brotli/include/brotli/decode.h       |   338 +
 .../iltorb/brotli/include/brotli/encode.h       |   440 +
 .../iltorb/brotli/include/brotli/port.h         |   146 +
 .../iltorb/brotli/include/brotli/types.h        |    90 +
 node_modules/iltorb/build/Makefile              |   347 +
 .../build/Release/.deps/Release/iltorb.node.d   |     1 +
 .../obj.target/action_after_build.stamp.d       |     1 +
 .../iltorb/brotli/common/dictionary.o.d         |     8 +
 .../obj.target/iltorb/brotli/dec/bit_reader.o.d |    10 +
 .../obj.target/iltorb/brotli/dec/decode.o.d     |    23 +
 .../obj.target/iltorb/brotli/dec/huffman.o.d    |    11 +
 .../obj.target/iltorb/brotli/dec/state.o.d      |    15 +
 .../iltorb/brotli/enc/backward_references.o.d   |    42 +
 .../brotli/enc/backward_references_hq.o.d       |    40 +
 .../obj.target/iltorb/brotli/enc/bit_cost.o.d   |    27 +
 .../iltorb/brotli/enc/block_splitter.o.d        |    31 +
 .../iltorb/brotli/enc/brotli_bit_stream.o.d     |    34 +
 .../obj.target/iltorb/brotli/enc/cluster.o.d    |    29 +
 .../iltorb/brotli/enc/compress_fragment.o.d     |    34 +
 .../brotli/enc/compress_fragment_two_pass.o.d   |    36 +
 .../iltorb/brotli/enc/dictionary_hash.o.d       |     8 +
 .../obj.target/iltorb/brotli/enc/encode.o.d     |    60 +
 .../iltorb/brotli/enc/entropy_encode.o.d        |    11 +
 .../obj.target/iltorb/brotli/enc/histogram.o.d  |    25 +
 .../iltorb/brotli/enc/literal_cost.o.d          |    13 +
 .../obj.target/iltorb/brotli/enc/memory.o.d     |     9 +
 .../obj.target/iltorb/brotli/enc/metablock.o.d  |    34 +
 .../iltorb/brotli/enc/static_dict.o.d           |    14 +
 .../obj.target/iltorb/brotli/enc/utf8_util.o.d  |    10 +
 .../build/Release/build/bindings/iltorb.node.d  |     1 +
 node_modules/iltorb/build/Release/iltorb.node   |   Bin 0 -> 865768 bytes
 .../Release/obj.target/action_after_build.stamp |     0
 .../iltorb/brotli/common/dictionary.o           |   Bin 0 -> 125808 bytes
 .../obj.target/iltorb/brotli/dec/bit_reader.o   |   Bin 0 -> 3724 bytes
 .../obj.target/iltorb/brotli/dec/decode.o       |   Bin 0 -> 171792 bytes
 .../obj.target/iltorb/brotli/dec/huffman.o      |   Bin 0 -> 15764 bytes
 .../obj.target/iltorb/brotli/dec/state.o        |   Bin 0 -> 15416 bytes
 .../iltorb/brotli/enc/backward_references.o     |   Bin 0 -> 301060 bytes
 .../iltorb/brotli/enc/backward_references_hq.o  |   Bin 0 -> 101240 bytes
 .../obj.target/iltorb/brotli/enc/bit_cost.o     |   Bin 0 -> 25120 bytes
 .../iltorb/brotli/enc/block_splitter.o          |   Bin 0 -> 90300 bytes
 .../iltorb/brotli/enc/brotli_bit_stream.o       |   Bin 0 -> 146356 bytes
 .../obj.target/iltorb/brotli/enc/cluster.o      |   Bin 0 -> 58168 bytes
 .../iltorb/brotli/enc/compress_fragment.o       |   Bin 0 -> 249488 bytes
 .../brotli/enc/compress_fragment_two_pass.o     |   Bin 0 -> 277980 bytes
 .../iltorb/brotli/enc/dictionary_hash.o         |   Bin 0 -> 67500 bytes
 .../obj.target/iltorb/brotli/enc/encode.o       |   Bin 0 -> 178384 bytes
 .../iltorb/brotli/enc/entropy_encode.o          |   Bin 0 -> 24360 bytes
 .../obj.target/iltorb/brotli/enc/histogram.o    |   Bin 0 -> 10292 bytes
 .../obj.target/iltorb/brotli/enc/literal_cost.o |   Bin 0 -> 13284 bytes
 .../obj.target/iltorb/brotli/enc/memory.o       |   Bin 0 -> 4828 bytes
 .../obj.target/iltorb/brotli/enc/metablock.o    |   Bin 0 -> 76828 bytes
 .../obj.target/iltorb/brotli/enc/static_dict.o  |   Bin 0 -> 240252 bytes
 .../obj.target/iltorb/brotli/enc/utf8_util.o    |   Bin 0 -> 4356 bytes
 .../iltorb/build/action_after_build.target.mk   |    32 +
 node_modules/iltorb/build/binding.Makefile      |     6 +
 node_modules/iltorb/build/bindings/iltorb.node  |   Bin 0 -> 865768 bytes
 node_modules/iltorb/build/config.gypi           |   183 +
 node_modules/iltorb/build/gyp-mac-tool          |   611 +
 node_modules/iltorb/build/iltorb.target.mk      |   225 +
 node_modules/iltorb/index.js                    |   224 +
 .../iltorb/node_modules/.bin/detect-libc        |     1 +
 .../iltorb/node_modules/detect-libc/.npmignore  |     5 +
 .../iltorb/node_modules/detect-libc/LICENSE     |   201 +
 .../iltorb/node_modules/detect-libc/README.md   |    76 +
 .../node_modules/detect-libc/bin/detect-libc.js |    18 +
 .../node_modules/detect-libc/lib/detect-libc.js |    60 +
 .../node_modules/detect-libc/package.json       |    69 +
 node_modules/iltorb/package.json                |    93 +
 node_modules/immediate/LICENSE.txt              |    20 +
 node_modules/immediate/README.md                |    93 +
 node_modules/immediate/dist/immediate.js        |    75 +
 node_modules/immediate/dist/immediate.min.js    |     1 +
 node_modules/immediate/lib/browser.js           |    69 +
 node_modules/immediate/lib/index.js             |    73 +
 node_modules/immediate/package.json             |    87 +
 node_modules/in-publish/.npmignore              |    32 +
 node_modules/in-publish/LICENSE                 |    14 +
 node_modules/in-publish/README.md               |    50 +
 node_modules/in-publish/in-install.js           |     4 +
 node_modules/in-publish/in-publish.js           |     4 +
 node_modules/in-publish/index.js                |    28 +
 node_modules/in-publish/not-in-install.js       |     4 +
 node_modules/in-publish/not-in-publish.js       |     4 +
 node_modules/in-publish/package.json            |    54 +
 node_modules/indent-string/index.js             |    20 +
 node_modules/indent-string/license              |    21 +
 node_modules/indent-string/package.json         |    72 +
 node_modules/indent-string/readme.md            |    58 +
 node_modules/indexof/.npmignore                 |     2 +
 node_modules/indexof/Makefile                   |    11 +
 node_modules/indexof/Readme.md                  |    15 +
 node_modules/indexof/component.json             |    10 +
 node_modules/indexof/index.js                   |    10 +
 node_modules/indexof/package.json               |    46 +
 node_modules/inflection/.npmignore              |     4 +
 node_modules/inflection/History.md              |   219 +
 node_modules/inflection/Readme.md               |   504 +
 node_modules/inflection/bower.json              |    56 +
 node_modules/inflection/component.json          |    35 +
 node_modules/inflection/inflection.min.js       |    31 +
 node_modules/inflection/lib/inflection.js       |  1083 +
 node_modules/inflection/package.json            |   140 +
 node_modules/inflight/LICENSE                   |    15 +
 node_modules/inflight/README.md                 |    37 +
 node_modules/inflight/inflight.js               |    54 +
 node_modules/inflight/package.json              |    67 +
 node_modules/inherits/LICENSE                   |    16 +
 node_modules/inherits/README.md                 |    42 +
 node_modules/inherits/inherits.js               |     7 +
 node_modules/inherits/inherits_browser.js       |    23 +
 node_modules/inherits/package.json              |    81 +
 node_modules/ini/LICENSE                        |    15 +
 node_modules/ini/README.md                      |   102 +
 node_modules/ini/ini.js                         |   194 +
 node_modules/ini/package.json                   |    68 +
 node_modules/invert-kv/index.js                 |    15 +
 node_modules/invert-kv/package.json             |    69 +
 node_modules/invert-kv/readme.md                |    25 +
 node_modules/ip/.jscsrc                         |    46 +
 node_modules/ip/.jshintrc                       |    89 +
 node_modules/ip/.npmignore                      |     2 +
 node_modules/ip/README.md                       |    68 +
 node_modules/ip/lib/ip.js                       |   382 +
 node_modules/ip/package.json                    |    57 +
 node_modules/is-arrayish/.editorconfig          |    18 +
 node_modules/is-arrayish/.istanbul.yml          |     4 +
 node_modules/is-arrayish/.npmignore             |     5 +
 node_modules/is-arrayish/.travis.yml            |    17 +
 node_modules/is-arrayish/LICENSE                |    21 +
 node_modules/is-arrayish/README.md              |    16 +
 node_modules/is-arrayish/index.js               |    10 +
 node_modules/is-arrayish/package.json           |    70 +
 node_modules/is-binary-path/index.js            |    12 +
 node_modules/is-binary-path/license             |    21 +
 node_modules/is-binary-path/package.json        |    75 +
 node_modules/is-binary-path/readme.md           |    34 +
 node_modules/is-buffer/LICENSE                  |    21 +
 node_modules/is-buffer/README.md                |    53 +
 node_modules/is-buffer/index.js                 |    21 +
 node_modules/is-buffer/package.json             |    83 +
 node_modules/is-builtin-module/index.js         |    10 +
 node_modules/is-builtin-module/license          |    21 +
 node_modules/is-builtin-module/package.json     |    79 +
 node_modules/is-builtin-module/readme.md        |    33 +
 node_modules/is-dotfile/LICENSE                 |    21 +
 node_modules/is-dotfile/README.md               |    95 +
 node_modules/is-dotfile/index.js                |    14 +
 node_modules/is-dotfile/package.json            |   110 +
 node_modules/is-equal-shallow/LICENSE           |    21 +
 node_modules/is-equal-shallow/README.md         |    90 +
 node_modules/is-equal-shallow/index.js          |    27 +
 node_modules/is-equal-shallow/package.json      |    89 +
 node_modules/is-extendable/LICENSE              |    21 +
 node_modules/is-extendable/README.md            |    72 +
 node_modules/is-extendable/index.js             |    13 +
 node_modules/is-extendable/package.json         |    86 +
 node_modules/is-extglob/LICENSE                 |    21 +
 node_modules/is-extglob/README.md               |    75 +
 node_modules/is-extglob/index.js                |    11 +
 node_modules/is-extglob/package.json            |    83 +
 node_modules/is-finite/index.js                 |     6 +
 node_modules/is-finite/license                  |    21 +
 node_modules/is-finite/package.json             |    72 +
 node_modules/is-finite/readme.md                |    28 +
 node_modules/is-fullwidth-code-point/index.js   |    46 +
 node_modules/is-fullwidth-code-point/license    |    21 +
 .../is-fullwidth-code-point/package.json        |    81 +
 node_modules/is-fullwidth-code-point/readme.md  |    39 +
 node_modules/is-glob/LICENSE                    |    21 +
 node_modules/is-glob/README.md                  |   105 +
 node_modules/is-glob/index.js                   |    14 +
 node_modules/is-glob/package.json               |    96 +
 .../fixtures/invalid-ipv4-addresses.json        |    19 +
 .../fixtures/invalid-ipv6-addresses.json        |   335 +
 .../fixtures/valid-ipv4-addresses.json          |     6 +
 .../fixtures/valid-ipv6-addresses.json          |   189 +
 node_modules/is-my-ip-valid/index.js            |    90 +
 node_modules/is-my-ip-valid/package.json        |    50 +
 node_modules/is-my-ip-valid/readme.md           |    42 +
 node_modules/is-my-ip-valid/test.js             |    26 +
 node_modules/is-my-json-valid/.travis.yml       |     3 +
 node_modules/is-my-json-valid/LICENSE           |    21 +
 node_modules/is-my-json-valid/README.md         |   224 +
 node_modules/is-my-json-valid/example.js        |    18 +
 node_modules/is-my-json-valid/formats.js        |    40 +
 node_modules/is-my-json-valid/index.js          |   603 +
 node_modules/is-my-json-valid/package.json      |    68 +
 node_modules/is-my-json-valid/require.js        |    12 +
 node_modules/is-number/LICENSE                  |    21 +
 node_modules/is-number/README.md                |   103 +
 node_modules/is-number/index.js                 |    19 +
 node_modules/is-number/package.json             |    94 +
 node_modules/is-path-cwd/index.js               |     6 +
 node_modules/is-path-cwd/package.json           |    69 +
 node_modules/is-path-cwd/readme.md              |    28 +
 node_modules/is-path-in-cwd/index.js            |     6 +
 node_modules/is-path-in-cwd/license             |    21 +
 node_modules/is-path-in-cwd/package.json        |    74 +
 node_modules/is-path-in-cwd/readme.md           |    31 +
 node_modules/is-path-inside/index.js            |    14 +
 node_modules/is-path-inside/license             |    21 +
 node_modules/is-path-inside/package.json        |    73 +
 node_modules/is-path-inside/readme.md           |    34 +
 node_modules/is-posix-bracket/LICENSE           |    21 +
 node_modules/is-posix-bracket/README.md         |    88 +
 node_modules/is-posix-bracket/index.js          |    10 +
 node_modules/is-posix-bracket/package.json      |    99 +
 node_modules/is-primitive/LICENSE               |    21 +
 node_modules/is-primitive/README.md             |    57 +
 node_modules/is-primitive/index.js              |    13 +
 node_modules/is-primitive/package.json          |    75 +
 node_modules/is-property/.npmignore             |    17 +
 node_modules/is-property/LICENSE                |    22 +
 node_modules/is-property/README.md              |    28 +
 node_modules/is-property/is-property.js         |     5 +
 node_modules/is-property/package.json           |    67 +
 node_modules/is-stream/index.js                 |    21 +
 node_modules/is-stream/license                  |    21 +
 node_modules/is-stream/package.json             |    75 +
 node_modules/is-stream/readme.md                |    42 +
 node_modules/is-typedarray/LICENSE.md           |    18 +
 node_modules/is-typedarray/README.md            |    16 +
 node_modules/is-typedarray/index.js             |    41 +
 node_modules/is-typedarray/package.json         |    65 +
 node_modules/is-typedarray/test.js              |    34 +
 node_modules/is-utf8/LICENSE                    |     9 +
 node_modules/is-utf8/README.md                  |    16 +
 node_modules/is-utf8/is-utf8.js                 |    76 +
 node_modules/is-utf8/package.json               |    57 +
 node_modules/isarray/.npmignore                 |     1 +
 node_modules/isarray/.travis.yml                |     4 +
 node_modules/isarray/Makefile                   |     6 +
 node_modules/isarray/README.md                  |    60 +
 node_modules/isarray/component.json             |    19 +
 node_modules/isarray/index.js                   |     5 +
 node_modules/isarray/package.json               |    80 +
 node_modules/isarray/test.js                    |    20 +
 node_modules/isbinaryfile/LICENSE.txt           |    22 +
 node_modules/isbinaryfile/README.md             |    78 +
 node_modules/isbinaryfile/index.js              |   128 +
 node_modules/isbinaryfile/package.json          |    66 +
 node_modules/isexe/.npmignore                   |     2 +
 node_modules/isexe/LICENSE                      |    15 +
 node_modules/isexe/README.md                    |    51 +
 node_modules/isexe/index.js                     |    57 +
 node_modules/isexe/mode.js                      |    41 +
 node_modules/isexe/package.json                 |    64 +
 node_modules/isexe/windows.js                   |    42 +
 node_modules/isobject/LICENSE                   |    21 +
 node_modules/isobject/README.md                 |   112 +
 node_modules/isobject/index.js                  |    14 +
 node_modules/isobject/package.json              |   102 +
 node_modules/isstream/.jshintrc                 |    59 +
 node_modules/isstream/.npmignore                |     1 +
 node_modules/isstream/.travis.yml               |    12 +
 node_modules/isstream/LICENSE.md                |    11 +
 node_modules/isstream/README.md                 |    66 +
 node_modules/isstream/isstream.js               |    27 +
 node_modules/isstream/package.json              |    67 +
 node_modules/isstream/test.js                   |   168 +
 node_modules/istanbul/CHANGELOG.md              |   362 +
 node_modules/istanbul/LICENSE                   |    24 +
 node_modules/istanbul/README.md                 |   288 +
 node_modules/istanbul/index.js                  |   153 +
 node_modules/istanbul/lib/assets/base.css       |   213 +
 .../istanbul/lib/assets/sort-arrow-sprite.png   |   Bin 0 -> 209 bytes
 node_modules/istanbul/lib/assets/sorter.js      |   158 +
 .../istanbul/lib/assets/vendor/prettify.css     |     1 +
 .../istanbul/lib/assets/vendor/prettify.js      |     1 +
 node_modules/istanbul/lib/cli.js                |    99 +
 node_modules/istanbul/lib/collector.js          |   122 +
 .../istanbul/lib/command/check-coverage.js      |   195 +
 .../lib/command/common/run-with-cover.js        |   261 +
 node_modules/istanbul/lib/command/cover.js      |    33 +
 node_modules/istanbul/lib/command/help.js       |   102 +
 node_modules/istanbul/lib/command/index.js      |    33 +
 node_modules/istanbul/lib/command/instrument.js |   265 +
 node_modules/istanbul/lib/command/report.js     |   123 +
 node_modules/istanbul/lib/command/test.js       |    31 +
 node_modules/istanbul/lib/config.js             |   491 +
 node_modules/istanbul/lib/hook.js               |   198 +
 node_modules/istanbul/lib/instrumenter.js       |  1097 +
 node_modules/istanbul/lib/object-utils.js       |   425 +
 node_modules/istanbul/lib/register-plugins.js   |    15 +
 node_modules/istanbul/lib/report/clover.js      |   227 +
 node_modules/istanbul/lib/report/cobertura.js   |   221 +
 .../istanbul/lib/report/common/defaults.js      |    51 +
 node_modules/istanbul/lib/report/html.js        |   572 +
 node_modules/istanbul/lib/report/index.js       |   104 +
 .../istanbul/lib/report/json-summary.js         |    75 +
 node_modules/istanbul/lib/report/json.js        |    69 +
 node_modules/istanbul/lib/report/lcov.js        |    65 +
 node_modules/istanbul/lib/report/lcovonly.js    |   103 +
 node_modules/istanbul/lib/report/none.js        |    41 +
 node_modules/istanbul/lib/report/teamcity.js    |    92 +
 .../istanbul/lib/report/templates/foot.txt      |    20 +
 .../istanbul/lib/report/templates/head.txt      |    60 +
 node_modules/istanbul/lib/report/text-lcov.js   |    50 +
 .../istanbul/lib/report/text-summary.js         |    93 +
 node_modules/istanbul/lib/report/text.js        |   234 +
 node_modules/istanbul/lib/reporter.js           |   111 +
 node_modules/istanbul/lib/store/fslookup.js     |    61 +
 node_modules/istanbul/lib/store/index.js        |   123 +
 node_modules/istanbul/lib/store/memory.js       |    56 +
 node_modules/istanbul/lib/store/tmp.js          |    81 +
 node_modules/istanbul/lib/util/factory.js       |    88 +
 node_modules/istanbul/lib/util/file-matcher.js  |    76 +
 node_modules/istanbul/lib/util/file-writer.js   |   154 +
 .../istanbul/lib/util/help-formatter.js         |    30 +
 node_modules/istanbul/lib/util/input-error.js   |    12 +
 .../istanbul/lib/util/insertion-text.js         |   109 +
 node_modules/istanbul/lib/util/meta.js          |    13 +
 .../istanbul/lib/util/tree-summarizer.js        |   213 +
 node_modules/istanbul/lib/util/writer.js        |    92 +
 node_modules/istanbul/lib/util/yui-load-hook.js |    49 +
 .../istanbul/node_modules/.bin/escodegen        |     1 +
 .../istanbul/node_modules/.bin/esgenerate       |     1 +
 .../istanbul/node_modules/abbrev/LICENSE        |    15 +
 .../istanbul/node_modules/abbrev/README.md      |    23 +
 .../istanbul/node_modules/abbrev/abbrev.js      |    62 +
 .../istanbul/node_modules/abbrev/package.json   |    57 +
 .../istanbul/node_modules/escodegen/LICENSE.BSD |    19 +
 .../node_modules/escodegen/LICENSE.source-map   |    27 +
 .../istanbul/node_modules/escodegen/README.md   |   116 +
 .../node_modules/escodegen/bin/escodegen.js     |    77 +
 .../node_modules/escodegen/bin/esgenerate.js    |    64 +
 .../node_modules/escodegen/escodegen.js         |  2607 ++
 .../node_modules/escodegen/package.json         |    95 +
 .../node_modules/estraverse/.editorconfig       |    10 +
 .../istanbul/node_modules/estraverse/.jshintrc  |    16 +
 .../node_modules/estraverse/LICENSE.BSD         |    19 +
 .../istanbul/node_modules/estraverse/README.md  |   124 +
 .../node_modules/estraverse/estraverse.js       |   845 +
 .../node_modules/estraverse/gulpfile.js         |    70 +
 .../node_modules/estraverse/package.json        |    75 +
 node_modules/istanbul/node_modules/glob/LICENSE |    15 +
 .../istanbul/node_modules/glob/README.md        |   377 +
 .../istanbul/node_modules/glob/common.js        |   245 +
 node_modules/istanbul/node_modules/glob/glob.js |   752 +
 .../istanbul/node_modules/glob/package.json     |    79 +
 node_modules/istanbul/node_modules/glob/sync.js |   460 +
 .../istanbul/node_modules/source-map/.npmignore |     2 +
 .../node_modules/source-map/.travis.yml         |     4 +
 .../node_modules/source-map/CHANGELOG.md        |   201 +
 .../istanbul/node_modules/source-map/LICENSE    |    28 +
 .../node_modules/source-map/Makefile.dryice.js  |   166 +
 .../istanbul/node_modules/source-map/README.md  |   479 +
 .../source-map/build/assert-shim.js             |    56 +
 .../source-map/build/mini-require.js            |   152 +
 .../source-map/build/prefix-source-map.jsm      |    20 +
 .../source-map/build/prefix-utils.jsm           |    18 +
 .../source-map/build/suffix-browser.js          |     8 +
 .../source-map/build/suffix-source-map.jsm      |     6 +
 .../source-map/build/suffix-utils.jsm           |    21 +
 .../source-map/build/test-prefix.js             |     8 +
 .../source-map/build/test-suffix.js             |     3 +
 .../node_modules/source-map/lib/source-map.js   |     8 +
 .../source-map/lib/source-map/array-set.js      |    97 +
 .../source-map/lib/source-map/base64-vlq.js     |   142 +
 .../source-map/lib/source-map/base64.js         |    42 +
 .../lib/source-map/basic-source-map-consumer.js |   420 +
 .../source-map/lib/source-map/binary-search.js  |    80 +
 .../source-map/indexed-source-map-consumer.js   |   303 +
 .../source-map/lib/source-map/mapping-list.js   |    86 +
 .../lib/source-map/source-map-consumer.js       |   222 +
 .../lib/source-map/source-map-generator.js      |   400 +
 .../source-map/lib/source-map/source-node.js    |   414 +
 .../source-map/lib/source-map/util.js           |   319 +
 .../node_modules/source-map/package.json        |   192 +
 .../node_modules/supports-color/browser.js      |     2 +
 .../node_modules/supports-color/index.js        |    84 +
 .../node_modules/supports-color/license         |    21 +
 .../node_modules/supports-color/package.json    |   114 +
 .../node_modules/supports-color/readme.md       |    60 +
 .../istanbul/node_modules/wordwrap/LICENSE      |    18 +
 .../node_modules/wordwrap/README.markdown       |    70 +
 .../node_modules/wordwrap/example/center.js     |    10 +
 .../node_modules/wordwrap/example/meat.js       |     3 +
 .../istanbul/node_modules/wordwrap/index.js     |    76 +
 .../istanbul/node_modules/wordwrap/package.json |    67 +
 node_modules/istanbul/package.json              |   382 +
 node_modules/jquery/AUTHORS.txt                 |   313 +
 node_modules/jquery/LICENSE.txt                 |    36 +
 node_modules/jquery/README.md                   |    67 +
 node_modules/jquery/bower.json                  |    14 +
 node_modules/jquery/dist/core.js                |   399 +
 node_modules/jquery/dist/jquery.js              | 10364 +++++
 node_modules/jquery/dist/jquery.min.js          |     2 +
 node_modules/jquery/dist/jquery.min.map         |     1 +
 node_modules/jquery/dist/jquery.slim.js         |  8269 ++++
 node_modules/jquery/dist/jquery.slim.min.js     |     2 +
 node_modules/jquery/dist/jquery.slim.min.map    |     1 +
 node_modules/jquery/external/sizzle/LICENSE.txt |    36 +
 .../jquery/external/sizzle/dist/sizzle.js       |  2272 ++
 .../jquery/external/sizzle/dist/sizzle.min.js   |     3 +
 .../jquery/external/sizzle/dist/sizzle.min.map  |     1 +
 node_modules/jquery/package.json                |   136 +
 node_modules/js-base64/.babelrc                 |     3 +
 node_modules/js-base64/.travis.yml              |     5 +
 node_modules/js-base64/1x1.png                  |   Bin 0 -> 68 bytes
 node_modules/js-base64/LICENSE.md               |    27 +
 node_modules/js-base64/README.md                |    86 +
 node_modules/js-base64/base64.html              |    47 +
 node_modules/js-base64/base64.js                |   226 +
 node_modules/js-base64/base64.min.js            |     1 +
 node_modules/js-base64/base64_utf8              |   217 +
 node_modules/js-base64/bower.json               |    18 +
 node_modules/js-base64/old/base64-1.7.js        |   237 +
 node_modules/js-base64/package.js               |     9 +
 node_modules/js-base64/package.json             |    62 +
 node_modules/js-base64/test-moment/dankogai.js  |    44 +
 node_modules/js-base64/test-moment/es5.js       |    24 +
 node_modules/js-base64/test-moment/es6.js       |    25 +
 node_modules/js-base64/test-moment/index.html   |    40 +
 node_modules/js-base64/test-moment/large.js     |    25 +
 node_modules/js-base64/test-moment/moment.js    |  4535 +++
 node_modules/js-base64/test-moment/yoshinoya.js |    19 +
 node_modules/js-yaml/CHANGELOG.md               |   388 +
 node_modules/js-yaml/LICENSE                    |    21 +
 node_modules/js-yaml/README.md                  |   295 +
 node_modules/js-yaml/bin/js-yaml.js             |   134 +
 node_modules/js-yaml/dist/js-yaml.js            |  3858 ++
 node_modules/js-yaml/dist/js-yaml.min.js        |     3 +
 node_modules/js-yaml/index.js                   |     7 +
 node_modules/js-yaml/lib/js-yaml.js             |    39 +
 node_modules/js-yaml/lib/js-yaml/common.js      |    59 +
 node_modules/js-yaml/lib/js-yaml/dumper.js      |   812 +
 node_modules/js-yaml/lib/js-yaml/exception.js   |    43 +
 node_modules/js-yaml/lib/js-yaml/loader.js      |  1586 +
 node_modules/js-yaml/lib/js-yaml/mark.js        |    76 +
 node_modules/js-yaml/lib/js-yaml/schema.js      |   104 +
 node_modules/js-yaml/lib/js-yaml/schema/core.js |    18 +
 .../js-yaml/lib/js-yaml/schema/default_full.js  |    25 +
 .../js-yaml/lib/js-yaml/schema/default_safe.js  |    28 +
 .../js-yaml/lib/js-yaml/schema/failsafe.js      |    17 +
 node_modules/js-yaml/lib/js-yaml/schema/json.js |    25 +
 node_modules/js-yaml/lib/js-yaml/type.js        |    61 +
 node_modules/js-yaml/lib/js-yaml/type/binary.js |   130 +
 node_modules/js-yaml/lib/js-yaml/type/bool.js   |    35 +
 node_modules/js-yaml/lib/js-yaml/type/float.js  |   105 +
 node_modules/js-yaml/lib/js-yaml/type/int.js    |   168 +
 .../js-yaml/lib/js-yaml/type/js/function.js     |    84 +
 .../js-yaml/lib/js-yaml/type/js/regexp.js       |    60 +
 .../js-yaml/lib/js-yaml/type/js/undefined.js    |    28 +
 node_modules/js-yaml/lib/js-yaml/type/map.js    |     8 +
 node_modules/js-yaml/lib/js-yaml/type/merge.js  |    12 +
 node_modules/js-yaml/lib/js-yaml/type/null.js   |    34 +
 node_modules/js-yaml/lib/js-yaml/type/omap.js   |    44 +
 node_modules/js-yaml/lib/js-yaml/type/pairs.js  |    53 +
 node_modules/js-yaml/lib/js-yaml/type/seq.js    |     8 +
 node_modules/js-yaml/lib/js-yaml/type/set.js    |    29 +
 node_modules/js-yaml/lib/js-yaml/type/str.js    |     8 +
 .../js-yaml/lib/js-yaml/type/timestamp.js       |    88 +
 node_modules/js-yaml/package.json               |   100 +
 node_modules/jsbn/.npmignore                    |     2 +
 node_modules/jsbn/LICENSE                       |    40 +
 node_modules/jsbn/README.md                     |   175 +
 node_modules/jsbn/example.html                  |    12 +
 node_modules/jsbn/example.js                    |     3 +
 node_modules/jsbn/index.js                      |  1357 +
 node_modules/jsbn/package.json                  |    58 +
 node_modules/json-schema-traverse/.eslintrc.yml |    27 +
 node_modules/json-schema-traverse/.npmignore    |    60 +
 node_modules/json-schema-traverse/.travis.yml   |     8 +
 node_modules/json-schema-traverse/LICENSE       |    21 +
 node_modules/json-schema-traverse/README.md     |    69 +
 node_modules/json-schema-traverse/index.js      |    81 +
 node_modules/json-schema-traverse/package.json  |    74 +
 .../json-schema-traverse/spec/.eslintrc.yml     |     6 +
 .../spec/fixtures/schema.js                     |   125 +
 .../json-schema-traverse/spec/index.spec.js     |   102 +
 node_modules/json-schema/README.md              |     5 +
 node_modules/json-schema/draft-00/hyper-schema  |    68 +
 node_modules/json-schema/draft-00/json-ref      |    26 +
 node_modules/json-schema/draft-00/links         |    33 +
 node_modules/json-schema/draft-00/schema        |   155 +
 node_modules/json-schema/draft-01/hyper-schema  |    68 +
 node_modules/json-schema/draft-01/json-ref      |    26 +
 node_modules/json-schema/draft-01/links         |    33 +
 node_modules/json-schema/draft-01/schema        |   155 +
 node_modules/json-schema/draft-02/hyper-schema  |    68 +
 node_modules/json-schema/draft-02/json-ref      |    26 +
 node_modules/json-schema/draft-02/links         |    35 +
 node_modules/json-schema/draft-02/schema        |   166 +
 .../json-schema/draft-03/examples/address       |    20 +
 .../json-schema/draft-03/examples/calendar      |    53 +
 node_modules/json-schema/draft-03/examples/card |   105 +
 node_modules/json-schema/draft-03/examples/geo  |     8 +
 .../json-schema/draft-03/examples/interfaces    |    23 +
 node_modules/json-schema/draft-03/hyper-schema  |    60 +
 node_modules/json-schema/draft-03/json-ref      |    26 +
 node_modules/json-schema/draft-03/links         |    35 +
 node_modules/json-schema/draft-03/schema        |   174 +
 node_modules/json-schema/draft-04/hyper-schema  |    60 +
 node_modules/json-schema/draft-04/links         |    41 +
 node_modules/json-schema/draft-04/schema        |   189 +
 .../json-schema/draft-zyp-json-schema-03.xml    |  1120 +
 .../json-schema/draft-zyp-json-schema-04.xml    |  1072 +
 node_modules/json-schema/lib/links.js           |    66 +
 node_modules/json-schema/lib/validate.js        |   273 +
 node_modules/json-schema/package.json           |    75 +
 node_modules/json-stringify-safe/.npmignore     |     1 +
 node_modules/json-stringify-safe/CHANGELOG.md   |    14 +
 node_modules/json-stringify-safe/LICENSE        |    15 +
 node_modules/json-stringify-safe/Makefile       |    35 +
 node_modules/json-stringify-safe/README.md      |    52 +
 node_modules/json-stringify-safe/package.json   |    73 +
 node_modules/json-stringify-safe/stringify.js   |    27 +
 node_modules/jsonpointer/LICENSE.md             |    21 +
 node_modules/jsonpointer/README.md              |    39 +
 node_modules/jsonpointer/jsonpointer.js         |    93 +
 node_modules/jsonpointer/package.json           |    76 +
 node_modules/jsprim/CHANGES.md                  |    49 +
 node_modules/jsprim/CONTRIBUTING.md             |    19 +
 node_modules/jsprim/LICENSE                     |    19 +
 node_modules/jsprim/README.md                   |   287 +
 node_modules/jsprim/lib/jsprim.js               |   735 +
 node_modules/jsprim/package.json                |    55 +
 node_modules/jszip/.codeclimate.yml             |    16 +
 node_modules/jszip/.editorconfig                |     8 +
 node_modules/jszip/.jshintignore                |     1 +
 node_modules/jszip/.jshintrc                    |    21 +
 node_modules/jszip/.travis.yml                  |    21 +
 node_modules/jszip/CHANGES.md                   |   131 +
 node_modules/jszip/LICENSE.markdown             |   651 +
 node_modules/jszip/README.markdown              |    35 +
 node_modules/jszip/dist/jszip.js                | 11623 ++++++
 node_modules/jszip/dist/jszip.min.js            |    15 +
 node_modules/jszip/lib/base64.js                |   106 +
 node_modules/jszip/lib/compressedObject.js      |    75 +
 node_modules/jszip/lib/compressions.js          |    14 +
 node_modules/jszip/lib/crc32.js                 |    77 +
 node_modules/jszip/lib/defaults.js              |    11 +
 node_modules/jszip/lib/external.js              |    19 +
 node_modules/jszip/lib/flate.js                 |    85 +
 .../jszip/lib/generate/ZipFileWorker.js         |   540 +
 node_modules/jszip/lib/generate/index.js        |    57 +
 node_modules/jszip/lib/index.js                 |    52 +
 node_modules/jszip/lib/license_header.js        |    11 +
 node_modules/jszip/lib/load.js                  |    82 +
 .../lib/nodejs/NodejsStreamInputAdapter.js      |    74 +
 .../lib/nodejs/NodejsStreamOutputAdapter.js     |    42 +
 node_modules/jszip/lib/nodejsUtils.js           |    52 +
 node_modules/jszip/lib/object.js                |   389 +
 .../jszip/lib/readable-stream-browser.js        |     9 +
 node_modules/jszip/lib/reader/ArrayReader.js    |    57 +
 node_modules/jszip/lib/reader/DataReader.js     |   116 +
 .../jszip/lib/reader/NodeBufferReader.js        |    19 +
 node_modules/jszip/lib/reader/StringReader.js   |    38 +
 .../jszip/lib/reader/Uint8ArrayReader.js        |    22 +
 node_modules/jszip/lib/reader/readerFor.js      |    28 +
 node_modules/jszip/lib/signature.js             |     7 +
 node_modules/jszip/lib/stream/ConvertWorker.js  |    26 +
 node_modules/jszip/lib/stream/Crc32Probe.js     |    24 +
 .../jszip/lib/stream/DataLengthProbe.js         |    29 +
 node_modules/jszip/lib/stream/DataWorker.js     |   116 +
 node_modules/jszip/lib/stream/GenericWorker.js  |   263 +
 node_modules/jszip/lib/stream/StreamHelper.js   |   212 +
 node_modules/jszip/lib/support.js               |    38 +
 node_modules/jszip/lib/utf8.js                  |   275 +
 node_modules/jszip/lib/utils.js                 |   476 +
 node_modules/jszip/lib/zipEntries.js            |   262 +
 node_modules/jszip/lib/zipEntry.js              |   292 +
 node_modules/jszip/lib/zipObject.js             |   133 +
 .../jszip/node_modules/core-js/CHANGELOG.md     |   548 +
 node_modules/jszip/node_modules/core-js/LICENSE |    19 +
 .../jszip/node_modules/core-js/README.md        |  1987 +
 .../jszip/node_modules/core-js/bower.json       |    47 +
 .../node_modules/core-js/build/Gruntfile.ls     |    84 +
 .../jszip/node_modules/core-js/build/build.ls   |    62 +
 .../jszip/node_modules/core-js/build/config.js  |   252 +
 .../jszip/node_modules/core-js/build/index.js   |   104 +
 .../jszip/node_modules/core-js/client/core.js   |  7386 ++++
 .../node_modules/core-js/client/core.min.js     |    10 +
 .../node_modules/core-js/client/core.min.js.map |     1 +
 .../node_modules/core-js/client/library.js      |  6909 ++++
 .../node_modules/core-js/client/library.min.js  |    10 +
 .../core-js/client/library.min.js.map           |     1 +
 .../jszip/node_modules/core-js/client/shim.js   |  7045 ++++
 .../node_modules/core-js/client/shim.min.js     |    10 +
 .../node_modules/core-js/client/shim.min.js.map |     1 +
 .../jszip/node_modules/core-js/core/_.js        |     2 +
 .../jszip/node_modules/core-js/core/delay.js    |     2 +
 .../jszip/node_modules/core-js/core/dict.js     |     2 +
 .../jszip/node_modules/core-js/core/function.js |     2 +
 .../jszip/node_modules/core-js/core/index.js    |    15 +
 .../jszip/node_modules/core-js/core/number.js   |     2 +
 .../jszip/node_modules/core-js/core/object.js   |     5 +
 .../jszip/node_modules/core-js/core/regexp.js   |     2 +
 .../jszip/node_modules/core-js/core/string.js   |     3 +
 .../jszip/node_modules/core-js/es5/index.js     |    37 +
 .../jszip/node_modules/core-js/es6/array.js     |    23 +
 .../jszip/node_modules/core-js/es6/date.js      |     6 +
 .../jszip/node_modules/core-js/es6/function.js  |     4 +
 .../jszip/node_modules/core-js/es6/index.js     |   138 +
 .../jszip/node_modules/core-js/es6/map.js       |     5 +
 .../jszip/node_modules/core-js/es6/math.js      |    18 +
 .../jszip/node_modules/core-js/es6/number.js    |    13 +
 .../jszip/node_modules/core-js/es6/object.js    |    20 +
 .../node_modules/core-js/es6/parse-float.js     |     2 +
 .../jszip/node_modules/core-js/es6/parse-int.js |     2 +
 .../jszip/node_modules/core-js/es6/promise.js   |     5 +
 .../jszip/node_modules/core-js/es6/reflect.js   |    15 +
 .../jszip/node_modules/core-js/es6/regexp.js    |     8 +
 .../jszip/node_modules/core-js/es6/set.js       |     5 +
 .../jszip/node_modules/core-js/es6/string.js    |    27 +
 .../jszip/node_modules/core-js/es6/symbol.js    |     3 +
 .../jszip/node_modules/core-js/es6/typed.js     |    13 +
 .../jszip/node_modules/core-js/es6/weak-map.js  |     4 +
 .../jszip/node_modules/core-js/es6/weak-set.js  |     4 +
 .../jszip/node_modules/core-js/es7/array.js     |     2 +
 .../jszip/node_modules/core-js/es7/asap.js      |     2 +
 .../jszip/node_modules/core-js/es7/error.js     |     2 +
 .../jszip/node_modules/core-js/es7/index.js     |    35 +
 .../jszip/node_modules/core-js/es7/map.js       |     2 +
 .../jszip/node_modules/core-js/es7/math.js      |     5 +
 .../jszip/node_modules/core-js/es7/object.js    |     8 +
 .../jszip/node_modules/core-js/es7/reflect.js   |    10 +
 .../jszip/node_modules/core-js/es7/set.js       |     2 +
 .../jszip/node_modules/core-js/es7/string.js    |     7 +
 .../jszip/node_modules/core-js/es7/symbol.js    |     3 +
 .../jszip/node_modules/core-js/es7/system.js    |     2 +
 node_modules/jszip/node_modules/core-js/fn/_.js |     2 +
 .../node_modules/core-js/fn/array/concat.js     |     4 +
 .../core-js/fn/array/copy-within.js             |     2 +
 .../node_modules/core-js/fn/array/entries.js    |     2 +
 .../node_modules/core-js/fn/array/every.js      |     2 +
 .../jszip/node_modules/core-js/fn/array/fill.js |     2 +
 .../node_modules/core-js/fn/array/filter.js     |     2 +
 .../node_modules/core-js/fn/array/find-index.js |     2 +
 .../jszip/node_modules/core-js/fn/array/find.js |     2 +
 .../node_modules/core-js/fn/array/for-each.js   |     2 +
 .../jszip/node_modules/core-js/fn/array/from.js |     3 +
 .../node_modules/core-js/fn/array/includes.js   |     2 +
 .../node_modules/core-js/fn/array/index-of.js   |     2 +
 .../node_modules/core-js/fn/array/index.js      |    24 +
 .../node_modules/core-js/fn/array/is-array.js   |     2 +
 .../node_modules/core-js/fn/array/iterator.js   |     2 +
 .../jszip/node_modules/core-js/fn/array/join.js |     2 +
 .../jszip/node_modules/core-js/fn/array/keys.js |     2 +
 .../core-js/fn/array/last-index-of.js           |     2 +
 .../jszip/node_modules/core-js/fn/array/map.js  |     2 +
 .../jszip/node_modules/core-js/fn/array/of.js   |     2 +
 .../jszip/node_modules/core-js/fn/array/pop.js  |     4 +
 .../jszip/node_modules/core-js/fn/array/push.js |     4 +
 .../core-js/fn/array/reduce-right.js            |     2 +
 .../node_modules/core-js/fn/array/reduce.js     |     2 +
 .../node_modules/core-js/fn/array/reverse.js    |     4 +
 .../node_modules/core-js/fn/array/shift.js      |     4 +
 .../node_modules/core-js/fn/array/slice.js      |     2 +
 .../jszip/node_modules/core-js/fn/array/some.js |     2 +
 .../jszip/node_modules/core-js/fn/array/sort.js |     2 +
 .../node_modules/core-js/fn/array/splice.js     |     4 +
 .../node_modules/core-js/fn/array/unshift.js    |     4 +
 .../node_modules/core-js/fn/array/values.js     |     2 +
 .../core-js/fn/array/virtual/copy-within.js     |     2 +
 .../core-js/fn/array/virtual/entries.js         |     2 +
 .../core-js/fn/array/virtual/every.js           |     2 +
 .../core-js/fn/array/virtual/fill.js            |     2 +
 .../core-js/fn/array/virtual/filter.js          |     2 +
 .../core-js/fn/array/virtual/find-index.js      |     2 +
 .../core-js/fn/array/virtual/find.js            |     2 +
 .../core-js/fn/array/virtual/for-each.js        |     2 +
 .../core-js/fn/array/virtual/includes.js        |     2 +
 .../core-js/fn/array/virtual/index-of.js        |     2 +
 .../core-js/fn/array/virtual/index.js           |    20 +
 .../core-js/fn/array/virtual/iterator.js        |     2 +
 .../core-js/fn/array/virtual/join.js            |     2 +
 .../core-js/fn/array/virtual/keys.js            |     2 +
 .../core-js/fn/array/virtual/last-index-of.js   |     2 +
 .../core-js/fn/array/virtual/map.js             |     2 +
 .../core-js/fn/array/virtual/reduce-right.js    |     2 +
 .../core-js/fn/array/virtual/reduce.js          |     2 +
 .../core-js/fn/array/virtual/slice.js           |     2 +
 .../core-js/fn/array/virtual/some.js            |     2 +
 .../core-js/fn/array/virtual/sort.js            |     2 +
 .../core-js/fn/array/virtual/values.js          |     2 +
 .../jszip/node_modules/core-js/fn/asap.js       |     2 +
 .../node_modules/core-js/fn/clear-immediate.js  |     2 +
 .../jszip/node_modules/core-js/fn/date/index.js |     6 +
 .../jszip/node_modules/core-js/fn/date/now.js   |     2 +
 .../core-js/fn/date/to-iso-string.js            |     3 +
 .../node_modules/core-js/fn/date/to-json.js     |     2 +
 .../core-js/fn/date/to-primitive.js             |     5 +
 .../node_modules/core-js/fn/date/to-string.js   |     5 +
 .../jszip/node_modules/core-js/fn/delay.js      |     2 +
 .../jszip/node_modules/core-js/fn/dict.js       |     2 +
 .../core-js/fn/dom-collections/index.js         |     8 +
 .../core-js/fn/dom-collections/iterator.js      |     2 +
 .../node_modules/core-js/fn/error/index.js      |     2 +
 .../node_modules/core-js/fn/error/is-error.js   |     2 +
 .../node_modules/core-js/fn/function/bind.js    |     2 +
 .../core-js/fn/function/has-instance.js         |     2 +
 .../node_modules/core-js/fn/function/index.js   |     5 +
 .../node_modules/core-js/fn/function/name.js    |     1 +
 .../node_modules/core-js/fn/function/part.js    |     2 +
 .../core-js/fn/function/virtual/bind.js         |     2 +
 .../core-js/fn/function/virtual/index.js        |     3 +
 .../core-js/fn/function/virtual/part.js         |     2 +
 .../core-js/fn/get-iterator-method.js           |     3 +
 .../node_modules/core-js/fn/get-iterator.js     |     3 +
 .../node_modules/core-js/fn/is-iterable.js      |     3 +
 .../jszip/node_modules/core-js/fn/json/index.js |     2 +
 .../node_modules/core-js/fn/json/stringify.js   |     5 +
 .../jszip/node_modules/core-js/fn/map.js        |     6 +
 .../jszip/node_modules/core-js/fn/math/acosh.js |     2 +
 .../jszip/node_modules/core-js/fn/math/asinh.js |     2 +
 .../jszip/node_modules/core-js/fn/math/atanh.js |     2 +
 .../jszip/node_modules/core-js/fn/math/cbrt.js  |     2 +
 .../jszip/node_modules/core-js/fn/math/clz32.js |     2 +
 .../jszip/node_modules/core-js/fn/math/cosh.js  |     2 +
 .../jszip/node_modules/core-js/fn/math/expm1.js |     2 +
 .../node_modules/core-js/fn/math/fround.js      |     2 +
 .../jszip/node_modules/core-js/fn/math/hypot.js |     2 +
 .../jszip/node_modules/core-js/fn/math/iaddh.js |     2 +
 .../jszip/node_modules/core-js/fn/math/imul.js  |     2 +
 .../jszip/node_modules/core-js/fn/math/imulh.js |     2 +
 .../jszip/node_modules/core-js/fn/math/index.js |    22 +
 .../jszip/node_modules/core-js/fn/math/isubh.js |     2 +
 .../jszip/node_modules/core-js/fn/math/log10.js |     2 +
 .../jszip/node_modules/core-js/fn/math/log1p.js |     2 +
 .../jszip/node_modules/core-js/fn/math/log2.js  |     2 +
 .../jszip/node_modules/core-js/fn/math/sign.js  |     2 +
 .../jszip/node_modules/core-js/fn/math/sinh.js  |     2 +
 .../jszip/node_modules/core-js/fn/math/tanh.js  |     2 +
 .../jszip/node_modules/core-js/fn/math/trunc.js |     2 +
 .../jszip/node_modules/core-js/fn/math/umulh.js |     2 +
 .../core-js/fn/number/constructor.js            |     2 +
 .../node_modules/core-js/fn/number/epsilon.js   |     2 +
 .../node_modules/core-js/fn/number/index.js     |    14 +
 .../node_modules/core-js/fn/number/is-finite.js |     2 +
 .../core-js/fn/number/is-integer.js             |     2 +
 .../node_modules/core-js/fn/number/is-nan.js    |     2 +
 .../core-js/fn/number/is-safe-integer.js        |     2 +
 .../node_modules/core-js/fn/number/iterator.js  |     5 +
 .../core-js/fn/number/max-safe-integer.js       |     2 +
 .../core-js/fn/number/min-safe-integer.js       |     2 +
 .../core-js/fn/number/parse-float.js            |     2 +
 .../node_modules/core-js/fn/number/parse-int.js |     2 +
 .../node_modules/core-js/fn/number/to-fixed.js  |     2 +
 .../core-js/fn/number/to-precision.js           |     2 +
 .../core-js/fn/number/virtual/index.js          |     4 +
 .../core-js/fn/number/virtual/iterator.js       |     2 +
 .../core-js/fn/number/virtual/to-fixed.js       |     2 +
 .../core-js/fn/number/virtual/to-precision.js   |     2 +
 .../node_modules/core-js/fn/object/assign.js    |     2 +
 .../node_modules/core-js/fn/object/classof.js   |     2 +
 .../node_modules/core-js/fn/object/create.js    |     5 +
 .../core-js/fn/object/define-getter.js          |     2 +
 .../core-js/fn/object/define-properties.js      |     5 +
 .../core-js/fn/object/define-property.js        |     5 +
 .../core-js/fn/object/define-setter.js          |     2 +
 .../node_modules/core-js/fn/object/define.js    |     2 +
 .../node_modules/core-js/fn/object/entries.js   |     2 +
 .../node_modules/core-js/fn/object/freeze.js    |     2 +
 .../fn/object/get-own-property-descriptor.js    |     5 +
 .../fn/object/get-own-property-descriptors.js   |     2 +
 .../core-js/fn/object/get-own-property-names.js |     5 +
 .../fn/object/get-own-property-symbols.js       |     2 +
 .../core-js/fn/object/get-prototype-of.js       |     2 +
 .../node_modules/core-js/fn/object/index.js     |    30 +
 .../core-js/fn/object/is-extensible.js          |     2 +
 .../node_modules/core-js/fn/object/is-frozen.js |     2 +
 .../node_modules/core-js/fn/object/is-object.js |     2 +
 .../node_modules/core-js/fn/object/is-sealed.js |     2 +
 .../jszip/node_modules/core-js/fn/object/is.js  |     2 +
 .../node_modules/core-js/fn/object/keys.js      |     2 +
 .../core-js/fn/object/lookup-getter.js          |     2 +
 .../core-js/fn/object/lookup-setter.js          |     2 +
 .../node_modules/core-js/fn/object/make.js      |     2 +
 .../core-js/fn/object/prevent-extensions.js     |     2 +
 .../node_modules/core-js/fn/object/seal.js      |     2 +
 .../core-js/fn/object/set-prototype-of.js       |     2 +
 .../node_modules/core-js/fn/object/values.js    |     2 +
 .../node_modules/core-js/fn/parse-float.js      |     2 +
 .../jszip/node_modules/core-js/fn/parse-int.js  |     2 +
 .../jszip/node_modules/core-js/fn/promise.js    |     5 +
 .../node_modules/core-js/fn/reflect/apply.js    |     2 +
 .../core-js/fn/reflect/construct.js             |     2 +
 .../core-js/fn/reflect/define-metadata.js       |     2 +
 .../core-js/fn/reflect/define-property.js       |     2 +
 .../core-js/fn/reflect/delete-metadata.js       |     2 +
 .../core-js/fn/reflect/delete-property.js       |     2 +
 .../core-js/fn/reflect/enumerate.js             |     2 +
 .../core-js/fn/reflect/get-metadata-keys.js     |     2 +
 .../core-js/fn/reflect/get-metadata.js          |     2 +
 .../core-js/fn/reflect/get-own-metadata-keys.js |     2 +
 .../core-js/fn/reflect/get-own-metadata.js      |     2 +
 .../fn/reflect/get-own-property-descriptor.js   |     2 +
 .../core-js/fn/reflect/get-prototype-of.js      |     2 +
 .../node_modules/core-js/fn/reflect/get.js      |     2 +
 .../core-js/fn/reflect/has-metadata.js          |     2 +
 .../core-js/fn/reflect/has-own-metadata.js      |     2 +
 .../node_modules/core-js/fn/reflect/has.js      |     2 +
 .../node_modules/core-js/fn/reflect/index.js    |    24 +
 .../core-js/fn/reflect/is-extensible.js         |     2 +
 .../node_modules/core-js/fn/reflect/metadata.js |     2 +
 .../node_modules/core-js/fn/reflect/own-keys.js |     2 +
 .../core-js/fn/reflect/prevent-extensions.js    |     2 +
 .../core-js/fn/reflect/set-prototype-of.js      |     2 +
 .../node_modules/core-js/fn/reflect/set.js      |     2 +
 .../core-js/fn/regexp/constructor.js            |     2 +
 .../node_modules/core-js/fn/regexp/escape.js    |     2 +
 .../node_modules/core-js/fn/regexp/flags.js     |     5 +
 .../node_modules/core-js/fn/regexp/index.js     |     9 +
 .../node_modules/core-js/fn/regexp/match.js     |     5 +
 .../node_modules/core-js/fn/regexp/replace.js   |     5 +
 .../node_modules/core-js/fn/regexp/search.js    |     5 +
 .../node_modules/core-js/fn/regexp/split.js     |     5 +
 .../node_modules/core-js/fn/regexp/to-string.js |     5 +
 .../node_modules/core-js/fn/set-immediate.js    |     2 +
 .../node_modules/core-js/fn/set-interval.js     |     2 +
 .../node_modules/core-js/fn/set-timeout.js      |     2 +
 .../jszip/node_modules/core-js/fn/set.js        |     6 +
 .../node_modules/core-js/fn/string/anchor.js    |     2 +
 .../jszip/node_modules/core-js/fn/string/at.js  |     2 +
 .../jszip/node_modules/core-js/fn/string/big.js |     2 +
 .../node_modules/core-js/fn/string/blink.js     |     2 +
 .../node_modules/core-js/fn/string/bold.js      |     2 +
 .../core-js/fn/string/code-point-at.js          |     2 +
 .../node_modules/core-js/fn/string/ends-with.js |     2 +
 .../core-js/fn/string/escape-html.js            |     2 +
 .../node_modules/core-js/fn/string/fixed.js     |     2 +
 .../node_modules/core-js/fn/string/fontcolor.js |     2 +
 .../node_modules/core-js/fn/string/fontsize.js  |     2 +
 .../core-js/fn/string/from-code-point.js        |     2 +
 .../node_modules/core-js/fn/string/includes.js  |     2 +
 .../node_modules/core-js/fn/string/index.js     |    35 +
 .../node_modules/core-js/fn/string/italics.js   |     2 +
 .../node_modules/core-js/fn/string/iterator.js  |     5 +
 .../node_modules/core-js/fn/string/link.js      |     2 +
 .../node_modules/core-js/fn/string/match-all.js |     2 +
 .../node_modules/core-js/fn/string/pad-end.js   |     2 +
 .../node_modules/core-js/fn/string/pad-start.js |     2 +
 .../jszip/node_modules/core-js/fn/string/raw.js |     2 +
 .../node_modules/core-js/fn/string/repeat.js    |     2 +
 .../node_modules/core-js/fn/string/small.js     |     2 +
 .../core-js/fn/string/starts-with.js            |     2 +
 .../node_modules/core-js/fn/string/strike.js    |     2 +
 .../jszip/node_modules/core-js/fn/string/sub.js |     2 +
 .../jszip/node_modules/core-js/fn/string/sup.js |     2 +
 .../node_modules/core-js/fn/string/trim-end.js  |     2 +
 .../node_modules/core-js/fn/string/trim-left.js |     2 +
 .../core-js/fn/string/trim-right.js             |     2 +
 .../core-js/fn/string/trim-start.js             |     2 +
 .../node_modules/core-js/fn/string/trim.js      |     2 +
 .../core-js/fn/string/unescape-html.js          |     2 +
 .../core-js/fn/string/virtual/anchor.js         |     2 +
 .../core-js/fn/string/virtual/at.js             |     2 +
 .../core-js/fn/string/virtual/big.js            |     2 +
 .../core-js/fn/string/virtual/blink.js          |     2 +
 .../core-js/fn/string/virtual/bold.js           |     2 +
 .../core-js/fn/string/virtual/code-point-at.js  |     2 +
 .../core-js/fn/string/virtual/ends-with.js      |     2 +
 .../core-js/fn/string/virtual/escape-html.js    |     2 +
 .../core-js/fn/string/virtual/fixed.js          |     2 +
 .../core-js/fn/string/virtual/fontcolor.js      |     2 +
 .../core-js/fn/string/virtual/fontsize.js       |     2 +
 .../core-js/fn/string/virtual/includes.js       |     2 +
 .../core-js/fn/string/virtual/index.js          |    33 +
 .../core-js/fn/string/virtual/italics.js        |     2 +
 .../core-js/fn/string/virtual/iterator.js       |     2 +
 .../core-js/fn/string/virtual/link.js           |     2 +
 .../core-js/fn/string/virtual/match-all.js      |     2 +
 .../core-js/fn/string/virtual/pad-end.js        |     2 +
 .../core-js/fn/string/virtual/pad-start.js      |     2 +
 .../core-js/fn/string/virtual/repeat.js         |     2 +
 .../core-js/fn/string/virtual/small.js          |     2 +
 .../core-js/fn/string/virtual/starts-with.js    |     2 +
 .../core-js/fn/string/virtual/strike.js         |     2 +
 .../core-js/fn/string/virtual/sub.js            |     2 +
 .../core-js/fn/string/virtual/sup.js            |     2 +
 .../core-js/fn/string/virtual/trim-end.js       |     2 +
 .../core-js/fn/string/virtual/trim-left.js      |     2 +
 .../core-js/fn/string/virtual/trim-right.js     |     2 +
 .../core-js/fn/string/virtual/trim-start.js     |     2 +
 .../core-js/fn/string/virtual/trim.js           |     2 +
 .../core-js/fn/string/virtual/unescape-html.js  |     2 +
 .../core-js/fn/symbol/async-iterator.js         |     2 +
 .../jszip/node_modules/core-js/fn/symbol/for.js |     2 +
 .../core-js/fn/symbol/has-instance.js           |     2 +
 .../node_modules/core-js/fn/symbol/index.js     |     5 +
 .../core-js/fn/symbol/is-concat-spreadable.js   |     1 +
 .../node_modules/core-js/fn/symbol/iterator.js  |     3 +
 .../node_modules/core-js/fn/symbol/key-for.js   |     2 +
 .../node_modules/core-js/fn/symbol/match.js     |     2 +
 .../core-js/fn/symbol/observable.js             |     2 +
 .../node_modules/core-js/fn/symbol/replace.js   |     2 +
 .../node_modules/core-js/fn/symbol/search.js    |     2 +
 .../node_modules/core-js/fn/symbol/species.js   |     1 +
 .../node_modules/core-js/fn/symbol/split.js     |     2 +
 .../core-js/fn/symbol/to-primitive.js           |     1 +
 .../core-js/fn/symbol/to-string-tag.js          |     2 +
 .../core-js/fn/symbol/unscopables.js            |     1 +
 .../node_modules/core-js/fn/system/global.js    |     2 +
 .../node_modules/core-js/fn/system/index.js     |     2 +
 .../core-js/fn/typed/array-buffer.js            |     3 +
 .../node_modules/core-js/fn/typed/data-view.js  |     3 +
 .../core-js/fn/typed/float32-array.js           |     2 +
 .../core-js/fn/typed/float64-array.js           |     2 +
 .../node_modules/core-js/fn/typed/index.js      |    13 +
 .../core-js/fn/typed/int16-array.js             |     2 +
 .../core-js/fn/typed/int32-array.js             |     2 +
 .../node_modules/core-js/fn/typed/int8-array.js |     2 +
 .../core-js/fn/typed/uint16-array.js            |     2 +
 .../core-js/fn/typed/uint32-array.js            |     2 +
 .../core-js/fn/typed/uint8-array.js             |     2 +
 .../core-js/fn/typed/uint8-clamped-array.js     |     2 +
 .../jszip/node_modules/core-js/fn/weak-map.js   |     4 +
 .../jszip/node_modules/core-js/fn/weak-set.js   |     4 +
 .../jszip/node_modules/core-js/index.js         |    16 +
 .../node_modules/core-js/library/core/_.js      |     2 +
 .../node_modules/core-js/library/core/delay.js  |     2 +
 .../node_modules/core-js/library/core/dict.js   |     2 +
 .../core-js/library/core/function.js            |     2 +
 .../node_modules/core-js/library/core/index.js  |    15 +
 .../node_modules/core-js/library/core/number.js |     2 +
 .../node_modules/core-js/library/core/object.js |     5 +
 .../node_modules/core-js/library/core/regexp.js |     2 +
 .../node_modules/core-js/library/core/string.js |     3 +
 .../node_modules/core-js/library/es5/index.js   |    37 +
 .../node_modules/core-js/library/es6/array.js   |    23 +
 .../node_modules/core-js/library/es6/date.js    |     6 +
 .../core-js/library/es6/function.js             |     4 +
 .../node_modules/core-js/library/es6/index.js   |   138 +
 .../node_modules/core-js/library/es6/map.js     |     5 +
 .../node_modules/core-js/library/es6/math.js    |    18 +
 .../node_modules/core-js/library/es6/number.js  |    13 +
 .../node_modules/core-js/library/es6/object.js  |    20 +
 .../core-js/library/es6/parse-float.js          |     2 +
 .../core-js/library/es6/parse-int.js            |     2 +
 .../node_modules/core-js/library/es6/promise.js |     5 +
 .../node_modules/core-js/library/es6/reflect.js |    15 +
 .../node_modules/core-js/library/es6/regexp.js  |     8 +
 .../node_modules/core-js/library/es6/set.js     |     5 +
 .../node_modules/core-js/library/es6/string.js  |    27 +
 .../node_modules/core-js/library/es6/symbol.js  |     3 +
 .../node_modules/core-js/library/es6/typed.js   |    13 +
 .../core-js/library/es6/weak-map.js             |     4 +
 .../core-js/library/es6/weak-set.js             |     4 +
 .../node_modules/core-js/library/es7/array.js   |     2 +
 .../node_modules/core-js/library/es7/asap.js    |     2 +
 .../node_modules/core-js/library/es7/error.js   |     2 +
 .../node_modules/core-js/library/es7/index.js   |    35 +
 .../node_modules/core-js/library/es7/map.js     |     2 +
 .../node_modules/core-js/library/es7/math.js    |     5 +
 .../node_modules/core-js/library/es7/object.js  |     8 +
 .../node_modules/core-js/library/es7/reflect.js |    10 +
 .../node_modules/core-js/library/es7/set.js     |     2 +
 .../node_modules/core-js/library/es7/string.js  |     7 +
 .../node_modules/core-js/library/es7/symbol.js  |     3 +
 .../node_modules/core-js/library/es7/system.js  |     2 +
 .../jszip/node_modules/core-js/library/fn/_.js  |     2 +
 .../core-js/library/fn/array/concat.js          |     4 +
 .../core-js/library/fn/array/copy-within.js     |     2 +
 .../core-js/library/fn/array/entries.js         |     2 +
 .../core-js/library/fn/array/every.js           |     2 +
 .../core-js/library/fn/array/fill.js            |     2 +
 .../core-js/library/fn/array/filter.js          |     2 +
 .../core-js/library/fn/array/find-index.js      |     2 +
 .../core-js/library/fn/array/find.js            |     2 +
 .../core-js/library/fn/array/for-each.js        |     2 +
 .../core-js/library/fn/array/from.js            |     3 +
 .../core-js/library/fn/array/includes.js        |     2 +
 .../core-js/library/fn/array/index-of.js        |     2 +
 .../core-js/library/fn/array/index.js           |    24 +
 .../core-js/library/fn/array/is-array.js        |     2 +
 .../core-js/library/fn/array/iterator.js        |     2 +
 .../core-js/library/fn/array/join.js            |     2 +
 .../core-js/library/fn/array/keys.js            |     2 +
 .../core-js/library/fn/array/last-index-of.js   |     2 +
 .../core-js/library/fn/array/map.js             |     2 +
 .../node_modules/core-js/library/fn/array/of.js |     2 +
 .../core-js/library/fn/array/pop.js             |     4 +
 .../core-js/library/fn/array/push.js            |     4 +
 .../core-js/library/fn/array/reduce-right.js    |     2 +
 .../core-js/library/fn/array/reduce.js          |     2 +
 .../core-js/library/fn/array/reverse.js         |     4 +
 .../core-js/library/fn/array/shift.js           |     4 +
 .../core-js/library/fn/array/slice.js           |     2 +
 .../core-js/library/fn/array/some.js            |     2 +
 .../core-js/library/fn/array/sort.js            |     2 +
 .../core-js/library/fn/array/splice.js          |     4 +
 .../core-js/library/fn/array/unshift.js         |     4 +
 .../core-js/library/fn/array/values.js          |     2 +
 .../library/fn/array/virtual/copy-within.js     |     2 +
 .../core-js/library/fn/array/virtual/entries.js |     2 +
 .../core-js/library/fn/array/virtual/every.js   |     2 +
 .../core-js/library/fn/array/virtual/fill.js    |     2 +
 .../core-js/library/fn/array/virtual/filter.js  |     2 +
 .../library/fn/array/virtual/find-index.js      |     2 +
 .../core-js/library/fn/array/virtual/find.js    |     2 +
 .../library/fn/array/virtual/for-each.js        |     2 +
 .../library/fn/array/virtual/includes.js        |     2 +
 .../library/fn/array/virtual/index-of.js        |     2 +
 .../core-js/library/fn/array/virtual/index.js   |    20 +
 .../library/fn/array/virtual/iterator.js        |     2 +
 .../core-js/library/fn/array/virtual/join.js    |     2 +
 .../core-js/library/fn/array/virtual/keys.js    |     2 +
 .../library/fn/array/virtual/last-index-of.js   |     2 +
 .../core-js/library/fn/array/virtual/map.js     |     2 +
 .../library/fn/array/virtual/reduce-right.js    |     2 +
 .../core-js/library/fn/array/virtual/reduce.js  |     2 +
 .../core-js/library/fn/array/virtual/slice.js   |     2 +
 .../core-js/library/fn/array/virtual/some.js    |     2 +
 .../core-js/library/fn/array/virtual/sort.js    |     2 +
 .../core-js/library/fn/array/virtual/values.js  |     2 +
 .../node_modules/core-js/library/fn/asap.js     |     2 +
 .../core-js/library/fn/clear-immediate.js       |     2 +
 .../core-js/library/fn/date/index.js            |     6 +
 .../node_modules/core-js/library/fn/date/now.js |     2 +
 .../core-js/library/fn/date/to-iso-string.js    |     3 +
 .../core-js/library/fn/date/to-json.js          |     2 +
 .../core-js/library/fn/date/to-primitive.js     |     5 +
 .../core-js/library/fn/date/to-string.js        |     5 +
 .../node_modules/core-js/library/fn/delay.js    |     2 +
 .../node_modules/core-js/library/fn/dict.js     |     2 +
 .../core-js/library/fn/dom-collections/index.js |     8 +
 .../library/fn/dom-collections/iterator.js      |     2 +
 .../core-js/library/fn/error/index.js           |     2 +
 .../core-js/library/fn/error/is-error.js        |     2 +
 .../core-js/library/fn/function/bind.js         |     2 +
 .../core-js/library/fn/function/has-instance.js |     2 +
 .../core-js/library/fn/function/index.js        |     5 +
 .../core-js/library/fn/function/name.js         |     1 +
 .../core-js/library/fn/function/part.js         |     2 +
 .../core-js/library/fn/function/virtual/bind.js |     2 +
 .../library/fn/function/virtual/index.js        |     3 +
 .../core-js/library/fn/function/virtual/part.js |     2 +
 .../core-js/library/fn/get-iterator-method.js   |     3 +
 .../core-js/library/fn/get-iterator.js          |     3 +
 .../core-js/library/fn/is-iterable.js           |     3 +
 .../core-js/library/fn/json/index.js            |     2 +
 .../core-js/library/fn/json/stringify.js        |     5 +
 .../node_modules/core-js/library/fn/map.js      |     6 +
 .../core-js/library/fn/math/acosh.js            |     2 +
 .../core-js/library/fn/math/asinh.js            |     2 +
 .../core-js/library/fn/math/atanh.js            |     2 +
 .../core-js/library/fn/math/cbrt.js             |     2 +
 .../core-js/library/fn/math/clz32.js            |     2 +
 .../core-js/library/fn/math/cosh.js             |     2 +
 .../core-js/library/fn/math/expm1.js            |     2 +
 .../core-js/library/fn/math/fround.js           |     2 +
 .../core-js/library/fn/math/hypot.js            |     2 +
 .../core-js/library/fn/math/iaddh.js            |     2 +
 .../core-js/library/fn/math/imul.js             |     2 +
 .../core-js/library/fn/math/imulh.js            |     2 +
 .../core-js/library/fn/math/index.js            |    22 +
 .../core-js/library/fn/math/isubh.js            |     2 +
 .../core-js/library/fn/math/log10.js            |     2 +
 .../core-js/library/fn/math/log1p.js            |     2 +
 .../core-js/library/fn/math/log2.js             |     2 +
 .../core-js/library/fn/math/sign.js             |     2 +
 .../core-js/library/fn/math/sinh.js             |     2 +
 .../core-js/library/fn/math/tanh.js             |     2 +
 .../core-js/library/fn/math/trunc.js            |     2 +
 .../core-js/library/fn/math/umulh.js            |     2 +
 .../core-js/library/fn/number/constructor.js    |     2 +
 .../core-js/library/fn/number/epsilon.js        |     2 +
 .../core-js/library/fn/number/index.js          |    14 +
 .../core-js/library/fn/number/is-finite.js      |     2 +
 .../core-js/library/fn/number/is-integer.js     |     2 +
 .../core-js/library/fn/number/is-nan.js         |     2 +
 .../library/fn/number/is-safe-integer.js        |     2 +
 .../core-js/library/fn/number/iterator.js       |     5 +
 .../library/fn/number/max-safe-integer.js       |     2 +
 .../library/fn/number/min-safe-integer.js       |     2 +
 .../core-js/library/fn/number/parse-float.js    |     2 +
 .../core-js/library/fn/number/parse-int.js      |     2 +
 .../core-js/library/fn/number/to-fixed.js       |     2 +
 .../core-js/library/fn/number/to-precision.js   |     2 +
 .../core-js/library/fn/number/virtual/index.js  |     4 +
 .../library/fn/number/virtual/iterator.js       |     2 +
 .../library/fn/number/virtual/to-fixed.js       |     2 +
 .../library/fn/number/virtual/to-precision.js   |     2 +
 .../core-js/library/fn/object/assign.js         |     2 +
 .../core-js/library/fn/object/classof.js        |     2 +
 .../core-js/library/fn/object/create.js         |     5 +
 .../core-js/library/fn/object/define-getter.js  |     2 +
 .../library/fn/object/define-properties.js      |     5 +
 .../library/fn/object/define-property.js        |     5 +
 .../core-js/library/fn/object/define-setter.js  |     2 +
 .../core-js/library/fn/object/define.js         |     2 +
 .../core-js/library/fn/object/entries.js        |     2 +
 .../core-js/library/fn/object/freeze.js         |     2 +
 .../fn/object/get-own-property-descriptor.js    |     5 +
 .../fn/object/get-own-property-descriptors.js   |     2 +
 .../library/fn/object/get-own-property-names.js |     5 +
 .../fn/object/get-own-property-symbols.js       |     2 +
 .../library/fn/object/get-prototype-of.js       |     2 +
 .../core-js/library/fn/object/index.js          |    30 +
 .../core-js/library/fn/object/is-extensible.js  |     2 +
 .../core-js/library/fn/object/is-frozen.js      |     2 +
 .../core-js/library/fn/object/is-object.js      |     2 +
 .../core-js/library/fn/object/is-sealed.js      |     2 +
 .../core-js/library/fn/object/is.js             |     2 +
 .../core-js/library/fn/object/keys.js           |     2 +
 .../core-js/library/fn/object/lookup-getter.js  |     2 +
 .../core-js/library/fn/object/lookup-setter.js  |     2 +
 .../core-js/library/fn/object/make.js           |     2 +
 .../library/fn/object/prevent-extensions.js     |     2 +
 .../core-js/library/fn/object/seal.js           |     2 +
 .../library/fn/object/set-prototype-of.js       |     2 +
 .../core-js/library/fn/object/values.js         |     2 +
 .../core-js/library/fn/parse-float.js           |     2 +
 .../core-js/library/fn/parse-int.js             |     2 +
 .../node_modules/core-js/library/fn/promise.js  |     5 +
 .../core-js/library/fn/reflect/apply.js         |     2 +
 .../core-js/library/fn/reflect/construct.js     |     2 +
 .../library/fn/reflect/define-metadata.js       |     2 +
 .../library/fn/reflect/define-property.js       |     2 +
 .../library/fn/reflect/delete-metadata.js       |     2 +
 .../library/fn/reflect/delete-property.js       |     2 +
 .../core-js/library/fn/reflect/enumerate.js     |     2 +
 .../library/fn/reflect/get-metadata-keys.js     |     2 +
 .../core-js/library/fn/reflect/get-metadata.js  |     2 +
 .../library/fn/reflect/get-own-metadata-keys.js |     2 +
 .../library/fn/reflect/get-own-metadata.js      |     2 +
 .../fn/reflect/get-own-property-descriptor.js   |     2 +
 .../library/fn/reflect/get-prototype-of.js      |     2 +
 .../core-js/library/fn/reflect/get.js           |     2 +
 .../core-js/library/fn/reflect/has-metadata.js  |     2 +
 .../library/fn/reflect/has-own-metadata.js      |     2 +
 .../core-js/library/fn/reflect/has.js           |     2 +
 .../core-js/library/fn/reflect/index.js         |    24 +
 .../core-js/library/fn/reflect/is-extensible.js |     2 +
 .../core-js/library/fn/reflect/metadata.js      |     2 +
 .../core-js/library/fn/reflect/own-keys.js      |     2 +
 .../library/fn/reflect/prevent-extensions.js    |     2 +
 .../library/fn/reflect/set-prototype-of.js      |     2 +
 .../core-js/library/fn/reflect/set.js           |     2 +
 .../core-js/library/fn/regexp/constructor.js    |     2 +
 .../core-js/library/fn/regexp/escape.js         |     2 +
 .../core-js/library/fn/regexp/flags.js          |     5 +
 .../core-js/library/fn/regexp/index.js          |     9 +
 .../core-js/library/fn/regexp/match.js          |     5 +
 .../core-js/library/fn/regexp/replace.js        |     5 +
 .../core-js/library/fn/regexp/search.js         |     5 +
 .../core-js/library/fn/regexp/split.js          |     5 +
 .../core-js/library/fn/regexp/to-string.js      |     5 +
 .../core-js/library/fn/set-immediate.js         |     2 +
 .../core-js/library/fn/set-interval.js          |     2 +
 .../core-js/library/fn/set-timeout.js           |     2 +
 .../node_modules/core-js/library/fn/set.js      |     6 +
 .../core-js/library/fn/string/anchor.js         |     2 +
 .../core-js/library/fn/string/at.js             |     2 +
 .../core-js/library/fn/string/big.js            |     2 +
 .../core-js/library/fn/string/blink.js          |     2 +
 .../core-js/library/fn/string/bold.js           |     2 +
 .../core-js/library/fn/string/code-point-at.js  |     2 +
 .../core-js/library/fn/string/ends-with.js      |     2 +
 .../core-js/library/fn/string/escape-html.js    |     2 +
 .../core-js/library/fn/string/fixed.js          |     2 +
 .../core-js/library/fn/string/fontcolor.js      |     2 +
 .../core-js/library/fn/string/fontsize.js       |     2 +
 .../library/fn/string/from-code-point.js        |     2 +
 .../core-js/library/fn/string/includes.js       |     2 +
 .../core-js/library/fn/string/index.js          |    35 +
 .../core-js/library/fn/string/italics.js        |     2 +
 .../core-js/library/fn/string/iterator.js       |     5 +
 .../core-js/library/fn/string/link.js           |     2 +
 .../core-js/library/fn/string/match-all.js      |     2 +
 .../core-js/library/fn/string/pad-end.js        |     2 +
 .../core-js/library/fn/string/pad-start.js      |     2 +
 .../core-js/library/fn/string/raw.js            |     2 +
 .../core-js/library/fn/string/repeat.js         |     2 +
 .../core-js/library/fn/string/small.js          |     2 +
 .../core-js/library/fn/string/starts-with.js    |     2 +
 .../core-js/library/fn/string/strike.js         |     2 +
 .../core-js/library/fn/string/sub.js            |     2 +
 .../core-js/library/fn/string/sup.js            |     2 +
 .../core-js/library/fn/string/trim-end.js       |     2 +
 .../core-js/library/fn/string/trim-left.js      |     2 +
 .../core-js/library/fn/string/trim-right.js     |     2 +
 .../core-js/library/fn/string/trim-start.js     |     2 +
 .../core-js/library/fn/string/trim.js           |     2 +
 .../core-js/library/fn/string/unescape-html.js  |     2 +
 .../core-js/library/fn/string/virtual/anchor.js |     2 +
 .../core-js/library/fn/string/virtual/at.js     |     2 +
 .../core-js/library/fn/string/virtual/big.js    |     2 +
 .../core-js/library/fn/string/virtual/blink.js  |     2 +
 .../core-js/library/fn/string/virtual/bold.js   |     2 +
 .../library/fn/string/virtual/code-point-at.js  |     2 +
 .../library/fn/string/virtual/ends-with.js      |     2 +
 .../library/fn/string/virtual/escape-html.js    |     2 +
 .../core-js/library/fn/string/virtual/fixed.js  |     2 +
 .../library/fn/string/virtual/fontcolor.js      |     2 +
 .../library/fn/string/virtual/fontsize.js       |     2 +
 .../library/fn/string/virtual/includes.js       |     2 +
 .../core-js/library/fn/string/virtual/index.js  |    33 +
 .../library/fn/string/virtual/italics.js        |     2 +
 .../library/fn/string/virtual/iterator.js       |     2 +
 .../core-js/library/fn/string/virtual/link.js   |     2 +
 .../library/fn/string/virtual/match-all.js      |     2 +
 .../library/fn/string/virtual/pad-end.js        |     2 +
 .../library/fn/string/virtual/pad-start.js      |     2 +
 .../core-js/library/fn/string/virtual/repeat.js |     2 +
 .../core-js/library/fn/string/virtual/small.js  |     2 +
 .../library/fn/string/virtual/starts-with.js    |     2 +
 .../core-js/library/fn/string/virtual/strike.js |     2 +
 .../core-js/library/fn/string/virtual/sub.js    |     2 +
 .../core-js/library/fn/string/virtual/sup.js    |     2 +
 .../library/fn/string/virtual/trim-end.js       |     2 +
 .../library/fn/string/virtual/trim-left.js      |     2 +
 .../library/fn/string/virtual/trim-right.js     |     2 +
 .../library/fn/string/virtual/trim-start.js     |     2 +
 .../core-js/library/fn/string/virtual/trim.js   |     2 +
 .../library/fn/string/virtual/unescape-html.js  |     2 +
 .../core-js/library/fn/symbol/async-iterator.js |     2 +
 .../core-js/library/fn/symbol/for.js            |     2 +
 .../core-js/library/fn/symbol/has-instance.js   |     2 +
 .../core-js/library/fn/symbol/index.js          |     5 +
 .../library/fn/symbol/is-concat-spreadable.js   |     1 +
 .../core-js/library/fn/symbol/iterator.js       |     3 +
 .../core-js/library/fn/symbol/key-for.js        |     2 +
 .../core-js/library/fn/symbol/match.js          |     2 +
 .../core-js/library/fn/symbol/observable.js     |     2 +
 .../core-js/library/fn/symbol/replace.js        |     2 +
 .../core-js/library/fn/symbol/search.js         |     2 +
 .../core-js/library/fn/symbol/species.js        |     1 +
 .../core-js/library/fn/symbol/split.js          |     2 +
 .../core-js/library/fn/symbol/to-primitive.js   |     1 +
 .../core-js/library/fn/symbol/to-string-tag.js  |     2 +
 .../core-js/library/fn/symbol/unscopables.js    |     1 +
 .../core-js/library/fn/system/global.js         |     2 +
 .../core-js/library/fn/system/index.js          |     2 +
 .../core-js/library/fn/typed/array-buffer.js    |     3 +
 .../core-js/library/fn/typed/data-view.js       |     3 +
 .../core-js/library/fn/typed/float32-array.js   |     2 +
 .../core-js/library/fn/typed/float64-array.js   |     2 +
 .../core-js/library/fn/typed/index.js           |    13 +
 .../core-js/library/fn/typed/int16-array.js     |     2 +
 .../core-js/library/fn/typed/int32-array.js     |     2 +
 .../core-js/library/fn/typed/int8-array.js      |     2 +
 .../core-js/library/fn/typed/uint16-array.js    |     2 +
 .../core-js/library/fn/typed/uint32-array.js    |     2 +
 .../core-js/library/fn/typed/uint8-array.js     |     2 +
 .../library/fn/typed/uint8-clamped-array.js     |     2 +
 .../node_modules/core-js/library/fn/weak-map.js |     4 +
 .../node_modules/core-js/library/fn/weak-set.js |     4 +
 .../jszip/node_modules/core-js/library/index.js |    16 +
 .../core-js/library/modules/_a-function.js      |     4 +
 .../core-js/library/modules/_a-number-value.js  |     5 +
 .../library/modules/_add-to-unscopables.js      |     1 +
 .../core-js/library/modules/_an-instance.js     |     5 +
 .../core-js/library/modules/_an-object.js       |     5 +
 .../library/modules/_array-copy-within.js       |    26 +
 .../core-js/library/modules/_array-fill.js      |    15 +
 .../library/modules/_array-from-iterable.js     |     7 +
 .../core-js/library/modules/_array-includes.js  |    21 +
 .../core-js/library/modules/_array-methods.js   |    44 +
 .../core-js/library/modules/_array-reduce.js    |    28 +
 .../modules/_array-species-constructor.js       |    16 +
 .../library/modules/_array-species-create.js    |     6 +
 .../core-js/library/modules/_bind.js            |    24 +
 .../core-js/library/modules/_classof.js         |    23 +
 .../core-js/library/modules/_cof.js             |     5 +
 .../library/modules/_collection-strong.js       |   143 +
 .../library/modules/_collection-to-json.js      |     9 +
 .../core-js/library/modules/_collection-weak.js |    83 +
 .../core-js/library/modules/_collection.js      |    59 +
 .../core-js/library/modules/_core.js            |     2 +
 .../core-js/library/modules/_create-property.js |     8 +
 .../core-js/library/modules/_ctx.js             |    20 +
 .../library/modules/_date-to-primitive.js       |     9 +
 .../core-js/library/modules/_defined.js         |     5 +
 .../core-js/library/modules/_descriptors.js     |     4 +
 .../core-js/library/modules/_dom-create.js      |     7 +
 .../core-js/library/modules/_entry-virtual.js   |     5 +
 .../core-js/library/modules/_enum-bug-keys.js   |     4 +
 .../core-js/library/modules/_enum-keys.js       |    15 +
 .../core-js/library/modules/_export.js          |    61 +
 .../core-js/library/modules/_fails-is-regexp.js |    12 +
 .../core-js/library/modules/_fails.js           |     7 +
 .../core-js/library/modules/_fix-re-wks.js      |    28 +
 .../core-js/library/modules/_flags.js           |    13 +
 .../core-js/library/modules/_for-of.js          |    19 +
 .../core-js/library/modules/_global.js          |     4 +
 .../core-js/library/modules/_has.js             |     4 +
 .../core-js/library/modules/_hide.js            |     8 +
 .../core-js/library/modules/_html.js            |     1 +
 .../core-js/library/modules/_ie8-dom-define.js  |     3 +
 .../library/modules/_inherit-if-required.js     |     8 +
 .../core-js/library/modules/_invoke.js          |    16 +
 .../core-js/library/modules/_iobject.js         |     5 +
 .../core-js/library/modules/_is-array-iter.js   |     8 +
 .../core-js/library/modules/_is-array.js        |     5 +
 .../core-js/library/modules/_is-integer.js      |     6 +
 .../core-js/library/modules/_is-object.js       |     3 +
 .../core-js/library/modules/_is-regexp.js       |     8 +
 .../core-js/library/modules/_iter-call.js       |    12 +
 .../core-js/library/modules/_iter-create.js     |    13 +
 .../core-js/library/modules/_iter-define.js     |    70 +
 .../core-js/library/modules/_iter-detect.js     |    21 +
 .../core-js/library/modules/_iter-step.js       |     3 +
 .../core-js/library/modules/_iterators.js       |     1 +
 .../core-js/library/modules/_keyof.js           |    10 +
 .../core-js/library/modules/_library.js         |     1 +
 .../core-js/library/modules/_math-expm1.js      |    10 +
 .../core-js/library/modules/_math-log1p.js      |     4 +
 .../core-js/library/modules/_math-sign.js       |     4 +
 .../core-js/library/modules/_meta.js            |    53 +
 .../core-js/library/modules/_metadata.js        |    51 +
 .../core-js/library/modules/_microtask.js       |    68 +
 .../core-js/library/modules/_object-assign.js   |    33 +
 .../core-js/library/modules/_object-create.js   |    40 +
 .../core-js/library/modules/_object-define.js   |    12 +
 .../core-js/library/modules/_object-dp.js       |    16 +
 .../core-js/library/modules/_object-dps.js      |    13 +
 .../library/modules/_object-forced-pam.js       |     7 +
 .../core-js/library/modules/_object-gopd.js     |    16 +
 .../core-js/library/modules/_object-gopn-ext.js |    19 +
 .../core-js/library/modules/_object-gopn.js     |     7 +
 .../core-js/library/modules/_object-gops.js     |     1 +
 .../core-js/library/modules/_object-gpo.js      |    13 +
 .../library/modules/_object-keys-internal.js    |    17 +
 .../core-js/library/modules/_object-keys.js     |     7 +
 .../core-js/library/modules/_object-pie.js      |     1 +
 .../core-js/library/modules/_object-sap.js      |    10 +
 .../core-js/library/modules/_object-to-array.js |    16 +
 .../core-js/library/modules/_own-keys.js        |    10 +
 .../core-js/library/modules/_parse-float.js     |     8 +
 .../core-js/library/modules/_parse-int.js       |     9 +
 .../core-js/library/modules/_partial.js         |    23 +
 .../core-js/library/modules/_path.js            |     1 +
 .../core-js/library/modules/_property-desc.js   |     8 +
 .../core-js/library/modules/_redefine-all.js    |     7 +
 .../core-js/library/modules/_redefine.js        |     1 +
 .../core-js/library/modules/_replacer.js        |     8 +
 .../core-js/library/modules/_same-value.js      |     4 +
 .../core-js/library/modules/_set-proto.js       |    25 +
 .../core-js/library/modules/_set-species.js     |    14 +
 .../library/modules/_set-to-string-tag.js       |     7 +
 .../core-js/library/modules/_shared-key.js      |     5 +
 .../core-js/library/modules/_shared.js          |     6 +
 .../library/modules/_species-constructor.js     |     8 +
 .../core-js/library/modules/_strict-method.js   |     7 +
 .../core-js/library/modules/_string-at.js       |    17 +
 .../core-js/library/modules/_string-context.js  |     8 +
 .../core-js/library/modules/_string-html.js     |    19 +
 .../core-js/library/modules/_string-pad.js      |    16 +
 .../core-js/library/modules/_string-repeat.js   |    12 +
 .../core-js/library/modules/_string-trim.js     |    30 +
 .../core-js/library/modules/_string-ws.js       |     2 +
 .../core-js/library/modules/_task.js            |    75 +
 .../core-js/library/modules/_to-index.js        |     7 +
 .../core-js/library/modules/_to-integer.js      |     6 +
 .../core-js/library/modules/_to-iobject.js      |     6 +
 .../core-js/library/modules/_to-length.js       |     6 +
 .../core-js/library/modules/_to-object.js       |     5 +
 .../core-js/library/modules/_to-primitive.js    |    12 +
 .../core-js/library/modules/_typed-array.js     |   481 +
 .../core-js/library/modules/_typed-buffer.js    |   275 +
 .../core-js/library/modules/_typed.js           |    26 +
 .../core-js/library/modules/_uid.js             |     5 +
 .../core-js/library/modules/_wks-define.js      |     9 +
 .../core-js/library/modules/_wks-ext.js         |     1 +
 .../core-js/library/modules/_wks.js             |    11 +
 .../core-js/library/modules/core.delay.js       |    12 +
 .../core-js/library/modules/core.dict.js        |   155 +
 .../library/modules/core.function.part.js       |     7 +
 .../library/modules/core.get-iterator-method.js |     8 +
 .../library/modules/core.get-iterator.js        |     7 +
 .../core-js/library/modules/core.is-iterable.js |     9 +
 .../library/modules/core.number.iterator.js     |     9 +
 .../library/modules/core.object.classof.js      |     3 +
 .../library/modules/core.object.define.js       |     4 +
 .../library/modules/core.object.is-object.js    |     3 +
 .../core-js/library/modules/core.object.make.js |     9 +
 .../library/modules/core.regexp.escape.js       |     5 +
 .../library/modules/core.string.escape-html.js  |    11 +
 .../modules/core.string.unescape-html.js        |    11 +
 .../node_modules/core-js/library/modules/es5.js |    35 +
 .../library/modules/es6.array.copy-within.js    |     6 +
 .../core-js/library/modules/es6.array.every.js  |    10 +
 .../core-js/library/modules/es6.array.fill.js   |     6 +
 .../core-js/library/modules/es6.array.filter.js |    10 +
 .../library/modules/es6.array.find-index.js     |    14 +
 .../core-js/library/modules/es6.array.find.js   |    14 +
 .../library/modules/es6.array.for-each.js       |    11 +
 .../core-js/library/modules/es6.array.from.js   |    37 +
 .../library/modules/es6.array.index-of.js       |    15 +
 .../library/modules/es6.array.is-array.js       |     4 +
 .../library/modules/es6.array.iterator.js       |    34 +
 .../core-js/library/modules/es6.array.join.js   |    12 +
 .../library/modules/es6.array.last-index-of.js  |    22 +
 .../core-js/library/modules/es6.array.map.js    |    10 +
 .../core-js/library/modules/es6.array.of.js     |    19 +
 .../library/modules/es6.array.reduce-right.js   |    10 +
 .../core-js/library/modules/es6.array.reduce.js |    10 +
 .../core-js/library/modules/es6.array.slice.js  |    28 +
 .../core-js/library/modules/es6.array.some.js   |    10 +
 .../core-js/library/modules/es6.array.sort.js   |    23 +
 .../library/modules/es6.array.species.js        |     1 +
 .../core-js/library/modules/es6.date.now.js     |     4 +
 .../library/modules/es6.date.to-iso-string.js   |    28 +
 .../core-js/library/modules/es6.date.to-json.js |    14 +
 .../library/modules/es6.date.to-primitive.js    |     0
 .../library/modules/es6.date.to-string.js       |     0
 .../library/modules/es6.function.bind.js        |     4 +
 .../modules/es6.function.has-instance.js        |    13 +
 .../library/modules/es6.function.name.js        |     0
 .../core-js/library/modules/es6.map.js          |    17 +
 .../core-js/library/modules/es6.math.acosh.js   |    18 +
 .../core-js/library/modules/es6.math.asinh.js   |    10 +
 .../core-js/library/modules/es6.math.atanh.js   |    10 +
 .../core-js/library/modules/es6.math.cbrt.js    |     9 +
 .../core-js/library/modules/es6.math.clz32.js   |     8 +
 .../core-js/library/modules/es6.math.cosh.js    |     9 +
 .../core-js/library/modules/es6.math.expm1.js   |     5 +
 .../core-js/library/modules/es6.math.fround.js  |    26 +
 .../core-js/library/modules/es6.math.hypot.js   |    25 +
 .../core-js/library/modules/es6.math.imul.js    |    17 +
 .../core-js/library/modules/es6.math.log10.js   |     8 +
 .../core-js/library/modules/es6.math.log1p.js   |     4 +
 .../core-js/library/modules/es6.math.log2.js    |     8 +
 .../core-js/library/modules/es6.math.sign.js    |     4 +
 .../core-js/library/modules/es6.math.sinh.js    |    15 +
 .../core-js/library/modules/es6.math.tanh.js    |    12 +
 .../core-js/library/modules/es6.math.trunc.js   |     8 +
 .../library/modules/es6.number.constructor.js   |     0
 .../library/modules/es6.number.epsilon.js       |     4 +
 .../library/modules/es6.number.is-finite.js     |     9 +
 .../library/modules/es6.number.is-integer.js    |     4 +
 .../library/modules/es6.number.is-nan.js        |     8 +
 .../modules/es6.number.is-safe-integer.js       |    10 +
 .../modules/es6.number.max-safe-integer.js      |     4 +
 .../modules/es6.number.min-safe-integer.js      |     4 +
 .../library/modules/es6.number.parse-float.js   |     4 +
 .../library/modules/es6.number.parse-int.js     |     4 +
 .../library/modules/es6.number.to-fixed.js      |   114 +
 .../library/modules/es6.number.to-precision.js  |    18 +
 .../library/modules/es6.object.assign.js        |     4 +
 .../library/modules/es6.object.create.js        |     3 +
 .../modules/es6.object.define-properties.js     |     3 +
 .../modules/es6.object.define-property.js       |     3 +
 .../library/modules/es6.object.freeze.js        |     9 +
 .../es6.object.get-own-property-descriptor.js   |     9 +
 .../es6.object.get-own-property-names.js        |     4 +
 .../modules/es6.object.get-prototype-of.js      |     9 +
 .../library/modules/es6.object.is-extensible.js |     8 +
 .../library/modules/es6.object.is-frozen.js     |     8 +
 .../library/modules/es6.object.is-sealed.js     |     8 +
 .../core-js/library/modules/es6.object.is.js    |     3 +
 .../core-js/library/modules/es6.object.keys.js  |     9 +
 .../modules/es6.object.prevent-extensions.js    |     9 +
 .../core-js/library/modules/es6.object.seal.js  |     9 +
 .../modules/es6.object.set-prototype-of.js      |     3 +
 .../library/modules/es6.object.to-string.js     |     0
 .../core-js/library/modules/es6.parse-float.js  |     4 +
 .../core-js/library/modules/es6.parse-int.js    |     4 +
 .../core-js/library/modules/es6.promise.js      |   301 +
 .../library/modules/es6.reflect.apply.js        |     9 +
 .../library/modules/es6.reflect.construct.js    |    38 +
 .../modules/es6.reflect.define-property.js      |    22 +
 .../modules/es6.reflect.delete-property.js      |    11 +
 .../library/modules/es6.reflect.enumerate.js    |    26 +
 .../es6.reflect.get-own-property-descriptor.js  |    10 +
 .../modules/es6.reflect.get-prototype-of.js     |    10 +
 .../core-js/library/modules/es6.reflect.get.js  |    21 +
 .../core-js/library/modules/es6.reflect.has.js  |     8 +
 .../modules/es6.reflect.is-extensible.js        |    11 +
 .../library/modules/es6.reflect.own-keys.js     |     4 +
 .../modules/es6.reflect.prevent-extensions.js   |    16 +
 .../modules/es6.reflect.set-prototype-of.js     |    15 +
 .../core-js/library/modules/es6.reflect.set.js  |    31 +
 .../library/modules/es6.regexp.constructor.js   |     1 +
 .../core-js/library/modules/es6.regexp.flags.js |     0
 .../core-js/library/modules/es6.regexp.match.js |     0
 .../library/modules/es6.regexp.replace.js       |     0
 .../library/modules/es6.regexp.search.js        |     0
 .../core-js/library/modules/es6.regexp.split.js |     0
 .../library/modules/es6.regexp.to-string.js     |     0
 .../core-js/library/modules/es6.set.js          |    12 +
 .../library/modules/es6.string.anchor.js        |     7 +
 .../core-js/library/modules/es6.string.big.js   |     7 +
 .../core-js/library/modules/es6.string.blink.js |     7 +
 .../core-js/library/modules/es6.string.bold.js  |     7 +
 .../library/modules/es6.string.code-point-at.js |     9 +
 .../library/modules/es6.string.ends-with.js     |    20 +
 .../core-js/library/modules/es6.string.fixed.js |     7 +
 .../library/modules/es6.string.fontcolor.js     |     7 +
 .../library/modules/es6.string.fontsize.js      |     7 +
 .../modules/es6.string.from-code-point.js       |    23 +
 .../library/modules/es6.string.includes.js      |    12 +
 .../library/modules/es6.string.italics.js       |     7 +
 .../library/modules/es6.string.iterator.js      |    17 +
 .../core-js/library/modules/es6.string.link.js  |     7 +
 .../core-js/library/modules/es6.string.raw.js   |    18 +
 .../library/modules/es6.string.repeat.js        |     6 +
 .../core-js/library/modules/es6.string.small.js |     7 +
 .../library/modules/es6.string.starts-with.js   |    18 +
 .../library/modules/es6.string.strike.js        |     7 +
 .../core-js/library/modules/es6.string.sub.js   |     7 +
 .../core-js/library/modules/es6.string.sup.js   |     7 +
 .../core-js/library/modules/es6.string.trim.js  |     7 +
 .../core-js/library/modules/es6.symbol.js       |   227 +
 .../library/modules/es6.typed.array-buffer.js   |    47 +
 .../library/modules/es6.typed.data-view.js      |     4 +
 .../library/modules/es6.typed.float32-array.js  |     5 +
 .../library/modules/es6.typed.float64-array.js  |     5 +
 .../library/modules/es6.typed.int16-array.js    |     5 +
 .../library/modules/es6.typed.int32-array.js    |     5 +
 .../library/modules/es6.typed.int8-array.js     |     5 +
 .../library/modules/es6.typed.uint16-array.js   |     5 +
 .../library/modules/es6.typed.uint32-array.js   |     5 +
 .../library/modules/es6.typed.uint8-array.js    |     5 +
 .../modules/es6.typed.uint8-clamped-array.js    |     5 +
 .../core-js/library/modules/es6.weak-map.js     |    57 +
 .../core-js/library/modules/es6.weak-set.js     |    12 +
 .../library/modules/es7.array.includes.js       |    12 +
 .../core-js/library/modules/es7.asap.js         |    12 +
 .../library/modules/es7.error.is-error.js       |     9 +
 .../core-js/library/modules/es7.map.to-json.js  |     4 +
 .../core-js/library/modules/es7.math.iaddh.js   |    11 +
 .../core-js/library/modules/es7.math.imulh.js   |    16 +
 .../core-js/library/modules/es7.math.isubh.js   |    11 +
 .../core-js/library/modules/es7.math.umulh.js   |    16 +
 .../library/modules/es7.object.define-getter.js |    12 +
 .../library/modules/es7.object.define-setter.js |    12 +
 .../library/modules/es7.object.entries.js       |     9 +
 .../es7.object.get-own-property-descriptors.js  |    19 +
 .../library/modules/es7.object.lookup-getter.js |    18 +
 .../library/modules/es7.object.lookup-setter.js |    18 +
 .../library/modules/es7.object.values.js        |     9 +
 .../modules/es7.reflect.define-metadata.js      |     8 +
 .../modules/es7.reflect.delete-metadata.js      |    15 +
 .../modules/es7.reflect.get-metadata-keys.js    |    19 +
 .../library/modules/es7.reflect.get-metadata.js |    17 +
 .../es7.reflect.get-own-metadata-keys.js        |     8 +
 .../modules/es7.reflect.get-own-metadata.js     |     9 +
 .../library/modules/es7.reflect.has-metadata.js |    16 +
 .../modules/es7.reflect.has-own-metadata.js     |     9 +
 .../library/modules/es7.reflect.metadata.js     |    15 +
 .../core-js/library/modules/es7.set.to-json.js  |     4 +
 .../core-js/library/modules/es7.string.at.js    |    10 +
 .../library/modules/es7.string.match-all.js     |    30 +
 .../library/modules/es7.string.pad-end.js       |    10 +
 .../library/modules/es7.string.pad-start.js     |    10 +
 .../library/modules/es7.string.trim-left.js     |     7 +
 .../library/modules/es7.string.trim-right.js    |     7 +
 .../modules/es7.symbol.async-iterator.js        |     1 +
 .../library/modules/es7.symbol.observable.js    |     1 +
 .../library/modules/es7.system.global.js        |     4 +
 .../core-js/library/modules/web.dom.iterable.js |    13 +
 .../core-js/library/modules/web.immediate.js    |     6 +
 .../core-js/library/modules/web.timers.js       |    20 +
 .../jszip/node_modules/core-js/library/shim.js  |   175 +
 .../node_modules/core-js/library/stage/0.js     |    10 +
 .../node_modules/core-js/library/stage/1.js     |     5 +
 .../node_modules/core-js/library/stage/2.js     |     3 +
 .../node_modules/core-js/library/stage/3.js     |     4 +
 .../node_modules/core-js/library/stage/4.js     |     8 +
 .../node_modules/core-js/library/stage/index.js |     1 +
 .../node_modules/core-js/library/stage/pre.js   |    10 +
 .../core-js/library/web/dom-collections.js      |     2 +
 .../core-js/library/web/immediate.js            |     2 +
 .../node_modules/core-js/library/web/index.js   |     4 +
 .../node_modules/core-js/library/web/timers.js  |     2 +
 .../node_modules/core-js/modules/_a-function.js |     4 +
 .../core-js/modules/_a-number-value.js          |     5 +
 .../core-js/modules/_add-to-unscopables.js      |     7 +
 .../core-js/modules/_an-instance.js             |     5 +
 .../node_modules/core-js/modules/_an-object.js  |     5 +
 .../core-js/modules/_array-copy-within.js       |    26 +
 .../node_modules/core-js/modules/_array-fill.js |    15 +
 .../core-js/modules/_array-from-iterable.js     |     7 +
 .../core-js/modules/_array-includes.js          |    21 +
 .../core-js/modules/_array-methods.js           |    44 +
 .../core-js/modules/_array-reduce.js            |    28 +
 .../modules/_array-species-constructor.js       |    16 +
 .../core-js/modules/_array-species-create.js    |     6 +
 .../jszip/node_modules/core-js/modules/_bind.js |    24 +
 .../node_modules/core-js/modules/_classof.js    |    23 +
 .../jszip/node_modules/core-js/modules/_cof.js  |     5 +
 .../core-js/modules/_collection-strong.js       |   143 +
 .../core-js/modules/_collection-to-json.js      |     9 +
 .../core-js/modules/_collection-weak.js         |    83 +
 .../node_modules/core-js/modules/_collection.js |    85 +
 .../jszip/node_modules/core-js/modules/_core.js |     2 +
 .../core-js/modules/_create-property.js         |     8 +
 .../jszip/node_modules/core-js/modules/_ctx.js  |    20 +
 .../core-js/modules/_date-to-primitive.js       |     9 +
 .../node_modules/core-js/modules/_defined.js    |     5 +
 .../core-js/modules/_descriptors.js             |     4 +
 .../node_modules/core-js/modules/_dom-create.js |     7 +
 .../core-js/modules/_entry-virtual.js           |     5 +
 .../core-js/modules/_enum-bug-keys.js           |     4 +
 .../node_modules/core-js/modules/_enum-keys.js  |    15 +
 .../node_modules/core-js/modules/_export.js     |    43 +
 .../core-js/modules/_fails-is-regexp.js         |    12 +
 .../node_modules/core-js/modules/_fails.js      |     7 +
 .../node_modules/core-js/modules/_fix-re-wks.js |    28 +
 .../node_modules/core-js/modules/_flags.js      |    13 +
 .../node_modules/core-js/modules/_for-of.js     |    19 +
 .../node_modules/core-js/modules/_global.js     |     4 +
 .../jszip/node_modules/core-js/modules/_has.js  |     4 +
 .../jszip/node_modules/core-js/modules/_hide.js |     8 +
 .../jszip/node_modules/core-js/modules/_html.js |     1 +
 .../core-js/modules/_ie8-dom-define.js          |     3 +
 .../core-js/modules/_inherit-if-required.js     |     8 +
 .../node_modules/core-js/modules/_invoke.js     |    16 +
 .../node_modules/core-js/modules/_iobject.js    |     5 +
 .../core-js/modules/_is-array-iter.js           |     8 +
 .../node_modules/core-js/modules/_is-array.js   |     5 +
 .../node_modules/core-js/modules/_is-integer.js |     6 +
 .../node_modules/core-js/modules/_is-object.js  |     3 +
 .../node_modules/core-js/modules/_is-regexp.js  |     8 +
 .../node_modules/core-js/modules/_iter-call.js  |    12 +
 .../core-js/modules/_iter-create.js             |    13 +
 .../core-js/modules/_iter-define.js             |    70 +
 .../core-js/modules/_iter-detect.js             |    21 +
 .../node_modules/core-js/modules/_iter-step.js  |     3 +
 .../node_modules/core-js/modules/_iterators.js  |     1 +
 .../node_modules/core-js/modules/_keyof.js      |    10 +
 .../node_modules/core-js/modules/_library.js    |     1 +
 .../node_modules/core-js/modules/_math-expm1.js |    10 +
 .../node_modules/core-js/modules/_math-log1p.js |     4 +
 .../node_modules/core-js/modules/_math-sign.js  |     4 +
 .../jszip/node_modules/core-js/modules/_meta.js |    53 +
 .../node_modules/core-js/modules/_metadata.js   |    51 +
 .../node_modules/core-js/modules/_microtask.js  |    68 +
 .../core-js/modules/_object-assign.js           |    33 +
 .../core-js/modules/_object-create.js           |    40 +
 .../core-js/modules/_object-define.js           |    12 +
 .../node_modules/core-js/modules/_object-dp.js  |    16 +
 .../node_modules/core-js/modules/_object-dps.js |    13 +
 .../core-js/modules/_object-forced-pam.js       |     7 +
 .../core-js/modules/_object-gopd.js             |    16 +
 .../core-js/modules/_object-gopn-ext.js         |    19 +
 .../core-js/modules/_object-gopn.js             |     7 +
 .../core-js/modules/_object-gops.js             |     1 +
 .../node_modules/core-js/modules/_object-gpo.js |    13 +
 .../core-js/modules/_object-keys-internal.js    |    17 +
 .../core-js/modules/_object-keys.js             |     7 +
 .../node_modules/core-js/modules/_object-pie.js |     1 +
 .../node_modules/core-js/modules/_object-sap.js |    10 +
 .../core-js/modules/_object-to-array.js         |    16 +
 .../node_modules/core-js/modules/_own-keys.js   |    10 +
 .../core-js/modules/_parse-float.js             |     8 +
 .../node_modules/core-js/modules/_parse-int.js  |     9 +
 .../node_modules/core-js/modules/_partial.js    |    23 +
 .../jszip/node_modules/core-js/modules/_path.js |     1 +
 .../core-js/modules/_property-desc.js           |     8 +
 .../core-js/modules/_redefine-all.js            |     5 +
 .../node_modules/core-js/modules/_redefine.js   |    32 +
 .../node_modules/core-js/modules/_replacer.js   |     8 +
 .../node_modules/core-js/modules/_same-value.js |     4 +
 .../node_modules/core-js/modules/_set-proto.js  |    25 +
 .../core-js/modules/_set-species.js             |    13 +
 .../core-js/modules/_set-to-string-tag.js       |     7 +
 .../node_modules/core-js/modules/_shared-key.js |     5 +
 .../node_modules/core-js/modules/_shared.js     |     6 +
 .../core-js/modules/_species-constructor.js     |     8 +
 .../core-js/modules/_strict-method.js           |     7 +
 .../node_modules/core-js/modules/_string-at.js  |    17 +
 .../core-js/modules/_string-context.js          |     8 +
 .../core-js/modules/_string-html.js             |    19 +
 .../node_modules/core-js/modules/_string-pad.js |    16 +
 .../core-js/modules/_string-repeat.js           |    12 +
 .../core-js/modules/_string-trim.js             |    30 +
 .../node_modules/core-js/modules/_string-ws.js  |     2 +
 .../jszip/node_modules/core-js/modules/_task.js |    75 +
 .../node_modules/core-js/modules/_to-index.js   |     7 +
 .../node_modules/core-js/modules/_to-integer.js |     6 +
 .../node_modules/core-js/modules/_to-iobject.js |     6 +
 .../node_modules/core-js/modules/_to-length.js  |     6 +
 .../node_modules/core-js/modules/_to-object.js  |     5 +
 .../core-js/modules/_to-primitive.js            |    12 +
 .../core-js/modules/_typed-array.js             |   481 +
 .../core-js/modules/_typed-buffer.js            |   275 +
 .../node_modules/core-js/modules/_typed.js      |    26 +
 .../jszip/node_modules/core-js/modules/_uid.js  |     5 +
 .../node_modules/core-js/modules/_wks-define.js |     9 +
 .../node_modules/core-js/modules/_wks-ext.js    |     1 +
 .../jszip/node_modules/core-js/modules/_wks.js  |    11 +
 .../node_modules/core-js/modules/core.delay.js  |    12 +
 .../node_modules/core-js/modules/core.dict.js   |   155 +
 .../core-js/modules/core.function.part.js       |     7 +
 .../core-js/modules/core.get-iterator-method.js |     8 +
 .../core-js/modules/core.get-iterator.js        |     7 +
 .../core-js/modules/core.is-iterable.js         |     9 +
 .../core-js/modules/core.number.iterator.js     |     9 +
 .../core-js/modules/core.object.classof.js      |     3 +
 .../core-js/modules/core.object.define.js       |     4 +
 .../core-js/modules/core.object.is-object.js    |     3 +
 .../core-js/modules/core.object.make.js         |     9 +
 .../core-js/modules/core.regexp.escape.js       |     5 +
 .../core-js/modules/core.string.escape-html.js  |    11 +
 .../modules/core.string.unescape-html.js        |    11 +
 .../jszip/node_modules/core-js/modules/es5.js   |    35 +
 .../core-js/modules/es6.array.copy-within.js    |     6 +
 .../core-js/modules/es6.array.every.js          |    10 +
 .../core-js/modules/es6.array.fill.js           |     6 +
 .../core-js/modules/es6.array.filter.js         |    10 +
 .../core-js/modules/es6.array.find-index.js     |    14 +
 .../core-js/modules/es6.array.find.js           |    14 +
 .../core-js/modules/es6.array.for-each.js       |    11 +
 .../core-js/modules/es6.array.from.js           |    37 +
 .../core-js/modules/es6.array.index-of.js       |    15 +
 .../core-js/modules/es6.array.is-array.js       |     4 +
 .../core-js/modules/es6.array.iterator.js       |    34 +
 .../core-js/modules/es6.array.join.js           |    12 +
 .../core-js/modules/es6.array.last-index-of.js  |    22 +
 .../core-js/modules/es6.array.map.js            |    10 +
 .../core-js/modules/es6.array.of.js             |    19 +
 .../core-js/modules/es6.array.reduce-right.js   |    10 +
 .../core-js/modules/es6.array.reduce.js         |    10 +
 .../core-js/modules/es6.array.slice.js          |    28 +
 .../core-js/modules/es6.array.some.js           |    10 +
 .../core-js/modules/es6.array.sort.js           |    23 +
 .../core-js/modules/es6.array.species.js        |     1 +
 .../core-js/modules/es6.date.now.js             |     4 +
 .../core-js/modules/es6.date.to-iso-string.js   |    28 +
 .../core-js/modules/es6.date.to-json.js         |    14 +
 .../core-js/modules/es6.date.to-primitive.js    |     4 +
 .../core-js/modules/es6.date.to-string.js       |    11 +
 .../core-js/modules/es6.function.bind.js        |     4 +
 .../modules/es6.function.has-instance.js        |    13 +
 .../core-js/modules/es6.function.name.js        |    25 +
 .../node_modules/core-js/modules/es6.map.js     |    17 +
 .../core-js/modules/es6.math.acosh.js           |    18 +
 .../core-js/modules/es6.math.asinh.js           |    10 +
 .../core-js/modules/es6.math.atanh.js           |    10 +
 .../core-js/modules/es6.math.cbrt.js            |     9 +
 .../core-js/modules/es6.math.clz32.js           |     8 +
 .../core-js/modules/es6.math.cosh.js            |     9 +
 .../core-js/modules/es6.math.expm1.js           |     5 +
 .../core-js/modules/es6.math.fround.js          |    26 +
 .../core-js/modules/es6.math.hypot.js           |    25 +
 .../core-js/modules/es6.math.imul.js            |    17 +
 .../core-js/modules/es6.math.log10.js           |     8 +
 .../core-js/modules/es6.math.log1p.js           |     4 +
 .../core-js/modules/es6.math.log2.js            |     8 +
 .../core-js/modules/es6.math.sign.js            |     4 +
 .../core-js/modules/es6.math.sinh.js            |    15 +
 .../core-js/modules/es6.math.tanh.js            |    12 +
 .../core-js/modules/es6.math.trunc.js           |     8 +
 .../core-js/modules/es6.number.constructor.js   |    69 +
 .../core-js/modules/es6.number.epsilon.js       |     4 +
 .../core-js/modules/es6.number.is-finite.js     |     9 +
 .../core-js/modules/es6.number.is-integer.js    |     4 +
 .../core-js/modules/es6.number.is-nan.js        |     8 +
 .../modules/es6.number.is-safe-integer.js       |    10 +
 .../modules/es6.number.max-safe-integer.js      |     4 +
 .../modules/es6.number.min-safe-integer.js      |     4 +
 .../core-js/modules/es6.number.parse-float.js   |     4 +
 .../core-js/modules/es6.number.parse-int.js     |     4 +
 .../core-js/modules/es6.number.to-fixed.js      |   114 +
 .../core-js/modules/es6.number.to-precision.js  |    18 +
 .../core-js/modules/es6.object.assign.js        |     4 +
 .../core-js/modules/es6.object.create.js        |     3 +
 .../modules/es6.object.define-properties.js     |     3 +
 .../modules/es6.object.define-property.js       |     3 +
 .../core-js/modules/es6.object.freeze.js        |     9 +
 .../es6.object.get-own-property-descriptor.js   |     9 +
 .../es6.object.get-own-property-names.js        |     4 +
 .../modules/es6.object.get-prototype-of.js      |     9 +
 .../core-js/modules/es6.object.is-extensible.js |     8 +
 .../core-js/modules/es6.object.is-frozen.js     |     8 +
 .../core-js/modules/es6.object.is-sealed.js     |     8 +
 .../core-js/modules/es6.object.is.js            |     3 +
 .../core-js/modules/es6.object.keys.js          |     9 +
 .../modules/es6.object.prevent-extensions.js    |     9 +
 .../core-js/modules/es6.object.seal.js          |     9 +
 .../modules/es6.object.set-prototype-of.js      |     3 +
 .../core-js/modules/es6.object.to-string.js     |    10 +
 .../core-js/modules/es6.parse-float.js          |     4 +
 .../core-js/modules/es6.parse-int.js            |     4 +
 .../node_modules/core-js/modules/es6.promise.js |   301 +
 .../core-js/modules/es6.reflect.apply.js        |     9 +
 .../core-js/modules/es6.reflect.construct.js    |    38 +
 .../modules/es6.reflect.define-property.js      |    22 +
 .../modules/es6.reflect.delete-property.js      |    11 +
 .../core-js/modules/es6.reflect.enumerate.js    |    26 +
 .../es6.reflect.get-own-property-descriptor.js  |    10 +
 .../modules/es6.reflect.get-prototype-of.js     |    10 +
 .../core-js/modules/es6.reflect.get.js          |    21 +
 .../core-js/modules/es6.reflect.has.js          |     8 +
 .../modules/es6.reflect.is-extensible.js        |    11 +
 .../core-js/modules/es6.reflect.own-keys.js     |     4 +
 .../modules/es6.reflect.prevent-extensions.js   |    16 +
 .../modules/es6.reflect.set-prototype-of.js     |    15 +
 .../core-js/modules/es6.reflect.set.js          |    31 +
 .../core-js/modules/es6.regexp.constructor.js   |    43 +
 .../core-js/modules/es6.regexp.flags.js         |     5 +
 .../core-js/modules/es6.regexp.match.js         |    10 +
 .../core-js/modules/es6.regexp.replace.js       |    12 +
 .../core-js/modules/es6.regexp.search.js        |    10 +
 .../core-js/modules/es6.regexp.split.js         |    70 +
 .../core-js/modules/es6.regexp.to-string.js     |    25 +
 .../node_modules/core-js/modules/es6.set.js     |    12 +
 .../core-js/modules/es6.string.anchor.js        |     7 +
 .../core-js/modules/es6.string.big.js           |     7 +
 .../core-js/modules/es6.string.blink.js         |     7 +
 .../core-js/modules/es6.string.bold.js          |     7 +
 .../core-js/modules/es6.string.code-point-at.js |     9 +
 .../core-js/modules/es6.string.ends-with.js     |    20 +
 .../core-js/modules/es6.string.fixed.js         |     7 +
 .../core-js/modules/es6.string.fontcolor.js     |     7 +
 .../core-js/modules/es6.string.fontsize.js      |     7 +
 .../modules/es6.string.from-code-point.js       |    23 +
 .../core-js/modules/es6.string.includes.js      |    12 +
 .../core-js/modules/es6.string.italics.js       |     7 +
 .../core-js/modules/es6.string.iterator.js      |    17 +
 .../core-js/modules/es6.string.link.js          |     7 +
 .../core-js/modules/es6.string.raw.js           |    18 +
 .../core-js/modules/es6.string.repeat.js        |     6 +
 .../core-js/modules/es6.string.small.js         |     7 +
 .../core-js/modules/es6.string.starts-with.js   |    18 +
 .../core-js/modules/es6.string.strike.js        |     7 +
 .../core-js/modules/es6.string.sub.js           |     7 +
 .../core-js/modules/es6.string.sup.js           |     7 +
 .../core-js/modules/es6.string.trim.js          |     7 +
 .../node_modules/core-js/modules/es6.symbol.js  |   227 +
 .../core-js/modules/es6.typed.array-buffer.js   |    47 +
 .../core-js/modules/es6.typed.data-view.js      |     4 +
 .../core-js/modules/es6.typed.float32-array.js  |     5 +
 .../core-js/modules/es6.typed.float64-array.js  |     5 +
 .../core-js/modules/es6.typed.int16-array.js    |     5 +
 .../core-js/modules/es6.typed.int32-array.js    |     5 +
 .../core-js/modules/es6.typed.int8-array.js     |     5 +
 .../core-js/modules/es6.typed.uint16-array.js   |     5 +
 .../core-js/modules/es6.typed.uint32-array.js   |     5 +
 .../core-js/modules/es6.typed.uint8-array.js    |     5 +
 .../modules/es6.typed.uint8-clamped-array.js    |     5 +
 .../core-js/modules/es6.weak-map.js             |    57 +
 .../core-js/modules/es6.weak-set.js             |    12 +
 .../core-js/modules/es7.array.includes.js       |    12 +
 .../node_modules/core-js/modules/es7.asap.js    |    12 +
 .../core-js/modules/es7.error.is-error.js       |     9 +
 .../core-js/modules/es7.map.to-json.js          |     4 +
 .../core-js/modules/es7.math.iaddh.js           |    11 +
 .../core-js/modules/es7.math.imulh.js           |    16 +
 .../core-js/modules/es7.math.isubh.js           |    11 +
 .../core-js/modules/es7.math.umulh.js           |    16 +
 .../core-js/modules/es7.object.define-getter.js |    12 +
 .../core-js/modules/es7.object.define-setter.js |    12 +
 .../core-js/modules/es7.object.entries.js       |     9 +
 .../es7.object.get-own-property-descriptors.js  |    19 +
 .../core-js/modules/es7.object.lookup-getter.js |    18 +
 .../core-js/modules/es7.object.lookup-setter.js |    18 +
 .../core-js/modules/es7.object.values.js        |     9 +
 .../modules/es7.reflect.define-metadata.js      |     8 +
 .../modules/es7.reflect.delete-metadata.js      |    15 +
 .../modules/es7.reflect.get-metadata-keys.js    |    19 +
 .../core-js/modules/es7.reflect.get-metadata.js |    17 +
 .../es7.reflect.get-own-metadata-keys.js        |     8 +
 .../modules/es7.reflect.get-own-metadata.js     |     9 +
 .../core-js/modules/es7.reflect.has-metadata.js |    16 +
 .../modules/es7.reflect.has-own-metadata.js     |     9 +
 .../core-js/modules/es7.reflect.metadata.js     |    15 +
 .../core-js/modules/es7.set.to-json.js          |     4 +
 .../core-js/modules/es7.string.at.js            |    10 +
 .../core-js/modules/es7.string.match-all.js     |    30 +
 .../core-js/modules/es7.string.pad-end.js       |    10 +
 .../core-js/modules/es7.string.pad-start.js     |    10 +
 .../core-js/modules/es7.string.trim-left.js     |     7 +
 .../core-js/modules/es7.string.trim-right.js    |     7 +
 .../modules/es7.symbol.async-iterator.js        |     1 +
 .../core-js/modules/es7.symbol.observable.js    |     1 +
 .../core-js/modules/es7.system.global.js        |     4 +
 .../modules/library/_add-to-unscopables.js      |     1 +
 .../core-js/modules/library/_collection.js      |    59 +
 .../core-js/modules/library/_export.js          |    61 +
 .../core-js/modules/library/_library.js         |     1 +
 .../core-js/modules/library/_path.js            |     1 +
 .../core-js/modules/library/_redefine-all.js    |     7 +
 .../core-js/modules/library/_redefine.js        |     1 +
 .../core-js/modules/library/_set-species.js     |    14 +
 .../modules/library/es6.date.to-primitive.js    |     0
 .../modules/library/es6.date.to-string.js       |     0
 .../modules/library/es6.function.name.js        |     0
 .../modules/library/es6.number.constructor.js   |     0
 .../modules/library/es6.object.to-string.js     |     0
 .../modules/library/es6.regexp.constructor.js   |     1 +
 .../core-js/modules/library/es6.regexp.flags.js |     0
 .../core-js/modules/library/es6.regexp.match.js |     0
 .../modules/library/es6.regexp.replace.js       |     0
 .../modules/library/es6.regexp.search.js        |     0
 .../core-js/modules/library/es6.regexp.split.js |     0
 .../modules/library/es6.regexp.to-string.js     |     0
 .../core-js/modules/library/web.dom.iterable.js |    13 +
 .../core-js/modules/web.dom.iterable.js         |    22 +
 .../core-js/modules/web.immediate.js            |     6 +
 .../node_modules/core-js/modules/web.timers.js  |    20 +
 .../jszip/node_modules/core-js/package.json     |   100 +
 node_modules/jszip/node_modules/core-js/shim.js |   175 +
 .../jszip/node_modules/core-js/stage/0.js       |    10 +
 .../jszip/node_modules/core-js/stage/1.js       |     5 +
 .../jszip/node_modules/core-js/stage/2.js       |     3 +
 .../jszip/node_modules/core-js/stage/3.js       |     4 +
 .../jszip/node_modules/core-js/stage/4.js       |     8 +
 .../jszip/node_modules/core-js/stage/index.js   |     1 +
 .../jszip/node_modules/core-js/stage/pre.js     |    10 +
 .../node_modules/core-js/web/dom-collections.js |     2 +
 .../jszip/node_modules/core-js/web/immediate.js |     2 +
 .../jszip/node_modules/core-js/web/index.js     |     4 +
 .../jszip/node_modules/core-js/web/timers.js    |     2 +
 .../process-nextick-args/.travis.yml            |    12 +
 .../node_modules/process-nextick-args/index.js  |    43 +
 .../process-nextick-args/license.md             |    19 +
 .../process-nextick-args/package.json           |    51 +
 .../node_modules/process-nextick-args/readme.md |    18 +
 .../node_modules/process-nextick-args/test.js   |    24 +
 .../node_modules/readable-stream/.npmignore     |     5 +
 .../node_modules/readable-stream/.travis.yml    |    52 +
 .../node_modules/readable-stream/.zuul.yml      |     1 +
 .../jszip/node_modules/readable-stream/LICENSE  |    18 +
 .../node_modules/readable-stream/README.md      |    36 +
 .../readable-stream/doc/stream.markdown         |  1760 +
 .../doc/wg-meetings/2015-01-30.md               |    60 +
 .../node_modules/readable-stream/duplex.js      |     1 +
 .../readable-stream/lib/_stream_duplex.js       |    75 +
 .../readable-stream/lib/_stream_passthrough.js  |    26 +
 .../readable-stream/lib/_stream_readable.js     |   880 +
 .../readable-stream/lib/_stream_transform.js    |   180 +
 .../readable-stream/lib/_stream_writable.js     |   516 +
 .../node_modules/readable-stream/package.json   |    70 +
 .../node_modules/readable-stream/passthrough.js |     1 +
 .../node_modules/readable-stream/readable.js    |    12 +
 .../node_modules/readable-stream/transform.js   |     1 +
 .../node_modules/readable-stream/writable.js    |     1 +
 .../node_modules/string_decoder/.npmignore      |     2 +
 .../jszip/node_modules/string_decoder/LICENSE   |    20 +
 .../jszip/node_modules/string_decoder/README.md |     7 +
 .../jszip/node_modules/string_decoder/index.js  |   221 +
 .../node_modules/string_decoder/package.json    |    57 +
 node_modules/jszip/package.json                 |   106 +
 node_modules/jszip/vendor/FileSaver.js          |   247 +
 node_modules/kind-of/LICENSE                    |    21 +
 node_modules/kind-of/README.md                  |   261 +
 node_modules/kind-of/index.js                   |   116 +
 node_modules/kind-of/package.json               |   145 +
 node_modules/lazy-cache/LICENSE                 |    21 +
 node_modules/lazy-cache/README.md               |   147 +
 node_modules/lazy-cache/index.js                |    67 +
 node_modules/lazy-cache/package.json            |    94 +
 node_modules/lazystream/.npmignore              |     4 +
 node_modules/lazystream/.travis.yml             |     9 +
 node_modules/lazystream/LICENSE-MIT             |    23 +
 node_modules/lazystream/README.md               |   110 +
 node_modules/lazystream/lib/lazystream.js       |    54 +
 node_modules/lazystream/package.json            |    73 +
 node_modules/lazystream/secret                  |    59 +
 node_modules/lcid/index.js                      |    22 +
 node_modules/lcid/lcid.json                     |   203 +
 node_modules/lcid/license                       |    21 +
 node_modules/lcid/package.json                  |    82 +
 node_modules/lcid/readme.md                     |    35 +
 node_modules/levn/LICENSE                       |    22 +
 node_modules/levn/README.md                     |   196 +
 node_modules/levn/lib/cast.js                   |   298 +
 node_modules/levn/lib/coerce.js                 |   285 +
 node_modules/levn/lib/index.js                  |    22 +
 node_modules/levn/lib/parse-string.js           |   113 +
 node_modules/levn/lib/parse.js                  |   102 +
 node_modules/levn/package.json                  |    81 +
 node_modules/lie/README.md                      |    64 +
 node_modules/lie/dist/lie.js                    |   330 +
 node_modules/lie/dist/lie.min.js                |     1 +
 node_modules/lie/dist/lie.polyfill.js           |   338 +
 node_modules/lie/dist/lie.polyfill.min.js       |     1 +
 node_modules/lie/lib/browser.js                 |   253 +
 node_modules/lie/lib/index.js                   |   278 +
 node_modules/lie/license.md                     |     7 +
 node_modules/lie/package.json                   |    96 +
 node_modules/lie/polyfill.js                    |     4 +
 node_modules/load-grunt-tasks/index.js          |    37 +
 node_modules/load-grunt-tasks/license           |    21 +
 node_modules/load-grunt-tasks/package.json      |    83 +
 node_modules/load-grunt-tasks/readme.md         |   150 +
 node_modules/load-json-file/index.js            |    21 +
 node_modules/load-json-file/license             |    21 +
 node_modules/load-json-file/package.json        |    82 +
 node_modules/load-json-file/readme.md           |    45 +
 node_modules/lodash.assign/LICENSE              |    47 +
 node_modules/lodash.assign/README.md            |    18 +
 node_modules/lodash.assign/index.js             |   637 +
 node_modules/lodash.assign/package.json         |    73 +
 node_modules/lodash.clonedeep/LICENSE           |    47 +
 node_modules/lodash.clonedeep/README.md         |    18 +
 node_modules/lodash.clonedeep/index.js          |  1748 +
 node_modules/lodash.clonedeep/package.json      |    73 +
 node_modules/lodash.mergewith/LICENSE           |    47 +
 node_modules/lodash.mergewith/README.md         |    18 +
 node_modules/lodash.mergewith/index.js          |  1963 +
 node_modules/lodash.mergewith/package.json      |    68 +
 node_modules/lodash/LICENSE                     |    47 +
 node_modules/lodash/README.md                   |    39 +
 node_modules/lodash/_DataView.js                |     7 +
 node_modules/lodash/_Hash.js                    |    32 +
 node_modules/lodash/_LazyWrapper.js             |    28 +
 node_modules/lodash/_ListCache.js               |    32 +
 node_modules/lodash/_LodashWrapper.js           |    22 +
 node_modules/lodash/_Map.js                     |     7 +
 node_modules/lodash/_MapCache.js                |    32 +
 node_modules/lodash/_Promise.js                 |     7 +
 node_modules/lodash/_Set.js                     |     7 +
 node_modules/lodash/_SetCache.js                |    27 +
 node_modules/lodash/_Stack.js                   |    27 +
 node_modules/lodash/_Symbol.js                  |     6 +
 node_modules/lodash/_Uint8Array.js              |     6 +
 node_modules/lodash/_WeakMap.js                 |     7 +
 node_modules/lodash/_apply.js                   |    21 +
 node_modules/lodash/_arrayAggregator.js         |    22 +
 node_modules/lodash/_arrayEach.js               |    22 +
 node_modules/lodash/_arrayEachRight.js          |    21 +
 node_modules/lodash/_arrayEvery.js              |    23 +
 node_modules/lodash/_arrayFilter.js             |    25 +
 node_modules/lodash/_arrayIncludes.js           |    17 +
 node_modules/lodash/_arrayIncludesWith.js       |    22 +
 node_modules/lodash/_arrayLikeKeys.js           |    49 +
 node_modules/lodash/_arrayMap.js                |    21 +
 node_modules/lodash/_arrayPush.js               |    20 +
 node_modules/lodash/_arrayReduce.js             |    26 +
 node_modules/lodash/_arrayReduceRight.js        |    24 +
 node_modules/lodash/_arraySample.js             |    15 +
 node_modules/lodash/_arraySampleSize.js         |    17 +
 node_modules/lodash/_arrayShuffle.js            |    15 +
 node_modules/lodash/_arraySome.js               |    23 +
 node_modules/lodash/_asciiSize.js               |    12 +
 node_modules/lodash/_asciiToArray.js            |    12 +
 node_modules/lodash/_asciiWords.js              |    15 +
 node_modules/lodash/_assignMergeValue.js        |    20 +
 node_modules/lodash/_assignValue.js             |    28 +
 node_modules/lodash/_assocIndexOf.js            |    21 +
 node_modules/lodash/_baseAggregator.js          |    21 +
 node_modules/lodash/_baseAssign.js              |    17 +
 node_modules/lodash/_baseAssignIn.js            |    17 +
 node_modules/lodash/_baseAssignValue.js         |    25 +
 node_modules/lodash/_baseAt.js                  |    23 +
 node_modules/lodash/_baseClamp.js               |    22 +
 node_modules/lodash/_baseClone.js               |   171 +
 node_modules/lodash/_baseConforms.js            |    18 +
 node_modules/lodash/_baseConformsTo.js          |    27 +
 node_modules/lodash/_baseCreate.js              |    30 +
 node_modules/lodash/_baseDelay.js               |    21 +
 node_modules/lodash/_baseDifference.js          |    67 +
 node_modules/lodash/_baseEach.js                |    14 +
 node_modules/lodash/_baseEachRight.js           |    14 +
 node_modules/lodash/_baseEvery.js               |    21 +
 node_modules/lodash/_baseExtremum.js            |    32 +
 node_modules/lodash/_baseFill.js                |    32 +
 node_modules/lodash/_baseFilter.js              |    21 +
 node_modules/lodash/_baseFindIndex.js           |    24 +
 node_modules/lodash/_baseFindKey.js             |    23 +
 node_modules/lodash/_baseFlatten.js             |    38 +
 node_modules/lodash/_baseFor.js                 |    16 +
 node_modules/lodash/_baseForOwn.js              |    16 +
 node_modules/lodash/_baseForOwnRight.js         |    16 +
 node_modules/lodash/_baseForRight.js            |    15 +
 node_modules/lodash/_baseFunctions.js           |    19 +
 node_modules/lodash/_baseGet.js                 |    24 +
 node_modules/lodash/_baseGetAllKeys.js          |    20 +
 node_modules/lodash/_baseGetTag.js              |    28 +
 node_modules/lodash/_baseGt.js                  |    14 +
 node_modules/lodash/_baseHas.js                 |    19 +
 node_modules/lodash/_baseHasIn.js               |    13 +
 node_modules/lodash/_baseInRange.js             |    18 +
 node_modules/lodash/_baseIndexOf.js             |    20 +
 node_modules/lodash/_baseIndexOfWith.js         |    23 +
 node_modules/lodash/_baseIntersection.js        |    74 +
 node_modules/lodash/_baseInverter.js            |    21 +
 node_modules/lodash/_baseInvoke.js              |    24 +
 node_modules/lodash/_baseIsArguments.js         |    18 +
 node_modules/lodash/_baseIsArrayBuffer.js       |    17 +
 node_modules/lodash/_baseIsDate.js              |    18 +
 node_modules/lodash/_baseIsEqual.js             |    28 +
 node_modules/lodash/_baseIsEqualDeep.js         |    83 +
 node_modules/lodash/_baseIsMap.js               |    18 +
 node_modules/lodash/_baseIsMatch.js             |    62 +
 node_modules/lodash/_baseIsNaN.js               |    12 +
 node_modules/lodash/_baseIsNative.js            |    47 +
 node_modules/lodash/_baseIsRegExp.js            |    18 +
 node_modules/lodash/_baseIsSet.js               |    18 +
 node_modules/lodash/_baseIsTypedArray.js        |    60 +
 node_modules/lodash/_baseIteratee.js            |    31 +
 node_modules/lodash/_baseKeys.js                |    30 +
 node_modules/lodash/_baseKeysIn.js              |    33 +
 node_modules/lodash/_baseLodash.js              |    10 +
 node_modules/lodash/_baseLt.js                  |    14 +
 node_modules/lodash/_baseMap.js                 |    22 +
 node_modules/lodash/_baseMatches.js             |    22 +
 node_modules/lodash/_baseMatchesProperty.js     |    33 +
 node_modules/lodash/_baseMean.js                |    20 +
 node_modules/lodash/_baseMerge.js               |    42 +
 node_modules/lodash/_baseMergeDeep.js           |    94 +
 node_modules/lodash/_baseNth.js                 |    20 +
 node_modules/lodash/_baseOrderBy.js             |    34 +
 node_modules/lodash/_basePick.js                |    19 +
 node_modules/lodash/_basePickBy.js              |    30 +
 node_modules/lodash/_baseProperty.js            |    14 +
 node_modules/lodash/_basePropertyDeep.js        |    16 +
 node_modules/lodash/_basePropertyOf.js          |    14 +
 node_modules/lodash/_basePullAll.js             |    51 +
 node_modules/lodash/_basePullAt.js              |    37 +
 node_modules/lodash/_baseRandom.js              |    18 +
 node_modules/lodash/_baseRange.js               |    28 +
 node_modules/lodash/_baseReduce.js              |    23 +
 node_modules/lodash/_baseRepeat.js              |    35 +
 node_modules/lodash/_baseRest.js                |    17 +
 node_modules/lodash/_baseSample.js              |    15 +
 node_modules/lodash/_baseSampleSize.js          |    18 +
 node_modules/lodash/_baseSet.js                 |    47 +
 node_modules/lodash/_baseSetData.js             |    17 +
 node_modules/lodash/_baseSetToString.js         |    22 +
 node_modules/lodash/_baseShuffle.js             |    15 +
 node_modules/lodash/_baseSlice.js               |    31 +
 node_modules/lodash/_baseSome.js                |    22 +
 node_modules/lodash/_baseSortBy.js              |    21 +
 node_modules/lodash/_baseSortedIndex.js         |    42 +
 node_modules/lodash/_baseSortedIndexBy.js       |    64 +
 node_modules/lodash/_baseSortedUniq.js          |    30 +
 node_modules/lodash/_baseSum.js                 |    24 +
 node_modules/lodash/_baseTimes.js               |    20 +
 node_modules/lodash/_baseToNumber.js            |    24 +
 node_modules/lodash/_baseToPairs.js             |    18 +
 node_modules/lodash/_baseToString.js            |    37 +
 node_modules/lodash/_baseUnary.js               |    14 +
 node_modules/lodash/_baseUniq.js                |    72 +
 node_modules/lodash/_baseUnset.js               |    20 +
 node_modules/lodash/_baseUpdate.js              |    18 +
 node_modules/lodash/_baseValues.js              |    19 +
 node_modules/lodash/_baseWhile.js               |    26 +
 node_modules/lodash/_baseWrapperValue.js        |    25 +
 node_modules/lodash/_baseXor.js                 |    36 +
 node_modules/lodash/_baseZipObject.js           |    23 +
 node_modules/lodash/_cacheHas.js                |    13 +
 node_modules/lodash/_castArrayLikeObject.js     |    14 +
 node_modules/lodash/_castFunction.js            |    14 +
 node_modules/lodash/_castPath.js                |    21 +
 node_modules/lodash/_castRest.js                |    14 +
 node_modules/lodash/_castSlice.js               |    18 +
 node_modules/lodash/_charsEndIndex.js           |    19 +
 node_modules/lodash/_charsStartIndex.js         |    20 +
 node_modules/lodash/_cloneArrayBuffer.js        |    16 +
 node_modules/lodash/_cloneBuffer.js             |    35 +
 node_modules/lodash/_cloneDataView.js           |    16 +
 node_modules/lodash/_cloneRegExp.js             |    17 +
 node_modules/lodash/_cloneSymbol.js             |    18 +
 node_modules/lodash/_cloneTypedArray.js         |    16 +
 node_modules/lodash/_compareAscending.js        |    41 +
 node_modules/lodash/_compareMultiple.js         |    44 +
 node_modules/lodash/_composeArgs.js             |    39 +
 node_modules/lodash/_composeArgsRight.js        |    41 +
 node_modules/lodash/_copyArray.js               |    20 +
 node_modules/lodash/_copyObject.js              |    40 +
 node_modules/lodash/_copySymbols.js             |    16 +
 node_modules/lodash/_copySymbolsIn.js           |    16 +
 node_modules/lodash/_coreJsData.js              |     6 +
 node_modules/lodash/_countHolders.js            |    21 +
 node_modules/lodash/_createAggregator.js        |    23 +
 node_modules/lodash/_createAssigner.js          |    37 +
 node_modules/lodash/_createBaseEach.js          |    32 +
 node_modules/lodash/_createBaseFor.js           |    25 +
 node_modules/lodash/_createBind.js              |    28 +
 node_modules/lodash/_createCaseFirst.js         |    33 +
 node_modules/lodash/_createCompounder.js        |    24 +
 node_modules/lodash/_createCtor.js              |    37 +
 node_modules/lodash/_createCurry.js             |    46 +
 node_modules/lodash/_createFind.js              |    25 +
 node_modules/lodash/_createFlow.js              |    78 +
 node_modules/lodash/_createHybrid.js            |    92 +
 node_modules/lodash/_createInverter.js          |    17 +
 node_modules/lodash/_createMathOperation.js     |    38 +
 node_modules/lodash/_createOver.js              |    27 +
 node_modules/lodash/_createPadding.js           |    33 +
 node_modules/lodash/_createPartial.js           |    43 +
 node_modules/lodash/_createRange.js             |    30 +
 node_modules/lodash/_createRecurry.js           |    56 +
 .../lodash/_createRelationalOperation.js        |    20 +
 node_modules/lodash/_createRound.js             |    33 +
 node_modules/lodash/_createSet.js               |    19 +
 node_modules/lodash/_createToPairs.js           |    30 +
 node_modules/lodash/_createWrap.js              |   106 +
 node_modules/lodash/_customDefaultsAssignIn.js  |    29 +
 node_modules/lodash/_customDefaultsMerge.js     |    28 +
 node_modules/lodash/_customOmitClone.js         |    16 +
 node_modules/lodash/_deburrLetter.js            |    71 +
 node_modules/lodash/_defineProperty.js          |    11 +
 node_modules/lodash/_equalArrays.js             |    83 +
 node_modules/lodash/_equalByTag.js              |   112 +
 node_modules/lodash/_equalObjects.js            |    89 +
 node_modules/lodash/_escapeHtmlChar.js          |    21 +
 node_modules/lodash/_escapeStringChar.js        |    22 +
 node_modules/lodash/_flatRest.js                |    16 +
 node_modules/lodash/_freeGlobal.js              |     4 +
 node_modules/lodash/_getAllKeys.js              |    16 +
 node_modules/lodash/_getAllKeysIn.js            |    17 +
 node_modules/lodash/_getData.js                 |    15 +
 node_modules/lodash/_getFuncName.js             |    31 +
 node_modules/lodash/_getHolder.js               |    13 +
 node_modules/lodash/_getMapData.js              |    18 +
 node_modules/lodash/_getMatchData.js            |    24 +
 node_modules/lodash/_getNative.js               |    17 +
 node_modules/lodash/_getPrototype.js            |     6 +
 node_modules/lodash/_getRawTag.js               |    46 +
 node_modules/lodash/_getSymbols.js              |    30 +
 node_modules/lodash/_getSymbolsIn.js            |    25 +
 node_modules/lodash/_getTag.js                  |    58 +
 node_modules/lodash/_getValue.js                |    13 +
 node_modules/lodash/_getView.js                 |    33 +
 node_modules/lodash/_getWrapDetails.js          |    17 +
 node_modules/lodash/_hasPath.js                 |    39 +
 node_modules/lodash/_hasUnicode.js              |    26 +
 node_modules/lodash/_hasUnicodeWord.js          |    15 +
 node_modules/lodash/_hashClear.js               |    15 +
 node_modules/lodash/_hashDelete.js              |    17 +
 node_modules/lodash/_hashGet.js                 |    30 +
 node_modules/lodash/_hashHas.js                 |    23 +
 node_modules/lodash/_hashSet.js                 |    23 +
 node_modules/lodash/_initCloneArray.js          |    26 +
 node_modules/lodash/_initCloneByTag.js          |    77 +
 node_modules/lodash/_initCloneObject.js         |    18 +
 node_modules/lodash/_insertWrapDetails.js       |    23 +
 node_modules/lodash/_isFlattenable.js           |    20 +
 node_modules/lodash/_isIndex.js                 |    25 +
 node_modules/lodash/_isIterateeCall.js          |    30 +
 node_modules/lodash/_isKey.js                   |    29 +
 node_modules/lodash/_isKeyable.js               |    15 +
 node_modules/lodash/_isLaziable.js              |    28 +
 node_modules/lodash/_isMaskable.js              |    14 +
 node_modules/lodash/_isMasked.js                |    20 +
 node_modules/lodash/_isPrototype.js             |    18 +
 node_modules/lodash/_isStrictComparable.js      |    15 +
 node_modules/lodash/_iteratorToArray.js         |    18 +
 node_modules/lodash/_lazyClone.js               |    23 +
 node_modules/lodash/_lazyReverse.js             |    23 +
 node_modules/lodash/_lazyValue.js               |    69 +
 node_modules/lodash/_listCacheClear.js          |    13 +
 node_modules/lodash/_listCacheDelete.js         |    35 +
 node_modules/lodash/_listCacheGet.js            |    19 +
 node_modules/lodash/_listCacheHas.js            |    16 +
 node_modules/lodash/_listCacheSet.js            |    26 +
 node_modules/lodash/_mapCacheClear.js           |    21 +
 node_modules/lodash/_mapCacheDelete.js          |    18 +
 node_modules/lodash/_mapCacheGet.js             |    16 +
 node_modules/lodash/_mapCacheHas.js             |    16 +
 node_modules/lodash/_mapCacheSet.js             |    22 +
 node_modules/lodash/_mapToArray.js              |    18 +
 node_modules/lodash/_matchesStrictComparable.js |    20 +
 node_modules/lodash/_memoizeCapped.js           |    26 +
 node_modules/lodash/_mergeData.js               |    90 +
 node_modules/lodash/_metaMap.js                 |     6 +
 node_modules/lodash/_nativeCreate.js            |     6 +
 node_modules/lodash/_nativeKeys.js              |     6 +
 node_modules/lodash/_nativeKeysIn.js            |    20 +
 node_modules/lodash/_nodeUtil.js                |    30 +
 node_modules/lodash/_objectToString.js          |    22 +
 node_modules/lodash/_overArg.js                 |    15 +
 node_modules/lodash/_overRest.js                |    36 +
 node_modules/lodash/_parent.js                  |    16 +
 node_modules/lodash/_reEscape.js                |     4 +
 node_modules/lodash/_reEvaluate.js              |     4 +
 node_modules/lodash/_reInterpolate.js           |     4 +
 node_modules/lodash/_realNames.js               |     4 +
 node_modules/lodash/_reorder.js                 |    29 +
 node_modules/lodash/_replaceHolders.js          |    29 +
 node_modules/lodash/_root.js                    |     9 +
 node_modules/lodash/_safeGet.js                 |    15 +
 node_modules/lodash/_setCacheAdd.js             |    19 +
 node_modules/lodash/_setCacheHas.js             |    14 +
 node_modules/lodash/_setData.js                 |    20 +
 node_modules/lodash/_setToArray.js              |    18 +
 node_modules/lodash/_setToPairs.js              |    18 +
 node_modules/lodash/_setToString.js             |    14 +
 node_modules/lodash/_setWrapToString.js         |    21 +
 node_modules/lodash/_shortOut.js                |    37 +
 node_modules/lodash/_shuffleSelf.js             |    28 +
 node_modules/lodash/_stackClear.js              |    15 +
 node_modules/lodash/_stackDelete.js             |    18 +
 node_modules/lodash/_stackGet.js                |    14 +
 node_modules/lodash/_stackHas.js                |    14 +
 node_modules/lodash/_stackSet.js                |    34 +
 node_modules/lodash/_strictIndexOf.js           |    23 +
 node_modules/lodash/_strictLastIndexOf.js       |    21 +
 node_modules/lodash/_stringSize.js              |    18 +
 node_modules/lodash/_stringToArray.js           |    18 +
 node_modules/lodash/_stringToPath.js            |    27 +
 node_modules/lodash/_toKey.js                   |    21 +
 node_modules/lodash/_toSource.js                |    26 +
 node_modules/lodash/_unescapeHtmlChar.js        |    21 +
 node_modules/lodash/_unicodeSize.js             |    44 +
 node_modules/lodash/_unicodeToArray.js          |    40 +
 node_modules/lodash/_unicodeWords.js            |    69 +
 node_modules/lodash/_updateWrapDetails.js       |    46 +
 node_modules/lodash/_wrapperClone.js            |    23 +
 node_modules/lodash/add.js                      |    22 +
 node_modules/lodash/after.js                    |    42 +
 node_modules/lodash/array.js                    |    67 +
 node_modules/lodash/ary.js                      |    29 +
 node_modules/lodash/assign.js                   |    58 +
 node_modules/lodash/assignIn.js                 |    40 +
 node_modules/lodash/assignInWith.js             |    38 +
 node_modules/lodash/assignWith.js               |    37 +
 node_modules/lodash/at.js                       |    23 +
 node_modules/lodash/attempt.js                  |    35 +
 node_modules/lodash/before.js                   |    40 +
 node_modules/lodash/bind.js                     |    57 +
 node_modules/lodash/bindAll.js                  |    41 +
 node_modules/lodash/bindKey.js                  |    68 +
 node_modules/lodash/camelCase.js                |    29 +
 node_modules/lodash/capitalize.js               |    23 +
 node_modules/lodash/castArray.js                |    44 +
 node_modules/lodash/ceil.js                     |    26 +
 node_modules/lodash/chain.js                    |    38 +
 node_modules/lodash/chunk.js                    |    50 +
 node_modules/lodash/clamp.js                    |    39 +
 node_modules/lodash/clone.js                    |    36 +
 node_modules/lodash/cloneDeep.js                |    29 +
 node_modules/lodash/cloneDeepWith.js            |    40 +
 node_modules/lodash/cloneWith.js                |    42 +
 node_modules/lodash/collection.js               |    30 +
 node_modules/lodash/commit.js                   |    33 +
 node_modules/lodash/compact.js                  |    31 +
 node_modules/lodash/concat.js                   |    43 +
 node_modules/lodash/cond.js                     |    60 +
 node_modules/lodash/conforms.js                 |    35 +
 node_modules/lodash/conformsTo.js               |    32 +
 node_modules/lodash/constant.js                 |    26 +
 node_modules/lodash/core.js                     |  3854 ++
 node_modules/lodash/core.min.js                 |    29 +
 node_modules/lodash/countBy.js                  |    40 +
 node_modules/lodash/create.js                   |    43 +
 node_modules/lodash/curry.js                    |    57 +
 node_modules/lodash/curryRight.js               |    54 +
 node_modules/lodash/date.js                     |     3 +
 node_modules/lodash/debounce.js                 |   190 +
 node_modules/lodash/deburr.js                   |    45 +
 node_modules/lodash/defaultTo.js                |    25 +
 node_modules/lodash/defaults.js                 |    64 +
 node_modules/lodash/defaultsDeep.js             |    30 +
 node_modules/lodash/defer.js                    |    26 +
 node_modules/lodash/delay.js                    |    28 +
 node_modules/lodash/difference.js               |    33 +
 node_modules/lodash/differenceBy.js             |    44 +
 node_modules/lodash/differenceWith.js           |    40 +
 node_modules/lodash/divide.js                   |    22 +
 node_modules/lodash/drop.js                     |    38 +
 node_modules/lodash/dropRight.js                |    39 +
 node_modules/lodash/dropRightWhile.js           |    45 +
 node_modules/lodash/dropWhile.js                |    45 +
 node_modules/lodash/each.js                     |     1 +
 node_modules/lodash/eachRight.js                |     1 +
 node_modules/lodash/endsWith.js                 |    43 +
 node_modules/lodash/entries.js                  |     1 +
 node_modules/lodash/entriesIn.js                |     1 +
 node_modules/lodash/eq.js                       |    37 +
 node_modules/lodash/escape.js                   |    43 +
 node_modules/lodash/escapeRegExp.js             |    32 +
 node_modules/lodash/every.js                    |    56 +
 node_modules/lodash/extend.js                   |     1 +
 node_modules/lodash/extendWith.js               |     1 +
 node_modules/lodash/fill.js                     |    45 +
 node_modules/lodash/filter.js                   |    48 +
 node_modules/lodash/find.js                     |    42 +
 node_modules/lodash/findIndex.js                |    55 +
 node_modules/lodash/findKey.js                  |    44 +
 node_modules/lodash/findLast.js                 |    25 +
 node_modules/lodash/findLastIndex.js            |    59 +
 node_modules/lodash/findLastKey.js              |    44 +
 node_modules/lodash/first.js                    |     1 +
 node_modules/lodash/flatMap.js                  |    29 +
 node_modules/lodash/flatMapDeep.js              |    31 +
 node_modules/lodash/flatMapDepth.js             |    31 +
 node_modules/lodash/flatten.js                  |    22 +
 node_modules/lodash/flattenDeep.js              |    25 +
 node_modules/lodash/flattenDepth.js             |    33 +
 node_modules/lodash/flip.js                     |    28 +
 node_modules/lodash/floor.js                    |    26 +
 node_modules/lodash/flow.js                     |    27 +
 node_modules/lodash/flowRight.js                |    26 +
 node_modules/lodash/forEach.js                  |    41 +
 node_modules/lodash/forEachRight.js             |    31 +
 node_modules/lodash/forIn.js                    |    39 +
 node_modules/lodash/forInRight.js               |    37 +
 node_modules/lodash/forOwn.js                   |    36 +
 node_modules/lodash/forOwnRight.js              |    34 +
 node_modules/lodash/fp.js                       |     2 +
 node_modules/lodash/fp/F.js                     |     1 +
 node_modules/lodash/fp/T.js                     |     1 +
 node_modules/lodash/fp/__.js                    |     1 +
 node_modules/lodash/fp/_baseConvert.js          |   573 +
 node_modules/lodash/fp/_convertBrowser.js       |    18 +
 node_modules/lodash/fp/_falseOptions.js         |     7 +
 node_modules/lodash/fp/_mapping.js              |   368 +
 node_modules/lodash/fp/_util.js                 |    16 +
 node_modules/lodash/fp/add.js                   |     5 +
 node_modules/lodash/fp/after.js                 |     5 +
 node_modules/lodash/fp/all.js                   |     1 +
 node_modules/lodash/fp/allPass.js               |     1 +
 node_modules/lodash/fp/always.js                |     1 +
 node_modules/lodash/fp/any.js                   |     1 +
 node_modules/lodash/fp/anyPass.js               |     1 +
 node_modules/lodash/fp/apply.js                 |     1 +
 node_modules/lodash/fp/array.js                 |     2 +
 node_modules/lodash/fp/ary.js                   |     5 +
 node_modules/lodash/fp/assign.js                |     5 +
 node_modules/lodash/fp/assignAll.js             |     5 +
 node_modules/lodash/fp/assignAllWith.js         |     5 +
 node_modules/lodash/fp/assignIn.js              |     5 +
 node_modules/lodash/fp/assignInAll.js           |     5 +
 node_modules/lodash/fp/assignInAllWith.js       |     5 +
 node_modules/lodash/fp/assignInWith.js          |     5 +
 node_modules/lodash/fp/assignWith.js            |     5 +
 node_modules/lodash/fp/assoc.js                 |     1 +
 node_modules/lodash/fp/assocPath.js             |     1 +
 node_modules/lodash/fp/at.js                    |     5 +
 node_modules/lodash/fp/attempt.js               |     5 +
 node_modules/lodash/fp/before.js                |     5 +
 node_modules/lodash/fp/bind.js                  |     5 +
 node_modules/lodash/fp/bindAll.js               |     5 +
 node_modules/lodash/fp/bindKey.js               |     5 +
 node_modules/lodash/fp/camelCase.js             |     5 +
 node_modules/lodash/fp/capitalize.js            |     5 +
 node_modules/lodash/fp/castArray.js             |     5 +
 node_modules/lodash/fp/ceil.js                  |     5 +
 node_modules/lodash/fp/chain.js                 |     5 +
 node_modules/lodash/fp/chunk.js                 |     5 +
 node_modules/lodash/fp/clamp.js                 |     5 +
 node_modules/lodash/fp/clone.js                 |     5 +
 node_modules/lodash/fp/cloneDeep.js             |     5 +
 node_modules/lodash/fp/cloneDeepWith.js         |     5 +
 node_modules/lodash/fp/cloneWith.js             |     5 +
 node_modules/lodash/fp/collection.js            |     2 +
 node_modules/lodash/fp/commit.js                |     5 +
 node_modules/lodash/fp/compact.js               |     5 +
 node_modules/lodash/fp/complement.js            |     1 +
 node_modules/lodash/fp/compose.js               |     1 +
 node_modules/lodash/fp/concat.js                |     5 +
 node_modules/lodash/fp/cond.js                  |     5 +
 node_modules/lodash/fp/conforms.js              |     1 +
 node_modules/lodash/fp/conformsTo.js            |     5 +
 node_modules/lodash/fp/constant.js              |     5 +
 node_modules/lodash/fp/contains.js              |     1 +
 node_modules/lodash/fp/convert.js               |    18 +
 node_modules/lodash/fp/countBy.js               |     5 +
 node_modules/lodash/fp/create.js                |     5 +
 node_modules/lodash/fp/curry.js                 |     5 +
 node_modules/lodash/fp/curryN.js                |     5 +
 node_modules/lodash/fp/curryRight.js            |     5 +
 node_modules/lodash/fp/curryRightN.js           |     5 +
 node_modules/lodash/fp/date.js                  |     2 +
 node_modules/lodash/fp/debounce.js              |     5 +
 node_modules/lodash/fp/deburr.js                |     5 +
 node_modules/lodash/fp/defaultTo.js             |     5 +
 node_modules/lodash/fp/defaults.js              |     5 +
 node_modules/lodash/fp/defaultsAll.js           |     5 +
 node_modules/lodash/fp/defaultsDeep.js          |     5 +
 node_modules/lodash/fp/defaultsDeepAll.js       |     5 +
 node_modules/lodash/fp/defer.js                 |     5 +
 node_modules/lodash/fp/delay.js                 |     5 +
 node_modules/lodash/fp/difference.js            |     5 +
 node_modules/lodash/fp/differenceBy.js          |     5 +
 node_modules/lodash/fp/differenceWith.js        |     5 +
 node_modules/lodash/fp/dissoc.js                |     1 +
 node_modules/lodash/fp/dissocPath.js            |     1 +
 node_modules/lodash/fp/divide.js                |     5 +
 node_modules/lodash/fp/drop.js                  |     5 +
 node_modules/lodash/fp/dropLast.js              |     1 +
 node_modules/lodash/fp/dropLastWhile.js         |     1 +
 node_modules/lodash/fp/dropRight.js             |     5 +
 node_modules/lodash/fp/dropRightWhile.js        |     5 +
 node_modules/lodash/fp/dropWhile.js             |     5 +
 node_modules/lodash/fp/each.js                  |     1 +
 node_modules/lodash/fp/eachRight.js             |     1 +
 node_modules/lodash/fp/endsWith.js              |     5 +
 node_modules/lodash/fp/entries.js               |     1 +
 node_modules/lodash/fp/entriesIn.js             |     1 +
 node_modules/lodash/fp/eq.js                    |     5 +
 node_modules/lodash/fp/equals.js                |     1 +
 node_modules/lodash/fp/escape.js                |     5 +
 node_modules/lodash/fp/escapeRegExp.js          |     5 +
 node_modules/lodash/fp/every.js                 |     5 +
 node_modules/lodash/fp/extend.js                |     1 +
 node_modules/lodash/fp/extendAll.js             |     1 +
 node_modules/lodash/fp/extendAllWith.js         |     1 +
 node_modules/lodash/fp/extendWith.js            |     1 +
 node_modules/lodash/fp/fill.js                  |     5 +
 node_modules/lodash/fp/filter.js                |     5 +
 node_modules/lodash/fp/find.js                  |     5 +
 node_modules/lodash/fp/findFrom.js              |     5 +
 node_modules/lodash/fp/findIndex.js             |     5 +
 node_modules/lodash/fp/findIndexFrom.js         |     5 +
 node_modules/lodash/fp/findKey.js               |     5 +
 node_modules/lodash/fp/findLast.js              |     5 +
 node_modules/lodash/fp/findLastFrom.js          |     5 +
 node_modules/lodash/fp/findLastIndex.js         |     5 +
 node_modules/lodash/fp/findLastIndexFrom.js     |     5 +
 node_modules/lodash/fp/findLastKey.js           |     5 +
 node_modules/lodash/fp/first.js                 |     1 +
 node_modules/lodash/fp/flatMap.js               |     5 +
 node_modules/lodash/fp/flatMapDeep.js           |     5 +
 node_modules/lodash/fp/flatMapDepth.js          |     5 +
 node_modules/lodash/fp/flatten.js               |     5 +
 node_modules/lodash/fp/flattenDeep.js           |     5 +
 node_modules/lodash/fp/flattenDepth.js          |     5 +
 node_modules/lodash/fp/flip.js                  |     5 +
 node_modules/lodash/fp/floor.js                 |     5 +
 node_modules/lodash/fp/flow.js                  |     5 +
 node_modules/lodash/fp/flowRight.js             |     5 +
 node_modules/lodash/fp/forEach.js               |     5 +
 node_modules/lodash/fp/forEachRight.js          |     5 +
 node_modules/lodash/fp/forIn.js                 |     5 +
 node_modules/lodash/fp/forInRight.js            |     5 +
 node_modules/lodash/fp/forOwn.js                |     5 +
 node_modules/lodash/fp/forOwnRight.js           |     5 +
 node_modules/lodash/fp/fromPairs.js             |     5 +
 node_modules/lodash/fp/function.js              |     2 +
 node_modules/lodash/fp/functions.js             |     5 +
 node_modules/lodash/fp/functionsIn.js           |     5 +
 node_modules/lodash/fp/get.js                   |     5 +
 node_modules/lodash/fp/getOr.js                 |     5 +
 node_modules/lodash/fp/groupBy.js               |     5 +
 node_modules/lodash/fp/gt.js                    |     5 +
 node_modules/lodash/fp/gte.js                   |     5 +
 node_modules/lodash/fp/has.js                   |     5 +
 node_modules/lodash/fp/hasIn.js                 |     5 +
 node_modules/lodash/fp/head.js                  |     5 +
 node_modules/lodash/fp/identical.js             |     1 +
 node_modules/lodash/fp/identity.js              |     5 +
 node_modules/lodash/fp/inRange.js               |     5 +
 node_modules/lodash/fp/includes.js              |     5 +
 node_modules/lodash/fp/includesFrom.js          |     5 +
 node_modules/lodash/fp/indexBy.js               |     1 +
 node_modules/lodash/fp/indexOf.js               |     5 +
 node_modules/lodash/fp/indexOfFrom.js           |     5 +
 node_modules/lodash/fp/init.js                  |     1 +
 node_modules/lodash/fp/initial.js               |     5 +
 node_modules/lodash/fp/intersection.js          |     5 +
 node_modules/lodash/fp/intersectionBy.js        |     5 +
 node_modules/lodash/fp/intersectionWith.js      |     5 +
 node_modules/lodash/fp/invert.js                |     5 +
 node_modules/lodash/fp/invertBy.js              |     5 +
 node_modules/lodash/fp/invertObj.js             |     1 +
 node_modules/lodash/fp/invoke.js                |     5 +
 node_modules/lodash/fp/invokeArgs.js            |     5 +
 node_modules/lodash/fp/invokeArgsMap.js         |     5 +
 node_modules/lodash/fp/invokeMap.js             |     5 +
 node_modules/lodash/fp/isArguments.js           |     5 +
 node_modules/lodash/fp/isArray.js               |     5 +
 node_modules/lodash/fp/isArrayBuffer.js         |     5 +
 node_modules/lodash/fp/isArrayLike.js           |     5 +
 node_modules/lodash/fp/isArrayLikeObject.js     |     5 +
 node_modules/lodash/fp/isBoolean.js             |     5 +
 node_modules/lodash/fp/isBuffer.js              |     5 +
 node_modules/lodash/fp/isDate.js                |     5 +
 node_modules/lodash/fp/isElement.js             |     5 +
 node_modules/lodash/fp/isEmpty.js               |     5 +
 node_modules/lodash/fp/isEqual.js               |     5 +
 node_modules/lodash/fp/isEqualWith.js           |     5 +
 node_modules/lodash/fp/isError.js               |     5 +
 node_modules/lodash/fp/isFinite.js              |     5 +
 node_modules/lodash/fp/isFunction.js            |     5 +
 node_modules/lodash/fp/isInteger.js             |     5 +
 node_modules/lodash/fp/isLength.js              |     5 +
 node_modules/lodash/fp/isMap.js                 |     5 +
 node_modules/lodash/fp/isMatch.js               |     5 +
 node_modules/lodash/fp/isMatchWith.js           |     5 +
 node_modules/lodash/fp/isNaN.js                 |     5 +
 node_modules/lodash/fp/isNative.js              |     5 +
 node_modules/lodash/fp/isNil.js                 |     5 +
 node_modules/lodash/fp/isNull.js                |     5 +
 node_modules/lodash/fp/isNumber.js              |     5 +
 node_modules/lodash/fp/isObject.js              |     5 +
 node_modules/lodash/fp/isObjectLike.js          |     5 +
 node_modules/lodash/fp/isPlainObject.js         |     5 +
 node_modules/lodash/fp/isRegExp.js              |     5 +
 node_modules/lodash/fp/isSafeInteger.js         |     5 +
 node_modules/lodash/fp/isSet.js                 |     5 +
 node_modules/lodash/fp/isString.js              |     5 +
 node_modules/lodash/fp/isSymbol.js              |     5 +
 node_modules/lodash/fp/isTypedArray.js          |     5 +
 node_modules/lodash/fp/isUndefined.js           |     5 +
 node_modules/lodash/fp/isWeakMap.js             |     5 +
 node_modules/lodash/fp/isWeakSet.js             |     5 +
 node_modules/lodash/fp/iteratee.js              |     5 +
 node_modules/lodash/fp/join.js                  |     5 +
 node_modules/lodash/fp/juxt.js                  |     1 +
 node_modules/lodash/fp/kebabCase.js             |     5 +
 node_modules/lodash/fp/keyBy.js                 |     5 +
 node_modules/lodash/fp/keys.js                  |     5 +
 node_modules/lodash/fp/keysIn.js                |     5 +
 node_modules/lodash/fp/lang.js                  |     2 +
 node_modules/lodash/fp/last.js                  |     5 +
 node_modules/lodash/fp/lastIndexOf.js           |     5 +
 node_modules/lodash/fp/lastIndexOfFrom.js       |     5 +
 node_modules/lodash/fp/lowerCase.js             |     5 +
 node_modules/lodash/fp/lowerFirst.js            |     5 +
 node_modules/lodash/fp/lt.js                    |     5 +
 node_modules/lodash/fp/lte.js                   |     5 +
 node_modules/lodash/fp/map.js                   |     5 +
 node_modules/lodash/fp/mapKeys.js               |     5 +
 node_modules/lodash/fp/mapValues.js             |     5 +
 node_modules/lodash/fp/matches.js               |     1 +
 node_modules/lodash/fp/matchesProperty.js       |     5 +
 node_modules/lodash/fp/math.js                  |     2 +
 node_modules/lodash/fp/max.js                   |     5 +
 node_modules/lodash/fp/maxBy.js                 |     5 +
 node_modules/lodash/fp/mean.js                  |     5 +
 node_modules/lodash/fp/meanBy.js                |     5 +
 node_modules/lodash/fp/memoize.js               |     5 +
 node_modules/lodash/fp/merge.js                 |     5 +
 node_modules/lodash/fp/mergeAll.js              |     5 +
 node_modules/lodash/fp/mergeAllWith.js          |     5 +
 node_modules/lodash/fp/mergeWith.js             |     5 +
 node_modules/lodash/fp/method.js                |     5 +
 node_modules/lodash/fp/methodOf.js              |     5 +
 node_modules/lodash/fp/min.js                   |     5 +
 node_modules/lodash/fp/minBy.js                 |     5 +
 node_modules/lodash/fp/mixin.js                 |     5 +
 node_modules/lodash/fp/multiply.js              |     5 +
 node_modules/lodash/fp/nAry.js                  |     1 +
 node_modules/lodash/fp/negate.js                |     5 +
 node_modules/lodash/fp/next.js                  |     5 +
 node_modules/lodash/fp/noop.js                  |     5 +
 node_modules/lodash/fp/now.js                   |     5 +
 node_modules/lodash/fp/nth.js                   |     5 +
 node_modules/lodash/fp/nthArg.js                |     5 +
 node_modules/lodash/fp/number.js                |     2 +
 node_modules/lodash/fp/object.js                |     2 +
 node_modules/lodash/fp/omit.js                  |     5 +
 node_modules/lodash/fp/omitAll.js               |     1 +
 node_modules/lodash/fp/omitBy.js                |     5 +
 node_modules/lodash/fp/once.js                  |     5 +
 node_modules/lodash/fp/orderBy.js               |     5 +
 node_modules/lodash/fp/over.js                  |     5 +
 node_modules/lodash/fp/overArgs.js              |     5 +
 node_modules/lodash/fp/overEvery.js             |     5 +
 node_modules/lodash/fp/overSome.js              |     5 +
 node_modules/lodash/fp/pad.js                   |     5 +
 node_modules/lodash/fp/padChars.js              |     5 +
 node_modules/lodash/fp/padCharsEnd.js           |     5 +
 node_modules/lodash/fp/padCharsStart.js         |     5 +
 node_modules/lodash/fp/padEnd.js                |     5 +
 node_modules/lodash/fp/padStart.js              |     5 +
 node_modules/lodash/fp/parseInt.js              |     5 +
 node_modules/lodash/fp/partial.js               |     5 +
 node_modules/lodash/fp/partialRight.js          |     5 +
 node_modules/lodash/fp/partition.js             |     5 +
 node_modules/lodash/fp/path.js                  |     1 +
 node_modules/lodash/fp/pathEq.js                |     1 +
 node_modules/lodash/fp/pathOr.js                |     1 +
 node_modules/lodash/fp/paths.js                 |     1 +
 node_modules/lodash/fp/pick.js                  |     5 +
 node_modules/lodash/fp/pickAll.js               |     1 +
 node_modules/lodash/fp/pickBy.js                |     5 +
 node_modules/lodash/fp/pipe.js                  |     1 +
 node_modules/lodash/fp/placeholder.js           |     6 +
 node_modules/lodash/fp/plant.js                 |     5 +
 node_modules/lodash/fp/pluck.js                 |     1 +
 node_modules/lodash/fp/prop.js                  |     1 +
 node_modules/lodash/fp/propEq.js                |     1 +
 node_modules/lodash/fp/propOr.js                |     1 +
 node_modules/lodash/fp/property.js              |     1 +
 node_modules/lodash/fp/propertyOf.js            |     5 +
 node_modules/lodash/fp/props.js                 |     1 +
 node_modules/lodash/fp/pull.js                  |     5 +
 node_modules/lodash/fp/pullAll.js               |     5 +
 node_modules/lodash/fp/pullAllBy.js             |     5 +
 node_modules/lodash/fp/pullAllWith.js           |     5 +
 node_modules/lodash/fp/pullAt.js                |     5 +
 node_modules/lodash/fp/random.js                |     5 +
 node_modules/lodash/fp/range.js                 |     5 +
 node_modules/lodash/fp/rangeRight.js            |     5 +
 node_modules/lodash/fp/rangeStep.js             |     5 +
 node_modules/lodash/fp/rangeStepRight.js        |     5 +
 node_modules/lodash/fp/rearg.js                 |     5 +
 node_modules/lodash/fp/reduce.js                |     5 +
 node_modules/lodash/fp/reduceRight.js           |     5 +
 node_modules/lodash/fp/reject.js                |     5 +
 node_modules/lodash/fp/remove.js                |     5 +
 node_modules/lodash/fp/repeat.js                |     5 +
 node_modules/lodash/fp/replace.js               |     5 +
 node_modules/lodash/fp/rest.js                  |     5 +
 node_modules/lodash/fp/restFrom.js              |     5 +
 node_modules/lodash/fp/result.js                |     5 +
 node_modules/lodash/fp/reverse.js               |     5 +
 node_modules/lodash/fp/round.js                 |     5 +
 node_modules/lodash/fp/sample.js                |     5 +
 node_modules/lodash/fp/sampleSize.js            |     5 +
 node_modules/lodash/fp/seq.js                   |     2 +
 node_modules/lodash/fp/set.js                   |     5 +
 node_modules/lodash/fp/setWith.js               |     5 +
 node_modules/lodash/fp/shuffle.js               |     5 +
 node_modules/lodash/fp/size.js                  |     5 +
 node_modules/lodash/fp/slice.js                 |     5 +
 node_modules/lodash/fp/snakeCase.js             |     5 +
 node_modules/lodash/fp/some.js                  |     5 +
 node_modules/lodash/fp/sortBy.js                |     5 +
 node_modules/lodash/fp/sortedIndex.js           |     5 +
 node_modules/lodash/fp/sortedIndexBy.js         |     5 +
 node_modules/lodash/fp/sortedIndexOf.js         |     5 +
 node_modules/lodash/fp/sortedLastIndex.js       |     5 +
 node_modules/lodash/fp/sortedLastIndexBy.js     |     5 +
 node_modules/lodash/fp/sortedLastIndexOf.js     |     5 +
 node_modules/lodash/fp/sortedUniq.js            |     5 +
 node_modules/lodash/fp/sortedUniqBy.js          |     5 +
 node_modules/lodash/fp/split.js                 |     5 +
 node_modules/lodash/fp/spread.js                |     5 +
 node_modules/lodash/fp/spreadFrom.js            |     5 +
 node_modules/lodash/fp/startCase.js             |     5 +
 node_modules/lodash/fp/startsWith.js            |     5 +
 node_modules/lodash/fp/string.js                |     2 +
 node_modules/lodash/fp/stubArray.js             |     5 +
 node_modules/lodash/fp/stubFalse.js             |     5 +
 node_modules/lodash/fp/stubObject.js            |     5 +
 node_modules/lodash/fp/stubString.js            |     5 +
 node_modules/lodash/fp/stubTrue.js              |     5 +
 node_modules/lodash/fp/subtract.js              |     5 +
 node_modules/lodash/fp/sum.js                   |     5 +
 node_modules/lodash/fp/sumBy.js                 |     5 +
 node_modules/lodash/fp/symmetricDifference.js   |     1 +
 node_modules/lodash/fp/symmetricDifferenceBy.js |     1 +
 .../lodash/fp/symmetricDifferenceWith.js        |     1 +
 node_modules/lodash/fp/tail.js                  |     5 +
 node_modules/lodash/fp/take.js                  |     5 +
 node_modules/lodash/fp/takeLast.js              |     1 +
 node_modules/lodash/fp/takeLastWhile.js         |     1 +
 node_modules/lodash/fp/takeRight.js             |     5 +
 node_modules/lodash/fp/takeRightWhile.js        |     5 +
 node_modules/lodash/fp/takeWhile.js             |     5 +
 node_modules/lodash/fp/tap.js                   |     5 +
 node_modules/lodash/fp/template.js              |     5 +
 node_modules/lodash/fp/templateSettings.js      |     5 +
 node_modules/lodash/fp/throttle.js              |     5 +
 node_modules/lodash/fp/thru.js                  |     5 +
 node_modules/lodash/fp/times.js                 |     5 +
 node_modules/lodash/fp/toArray.js               |     5 +
 node_modules/lodash/fp/toFinite.js              |     5 +
 node_modules/lodash/fp/toInteger.js             |     5 +
 node_modules/lodash/fp/toIterator.js            |     5 +
 node_modules/lodash/fp/toJSON.js                |     5 +
 node_modules/lodash/fp/toLength.js              |     5 +
 node_modules/lodash/fp/toLower.js               |     5 +
 node_modules/lodash/fp/toNumber.js              |     5 +
 node_modules/lodash/fp/toPairs.js               |     5 +
 node_modules/lodash/fp/toPairsIn.js             |     5 +
 node_modules/lodash/fp/toPath.js                |     5 +
 node_modules/lodash/fp/toPlainObject.js         |     5 +
 node_modules/lodash/fp/toSafeInteger.js         |     5 +
 node_modules/lodash/fp/toString.js              |     5 +
 node_modules/lodash/fp/toUpper.js               |     5 +
 node_modules/lodash/fp/transform.js             |     5 +
 node_modules/lodash/fp/trim.js                  |     5 +
 node_modules/lodash/fp/trimChars.js             |     5 +
 node_modules/lodash/fp/trimCharsEnd.js          |     5 +
 node_modules/lodash/fp/trimCharsStart.js        |     5 +
 node_modules/lodash/fp/trimEnd.js               |     5 +
 node_modules/lodash/fp/trimStart.js             |     5 +
 node_modules/lodash/fp/truncate.js              |     5 +
 node_modules/lodash/fp/unapply.js               |     1 +
 node_modules/lodash/fp/unary.js                 |     5 +
 node_modules/lodash/fp/unescape.js              |     5 +
 node_modules/lodash/fp/union.js                 |     5 +
 node_modules/lodash/fp/unionBy.js               |     5 +
 node_modules/lodash/fp/unionWith.js             |     5 +
 node_modules/lodash/fp/uniq.js                  |     5 +
 node_modules/lodash/fp/uniqBy.js                |     5 +
 node_modules/lodash/fp/uniqWith.js              |     5 +
 node_modules/lodash/fp/uniqueId.js              |     5 +
 node_modules/lodash/fp/unnest.js                |     1 +
 node_modules/lodash/fp/unset.js                 |     5 +
 node_modules/lodash/fp/unzip.js                 |     5 +
 node_modules/lodash/fp/unzipWith.js             |     5 +
 node_modules/lodash/fp/update.js                |     5 +
 node_modules/lodash/fp/updateWith.js            |     5 +
 node_modules/lodash/fp/upperCase.js             |     5 +
 node_modules/lodash/fp/upperFirst.js            |     5 +
 node_modules/lodash/fp/useWith.js               |     1 +
 node_modules/lodash/fp/util.js                  |     2 +
 node_modules/lodash/fp/value.js                 |     5 +
 node_modules/lodash/fp/valueOf.js               |     5 +
 node_modules/lodash/fp/values.js                |     5 +
 node_modules/lodash/fp/valuesIn.js              |     5 +
 node_modules/lodash/fp/where.js                 |     1 +
 node_modules/lodash/fp/whereEq.js               |     1 +
 node_modules/lodash/fp/without.js               |     5 +
 node_modules/lodash/fp/words.js                 |     5 +
 node_modules/lodash/fp/wrap.js                  |     5 +
 node_modules/lodash/fp/wrapperAt.js             |     5 +
 node_modules/lodash/fp/wrapperChain.js          |     5 +
 node_modules/lodash/fp/wrapperLodash.js         |     5 +
 node_modules/lodash/fp/wrapperReverse.js        |     5 +
 node_modules/lodash/fp/wrapperValue.js          |     5 +
 node_modules/lodash/fp/xor.js                   |     5 +
 node_modules/lodash/fp/xorBy.js                 |     5 +
 node_modules/lodash/fp/xorWith.js               |     5 +
 node_modules/lodash/fp/zip.js                   |     5 +
 node_modules/lodash/fp/zipAll.js                |     5 +
 node_modules/lodash/fp/zipObj.js                |     1 +
 node_modules/lodash/fp/zipObject.js             |     5 +
 node_modules/lodash/fp/zipObjectDeep.js         |     5 +
 node_modules/lodash/fp/zipWith.js               |     5 +
 node_modules/lodash/fromPairs.js                |    28 +
 node_modules/lodash/function.js                 |    25 +
 node_modules/lodash/functions.js                |    31 +
 node_modules/lodash/functionsIn.js              |    31 +
 node_modules/lodash/get.js                      |    33 +
 node_modules/lodash/groupBy.js                  |    41 +
 node_modules/lodash/gt.js                       |    29 +
 node_modules/lodash/gte.js                      |    30 +
 node_modules/lodash/has.js                      |    35 +
 node_modules/lodash/hasIn.js                    |    34 +
 node_modules/lodash/head.js                     |    23 +
 node_modules/lodash/identity.js                 |    21 +
 node_modules/lodash/inRange.js                  |    55 +
 node_modules/lodash/includes.js                 |    53 +
 node_modules/lodash/index.js                    |     1 +
 node_modules/lodash/indexOf.js                  |    42 +
 node_modules/lodash/initial.js                  |    22 +
 node_modules/lodash/intersection.js             |    30 +
 node_modules/lodash/intersectionBy.js           |    45 +
 node_modules/lodash/intersectionWith.js         |    41 +
 node_modules/lodash/invert.js                   |    42 +
 node_modules/lodash/invertBy.js                 |    56 +
 node_modules/lodash/invoke.js                   |    24 +
 node_modules/lodash/invokeMap.js                |    41 +
 node_modules/lodash/isArguments.js              |    36 +
 node_modules/lodash/isArray.js                  |    26 +
 node_modules/lodash/isArrayBuffer.js            |    27 +
 node_modules/lodash/isArrayLike.js              |    33 +
 node_modules/lodash/isArrayLikeObject.js        |    33 +
 node_modules/lodash/isBoolean.js                |    29 +
 node_modules/lodash/isBuffer.js                 |    38 +
 node_modules/lodash/isDate.js                   |    27 +
 node_modules/lodash/isElement.js                |    25 +
 node_modules/lodash/isEmpty.js                  |    77 +
 node_modules/lodash/isEqual.js                  |    35 +
 node_modules/lodash/isEqualWith.js              |    41 +
 node_modules/lodash/isError.js                  |    36 +
 node_modules/lodash/isFinite.js                 |    36 +
 node_modules/lodash/isFunction.js               |    37 +
 node_modules/lodash/isInteger.js                |    33 +
 node_modules/lodash/isLength.js                 |    35 +
 node_modules/lodash/isMap.js                    |    27 +
 node_modules/lodash/isMatch.js                  |    36 +
 node_modules/lodash/isMatchWith.js              |    41 +
 node_modules/lodash/isNaN.js                    |    38 +
 node_modules/lodash/isNative.js                 |    40 +
 node_modules/lodash/isNil.js                    |    25 +
 node_modules/lodash/isNull.js                   |    22 +
 node_modules/lodash/isNumber.js                 |    38 +
 node_modules/lodash/isObject.js                 |    31 +
 node_modules/lodash/isObjectLike.js             |    29 +
 node_modules/lodash/isPlainObject.js            |    62 +
 node_modules/lodash/isRegExp.js                 |    27 +
 node_modules/lodash/isSafeInteger.js            |    37 +
 node_modules/lodash/isSet.js                    |    27 +
 node_modules/lodash/isString.js                 |    30 +
 node_modules/lodash/isSymbol.js                 |    29 +
 node_modules/lodash/isTypedArray.js             |    27 +
 node_modules/lodash/isUndefined.js              |    22 +
 node_modules/lodash/isWeakMap.js                |    28 +
 node_modules/lodash/isWeakSet.js                |    28 +
 node_modules/lodash/iteratee.js                 |    53 +
 node_modules/lodash/join.js                     |    26 +
 node_modules/lodash/kebabCase.js                |    28 +
 node_modules/lodash/keyBy.js                    |    36 +
 node_modules/lodash/keys.js                     |    37 +
 node_modules/lodash/keysIn.js                   |    32 +
 node_modules/lodash/lang.js                     |    58 +
 node_modules/lodash/last.js                     |    20 +
 node_modules/lodash/lastIndexOf.js              |    46 +
 node_modules/lodash/lodash.js                   | 17105 ++++++++
 node_modules/lodash/lodash.min.js               |   137 +
 node_modules/lodash/lowerCase.js                |    27 +
 node_modules/lodash/lowerFirst.js               |    22 +
 node_modules/lodash/lt.js                       |    29 +
 node_modules/lodash/lte.js                      |    30 +
 node_modules/lodash/map.js                      |    53 +
 node_modules/lodash/mapKeys.js                  |    36 +
 node_modules/lodash/mapValues.js                |    43 +
 node_modules/lodash/matches.js                  |    39 +
 node_modules/lodash/matchesProperty.js          |    37 +
 node_modules/lodash/math.js                     |    17 +
 node_modules/lodash/max.js                      |    29 +
 node_modules/lodash/maxBy.js                    |    34 +
 node_modules/lodash/mean.js                     |    22 +
 node_modules/lodash/meanBy.js                   |    31 +
 node_modules/lodash/memoize.js                  |    73 +
 node_modules/lodash/merge.js                    |    39 +
 node_modules/lodash/mergeWith.js                |    39 +
 node_modules/lodash/method.js                   |    34 +
 node_modules/lodash/methodOf.js                 |    33 +
 node_modules/lodash/min.js                      |    29 +
 node_modules/lodash/minBy.js                    |    34 +
 node_modules/lodash/mixin.js                    |    74 +
 node_modules/lodash/multiply.js                 |    22 +
 node_modules/lodash/negate.js                   |    40 +
 node_modules/lodash/next.js                     |    35 +
 node_modules/lodash/noop.js                     |    17 +
 node_modules/lodash/now.js                      |    23 +
 node_modules/lodash/nth.js                      |    29 +
 node_modules/lodash/nthArg.js                   |    32 +
 node_modules/lodash/number.js                   |     5 +
 node_modules/lodash/object.js                   |    49 +
 node_modules/lodash/omit.js                     |    57 +
 node_modules/lodash/omitBy.js                   |    29 +
 node_modules/lodash/once.js                     |    25 +
 node_modules/lodash/orderBy.js                  |    47 +
 node_modules/lodash/over.js                     |    24 +
 node_modules/lodash/overArgs.js                 |    61 +
 node_modules/lodash/overEvery.js                |    30 +
 node_modules/lodash/overSome.js                 |    30 +
 node_modules/lodash/package.json                |    82 +
 node_modules/lodash/pad.js                      |    49 +
 node_modules/lodash/padEnd.js                   |    39 +
 node_modules/lodash/padStart.js                 |    39 +
 node_modules/lodash/parseInt.js                 |    43 +
 node_modules/lodash/partial.js                  |    50 +
 node_modules/lodash/partialRight.js             |    49 +
 node_modules/lodash/partition.js                |    43 +
 node_modules/lodash/pick.js                     |    25 +
 node_modules/lodash/pickBy.js                   |    37 +
 node_modules/lodash/plant.js                    |    48 +
 node_modules/lodash/property.js                 |    32 +
 node_modules/lodash/propertyOf.js               |    30 +
 node_modules/lodash/pull.js                     |    29 +
 node_modules/lodash/pullAll.js                  |    29 +
 node_modules/lodash/pullAllBy.js                |    33 +
 node_modules/lodash/pullAllWith.js              |    32 +
 node_modules/lodash/pullAt.js                   |    43 +
 node_modules/lodash/random.js                   |    82 +
 node_modules/lodash/range.js                    |    46 +
 node_modules/lodash/rangeRight.js               |    41 +
 node_modules/lodash/rearg.js                    |    33 +
 node_modules/lodash/reduce.js                   |    51 +
 node_modules/lodash/reduceRight.js              |    36 +
 node_modules/lodash/reject.js                   |    46 +
 node_modules/lodash/remove.js                   |    53 +
 node_modules/lodash/repeat.js                   |    37 +
 node_modules/lodash/replace.js                  |    29 +
 node_modules/lodash/rest.js                     |    40 +
 node_modules/lodash/result.js                   |    56 +
 node_modules/lodash/reverse.js                  |    34 +
 node_modules/lodash/round.js                    |    26 +
 node_modules/lodash/sample.js                   |    24 +
 node_modules/lodash/sampleSize.js               |    37 +
 node_modules/lodash/seq.js                      |    16 +
 node_modules/lodash/set.js                      |    35 +
 node_modules/lodash/setWith.js                  |    32 +
 node_modules/lodash/shuffle.js                  |    25 +
 node_modules/lodash/size.js                     |    46 +
 node_modules/lodash/slice.js                    |    37 +
 node_modules/lodash/snakeCase.js                |    28 +
 node_modules/lodash/some.js                     |    51 +
 node_modules/lodash/sortBy.js                   |    48 +
 node_modules/lodash/sortedIndex.js              |    24 +
 node_modules/lodash/sortedIndexBy.js            |    33 +
 node_modules/lodash/sortedIndexOf.js            |    31 +
 node_modules/lodash/sortedLastIndex.js          |    25 +
 node_modules/lodash/sortedLastIndexBy.js        |    33 +
 node_modules/lodash/sortedLastIndexOf.js        |    31 +
 node_modules/lodash/sortedUniq.js               |    24 +
 node_modules/lodash/sortedUniqBy.js             |    26 +
 node_modules/lodash/split.js                    |    52 +
 node_modules/lodash/spread.js                   |    63 +
 node_modules/lodash/startCase.js                |    29 +
 node_modules/lodash/startsWith.js               |    39 +
 node_modules/lodash/string.js                   |    33 +
 node_modules/lodash/stubArray.js                |    23 +
 node_modules/lodash/stubFalse.js                |    18 +
 node_modules/lodash/stubObject.js               |    23 +
 node_modules/lodash/stubString.js               |    18 +
 node_modules/lodash/stubTrue.js                 |    18 +
 node_modules/lodash/subtract.js                 |    22 +
 node_modules/lodash/sum.js                      |    24 +
 node_modules/lodash/sumBy.js                    |    33 +
 node_modules/lodash/tail.js                     |    22 +
 node_modules/lodash/take.js                     |    37 +
 node_modules/lodash/takeRight.js                |    39 +
 node_modules/lodash/takeRightWhile.js           |    45 +
 node_modules/lodash/takeWhile.js                |    45 +
 node_modules/lodash/tap.js                      |    29 +
 node_modules/lodash/template.js                 |   238 +
 node_modules/lodash/templateSettings.js         |    67 +
 node_modules/lodash/throttle.js                 |    69 +
 node_modules/lodash/thru.js                     |    28 +
 node_modules/lodash/times.js                    |    51 +
 node_modules/lodash/toArray.js                  |    58 +
 node_modules/lodash/toFinite.js                 |    42 +
 node_modules/lodash/toInteger.js                |    36 +
 node_modules/lodash/toIterator.js               |    23 +
 node_modules/lodash/toJSON.js                   |     1 +
 node_modules/lodash/toLength.js                 |    38 +
 node_modules/lodash/toLower.js                  |    28 +
 node_modules/lodash/toNumber.js                 |    66 +
 node_modules/lodash/toPairs.js                  |    30 +
 node_modules/lodash/toPairsIn.js                |    30 +
 node_modules/lodash/toPath.js                   |    33 +
 node_modules/lodash/toPlainObject.js            |    32 +
 node_modules/lodash/toSafeInteger.js            |    37 +
 node_modules/lodash/toString.js                 |    28 +
 node_modules/lodash/toUpper.js                  |    28 +
 node_modules/lodash/transform.js                |    65 +
 node_modules/lodash/trim.js                     |    49 +
 node_modules/lodash/trimEnd.js                  |    43 +
 node_modules/lodash/trimStart.js                |    43 +
 node_modules/lodash/truncate.js                 |   111 +
 node_modules/lodash/unary.js                    |    22 +
 node_modules/lodash/unescape.js                 |    34 +
 node_modules/lodash/union.js                    |    26 +
 node_modules/lodash/unionBy.js                  |    39 +
 node_modules/lodash/unionWith.js                |    34 +
 node_modules/lodash/uniq.js                     |    25 +
 node_modules/lodash/uniqBy.js                   |    31 +
 node_modules/lodash/uniqWith.js                 |    28 +
 node_modules/lodash/uniqueId.js                 |    28 +
 node_modules/lodash/unset.js                    |    34 +
 node_modules/lodash/unzip.js                    |    45 +
 node_modules/lodash/unzipWith.js                |    39 +
 node_modules/lodash/update.js                   |    35 +
 node_modules/lodash/updateWith.js               |    33 +
 node_modules/lodash/upperCase.js                |    27 +
 node_modules/lodash/upperFirst.js               |    22 +
 node_modules/lodash/util.js                     |    34 +
 node_modules/lodash/value.js                    |     1 +
 node_modules/lodash/valueOf.js                  |     1 +
 node_modules/lodash/values.js                   |    34 +
 node_modules/lodash/valuesIn.js                 |    32 +
 node_modules/lodash/without.js                  |    31 +
 node_modules/lodash/words.js                    |    35 +
 node_modules/lodash/wrap.js                     |    30 +
 node_modules/lodash/wrapperAt.js                |    48 +
 node_modules/lodash/wrapperChain.js             |    34 +
 node_modules/lodash/wrapperLodash.js            |   147 +
 node_modules/lodash/wrapperReverse.js           |    44 +
 node_modules/lodash/wrapperValue.js             |    21 +
 node_modules/lodash/xor.js                      |    28 +
 node_modules/lodash/xorBy.js                    |    39 +
 node_modules/lodash/xorWith.js                  |    34 +
 node_modules/lodash/zip.js                      |    22 +
 node_modules/lodash/zipObject.js                |    24 +
 node_modules/lodash/zipObjectDeep.js            |    23 +
 node_modules/lodash/zipWith.js                  |    32 +
 node_modules/log4js/LICENSE                     |    13 +
 node_modules/log4js/README.md                   |   102 +
 .../log4js/lib/appenders/categoryFilter.js      |    17 +
 node_modules/log4js/lib/appenders/console.js    |    19 +
 node_modules/log4js/lib/appenders/dateFile.js   |    62 +
 node_modules/log4js/lib/appenders/file.js       |    95 +
 node_modules/log4js/lib/appenders/fileSync.js   |   209 +
 node_modules/log4js/lib/appenders/gelf.js       |   145 +
 node_modules/log4js/lib/appenders/hipchat.js    |    85 +
 .../log4js/lib/appenders/logFaces-HTTP.js       |    88 +
 .../log4js/lib/appenders/logFaces-UDP.js        |    91 +
 .../log4js/lib/appenders/logLevelFilter.js      |    19 +
 node_modules/log4js/lib/appenders/loggly.js     |   120 +
 .../log4js/lib/appenders/logstashHTTP.js        |    91 +
 .../log4js/lib/appenders/logstashUDP.js         |   110 +
 node_modules/log4js/lib/appenders/mailgun.js    |    35 +
 node_modules/log4js/lib/appenders/multiFile.js  |    47 +
 .../log4js/lib/appenders/multiprocess.js        |   188 +
 node_modules/log4js/lib/appenders/rabbitmq.js   |    61 +
 node_modules/log4js/lib/appenders/recording.js  |    28 +
 node_modules/log4js/lib/appenders/redis.js      |    44 +
 node_modules/log4js/lib/appenders/slack.js      |    39 +
 node_modules/log4js/lib/appenders/smtp.js       |   140 +
 node_modules/log4js/lib/appenders/stderr.js     |    17 +
 node_modules/log4js/lib/appenders/stdout.js     |    17 +
 node_modules/log4js/lib/configuration.js        |   217 +
 node_modules/log4js/lib/connect-logger.js       |   271 +
 node_modules/log4js/lib/layouts.js              |   373 +
 node_modules/log4js/lib/levels.js               |    87 +
 node_modules/log4js/lib/log4js.js               |   292 +
 node_modules/log4js/lib/logger.js               |   138 +
 .../log4js/node_modules/nodemailer/.npmignore   |     9 +
 .../log4js/node_modules/nodemailer/CHANGELOG.md |   437 +
 .../log4js/node_modules/nodemailer/LICENSE      |    16 +
 .../log4js/node_modules/nodemailer/README.md    |    15 +
 .../nodemailer/lib/addressparser/index.js       |   294 +
 .../node_modules/nodemailer/lib/base64/index.js |   133 +
 .../node_modules/nodemailer/lib/dkim/index.js   |   248 +
 .../nodemailer/lib/dkim/message-parser.js       |   153 +
 .../nodemailer/lib/dkim/relaxed-body.js         |   152 +
 .../node_modules/nodemailer/lib/dkim/sign.js    |   105 +
 .../nodemailer/lib/fetch/cookies.js             |   276 +
 .../node_modules/nodemailer/lib/fetch/index.js  |   249 +
 .../nodemailer/lib/json-transport/index.js      |   110 +
 .../nodemailer/lib/mail-composer/index.js       |   520 +
 .../node_modules/nodemailer/lib/mailer/index.js |   371 +
 .../nodemailer/lib/mailer/mail-message.js       |   206 +
 .../nodemailer/lib/mime-funcs/index.js          |   608 +
 .../nodemailer/lib/mime-funcs/mime-types.js     |  2359 ++
 .../nodemailer/lib/mime-node/index.js           |  1200 +
 .../nodemailer/lib/mime-node/last-newline.js    |    33 +
 .../node_modules/nodemailer/lib/nodemailer.js   |    49 +
 .../node_modules/nodemailer/lib/qp/index.js     |   221 +
 .../nodemailer/lib/sendmail-transport/index.js  |   180 +
 .../lib/sendmail-transport/le-unix.js           |    43 +
 .../lib/sendmail-transport/le-windows.js        |    55 +
 .../nodemailer/lib/ses-transport/index.js       |   285 +
 .../node_modules/nodemailer/lib/shared/index.js |   381 +
 .../lib/smtp-connection/data-stream.js          |   113 +
 .../lib/smtp-connection/http-proxy-client.js    |   126 +
 .../nodemailer/lib/smtp-connection/index.js     |  1456 +
 .../nodemailer/lib/smtp-pool/index.js           |   536 +
 .../nodemailer/lib/smtp-pool/pool-resource.js   |   230 +
 .../nodemailer/lib/smtp-transport/index.js      |   372 +
 .../nodemailer/lib/stream-transport/index.js    |   120 +
 .../nodemailer/lib/well-known/index.js          |    47 +
 .../nodemailer/lib/well-known/services.json     |   280 +
 .../nodemailer/lib/xoauth2/index.js             |   306 +
 .../log4js/node_modules/nodemailer/package.json |    74 +
 node_modules/log4js/package.json                |   147 +
 node_modules/log4js/types/log4js.d.ts           |   452 +
 node_modules/log4js/types/test.ts               |   110 +
 node_modules/loggly/.npmignore                  |     3 +
 node_modules/loggly/.travis.yml                 |    23 +
 node_modules/loggly/LICENSE                     |    23 +
 node_modules/loggly/README.md                   |   187 +
 node_modules/loggly/lib/loggly.js               |    22 +
 node_modules/loggly/lib/loggly/client.js        |   249 +
 node_modules/loggly/lib/loggly/common.js        |   210 +
 node_modules/loggly/lib/loggly/search.js        |   161 +
 .../loggly/node_modules/.bin/har-validator      |     1 +
 node_modules/loggly/node_modules/.bin/uuid      |     1 +
 .../loggly/node_modules/assert-plus/AUTHORS     |     6 +
 .../loggly/node_modules/assert-plus/CHANGES.md  |     8 +
 .../loggly/node_modules/assert-plus/README.md   |   155 +
 .../loggly/node_modules/assert-plus/assert.js   |   206 +
 .../node_modules/assert-plus/package.json       |    87 +
 .../loggly/node_modules/aws-sign2/LICENSE       |    55 +
 .../loggly/node_modules/aws-sign2/README.md     |     4 +
 .../loggly/node_modules/aws-sign2/index.js      |   212 +
 .../loggly/node_modules/aws-sign2/package.json  |    55 +
 node_modules/loggly/node_modules/bl/.jshintrc   |    59 +
 node_modules/loggly/node_modules/bl/.npmignore  |     1 +
 node_modules/loggly/node_modules/bl/.travis.yml |    13 +
 node_modules/loggly/node_modules/bl/LICENSE.md  |    13 +
 node_modules/loggly/node_modules/bl/README.md   |   200 +
 node_modules/loggly/node_modules/bl/bl.js       |   243 +
 .../loggly/node_modules/bl/package.json         |    67 +
 .../loggly/node_modules/boom/.npmignore         |    18 +
 .../loggly/node_modules/boom/.travis.yml        |     8 +
 .../loggly/node_modules/boom/CONTRIBUTING.md    |     1 +
 node_modules/loggly/node_modules/boom/LICENSE   |    28 +
 node_modules/loggly/node_modules/boom/README.md |   652 +
 .../loggly/node_modules/boom/images/boom.png    |   Bin 0 -> 29479 bytes
 .../loggly/node_modules/boom/lib/index.js       |   318 +
 .../boom/node_modules/hoek/.npmignore           |     3 +
 .../node_modules/boom/node_modules/hoek/LICENSE |    32 +
 .../boom/node_modules/hoek/README.md            |    30 +
 .../boom/node_modules/hoek/lib/escape.js        |   168 +
 .../boom/node_modules/hoek/lib/index.js         |   961 +
 .../boom/node_modules/hoek/package.json         |    59 +
 .../loggly/node_modules/boom/package.json       |    63 +
 .../loggly/node_modules/caseless/LICENSE        |    28 +
 .../loggly/node_modules/caseless/README.md      |    45 +
 .../loggly/node_modules/caseless/index.js       |    66 +
 .../loggly/node_modules/caseless/package.json   |    61 +
 .../loggly/node_modules/caseless/test.js        |    40 +
 .../loggly/node_modules/cryptiles/.npmignore    |    18 +
 .../loggly/node_modules/cryptiles/.travis.yml   |     8 +
 .../loggly/node_modules/cryptiles/LICENSE       |    28 +
 .../loggly/node_modules/cryptiles/README.md     |    16 +
 .../loggly/node_modules/cryptiles/lib/index.js  |    68 +
 .../loggly/node_modules/cryptiles/package.json  |    64 +
 .../loggly/node_modules/form-data/License       |    19 +
 .../loggly/node_modules/form-data/README.md     |   217 +
 .../node_modules/form-data/lib/browser.js       |     2 +
 .../node_modules/form-data/lib/form_data.js     |   427 +
 .../node_modules/form-data/lib/populate.js      |    10 +
 .../loggly/node_modules/form-data/package.json  |    95 +
 .../loggly/node_modules/har-validator/LICENSE   |    13 +
 .../loggly/node_modules/har-validator/README.md |   309 +
 .../har-validator/bin/har-validator             |    56 +
 .../node_modules/har-validator/lib/async.js     |    14 +
 .../node_modules/har-validator/lib/error.js     |    10 +
 .../node_modules/har-validator/lib/index.js     |    22 +
 .../node_modules/har-validator/lib/runner.js    |    29 +
 .../har-validator/lib/schemas/cache.json        |    13 +
 .../har-validator/lib/schemas/cacheEntry.json   |    31 +
 .../har-validator/lib/schemas/content.json      |    27 +
 .../har-validator/lib/schemas/cookie.json       |    34 +
 .../har-validator/lib/schemas/creator.json      |    18 +
 .../har-validator/lib/schemas/entry.json        |    51 +
 .../har-validator/lib/schemas/har.json          |    11 +
 .../har-validator/lib/schemas/index.js          |    49 +
 .../har-validator/lib/schemas/log.json          |    34 +
 .../har-validator/lib/schemas/page.json         |    30 +
 .../har-validator/lib/schemas/pageTimings.json  |    16 +
 .../har-validator/lib/schemas/postData.json     |    41 +
 .../har-validator/lib/schemas/record.json       |    18 +
 .../har-validator/lib/schemas/request.json      |    55 +
 .../har-validator/lib/schemas/response.json     |    52 +
 .../har-validator/lib/schemas/timings.json      |    40 +
 .../node_modules/har-validator/package.json     |    94 +
 .../loggly/node_modules/hawk/.npmignore         |    20 +
 .../loggly/node_modules/hawk/.travis.yml        |     5 +
 node_modules/loggly/node_modules/hawk/LICENSE   |    28 +
 node_modules/loggly/node_modules/hawk/README.md |   634 +
 .../loggly/node_modules/hawk/bower.json         |    24 +
 .../loggly/node_modules/hawk/component.json     |    19 +
 .../loggly/node_modules/hawk/dist/client.js     |   343 +
 .../loggly/node_modules/hawk/example/usage.js   |    78 +
 .../loggly/node_modules/hawk/images/hawk.png    |   Bin 0 -> 6945 bytes
 .../loggly/node_modules/hawk/images/logo.png    |   Bin 0 -> 71732 bytes
 .../loggly/node_modules/hawk/lib/browser.js     |   637 +
 .../loggly/node_modules/hawk/lib/client.js      |   369 +
 .../loggly/node_modules/hawk/lib/crypto.js      |   126 +
 .../loggly/node_modules/hawk/lib/index.js       |    15 +
 .../loggly/node_modules/hawk/lib/server.js      |   548 +
 .../loggly/node_modules/hawk/lib/utils.js       |   184 +
 .../hawk/node_modules/hoek/.npmignore           |     3 +
 .../node_modules/hawk/node_modules/hoek/LICENSE |    32 +
 .../hawk/node_modules/hoek/README.md            |    30 +
 .../hawk/node_modules/hoek/lib/escape.js        |   168 +
 .../hawk/node_modules/hoek/lib/index.js         |   961 +
 .../hawk/node_modules/hoek/package.json         |    60 +
 .../loggly/node_modules/hawk/package.json       |    75 +
 .../loggly/node_modules/hoek/.npmignore         |     3 +
 node_modules/loggly/node_modules/hoek/LICENSE   |    32 +
 node_modules/loggly/node_modules/hoek/README.md |    30 +
 .../loggly/node_modules/hoek/lib/escape.js      |   168 +
 .../loggly/node_modules/hoek/lib/index.js       |   961 +
 .../loggly/node_modules/hoek/package.json       |    56 +
 .../node_modules/http-signature/.dir-locals.el  |     6 +
 .../node_modules/http-signature/.npmignore      |     7 +
 .../node_modules/http-signature/CHANGES.md      |    46 +
 .../loggly/node_modules/http-signature/LICENSE  |    18 +
 .../node_modules/http-signature/README.md       |    79 +
 .../node_modules/http-signature/http_signing.md |   363 +
 .../node_modules/http-signature/lib/index.js    |    29 +
 .../node_modules/http-signature/lib/parser.js   |   318 +
 .../node_modules/http-signature/lib/signer.js   |   399 +
 .../node_modules/http-signature/lib/utils.js    |   112 +
 .../node_modules/http-signature/lib/verify.js   |    88 +
 .../node_modules/http-signature/package.json    |    82 +
 .../loggly/node_modules/node-uuid/.npmignore    |     4 +
 .../loggly/node_modules/node-uuid/LICENSE.md    |    21 +
 .../loggly/node_modules/node-uuid/README.md     |     8 +
 .../node_modules/node-uuid/benchmark/README.md  |    53 +
 .../node_modules/node-uuid/benchmark/bench.gnu  |   174 +
 .../node_modules/node-uuid/benchmark/bench.sh   |    34 +
 .../node-uuid/benchmark/benchmark-native.c      |    34 +
 .../node-uuid/benchmark/benchmark.js            |    84 +
 .../loggly/node_modules/node-uuid/bin/uuid      |    26 +
 .../loggly/node_modules/node-uuid/bower.json    |    23 +
 .../node_modules/node-uuid/component.json       |    25 +
 .../node_modules/node-uuid/lib/sha1-browser.js  |   120 +
 .../loggly/node_modules/node-uuid/package.json  |    91 +
 .../loggly/node_modules/node-uuid/uuid.js       |   272 +
 .../loggly/node_modules/node-uuid/v3.js         |    54 +
 .../process-nextick-args/.travis.yml            |    12 +
 .../node_modules/process-nextick-args/index.js  |    43 +
 .../process-nextick-args/license.md             |    19 +
 .../process-nextick-args/package.json           |    52 +
 .../node_modules/process-nextick-args/readme.md |    18 +
 .../node_modules/process-nextick-args/test.js   |    24 +
 .../loggly/node_modules/qs/.eslintignore        |     1 +
 node_modules/loggly/node_modules/qs/.eslintrc   |    19 +
 .../loggly/node_modules/qs/CHANGELOG.md         |   139 +
 .../loggly/node_modules/qs/CONTRIBUTING.md      |     1 +
 node_modules/loggly/node_modules/qs/LICENSE     |    28 +
 node_modules/loggly/node_modules/qs/README.md   |   376 +
 node_modules/loggly/node_modules/qs/dist/qs.js  |   491 +
 .../loggly/node_modules/qs/lib/index.js         |     9 +
 .../loggly/node_modules/qs/lib/parse.js         |   167 +
 .../loggly/node_modules/qs/lib/stringify.js     |   137 +
 .../loggly/node_modules/qs/lib/utils.js         |   168 +
 .../loggly/node_modules/qs/package.json         |    82 +
 .../node_modules/readable-stream/.npmignore     |     5 +
 .../node_modules/readable-stream/.travis.yml    |    52 +
 .../node_modules/readable-stream/.zuul.yml      |     1 +
 .../loggly/node_modules/readable-stream/LICENSE |    18 +
 .../node_modules/readable-stream/README.md      |    36 +
 .../readable-stream/doc/stream.markdown         |  1760 +
 .../doc/wg-meetings/2015-01-30.md               |    60 +
 .../node_modules/readable-stream/duplex.js      |     1 +
 .../readable-stream/lib/_stream_duplex.js       |    75 +
 .../readable-stream/lib/_stream_passthrough.js  |    26 +
 .../readable-stream/lib/_stream_readable.js     |   880 +
 .../readable-stream/lib/_stream_transform.js    |   180 +
 .../readable-stream/lib/_stream_writable.js     |   516 +
 .../node_modules/readable-stream/package.json   |    71 +
 .../node_modules/readable-stream/passthrough.js |     1 +
 .../node_modules/readable-stream/readable.js    |    12 +
 .../node_modules/readable-stream/transform.js   |     1 +
 .../node_modules/readable-stream/writable.js    |     1 +
 .../loggly/node_modules/request/.eslintrc       |    45 +
 .../loggly/node_modules/request/.npmignore      |     6 +
 .../loggly/node_modules/request/.travis.yml     |    21 +
 .../loggly/node_modules/request/CHANGELOG.md    |   641 +
 .../loggly/node_modules/request/CONTRIBUTING.md |    81 +
 .../loggly/node_modules/request/LICENSE         |    55 +
 .../loggly/node_modules/request/README.md       |  1097 +
 .../loggly/node_modules/request/codecov.yml     |     2 +
 .../loggly/node_modules/request/index.js        |   157 +
 .../loggly/node_modules/request/lib/auth.js     |   168 +
 .../loggly/node_modules/request/lib/cookies.js  |    39 +
 .../node_modules/request/lib/getProxyFromURI.js |    79 +
 .../loggly/node_modules/request/lib/har.js      |   215 +
 .../loggly/node_modules/request/lib/helpers.js  |    74 +
 .../node_modules/request/lib/multipart.js       |   112 +
 .../loggly/node_modules/request/lib/oauth.js    |   147 +
 .../node_modules/request/lib/querystring.js     |    51 +
 .../loggly/node_modules/request/lib/redirect.js |   153 +
 .../loggly/node_modules/request/lib/tunnel.js   |   176 +
 .../loggly/node_modules/request/package.json    |   117 +
 .../loggly/node_modules/request/request.js      |  1438 +
 .../loggly/node_modules/sntp/.npmignore         |    18 +
 .../loggly/node_modules/sntp/.travis.yml        |     5 +
 node_modules/loggly/node_modules/sntp/LICENSE   |    28 +
 node_modules/loggly/node_modules/sntp/Makefile  |     9 +
 node_modules/loggly/node_modules/sntp/README.md |    68 +
 .../loggly/node_modules/sntp/examples/offset.js |    16 +
 .../loggly/node_modules/sntp/examples/time.js   |    25 +
 node_modules/loggly/node_modules/sntp/index.js  |     1 +
 .../loggly/node_modules/sntp/lib/index.js       |   412 +
 .../sntp/node_modules/hoek/.npmignore           |     3 +
 .../node_modules/sntp/node_modules/hoek/LICENSE |    32 +
 .../sntp/node_modules/hoek/README.md            |    30 +
 .../sntp/node_modules/hoek/lib/escape.js        |   168 +
 .../sntp/node_modules/hoek/lib/index.js         |   961 +
 .../sntp/node_modules/hoek/package.json         |    60 +
 .../loggly/node_modules/sntp/package.json       |    73 +
 .../node_modules/string_decoder/.npmignore      |     2 +
 .../loggly/node_modules/string_decoder/LICENSE  |    20 +
 .../node_modules/string_decoder/README.md       |     7 +
 .../loggly/node_modules/string_decoder/index.js |   221 +
 .../node_modules/string_decoder/package.json    |    58 +
 .../loggly/node_modules/tunnel-agent/LICENSE    |    55 +
 .../loggly/node_modules/tunnel-agent/README.md  |     4 +
 .../loggly/node_modules/tunnel-agent/index.js   |   243 +
 .../node_modules/tunnel-agent/package.json      |    58 +
 node_modules/loggly/package.json                |    94 +
 node_modules/longest/LICENSE                    |    21 +
 node_modules/longest/README.md                  |    65 +
 node_modules/longest/index.js                   |    37 +
 node_modules/longest/package.json               |    72 +
 node_modules/loud-rejection/api.js              |    11 +
 node_modules/loud-rejection/index.js            |    36 +
 node_modules/loud-rejection/license             |    21 +
 node_modules/loud-rejection/package.json        |    95 +
 node_modules/loud-rejection/readme.md           |    68 +
 node_modules/loud-rejection/register.js         |     2 +
 node_modules/lru-cache/LICENSE                  |    15 +
 node_modules/lru-cache/README.md                |   158 +
 node_modules/lru-cache/index.js                 |   467 +
 node_modules/lru-cache/package.json             |    72 +
 node_modules/mailgun-js/ISSUE_TEMPLATE.md       |     9 +
 node_modules/mailgun-js/LICENSE.txt             |    22 +
 node_modules/mailgun-js/README.md               |   394 +
 node_modules/mailgun-js/book.json               |    15 +
 node_modules/mailgun-js/lib/attachment.js       |    44 +
 node_modules/mailgun-js/lib/build.js            |   127 +
 node_modules/mailgun-js/lib/mailgun.js          |   145 +
 node_modules/mailgun-js/lib/request.js          |   364 +
 node_modules/mailgun-js/lib/schema.js           |   643 +
 .../mailgun-js/node_modules/async/CHANGELOG.md  |   230 +
 .../mailgun-js/node_modules/async/LICENSE       |    19 +
 .../mailgun-js/node_modules/async/README.md     |    14 +
 .../mailgun-js/node_modules/async/apply.js      |    62 +
 .../mailgun-js/node_modules/async/applyEach.js  |    51 +
 .../node_modules/async/applyEachSeries.js       |    37 +
 .../mailgun-js/node_modules/async/asyncify.js   |    93 +
 .../mailgun-js/node_modules/async/auto.js       |   285 +
 .../mailgun-js/node_modules/async/autoInject.js |   163 +
 .../mailgun-js/node_modules/async/bower.json    |    17 +
 .../mailgun-js/node_modules/async/cargo.js      |    95 +
 .../mailgun-js/node_modules/async/compose.js    |    55 +
 .../mailgun-js/node_modules/async/concat.js     |    45 +
 .../node_modules/async/concatSeries.js          |    37 +
 .../mailgun-js/node_modules/async/constant.js   |    65 +
 .../mailgun-js/node_modules/async/detect.js     |    61 +
 .../node_modules/async/detectLimit.js           |    48 +
 .../node_modules/async/detectSeries.js          |    38 +
 .../mailgun-js/node_modules/async/dir.js        |    42 +
 .../mailgun-js/node_modules/async/dist/async.js |  5289 +++
 .../node_modules/async/dist/async.min.js        |     2 +
 .../mailgun-js/node_modules/async/doDuring.js   |    60 +
 .../mailgun-js/node_modules/async/doUntil.js    |    39 +
 .../mailgun-js/node_modules/async/doWhilst.js   |    54 +
 .../mailgun-js/node_modules/async/during.js     |    71 +
 .../mailgun-js/node_modules/async/each.js       |    80 +
 .../mailgun-js/node_modules/async/eachLimit.js  |    42 +
 .../mailgun-js/node_modules/async/eachOf.js     |   109 +
 .../node_modules/async/eachOfLimit.js           |    39 +
 .../node_modules/async/eachOfSeries.js          |    37 +
 .../mailgun-js/node_modules/async/eachSeries.js |    38 +
 .../node_modules/async/ensureAsync.js           |    69 +
 .../mailgun-js/node_modules/async/every.js      |    50 +
 .../mailgun-js/node_modules/async/everyLimit.js |    42 +
 .../node_modules/async/everySeries.js           |    37 +
 .../mailgun-js/node_modules/async/filter.js     |    45 +
 .../node_modules/async/filterLimit.js           |    37 +
 .../node_modules/async/filterSeries.js          |    35 +
 .../mailgun-js/node_modules/async/forever.js    |    61 +
 .../mailgun-js/node_modules/async/index.js      |   505 +
 .../async/internal/DoublyLinkedList.js          |    63 +
 .../node_modules/async/internal/applyEach.js    |    33 +
 .../node_modules/async/internal/breakLoop.js    |     9 +
 .../node_modules/async/internal/concat.js       |    18 +
 .../node_modules/async/internal/consoleFunc.js  |    35 +
 .../node_modules/async/internal/createTester.js |    44 +
 .../node_modules/async/internal/doLimit.js      |    12 +
 .../node_modules/async/internal/doParallel.js   |    19 +
 .../async/internal/doParallelLimit.js           |    19 +
 .../node_modules/async/internal/doSeries.js     |    19 +
 .../node_modules/async/internal/eachOfLimit.js  |    71 +
 .../node_modules/async/internal/filter.js       |    71 +
 .../async/internal/findGetResult.js             |    10 +
 .../node_modules/async/internal/getIterator.js  |    13 +
 .../async/internal/initialParams.js             |    20 +
 .../node_modules/async/internal/iterator.js     |    58 +
 .../node_modules/async/internal/map.js          |    30 +
 .../node_modules/async/internal/notId.js        |    10 +
 .../node_modules/async/internal/once.js         |    15 +
 .../node_modules/async/internal/onlyOnce.js     |    15 +
 .../node_modules/async/internal/parallel.js     |    38 +
 .../node_modules/async/internal/queue.js        |   187 +
 .../node_modules/async/internal/reject.js       |    21 +
 .../node_modules/async/internal/rest.js         |    23 +
 .../node_modules/async/internal/setImmediate.js |    41 +
 .../node_modules/async/internal/withoutIndex.js |    12 +
 .../mailgun-js/node_modules/async/log.js        |    41 +
 .../mailgun-js/node_modules/async/map.js        |    54 +
 .../mailgun-js/node_modules/async/mapLimit.js   |    37 +
 .../mailgun-js/node_modules/async/mapSeries.js  |    36 +
 .../mailgun-js/node_modules/async/mapValues.js  |    63 +
 .../node_modules/async/mapValuesLimit.js        |    56 +
 .../node_modules/async/mapValuesSeries.js       |    37 +
 .../mailgun-js/node_modules/async/memoize.js    |    95 +
 .../mailgun-js/node_modules/async/nextTick.js   |    51 +
 .../mailgun-js/node_modules/async/package.json  |   114 +
 .../mailgun-js/node_modules/async/parallel.js   |    87 +
 .../node_modules/async/parallelLimit.js         |    41 +
 .../node_modules/async/priorityQueue.js         |    99 +
 .../mailgun-js/node_modules/async/queue.js      |   120 +
 .../mailgun-js/node_modules/async/race.js       |    67 +
 .../mailgun-js/node_modules/async/reduce.js     |    73 +
 .../node_modules/async/reduceRight.js           |    42 +
 .../mailgun-js/node_modules/async/reflect.js    |    80 +
 .../mailgun-js/node_modules/async/reflectAll.js |   104 +
 .../mailgun-js/node_modules/async/reject.js     |    44 +
 .../node_modules/async/rejectLimit.js           |    36 +
 .../node_modules/async/rejectSeries.js          |    34 +
 .../mailgun-js/node_modules/async/retry.js      |   152 +
 .../mailgun-js/node_modules/async/retryable.js  |    56 +
 .../mailgun-js/node_modules/async/seq.js        |    79 +
 .../mailgun-js/node_modules/async/series.js     |    85 +
 .../node_modules/async/setImmediate.js          |    45 +
 .../mailgun-js/node_modules/async/some.js       |    52 +
 .../mailgun-js/node_modules/async/someLimit.js  |    43 +
 .../mailgun-js/node_modules/async/someSeries.js |    38 +
 .../mailgun-js/node_modules/async/sortBy.js     |    85 +
 .../mailgun-js/node_modules/async/timeout.js    |    85 +
 .../mailgun-js/node_modules/async/times.js      |    50 +
 .../mailgun-js/node_modules/async/timesLimit.js |    37 +
 .../node_modules/async/timesSeries.js           |    32 +
 .../mailgun-js/node_modules/async/transform.js  |    85 +
 .../mailgun-js/node_modules/async/unmemoize.js  |    25 +
 .../mailgun-js/node_modules/async/until.js      |    42 +
 .../mailgun-js/node_modules/async/waterfall.js  |   114 +
 .../mailgun-js/node_modules/async/whilst.js     |    67 +
 .../mailgun-js/node_modules/debug/.jshintrc     |     3 +
 .../mailgun-js/node_modules/debug/.npmignore    |     6 +
 .../mailgun-js/node_modules/debug/History.md    |   195 +
 .../mailgun-js/node_modules/debug/Makefile      |    36 +
 .../mailgun-js/node_modules/debug/Readme.md     |   188 +
 .../mailgun-js/node_modules/debug/bower.json    |    28 +
 .../mailgun-js/node_modules/debug/browser.js    |   168 +
 .../node_modules/debug/component.json           |    19 +
 .../mailgun-js/node_modules/debug/debug.js      |   197 +
 .../mailgun-js/node_modules/debug/node.js       |   209 +
 .../mailgun-js/node_modules/debug/package.json  |    75 +
 .../mailgun-js/node_modules/form-data/License   |    19 +
 .../mailgun-js/node_modules/form-data/README.md |   217 +
 .../node_modules/form-data/lib/browser.js       |     2 +
 .../node_modules/form-data/lib/form_data.js     |   444 +
 .../node_modules/form-data/lib/populate.js      |    10 +
 .../node_modules/form-data/package.json         |   103 +
 .../mailgun-js/node_modules/ms/.npmignore       |     5 +
 .../mailgun-js/node_modules/ms/History.md       |    66 +
 node_modules/mailgun-js/node_modules/ms/LICENSE |    20 +
 .../mailgun-js/node_modules/ms/README.md        |    35 +
 .../mailgun-js/node_modules/ms/index.js         |   125 +
 .../mailgun-js/node_modules/ms/package.json     |    54 +
 node_modules/mailgun-js/package.json            |    87 +
 node_modules/map-obj/index.js                   |    13 +
 node_modules/map-obj/license                    |    21 +
 node_modules/map-obj/package.json               |    73 +
 node_modules/map-obj/readme.md                  |    29 +
 node_modules/media-typer/HISTORY.md             |    22 +
 node_modules/media-typer/LICENSE                |    22 +
 node_modules/media-typer/README.md              |    81 +
 node_modules/media-typer/index.js               |   270 +
 node_modules/media-typer/package.json           |    65 +
 node_modules/meow/index.js                      |    82 +
 node_modules/meow/license                       |    21 +
 node_modules/meow/package.json                  |    95 +
 node_modules/meow/readme.md                     |   159 +
 node_modules/micromatch/LICENSE                 |    21 +
 node_modules/micromatch/README.md               |   689 +
 node_modules/micromatch/index.js                |   431 +
 node_modules/micromatch/lib/chars.js            |    67 +
 node_modules/micromatch/lib/expand.js           |   304 +
 node_modules/micromatch/lib/glob.js             |   193 +
 node_modules/micromatch/lib/utils.js            |   149 +
 node_modules/micromatch/package.json            |   149 +
 node_modules/mime-db/HISTORY.md                 |   368 +
 node_modules/mime-db/LICENSE                    |    22 +
 node_modules/mime-db/README.md                  |    94 +
 node_modules/mime-db/db.json                    |  7088 ++++
 node_modules/mime-db/index.js                   |    11 +
 node_modules/mime-db/package.json               |   104 +
 node_modules/mime-types/HISTORY.md              |   260 +
 node_modules/mime-types/LICENSE                 |    23 +
 node_modules/mime-types/README.md               |   108 +
 node_modules/mime-types/index.js                |   188 +
 node_modules/mime-types/package.json            |    98 +
 node_modules/mime/.npmignore                    |     0
 node_modules/mime/CHANGELOG.md                  |   164 +
 node_modules/mime/LICENSE                       |    21 +
 node_modules/mime/README.md                     |    90 +
 node_modules/mime/cli.js                        |     8 +
 node_modules/mime/mime.js                       |   108 +
 node_modules/mime/package.json                  |    78 +
 node_modules/mime/types.json                    |     1 +
 node_modules/mimic-response/index.js            |    33 +
 node_modules/mimic-response/license             |     9 +
 node_modules/mimic-response/package.json        |    74 +
 node_modules/mimic-response/readme.md           |    54 +
 node_modules/minimatch/LICENSE                  |    15 +
 node_modules/minimatch/README.md                |   209 +
 node_modules/minimatch/minimatch.js             |   923 +
 node_modules/minimatch/package.json             |    79 +
 node_modules/minimist/.travis.yml               |     8 +
 node_modules/minimist/LICENSE                   |    18 +
 node_modules/minimist/example/parse.js          |     2 +
 node_modules/minimist/index.js                  |   236 +
 node_modules/minimist/package.json              |    82 +
 node_modules/minimist/readme.markdown           |    91 +
 node_modules/mkdirp/.travis.yml                 |     8 +
 node_modules/mkdirp/LICENSE                     |    21 +
 node_modules/mkdirp/bin/cmd.js                  |    33 +
 node_modules/mkdirp/bin/usage.txt               |    12 +
 node_modules/mkdirp/examples/pow.js             |     6 +
 node_modules/mkdirp/index.js                    |    98 +
 .../mkdirp/node_modules/minimist/.travis.yml    |     4 +
 .../mkdirp/node_modules/minimist/LICENSE        |    18 +
 .../node_modules/minimist/example/parse.js      |     2 +
 .../mkdirp/node_modules/minimist/index.js       |   187 +
 .../mkdirp/node_modules/minimist/package.json   |    75 +
 .../node_modules/minimist/readme.markdown       |    73 +
 node_modules/mkdirp/package.json                |    73 +
 node_modules/mkdirp/readme.markdown             |   100 +
 node_modules/ms/index.js                        |   152 +
 node_modules/ms/license.md                      |    21 +
 node_modules/ms/package.json                    |    85 +
 node_modules/ms/readme.md                       |    51 +
 node_modules/multimatch/index.js                |    27 +
 node_modules/multimatch/license                 |    21 +
 node_modules/multimatch/package.json            |    86 +
 node_modules/multimatch/readme.md               |    62 +
 node_modules/nan/CHANGELOG.md                   |   492 +
 node_modules/nan/LICENSE.md                     |    13 +
 node_modules/nan/README.md                      |   456 +
 node_modules/nan/doc/asyncworker.md             |   146 +
 node_modules/nan/doc/buffers.md                 |    54 +
 node_modules/nan/doc/callback.md                |    76 +
 node_modules/nan/doc/converters.md              |    41 +
 node_modules/nan/doc/errors.md                  |   226 +
 node_modules/nan/doc/json.md                    |    62 +
 node_modules/nan/doc/maybe_types.md             |   583 +
 node_modules/nan/doc/methods.md                 |   659 +
 node_modules/nan/doc/new.md                     |   147 +
 node_modules/nan/doc/node_misc.md               |   123 +
 node_modules/nan/doc/object_wrappers.md         |   263 +
 node_modules/nan/doc/persistent.md              |   295 +
 node_modules/nan/doc/scopes.md                  |    73 +
 node_modules/nan/doc/script.md                  |    38 +
 node_modules/nan/doc/string_bytes.md            |    62 +
 node_modules/nan/doc/v8_internals.md            |   199 +
 node_modules/nan/doc/v8_misc.md                 |    85 +
 node_modules/nan/include_dirs.js                |     1 +
 node_modules/nan/nan.h                          |  2761 ++
 node_modules/nan/nan_callbacks.h                |    88 +
 node_modules/nan/nan_callbacks_12_inl.h         |   512 +
 node_modules/nan/nan_callbacks_pre_12_inl.h     |   520 +
 node_modules/nan/nan_converters.h               |    72 +
 node_modules/nan/nan_converters_43_inl.h        |    48 +
 node_modules/nan/nan_converters_pre_43_inl.h    |    42 +
 .../nan/nan_define_own_property_helper.h        |    29 +
 node_modules/nan/nan_implementation_12_inl.h    |   399 +
 .../nan/nan_implementation_pre_12_inl.h         |   263 +
 node_modules/nan/nan_json.h                     |   166 +
 node_modules/nan/nan_maybe_43_inl.h             |   369 +
 node_modules/nan/nan_maybe_pre_43_inl.h         |   316 +
 node_modules/nan/nan_new.h                      |   340 +
 node_modules/nan/nan_object_wrap.h              |   155 +
 node_modules/nan/nan_persistent_12_inl.h        |   132 +
 node_modules/nan/nan_persistent_pre_12_inl.h    |   242 +
 node_modules/nan/nan_private.h                  |    73 +
 node_modules/nan/nan_string_bytes.h             |   305 +
 node_modules/nan/nan_typedarray_contents.h      |    90 +
 node_modules/nan/nan_weak.h                     |   432 +
 node_modules/nan/package.json                   |   103 +
 node_modules/nan/tools/1to2.js                  |   412 +
 node_modules/nan/tools/README.md                |    14 +
 node_modules/nan/tools/package.json             |    19 +
 node_modules/negotiator/HISTORY.md              |    98 +
 node_modules/negotiator/LICENSE                 |    24 +
 node_modules/negotiator/README.md               |   203 +
 node_modules/negotiator/index.js                |   124 +
 node_modules/negotiator/lib/charset.js          |   169 +
 node_modules/negotiator/lib/encoding.js         |   184 +
 node_modules/negotiator/lib/language.js         |   179 +
 node_modules/negotiator/lib/mediaType.js        |   294 +
 node_modules/negotiator/package.json            |    85 +
 node_modules/netmask/.npmignore                 |     1 +
 node_modules/netmask/README.md                  |    79 +
 node_modules/netmask/example/ipcalc.coffee      |    17 +
 node_modules/netmask/lib/netmask.coffee         |    97 +
 node_modules/netmask/lib/netmask.js             |   146 +
 node_modules/netmask/package.json               |    70 +
 node_modules/netmask/tests/netmask.js           |    24 +
 node_modules/node-abi/.travis.yml               |    24 +
 node_modules/node-abi/CODE_OF_CONDUCT.md        |    73 +
 node_modules/node-abi/CONTRIBUTING.md           |    53 +
 node_modules/node-abi/LICENSE                   |    21 +
 node_modules/node-abi/README.md                 |    50 +
 node_modules/node-abi/index.js                  |   110 +
 node_modules/node-abi/package.json              |    69 +
 node_modules/node-gyp/.jshintrc                 |     7 +
 node_modules/node-gyp/.npmignore                |     3 +
 node_modules/node-gyp/CHANGELOG.md              |   176 +
 node_modules/node-gyp/LICENSE                   |    24 +
 node_modules/node-gyp/README.md                 |   242 +
 node_modules/node-gyp/addon.gypi                |   133 +
 node_modules/node-gyp/bin/node-gyp.js           |   148 +
 node_modules/node-gyp/gyp/.npmignore            |     1 +
 node_modules/node-gyp/gyp/AUTHORS               |    12 +
 node_modules/node-gyp/gyp/DEPS                  |    24 +
 node_modules/node-gyp/gyp/LICENSE               |    27 +
 node_modules/node-gyp/gyp/OWNERS                |     1 +
 node_modules/node-gyp/gyp/PRESUBMIT.py          |   137 +
 .../node-gyp/gyp/buildbot/aosp_manifest.xml     |   466 +
 .../node-gyp/gyp/buildbot/buildbot_run.py       |   136 +
 .../node-gyp/gyp/buildbot/commit_queue/OWNERS   |     6 +
 .../node-gyp/gyp/buildbot/commit_queue/README   |     3 +
 .../gyp/buildbot/commit_queue/cq_config.json    |    15 +
 node_modules/node-gyp/gyp/codereview.settings   |    10 +
 .../node-gyp/gyp/data/win/large-pdb-shim.cc     |    12 +
 node_modules/node-gyp/gyp/gyp                   |     8 +
 node_modules/node-gyp/gyp/gyp.bat               |     5 +
 node_modules/node-gyp/gyp/gyp_main.py           |    16 +
 node_modules/node-gyp/gyp/gyptest.py            |   274 +
 node_modules/node-gyp/gyp/pylib/gyp/MSVSNew.py  |   340 +
 .../node-gyp/gyp/pylib/gyp/MSVSProject.py       |   208 +
 .../node-gyp/gyp/pylib/gyp/MSVSSettings.py      |  1096 +
 .../node-gyp/gyp/pylib/gyp/MSVSSettings_test.py |  1483 +
 .../node-gyp/gyp/pylib/gyp/MSVSToolFile.py      |    58 +
 .../node-gyp/gyp/pylib/gyp/MSVSUserFile.py      |   147 +
 node_modules/node-gyp/gyp/pylib/gyp/MSVSUtil.py |   270 +
 .../node-gyp/gyp/pylib/gyp/MSVSVersion.py       |   443 +
 node_modules/node-gyp/gyp/pylib/gyp/__init__.py |   548 +
 node_modules/node-gyp/gyp/pylib/gyp/common.py   |   608 +
 .../node-gyp/gyp/pylib/gyp/common_test.py       |    72 +
 node_modules/node-gyp/gyp/pylib/gyp/easy_xml.py |   162 +
 .../node-gyp/gyp/pylib/gyp/easy_xml_test.py     |   103 +
 .../node-gyp/gyp/pylib/gyp/flock_tool.py        |    54 +
 .../gyp/pylib/gyp/generator/__init__.py         |     0
 .../gyp/pylib/gyp/generator/analyzer.py         |   741 +
 .../node-gyp/gyp/pylib/gyp/generator/android.py |  1095 +
 .../node-gyp/gyp/pylib/gyp/generator/cmake.py   |  1221 +
 .../pylib/gyp/generator/dump_dependency_json.py |    99 +
 .../node-gyp/gyp/pylib/gyp/generator/eclipse.py |   425 +
 .../node-gyp/gyp/pylib/gyp/generator/gypd.py    |    94 +
 .../node-gyp/gyp/pylib/gyp/generator/gypsh.py   |    56 +
 .../node-gyp/gyp/pylib/gyp/generator/make.py    |  2220 ++
 .../node-gyp/gyp/pylib/gyp/generator/msvs.py    |  3494 ++
 .../gyp/pylib/gyp/generator/msvs_test.py        |    37 +
 .../node-gyp/gyp/pylib/gyp/generator/ninja.py   |  2410 ++
 .../gyp/pylib/gyp/generator/ninja_test.py       |    47 +
 .../node-gyp/gyp/pylib/gyp/generator/xcode.py   |  1300 +
 .../gyp/pylib/gyp/generator/xcode_test.py       |    23 +
 node_modules/node-gyp/gyp/pylib/gyp/input.py    |  2897 ++
 .../node-gyp/gyp/pylib/gyp/input_test.py        |    90 +
 node_modules/node-gyp/gyp/pylib/gyp/mac_tool.py |   610 +
 .../node-gyp/gyp/pylib/gyp/msvs_emulation.py    |  1087 +
 .../node-gyp/gyp/pylib/gyp/ninja_syntax.py      |   160 +
 .../node-gyp/gyp/pylib/gyp/ordered_dict.py      |   289 +
 .../node-gyp/gyp/pylib/gyp/simple_copy.py       |    46 +
 node_modules/node-gyp/gyp/pylib/gyp/win_tool.py |   314 +
 .../node-gyp/gyp/pylib/gyp/xcode_emulation.py   |  1629 +
 .../node-gyp/gyp/pylib/gyp/xcode_ninja.py       |   270 +
 .../node-gyp/gyp/pylib/gyp/xcodeproj_file.py    |  2927 ++
 node_modules/node-gyp/gyp/pylib/gyp/xml_fix.py  |    69 +
 node_modules/node-gyp/gyp/samples/samples       |    81 +
 node_modules/node-gyp/gyp/samples/samples.bat   |     5 +
 node_modules/node-gyp/gyp/setup.py              |    19 +
 node_modules/node-gyp/gyp/tools/README          |    15 +
 node_modules/node-gyp/gyp/tools/Xcode/README    |     5 +
 .../tools/Xcode/Specifications/gyp.pbfilespec   |    27 +
 .../tools/Xcode/Specifications/gyp.xclangspec   |   226 +
 node_modules/node-gyp/gyp/tools/emacs/README    |    12 +
 .../node-gyp/gyp/tools/emacs/gyp-tests.el       |    63 +
 node_modules/node-gyp/gyp/tools/emacs/gyp.el    |   275 +
 .../node-gyp/gyp/tools/emacs/run-unit-tests.sh  |     7 +
 .../node-gyp/gyp/tools/emacs/testdata/media.gyp |  1105 +
 .../tools/emacs/testdata/media.gyp.fontified    |  1107 +
 node_modules/node-gyp/gyp/tools/graphviz.py     |   100 +
 node_modules/node-gyp/gyp/tools/pretty_gyp.py   |   155 +
 node_modules/node-gyp/gyp/tools/pretty_sln.py   |   169 +
 .../node-gyp/gyp/tools/pretty_vcproj.py         |   329 +
 node_modules/node-gyp/lib/Find-VS2017.cs        |   271 +
 node_modules/node-gyp/lib/build.js              |   266 +
 node_modules/node-gyp/lib/clean.js              |    22 +
 node_modules/node-gyp/lib/configure.js          |   523 +
 .../node-gyp/lib/find-node-directory.js         |    61 +
 node_modules/node-gyp/lib/find-vs2017.js        |    46 +
 node_modules/node-gyp/lib/install.js            |   469 +
 node_modules/node-gyp/lib/list.js               |    33 +
 node_modules/node-gyp/lib/node-gyp.js           |   216 +
 node_modules/node-gyp/lib/process-release.js    |   155 +
 node_modules/node-gyp/lib/rebuild.js            |    14 +
 node_modules/node-gyp/lib/remove.js             |    52 +
 node_modules/node-gyp/node_modules/.bin/semver  |     1 +
 .../node-gyp/node_modules/semver/LICENSE        |    15 +
 .../node-gyp/node_modules/semver/README.md      |   350 +
 .../node-gyp/node_modules/semver/bin/semver     |   133 +
 .../node-gyp/node_modules/semver/package.json   |    58 +
 .../node-gyp/node_modules/semver/range.bnf      |    16 +
 .../node-gyp/node_modules/semver/semver.js      |  1203 +
 node_modules/node-gyp/package.json              |    91 +
 node_modules/node-sass/CHANGELOG.md             |   204 +
 node_modules/node-sass/LICENSE                  |    20 +
 node_modules/node-sass/README.md                |   621 +
 node_modules/node-sass/bin/emcc                 |    12 +
 node_modules/node-sass/bin/node-sass            |   412 +
 node_modules/node-sass/binding.gyp              |    91 +
 node_modules/node-sass/lib/binding.js           |    20 +
 node_modules/node-sass/lib/errors.js            |    49 +
 node_modules/node-sass/lib/extensions.js        |   458 +
 node_modules/node-sass/lib/index.js             |   475 +
 node_modules/node-sass/lib/render.js            |   121 +
 node_modules/node-sass/lib/watcher.js           |    93 +
 .../node-sass/node_modules/.bin/har-validator   |     1 +
 .../node-sass/node_modules/assert-plus/AUTHORS  |     6 +
 .../node_modules/assert-plus/CHANGES.md         |     8 +
 .../node_modules/assert-plus/README.md          |   155 +
 .../node_modules/assert-plus/assert.js          |   206 +
 .../node_modules/assert-plus/package.json       |    86 +
 .../node-sass/node_modules/aws-sign2/LICENSE    |    55 +
 .../node-sass/node_modules/aws-sign2/README.md  |     4 +
 .../node-sass/node_modules/aws-sign2/index.js   |   212 +
 .../node_modules/aws-sign2/package.json         |    54 +
 .../node-sass/node_modules/boom/.npmignore      |    18 +
 .../node-sass/node_modules/boom/.travis.yml     |     8 +
 .../node-sass/node_modules/boom/CONTRIBUTING.md |     1 +
 .../node-sass/node_modules/boom/LICENSE         |    28 +
 .../node-sass/node_modules/boom/README.md       |   652 +
 .../node-sass/node_modules/boom/images/boom.png |   Bin 0 -> 29479 bytes
 .../node-sass/node_modules/boom/lib/index.js    |   318 +
 .../boom/node_modules/hoek/.npmignore           |     3 +
 .../node_modules/boom/node_modules/hoek/LICENSE |    32 +
 .../boom/node_modules/hoek/README.md            |    30 +
 .../boom/node_modules/hoek/lib/escape.js        |   168 +
 .../boom/node_modules/hoek/lib/index.js         |   961 +
 .../boom/node_modules/hoek/package.json         |    59 +
 .../node-sass/node_modules/boom/package.json    |    63 +
 .../node-sass/node_modules/caseless/LICENSE     |    28 +
 .../node-sass/node_modules/caseless/README.md   |    45 +
 .../node-sass/node_modules/caseless/index.js    |    66 +
 .../node_modules/caseless/package.json          |    60 +
 .../node-sass/node_modules/caseless/test.js     |    40 +
 .../node-sass/node_modules/cryptiles/.npmignore |    18 +
 .../node_modules/cryptiles/.travis.yml          |     8 +
 .../node-sass/node_modules/cryptiles/LICENSE    |    28 +
 .../node-sass/node_modules/cryptiles/README.md  |    16 +
 .../node_modules/cryptiles/lib/index.js         |    68 +
 .../node_modules/cryptiles/package.json         |    63 +
 .../node-sass/node_modules/form-data/License    |    19 +
 .../node-sass/node_modules/form-data/README.md  |   217 +
 .../node_modules/form-data/lib/browser.js       |     2 +
 .../node_modules/form-data/lib/form_data.js     |   444 +
 .../node_modules/form-data/lib/populate.js      |    10 +
 .../node_modules/form-data/package.json         |   102 +
 .../node_modules/har-validator/LICENSE          |    13 +
 .../node_modules/har-validator/README.md        |   309 +
 .../har-validator/bin/har-validator             |    56 +
 .../node_modules/har-validator/lib/async.js     |    14 +
 .../node_modules/har-validator/lib/error.js     |    10 +
 .../node_modules/har-validator/lib/index.js     |    22 +
 .../node_modules/har-validator/lib/runner.js    |    29 +
 .../har-validator/lib/schemas/cache.json        |    13 +
 .../har-validator/lib/schemas/cacheEntry.json   |    31 +
 .../har-validator/lib/schemas/content.json      |    27 +
 .../har-validator/lib/schemas/cookie.json       |    34 +
 .../har-validator/lib/schemas/creator.json      |    18 +
 .../har-validator/lib/schemas/entry.json        |    51 +
 .../har-validator/lib/schemas/har.json          |    11 +
 .../har-validator/lib/schemas/index.js          |    49 +
 .../har-validator/lib/schemas/log.json          |    34 +
 .../har-validator/lib/schemas/page.json         |    30 +
 .../har-validator/lib/schemas/pageTimings.json  |    16 +
 .../har-validator/lib/schemas/postData.json     |    41 +
 .../har-validator/lib/schemas/record.json       |    18 +
 .../har-validator/lib/schemas/request.json      |    55 +
 .../har-validator/lib/schemas/response.json     |    52 +
 .../har-validator/lib/schemas/timings.json      |    40 +
 .../node_modules/har-validator/package.json     |    93 +
 .../node-sass/node_modules/hawk/.npmignore      |    20 +
 .../node-sass/node_modules/hawk/.travis.yml     |     5 +
 .../node-sass/node_modules/hawk/LICENSE         |    28 +
 .../node-sass/node_modules/hawk/README.md       |   634 +
 .../node-sass/node_modules/hawk/bower.json      |    24 +
 .../node-sass/node_modules/hawk/component.json  |    19 +
 .../node-sass/node_modules/hawk/dist/client.js  |   343 +
 .../node_modules/hawk/example/usage.js          |    78 +
 .../node-sass/node_modules/hawk/images/hawk.png |   Bin 0 -> 6945 bytes
 .../node-sass/node_modules/hawk/images/logo.png |   Bin 0 -> 71732 bytes
 .../node-sass/node_modules/hawk/lib/browser.js  |   637 +
 .../node-sass/node_modules/hawk/lib/client.js   |   369 +
 .../node-sass/node_modules/hawk/lib/crypto.js   |   126 +
 .../node-sass/node_modules/hawk/lib/index.js    |    15 +
 .../node-sass/node_modules/hawk/lib/server.js   |   548 +
 .../node-sass/node_modules/hawk/lib/utils.js    |   184 +
 .../hawk/node_modules/hoek/.npmignore           |     3 +
 .../node_modules/hawk/node_modules/hoek/LICENSE |    32 +
 .../hawk/node_modules/hoek/README.md            |    30 +
 .../hawk/node_modules/hoek/lib/escape.js        |   168 +
 .../hawk/node_modules/hoek/lib/index.js         |   961 +
 .../hawk/node_modules/hoek/package.json         |    59 +
 .../node-sass/node_modules/hawk/package.json    |    74 +
 .../node-sass/node_modules/hoek/.npmignore      |     3 +
 .../node-sass/node_modules/hoek/LICENSE         |    32 +
 .../node-sass/node_modules/hoek/README.md       |    30 +
 .../node-sass/node_modules/hoek/lib/escape.js   |   168 +
 .../node-sass/node_modules/hoek/lib/index.js    |   961 +
 .../node-sass/node_modules/hoek/package.json    |    56 +
 .../node_modules/http-signature/.dir-locals.el  |     6 +
 .../node_modules/http-signature/.npmignore      |     7 +
 .../node_modules/http-signature/CHANGES.md      |    46 +
 .../node_modules/http-signature/LICENSE         |    18 +
 .../node_modules/http-signature/README.md       |    79 +
 .../node_modules/http-signature/http_signing.md |   363 +
 .../node_modules/http-signature/lib/index.js    |    29 +
 .../node_modules/http-signature/lib/parser.js   |   318 +
 .../node_modules/http-signature/lib/signer.js   |   399 +
 .../node_modules/http-signature/lib/utils.js    |   112 +
 .../node_modules/http-signature/lib/verify.js   |    88 +
 .../node_modules/http-signature/package.json    |    81 +
 .../node-sass/node_modules/qs/.eslintignore     |     1 +
 .../node-sass/node_modules/qs/.eslintrc         |    19 +
 .../node-sass/node_modules/qs/CHANGELOG.md      |   163 +
 node_modules/node-sass/node_modules/qs/LICENSE  |    28 +
 .../node-sass/node_modules/qs/README.md         |   431 +
 .../node-sass/node_modules/qs/dist/qs.js        |   590 +
 .../node-sass/node_modules/qs/lib/formats.js    |    18 +
 .../node-sass/node_modules/qs/lib/index.js      |    11 +
 .../node-sass/node_modules/qs/lib/parse.js      |   167 +
 .../node-sass/node_modules/qs/lib/stringify.js  |   200 +
 .../node-sass/node_modules/qs/lib/utils.js      |   182 +
 .../node-sass/node_modules/qs/package.json      |    82 +
 .../node-sass/node_modules/request/CHANGELOG.md |   662 +
 .../node-sass/node_modules/request/LICENSE      |    55 +
 .../node-sass/node_modules/request/README.md    |  1098 +
 .../node-sass/node_modules/request/index.js     |   156 +
 .../node-sass/node_modules/request/lib/auth.js  |   168 +
 .../node_modules/request/lib/cookies.js         |    39 +
 .../node_modules/request/lib/getProxyFromURI.js |    79 +
 .../node-sass/node_modules/request/lib/har.js   |   215 +
 .../node_modules/request/lib/helpers.js         |    65 +
 .../node_modules/request/lib/multipart.js       |   112 +
 .../node-sass/node_modules/request/lib/oauth.js |   147 +
 .../node_modules/request/lib/querystring.js     |    51 +
 .../node_modules/request/lib/redirect.js        |   157 +
 .../node_modules/request/lib/tunnel.js          |   176 +
 .../node-sass/node_modules/request/package.json |   120 +
 .../node-sass/node_modules/request/request.js   |  1475 +
 .../node-sass/node_modules/sntp/.npmignore      |    18 +
 .../node-sass/node_modules/sntp/.travis.yml     |     5 +
 .../node-sass/node_modules/sntp/LICENSE         |    28 +
 .../node-sass/node_modules/sntp/Makefile        |     9 +
 .../node-sass/node_modules/sntp/README.md       |    68 +
 .../node_modules/sntp/examples/offset.js        |    16 +
 .../node_modules/sntp/examples/time.js          |    25 +
 .../node-sass/node_modules/sntp/index.js        |     1 +
 .../node-sass/node_modules/sntp/lib/index.js    |   412 +
 .../sntp/node_modules/hoek/.npmignore           |     3 +
 .../node_modules/sntp/node_modules/hoek/LICENSE |    32 +
 .../sntp/node_modules/hoek/README.md            |    30 +
 .../sntp/node_modules/hoek/lib/escape.js        |   168 +
 .../sntp/node_modules/hoek/lib/index.js         |   961 +
 .../sntp/node_modules/hoek/package.json         |    59 +
 .../node-sass/node_modules/sntp/package.json    |    72 +
 .../node-sass/node_modules/tunnel-agent/LICENSE |    55 +
 .../node_modules/tunnel-agent/README.md         |     4 +
 .../node_modules/tunnel-agent/index.js          |   243 +
 .../node_modules/tunnel-agent/package.json      |    57 +
 node_modules/node-sass/package.json             |   140 +
 .../node-sass/vendor/darwin-x64-64/binding.node |   Bin 0 -> 3271708 bytes
 node_modules/noop-logger/.npmignore             |     1 +
 node_modules/noop-logger/History.md             |    16 +
 node_modules/noop-logger/Makefile               |     8 +
 node_modules/noop-logger/Readme.md              |    27 +
 node_modules/noop-logger/circle.yml             |     9 +
 node_modules/noop-logger/lib/index.js           |    25 +
 node_modules/noop-logger/package.json           |    52 +
 node_modules/nopt/.npmignore                    |     1 +
 node_modules/nopt/.travis.yml                   |     9 +
 node_modules/nopt/LICENSE                       |    15 +
 node_modules/nopt/README.md                     |   211 +
 node_modules/nopt/bin/nopt.js                   |    54 +
 node_modules/nopt/examples/my-program.js        |    30 +
 node_modules/nopt/lib/nopt.js                   |   415 +
 node_modules/nopt/package.json                  |    64 +
 node_modules/normalize-package-data/AUTHORS     |     4 +
 node_modules/normalize-package-data/LICENSE     |    30 +
 node_modules/normalize-package-data/README.md   |   106 +
 .../lib/extract_description.js                  |    14 +
 .../normalize-package-data/lib/fixer.js         |   417 +
 .../normalize-package-data/lib/make_warning.js  |    23 +
 .../normalize-package-data/lib/normalize.js     |    39 +
 .../normalize-package-data/lib/safe_format.js   |     9 +
 .../normalize-package-data/lib/typos.json       |    25 +
 .../lib/warning_messages.json                   |    30 +
 .../normalize-package-data/package.json         |    82 +
 node_modules/normalize-path/LICENSE             |    21 +
 node_modules/normalize-path/README.md           |    92 +
 node_modules/normalize-path/index.js            |    19 +
 node_modules/normalize-path/package.json        |   124 +
 node_modules/npmlog/CHANGELOG.md                |    49 +
 node_modules/npmlog/LICENSE                     |    15 +
 node_modules/npmlog/README.md                   |   216 +
 node_modules/npmlog/log.js                      |   309 +
 node_modules/npmlog/package.json                |    67 +
 node_modules/null-check/index.js                |    19 +
 node_modules/null-check/license                 |    21 +
 node_modules/null-check/package.json            |    72 +
 node_modules/null-check/readme.md               |    34 +
 node_modules/number-is-nan/index.js             |     4 +
 node_modules/number-is-nan/license              |    21 +
 node_modules/number-is-nan/package.json         |    72 +
 node_modules/number-is-nan/readme.md            |    28 +
 node_modules/oauth-sign/LICENSE                 |    55 +
 node_modules/oauth-sign/README.md               |     4 +
 node_modules/oauth-sign/index.js                |   136 +
 node_modules/oauth-sign/package.json            |    62 +
 node_modules/object-assign/index.js             |    90 +
 node_modules/object-assign/license              |    21 +
 node_modules/object-assign/package.json         |    82 +
 node_modules/object-assign/readme.md            |    61 +
 node_modules/object-component/.npmignore        |     3 +
 node_modules/object-component/History.md        |    10 +
 node_modules/object-component/Makefile          |    16 +
 node_modules/object-component/Readme.md         |    31 +
 node_modules/object-component/component.json    |    10 +
 node_modules/object-component/index.js          |    84 +
 node_modules/object-component/package.json      |    43 +
 node_modules/object.omit/LICENSE                |    21 +
 node_modules/object.omit/README.md              |   118 +
 node_modules/object.omit/index.js               |    40 +
 node_modules/object.omit/package.json           |   102 +
 node_modules/on-finished/HISTORY.md             |    88 +
 node_modules/on-finished/LICENSE                |    23 +
 node_modules/on-finished/README.md              |   154 +
 node_modules/on-finished/index.js               |   196 +
 node_modules/on-finished/package.json           |    75 +
 node_modules/once/LICENSE                       |    15 +
 node_modules/once/README.md                     |    79 +
 node_modules/once/once.js                       |    42 +
 node_modules/once/package.json                  |    81 +
 node_modules/onetime/index.js                   |    31 +
 node_modules/onetime/license                    |    21 +
 node_modules/onetime/package.json               |    69 +
 node_modules/onetime/readme.md                  |    52 +
 node_modules/opener/LICENSE.txt                 |    47 +
 node_modules/opener/README.md                   |    57 +
 node_modules/opener/opener.js                   |    60 +
 node_modules/opener/package.json                |    61 +
 node_modules/optimist/.travis.yml               |     4 +
 node_modules/optimist/LICENSE                   |    21 +
 node_modules/optimist/example/bool.js           |    10 +
 node_modules/optimist/example/boolean_double.js |     7 +
 node_modules/optimist/example/boolean_single.js |     7 +
 node_modules/optimist/example/default_hash.js   |     8 +
 .../optimist/example/default_singles.js         |     7 +
 node_modules/optimist/example/divide.js         |     8 +
 node_modules/optimist/example/line_count.js     |    20 +
 .../optimist/example/line_count_options.js      |    29 +
 .../optimist/example/line_count_wrap.js         |    29 +
 node_modules/optimist/example/nonopt.js         |     4 +
 node_modules/optimist/example/reflect.js        |     2 +
 node_modules/optimist/example/short.js          |     3 +
 node_modules/optimist/example/string.js         |    11 +
 node_modules/optimist/example/usage-options.js  |    19 +
 node_modules/optimist/example/xup.js            |    10 +
 node_modules/optimist/index.js                  |   343 +
 .../optimist/node_modules/minimist/.travis.yml  |     4 +
 .../optimist/node_modules/minimist/LICENSE      |    18 +
 .../node_modules/minimist/example/parse.js      |     2 +
 .../optimist/node_modules/minimist/index.js     |   187 +
 .../optimist/node_modules/minimist/package.json |    75 +
 .../node_modules/minimist/readme.markdown       |    73 +
 node_modules/optimist/package.json              |    75 +
 node_modules/optimist/readme.markdown           |   513 +
 node_modules/optionator/CHANGELOG.md            |    52 +
 node_modules/optionator/LICENSE                 |    22 +
 node_modules/optionator/README.md               |   236 +
 node_modules/optionator/lib/help.js             |   247 +
 node_modules/optionator/lib/index.js            |   465 +
 node_modules/optionator/lib/util.js             |    54 +
 .../optionator/node_modules/wordwrap/LICENSE    |    18 +
 .../node_modules/wordwrap/README.markdown       |    70 +
 .../node_modules/wordwrap/example/center.js     |    10 +
 .../node_modules/wordwrap/example/meat.js       |     3 +
 .../optionator/node_modules/wordwrap/index.js   |    76 +
 .../node_modules/wordwrap/package.json          |    67 +
 node_modules/optionator/package.json            |    79 +
 node_modules/options/.npmignore                 |     7 +
 node_modules/options/Makefile                   |    12 +
 node_modules/options/README.md                  |    69 +
 node_modules/options/lib/options.js             |    86 +
 node_modules/options/package.json               |    58 +
 node_modules/os-homedir/index.js                |    24 +
 node_modules/os-homedir/license                 |    21 +
 node_modules/os-homedir/package.json            |    78 +
 node_modules/os-homedir/readme.md               |    31 +
 node_modules/os-locale/index.js                 |   127 +
 node_modules/os-locale/license                  |    21 +
 node_modules/os-locale/package.json             |    79 +
 node_modules/os-locale/readme.md                |    47 +
 node_modules/os-tmpdir/index.js                 |    25 +
 node_modules/os-tmpdir/license                  |    21 +
 node_modules/os-tmpdir/package.json             |    79 +
 node_modules/os-tmpdir/readme.md                |    32 +
 node_modules/osenv/LICENSE                      |    15 +
 node_modules/osenv/README.md                    |    63 +
 node_modules/osenv/osenv.js                     |    72 +
 node_modules/osenv/package.json                 |    77 +
 node_modules/pac-proxy-agent/.npmignore         |     4 +
 node_modules/pac-proxy-agent/.travis.yml        |    25 +
 node_modules/pac-proxy-agent/History.md         |    79 +
 node_modules/pac-proxy-agent/README.md          |    78 +
 node_modules/pac-proxy-agent/index.js           |   263 +
 .../node_modules/debug/.coveralls.yml           |     1 +
 .../node_modules/debug/.eslintrc                |    11 +
 .../node_modules/debug/.npmignore               |     9 +
 .../node_modules/debug/.travis.yml              |    14 +
 .../node_modules/debug/CHANGELOG.md             |   362 +
 .../pac-proxy-agent/node_modules/debug/LICENSE  |    19 +
 .../pac-proxy-agent/node_modules/debug/Makefile |    50 +
 .../node_modules/debug/README.md                |   312 +
 .../node_modules/debug/component.json           |    19 +
 .../node_modules/debug/karma.conf.js            |    70 +
 .../pac-proxy-agent/node_modules/debug/node.js  |     1 +
 .../node_modules/debug/package.json             |    93 +
 node_modules/pac-proxy-agent/package.json       |    81 +
 node_modules/pac-resolver/.npmignore            |     5 +
 node_modules/pac-resolver/.travis.yml           |    26 +
 node_modules/pac-resolver/CHANGELOG.md          |   134 +
 node_modules/pac-resolver/README.md             |    98 +
 node_modules/pac-resolver/dateRange.js          |    77 +
 node_modules/pac-resolver/dnsDomainIs.js        |    34 +
 node_modules/pac-resolver/dnsDomainLevels.js    |    32 +
 node_modules/pac-resolver/dnsResolve.js         |    37 +
 node_modules/pac-resolver/index.js              |    99 +
 node_modules/pac-resolver/isInNet.js            |    48 +
 node_modules/pac-resolver/isPlainHostName.js    |    27 +
 node_modules/pac-resolver/isResolvable.js       |    28 +
 .../pac-resolver/localHostOrDomainIs.js         |    46 +
 node_modules/pac-resolver/myIpAddress.js        |    47 +
 .../pac-resolver/node_modules/co/Readme.md      |   362 +
 .../pac-resolver/node_modules/co/index.js       |   292 +
 .../pac-resolver/node_modules/co/package.json   |    65 +
 node_modules/pac-resolver/package.json          |    70 +
 node_modules/pac-resolver/shExpMatch.js         |    46 +
 node_modules/pac-resolver/timeRange.js          |   116 +
 node_modules/pac-resolver/weekdayRange.js       |    80 +
 node_modules/pako/CHANGELOG.md                  |   118 +
 node_modules/pako/LICENSE                       |    21 +
 node_modules/pako/README.md                     |   182 +
 node_modules/pako/dist/pako.js                  |  6809 ++++
 node_modules/pako/dist/pako.min.js              |     1 +
 node_modules/pako/dist/pako_deflate.js          |  3993 ++
 node_modules/pako/dist/pako_deflate.min.js      |     1 +
 node_modules/pako/dist/pako_inflate.js          |  3293 ++
 node_modules/pako/dist/pako_inflate.min.js      |     1 +
 node_modules/pako/index.js                      |    14 +
 node_modules/pako/lib/deflate.js                |   400 +
 node_modules/pako/lib/inflate.js                |   418 +
 node_modules/pako/lib/utils/common.js           |   105 +
 node_modules/pako/lib/utils/strings.js          |   185 +
 node_modules/pako/lib/zlib/README               |    59 +
 node_modules/pako/lib/zlib/adler32.js           |    51 +
 node_modules/pako/lib/zlib/constants.js         |    68 +
 node_modules/pako/lib/zlib/crc32.js             |    59 +
 node_modules/pako/lib/zlib/deflate.js           |  1874 +
 node_modules/pako/lib/zlib/gzheader.js          |    58 +
 node_modules/pako/lib/zlib/inffast.js           |   345 +
 node_modules/pako/lib/zlib/inflate.js           |  1556 +
 node_modules/pako/lib/zlib/inftrees.js          |   343 +
 node_modules/pako/lib/zlib/messages.js          |    32 +
 node_modules/pako/lib/zlib/trees.js             |  1220 +
 node_modules/pako/lib/zlib/zstream.js           |    47 +
 node_modules/pako/package.json                  |    99 +
 node_modules/parse-glob/LICENSE                 |    21 +
 node_modules/parse-glob/README.md               |   115 +
 node_modules/parse-glob/index.js                |   156 +
 node_modules/parse-glob/package.json            |    97 +
 node_modules/parse-json/index.js                |    35 +
 node_modules/parse-json/license                 |    21 +
 node_modules/parse-json/package.json            |    82 +
 node_modules/parse-json/readme.md               |    83 +
 node_modules/parse-json/vendor/parse.js         |   752 +
 node_modules/parse-json/vendor/unicode.js       |    71 +
 node_modules/parseqs/.npmignore                 |     3 +
 node_modules/parseqs/LICENSE                    |    21 +
 node_modules/parseqs/Makefile                   |     3 +
 node_modules/parseqs/README.md                  |     1 +
 node_modules/parseqs/index.js                   |    37 +
 node_modules/parseqs/package.json               |    57 +
 node_modules/parseqs/test.js                    |    27 +
 node_modules/parseuri/.npmignore                |     2 +
 node_modules/parseuri/History.md                |     5 +
 node_modules/parseuri/LICENSE                   |    21 +
 node_modules/parseuri/Makefile                  |     3 +
 node_modules/parseuri/README.md                 |     2 +
 node_modules/parseuri/index.js                  |    39 +
 node_modules/parseuri/package.json              |    55 +
 node_modules/parseuri/test.js                   |    51 +
 node_modules/parseurl/HISTORY.md                |    53 +
 node_modules/parseurl/LICENSE                   |    24 +
 node_modules/parseurl/README.md                 |   124 +
 node_modules/parseurl/index.js                  |   154 +
 node_modules/parseurl/package.json              |    84 +
 node_modules/path-exists/index.js               |    24 +
 node_modules/path-exists/license                |    21 +
 node_modules/path-exists/package.json           |    76 +
 node_modules/path-exists/readme.md              |    45 +
 node_modules/path-is-absolute/index.js          |    20 +
 node_modules/path-is-absolute/license           |    21 +
 node_modules/path-is-absolute/package.json      |    86 +
 node_modules/path-is-absolute/readme.md         |    59 +
 node_modules/path-is-inside/LICENSE.txt         |    47 +
 .../path-is-inside/lib/path-is-inside.js        |    28 +
 node_modules/path-is-inside/package.json        |    67 +
 node_modules/path-proxy/README.md               |    89 +
 node_modules/path-proxy/index.js                |   101 +
 .../node_modules/inflection/.npmignore          |     4 +
 .../node_modules/inflection/History.md          |   135 +
 .../node_modules/inflection/Readme.md           |   449 +
 .../node_modules/inflection/bower.json          |    49 +
 .../node_modules/inflection/component.json      |    29 +
 .../node_modules/inflection/inflection.min.js   |    29 +
 .../node_modules/inflection/lib/inflection.js   |   638 +
 .../node_modules/inflection/package.json        |   125 +
 node_modules/path-proxy/package.json            |    61 +
 node_modules/path-proxy/spec/pathProxy_spec.js  |    66 +
 node_modules/path-proxy/spec/proxy_spec.js      |    18 +
 node_modules/path-type/index.js                 |    29 +
 node_modules/path-type/license                  |    21 +
 node_modules/path-type/package.json             |    88 +
 node_modules/path-type/readme.md                |    42 +
 node_modules/performance-now/.npmignore         |     1 +
 node_modules/performance-now/.tm_properties     |     7 +
 node_modules/performance-now/.travis.yml        |     6 +
 node_modules/performance-now/README.md          |    30 +
 .../performance-now/lib/performance-now.js      |    36 +
 .../performance-now/lib/performance-now.js.map  |    10 +
 node_modules/performance-now/license.txt        |     7 +
 node_modules/performance-now/package.json       |    69 +
 node_modules/pify/index.js                      |    68 +
 node_modules/pify/license                       |    21 +
 node_modules/pify/package.json                  |    87 +
 node_modules/pify/readme.md                     |   119 +
 node_modules/pinkie-promise/index.js            |     3 +
 node_modules/pinkie-promise/license             |    21 +
 node_modules/pinkie-promise/package.json        |    78 +
 node_modules/pinkie-promise/readme.md           |    28 +
 node_modules/pinkie/index.js                    |   292 +
 node_modules/pinkie/license                     |    21 +
 node_modules/pinkie/package.json                |    72 +
 node_modules/pinkie/readme.md                   |    83 +
 node_modules/pkg-up/index.js                    |    10 +
 node_modules/pkg-up/license                     |    21 +
 node_modules/pkg-up/package.json                |    88 +
 node_modules/pkg-up/readme.md                   |    64 +
 node_modules/portfinder/LICENSE                 |    22 +
 node_modules/portfinder/README.md               |    55 +
 node_modules/portfinder/lib/portfinder.d.ts     |    33 +
 node_modules/portfinder/lib/portfinder.js       |   454 +
 .../node_modules/debug/.coveralls.yml           |     1 +
 .../portfinder/node_modules/debug/.eslintrc     |    11 +
 .../portfinder/node_modules/debug/.npmignore    |     9 +
 .../portfinder/node_modules/debug/.travis.yml   |    14 +
 .../portfinder/node_modules/debug/CHANGELOG.md  |   362 +
 .../portfinder/node_modules/debug/LICENSE       |    19 +
 .../portfinder/node_modules/debug/Makefile      |    50 +
 .../portfinder/node_modules/debug/README.md     |   312 +
 .../node_modules/debug/component.json           |    19 +
 .../portfinder/node_modules/debug/karma.conf.js |    70 +
 .../portfinder/node_modules/debug/node.js       |     1 +
 .../portfinder/node_modules/debug/package.json  |    92 +
 node_modules/portfinder/package.json            |    74 +
 node_modules/prebuild-install/.travis.yml       |    11 +
 node_modules/prebuild-install/CONTRIBUTING.md   |     8 +
 node_modules/prebuild-install/LICENSE           |    21 +
 node_modules/prebuild-install/README.md         |    60 +
 node_modules/prebuild-install/appveyor.yml      |    39 +
 node_modules/prebuild-install/bin.js            |    59 +
 node_modules/prebuild-install/download.js       |   162 +
 node_modules/prebuild-install/error.js          |    13 +
 node_modules/prebuild-install/help.txt          |    12 +
 node_modules/prebuild-install/index.js          |     1 +
 node_modules/prebuild-install/log.js            |    13 +
 node_modules/prebuild-install/package.json      |   129 +
 node_modules/prebuild-install/rc.js             |    72 +
 node_modules/prebuild-install/util.js           |    89 +
 node_modules/prelude-ls/CHANGELOG.md            |    99 +
 node_modules/prelude-ls/LICENSE                 |    22 +
 node_modules/prelude-ls/README.md               |    15 +
 node_modules/prelude-ls/lib/Func.js             |    65 +
 node_modules/prelude-ls/lib/List.js             |   686 +
 node_modules/prelude-ls/lib/Num.js              |   130 +
 node_modules/prelude-ls/lib/Obj.js              |   154 +
 node_modules/prelude-ls/lib/Str.js              |    92 +
 node_modules/prelude-ls/lib/index.js            |   178 +
 node_modules/prelude-ls/package.json            |    88 +
 node_modules/preserve/.gitattributes            |    14 +
 node_modules/preserve/.jshintrc                 |    24 +
 node_modules/preserve/.npmignore                |    53 +
 node_modules/preserve/.travis.yml               |     3 +
 node_modules/preserve/.verb.md                  |    59 +
 node_modules/preserve/LICENSE                   |    24 +
 node_modules/preserve/README.md                 |    90 +
 node_modules/preserve/index.js                  |    54 +
 node_modules/preserve/package.json              |    77 +
 node_modules/preserve/test.js                   |    48 +
 node_modules/pretty-bytes/index.js              |    24 +
 node_modules/pretty-bytes/license               |    21 +
 node_modules/pretty-bytes/package.json          |    74 +
 node_modules/pretty-bytes/readme.md             |    40 +
 node_modules/process-nextick-args/index.js      |    44 +
 node_modules/process-nextick-args/license.md    |    19 +
 node_modules/process-nextick-args/package.json  |    54 +
 node_modules/process-nextick-args/readme.md     |    18 +
 node_modules/proxy-agent/.npmignore             |     3 +
 node_modules/proxy-agent/.travis.yml            |     8 +
 node_modules/proxy-agent/History.md             |    46 +
 node_modules/proxy-agent/README.md              |   103 +
 node_modules/proxy-agent/index.js               |   163 +
 .../node_modules/debug/.coveralls.yml           |     1 +
 .../proxy-agent/node_modules/debug/.eslintrc    |    11 +
 .../proxy-agent/node_modules/debug/.npmignore   |     9 +
 .../proxy-agent/node_modules/debug/.travis.yml  |    14 +
 .../proxy-agent/node_modules/debug/CHANGELOG.md |   362 +
 .../proxy-agent/node_modules/debug/LICENSE      |    19 +
 .../proxy-agent/node_modules/debug/Makefile     |    50 +
 .../proxy-agent/node_modules/debug/README.md    |   312 +
 .../node_modules/debug/component.json           |    19 +
 .../node_modules/debug/karma.conf.js            |    70 +
 .../proxy-agent/node_modules/debug/node.js      |     1 +
 .../proxy-agent/node_modules/debug/package.json |    93 +
 .../node_modules/lru-cache/.npmignore           |     1 +
 .../node_modules/lru-cache/.travis.yml          |     8 +
 .../node_modules/lru-cache/CONTRIBUTORS         |    14 +
 .../proxy-agent/node_modules/lru-cache/LICENSE  |    15 +
 .../node_modules/lru-cache/README.md            |   109 +
 .../node_modules/lru-cache/lib/lru-cache.js     |   274 +
 .../node_modules/lru-cache/package.json         |    61 +
 node_modules/proxy-agent/package.json           |    80 +
 node_modules/pseudomap/LICENSE                  |    15 +
 node_modules/pseudomap/README.md                |    60 +
 node_modules/pseudomap/map.js                   |     9 +
 node_modules/pseudomap/package.json             |    58 +
 node_modules/pseudomap/pseudomap.js             |   113 +
 node_modules/pump/.travis.yml                   |     5 +
 node_modules/pump/LICENSE                       |    21 +
 node_modules/pump/README.md                     |    56 +
 node_modules/pump/index.js                      |    82 +
 node_modules/pump/package.json                  |    64 +
 node_modules/pump/test-browser.js               |    62 +
 node_modules/pump/test-node.js                  |    53 +
 node_modules/punycode/LICENSE-MIT.txt           |    20 +
 node_modules/punycode/README.md                 |   176 +
 node_modules/punycode/package.json              |    91 +
 node_modules/punycode/punycode.js               |   533 +
 node_modules/q/CHANGES.md                       |   786 +
 node_modules/q/LICENSE                          |    18 +
 node_modules/q/README.md                        |   881 +
 node_modules/q/package.json                     |   125 +
 node_modules/q/q.js                             |  2048 +
 node_modules/q/queue.js                         |    35 +
 node_modules/qjobs/.travis.yml                  |     9 +
 node_modules/qjobs/LICENCE                      |    21 +
 node_modules/qjobs/Makefile                     |     5 +
 node_modules/qjobs/Readme.md                    |    92 +
 node_modules/qjobs/examples/simple.js           |    73 +
 node_modules/qjobs/package.json                 |    64 +
 node_modules/qjobs/qjobs.js                     |   236 +
 node_modules/qjobs/tests/abort.js               |    64 +
 node_modules/qjobs/tests/basic.js               |    28 +
 node_modules/qjobs/tests/events.js              |    59 +
 node_modules/qjobs/tests/interval.js            |    61 +
 node_modules/qjobs/tests/pause.js               |    79 +
 node_modules/qs/.editorconfig                   |    30 +
 node_modules/qs/.eslintignore                   |     1 +
 node_modules/qs/.eslintrc                       |    19 +
 node_modules/qs/CHANGELOG.md                    |   221 +
 node_modules/qs/LICENSE                         |    28 +
 node_modules/qs/README.md                       |   475 +
 node_modules/qs/dist/qs.js                      |   627 +
 node_modules/qs/lib/formats.js                  |    18 +
 node_modules/qs/lib/index.js                    |    11 +
 node_modules/qs/lib/parse.js                    |   174 +
 node_modules/qs/lib/stringify.js                |   210 +
 node_modules/qs/lib/utils.js                    |   202 +
 node_modules/qs/package.json                    |    84 +
 node_modules/randomatic/LICENSE                 |    21 +
 node_modules/randomatic/README.md               |   154 +
 node_modules/randomatic/index.js                |    82 +
 .../randomatic/node_modules/is-number/LICENSE   |    21 +
 .../randomatic/node_modules/is-number/README.md |   115 +
 .../randomatic/node_modules/is-number/index.js  |    22 +
 .../is-number/node_modules/kind-of/LICENSE      |    21 +
 .../is-number/node_modules/kind-of/README.md    |   261 +
 .../is-number/node_modules/kind-of/index.js     |   116 +
 .../is-number/node_modules/kind-of/package.json |   143 +
 .../node_modules/is-number/package.json         |   127 +
 .../randomatic/node_modules/kind-of/LICENSE     |    21 +
 .../randomatic/node_modules/kind-of/README.md   |   267 +
 .../randomatic/node_modules/kind-of/index.js    |   119 +
 .../node_modules/kind-of/package.json           |   143 +
 node_modules/randomatic/package.json            |   130 +
 node_modules/range-parser/HISTORY.md            |    51 +
 node_modules/range-parser/LICENSE               |    23 +
 node_modules/range-parser/README.md             |    75 +
 node_modules/range-parser/index.js              |   158 +
 node_modules/range-parser/package.json          |    90 +
 node_modules/raw-body/HISTORY.md                |   247 +
 node_modules/raw-body/LICENSE                   |    22 +
 node_modules/raw-body/README.md                 |   219 +
 node_modules/raw-body/index.d.ts                |    87 +
 node_modules/raw-body/index.js                  |   286 +
 .../raw-body/node_modules/depd/History.md       |    90 +
 node_modules/raw-body/node_modules/depd/LICENSE |    22 +
 .../raw-body/node_modules/depd/Readme.md        |   283 +
 .../raw-body/node_modules/depd/index.js         |   520 +
 .../node_modules/depd/lib/browser/index.js      |    77 +
 .../depd/lib/compat/callsite-tostring.js        |   103 +
 .../depd/lib/compat/event-listener-count.js     |    22 +
 .../node_modules/depd/lib/compat/index.js       |    79 +
 .../raw-body/node_modules/depd/package.json     |    80 +
 .../node_modules/http-errors/HISTORY.md         |   124 +
 .../raw-body/node_modules/http-errors/LICENSE   |    23 +
 .../raw-body/node_modules/http-errors/README.md |   135 +
 .../raw-body/node_modules/http-errors/index.js  |   260 +
 .../node_modules/http-errors/package.json       |    94 +
 .../raw-body/node_modules/iconv-lite/.npmignore |     6 +
 .../node_modules/iconv-lite/.travis.yml         |    23 +
 .../node_modules/iconv-lite/Changelog.md        |   134 +
 .../raw-body/node_modules/iconv-lite/LICENSE    |    21 +
 .../raw-body/node_modules/iconv-lite/README.md  |   160 +
 .../iconv-lite/encodings/dbcs-codec.js          |   555 +
 .../iconv-lite/encodings/dbcs-data.js           |   176 +
 .../node_modules/iconv-lite/encodings/index.js  |    22 +
 .../iconv-lite/encodings/internal.js            |   188 +
 .../iconv-lite/encodings/sbcs-codec.js          |    73 +
 .../iconv-lite/encodings/sbcs-data-generated.js |   451 +
 .../iconv-lite/encodings/sbcs-data.js           |   169 +
 .../iconv-lite/encodings/tables/big5-added.json |   122 +
 .../iconv-lite/encodings/tables/cp936.json      |   264 +
 .../iconv-lite/encodings/tables/cp949.json      |   273 +
 .../iconv-lite/encodings/tables/cp950.json      |   177 +
 .../iconv-lite/encodings/tables/eucjp.json      |   182 +
 .../encodings/tables/gb18030-ranges.json        |     1 +
 .../iconv-lite/encodings/tables/gbk-added.json  |    55 +
 .../iconv-lite/encodings/tables/shiftjis.json   |   125 +
 .../node_modules/iconv-lite/encodings/utf16.js  |   177 +
 .../node_modules/iconv-lite/encodings/utf7.js   |   290 +
 .../node_modules/iconv-lite/lib/bom-handling.js |    52 +
 .../node_modules/iconv-lite/lib/extend-node.js  |   215 +
 .../node_modules/iconv-lite/lib/index.d.ts      |    24 +
 .../node_modules/iconv-lite/lib/index.js        |   148 +
 .../node_modules/iconv-lite/lib/streams.js      |   121 +
 .../node_modules/iconv-lite/package.json        |   127 +
 .../node_modules/setprototypeof/LICENSE         |    13 +
 .../node_modules/setprototypeof/README.md       |    21 +
 .../node_modules/setprototypeof/index.js        |    15 +
 .../node_modules/setprototypeof/package.json    |    55 +
 node_modules/raw-body/package.json              |    98 +
 node_modules/rc/LICENSE.APACHE2                 |    15 +
 node_modules/rc/LICENSE.BSD                     |    26 +
 node_modules/rc/LICENSE.MIT                     |    24 +
 node_modules/rc/README.md                       |   227 +
 node_modules/rc/browser.js                      |     7 +
 node_modules/rc/cli.js                          |     4 +
 node_modules/rc/index.js                        |    53 +
 node_modules/rc/lib/utils.js                    |   104 +
 node_modules/rc/package.json                    |    69 +
 node_modules/read-pkg-up/index.js               |    31 +
 node_modules/read-pkg-up/license                |    21 +
 node_modules/read-pkg-up/package.json           |    96 +
 node_modules/read-pkg-up/readme.md              |    79 +
 node_modules/read-pkg/index.js                  |    48 +
 node_modules/read-pkg/license                   |    21 +
 node_modules/read-pkg/package.json              |    78 +
 node_modules/read-pkg/readme.md                 |    79 +
 node_modules/readable-stream/.travis.yml        |    55 +
 node_modules/readable-stream/CONTRIBUTING.md    |    38 +
 node_modules/readable-stream/GOVERNANCE.md      |   136 +
 node_modules/readable-stream/LICENSE            |    47 +
 node_modules/readable-stream/README.md          |    58 +
 .../doc/wg-meetings/2015-01-30.md               |    60 +
 node_modules/readable-stream/duplex-browser.js  |     1 +
 node_modules/readable-stream/duplex.js          |     1 +
 .../readable-stream/lib/_stream_duplex.js       |   131 +
 .../readable-stream/lib/_stream_passthrough.js  |    47 +
 .../readable-stream/lib/_stream_readable.js     |  1019 +
 .../readable-stream/lib/_stream_transform.js    |   214 +
 .../readable-stream/lib/_stream_writable.js     |   687 +
 .../lib/internal/streams/BufferList.js          |    79 +
 .../lib/internal/streams/destroy.js             |    74 +
 .../lib/internal/streams/stream-browser.js      |     1 +
 .../lib/internal/streams/stream.js              |     1 +
 node_modules/readable-stream/package.json       |    97 +
 node_modules/readable-stream/passthrough.js     |     1 +
 .../readable-stream/readable-browser.js         |     7 +
 node_modules/readable-stream/readable.js        |    19 +
 node_modules/readable-stream/transform.js       |     1 +
 .../readable-stream/writable-browser.js         |     1 +
 node_modules/readable-stream/writable.js        |     8 +
 node_modules/readdirp/.npmignore                |    15 +
 node_modules/readdirp/.travis.yml               |     6 +
 node_modules/readdirp/LICENSE                   |    20 +
 node_modules/readdirp/README.md                 |   233 +
 node_modules/readdirp/examples/Readme.md        |    37 +
 node_modules/readdirp/examples/callback-api.js  |    10 +
 node_modules/readdirp/examples/grep.js          |    71 +
 node_modules/readdirp/examples/package.json     |     9 +
 .../readdirp/examples/stream-api-pipe.js        |    19 +
 node_modules/readdirp/examples/stream-api.js    |    15 +
 node_modules/readdirp/package.json              |    83 +
 node_modules/readdirp/readdirp.js               |   300 +
 node_modules/readdirp/stream-api.js             |    99 +
 node_modules/redent/index.js                    |     7 +
 node_modules/redent/license                     |    21 +
 node_modules/redent/package.json                |    79 +
 node_modules/redent/readme.md                   |    48 +
 node_modules/redis-commands/.travis.yml         |     8 +
 node_modules/redis-commands/LICENSE             |    22 +
 node_modules/redis-commands/README.md           |    51 +
 node_modules/redis-commands/changelog.md        |    58 +
 node_modules/redis-commands/commands.json       |  1821 +
 node_modules/redis-commands/index.js            |   155 +
 node_modules/redis-commands/package.json        |    74 +
 node_modules/redis-commands/tools/build.js      |    62 +
 node_modules/redis-parser/.npmignore            |    15 +
 node_modules/redis-parser/LICENSE               |    22 +
 node_modules/redis-parser/README.md             |   163 +
 node_modules/redis-parser/changelog.md          |   138 +
 node_modules/redis-parser/index.js              |     6 +
 node_modules/redis-parser/lib/hiredis.js        |    62 +
 node_modules/redis-parser/lib/parser.js         |   581 +
 node_modules/redis-parser/lib/parserError.js    |    25 +
 node_modules/redis-parser/lib/redisError.js     |    24 +
 node_modules/redis-parser/lib/replyError.js     |    23 +
 node_modules/redis-parser/package.json          |    83 +
 node_modules/redis/.eslintignore                |     4 +
 node_modules/redis/.eslintrc                    |   108 +
 node_modules/redis/.github/ISSUE_TEMPLATE.md    |    15 +
 .../redis/.github/PULL_REQUEST_TEMPLATE.md      |    14 +
 node_modules/redis/.npmignore                   |    10 +
 node_modules/redis/LICENSE                      |    24 +
 node_modules/redis/README.md                    |   965 +
 node_modules/redis/changelog.md                 |   845 +
 node_modules/redis/index.js                     |  1105 +
 node_modules/redis/lib/command.js               |    16 +
 node_modules/redis/lib/commands.js              |   121 +
 node_modules/redis/lib/createClient.js          |    80 +
 node_modules/redis/lib/customErrors.js          |    59 +
 node_modules/redis/lib/debug.js                 |    11 +
 node_modules/redis/lib/extendedApi.js           |   113 +
 node_modules/redis/lib/individualCommands.js    |   617 +
 node_modules/redis/lib/multi.js                 |   187 +
 node_modules/redis/lib/utils.js                 |   134 +
 node_modules/redis/package.json                 |    92 +
 node_modules/regex-cache/LICENSE                |    21 +
 node_modules/regex-cache/README.md              |   166 +
 node_modules/regex-cache/index.js               |    68 +
 node_modules/regex-cache/package.json           |   105 +
 .../remove-trailing-separator/history.md        |    17 +
 node_modules/remove-trailing-separator/index.js |    17 +
 node_modules/remove-trailing-separator/license  |     3 +
 .../remove-trailing-separator/package.json      |    68 +
 .../remove-trailing-separator/readme.md         |    51 +
 node_modules/repeat-element/LICENSE             |    21 +
 node_modules/repeat-element/README.md           |    71 +
 node_modules/repeat-element/index.js            |    18 +
 node_modules/repeat-element/package.json        |    74 +
 node_modules/repeat-string/LICENSE              |    21 +
 node_modules/repeat-string/README.md            |   136 +
 node_modules/repeat-string/index.js             |    70 +
 node_modules/repeat-string/package.json         |   133 +
 node_modules/repeating/index.js                 |    24 +
 node_modules/repeating/license                  |    21 +
 node_modules/repeating/package.json             |    73 +
 node_modules/repeating/readme.md                |    30 +
 node_modules/request/CHANGELOG.md               |   701 +
 node_modules/request/LICENSE                    |    55 +
 node_modules/request/README.md                  |  1097 +
 node_modules/request/index.js                   |   155 +
 node_modules/request/lib/auth.js                |   167 +
 node_modules/request/lib/cookies.js             |    38 +
 node_modules/request/lib/getProxyFromURI.js     |    79 +
 node_modules/request/lib/har.js                 |   205 +
 node_modules/request/lib/helpers.js             |    66 +
 node_modules/request/lib/multipart.js           |   112 +
 node_modules/request/lib/oauth.js               |   148 +
 node_modules/request/lib/querystring.js         |    50 +
 node_modules/request/lib/redirect.js            |   154 +
 node_modules/request/lib/tunnel.js              |   175 +
 node_modules/request/package.json               |   124 +
 node_modules/request/request.js                 |  1552 +
 node_modules/requestretry/.checkbuild           |    18 +
 node_modules/requestretry/.editorconfig         |    20 +
 node_modules/requestretry/.jsbeautifyrc         |    15 +
 node_modules/requestretry/.jshintrc             |    84 +
 node_modules/requestretry/.npmignore            |     3 +
 .../89ba1a628674b3e3269984ddef6dd7b9.json       |     1 +
 .../b019ab607aa278bdb147e887d944ed2b.json       |     1 +
 .../b01e91f700ec65ed04f1cc1ee74fca65.json       |     1 +
 node_modules/requestretry/CHANGELOG.md          |   277 +
 node_modules/requestretry/LICENSE               |    21 +
 node_modules/requestretry/README.md             |   214 +
 node_modules/requestretry/circle.yml            |    10 +
 .../coverage/cobertura-coverage.xml             |   301 +
 .../requestretry/coverage/lcov-report/base.css  |   212 +
 .../coverage/lcov-report/index.html             |   106 +
 .../lcov-report/node-request-retry/index.html   |    93 +
 .../node-request-retry/index.js.html            |   800 +
 .../strategies/HTTPError.js.html                |    95 +
 .../strategies/HTTPOrNetworkError.js.html       |   101 +
 .../strategies/NetworkError.js.html             |   113 +
 .../node-request-retry/strategies/index.html    |   132 +
 .../node-request-retry/strategies/index.js.html |    83 +
 .../coverage/lcov-report/prettify.css           |     1 +
 .../coverage/lcov-report/prettify.js            |     1 +
 .../coverage/lcov-report/sort-arrow-sprite.png  |   Bin 0 -> 209 bytes
 .../requestretry/coverage/lcov-report/sorter.js |   158 +
 node_modules/requestretry/coverage/lcov.info    |   281 +
 node_modules/requestretry/index.js              |   245 +
 node_modules/requestretry/package.json          |    98 +
 .../requestretry/strategies/HTTPError.js        |    10 +
 .../strategies/HTTPOrNetworkError.js            |    12 +
 .../requestretry/strategies/NetworkError.js     |    16 +
 node_modules/requestretry/strategies/index.js   |     6 +
 node_modules/require-directory/.jshintrc        |    67 +
 node_modules/require-directory/.npmignore       |     1 +
 node_modules/require-directory/.travis.yml      |     3 +
 node_modules/require-directory/LICENSE          |    22 +
 node_modules/require-directory/README.markdown  |   184 +
 node_modules/require-directory/index.js         |    86 +
 node_modules/require-directory/package.json     |    73 +
 node_modules/require-main-filename/.npmignore   |     3 +
 node_modules/require-main-filename/.travis.yml  |     8 +
 node_modules/require-main-filename/LICENSE.txt  |    14 +
 node_modules/require-main-filename/README.md    |    26 +
 node_modules/require-main-filename/index.js     |    18 +
 node_modules/require-main-filename/package.json |    62 +
 node_modules/require-main-filename/test.js      |    36 +
 node_modules/requires-port/.npmignore           |     2 +
 node_modules/requires-port/.travis.yml          |    19 +
 node_modules/requires-port/LICENSE              |    22 +
 node_modules/requires-port/README.md            |    47 +
 node_modules/requires-port/index.js             |    38 +
 node_modules/requires-port/package.json         |    78 +
 node_modules/requires-port/test.js              |    98 +
 node_modules/resolve-from/index.js              |    23 +
 node_modules/resolve-from/license               |    21 +
 node_modules/resolve-from/package.json          |    70 +
 node_modules/resolve-from/readme.md             |    58 +
 node_modules/resolve-pkg/index.js               |    17 +
 node_modules/resolve-pkg/license                |    21 +
 node_modules/resolve-pkg/package.json           |    82 +
 node_modules/resolve-pkg/readme.md              |    62 +
 node_modules/resolve/.travis.yml                |     4 +
 node_modules/resolve/LICENSE                    |    18 +
 node_modules/resolve/example/async.js           |     5 +
 node_modules/resolve/example/sync.js            |     3 +
 node_modules/resolve/index.js                   |     5 +
 node_modules/resolve/lib/async.js               |   192 +
 node_modules/resolve/lib/caller.js              |     8 +
 node_modules/resolve/lib/core.js                |     4 +
 node_modules/resolve/lib/core.json              |    38 +
 node_modules/resolve/lib/node-modules-paths.js  |    38 +
 node_modules/resolve/lib/sync.js                |    81 +
 node_modules/resolve/package.json               |    64 +
 node_modules/resolve/readme.markdown            |   148 +
 node_modules/right-align/LICENSE                |    21 +
 node_modules/right-align/README.md              |    77 +
 node_modules/right-align/index.js               |    16 +
 node_modules/right-align/package.json           |    75 +
 node_modules/rimraf/AUTHORS                     |     6 +
 node_modules/rimraf/LICENSE                     |    23 +
 node_modules/rimraf/README.md                   |    30 +
 node_modules/rimraf/bin.js                      |    33 +
 node_modules/rimraf/package.json                |    85 +
 node_modules/rimraf/rimraf.js                   |   248 +
 node_modules/roboto-fontface/LICENSE            |   201 +
 node_modules/roboto-fontface/README.md          |    51 +
 node_modules/roboto-fontface/bower.json         |    15 +
 node_modules/roboto-fontface/css/mixins.less    |    32 +
 node_modules/roboto-fontface/css/mixins.scss    |    32 +
 .../roboto-condensed-fontface-bold-italic.less  |     3 +
 .../less/roboto-condensed-fontface-bold.less    |     3 +
 .../roboto-condensed-fontface-light-italic.less |     3 +
 .../less/roboto-condensed-fontface-light.less   |     3 +
 ...oboto-condensed-fontface-regular-italic.less |     3 +
 .../less/roboto-condensed-fontface-regular.less |     3 +
 .../less/roboto-condensed-fontface.less         |     6 +
 .../roboto-condensed-fontface.css               |    83 +
 .../roboto-condensed-fontface-bold-italic.scss  |     3 +
 .../sass/roboto-condensed-fontface-bold.scss    |     3 +
 .../roboto-condensed-fontface-light-italic.scss |     3 +
 .../sass/roboto-condensed-fontface-light.scss   |     3 +
 ...oboto-condensed-fontface-regular-italic.scss |     3 +
 .../sass/roboto-condensed-fontface-regular.scss |     3 +
 .../sass/roboto-condensed-fontface.scss         |     6 +
 .../less/roboto-slab-fontface-bold.less         |     3 +
 .../less/roboto-slab-fontface-light.less        |     3 +
 .../less/roboto-slab-fontface-regular.less      |     3 +
 .../less/roboto-slab-fontface-thin.less         |     3 +
 .../roboto-slab/less/roboto-slab-fontface.less  |     4 +
 .../css/roboto-slab/roboto-slab-fontface.css    |    55 +
 .../sass/roboto-slab-fontface-bold.scss         |     3 +
 .../sass/roboto-slab-fontface-light.scss        |     3 +
 .../sass/roboto-slab-fontface-regular.scss      |     3 +
 .../sass/roboto-slab-fontface-thin.scss         |     3 +
 .../roboto-slab/sass/roboto-slab-fontface.scss  |     4 +
 .../less/roboto-fontface-black-italic.less      |     3 +
 .../css/roboto/less/roboto-fontface-black.less  |     3 +
 .../less/roboto-fontface-bold-italic.less       |     3 +
 .../css/roboto/less/roboto-fontface-bold.less   |     3 +
 .../less/roboto-fontface-light-italic.less      |     3 +
 .../css/roboto/less/roboto-fontface-light.less  |     3 +
 .../less/roboto-fontface-medium-italic.less     |     3 +
 .../css/roboto/less/roboto-fontface-medium.less |     3 +
 .../less/roboto-fontface-regular-italic.less    |     3 +
 .../roboto/less/roboto-fontface-regular.less    |     3 +
 .../less/roboto-fontface-thin-italic.less       |     3 +
 .../css/roboto/less/roboto-fontface-thin.less   |     3 +
 .../css/roboto/less/roboto-fontface.less        |    12 +
 .../css/roboto/roboto-fontface.css              |   167 +
 .../sass/roboto-fontface-black-italic.scss      |     3 +
 .../css/roboto/sass/roboto-fontface-black.scss  |     3 +
 .../sass/roboto-fontface-bold-italic.scss       |     3 +
 .../css/roboto/sass/roboto-fontface-bold.scss   |     3 +
 .../sass/roboto-fontface-light-italic.scss      |     3 +
 .../css/roboto/sass/roboto-fontface-light.scss  |     3 +
 .../sass/roboto-fontface-medium-italic.scss     |     3 +
 .../css/roboto/sass/roboto-fontface-medium.scss |     3 +
 .../sass/roboto-fontface-regular-italic.scss    |     3 +
 .../roboto/sass/roboto-fontface-regular.scss    |     3 +
 .../sass/roboto-fontface-thin-italic.scss       |     3 +
 .../css/roboto/sass/roboto-fontface-thin.scss   |     3 +
 .../css/roboto/sass/roboto-fontface.scss        |    12 +
 .../roboto-condensed/Roboto-Condensed-Bold.eot  |   Bin 0 -> 76515 bytes
 .../roboto-condensed/Roboto-Condensed-Bold.svg  |   309 +
 .../roboto-condensed/Roboto-Condensed-Bold.ttf  |   Bin 0 -> 169800 bytes
 .../roboto-condensed/Roboto-Condensed-Bold.woff |   Bin 0 -> 85544 bytes
 .../Roboto-Condensed-Bold.woff2                 |   Bin 0 -> 64800 bytes
 .../Roboto-Condensed-BoldItalic.eot             |   Bin 0 -> 83789 bytes
 .../Roboto-Condensed-BoldItalic.svg             |   322 +
 .../Roboto-Condensed-BoldItalic.ttf             |   Bin 0 -> 175888 bytes
 .../Roboto-Condensed-BoldItalic.woff            |   Bin 0 -> 92768 bytes
 .../Roboto-Condensed-BoldItalic.woff2           |   Bin 0 -> 71012 bytes
 .../roboto-condensed/Roboto-Condensed-Light.eot |   Bin 0 -> 75263 bytes
 .../roboto-condensed/Roboto-Condensed-Light.svg |   310 +
 .../roboto-condensed/Roboto-Condensed-Light.ttf |   Bin 0 -> 168004 bytes
 .../Roboto-Condensed-Light.woff                 |   Bin 0 -> 84488 bytes
 .../Roboto-Condensed-Light.woff2                |   Bin 0 -> 63712 bytes
 .../Roboto-Condensed-LightItalic.eot            |   Bin 0 -> 82392 bytes
 .../Roboto-Condensed-LightItalic.svg            |   323 +
 .../Roboto-Condensed-LightItalic.ttf            |   Bin 0 -> 175380 bytes
 .../Roboto-Condensed-LightItalic.woff           |   Bin 0 -> 91864 bytes
 .../Roboto-Condensed-LightItalic.woff2          |   Bin 0 -> 69972 bytes
 .../Roboto-Condensed-Regular.eot                |   Bin 0 -> 76596 bytes
 .../Roboto-Condensed-Regular.svg                |   306 +
 .../Roboto-Condensed-Regular.ttf                |   Bin 0 -> 170284 bytes
 .../Roboto-Condensed-Regular.woff               |   Bin 0 -> 85472 bytes
 .../Roboto-Condensed-Regular.woff2              |   Bin 0 -> 64864 bytes
 .../Roboto-Condensed-RegularItalic.eot          |   Bin 0 -> 83400 bytes
 .../Roboto-Condensed-RegularItalic.svg          |   326 +
 .../Roboto-Condensed-RegularItalic.ttf          |   Bin 0 -> 175188 bytes
 .../Roboto-Condensed-RegularItalic.woff         |   Bin 0 -> 92536 bytes
 .../Roboto-Condensed-RegularItalic.woff2        |   Bin 0 -> 70916 bytes
 .../fonts/roboto-slab/Roboto-Slab-Bold.eot      |   Bin 0 -> 79520 bytes
 .../fonts/roboto-slab/Roboto-Slab-Bold.svg      |   334 +
 .../fonts/roboto-slab/Roboto-Slab-Bold.ttf      |   Bin 0 -> 170616 bytes
 .../fonts/roboto-slab/Roboto-Slab-Bold.woff     |   Bin 0 -> 87624 bytes
 .../fonts/roboto-slab/Roboto-Slab-Bold.woff2    |   Bin 0 -> 67312 bytes
 .../fonts/roboto-slab/Roboto-Slab-Light.eot     |   Bin 0 -> 80294 bytes
 .../fonts/roboto-slab/Roboto-Slab-Light.svg     |   337 +
 .../fonts/roboto-slab/Roboto-Slab-Light.ttf     |   Bin 0 -> 179096 bytes
 .../fonts/roboto-slab/Roboto-Slab-Light.woff    |   Bin 0 -> 88600 bytes
 .../fonts/roboto-slab/Roboto-Slab-Light.woff2   |   Bin 0 -> 67884 bytes
 .../fonts/roboto-slab/Roboto-Slab-Regular.eot   |   Bin 0 -> 78331 bytes
 .../fonts/roboto-slab/Roboto-Slab-Regular.svg   |   337 +
 .../fonts/roboto-slab/Roboto-Slab-Regular.ttf   |   Bin 0 -> 169064 bytes
 .../fonts/roboto-slab/Roboto-Slab-Regular.woff  |   Bin 0 -> 86288 bytes
 .../fonts/roboto-slab/Roboto-Slab-Regular.woff2 |   Bin 0 -> 66444 bytes
 .../fonts/roboto-slab/Roboto-Slab-Thin.eot      |   Bin 0 -> 78575 bytes
 .../fonts/roboto-slab/Roboto-Slab-Thin.svg      |   333 +
 .../fonts/roboto-slab/Roboto-Slab-Thin.ttf      |   Bin 0 -> 181156 bytes
 .../fonts/roboto-slab/Roboto-Slab-Thin.woff     |   Bin 0 -> 87452 bytes
 .../fonts/roboto-slab/Roboto-Slab-Thin.woff2    |   Bin 0 -> 66328 bytes
 .../fonts/roboto/Roboto-Black.eot               |   Bin 0 -> 76800 bytes
 .../fonts/roboto/Roboto-Black.svg               |   302 +
 .../fonts/roboto/Roboto-Black.ttf               |   Bin 0 -> 171480 bytes
 .../fonts/roboto/Roboto-Black.woff              |   Bin 0 -> 86508 bytes
 .../fonts/roboto/Roboto-Black.woff2             |   Bin 0 -> 64960 bytes
 .../fonts/roboto/Roboto-BlackItalic.eot         |   Bin 0 -> 84739 bytes
 .../fonts/roboto/Roboto-BlackItalic.svg         |   324 +
 .../fonts/roboto/Roboto-BlackItalic.ttf         |   Bin 0 -> 177552 bytes
 .../fonts/roboto/Roboto-BlackItalic.woff        |   Bin 0 -> 94048 bytes
 .../fonts/roboto/Roboto-BlackItalic.woff2       |   Bin 0 -> 72088 bytes
 .../fonts/roboto/Roboto-Bold.eot                |   Bin 0 -> 76517 bytes
 .../fonts/roboto/Roboto-Bold.svg                |   309 +
 .../fonts/roboto/Roboto-Bold.ttf                |   Bin 0 -> 170760 bytes
 .../fonts/roboto/Roboto-Bold.woff               |   Bin 0 -> 86184 bytes
 .../fonts/roboto/Roboto-Bold.woff2              |   Bin 0 -> 64740 bytes
 .../fonts/roboto/Roboto-BoldItalic.eot          |   Bin 0 -> 82701 bytes
 .../fonts/roboto/Roboto-BoldItalic.svg          |   325 +
 .../fonts/roboto/Roboto-BoldItalic.ttf          |   Bin 0 -> 174952 bytes
 .../fonts/roboto/Roboto-BoldItalic.woff         |   Bin 0 -> 91968 bytes
 .../fonts/roboto/Roboto-BoldItalic.woff2        |   Bin 0 -> 70360 bytes
 .../fonts/roboto/Roboto-Light.eot               |   Bin 0 -> 75976 bytes
 .../fonts/roboto/Roboto-Light.svg               |   312 +
 .../fonts/roboto/Roboto-Light.ttf               |   Bin 0 -> 170420 bytes
 .../fonts/roboto/Roboto-Light.woff              |   Bin 0 -> 85692 bytes
 .../fonts/roboto/Roboto-Light.woff2             |   Bin 0 -> 64320 bytes
 .../fonts/roboto/Roboto-LightItalic.eot         |   Bin 0 -> 83173 bytes
 .../fonts/roboto/Roboto-LightItalic.svg         |   329 +
 .../fonts/roboto/Roboto-LightItalic.ttf         |   Bin 0 -> 176616 bytes
 .../fonts/roboto/Roboto-LightItalic.woff        |   Bin 0 -> 92864 bytes
 .../fonts/roboto/Roboto-LightItalic.woff2       |   Bin 0 -> 70760 bytes
 .../fonts/roboto/Roboto-Medium.eot              |   Bin 0 -> 77314 bytes
 .../fonts/roboto/Roboto-Medium.svg              |   305 +
 .../fonts/roboto/Roboto-Medium.ttf              |   Bin 0 -> 172064 bytes
 .../fonts/roboto/Roboto-Medium.woff             |   Bin 0 -> 86444 bytes
 .../fonts/roboto/Roboto-Medium.woff2            |   Bin 0 -> 65484 bytes
 .../fonts/roboto/Roboto-MediumItalic.eot        |   Bin 0 -> 83952 bytes
 .../fonts/roboto/Roboto-MediumItalic.svg        |   326 +
 .../fonts/roboto/Roboto-MediumItalic.ttf        |   Bin 0 -> 176864 bytes
 .../fonts/roboto/Roboto-MediumItalic.woff       |   Bin 0 -> 93228 bytes
 .../fonts/roboto/Roboto-MediumItalic.woff2      |   Bin 0 -> 71284 bytes
 .../fonts/roboto/Roboto-Regular.eot             |   Bin 0 -> 76228 bytes
 .../fonts/roboto/Roboto-Regular.svg             |   308 +
 .../fonts/roboto/Roboto-Regular.ttf             |   Bin 0 -> 171676 bytes
 .../fonts/roboto/Roboto-Regular.woff            |   Bin 0 -> 85876 bytes
 .../fonts/roboto/Roboto-Regular.woff2           |   Bin 0 -> 64632 bytes
 .../fonts/roboto/Roboto-RegularItalic.eot       |   Bin 0 -> 82515 bytes
 .../fonts/roboto/Roboto-RegularItalic.svg       |   323 +
 .../fonts/roboto/Roboto-RegularItalic.ttf       |   Bin 0 -> 173932 bytes
 .../fonts/roboto/Roboto-RegularItalic.woff      |   Bin 0 -> 91728 bytes
 .../fonts/roboto/Roboto-RegularItalic.woff2     |   Bin 0 -> 70280 bytes
 .../fonts/roboto/Roboto-Thin.eot                |   Bin 0 -> 74274 bytes
 .../fonts/roboto/Roboto-Thin.svg                |   313 +
 .../fonts/roboto/Roboto-Thin.ttf                |   Bin 0 -> 171904 bytes
 .../fonts/roboto/Roboto-Thin.woff               |   Bin 0 -> 84224 bytes
 .../fonts/roboto/Roboto-Thin.woff2              |   Bin 0 -> 63048 bytes
 .../fonts/roboto/Roboto-ThinItalic.eot          |   Bin 0 -> 80583 bytes
 .../fonts/roboto/Roboto-ThinItalic.svg          |   332 +
 .../fonts/roboto/Roboto-ThinItalic.ttf          |   Bin 0 -> 176300 bytes
 .../fonts/roboto/Roboto-ThinItalic.woff         |   Bin 0 -> 90784 bytes
 .../fonts/roboto/Roboto-ThinItalic.woff2        |   Bin 0 -> 68328 bytes
 node_modules/roboto-fontface/package.json       |    60 +
 node_modules/roboto-fontface/test.html          |   288 +
 node_modules/roboto-fontface/test.sh            |    18 +
 node_modules/rxjs/AsyncSubject.d.ts             |    15 +
 node_modules/rxjs/AsyncSubject.js               |    53 +
 node_modules/rxjs/AsyncSubject.js.map           |     1 +
 node_modules/rxjs/BehaviorSubject.d.ts          |    14 +
 node_modules/rxjs/BehaviorSubject.js            |    49 +
 node_modules/rxjs/BehaviorSubject.js.map        |     1 +
 node_modules/rxjs/InnerSubscriber.d.ts          |    17 +
 node_modules/rxjs/InnerSubscriber.js            |    36 +
 node_modules/rxjs/InnerSubscriber.js.map        |     1 +
 node_modules/rxjs/LICENSE.txt                   |   202 +
 node_modules/rxjs/Notification.d.ts             |    77 +
 node_modules/rxjs/Notification.js               |   127 +
 node_modules/rxjs/Notification.js.map           |     1 +
 node_modules/rxjs/Observable.d.ts               |    75 +
 node_modules/rxjs/Observable.js                 |   305 +
 node_modules/rxjs/Observable.js.map             |     1 +
 node_modules/rxjs/Observer.d.ts                 |    26 +
 node_modules/rxjs/Observer.js                   |     8 +
 node_modules/rxjs/Observer.js.map               |     1 +
 node_modules/rxjs/Operator.d.ts                 |     5 +
 node_modules/rxjs/Operator.js                   |     2 +
 node_modules/rxjs/Operator.js.map               |     1 +
 node_modules/rxjs/OuterSubscriber.d.ts          |    12 +
 node_modules/rxjs/OuterSubscriber.js            |    30 +
 node_modules/rxjs/OuterSubscriber.js.map        |     1 +
 node_modules/rxjs/README.md                     |   204 +
 node_modules/rxjs/ReplaySubject.d.ts            |    18 +
 node_modules/rxjs/ReplaySubject.js              |   102 +
 node_modules/rxjs/ReplaySubject.js.map          |     1 +
 node_modules/rxjs/Rx.d.ts                       |   195 +
 node_modules/rxjs/Rx.js                         |   233 +
 node_modules/rxjs/Rx.js.map                     |     1 +
 node_modules/rxjs/Scheduler.d.ts                |    54 +
 node_modules/rxjs/Scheduler.js                  |    49 +
 node_modules/rxjs/Scheduler.js.map              |     1 +
 node_modules/rxjs/Subject.d.ts                  |    43 +
 node_modules/rxjs/Subject.js                    |   168 +
 node_modules/rxjs/Subject.js.map                |     1 +
 node_modules/rxjs/SubjectSubscription.d.ts      |    15 +
 node_modules/rxjs/SubjectSubscription.js        |    40 +
 node_modules/rxjs/SubjectSubscription.js.map    |     1 +
 node_modules/rxjs/Subscriber.d.ts               |    68 +
 node_modules/rxjs/Subscriber.js                 |   265 +
 node_modules/rxjs/Subscriber.js.map             |     1 +
 node_modules/rxjs/Subscription.d.ts             |    70 +
 node_modules/rxjs/Subscription.js               |   193 +
 node_modules/rxjs/Subscription.js.map           |     1 +
 node_modules/rxjs/_esm2015/AsyncSubject.js      |    44 +
 node_modules/rxjs/_esm2015/AsyncSubject.js.map  |     1 +
 node_modules/rxjs/_esm2015/BehaviorSubject.js   |    36 +
 .../rxjs/_esm2015/BehaviorSubject.js.map        |     1 +
 node_modules/rxjs/_esm2015/InnerSubscriber.js   |    27 +
 .../rxjs/_esm2015/InnerSubscriber.js.map        |     1 +
 node_modules/rxjs/_esm2015/LICENSE.txt          |   202 +
 node_modules/rxjs/_esm2015/Notification.js      |   124 +
 node_modules/rxjs/_esm2015/Notification.js.map  |     1 +
 node_modules/rxjs/_esm2015/Observable.js        |   296 +
 node_modules/rxjs/_esm2015/Observable.js.map    |     1 +
 node_modules/rxjs/_esm2015/Observer.js          |     7 +
 node_modules/rxjs/_esm2015/Observer.js.map      |     1 +
 node_modules/rxjs/_esm2015/Operator.js          |     1 +
 node_modules/rxjs/_esm2015/Operator.js.map      |     1 +
 node_modules/rxjs/_esm2015/OuterSubscriber.js   |    18 +
 .../rxjs/_esm2015/OuterSubscriber.js.map        |     1 +
 node_modules/rxjs/_esm2015/README.md            |   204 +
 node_modules/rxjs/_esm2015/ReplaySubject.js     |    90 +
 node_modules/rxjs/_esm2015/ReplaySubject.js.map |     1 +
 node_modules/rxjs/_esm2015/Rx.js                |   204 +
 node_modules/rxjs/_esm2015/Rx.js.map            |     1 +
 node_modules/rxjs/_esm2015/Scheduler.js         |    44 +
 node_modules/rxjs/_esm2015/Scheduler.js.map     |     1 +
 node_modules/rxjs/_esm2015/Subject.js           |   153 +
 node_modules/rxjs/_esm2015/Subject.js.map       |     1 +
 .../rxjs/_esm2015/SubjectSubscription.js        |    31 +
 .../rxjs/_esm2015/SubjectSubscription.js.map    |     1 +
 node_modules/rxjs/_esm2015/Subscriber.js        |   253 +
 node_modules/rxjs/_esm2015/Subscriber.js.map    |     1 +
 node_modules/rxjs/_esm2015/Subscription.js      |   190 +
 node_modules/rxjs/_esm2015/Subscription.js.map  |     1 +
 .../_esm2015/add/observable/bindCallback.js     |     4 +
 .../_esm2015/add/observable/bindCallback.js.map |     1 +
 .../_esm2015/add/observable/bindNodeCallback.js |     4 +
 .../add/observable/bindNodeCallback.js.map      |     1 +
 .../_esm2015/add/observable/combineLatest.js    |     4 +
 .../add/observable/combineLatest.js.map         |     1 +
 .../rxjs/_esm2015/add/observable/concat.js      |     4 +
 .../rxjs/_esm2015/add/observable/concat.js.map  |     1 +
 .../rxjs/_esm2015/add/observable/defer.js       |     4 +
 .../rxjs/_esm2015/add/observable/defer.js.map   |     1 +
 .../rxjs/_esm2015/add/observable/dom/ajax.js    |     4 +
 .../_esm2015/add/observable/dom/ajax.js.map     |     1 +
 .../_esm2015/add/observable/dom/webSocket.js    |     4 +
 .../add/observable/dom/webSocket.js.map         |     1 +
 .../rxjs/_esm2015/add/observable/empty.js       |     4 +
 .../rxjs/_esm2015/add/observable/empty.js.map   |     1 +
 .../rxjs/_esm2015/add/observable/forkJoin.js    |     4 +
 .../_esm2015/add/observable/forkJoin.js.map     |     1 +
 .../rxjs/_esm2015/add/observable/from.js        |     4 +
 .../rxjs/_esm2015/add/observable/from.js.map    |     1 +
 .../rxjs/_esm2015/add/observable/fromEvent.js   |     4 +
 .../_esm2015/add/observable/fromEvent.js.map    |     1 +
 .../_esm2015/add/observable/fromEventPattern.js |     4 +
 .../add/observable/fromEventPattern.js.map      |     1 +
 .../rxjs/_esm2015/add/observable/fromPromise.js |     4 +
 .../_esm2015/add/observable/fromPromise.js.map  |     1 +
 .../rxjs/_esm2015/add/observable/generate.js    |     4 +
 .../_esm2015/add/observable/generate.js.map     |     1 +
 node_modules/rxjs/_esm2015/add/observable/if.js |     4 +
 .../rxjs/_esm2015/add/observable/if.js.map      |     1 +
 .../rxjs/_esm2015/add/observable/interval.js    |     4 +
 .../_esm2015/add/observable/interval.js.map     |     1 +
 .../rxjs/_esm2015/add/observable/merge.js       |     4 +
 .../rxjs/_esm2015/add/observable/merge.js.map   |     1 +
 .../rxjs/_esm2015/add/observable/never.js       |     4 +
 .../rxjs/_esm2015/add/observable/never.js.map   |     1 +
 node_modules/rxjs/_esm2015/add/observable/of.js |     4 +
 .../rxjs/_esm2015/add/observable/of.js.map      |     1 +
 .../add/observable/onErrorResumeNext.js         |     4 +
 .../add/observable/onErrorResumeNext.js.map     |     1 +
 .../rxjs/_esm2015/add/observable/pairs.js       |     4 +
 .../rxjs/_esm2015/add/observable/pairs.js.map   |     1 +
 .../rxjs/_esm2015/add/observable/race.js        |     4 +
 .../rxjs/_esm2015/add/observable/race.js.map    |     1 +
 .../rxjs/_esm2015/add/observable/range.js       |     4 +
 .../rxjs/_esm2015/add/observable/range.js.map   |     1 +
 .../rxjs/_esm2015/add/observable/throw.js       |     4 +
 .../rxjs/_esm2015/add/observable/throw.js.map   |     1 +
 .../rxjs/_esm2015/add/observable/timer.js       |     4 +
 .../rxjs/_esm2015/add/observable/timer.js.map   |     1 +
 .../rxjs/_esm2015/add/observable/using.js       |     4 +
 .../rxjs/_esm2015/add/observable/using.js.map   |     1 +
 .../rxjs/_esm2015/add/observable/zip.js         |     4 +
 .../rxjs/_esm2015/add/observable/zip.js.map     |     1 +
 .../rxjs/_esm2015/add/operator/audit.js         |     4 +
 .../rxjs/_esm2015/add/operator/audit.js.map     |     1 +
 .../rxjs/_esm2015/add/operator/auditTime.js     |     4 +
 .../rxjs/_esm2015/add/operator/auditTime.js.map |     1 +
 .../rxjs/_esm2015/add/operator/buffer.js        |     4 +
 .../rxjs/_esm2015/add/operator/buffer.js.map    |     1 +
 .../rxjs/_esm2015/add/operator/bufferCount.js   |     4 +
 .../_esm2015/add/operator/bufferCount.js.map    |     1 +
 .../rxjs/_esm2015/add/operator/bufferTime.js    |     4 +
 .../_esm2015/add/operator/bufferTime.js.map     |     1 +
 .../rxjs/_esm2015/add/operator/bufferToggle.js  |     4 +
 .../_esm2015/add/operator/bufferToggle.js.map   |     1 +
 .../rxjs/_esm2015/add/operator/bufferWhen.js    |     4 +
 .../_esm2015/add/operator/bufferWhen.js.map     |     1 +
 .../rxjs/_esm2015/add/operator/catch.js         |     5 +
 .../rxjs/_esm2015/add/operator/catch.js.map     |     1 +
 .../rxjs/_esm2015/add/operator/combineAll.js    |     4 +
 .../_esm2015/add/operator/combineAll.js.map     |     1 +
 .../rxjs/_esm2015/add/operator/combineLatest.js |     4 +
 .../_esm2015/add/operator/combineLatest.js.map  |     1 +
 .../rxjs/_esm2015/add/operator/concat.js        |     4 +
 .../rxjs/_esm2015/add/operator/concat.js.map    |     1 +
 .../rxjs/_esm2015/add/operator/concatAll.js     |     4 +
 .../rxjs/_esm2015/add/operator/concatAll.js.map |     1 +
 .../rxjs/_esm2015/add/operator/concatMap.js     |     4 +
 .../rxjs/_esm2015/add/operator/concatMap.js.map |     1 +
 .../rxjs/_esm2015/add/operator/concatMapTo.js   |     4 +
 .../_esm2015/add/operator/concatMapTo.js.map    |     1 +
 .../rxjs/_esm2015/add/operator/count.js         |     4 +
 .../rxjs/_esm2015/add/operator/count.js.map     |     1 +
 .../rxjs/_esm2015/add/operator/debounce.js      |     4 +
 .../rxjs/_esm2015/add/operator/debounce.js.map  |     1 +
 .../rxjs/_esm2015/add/operator/debounceTime.js  |     4 +
 .../_esm2015/add/operator/debounceTime.js.map   |     1 +
 .../_esm2015/add/operator/defaultIfEmpty.js     |     4 +
 .../_esm2015/add/operator/defaultIfEmpty.js.map |     1 +
 .../rxjs/_esm2015/add/operator/delay.js         |     4 +
 .../rxjs/_esm2015/add/operator/delay.js.map     |     1 +
 .../rxjs/_esm2015/add/operator/delayWhen.js     |     4 +
 .../rxjs/_esm2015/add/operator/delayWhen.js.map |     1 +
 .../rxjs/_esm2015/add/operator/dematerialize.js |     4 +
 .../_esm2015/add/operator/dematerialize.js.map  |     1 +
 .../rxjs/_esm2015/add/operator/distinct.js      |     4 +
 .../rxjs/_esm2015/add/operator/distinct.js.map  |     1 +
 .../add/operator/distinctUntilChanged.js        |     4 +
 .../add/operator/distinctUntilChanged.js.map    |     1 +
 .../add/operator/distinctUntilKeyChanged.js     |     4 +
 .../add/operator/distinctUntilKeyChanged.js.map |     1 +
 node_modules/rxjs/_esm2015/add/operator/do.js   |     5 +
 .../rxjs/_esm2015/add/operator/do.js.map        |     1 +
 .../rxjs/_esm2015/add/operator/elementAt.js     |     4 +
 .../rxjs/_esm2015/add/operator/elementAt.js.map |     1 +
 .../rxjs/_esm2015/add/operator/every.js         |     4 +
 .../rxjs/_esm2015/add/operator/every.js.map     |     1 +
 .../rxjs/_esm2015/add/operator/exhaust.js       |     4 +
 .../rxjs/_esm2015/add/operator/exhaust.js.map   |     1 +
 .../rxjs/_esm2015/add/operator/exhaustMap.js    |     4 +
 .../_esm2015/add/operator/exhaustMap.js.map     |     1 +
 .../rxjs/_esm2015/add/operator/expand.js        |     4 +
 .../rxjs/_esm2015/add/operator/expand.js.map    |     1 +
 .../rxjs/_esm2015/add/operator/filter.js        |     4 +
 .../rxjs/_esm2015/add/operator/filter.js.map    |     1 +
 .../rxjs/_esm2015/add/operator/finally.js       |     5 +
 .../rxjs/_esm2015/add/operator/finally.js.map   |     1 +
 node_modules/rxjs/_esm2015/add/operator/find.js |     4 +
 .../rxjs/_esm2015/add/operator/find.js.map      |     1 +
 .../rxjs/_esm2015/add/operator/findIndex.js     |     4 +
 .../rxjs/_esm2015/add/operator/findIndex.js.map |     1 +
 .../rxjs/_esm2015/add/operator/first.js         |     4 +
 .../rxjs/_esm2015/add/operator/first.js.map     |     1 +
 .../rxjs/_esm2015/add/operator/groupBy.js       |     4 +
 .../rxjs/_esm2015/add/operator/groupBy.js.map   |     1 +
 .../_esm2015/add/operator/ignoreElements.js     |     4 +
 .../_esm2015/add/operator/ignoreElements.js.map |     1 +
 .../rxjs/_esm2015/add/operator/isEmpty.js       |     4 +
 .../rxjs/_esm2015/add/operator/isEmpty.js.map   |     1 +
 node_modules/rxjs/_esm2015/add/operator/last.js |     4 +
 .../rxjs/_esm2015/add/operator/last.js.map      |     1 +
 node_modules/rxjs/_esm2015/add/operator/let.js  |     5 +
 .../rxjs/_esm2015/add/operator/let.js.map       |     1 +
 node_modules/rxjs/_esm2015/add/operator/map.js  |     4 +
 .../rxjs/_esm2015/add/operator/map.js.map       |     1 +
 .../rxjs/_esm2015/add/operator/mapTo.js         |     4 +
 .../rxjs/_esm2015/add/operator/mapTo.js.map     |     1 +
 .../rxjs/_esm2015/add/operator/materialize.js   |     4 +
 .../_esm2015/add/operator/materialize.js.map    |     1 +
 node_modules/rxjs/_esm2015/add/operator/max.js  |     4 +
 .../rxjs/_esm2015/add/operator/max.js.map       |     1 +
 .../rxjs/_esm2015/add/operator/merge.js         |     4 +
 .../rxjs/_esm2015/add/operator/merge.js.map     |     1 +
 .../rxjs/_esm2015/add/operator/mergeAll.js      |     4 +
 .../rxjs/_esm2015/add/operator/mergeAll.js.map  |     1 +
 .../rxjs/_esm2015/add/operator/mergeMap.js      |     5 +
 .../rxjs/_esm2015/add/operator/mergeMap.js.map  |     1 +
 .../rxjs/_esm2015/add/operator/mergeMapTo.js    |     5 +
 .../_esm2015/add/operator/mergeMapTo.js.map     |     1 +
 .../rxjs/_esm2015/add/operator/mergeScan.js     |     4 +
 .../rxjs/_esm2015/add/operator/mergeScan.js.map |     1 +
 node_modules/rxjs/_esm2015/add/operator/min.js  |     4 +
 .../rxjs/_esm2015/add/operator/min.js.map       |     1 +
 .../rxjs/_esm2015/add/operator/multicast.js     |     4 +
 .../rxjs/_esm2015/add/operator/multicast.js.map |     1 +
 .../rxjs/_esm2015/add/operator/observeOn.js     |     4 +
 .../rxjs/_esm2015/add/operator/observeOn.js.map |     1 +
 .../_esm2015/add/operator/onErrorResumeNext.js  |     4 +
 .../add/operator/onErrorResumeNext.js.map       |     1 +
 .../rxjs/_esm2015/add/operator/pairwise.js      |     4 +
 .../rxjs/_esm2015/add/operator/pairwise.js.map  |     1 +
 .../rxjs/_esm2015/add/operator/partition.js     |     4 +
 .../rxjs/_esm2015/add/operator/partition.js.map |     1 +
 .../rxjs/_esm2015/add/operator/pluck.js         |     4 +
 .../rxjs/_esm2015/add/operator/pluck.js.map     |     1 +
 .../rxjs/_esm2015/add/operator/publish.js       |     4 +
 .../rxjs/_esm2015/add/operator/publish.js.map   |     1 +
 .../_esm2015/add/operator/publishBehavior.js    |     4 +
 .../add/operator/publishBehavior.js.map         |     1 +
 .../rxjs/_esm2015/add/operator/publishLast.js   |     4 +
 .../_esm2015/add/operator/publishLast.js.map    |     1 +
 .../rxjs/_esm2015/add/operator/publishReplay.js |     4 +
 .../_esm2015/add/operator/publishReplay.js.map  |     1 +
 node_modules/rxjs/_esm2015/add/operator/race.js |     4 +
 .../rxjs/_esm2015/add/operator/race.js.map      |     1 +
 .../rxjs/_esm2015/add/operator/reduce.js        |     4 +
 .../rxjs/_esm2015/add/operator/reduce.js.map    |     1 +
 .../rxjs/_esm2015/add/operator/repeat.js        |     4 +
 .../rxjs/_esm2015/add/operator/repeat.js.map    |     1 +
 .../rxjs/_esm2015/add/operator/repeatWhen.js    |     4 +
 .../_esm2015/add/operator/repeatWhen.js.map     |     1 +
 .../rxjs/_esm2015/add/operator/retry.js         |     4 +
 .../rxjs/_esm2015/add/operator/retry.js.map     |     1 +
 .../rxjs/_esm2015/add/operator/retryWhen.js     |     4 +
 .../rxjs/_esm2015/add/operator/retryWhen.js.map |     1 +
 .../rxjs/_esm2015/add/operator/sample.js        |     4 +
 .../rxjs/_esm2015/add/operator/sample.js.map    |     1 +
 .../rxjs/_esm2015/add/operator/sampleTime.js    |     4 +
 .../_esm2015/add/operator/sampleTime.js.map     |     1 +
 node_modules/rxjs/_esm2015/add/operator/scan.js |     4 +
 .../rxjs/_esm2015/add/operator/scan.js.map      |     1 +
 .../rxjs/_esm2015/add/operator/sequenceEqual.js |     4 +
 .../_esm2015/add/operator/sequenceEqual.js.map  |     1 +
 .../rxjs/_esm2015/add/operator/share.js         |     4 +
 .../rxjs/_esm2015/add/operator/share.js.map     |     1 +
 .../rxjs/_esm2015/add/operator/shareReplay.js   |     4 +
 .../_esm2015/add/operator/shareReplay.js.map    |     1 +
 .../rxjs/_esm2015/add/operator/single.js        |     4 +
 .../rxjs/_esm2015/add/operator/single.js.map    |     1 +
 node_modules/rxjs/_esm2015/add/operator/skip.js |     4 +
 .../rxjs/_esm2015/add/operator/skip.js.map      |     1 +
 .../rxjs/_esm2015/add/operator/skipLast.js      |     4 +
 .../rxjs/_esm2015/add/operator/skipLast.js.map  |     1 +
 .../rxjs/_esm2015/add/operator/skipUntil.js     |     4 +
 .../rxjs/_esm2015/add/operator/skipUntil.js.map |     1 +
 .../rxjs/_esm2015/add/operator/skipWhile.js     |     4 +
 .../rxjs/_esm2015/add/operator/skipWhile.js.map |     1 +
 .../rxjs/_esm2015/add/operator/startWith.js     |     4 +
 .../rxjs/_esm2015/add/operator/startWith.js.map |     1 +
 .../rxjs/_esm2015/add/operator/subscribeOn.js   |     4 +
 .../_esm2015/add/operator/subscribeOn.js.map    |     1 +
 .../rxjs/_esm2015/add/operator/switch.js        |     5 +
 .../rxjs/_esm2015/add/operator/switch.js.map    |     1 +
 .../rxjs/_esm2015/add/operator/switchMap.js     |     4 +
 .../rxjs/_esm2015/add/operator/switchMap.js.map |     1 +
 .../rxjs/_esm2015/add/operator/switchMapTo.js   |     4 +
 .../_esm2015/add/operator/switchMapTo.js.map    |     1 +
 node_modules/rxjs/_esm2015/add/operator/take.js |     4 +
 .../rxjs/_esm2015/add/operator/take.js.map      |     1 +
 .../rxjs/_esm2015/add/operator/takeLast.js      |     4 +
 .../rxjs/_esm2015/add/operator/takeLast.js.map  |     1 +
 .../rxjs/_esm2015/add/operator/takeUntil.js     |     4 +
 .../rxjs/_esm2015/add/operator/takeUntil.js.map |     1 +
 .../rxjs/_esm2015/add/operator/takeWhile.js     |     4 +
 .../rxjs/_esm2015/add/operator/takeWhile.js.map |     1 +
 .../rxjs/_esm2015/add/operator/throttle.js      |     4 +
 .../rxjs/_esm2015/add/operator/throttle.js.map  |     1 +
 .../rxjs/_esm2015/add/operator/throttleTime.js  |     4 +
 .../_esm2015/add/operator/throttleTime.js.map   |     1 +
 .../rxjs/_esm2015/add/operator/timeInterval.js  |     4 +
 .../_esm2015/add/operator/timeInterval.js.map   |     1 +
 .../rxjs/_esm2015/add/operator/timeout.js       |     4 +
 .../rxjs/_esm2015/add/operator/timeout.js.map   |     1 +
 .../rxjs/_esm2015/add/operator/timeoutWith.js   |     4 +
 .../_esm2015/add/operator/timeoutWith.js.map    |     1 +
 .../rxjs/_esm2015/add/operator/timestamp.js     |     4 +
 .../rxjs/_esm2015/add/operator/timestamp.js.map |     1 +
 .../rxjs/_esm2015/add/operator/toArray.js       |     4 +
 .../rxjs/_esm2015/add/operator/toArray.js.map   |     1 +
 .../rxjs/_esm2015/add/operator/toPromise.js     |     3 +
 .../rxjs/_esm2015/add/operator/toPromise.js.map |     1 +
 .../rxjs/_esm2015/add/operator/window.js        |     4 +
 .../rxjs/_esm2015/add/operator/window.js.map    |     1 +
 .../rxjs/_esm2015/add/operator/windowCount.js   |     4 +
 .../_esm2015/add/operator/windowCount.js.map    |     1 +
 .../rxjs/_esm2015/add/operator/windowTime.js    |     4 +
 .../_esm2015/add/operator/windowTime.js.map     |     1 +
 .../rxjs/_esm2015/add/operator/windowToggle.js  |     4 +
 .../_esm2015/add/operator/windowToggle.js.map   |     1 +
 .../rxjs/_esm2015/add/operator/windowWhen.js    |     4 +
 .../_esm2015/add/operator/windowWhen.js.map     |     1 +
 .../_esm2015/add/operator/withLatestFrom.js     |     4 +
 .../_esm2015/add/operator/withLatestFrom.js.map |     1 +
 node_modules/rxjs/_esm2015/add/operator/zip.js  |     4 +
 .../rxjs/_esm2015/add/operator/zip.js.map       |     1 +
 .../rxjs/_esm2015/add/operator/zipAll.js        |     4 +
 .../rxjs/_esm2015/add/operator/zipAll.js.map    |     1 +
 node_modules/rxjs/_esm2015/interfaces.js        |     1 +
 node_modules/rxjs/_esm2015/interfaces.js.map    |     1 +
 .../_esm2015/observable/ArrayLikeObservable.js  |    61 +
 .../observable/ArrayLikeObservable.js.map       |     1 +
 .../rxjs/_esm2015/observable/ArrayObservable.js |   109 +
 .../_esm2015/observable/ArrayObservable.js.map  |     1 +
 .../observable/BoundCallbackObservable.js       |   242 +
 .../observable/BoundCallbackObservable.js.map   |     1 +
 .../observable/BoundNodeCallbackObservable.js   |   241 +
 .../BoundNodeCallbackObservable.js.map          |     1 +
 .../observable/ConnectableObservable.js         |   156 +
 .../observable/ConnectableObservable.js.map     |     1 +
 .../rxjs/_esm2015/observable/DeferObservable.js |    88 +
 .../_esm2015/observable/DeferObservable.js.map  |     1 +
 .../rxjs/_esm2015/observable/EmptyObservable.js |    72 +
 .../_esm2015/observable/EmptyObservable.js.map  |     1 +
 .../rxjs/_esm2015/observable/ErrorObservable.js |    74 +
 .../_esm2015/observable/ErrorObservable.js.map  |     1 +
 .../_esm2015/observable/ForkJoinObservable.js   |   187 +
 .../observable/ForkJoinObservable.js.map        |     1 +
 .../_esm2015/observable/FromEventObservable.js  |   203 +
 .../observable/FromEventObservable.js.map       |     1 +
 .../observable/FromEventPatternObservable.js    |    99 +
 .../FromEventPatternObservable.js.map           |     1 +
 .../rxjs/_esm2015/observable/FromObservable.js  |   113 +
 .../_esm2015/observable/FromObservable.js.map   |     1 +
 .../_esm2015/observable/GenerateObservable.js   |   126 +
 .../observable/GenerateObservable.js.map        |     1 +
 .../rxjs/_esm2015/observable/IfObservable.js    |    50 +
 .../_esm2015/observable/IfObservable.js.map     |     1 +
 .../_esm2015/observable/IntervalObservable.js   |    75 +
 .../observable/IntervalObservable.js.map        |     1 +
 .../_esm2015/observable/IteratorObservable.js   |   148 +
 .../observable/IteratorObservable.js.map        |     1 +
 .../rxjs/_esm2015/observable/NeverObservable.js |    50 +
 .../_esm2015/observable/NeverObservable.js.map  |     1 +
 .../rxjs/_esm2015/observable/PairsObservable.js |    76 +
 .../_esm2015/observable/PairsObservable.js.map  |     1 +
 .../_esm2015/observable/PromiseObservable.js    |   111 +
 .../observable/PromiseObservable.js.map         |     1 +
 .../rxjs/_esm2015/observable/RangeObservable.js |    85 +
 .../_esm2015/observable/RangeObservable.js.map  |     1 +
 .../_esm2015/observable/ScalarObservable.js     |    49 +
 .../_esm2015/observable/ScalarObservable.js.map |     1 +
 .../observable/SubscribeOnObservable.js         |    38 +
 .../observable/SubscribeOnObservable.js.map     |     1 +
 .../rxjs/_esm2015/observable/TimerObservable.js |    96 +
 .../_esm2015/observable/TimerObservable.js.map  |     1 +
 .../rxjs/_esm2015/observable/UsingObservable.js |    50 +
 .../_esm2015/observable/UsingObservable.js.map  |     1 +
 .../rxjs/_esm2015/observable/bindCallback.js    |     3 +
 .../_esm2015/observable/bindCallback.js.map     |     1 +
 .../_esm2015/observable/bindNodeCallback.js     |     3 +
 .../_esm2015/observable/bindNodeCallback.js.map |     1 +
 .../rxjs/_esm2015/observable/combineLatest.js   |   130 +
 .../_esm2015/observable/combineLatest.js.map    |     1 +
 node_modules/rxjs/_esm2015/observable/concat.js |   105 +
 .../rxjs/_esm2015/observable/concat.js.map      |     1 +
 node_modules/rxjs/_esm2015/observable/defer.js  |     3 +
 .../rxjs/_esm2015/observable/defer.js.map       |     1 +
 .../_esm2015/observable/dom/AjaxObservable.js   |   395 +
 .../observable/dom/AjaxObservable.js.map        |     1 +
 .../_esm2015/observable/dom/WebSocketSubject.js |   239 +
 .../observable/dom/WebSocketSubject.js.map      |     1 +
 .../rxjs/_esm2015/observable/dom/ajax.js        |     3 +
 .../rxjs/_esm2015/observable/dom/ajax.js.map    |     1 +
 .../rxjs/_esm2015/observable/dom/webSocket.js   |     3 +
 .../_esm2015/observable/dom/webSocket.js.map    |     1 +
 node_modules/rxjs/_esm2015/observable/empty.js  |     3 +
 .../rxjs/_esm2015/observable/empty.js.map       |     1 +
 .../rxjs/_esm2015/observable/forkJoin.js        |     3 +
 .../rxjs/_esm2015/observable/forkJoin.js.map    |     1 +
 node_modules/rxjs/_esm2015/observable/from.js   |     3 +
 .../rxjs/_esm2015/observable/from.js.map        |     1 +
 .../rxjs/_esm2015/observable/fromEvent.js       |     3 +
 .../rxjs/_esm2015/observable/fromEvent.js.map   |     1 +
 .../_esm2015/observable/fromEventPattern.js     |     3 +
 .../_esm2015/observable/fromEventPattern.js.map |     1 +
 .../rxjs/_esm2015/observable/fromPromise.js     |     3 +
 .../rxjs/_esm2015/observable/fromPromise.js.map |     1 +
 .../rxjs/_esm2015/observable/generate.js        |     3 +
 .../rxjs/_esm2015/observable/generate.js.map    |     1 +
 node_modules/rxjs/_esm2015/observable/if.js     |     3 +
 node_modules/rxjs/_esm2015/observable/if.js.map |     1 +
 .../rxjs/_esm2015/observable/interval.js        |     3 +
 .../rxjs/_esm2015/observable/interval.js.map    |     1 +
 node_modules/rxjs/_esm2015/observable/merge.js  |    84 +
 .../rxjs/_esm2015/observable/merge.js.map       |     1 +
 node_modules/rxjs/_esm2015/observable/never.js  |     3 +
 .../rxjs/_esm2015/observable/never.js.map       |     1 +
 node_modules/rxjs/_esm2015/observable/of.js     |     3 +
 node_modules/rxjs/_esm2015/observable/of.js.map |     1 +
 .../_esm2015/observable/onErrorResumeNext.js    |     3 +
 .../observable/onErrorResumeNext.js.map         |     1 +
 node_modules/rxjs/_esm2015/observable/pairs.js  |     3 +
 .../rxjs/_esm2015/observable/pairs.js.map       |     1 +
 node_modules/rxjs/_esm2015/observable/race.js   |    71 +
 .../rxjs/_esm2015/observable/race.js.map        |     1 +
 node_modules/rxjs/_esm2015/observable/range.js  |     3 +
 .../rxjs/_esm2015/observable/range.js.map       |     1 +
 node_modules/rxjs/_esm2015/observable/throw.js  |     3 +
 .../rxjs/_esm2015/observable/throw.js.map       |     1 +
 node_modules/rxjs/_esm2015/observable/timer.js  |     3 +
 .../rxjs/_esm2015/observable/timer.js.map       |     1 +
 node_modules/rxjs/_esm2015/observable/using.js  |     3 +
 .../rxjs/_esm2015/observable/using.js.map       |     1 +
 node_modules/rxjs/_esm2015/observable/zip.js    |     3 +
 .../rxjs/_esm2015/observable/zip.js.map         |     1 +
 node_modules/rxjs/_esm2015/operator/audit.js    |    45 +
 .../rxjs/_esm2015/operator/audit.js.map         |     1 +
 .../rxjs/_esm2015/operator/auditTime.js         |    48 +
 .../rxjs/_esm2015/operator/auditTime.js.map     |     1 +
 node_modules/rxjs/_esm2015/operator/buffer.js   |    37 +
 .../rxjs/_esm2015/operator/buffer.js.map        |     1 +
 .../rxjs/_esm2015/operator/bufferCount.js       |    46 +
 .../rxjs/_esm2015/operator/bufferCount.js.map   |     1 +
 .../rxjs/_esm2015/operator/bufferTime.js        |    65 +
 .../rxjs/_esm2015/operator/bufferTime.js.map    |     1 +
 .../rxjs/_esm2015/operator/bufferToggle.js      |    43 +
 .../rxjs/_esm2015/operator/bufferToggle.js.map  |     1 +
 .../rxjs/_esm2015/operator/bufferWhen.js        |    38 +
 .../rxjs/_esm2015/operator/bufferWhen.js.map    |     1 +
 node_modules/rxjs/_esm2015/operator/catch.js    |    64 +
 .../rxjs/_esm2015/operator/catch.js.map         |     1 +
 .../rxjs/_esm2015/operator/combineAll.js        |    45 +
 .../rxjs/_esm2015/operator/combineAll.js.map    |     1 +
 .../rxjs/_esm2015/operator/combineLatest.js     |    49 +
 .../rxjs/_esm2015/operator/combineLatest.js.map |     1 +
 node_modules/rxjs/_esm2015/operator/concat.js   |    56 +
 .../rxjs/_esm2015/operator/concat.js.map        |     1 +
 .../rxjs/_esm2015/operator/concatAll.js         |    54 +
 .../rxjs/_esm2015/operator/concatAll.js.map     |     1 +
 .../rxjs/_esm2015/operator/concatMap.js         |    65 +
 .../rxjs/_esm2015/operator/concatMap.js.map     |     1 +
 .../rxjs/_esm2015/operator/concatMapTo.js       |    62 +
 .../rxjs/_esm2015/operator/concatMapTo.js.map   |     1 +
 node_modules/rxjs/_esm2015/operator/count.js    |    53 +
 .../rxjs/_esm2015/operator/count.js.map         |     1 +
 node_modules/rxjs/_esm2015/operator/debounce.js |    47 +
 .../rxjs/_esm2015/operator/debounce.js.map      |     1 +
 .../rxjs/_esm2015/operator/debounceTime.js      |    52 +
 .../rxjs/_esm2015/operator/debounceTime.js.map  |     1 +
 .../rxjs/_esm2015/operator/defaultIfEmpty.js    |    36 +
 .../_esm2015/operator/defaultIfEmpty.js.map     |     1 +
 node_modules/rxjs/_esm2015/operator/delay.js    |    45 +
 .../rxjs/_esm2015/operator/delay.js.map         |     1 +
 .../rxjs/_esm2015/operator/delayWhen.js         |    50 +
 .../rxjs/_esm2015/operator/delayWhen.js.map     |     1 +
 .../rxjs/_esm2015/operator/dematerialize.js     |    45 +
 .../rxjs/_esm2015/operator/dematerialize.js.map |     1 +
 node_modules/rxjs/_esm2015/operator/distinct.js |    50 +
 .../rxjs/_esm2015/operator/distinct.js.map      |     1 +
 .../_esm2015/operator/distinctUntilChanged.js   |    45 +
 .../operator/distinctUntilChanged.js.map        |     1 +
 .../operator/distinctUntilKeyChanged.js         |    63 +
 .../operator/distinctUntilKeyChanged.js.map     |     1 +
 node_modules/rxjs/_esm2015/operator/do.js       |    49 +
 node_modules/rxjs/_esm2015/operator/do.js.map   |     1 +
 .../rxjs/_esm2015/operator/elementAt.js         |    47 +
 .../rxjs/_esm2015/operator/elementAt.js.map     |     1 +
 node_modules/rxjs/_esm2015/operator/every.js    |    19 +
 .../rxjs/_esm2015/operator/every.js.map         |     1 +
 node_modules/rxjs/_esm2015/operator/exhaust.js  |    40 +
 .../rxjs/_esm2015/operator/exhaust.js.map       |     1 +
 .../rxjs/_esm2015/operator/exhaustMap.js        |    51 +
 .../rxjs/_esm2015/operator/exhaustMap.js.map    |     1 +
 node_modules/rxjs/_esm2015/operator/expand.js   |    52 +
 .../rxjs/_esm2015/operator/expand.js.map        |     1 +
 node_modules/rxjs/_esm2015/operator/filter.js   |    45 +
 .../rxjs/_esm2015/operator/filter.js.map        |     1 +
 node_modules/rxjs/_esm2015/operator/finally.js  |    13 +
 .../rxjs/_esm2015/operator/finally.js.map       |     1 +
 node_modules/rxjs/_esm2015/operator/find.js     |    39 +
 node_modules/rxjs/_esm2015/operator/find.js.map |     1 +
 .../rxjs/_esm2015/operator/findIndex.js         |    39 +
 .../rxjs/_esm2015/operator/findIndex.js.map     |     1 +
 node_modules/rxjs/_esm2015/operator/first.js    |    54 +
 .../rxjs/_esm2015/operator/first.js.map         |     1 +
 node_modules/rxjs/_esm2015/operator/groupBy.js  |    74 +
 .../rxjs/_esm2015/operator/groupBy.js.map       |     1 +
 .../rxjs/_esm2015/operator/ignoreElements.js    |    16 +
 .../_esm2015/operator/ignoreElements.js.map     |     1 +
 node_modules/rxjs/_esm2015/operator/isEmpty.js  |    14 +
 .../rxjs/_esm2015/operator/isEmpty.js.map       |     1 +
 node_modules/rxjs/_esm2015/operator/last.js     |    23 +
 node_modules/rxjs/_esm2015/operator/last.js.map |     1 +
 node_modules/rxjs/_esm2015/operator/let.js      |    10 +
 node_modules/rxjs/_esm2015/operator/let.js.map  |     1 +
 node_modules/rxjs/_esm2015/operator/map.js      |    38 +
 node_modules/rxjs/_esm2015/operator/map.js.map  |     1 +
 node_modules/rxjs/_esm2015/operator/mapTo.js    |    31 +
 .../rxjs/_esm2015/operator/mapTo.js.map         |     1 +
 .../rxjs/_esm2015/operator/materialize.js       |    49 +
 .../rxjs/_esm2015/operator/materialize.js.map   |     1 +
 node_modules/rxjs/_esm2015/operator/max.js      |    36 +
 node_modules/rxjs/_esm2015/operator/max.js.map  |     1 +
 node_modules/rxjs/_esm2015/operator/merge.js    |    53 +
 .../rxjs/_esm2015/operator/merge.js.map         |     1 +
 node_modules/rxjs/_esm2015/operator/mergeAll.js |    49 +
 .../rxjs/_esm2015/operator/mergeAll.js.map      |     1 +
 node_modules/rxjs/_esm2015/operator/mergeMap.js |    64 +
 .../rxjs/_esm2015/operator/mergeMap.js.map      |     1 +
 .../rxjs/_esm2015/operator/mergeMapTo.js        |    49 +
 .../rxjs/_esm2015/operator/mergeMapTo.js.map    |     1 +
 .../rxjs/_esm2015/operator/mergeScan.js         |    36 +
 .../rxjs/_esm2015/operator/mergeScan.js.map     |     1 +
 node_modules/rxjs/_esm2015/operator/min.js      |    36 +
 node_modules/rxjs/_esm2015/operator/min.js.map  |     1 +
 .../rxjs/_esm2015/operator/multicast.js         |   100 +
 .../rxjs/_esm2015/operator/multicast.js.map     |     1 +
 .../rxjs/_esm2015/operator/observeOn.js         |    51 +
 .../rxjs/_esm2015/operator/observeOn.js.map     |     1 +
 .../rxjs/_esm2015/operator/onErrorResumeNext.js |    67 +
 .../_esm2015/operator/onErrorResumeNext.js.map  |     1 +
 node_modules/rxjs/_esm2015/operator/pairwise.js |    40 +
 .../rxjs/_esm2015/operator/pairwise.js.map      |     1 +
 .../rxjs/_esm2015/operator/partition.js         |    46 +
 .../rxjs/_esm2015/operator/partition.js.map     |     1 +
 node_modules/rxjs/_esm2015/operator/pluck.js    |    31 +
 .../rxjs/_esm2015/operator/pluck.js.map         |     1 +
 node_modules/rxjs/_esm2015/operator/publish.js  |    19 +
 .../rxjs/_esm2015/operator/publish.js.map       |     1 +
 .../rxjs/_esm2015/operator/publishBehavior.js   |    11 +
 .../_esm2015/operator/publishBehavior.js.map    |     1 +
 .../rxjs/_esm2015/operator/publishLast.js       |    11 +
 .../rxjs/_esm2015/operator/publishLast.js.map   |     1 +
 .../rxjs/_esm2015/operator/publishReplay.js     |    15 +
 .../rxjs/_esm2015/operator/publishReplay.js.map |     1 +
 node_modules/rxjs/_esm2015/operator/race.js     |    16 +
 node_modules/rxjs/_esm2015/operator/race.js.map |     1 +
 node_modules/rxjs/_esm2015/operator/reduce.js   |    58 +
 .../rxjs/_esm2015/operator/reduce.js.map        |     1 +
 node_modules/rxjs/_esm2015/operator/repeat.js   |    17 +
 .../rxjs/_esm2015/operator/repeat.js.map        |     1 +
 .../rxjs/_esm2015/operator/repeatWhen.js        |    19 +
 .../rxjs/_esm2015/operator/repeatWhen.js.map    |     1 +
 node_modules/rxjs/_esm2015/operator/retry.js    |    21 +
 .../rxjs/_esm2015/operator/retry.js.map         |     1 +
 .../rxjs/_esm2015/operator/retryWhen.js         |    19 +
 .../rxjs/_esm2015/operator/retryWhen.js.map     |     1 +
 node_modules/rxjs/_esm2015/operator/sample.js   |    39 +
 .../rxjs/_esm2015/operator/sample.js.map        |     1 +
 .../rxjs/_esm2015/operator/sampleTime.js        |    42 +
 .../rxjs/_esm2015/operator/sampleTime.js.map    |     1 +
 node_modules/rxjs/_esm2015/operator/scan.js     |    46 +
 node_modules/rxjs/_esm2015/operator/scan.js.map |     1 +
 .../rxjs/_esm2015/operator/sequenceEqual.js     |    57 +
 .../rxjs/_esm2015/operator/sequenceEqual.js.map |     1 +
 node_modules/rxjs/_esm2015/operator/share.js    |    22 +
 .../rxjs/_esm2015/operator/share.js.map         |     1 +
 .../rxjs/_esm2015/operator/shareReplay.js       |    10 +
 .../rxjs/_esm2015/operator/shareReplay.js.map   |     1 +
 node_modules/rxjs/_esm2015/operator/single.js   |    21 +
 .../rxjs/_esm2015/operator/single.js.map        |     1 +
 node_modules/rxjs/_esm2015/operator/skip.js     |    16 +
 node_modules/rxjs/_esm2015/operator/skip.js.map |     1 +
 node_modules/rxjs/_esm2015/operator/skipLast.js |    37 +
 .../rxjs/_esm2015/operator/skipLast.js.map      |     1 +
 .../rxjs/_esm2015/operator/skipUntil.js         |    17 +
 .../rxjs/_esm2015/operator/skipUntil.js.map     |     1 +
 .../rxjs/_esm2015/operator/skipWhile.js         |    17 +
 .../rxjs/_esm2015/operator/skipWhile.js.map     |     1 +
 .../rxjs/_esm2015/operator/startWith.js         |    20 +
 .../rxjs/_esm2015/operator/startWith.js.map     |     1 +
 .../rxjs/_esm2015/operator/subscribeOn.js       |    16 +
 .../rxjs/_esm2015/operator/subscribeOn.js.map   |     1 +
 node_modules/rxjs/_esm2015/operator/switch.js   |    47 +
 .../rxjs/_esm2015/operator/switch.js.map        |     1 +
 .../rxjs/_esm2015/operator/switchMap.js         |    53 +
 .../rxjs/_esm2015/operator/switchMap.js.map     |     1 +
 .../rxjs/_esm2015/operator/switchMapTo.js       |    48 +
 .../rxjs/_esm2015/operator/switchMapTo.js.map   |     1 +
 node_modules/rxjs/_esm2015/operator/take.js     |    38 +
 node_modules/rxjs/_esm2015/operator/take.js.map |     1 +
 node_modules/rxjs/_esm2015/operator/takeLast.js |    41 +
 .../rxjs/_esm2015/operator/takeLast.js.map      |     1 +
 .../rxjs/_esm2015/operator/takeUntil.js         |    38 +
 .../rxjs/_esm2015/operator/takeUntil.js.map     |     1 +
 .../rxjs/_esm2015/operator/takeWhile.js         |    41 +
 .../rxjs/_esm2015/operator/takeWhile.js.map     |     1 +
 node_modules/rxjs/_esm2015/operator/throttle.js |    45 +
 .../rxjs/_esm2015/operator/throttle.js.map      |     1 +
 .../rxjs/_esm2015/operator/throttleTime.js      |    46 +
 .../rxjs/_esm2015/operator/throttleTime.js.map  |     1 +
 .../rxjs/_esm2015/operator/timeInterval.js      |    13 +
 .../rxjs/_esm2015/operator/timeInterval.js.map  |     1 +
 node_modules/rxjs/_esm2015/operator/timeout.js  |    71 +
 .../rxjs/_esm2015/operator/timeout.js.map       |     1 +
 .../rxjs/_esm2015/operator/timeoutWith.js       |    54 +
 .../rxjs/_esm2015/operator/timeoutWith.js.map   |     1 +
 .../rxjs/_esm2015/operator/timestamp.js         |    12 +
 .../rxjs/_esm2015/operator/timestamp.js.map     |     1 +
 node_modules/rxjs/_esm2015/operator/toArray.js  |    28 +
 .../rxjs/_esm2015/operator/toArray.js.map       |     1 +
 .../rxjs/_esm2015/operator/toPromise.js         |     5 +
 .../rxjs/_esm2015/operator/toPromise.js.map     |     1 +
 node_modules/rxjs/_esm2015/operator/window.js   |    41 +
 .../rxjs/_esm2015/operator/window.js.map        |     1 +
 .../rxjs/_esm2015/operator/windowCount.js       |    53 +
 .../rxjs/_esm2015/operator/windowCount.js.map   |     1 +
 .../rxjs/_esm2015/operator/windowTime.js        |    26 +
 .../rxjs/_esm2015/operator/windowTime.js.map    |     1 +
 .../rxjs/_esm2015/operator/windowToggle.js      |    46 +
 .../rxjs/_esm2015/operator/windowToggle.js.map  |     1 +
 .../rxjs/_esm2015/operator/windowWhen.js        |    43 +
 .../rxjs/_esm2015/operator/windowWhen.js.map    |     1 +
 .../rxjs/_esm2015/operator/withLatestFrom.js    |    44 +
 .../_esm2015/operator/withLatestFrom.js.map     |     1 +
 node_modules/rxjs/_esm2015/operator/zip.js      |    12 +
 node_modules/rxjs/_esm2015/operator/zip.js.map  |     1 +
 node_modules/rxjs/_esm2015/operator/zipAll.js   |    11 +
 .../rxjs/_esm2015/operator/zipAll.js.map        |     1 +
 node_modules/rxjs/_esm2015/operators.js         |   109 +
 node_modules/rxjs/_esm2015/operators.js.map     |     1 +
 node_modules/rxjs/_esm2015/operators/audit.js   |   108 +
 .../rxjs/_esm2015/operators/audit.js.map        |     1 +
 .../rxjs/_esm2015/operators/auditTime.js        |    49 +
 .../rxjs/_esm2015/operators/auditTime.js.map    |     1 +
 node_modules/rxjs/_esm2015/operators/buffer.js  |    68 +
 .../rxjs/_esm2015/operators/buffer.js.map       |     1 +
 .../rxjs/_esm2015/operators/bufferCount.js      |   129 +
 .../rxjs/_esm2015/operators/bufferCount.js.map  |     1 +
 .../rxjs/_esm2015/operators/bufferTime.js       |   190 +
 .../rxjs/_esm2015/operators/bufferTime.js.map   |     1 +
 .../rxjs/_esm2015/operators/bufferToggle.js     |   144 +
 .../rxjs/_esm2015/operators/bufferToggle.js.map |     1 +
 .../rxjs/_esm2015/operators/bufferWhen.js       |   114 +
 .../rxjs/_esm2015/operators/bufferWhen.js.map   |     1 +
 .../rxjs/_esm2015/operators/catchError.js       |   106 +
 .../rxjs/_esm2015/operators/catchError.js.map   |     1 +
 .../rxjs/_esm2015/operators/combineAll.js       |     5 +
 .../rxjs/_esm2015/operators/combineAll.js.map   |     1 +
 .../rxjs/_esm2015/operators/combineLatest.js    |   135 +
 .../_esm2015/operators/combineLatest.js.map     |     1 +
 node_modules/rxjs/_esm2015/operators/concat.js  |    56 +
 .../rxjs/_esm2015/operators/concat.js.map       |     1 +
 .../rxjs/_esm2015/operators/concatAll.js        |    53 +
 .../rxjs/_esm2015/operators/concatAll.js.map    |     1 +
 .../rxjs/_esm2015/operators/concatMap.js        |    65 +
 .../rxjs/_esm2015/operators/concatMap.js.map    |     1 +
 .../rxjs/_esm2015/operators/concatMapTo.js      |    62 +
 .../rxjs/_esm2015/operators/concatMapTo.js.map  |     1 +
 node_modules/rxjs/_esm2015/operators/count.js   |   101 +
 .../rxjs/_esm2015/operators/count.js.map        |     1 +
 .../rxjs/_esm2015/operators/debounce.js         |   117 +
 .../rxjs/_esm2015/operators/debounce.js.map     |     1 +
 .../rxjs/_esm2015/operators/debounceTime.js     |   105 +
 .../rxjs/_esm2015/operators/debounceTime.js.map |     1 +
 .../rxjs/_esm2015/operators/defaultIfEmpty.js   |    66 +
 .../_esm2015/operators/defaultIfEmpty.js.map    |     1 +
 node_modules/rxjs/_esm2015/operators/delay.js   |   123 +
 .../rxjs/_esm2015/operators/delay.js.map        |     1 +
 .../rxjs/_esm2015/operators/delayWhen.js        |   178 +
 .../rxjs/_esm2015/operators/delayWhen.js.map    |     1 +
 .../rxjs/_esm2015/operators/dematerialize.js    |    65 +
 .../_esm2015/operators/dematerialize.js.map     |     1 +
 .../rxjs/_esm2015/operators/distinct.js         |   109 +
 .../rxjs/_esm2015/operators/distinct.js.map     |     1 +
 .../_esm2015/operators/distinctUntilChanged.js  |    98 +
 .../operators/distinctUntilChanged.js.map       |     1 +
 .../operators/distinctUntilKeyChanged.js        |    63 +
 .../operators/distinctUntilKeyChanged.js.map    |     1 +
 .../rxjs/_esm2015/operators/elementAt.js        |    90 +
 .../rxjs/_esm2015/operators/elementAt.js.map    |     1 +
 node_modules/rxjs/_esm2015/operators/every.js   |    64 +
 .../rxjs/_esm2015/operators/every.js.map        |     1 +
 node_modules/rxjs/_esm2015/operators/exhaust.js |    77 +
 .../rxjs/_esm2015/operators/exhaust.js.map      |     1 +
 .../rxjs/_esm2015/operators/exhaustMap.js       |   128 +
 .../rxjs/_esm2015/operators/exhaustMap.js.map   |     1 +
 node_modules/rxjs/_esm2015/operators/expand.js  |   137 +
 .../rxjs/_esm2015/operators/expand.js.map       |     1 +
 node_modules/rxjs/_esm2015/operators/filter.js  |    84 +
 .../rxjs/_esm2015/operators/filter.js.map       |     1 +
 .../rxjs/_esm2015/operators/finalize.js         |    33 +
 .../rxjs/_esm2015/operators/finalize.js.map     |     1 +
 node_modules/rxjs/_esm2015/operators/find.js    |    88 +
 .../rxjs/_esm2015/operators/find.js.map         |     1 +
 .../rxjs/_esm2015/operators/findIndex.js        |    39 +
 .../rxjs/_esm2015/operators/findIndex.js.map    |     1 +
 node_modules/rxjs/_esm2015/operators/first.js   |   142 +
 .../rxjs/_esm2015/operators/first.js.map        |     1 +
 node_modules/rxjs/_esm2015/operators/groupBy.js |   257 +
 .../rxjs/_esm2015/operators/groupBy.js.map      |     1 +
 .../rxjs/_esm2015/operators/ignoreElements.js   |    33 +
 .../_esm2015/operators/ignoreElements.js.map    |     1 +
 node_modules/rxjs/_esm2015/operators/isEmpty.js |    31 +
 .../rxjs/_esm2015/operators/isEmpty.js.map      |     1 +
 node_modules/rxjs/_esm2015/operators/last.js    |   109 +
 .../rxjs/_esm2015/operators/last.js.map         |     1 +
 node_modules/rxjs/_esm2015/operators/map.js     |    78 +
 node_modules/rxjs/_esm2015/operators/map.js.map |     1 +
 node_modules/rxjs/_esm2015/operators/mapTo.js   |    53 +
 .../rxjs/_esm2015/operators/mapTo.js.map        |     1 +
 .../rxjs/_esm2015/operators/materialize.js      |    80 +
 .../rxjs/_esm2015/operators/materialize.js.map  |     1 +
 node_modules/rxjs/_esm2015/operators/max.js     |    39 +
 node_modules/rxjs/_esm2015/operators/max.js.map |     1 +
 node_modules/rxjs/_esm2015/operators/merge.js   |    53 +
 .../rxjs/_esm2015/operators/merge.js.map        |     1 +
 .../rxjs/_esm2015/operators/mergeAll.js         |    50 +
 .../rxjs/_esm2015/operators/mergeAll.js.map     |     1 +
 .../rxjs/_esm2015/operators/mergeMap.js         |   158 +
 .../rxjs/_esm2015/operators/mergeMap.js.map     |     1 +
 .../rxjs/_esm2015/operators/mergeMapTo.js       |   140 +
 .../rxjs/_esm2015/operators/mergeMapTo.js.map   |     1 +
 .../rxjs/_esm2015/operators/mergeScan.js        |   116 +
 .../rxjs/_esm2015/operators/mergeScan.js.map    |     1 +
 node_modules/rxjs/_esm2015/operators/min.js     |    39 +
 node_modules/rxjs/_esm2015/operators/min.js.map |     1 +
 .../rxjs/_esm2015/operators/multicast.js        |    55 +
 .../rxjs/_esm2015/operators/multicast.js.map    |     1 +
 .../rxjs/_esm2015/operators/observeOn.js        |    98 +
 .../rxjs/_esm2015/operators/observeOn.js.map    |     1 +
 .../_esm2015/operators/onErrorResumeNext.js     |   118 +
 .../_esm2015/operators/onErrorResumeNext.js.map |     1 +
 .../rxjs/_esm2015/operators/pairwise.js         |    65 +
 .../rxjs/_esm2015/operators/pairwise.js.map     |     1 +
 .../rxjs/_esm2015/operators/partition.js        |    50 +
 .../rxjs/_esm2015/operators/partition.js.map    |     1 +
 node_modules/rxjs/_esm2015/operators/pluck.js   |    51 +
 .../rxjs/_esm2015/operators/pluck.js.map        |     1 +
 node_modules/rxjs/_esm2015/operators/publish.js |    22 +
 .../rxjs/_esm2015/operators/publish.js.map      |     1 +
 .../rxjs/_esm2015/operators/publishBehavior.js  |    12 +
 .../_esm2015/operators/publishBehavior.js.map   |     1 +
 .../rxjs/_esm2015/operators/publishLast.js      |     6 +
 .../rxjs/_esm2015/operators/publishLast.js.map  |     1 +
 .../rxjs/_esm2015/operators/publishReplay.js    |    12 +
 .../_esm2015/operators/publishReplay.js.map     |     1 +
 node_modules/rxjs/_esm2015/operators/race.js    |    22 +
 .../rxjs/_esm2015/operators/race.js.map         |     1 +
 node_modules/rxjs/_esm2015/operators/reduce.js  |    67 +
 .../rxjs/_esm2015/operators/reduce.js.map       |     1 +
 .../rxjs/_esm2015/operators/refCount.js         |    75 +
 .../rxjs/_esm2015/operators/refCount.js.map     |     1 +
 node_modules/rxjs/_esm2015/operators/repeat.js  |    61 +
 .../rxjs/_esm2015/operators/repeat.js.map       |     1 +
 .../rxjs/_esm2015/operators/repeatWhen.js       |    98 +
 .../rxjs/_esm2015/operators/repeatWhen.js.map   |     1 +
 node_modules/rxjs/_esm2015/operators/retry.js   |    54 +
 .../rxjs/_esm2015/operators/retry.js.map        |     1 +
 .../rxjs/_esm2015/operators/retryWhen.js        |    91 +
 .../rxjs/_esm2015/operators/retryWhen.js.map    |     1 +
 node_modules/rxjs/_esm2015/operators/sample.js  |    78 +
 .../rxjs/_esm2015/operators/sample.js.map       |     1 +
 .../rxjs/_esm2015/operators/sampleTime.js       |    80 +
 .../rxjs/_esm2015/operators/sampleTime.js.map   |     1 +
 node_modules/rxjs/_esm2015/operators/scan.js    |   106 +
 .../rxjs/_esm2015/operators/scan.js.map         |     1 +
 .../rxjs/_esm2015/operators/sequenceEqual.js    |   150 +
 .../_esm2015/operators/sequenceEqual.js.map     |     1 +
 node_modules/rxjs/_esm2015/operators/share.js   |    23 +
 .../rxjs/_esm2015/operators/share.js.map        |     1 +
 .../rxjs/_esm2015/operators/shareReplay.js      |    43 +
 .../rxjs/_esm2015/operators/shareReplay.js.map  |     1 +
 node_modules/rxjs/_esm2015/operators/single.js  |    83 +
 .../rxjs/_esm2015/operators/single.js.map       |     1 +
 node_modules/rxjs/_esm2015/operators/skip.js    |    41 +
 .../rxjs/_esm2015/operators/skip.js.map         |     1 +
 .../rxjs/_esm2015/operators/skipLast.js         |    83 +
 .../rxjs/_esm2015/operators/skipLast.js.map     |     1 +
 .../rxjs/_esm2015/operators/skipUntil.js        |    61 +
 .../rxjs/_esm2015/operators/skipUntil.js.map    |     1 +
 .../rxjs/_esm2015/operators/skipWhile.js        |    56 +
 .../rxjs/_esm2015/operators/skipWhile.js.map    |     1 +
 .../rxjs/_esm2015/operators/startWith.js        |    42 +
 .../rxjs/_esm2015/operators/startWith.js.map    |     1 +
 .../rxjs/_esm2015/operators/subscribeOn.js      |    27 +
 .../rxjs/_esm2015/operators/subscribeOn.js.map  |     1 +
 .../rxjs/_esm2015/operators/switchAll.js        |     6 +
 .../rxjs/_esm2015/operators/switchAll.js.map    |     1 +
 .../rxjs/_esm2015/operators/switchMap.js        |   132 +
 .../rxjs/_esm2015/operators/switchMap.js.map    |     1 +
 .../rxjs/_esm2015/operators/switchMapTo.js      |   115 +
 .../rxjs/_esm2015/operators/switchMapTo.js.map  |     1 +
 node_modules/rxjs/_esm2015/operators/take.js    |    81 +
 .../rxjs/_esm2015/operators/take.js.map         |     1 +
 .../rxjs/_esm2015/operators/takeLast.js         |    99 +
 .../rxjs/_esm2015/operators/takeLast.js.map     |     1 +
 .../rxjs/_esm2015/operators/takeUntil.js        |    65 +
 .../rxjs/_esm2015/operators/takeUntil.js.map    |     1 +
 .../rxjs/_esm2015/operators/takeWhile.js        |    82 +
 .../rxjs/_esm2015/operators/takeWhile.js.map    |     1 +
 node_modules/rxjs/_esm2015/operators/tap.js     |   103 +
 node_modules/rxjs/_esm2015/operators/tap.js.map |     1 +
 .../rxjs/_esm2015/operators/throttle.js         |   131 +
 .../rxjs/_esm2015/operators/throttle.js.map     |     1 +
 .../rxjs/_esm2015/operators/throttleTime.js     |   104 +
 .../rxjs/_esm2015/operators/throttleTime.js.map |     1 +
 .../rxjs/_esm2015/operators/timeInterval.js     |    40 +
 .../rxjs/_esm2015/operators/timeInterval.js.map |     1 +
 node_modules/rxjs/_esm2015/operators/timeout.js |   130 +
 .../rxjs/_esm2015/operators/timeout.js.map      |     1 +
 .../rxjs/_esm2015/operators/timeoutWith.js      |   117 +
 .../rxjs/_esm2015/operators/timeoutWith.js.map  |     1 +
 .../rxjs/_esm2015/operators/timestamp.js        |    20 +
 .../rxjs/_esm2015/operators/timestamp.js.map    |     1 +
 node_modules/rxjs/_esm2015/operators/toArray.js |     9 +
 .../rxjs/_esm2015/operators/toArray.js.map      |     1 +
 node_modules/rxjs/_esm2015/operators/window.js  |   102 +
 .../rxjs/_esm2015/operators/window.js.map       |     1 +
 .../rxjs/_esm2015/operators/windowCount.js      |   122 +
 .../rxjs/_esm2015/operators/windowCount.js.map  |     1 +
 .../rxjs/_esm2015/operators/windowTime.js       |   147 +
 .../rxjs/_esm2015/operators/windowTime.js.map   |     1 +
 .../rxjs/_esm2015/operators/windowToggle.js     |   170 +
 .../rxjs/_esm2015/operators/windowToggle.js.map |     1 +
 .../rxjs/_esm2015/operators/windowWhen.js       |   118 +
 .../rxjs/_esm2015/operators/windowWhen.js.map   |     1 +
 .../rxjs/_esm2015/operators/withLatestFrom.js   |   118 +
 .../_esm2015/operators/withLatestFrom.js.map    |     1 +
 node_modules/rxjs/_esm2015/operators/zip.js     |   255 +
 node_modules/rxjs/_esm2015/operators/zip.js.map |     1 +
 node_modules/rxjs/_esm2015/operators/zipAll.js  |     5 +
 .../rxjs/_esm2015/operators/zipAll.js.map       |     1 +
 node_modules/rxjs/_esm2015/path-mapping.js      |   465 +
 node_modules/rxjs/_esm2015/scheduler/Action.js  |    34 +
 .../rxjs/_esm2015/scheduler/Action.js.map       |     1 +
 .../_esm2015/scheduler/AnimationFrameAction.js  |    44 +
 .../scheduler/AnimationFrameAction.js.map       |     1 +
 .../scheduler/AnimationFrameScheduler.js        |    25 +
 .../scheduler/AnimationFrameScheduler.js.map    |     1 +
 .../rxjs/_esm2015/scheduler/AsapAction.js       |    44 +
 .../rxjs/_esm2015/scheduler/AsapAction.js.map   |     1 +
 .../rxjs/_esm2015/scheduler/AsapScheduler.js    |    25 +
 .../_esm2015/scheduler/AsapScheduler.js.map     |     1 +
 .../rxjs/_esm2015/scheduler/AsyncAction.js      |   130 +
 .../rxjs/_esm2015/scheduler/AsyncAction.js.map  |     1 +
 .../rxjs/_esm2015/scheduler/AsyncScheduler.js   |    42 +
 .../_esm2015/scheduler/AsyncScheduler.js.map    |     1 +
 .../rxjs/_esm2015/scheduler/QueueAction.js      |    38 +
 .../rxjs/_esm2015/scheduler/QueueAction.js.map  |     1 +
 .../rxjs/_esm2015/scheduler/QueueScheduler.js   |     4 +
 .../_esm2015/scheduler/QueueScheduler.js.map    |     1 +
 .../_esm2015/scheduler/VirtualTimeScheduler.js  |    94 +
 .../scheduler/VirtualTimeScheduler.js.map       |     1 +
 .../rxjs/_esm2015/scheduler/animationFrame.js   |    34 +
 .../_esm2015/scheduler/animationFrame.js.map    |     1 +
 node_modules/rxjs/_esm2015/scheduler/asap.js    |    38 +
 .../rxjs/_esm2015/scheduler/asap.js.map         |     1 +
 node_modules/rxjs/_esm2015/scheduler/async.js   |    46 +
 .../rxjs/_esm2015/scheduler/async.js.map        |     1 +
 node_modules/rxjs/_esm2015/scheduler/queue.js   |    65 +
 .../rxjs/_esm2015/scheduler/queue.js.map        |     1 +
 node_modules/rxjs/_esm2015/symbol/iterator.js   |    36 +
 .../rxjs/_esm2015/symbol/iterator.js.map        |     1 +
 node_modules/rxjs/_esm2015/symbol/observable.js |    24 +
 .../rxjs/_esm2015/symbol/observable.js.map      |     1 +
 .../rxjs/_esm2015/symbol/rxSubscriber.js        |     9 +
 .../rxjs/_esm2015/symbol/rxSubscriber.js.map    |     1 +
 .../rxjs/_esm2015/testing/ColdObservable.js     |    34 +
 .../rxjs/_esm2015/testing/ColdObservable.js.map |     1 +
 .../rxjs/_esm2015/testing/HotObservable.js      |    39 +
 .../rxjs/_esm2015/testing/HotObservable.js.map  |     1 +
 .../rxjs/_esm2015/testing/SubscriptionLog.js    |     7 +
 .../_esm2015/testing/SubscriptionLog.js.map     |     1 +
 .../_esm2015/testing/SubscriptionLoggable.js    |    16 +
 .../testing/SubscriptionLoggable.js.map         |     1 +
 .../rxjs/_esm2015/testing/TestMessage.js        |     1 +
 .../rxjs/_esm2015/testing/TestMessage.js.map    |     1 +
 .../rxjs/_esm2015/testing/TestScheduler.js      |   208 +
 .../rxjs/_esm2015/testing/TestScheduler.js.map  |     1 +
 .../rxjs/_esm2015/util/AnimationFrame.js        |    31 +
 .../rxjs/_esm2015/util/AnimationFrame.js.map    |     1 +
 .../_esm2015/util/ArgumentOutOfRangeError.js    |    19 +
 .../util/ArgumentOutOfRangeError.js.map         |     1 +
 node_modules/rxjs/_esm2015/util/EmptyError.js   |    19 +
 .../rxjs/_esm2015/util/EmptyError.js.map        |     1 +
 node_modules/rxjs/_esm2015/util/FastMap.js      |    28 +
 node_modules/rxjs/_esm2015/util/FastMap.js.map  |     1 +
 node_modules/rxjs/_esm2015/util/Immediate.js    |   201 +
 .../rxjs/_esm2015/util/Immediate.js.map         |     1 +
 node_modules/rxjs/_esm2015/util/Map.js          |     4 +
 node_modules/rxjs/_esm2015/util/Map.js.map      |     1 +
 node_modules/rxjs/_esm2015/util/MapPolyfill.js  |    44 +
 .../rxjs/_esm2015/util/MapPolyfill.js.map       |     1 +
 .../_esm2015/util/ObjectUnsubscribedError.js    |    18 +
 .../util/ObjectUnsubscribedError.js.map         |     1 +
 node_modules/rxjs/_esm2015/util/Set.js          |    27 +
 node_modules/rxjs/_esm2015/util/Set.js.map      |     1 +
 node_modules/rxjs/_esm2015/util/TimeoutError.js |    16 +
 .../rxjs/_esm2015/util/TimeoutError.js.map      |     1 +
 .../rxjs/_esm2015/util/UnsubscriptionError.js   |    17 +
 .../_esm2015/util/UnsubscriptionError.js.map    |     1 +
 node_modules/rxjs/_esm2015/util/applyMixins.js  |    11 +
 .../rxjs/_esm2015/util/applyMixins.js.map       |     1 +
 node_modules/rxjs/_esm2015/util/assign.js       |    19 +
 node_modules/rxjs/_esm2015/util/assign.js.map   |     1 +
 node_modules/rxjs/_esm2015/util/errorObject.js  |     3 +
 .../rxjs/_esm2015/util/errorObject.js.map       |     1 +
 node_modules/rxjs/_esm2015/util/identity.js     |     4 +
 node_modules/rxjs/_esm2015/util/identity.js.map |     1 +
 node_modules/rxjs/_esm2015/util/isArray.js      |     2 +
 node_modules/rxjs/_esm2015/util/isArray.js.map  |     1 +
 node_modules/rxjs/_esm2015/util/isArrayLike.js  |     2 +
 .../rxjs/_esm2015/util/isArrayLike.js.map       |     1 +
 node_modules/rxjs/_esm2015/util/isDate.js       |     4 +
 node_modules/rxjs/_esm2015/util/isDate.js.map   |     1 +
 node_modules/rxjs/_esm2015/util/isFunction.js   |     4 +
 .../rxjs/_esm2015/util/isFunction.js.map        |     1 +
 node_modules/rxjs/_esm2015/util/isNumeric.js    |    10 +
 .../rxjs/_esm2015/util/isNumeric.js.map         |     1 +
 node_modules/rxjs/_esm2015/util/isObject.js     |     4 +
 node_modules/rxjs/_esm2015/util/isObject.js.map |     1 +
 node_modules/rxjs/_esm2015/util/isPromise.js    |     4 +
 .../rxjs/_esm2015/util/isPromise.js.map         |     1 +
 node_modules/rxjs/_esm2015/util/isScheduler.js  |     4 +
 .../rxjs/_esm2015/util/isScheduler.js.map       |     1 +
 node_modules/rxjs/_esm2015/util/noop.js         |     3 +
 node_modules/rxjs/_esm2015/util/noop.js.map     |     1 +
 node_modules/rxjs/_esm2015/util/not.js          |     9 +
 node_modules/rxjs/_esm2015/util/not.js.map      |     1 +
 node_modules/rxjs/_esm2015/util/pipe.js         |    18 +
 node_modules/rxjs/_esm2015/util/pipe.js.map     |     1 +
 node_modules/rxjs/_esm2015/util/root.js         |    18 +
 node_modules/rxjs/_esm2015/util/root.js.map     |     1 +
 .../rxjs/_esm2015/util/subscribeToResult.js     |    77 +
 .../rxjs/_esm2015/util/subscribeToResult.js.map |     1 +
 node_modules/rxjs/_esm2015/util/toSubscriber.js |    18 +
 .../rxjs/_esm2015/util/toSubscriber.js.map      |     1 +
 node_modules/rxjs/_esm2015/util/tryCatch.js     |    17 +
 node_modules/rxjs/_esm2015/util/tryCatch.js.map |     1 +
 node_modules/rxjs/_esm5/AsyncSubject.js         |    54 +
 node_modules/rxjs/_esm5/AsyncSubject.js.map     |     1 +
 node_modules/rxjs/_esm5/BehaviorSubject.js      |    50 +
 node_modules/rxjs/_esm5/BehaviorSubject.js.map  |     1 +
 node_modules/rxjs/_esm5/InnerSubscriber.js      |    37 +
 node_modules/rxjs/_esm5/InnerSubscriber.js.map  |     1 +
 node_modules/rxjs/_esm5/LICENSE.txt             |   202 +
 node_modules/rxjs/_esm5/Notification.js         |   126 +
 node_modules/rxjs/_esm5/Notification.js.map     |     1 +
 node_modules/rxjs/_esm5/Observable.js           |   304 +
 node_modules/rxjs/_esm5/Observable.js.map       |     1 +
 node_modules/rxjs/_esm5/Observer.js             |     8 +
 node_modules/rxjs/_esm5/Observer.js.map         |     1 +
 node_modules/rxjs/_esm5/Operator.js             |     1 +
 node_modules/rxjs/_esm5/Operator.js.map         |     1 +
 node_modules/rxjs/_esm5/OuterSubscriber.js      |    31 +
 node_modules/rxjs/_esm5/OuterSubscriber.js.map  |     1 +
 node_modules/rxjs/_esm5/README.md               |   204 +
 node_modules/rxjs/_esm5/ReplaySubject.js        |   107 +
 node_modules/rxjs/_esm5/ReplaySubject.js.map    |     1 +
 node_modules/rxjs/_esm5/Rx.js                   |   205 +
 node_modules/rxjs/_esm5/Rx.js.map               |     1 +
 node_modules/rxjs/_esm5/Scheduler.js            |    51 +
 node_modules/rxjs/_esm5/Scheduler.js.map        |     1 +
 node_modules/rxjs/_esm5/Subject.js              |   167 +
 node_modules/rxjs/_esm5/Subject.js.map          |     1 +
 node_modules/rxjs/_esm5/SubjectSubscription.js  |    41 +
 .../rxjs/_esm5/SubjectSubscription.js.map       |     1 +
 node_modules/rxjs/_esm5/Subscriber.js           |   266 +
 node_modules/rxjs/_esm5/Subscriber.js.map       |     1 +
 node_modules/rxjs/_esm5/Subscription.js         |   192 +
 node_modules/rxjs/_esm5/Subscription.js.map     |     1 +
 .../rxjs/_esm5/add/observable/bindCallback.js   |     5 +
 .../_esm5/add/observable/bindCallback.js.map    |     1 +
 .../_esm5/add/observable/bindNodeCallback.js    |     5 +
 .../add/observable/bindNodeCallback.js.map      |     1 +
 .../rxjs/_esm5/add/observable/combineLatest.js  |     5 +
 .../_esm5/add/observable/combineLatest.js.map   |     1 +
 .../rxjs/_esm5/add/observable/concat.js         |     5 +
 .../rxjs/_esm5/add/observable/concat.js.map     |     1 +
 node_modules/rxjs/_esm5/add/observable/defer.js |     5 +
 .../rxjs/_esm5/add/observable/defer.js.map      |     1 +
 .../rxjs/_esm5/add/observable/dom/ajax.js       |     5 +
 .../rxjs/_esm5/add/observable/dom/ajax.js.map   |     1 +
 .../rxjs/_esm5/add/observable/dom/webSocket.js  |     5 +
 .../_esm5/add/observable/dom/webSocket.js.map   |     1 +
 node_modules/rxjs/_esm5/add/observable/empty.js |     5 +
 .../rxjs/_esm5/add/observable/empty.js.map      |     1 +
 .../rxjs/_esm5/add/observable/forkJoin.js       |     5 +
 .../rxjs/_esm5/add/observable/forkJoin.js.map   |     1 +
 node_modules/rxjs/_esm5/add/observable/from.js  |     5 +
 .../rxjs/_esm5/add/observable/from.js.map       |     1 +
 .../rxjs/_esm5/add/observable/fromEvent.js      |     5 +
 .../rxjs/_esm5/add/observable/fromEvent.js.map  |     1 +
 .../_esm5/add/observable/fromEventPattern.js    |     5 +
 .../add/observable/fromEventPattern.js.map      |     1 +
 .../rxjs/_esm5/add/observable/fromPromise.js    |     5 +
 .../_esm5/add/observable/fromPromise.js.map     |     1 +
 .../rxjs/_esm5/add/observable/generate.js       |     5 +
 .../rxjs/_esm5/add/observable/generate.js.map   |     1 +
 node_modules/rxjs/_esm5/add/observable/if.js    |     5 +
 .../rxjs/_esm5/add/observable/if.js.map         |     1 +
 .../rxjs/_esm5/add/observable/interval.js       |     5 +
 .../rxjs/_esm5/add/observable/interval.js.map   |     1 +
 node_modules/rxjs/_esm5/add/observable/merge.js |     5 +
 .../rxjs/_esm5/add/observable/merge.js.map      |     1 +
 node_modules/rxjs/_esm5/add/observable/never.js |     5 +
 .../rxjs/_esm5/add/observable/never.js.map      |     1 +
 node_modules/rxjs/_esm5/add/observable/of.js    |     5 +
 .../rxjs/_esm5/add/observable/of.js.map         |     1 +
 .../_esm5/add/observable/onErrorResumeNext.js   |     5 +
 .../add/observable/onErrorResumeNext.js.map     |     1 +
 node_modules/rxjs/_esm5/add/observable/pairs.js |     5 +
 .../rxjs/_esm5/add/observable/pairs.js.map      |     1 +
 node_modules/rxjs/_esm5/add/observable/race.js  |     5 +
 .../rxjs/_esm5/add/observable/race.js.map       |     1 +
 node_modules/rxjs/_esm5/add/observable/range.js |     5 +
 .../rxjs/_esm5/add/observable/range.js.map      |     1 +
 node_modules/rxjs/_esm5/add/observable/throw.js |     5 +
 .../rxjs/_esm5/add/observable/throw.js.map      |     1 +
 node_modules/rxjs/_esm5/add/observable/timer.js |     5 +
 .../rxjs/_esm5/add/observable/timer.js.map      |     1 +
 node_modules/rxjs/_esm5/add/observable/using.js |     5 +
 .../rxjs/_esm5/add/observable/using.js.map      |     1 +
 node_modules/rxjs/_esm5/add/observable/zip.js   |     5 +
 .../rxjs/_esm5/add/observable/zip.js.map        |     1 +
 node_modules/rxjs/_esm5/add/operator/audit.js   |     5 +
 .../rxjs/_esm5/add/operator/audit.js.map        |     1 +
 .../rxjs/_esm5/add/operator/auditTime.js        |     5 +
 .../rxjs/_esm5/add/operator/auditTime.js.map    |     1 +
 node_modules/rxjs/_esm5/add/operator/buffer.js  |     5 +
 .../rxjs/_esm5/add/operator/buffer.js.map       |     1 +
 .../rxjs/_esm5/add/operator/bufferCount.js      |     5 +
 .../rxjs/_esm5/add/operator/bufferCount.js.map  |     1 +
 .../rxjs/_esm5/add/operator/bufferTime.js       |     5 +
 .../rxjs/_esm5/add/operator/bufferTime.js.map   |     1 +
 .../rxjs/_esm5/add/operator/bufferToggle.js     |     5 +
 .../rxjs/_esm5/add/operator/bufferToggle.js.map |     1 +
 .../rxjs/_esm5/add/operator/bufferWhen.js       |     5 +
 .../rxjs/_esm5/add/operator/bufferWhen.js.map   |     1 +
 node_modules/rxjs/_esm5/add/operator/catch.js   |     6 +
 .../rxjs/_esm5/add/operator/catch.js.map        |     1 +
 .../rxjs/_esm5/add/operator/combineAll.js       |     5 +
 .../rxjs/_esm5/add/operator/combineAll.js.map   |     1 +
 .../rxjs/_esm5/add/operator/combineLatest.js    |     5 +
 .../_esm5/add/operator/combineLatest.js.map     |     1 +
 node_modules/rxjs/_esm5/add/operator/concat.js  |     5 +
 .../rxjs/_esm5/add/operator/concat.js.map       |     1 +
 .../rxjs/_esm5/add/operator/concatAll.js        |     5 +
 .../rxjs/_esm5/add/operator/concatAll.js.map    |     1 +
 .../rxjs/_esm5/add/operator/concatMap.js        |     5 +
 .../rxjs/_esm5/add/operator/concatMap.js.map    |     1 +
 .../rxjs/_esm5/add/operator/concatMapTo.js      |     5 +
 .../rxjs/_esm5/add/operator/concatMapTo.js.map  |     1 +
 node_modules/rxjs/_esm5/add/operator/count.js   |     5 +
 .../rxjs/_esm5/add/operator/count.js.map        |     1 +
 .../rxjs/_esm5/add/operator/debounce.js         |     5 +
 .../rxjs/_esm5/add/operator/debounce.js.map     |     1 +
 .../rxjs/_esm5/add/operator/debounceTime.js     |     5 +
 .../rxjs/_esm5/add/operator/debounceTime.js.map |     1 +
 .../rxjs/_esm5/add/operator/defaultIfEmpty.js   |     5 +
 .../_esm5/add/operator/defaultIfEmpty.js.map    |     1 +
 node_modules/rxjs/_esm5/add/operator/delay.js   |     5 +
 .../rxjs/_esm5/add/operator/delay.js.map        |     1 +
 .../rxjs/_esm5/add/operator/delayWhen.js        |     5 +
 .../rxjs/_esm5/add/operator/delayWhen.js.map    |     1 +
 .../rxjs/_esm5/add/operator/dematerialize.js    |     5 +
 .../_esm5/add/operator/dematerialize.js.map     |     1 +
 .../rxjs/_esm5/add/operator/distinct.js         |     5 +
 .../rxjs/_esm5/add/operator/distinct.js.map     |     1 +
 .../_esm5/add/operator/distinctUntilChanged.js  |     5 +
 .../add/operator/distinctUntilChanged.js.map    |     1 +
 .../add/operator/distinctUntilKeyChanged.js     |     5 +
 .../add/operator/distinctUntilKeyChanged.js.map |     1 +
 node_modules/rxjs/_esm5/add/operator/do.js      |     6 +
 node_modules/rxjs/_esm5/add/operator/do.js.map  |     1 +
 .../rxjs/_esm5/add/operator/elementAt.js        |     5 +
 .../rxjs/_esm5/add/operator/elementAt.js.map    |     1 +
 node_modules/rxjs/_esm5/add/operator/every.js   |     5 +
 .../rxjs/_esm5/add/operator/every.js.map        |     1 +
 node_modules/rxjs/_esm5/add/operator/exhaust.js |     5 +
 .../rxjs/_esm5/add/operator/exhaust.js.map      |     1 +
 .../rxjs/_esm5/add/operator/exhaustMap.js       |     5 +
 .../rxjs/_esm5/add/operator/exhaustMap.js.map   |     1 +
 node_modules/rxjs/_esm5/add/operator/expand.js  |     5 +
 .../rxjs/_esm5/add/operator/expand.js.map       |     1 +
 node_modules/rxjs/_esm5/add/operator/filter.js  |     5 +
 .../rxjs/_esm5/add/operator/filter.js.map       |     1 +
 node_modules/rxjs/_esm5/add/operator/finally.js |     6 +
 .../rxjs/_esm5/add/operator/finally.js.map      |     1 +
 node_modules/rxjs/_esm5/add/operator/find.js    |     5 +
 .../rxjs/_esm5/add/operator/find.js.map         |     1 +
 .../rxjs/_esm5/add/operator/findIndex.js        |     5 +
 .../rxjs/_esm5/add/operator/findIndex.js.map    |     1 +
 node_modules/rxjs/_esm5/add/operator/first.js   |     5 +
 .../rxjs/_esm5/add/operator/first.js.map        |     1 +
 node_modules/rxjs/_esm5/add/operator/groupBy.js |     5 +
 .../rxjs/_esm5/add/operator/groupBy.js.map      |     1 +
 .../rxjs/_esm5/add/operator/ignoreElements.js   |     5 +
 .../_esm5/add/operator/ignoreElements.js.map    |     1 +
 node_modules/rxjs/_esm5/add/operator/isEmpty.js |     5 +
 .../rxjs/_esm5/add/operator/isEmpty.js.map      |     1 +
 node_modules/rxjs/_esm5/add/operator/last.js    |     5 +
 .../rxjs/_esm5/add/operator/last.js.map         |     1 +
 node_modules/rxjs/_esm5/add/operator/let.js     |     6 +
 node_modules/rxjs/_esm5/add/operator/let.js.map |     1 +
 node_modules/rxjs/_esm5/add/operator/map.js     |     5 +
 node_modules/rxjs/_esm5/add/operator/map.js.map |     1 +
 node_modules/rxjs/_esm5/add/operator/mapTo.js   |     5 +
 .../rxjs/_esm5/add/operator/mapTo.js.map        |     1 +
 .../rxjs/_esm5/add/operator/materialize.js      |     5 +
 .../rxjs/_esm5/add/operator/materialize.js.map  |     1 +
 node_modules/rxjs/_esm5/add/operator/max.js     |     5 +
 node_modules/rxjs/_esm5/add/operator/max.js.map |     1 +
 node_modules/rxjs/_esm5/add/operator/merge.js   |     5 +
 .../rxjs/_esm5/add/operator/merge.js.map        |     1 +
 .../rxjs/_esm5/add/operator/mergeAll.js         |     5 +
 .../rxjs/_esm5/add/operator/mergeAll.js.map     |     1 +
 .../rxjs/_esm5/add/operator/mergeMap.js         |     6 +
 .../rxjs/_esm5/add/operator/mergeMap.js.map     |     1 +
 .../rxjs/_esm5/add/operator/mergeMapTo.js       |     6 +
 .../rxjs/_esm5/add/operator/mergeMapTo.js.map   |     1 +
 .../rxjs/_esm5/add/operator/mergeScan.js        |     5 +
 .../rxjs/_esm5/add/operator/mergeScan.js.map    |     1 +
 node_modules/rxjs/_esm5/add/operator/min.js     |     5 +
 node_modules/rxjs/_esm5/add/operator/min.js.map |     1 +
 .../rxjs/_esm5/add/operator/multicast.js        |     5 +
 .../rxjs/_esm5/add/operator/multicast.js.map    |     1 +
 .../rxjs/_esm5/add/operator/observeOn.js        |     5 +
 .../rxjs/_esm5/add/operator/observeOn.js.map    |     1 +
 .../_esm5/add/operator/onErrorResumeNext.js     |     5 +
 .../_esm5/add/operator/onErrorResumeNext.js.map |     1 +
 .../rxjs/_esm5/add/operator/pairwise.js         |     5 +
 .../rxjs/_esm5/add/operator/pairwise.js.map     |     1 +
 .../rxjs/_esm5/add/operator/partition.js        |     5 +
 .../rxjs/_esm5/add/operator/partition.js.map    |     1 +
 node_modules/rxjs/_esm5/add/operator/pluck.js   |     5 +
 .../rxjs/_esm5/add/operator/pluck.js.map        |     1 +
 node_modules/rxjs/_esm5/add/operator/publish.js |     5 +
 .../rxjs/_esm5/add/operator/publish.js.map      |     1 +
 .../rxjs/_esm5/add/operator/publishBehavior.js  |     5 +
 .../_esm5/add/operator/publishBehavior.js.map   |     1 +
 .../rxjs/_esm5/add/operator/publishLast.js      |     5 +
 .../rxjs/_esm5/add/operator/publishLast.js.map  |     1 +
 .../rxjs/_esm5/add/operator/publishReplay.js    |     5 +
 .../_esm5/add/operator/publishReplay.js.map     |     1 +
 node_modules/rxjs/_esm5/add/operator/race.js    |     5 +
 .../rxjs/_esm5/add/operator/race.js.map         |     1 +
 node_modules/rxjs/_esm5/add/operator/reduce.js  |     5 +
 .../rxjs/_esm5/add/operator/reduce.js.map       |     1 +
 node_modules/rxjs/_esm5/add/operator/repeat.js  |     5 +
 .../rxjs/_esm5/add/operator/repeat.js.map       |     1 +
 .../rxjs/_esm5/add/operator/repeatWhen.js       |     5 +
 .../rxjs/_esm5/add/operator/repeatWhen.js.map   |     1 +
 node_modules/rxjs/_esm5/add/operator/retry.js   |     5 +
 .../rxjs/_esm5/add/operator/retry.js.map        |     1 +
 .../rxjs/_esm5/add/operator/retryWhen.js        |     5 +
 .../rxjs/_esm5/add/operator/retryWhen.js.map    |     1 +
 node_modules/rxjs/_esm5/add/operator/sample.js  |     5 +
 .../rxjs/_esm5/add/operator/sample.js.map       |     1 +
 .../rxjs/_esm5/add/operator/sampleTime.js       |     5 +
 .../rxjs/_esm5/add/operator/sampleTime.js.map   |     1 +
 node_modules/rxjs/_esm5/add/operator/scan.js    |     5 +
 .../rxjs/_esm5/add/operator/scan.js.map         |     1 +
 .../rxjs/_esm5/add/operator/sequenceEqual.js    |     5 +
 .../_esm5/add/operator/sequenceEqual.js.map     |     1 +
 node_modules/rxjs/_esm5/add/operator/share.js   |     5 +
 .../rxjs/_esm5/add/operator/share.js.map        |     1 +
 .../rxjs/_esm5/add/operator/shareReplay.js      |     5 +
 .../rxjs/_esm5/add/operator/shareReplay.js.map  |     1 +
 node_modules/rxjs/_esm5/add/operator/single.js  |     5 +
 .../rxjs/_esm5/add/operator/single.js.map       |     1 +
 node_modules/rxjs/_esm5/add/operator/skip.js    |     5 +
 .../rxjs/_esm5/add/operator/skip.js.map         |     1 +
 .../rxjs/_esm5/add/operator/skipLast.js         |     5 +
 .../rxjs/_esm5/add/operator/skipLast.js.map     |     1 +
 .../rxjs/_esm5/add/operator/skipUntil.js        |     5 +
 .../rxjs/_esm5/add/operator/skipUntil.js.map    |     1 +
 .../rxjs/_esm5/add/operator/skipWhile.js        |     5 +
 .../rxjs/_esm5/add/operator/skipWhile.js.map    |     1 +
 .../rxjs/_esm5/add/operator/startWith.js        |     5 +
 .../rxjs/_esm5/add/operator/startWith.js.map    |     1 +
 .../rxjs/_esm5/add/operator/subscribeOn.js      |     5 +
 .../rxjs/_esm5/add/operator/subscribeOn.js.map  |     1 +
 node_modules/rxjs/_esm5/add/operator/switch.js  |     6 +
 .../rxjs/_esm5/add/operator/switch.js.map       |     1 +
 .../rxjs/_esm5/add/operator/switchMap.js        |     5 +
 .../rxjs/_esm5/add/operator/switchMap.js.map    |     1 +
 .../rxjs/_esm5/add/operator/switchMapTo.js      |     5 +
 .../rxjs/_esm5/add/operator/switchMapTo.js.map  |     1 +
 node_modules/rxjs/_esm5/add/operator/take.js    |     5 +
 .../rxjs/_esm5/add/operator/take.js.map         |     1 +
 .../rxjs/_esm5/add/operator/takeLast.js         |     5 +
 .../rxjs/_esm5/add/operator/takeLast.js.map     |     1 +
 .../rxjs/_esm5/add/operator/takeUntil.js        |     5 +
 .../rxjs/_esm5/add/operator/takeUntil.js.map    |     1 +
 .../rxjs/_esm5/add/operator/takeWhile.js        |     5 +
 .../rxjs/_esm5/add/operator/takeWhile.js.map    |     1 +
 .../rxjs/_esm5/add/operator/throttle.js         |     5 +
 .../rxjs/_esm5/add/operator/throttle.js.map     |     1 +
 .../rxjs/_esm5/add/operator/throttleTime.js     |     5 +
 .../rxjs/_esm5/add/operator/throttleTime.js.map |     1 +
 .../rxjs/_esm5/add/operator/timeInterval.js     |     5 +
 .../rxjs/_esm5/add/operator/timeInterval.js.map |     1 +
 node_modules/rxjs/_esm5/add/operator/timeout.js |     5 +
 .../rxjs/_esm5/add/operator/timeout.js.map      |     1 +
 .../rxjs/_esm5/add/operator/timeoutWith.js      |     5 +
 .../rxjs/_esm5/add/operator/timeoutWith.js.map  |     1 +
 .../rxjs/_esm5/add/operator/timestamp.js        |     5 +
 .../rxjs/_esm5/add/operator/timestamp.js.map    |     1 +
 node_modules/rxjs/_esm5/add/operator/toArray.js |     5 +
 .../rxjs/_esm5/add/operator/toArray.js.map      |     1 +
 .../rxjs/_esm5/add/operator/toPromise.js        |     3 +
 .../rxjs/_esm5/add/operator/toPromise.js.map    |     1 +
 node_modules/rxjs/_esm5/add/operator/window.js  |     5 +
 .../rxjs/_esm5/add/operator/window.js.map       |     1 +
 .../rxjs/_esm5/add/operator/windowCount.js      |     5 +
 .../rxjs/_esm5/add/operator/windowCount.js.map  |     1 +
 .../rxjs/_esm5/add/operator/windowTime.js       |     5 +
 .../rxjs/_esm5/add/operator/windowTime.js.map   |     1 +
 .../rxjs/_esm5/add/operator/windowToggle.js     |     5 +
 .../rxjs/_esm5/add/operator/windowToggle.js.map |     1 +
 .../rxjs/_esm5/add/operator/windowWhen.js       |     5 +
 .../rxjs/_esm5/add/operator/windowWhen.js.map   |     1 +
 .../rxjs/_esm5/add/operator/withLatestFrom.js   |     5 +
 .../_esm5/add/operator/withLatestFrom.js.map    |     1 +
 node_modules/rxjs/_esm5/add/operator/zip.js     |     5 +
 node_modules/rxjs/_esm5/add/operator/zip.js.map |     1 +
 node_modules/rxjs/_esm5/add/operator/zipAll.js  |     5 +
 .../rxjs/_esm5/add/operator/zipAll.js.map       |     1 +
 node_modules/rxjs/_esm5/interfaces.js           |     1 +
 node_modules/rxjs/_esm5/interfaces.js.map       |     1 +
 .../_esm5/observable/ArrayLikeObservable.js     |    71 +
 .../_esm5/observable/ArrayLikeObservable.js.map |     1 +
 .../rxjs/_esm5/observable/ArrayObservable.js    |   123 +
 .../_esm5/observable/ArrayObservable.js.map     |     1 +
 .../_esm5/observable/BoundCallbackObservable.js |   267 +
 .../observable/BoundCallbackObservable.js.map   |     1 +
 .../observable/BoundNodeCallbackObservable.js   |   266 +
 .../BoundNodeCallbackObservable.js.map          |     1 +
 .../_esm5/observable/ConnectableObservable.js   |   171 +
 .../observable/ConnectableObservable.js.map     |     1 +
 .../rxjs/_esm5/observable/DeferObservable.js    |   100 +
 .../_esm5/observable/DeferObservable.js.map     |     1 +
 .../rxjs/_esm5/observable/EmptyObservable.js    |    82 +
 .../_esm5/observable/EmptyObservable.js.map     |     1 +
 .../rxjs/_esm5/observable/ErrorObservable.js    |    84 +
 .../_esm5/observable/ErrorObservable.js.map     |     1 +
 .../rxjs/_esm5/observable/ForkJoinObservable.js |   203 +
 .../_esm5/observable/ForkJoinObservable.js.map  |     1 +
 .../_esm5/observable/FromEventObservable.js     |   217 +
 .../_esm5/observable/FromEventObservable.js.map |     1 +
 .../observable/FromEventPatternObservable.js    |   114 +
 .../FromEventPatternObservable.js.map           |     1 +
 .../rxjs/_esm5/observable/FromObservable.js     |   123 +
 .../rxjs/_esm5/observable/FromObservable.js.map |     1 +
 .../rxjs/_esm5/observable/GenerateObservable.js |   137 +
 .../_esm5/observable/GenerateObservable.js.map  |     1 +
 .../rxjs/_esm5/observable/IfObservable.js       |    62 +
 .../rxjs/_esm5/observable/IfObservable.js.map   |     1 +
 .../rxjs/_esm5/observable/IntervalObservable.js |    97 +
 .../_esm5/observable/IntervalObservable.js.map  |     1 +
 .../rxjs/_esm5/observable/IteratorObservable.js |   172 +
 .../_esm5/observable/IteratorObservable.js.map  |     1 +
 .../rxjs/_esm5/observable/NeverObservable.js    |    60 +
 .../_esm5/observable/NeverObservable.js.map     |     1 +
 .../rxjs/_esm5/observable/PairsObservable.js    |    86 +
 .../_esm5/observable/PairsObservable.js.map     |     1 +
 .../rxjs/_esm5/observable/PromiseObservable.js  |   122 +
 .../_esm5/observable/PromiseObservable.js.map   |     1 +
 .../rxjs/_esm5/observable/RangeObservable.js    |   101 +
 .../_esm5/observable/RangeObservable.js.map     |     1 +
 .../rxjs/_esm5/observable/ScalarObservable.js   |    59 +
 .../_esm5/observable/ScalarObservable.js.map    |     1 +
 .../_esm5/observable/SubscribeOnObservable.js   |    60 +
 .../observable/SubscribeOnObservable.js.map     |     1 +
 .../rxjs/_esm5/observable/TimerObservable.js    |   112 +
 .../_esm5/observable/TimerObservable.js.map     |     1 +
 .../rxjs/_esm5/observable/UsingObservable.js    |    62 +
 .../_esm5/observable/UsingObservable.js.map     |     1 +
 .../rxjs/_esm5/observable/bindCallback.js       |     4 +
 .../rxjs/_esm5/observable/bindCallback.js.map   |     1 +
 .../rxjs/_esm5/observable/bindNodeCallback.js   |     4 +
 .../_esm5/observable/bindNodeCallback.js.map    |     1 +
 .../rxjs/_esm5/observable/combineLatest.js      |   135 +
 .../rxjs/_esm5/observable/combineLatest.js.map  |     1 +
 node_modules/rxjs/_esm5/observable/concat.js    |   110 +
 .../rxjs/_esm5/observable/concat.js.map         |     1 +
 node_modules/rxjs/_esm5/observable/defer.js     |     4 +
 node_modules/rxjs/_esm5/observable/defer.js.map |     1 +
 .../rxjs/_esm5/observable/dom/AjaxObservable.js |   415 +
 .../_esm5/observable/dom/AjaxObservable.js.map  |     1 +
 .../_esm5/observable/dom/WebSocketSubject.js    |   251 +
 .../observable/dom/WebSocketSubject.js.map      |     1 +
 node_modules/rxjs/_esm5/observable/dom/ajax.js  |     4 +
 .../rxjs/_esm5/observable/dom/ajax.js.map       |     1 +
 .../rxjs/_esm5/observable/dom/webSocket.js      |     4 +
 .../rxjs/_esm5/observable/dom/webSocket.js.map  |     1 +
 node_modules/rxjs/_esm5/observable/empty.js     |     4 +
 node_modules/rxjs/_esm5/observable/empty.js.map |     1 +
 node_modules/rxjs/_esm5/observable/forkJoin.js  |     4 +
 .../rxjs/_esm5/observable/forkJoin.js.map       |     1 +
 node_modules/rxjs/_esm5/observable/from.js      |     4 +
 node_modules/rxjs/_esm5/observable/from.js.map  |     1 +
 node_modules/rxjs/_esm5/observable/fromEvent.js |     4 +
 .../rxjs/_esm5/observable/fromEvent.js.map      |     1 +
 .../rxjs/_esm5/observable/fromEventPattern.js   |     4 +
 .../_esm5/observable/fromEventPattern.js.map    |     1 +
 .../rxjs/_esm5/observable/fromPromise.js        |     4 +
 .../rxjs/_esm5/observable/fromPromise.js.map    |     1 +
 node_modules/rxjs/_esm5/observable/generate.js  |     4 +
 .../rxjs/_esm5/observable/generate.js.map       |     1 +
 node_modules/rxjs/_esm5/observable/if.js        |     4 +
 node_modules/rxjs/_esm5/observable/if.js.map    |     1 +
 node_modules/rxjs/_esm5/observable/interval.js  |     4 +
 .../rxjs/_esm5/observable/interval.js.map       |     1 +
 node_modules/rxjs/_esm5/observable/merge.js     |    89 +
 node_modules/rxjs/_esm5/observable/merge.js.map |     1 +
 node_modules/rxjs/_esm5/observable/never.js     |     4 +
 node_modules/rxjs/_esm5/observable/never.js.map |     1 +
 node_modules/rxjs/_esm5/observable/of.js        |     4 +
 node_modules/rxjs/_esm5/observable/of.js.map    |     1 +
 .../rxjs/_esm5/observable/onErrorResumeNext.js  |     4 +
 .../_esm5/observable/onErrorResumeNext.js.map   |     1 +
 node_modules/rxjs/_esm5/observable/pairs.js     |     4 +
 node_modules/rxjs/_esm5/observable/pairs.js.map |     1 +
 node_modules/rxjs/_esm5/observable/race.js      |    88 +
 node_modules/rxjs/_esm5/observable/race.js.map  |     1 +
 node_modules/rxjs/_esm5/observable/range.js     |     4 +
 node_modules/rxjs/_esm5/observable/range.js.map |     1 +
 node_modules/rxjs/_esm5/observable/throw.js     |     4 +
 node_modules/rxjs/_esm5/observable/throw.js.map |     1 +
 node_modules/rxjs/_esm5/observable/timer.js     |     4 +
 node_modules/rxjs/_esm5/observable/timer.js.map |     1 +
 node_modules/rxjs/_esm5/observable/using.js     |     4 +
 node_modules/rxjs/_esm5/observable/using.js.map |     1 +
 node_modules/rxjs/_esm5/observable/zip.js       |     4 +
 node_modules/rxjs/_esm5/observable/zip.js.map   |     1 +
 node_modules/rxjs/_esm5/operator/audit.js       |    46 +
 node_modules/rxjs/_esm5/operator/audit.js.map   |     1 +
 node_modules/rxjs/_esm5/operator/auditTime.js   |    52 +
 .../rxjs/_esm5/operator/auditTime.js.map        |     1 +
 node_modules/rxjs/_esm5/operator/buffer.js      |    38 +
 node_modules/rxjs/_esm5/operator/buffer.js.map  |     1 +
 node_modules/rxjs/_esm5/operator/bufferCount.js |    50 +
 .../rxjs/_esm5/operator/bufferCount.js.map      |     1 +
 node_modules/rxjs/_esm5/operator/bufferTime.js  |    66 +
 .../rxjs/_esm5/operator/bufferTime.js.map       |     1 +
 .../rxjs/_esm5/operator/bufferToggle.js         |    44 +
 .../rxjs/_esm5/operator/bufferToggle.js.map     |     1 +
 node_modules/rxjs/_esm5/operator/bufferWhen.js  |    39 +
 .../rxjs/_esm5/operator/bufferWhen.js.map       |     1 +
 node_modules/rxjs/_esm5/operator/catch.js       |    65 +
 node_modules/rxjs/_esm5/operator/catch.js.map   |     1 +
 node_modules/rxjs/_esm5/operator/combineAll.js  |    46 +
 .../rxjs/_esm5/operator/combineAll.js.map       |     1 +
 .../rxjs/_esm5/operator/combineLatest.js        |    54 +
 .../rxjs/_esm5/operator/combineLatest.js.map    |     1 +
 node_modules/rxjs/_esm5/operator/concat.js      |    61 +
 node_modules/rxjs/_esm5/operator/concat.js.map  |     1 +
 node_modules/rxjs/_esm5/operator/concatAll.js   |    55 +
 .../rxjs/_esm5/operator/concatAll.js.map        |     1 +
 node_modules/rxjs/_esm5/operator/concatMap.js   |    66 +
 .../rxjs/_esm5/operator/concatMap.js.map        |     1 +
 node_modules/rxjs/_esm5/operator/concatMapTo.js |    63 +
 .../rxjs/_esm5/operator/concatMapTo.js.map      |     1 +
 node_modules/rxjs/_esm5/operator/count.js       |    54 +
 node_modules/rxjs/_esm5/operator/count.js.map   |     1 +
 node_modules/rxjs/_esm5/operator/debounce.js    |    48 +
 .../rxjs/_esm5/operator/debounce.js.map         |     1 +
 .../rxjs/_esm5/operator/debounceTime.js         |    56 +
 .../rxjs/_esm5/operator/debounceTime.js.map     |     1 +
 .../rxjs/_esm5/operator/defaultIfEmpty.js       |    40 +
 .../rxjs/_esm5/operator/defaultIfEmpty.js.map   |     1 +
 node_modules/rxjs/_esm5/operator/delay.js       |    49 +
 node_modules/rxjs/_esm5/operator/delay.js.map   |     1 +
 node_modules/rxjs/_esm5/operator/delayWhen.js   |    51 +
 .../rxjs/_esm5/operator/delayWhen.js.map        |     1 +
 .../rxjs/_esm5/operator/dematerialize.js        |    46 +
 .../rxjs/_esm5/operator/dematerialize.js.map    |     1 +
 node_modules/rxjs/_esm5/operator/distinct.js    |    51 +
 .../rxjs/_esm5/operator/distinct.js.map         |     1 +
 .../rxjs/_esm5/operator/distinctUntilChanged.js |    46 +
 .../_esm5/operator/distinctUntilChanged.js.map  |     1 +
 .../_esm5/operator/distinctUntilKeyChanged.js   |    64 +
 .../operator/distinctUntilKeyChanged.js.map     |     1 +
 node_modules/rxjs/_esm5/operator/do.js          |    50 +
 node_modules/rxjs/_esm5/operator/do.js.map      |     1 +
 node_modules/rxjs/_esm5/operator/elementAt.js   |    48 +
 .../rxjs/_esm5/operator/elementAt.js.map        |     1 +
 node_modules/rxjs/_esm5/operator/every.js       |    20 +
 node_modules/rxjs/_esm5/operator/every.js.map   |     1 +
 node_modules/rxjs/_esm5/operator/exhaust.js     |    41 +
 node_modules/rxjs/_esm5/operator/exhaust.js.map |     1 +
 node_modules/rxjs/_esm5/operator/exhaustMap.js  |    52 +
 .../rxjs/_esm5/operator/exhaustMap.js.map       |     1 +
 node_modules/rxjs/_esm5/operator/expand.js      |    59 +
 node_modules/rxjs/_esm5/operator/expand.js.map  |     1 +
 node_modules/rxjs/_esm5/operator/filter.js      |    46 +
 node_modules/rxjs/_esm5/operator/filter.js.map  |     1 +
 node_modules/rxjs/_esm5/operator/finally.js     |    14 +
 node_modules/rxjs/_esm5/operator/finally.js.map |     1 +
 node_modules/rxjs/_esm5/operator/find.js        |    40 +
 node_modules/rxjs/_esm5/operator/find.js.map    |     1 +
 node_modules/rxjs/_esm5/operator/findIndex.js   |    40 +
 .../rxjs/_esm5/operator/findIndex.js.map        |     1 +
 node_modules/rxjs/_esm5/operator/first.js       |    55 +
 node_modules/rxjs/_esm5/operator/first.js.map   |     1 +
 node_modules/rxjs/_esm5/operator/groupBy.js     |    75 +
 node_modules/rxjs/_esm5/operator/groupBy.js.map |     1 +
 .../rxjs/_esm5/operator/ignoreElements.js       |    17 +
 .../rxjs/_esm5/operator/ignoreElements.js.map   |     1 +
 node_modules/rxjs/_esm5/operator/isEmpty.js     |    15 +
 node_modules/rxjs/_esm5/operator/isEmpty.js.map |     1 +
 node_modules/rxjs/_esm5/operator/last.js        |    24 +
 node_modules/rxjs/_esm5/operator/last.js.map    |     1 +
 node_modules/rxjs/_esm5/operator/let.js         |    11 +
 node_modules/rxjs/_esm5/operator/let.js.map     |     1 +
 node_modules/rxjs/_esm5/operator/map.js         |    39 +
 node_modules/rxjs/_esm5/operator/map.js.map     |     1 +
 node_modules/rxjs/_esm5/operator/mapTo.js       |    32 +
 node_modules/rxjs/_esm5/operator/mapTo.js.map   |     1 +
 node_modules/rxjs/_esm5/operator/materialize.js |    50 +
 .../rxjs/_esm5/operator/materialize.js.map      |     1 +
 node_modules/rxjs/_esm5/operator/max.js         |    37 +
 node_modules/rxjs/_esm5/operator/max.js.map     |     1 +
 node_modules/rxjs/_esm5/operator/merge.js       |    58 +
 node_modules/rxjs/_esm5/operator/merge.js.map   |     1 +
 node_modules/rxjs/_esm5/operator/mergeAll.js    |    53 +
 .../rxjs/_esm5/operator/mergeAll.js.map         |     1 +
 node_modules/rxjs/_esm5/operator/mergeMap.js    |    68 +
 .../rxjs/_esm5/operator/mergeMap.js.map         |     1 +
 node_modules/rxjs/_esm5/operator/mergeMapTo.js  |    53 +
 .../rxjs/_esm5/operator/mergeMapTo.js.map       |     1 +
 node_modules/rxjs/_esm5/operator/mergeScan.js   |    40 +
 .../rxjs/_esm5/operator/mergeScan.js.map        |     1 +
 node_modules/rxjs/_esm5/operator/min.js         |    37 +
 node_modules/rxjs/_esm5/operator/min.js.map     |     1 +
 node_modules/rxjs/_esm5/operator/multicast.js   |   101 +
 .../rxjs/_esm5/operator/multicast.js.map        |     1 +
 node_modules/rxjs/_esm5/operator/observeOn.js   |    55 +
 .../rxjs/_esm5/operator/observeOn.js.map        |     1 +
 .../rxjs/_esm5/operator/onErrorResumeNext.js    |    72 +
 .../_esm5/operator/onErrorResumeNext.js.map     |     1 +
 node_modules/rxjs/_esm5/operator/pairwise.js    |    41 +
 .../rxjs/_esm5/operator/pairwise.js.map         |     1 +
 node_modules/rxjs/_esm5/operator/partition.js   |    47 +
 .../rxjs/_esm5/operator/partition.js.map        |     1 +
 node_modules/rxjs/_esm5/operator/pluck.js       |    36 +
 node_modules/rxjs/_esm5/operator/pluck.js.map   |     1 +
 node_modules/rxjs/_esm5/operator/publish.js     |    20 +
 node_modules/rxjs/_esm5/operator/publish.js.map |     1 +
 .../rxjs/_esm5/operator/publishBehavior.js      |    12 +
 .../rxjs/_esm5/operator/publishBehavior.js.map  |     1 +
 node_modules/rxjs/_esm5/operator/publishLast.js |    12 +
 .../rxjs/_esm5/operator/publishLast.js.map      |     1 +
 .../rxjs/_esm5/operator/publishReplay.js        |    16 +
 .../rxjs/_esm5/operator/publishReplay.js.map    |     1 +
 node_modules/rxjs/_esm5/operator/race.js        |    21 +
 node_modules/rxjs/_esm5/operator/race.js.map    |     1 +
 node_modules/rxjs/_esm5/operator/reduce.js      |    59 +
 node_modules/rxjs/_esm5/operator/reduce.js.map  |     1 +
 node_modules/rxjs/_esm5/operator/repeat.js      |    21 +
 node_modules/rxjs/_esm5/operator/repeat.js.map  |     1 +
 node_modules/rxjs/_esm5/operator/repeatWhen.js  |    20 +
 .../rxjs/_esm5/operator/repeatWhen.js.map       |     1 +
 node_modules/rxjs/_esm5/operator/retry.js       |    25 +
 node_modules/rxjs/_esm5/operator/retry.js.map   |     1 +
 node_modules/rxjs/_esm5/operator/retryWhen.js   |    20 +
 .../rxjs/_esm5/operator/retryWhen.js.map        |     1 +
 node_modules/rxjs/_esm5/operator/sample.js      |    40 +
 node_modules/rxjs/_esm5/operator/sample.js.map  |     1 +
 node_modules/rxjs/_esm5/operator/sampleTime.js  |    46 +
 .../rxjs/_esm5/operator/sampleTime.js.map       |     1 +
 node_modules/rxjs/_esm5/operator/scan.js        |    47 +
 node_modules/rxjs/_esm5/operator/scan.js.map    |     1 +
 .../rxjs/_esm5/operator/sequenceEqual.js        |    58 +
 .../rxjs/_esm5/operator/sequenceEqual.js.map    |     1 +
 node_modules/rxjs/_esm5/operator/share.js       |    23 +
 node_modules/rxjs/_esm5/operator/share.js.map   |     1 +
 node_modules/rxjs/_esm5/operator/shareReplay.js |    11 +
 .../rxjs/_esm5/operator/shareReplay.js.map      |     1 +
 node_modules/rxjs/_esm5/operator/single.js      |    22 +
 node_modules/rxjs/_esm5/operator/single.js.map  |     1 +
 node_modules/rxjs/_esm5/operator/skip.js        |    17 +
 node_modules/rxjs/_esm5/operator/skip.js.map    |     1 +
 node_modules/rxjs/_esm5/operator/skipLast.js    |    38 +
 .../rxjs/_esm5/operator/skipLast.js.map         |     1 +
 node_modules/rxjs/_esm5/operator/skipUntil.js   |    18 +
 .../rxjs/_esm5/operator/skipUntil.js.map        |     1 +
 node_modules/rxjs/_esm5/operator/skipWhile.js   |    18 +
 .../rxjs/_esm5/operator/skipWhile.js.map        |     1 +
 node_modules/rxjs/_esm5/operator/startWith.js   |    25 +
 .../rxjs/_esm5/operator/startWith.js.map        |     1 +
 node_modules/rxjs/_esm5/operator/subscribeOn.js |    20 +
 .../rxjs/_esm5/operator/subscribeOn.js.map      |     1 +
 node_modules/rxjs/_esm5/operator/switch.js      |    48 +
 node_modules/rxjs/_esm5/operator/switch.js.map  |     1 +
 node_modules/rxjs/_esm5/operator/switchMap.js   |    54 +
 .../rxjs/_esm5/operator/switchMap.js.map        |     1 +
 node_modules/rxjs/_esm5/operator/switchMapTo.js |    49 +
 .../rxjs/_esm5/operator/switchMapTo.js.map      |     1 +
 node_modules/rxjs/_esm5/operator/take.js        |    39 +
 node_modules/rxjs/_esm5/operator/take.js.map    |     1 +
 node_modules/rxjs/_esm5/operator/takeLast.js    |    42 +
 .../rxjs/_esm5/operator/takeLast.js.map         |     1 +
 node_modules/rxjs/_esm5/operator/takeUntil.js   |    39 +
 .../rxjs/_esm5/operator/takeUntil.js.map        |     1 +
 node_modules/rxjs/_esm5/operator/takeWhile.js   |    42 +
 .../rxjs/_esm5/operator/takeWhile.js.map        |     1 +
 node_modules/rxjs/_esm5/operator/throttle.js    |    49 +
 .../rxjs/_esm5/operator/throttle.js.map         |     1 +
 .../rxjs/_esm5/operator/throttleTime.js         |    53 +
 .../rxjs/_esm5/operator/throttleTime.js.map     |     1 +
 .../rxjs/_esm5/operator/timeInterval.js         |    17 +
 .../rxjs/_esm5/operator/timeInterval.js.map     |     1 +
 node_modules/rxjs/_esm5/operator/timeout.js     |    75 +
 node_modules/rxjs/_esm5/operator/timeout.js.map |     1 +
 node_modules/rxjs/_esm5/operator/timeoutWith.js |    58 +
 .../rxjs/_esm5/operator/timeoutWith.js.map      |     1 +
 node_modules/rxjs/_esm5/operator/timestamp.js   |    16 +
 .../rxjs/_esm5/operator/timestamp.js.map        |     1 +
 node_modules/rxjs/_esm5/operator/toArray.js     |    29 +
 node_modules/rxjs/_esm5/operator/toArray.js.map |     1 +
 node_modules/rxjs/_esm5/operator/toPromise.js   |     6 +
 .../rxjs/_esm5/operator/toPromise.js.map        |     1 +
 node_modules/rxjs/_esm5/operator/window.js      |    42 +
 node_modules/rxjs/_esm5/operator/window.js.map  |     1 +
 node_modules/rxjs/_esm5/operator/windowCount.js |    57 +
 .../rxjs/_esm5/operator/windowCount.js.map      |     1 +
 node_modules/rxjs/_esm5/operator/windowTime.js  |    27 +
 .../rxjs/_esm5/operator/windowTime.js.map       |     1 +
 .../rxjs/_esm5/operator/windowToggle.js         |    47 +
 .../rxjs/_esm5/operator/windowToggle.js.map     |     1 +
 node_modules/rxjs/_esm5/operator/windowWhen.js  |    44 +
 .../rxjs/_esm5/operator/windowWhen.js.map       |     1 +
 .../rxjs/_esm5/operator/withLatestFrom.js       |    49 +
 .../rxjs/_esm5/operator/withLatestFrom.js.map   |     1 +
 node_modules/rxjs/_esm5/operator/zip.js         |    17 +
 node_modules/rxjs/_esm5/operator/zip.js.map     |     1 +
 node_modules/rxjs/_esm5/operator/zipAll.js      |    12 +
 node_modules/rxjs/_esm5/operator/zipAll.js.map  |     1 +
 node_modules/rxjs/_esm5/operators.js            |   110 +
 node_modules/rxjs/_esm5/operators.js.map        |     1 +
 node_modules/rxjs/_esm5/operators/audit.js      |   119 +
 node_modules/rxjs/_esm5/operators/audit.js.map  |     1 +
 node_modules/rxjs/_esm5/operators/auditTime.js  |    53 +
 .../rxjs/_esm5/operators/auditTime.js.map       |     1 +
 node_modules/rxjs/_esm5/operators/buffer.js     |    79 +
 node_modules/rxjs/_esm5/operators/buffer.js.map |     1 +
 .../rxjs/_esm5/operators/bufferCount.js         |   145 +
 .../rxjs/_esm5/operators/bufferCount.js.map     |     1 +
 node_modules/rxjs/_esm5/operators/bufferTime.js |   202 +
 .../rxjs/_esm5/operators/bufferTime.js.map      |     1 +
 .../rxjs/_esm5/operators/bufferToggle.js        |   155 +
 .../rxjs/_esm5/operators/bufferToggle.js.map    |     1 +
 node_modules/rxjs/_esm5/operators/bufferWhen.js |   125 +
 .../rxjs/_esm5/operators/bufferWhen.js.map      |     1 +
 node_modules/rxjs/_esm5/operators/catchError.js |   117 +
 .../rxjs/_esm5/operators/catchError.js.map      |     1 +
 node_modules/rxjs/_esm5/operators/combineAll.js |     6 +
 .../rxjs/_esm5/operators/combineAll.js.map      |     1 +
 .../rxjs/_esm5/operators/combineLatest.js       |   150 +
 .../rxjs/_esm5/operators/combineLatest.js.map   |     1 +
 node_modules/rxjs/_esm5/operators/concat.js     |    61 +
 node_modules/rxjs/_esm5/operators/concat.js.map |     1 +
 node_modules/rxjs/_esm5/operators/concatAll.js  |    54 +
 .../rxjs/_esm5/operators/concatAll.js.map       |     1 +
 node_modules/rxjs/_esm5/operators/concatMap.js  |    66 +
 .../rxjs/_esm5/operators/concatMap.js.map       |     1 +
 .../rxjs/_esm5/operators/concatMapTo.js         |    63 +
 .../rxjs/_esm5/operators/concatMapTo.js.map     |     1 +
 node_modules/rxjs/_esm5/operators/count.js      |   112 +
 node_modules/rxjs/_esm5/operators/count.js.map  |     1 +
 node_modules/rxjs/_esm5/operators/debounce.js   |   128 +
 .../rxjs/_esm5/operators/debounce.js.map        |     1 +
 .../rxjs/_esm5/operators/debounceTime.js        |   119 +
 .../rxjs/_esm5/operators/debounceTime.js.map    |     1 +
 .../rxjs/_esm5/operators/defaultIfEmpty.js      |    80 +
 .../rxjs/_esm5/operators/defaultIfEmpty.js.map  |     1 +
 node_modules/rxjs/_esm5/operators/delay.js      |   138 +
 node_modules/rxjs/_esm5/operators/delay.js.map  |     1 +
 node_modules/rxjs/_esm5/operators/delayWhen.js  |   195 +
 .../rxjs/_esm5/operators/delayWhen.js.map       |     1 +
 .../rxjs/_esm5/operators/dematerialize.js       |    78 +
 .../rxjs/_esm5/operators/dematerialize.js.map   |     1 +
 node_modules/rxjs/_esm5/operators/distinct.js   |   120 +
 .../rxjs/_esm5/operators/distinct.js.map        |     1 +
 .../_esm5/operators/distinctUntilChanged.js     |   109 +
 .../_esm5/operators/distinctUntilChanged.js.map |     1 +
 .../_esm5/operators/distinctUntilKeyChanged.js  |    64 +
 .../operators/distinctUntilKeyChanged.js.map    |     1 +
 node_modules/rxjs/_esm5/operators/elementAt.js  |   101 +
 .../rxjs/_esm5/operators/elementAt.js.map       |     1 +
 node_modules/rxjs/_esm5/operators/every.js      |    75 +
 node_modules/rxjs/_esm5/operators/every.js.map  |     1 +
 node_modules/rxjs/_esm5/operators/exhaust.js    |    90 +
 .../rxjs/_esm5/operators/exhaust.js.map         |     1 +
 node_modules/rxjs/_esm5/operators/exhaustMap.js |   139 +
 .../rxjs/_esm5/operators/exhaustMap.js.map      |     1 +
 node_modules/rxjs/_esm5/operators/expand.js     |   154 +
 node_modules/rxjs/_esm5/operators/expand.js.map |     1 +
 node_modules/rxjs/_esm5/operators/filter.js     |    95 +
 node_modules/rxjs/_esm5/operators/filter.js.map |     1 +
 node_modules/rxjs/_esm5/operators/finalize.js   |    44 +
 .../rxjs/_esm5/operators/finalize.js.map        |     1 +
 node_modules/rxjs/_esm5/operators/find.js       |    99 +
 node_modules/rxjs/_esm5/operators/find.js.map   |     1 +
 node_modules/rxjs/_esm5/operators/findIndex.js  |    40 +
 .../rxjs/_esm5/operators/findIndex.js.map       |     1 +
 node_modules/rxjs/_esm5/operators/first.js      |   153 +
 node_modules/rxjs/_esm5/operators/first.js.map  |     1 +
 node_modules/rxjs/_esm5/operators/groupBy.js    |   276 +
 .../rxjs/_esm5/operators/groupBy.js.map         |     1 +
 .../rxjs/_esm5/operators/ignoreElements.js      |    49 +
 .../rxjs/_esm5/operators/ignoreElements.js.map  |     1 +
 node_modules/rxjs/_esm5/operators/isEmpty.js    |    44 +
 .../rxjs/_esm5/operators/isEmpty.js.map         |     1 +
 node_modules/rxjs/_esm5/operators/last.js       |   120 +
 node_modules/rxjs/_esm5/operators/last.js.map   |     1 +
 node_modules/rxjs/_esm5/operators/map.js        |    89 +
 node_modules/rxjs/_esm5/operators/map.js.map    |     1 +
 node_modules/rxjs/_esm5/operators/mapTo.js      |    64 +
 node_modules/rxjs/_esm5/operators/mapTo.js.map  |     1 +
 .../rxjs/_esm5/operators/materialize.js         |    93 +
 .../rxjs/_esm5/operators/materialize.js.map     |     1 +
 node_modules/rxjs/_esm5/operators/max.js        |    40 +
 node_modules/rxjs/_esm5/operators/max.js.map    |     1 +
 node_modules/rxjs/_esm5/operators/merge.js      |    58 +
 node_modules/rxjs/_esm5/operators/merge.js.map  |     1 +
 node_modules/rxjs/_esm5/operators/mergeAll.js   |    54 +
 .../rxjs/_esm5/operators/mergeAll.js.map        |     1 +
 node_modules/rxjs/_esm5/operators/mergeMap.js   |   178 +
 .../rxjs/_esm5/operators/mergeMap.js.map        |     1 +
 node_modules/rxjs/_esm5/operators/mergeMapTo.js |   160 +
 .../rxjs/_esm5/operators/mergeMapTo.js.map      |     1 +
 node_modules/rxjs/_esm5/operators/mergeScan.js  |   130 +
 .../rxjs/_esm5/operators/mergeScan.js.map       |     1 +
 node_modules/rxjs/_esm5/operators/min.js        |    40 +
 node_modules/rxjs/_esm5/operators/min.js.map    |     1 +
 node_modules/rxjs/_esm5/operators/multicast.js  |    57 +
 .../rxjs/_esm5/operators/multicast.js.map       |     1 +
 node_modules/rxjs/_esm5/operators/observeOn.js  |   119 +
 .../rxjs/_esm5/operators/observeOn.js.map       |     1 +
 .../rxjs/_esm5/operators/onErrorResumeNext.js   |   137 +
 .../_esm5/operators/onErrorResumeNext.js.map    |     1 +
 node_modules/rxjs/_esm5/operators/pairwise.js   |    78 +
 .../rxjs/_esm5/operators/pairwise.js.map        |     1 +
 node_modules/rxjs/_esm5/operators/partition.js  |    53 +
 .../rxjs/_esm5/operators/partition.js.map       |     1 +
 node_modules/rxjs/_esm5/operators/pluck.js      |    56 +
 node_modules/rxjs/_esm5/operators/pluck.js.map  |     1 +
 node_modules/rxjs/_esm5/operators/publish.js    |    23 +
 .../rxjs/_esm5/operators/publish.js.map         |     1 +
 .../rxjs/_esm5/operators/publishBehavior.js     |    13 +
 .../rxjs/_esm5/operators/publishBehavior.js.map |     1 +
 .../rxjs/_esm5/operators/publishLast.js         |     7 +
 .../rxjs/_esm5/operators/publishLast.js.map     |     1 +
 .../rxjs/_esm5/operators/publishReplay.js       |    13 +
 .../rxjs/_esm5/operators/publishReplay.js.map   |     1 +
 node_modules/rxjs/_esm5/operators/race.js       |    27 +
 node_modules/rxjs/_esm5/operators/race.js.map   |     1 +
 node_modules/rxjs/_esm5/operators/reduce.js     |    68 +
 node_modules/rxjs/_esm5/operators/reduce.js.map |     1 +
 node_modules/rxjs/_esm5/operators/refCount.js   |    86 +
 .../rxjs/_esm5/operators/refCount.js.map        |     1 +
 node_modules/rxjs/_esm5/operators/repeat.js     |    75 +
 node_modules/rxjs/_esm5/operators/repeat.js.map |     1 +
 node_modules/rxjs/_esm5/operators/repeatWhen.js |   109 +
 .../rxjs/_esm5/operators/repeatWhen.js.map      |     1 +
 node_modules/rxjs/_esm5/operators/retry.js      |    68 +
 node_modules/rxjs/_esm5/operators/retry.js.map  |     1 +
 node_modules/rxjs/_esm5/operators/retryWhen.js  |   102 +
 .../rxjs/_esm5/operators/retryWhen.js.map       |     1 +
 node_modules/rxjs/_esm5/operators/sample.js     |    89 +
 node_modules/rxjs/_esm5/operators/sample.js.map |     1 +
 node_modules/rxjs/_esm5/operators/sampleTime.js |    94 +
 .../rxjs/_esm5/operators/sampleTime.js.map      |     1 +
 node_modules/rxjs/_esm5/operators/scan.js       |   124 +
 node_modules/rxjs/_esm5/operators/scan.js.map   |     1 +
 .../rxjs/_esm5/operators/sequenceEqual.js       |   163 +
 .../rxjs/_esm5/operators/sequenceEqual.js.map   |     1 +
 node_modules/rxjs/_esm5/operators/share.js      |    24 +
 node_modules/rxjs/_esm5/operators/share.js.map  |     1 +
 .../rxjs/_esm5/operators/shareReplay.js         |    44 +
 .../rxjs/_esm5/operators/shareReplay.js.map     |     1 +
 node_modules/rxjs/_esm5/operators/single.js     |    94 +
 node_modules/rxjs/_esm5/operators/single.js.map |     1 +
 node_modules/rxjs/_esm5/operators/skip.js       |    52 +
 node_modules/rxjs/_esm5/operators/skip.js.map   |     1 +
 node_modules/rxjs/_esm5/operators/skipLast.js   |    94 +
 .../rxjs/_esm5/operators/skipLast.js.map        |     1 +
 node_modules/rxjs/_esm5/operators/skipUntil.js  |    72 +
 .../rxjs/_esm5/operators/skipUntil.js.map       |     1 +
 node_modules/rxjs/_esm5/operators/skipWhile.js  |    67 +
 .../rxjs/_esm5/operators/skipWhile.js.map       |     1 +
 node_modules/rxjs/_esm5/operators/startWith.js  |    47 +
 .../rxjs/_esm5/operators/startWith.js.map       |     1 +
 .../rxjs/_esm5/operators/subscribeOn.js         |    32 +
 .../rxjs/_esm5/operators/subscribeOn.js.map     |     1 +
 node_modules/rxjs/_esm5/operators/switchAll.js  |     7 +
 .../rxjs/_esm5/operators/switchAll.js.map       |     1 +
 node_modules/rxjs/_esm5/operators/switchMap.js  |   143 +
 .../rxjs/_esm5/operators/switchMap.js.map       |     1 +
 .../rxjs/_esm5/operators/switchMapTo.js         |   126 +
 .../rxjs/_esm5/operators/switchMapTo.js.map     |     1 +
 node_modules/rxjs/_esm5/operators/take.js       |    92 +
 node_modules/rxjs/_esm5/operators/take.js.map   |     1 +
 node_modules/rxjs/_esm5/operators/takeLast.js   |   110 +
 .../rxjs/_esm5/operators/takeLast.js.map        |     1 +
 node_modules/rxjs/_esm5/operators/takeUntil.js  |    76 +
 .../rxjs/_esm5/operators/takeUntil.js.map       |     1 +
 node_modules/rxjs/_esm5/operators/takeWhile.js  |    93 +
 .../rxjs/_esm5/operators/takeWhile.js.map       |     1 +
 node_modules/rxjs/_esm5/operators/tap.js        |   114 +
 node_modules/rxjs/_esm5/operators/tap.js.map    |     1 +
 node_modules/rxjs/_esm5/operators/throttle.js   |   145 +
 .../rxjs/_esm5/operators/throttle.js.map        |     1 +
 .../rxjs/_esm5/operators/throttleTime.js        |   121 +
 .../rxjs/_esm5/operators/throttleTime.js.map    |     1 +
 .../rxjs/_esm5/operators/timeInterval.js        |    55 +
 .../rxjs/_esm5/operators/timeInterval.js.map    |     1 +
 node_modules/rxjs/_esm5/operators/timeout.js    |   144 +
 .../rxjs/_esm5/operators/timeout.js.map         |     1 +
 .../rxjs/_esm5/operators/timeoutWith.js         |   131 +
 .../rxjs/_esm5/operators/timeoutWith.js.map     |     1 +
 node_modules/rxjs/_esm5/operators/timestamp.js  |    25 +
 .../rxjs/_esm5/operators/timestamp.js.map       |     1 +
 node_modules/rxjs/_esm5/operators/toArray.js    |    10 +
 .../rxjs/_esm5/operators/toArray.js.map         |     1 +
 node_modules/rxjs/_esm5/operators/window.js     |   113 +
 node_modules/rxjs/_esm5/operators/window.js.map |     1 +
 .../rxjs/_esm5/operators/windowCount.js         |   136 +
 .../rxjs/_esm5/operators/windowCount.js.map     |     1 +
 node_modules/rxjs/_esm5/operators/windowTime.js |   164 +
 .../rxjs/_esm5/operators/windowTime.js.map      |     1 +
 .../rxjs/_esm5/operators/windowToggle.js        |   181 +
 .../rxjs/_esm5/operators/windowToggle.js.map    |     1 +
 node_modules/rxjs/_esm5/operators/windowWhen.js |   132 +
 .../rxjs/_esm5/operators/windowWhen.js.map      |     1 +
 .../rxjs/_esm5/operators/withLatestFrom.js      |   133 +
 .../rxjs/_esm5/operators/withLatestFrom.js.map  |     1 +
 node_modules/rxjs/_esm5/operators/zip.js        |   281 +
 node_modules/rxjs/_esm5/operators/zip.js.map    |     1 +
 node_modules/rxjs/_esm5/operators/zipAll.js     |     6 +
 node_modules/rxjs/_esm5/operators/zipAll.js.map |     1 +
 node_modules/rxjs/_esm5/path-mapping.js         |   465 +
 node_modules/rxjs/_esm5/scheduler/Action.js     |    47 +
 node_modules/rxjs/_esm5/scheduler/Action.js.map |     1 +
 .../_esm5/scheduler/AnimationFrameAction.js     |    60 +
 .../_esm5/scheduler/AnimationFrameAction.js.map |     1 +
 .../_esm5/scheduler/AnimationFrameScheduler.js  |    38 +
 .../scheduler/AnimationFrameScheduler.js.map    |     1 +
 node_modules/rxjs/_esm5/scheduler/AsapAction.js |    60 +
 .../rxjs/_esm5/scheduler/AsapAction.js.map      |     1 +
 .../rxjs/_esm5/scheduler/AsapScheduler.js       |    38 +
 .../rxjs/_esm5/scheduler/AsapScheduler.js.map   |     1 +
 .../rxjs/_esm5/scheduler/AsyncAction.js         |   149 +
 .../rxjs/_esm5/scheduler/AsyncAction.js.map     |     1 +
 .../rxjs/_esm5/scheduler/AsyncScheduler.js      |    52 +
 .../rxjs/_esm5/scheduler/AsyncScheduler.js.map  |     1 +
 .../rxjs/_esm5/scheduler/QueueAction.js         |    54 +
 .../rxjs/_esm5/scheduler/QueueAction.js.map     |     1 +
 .../rxjs/_esm5/scheduler/QueueScheduler.js      |    17 +
 .../rxjs/_esm5/scheduler/QueueScheduler.js.map  |     1 +
 .../_esm5/scheduler/VirtualTimeScheduler.js     |   125 +
 .../_esm5/scheduler/VirtualTimeScheduler.js.map |     1 +
 .../rxjs/_esm5/scheduler/animationFrame.js      |    35 +
 .../rxjs/_esm5/scheduler/animationFrame.js.map  |     1 +
 node_modules/rxjs/_esm5/scheduler/asap.js       |    39 +
 node_modules/rxjs/_esm5/scheduler/asap.js.map   |     1 +
 node_modules/rxjs/_esm5/scheduler/async.js      |    47 +
 node_modules/rxjs/_esm5/scheduler/async.js.map  |     1 +
 node_modules/rxjs/_esm5/scheduler/queue.js      |    66 +
 node_modules/rxjs/_esm5/scheduler/queue.js.map  |     1 +
 node_modules/rxjs/_esm5/symbol/iterator.js      |    37 +
 node_modules/rxjs/_esm5/symbol/iterator.js.map  |     1 +
 node_modules/rxjs/_esm5/symbol/observable.js    |    25 +
 .../rxjs/_esm5/symbol/observable.js.map         |     1 +
 node_modules/rxjs/_esm5/symbol/rxSubscriber.js  |    10 +
 .../rxjs/_esm5/symbol/rxSubscriber.js.map       |     1 +
 .../rxjs/_esm5/testing/ColdObservable.js        |    47 +
 .../rxjs/_esm5/testing/ColdObservable.js.map    |     1 +
 .../rxjs/_esm5/testing/HotObservable.js         |    49 +
 .../rxjs/_esm5/testing/HotObservable.js.map     |     1 +
 .../rxjs/_esm5/testing/SubscriptionLog.js       |    11 +
 .../rxjs/_esm5/testing/SubscriptionLog.js.map   |     1 +
 .../rxjs/_esm5/testing/SubscriptionLoggable.js  |    18 +
 .../_esm5/testing/SubscriptionLoggable.js.map   |     1 +
 node_modules/rxjs/_esm5/testing/TestMessage.js  |     1 +
 .../rxjs/_esm5/testing/TestMessage.js.map       |     1 +
 .../rxjs/_esm5/testing/TestScheduler.js         |   228 +
 .../rxjs/_esm5/testing/TestScheduler.js.map     |     1 +
 node_modules/rxjs/_esm5/util/AnimationFrame.js  |    33 +
 .../rxjs/_esm5/util/AnimationFrame.js.map       |     1 +
 .../rxjs/_esm5/util/ArgumentOutOfRangeError.js  |    29 +
 .../_esm5/util/ArgumentOutOfRangeError.js.map   |     1 +
 node_modules/rxjs/_esm5/util/EmptyError.js      |    29 +
 node_modules/rxjs/_esm5/util/EmptyError.js.map  |     1 +
 node_modules/rxjs/_esm5/util/FastMap.js         |    29 +
 node_modules/rxjs/_esm5/util/FastMap.js.map     |     1 +
 node_modules/rxjs/_esm5/util/Immediate.js       |   208 +
 node_modules/rxjs/_esm5/util/Immediate.js.map   |     1 +
 node_modules/rxjs/_esm5/util/Map.js             |     5 +
 node_modules/rxjs/_esm5/util/Map.js.map         |     1 +
 node_modules/rxjs/_esm5/util/MapPolyfill.js     |    45 +
 node_modules/rxjs/_esm5/util/MapPolyfill.js.map |     1 +
 .../rxjs/_esm5/util/ObjectUnsubscribedError.js  |    28 +
 .../_esm5/util/ObjectUnsubscribedError.js.map   |     1 +
 node_modules/rxjs/_esm5/util/Set.js             |    32 +
 node_modules/rxjs/_esm5/util/Set.js.map         |     1 +
 node_modules/rxjs/_esm5/util/TimeoutError.js    |    26 +
 .../rxjs/_esm5/util/TimeoutError.js.map         |     1 +
 .../rxjs/_esm5/util/UnsubscriptionError.js      |    26 +
 .../rxjs/_esm5/util/UnsubscriptionError.js.map  |     1 +
 node_modules/rxjs/_esm5/util/applyMixins.js     |    12 +
 node_modules/rxjs/_esm5/util/applyMixins.js.map |     1 +
 node_modules/rxjs/_esm5/util/assign.js          |    24 +
 node_modules/rxjs/_esm5/util/assign.js.map      |     1 +
 node_modules/rxjs/_esm5/util/errorObject.js     |     4 +
 node_modules/rxjs/_esm5/util/errorObject.js.map |     1 +
 node_modules/rxjs/_esm5/util/identity.js        |     5 +
 node_modules/rxjs/_esm5/util/identity.js.map    |     1 +
 node_modules/rxjs/_esm5/util/isArray.js         |     3 +
 node_modules/rxjs/_esm5/util/isArray.js.map     |     1 +
 node_modules/rxjs/_esm5/util/isArrayLike.js     |     3 +
 node_modules/rxjs/_esm5/util/isArrayLike.js.map |     1 +
 node_modules/rxjs/_esm5/util/isDate.js          |     5 +
 node_modules/rxjs/_esm5/util/isDate.js.map      |     1 +
 node_modules/rxjs/_esm5/util/isFunction.js      |     5 +
 node_modules/rxjs/_esm5/util/isFunction.js.map  |     1 +
 node_modules/rxjs/_esm5/util/isNumeric.js       |    11 +
 node_modules/rxjs/_esm5/util/isNumeric.js.map   |     1 +
 node_modules/rxjs/_esm5/util/isObject.js        |     5 +
 node_modules/rxjs/_esm5/util/isObject.js.map    |     1 +
 node_modules/rxjs/_esm5/util/isPromise.js       |     5 +
 node_modules/rxjs/_esm5/util/isPromise.js.map   |     1 +
 node_modules/rxjs/_esm5/util/isScheduler.js     |     5 +
 node_modules/rxjs/_esm5/util/isScheduler.js.map |     1 +
 node_modules/rxjs/_esm5/util/noop.js            |     4 +
 node_modules/rxjs/_esm5/util/noop.js.map        |     1 +
 node_modules/rxjs/_esm5/util/not.js             |    10 +
 node_modules/rxjs/_esm5/util/not.js.map         |     1 +
 node_modules/rxjs/_esm5/util/pipe.js            |    23 +
 node_modules/rxjs/_esm5/util/pipe.js.map        |     1 +
 node_modules/rxjs/_esm5/util/root.js            |    19 +
 node_modules/rxjs/_esm5/util/root.js.map        |     1 +
 .../rxjs/_esm5/util/subscribeToResult.js        |    78 +
 .../rxjs/_esm5/util/subscribeToResult.js.map    |     1 +
 node_modules/rxjs/_esm5/util/toSubscriber.js    |    19 +
 .../rxjs/_esm5/util/toSubscriber.js.map         |     1 +
 node_modules/rxjs/_esm5/util/tryCatch.js        |    18 +
 node_modules/rxjs/_esm5/util/tryCatch.js.map    |     1 +
 .../rxjs/add/observable/bindCallback.d.ts       |     6 +
 .../rxjs/add/observable/bindCallback.js         |     5 +
 .../rxjs/add/observable/bindCallback.js.map     |     1 +
 .../rxjs/add/observable/bindNodeCallback.d.ts   |     6 +
 .../rxjs/add/observable/bindNodeCallback.js     |     5 +
 .../rxjs/add/observable/bindNodeCallback.js.map |     1 +
 .../rxjs/add/observable/combineLatest.d.ts      |     6 +
 .../rxjs/add/observable/combineLatest.js        |     5 +
 .../rxjs/add/observable/combineLatest.js.map    |     1 +
 node_modules/rxjs/add/observable/concat.d.ts    |     6 +
 node_modules/rxjs/add/observable/concat.js      |     5 +
 node_modules/rxjs/add/observable/concat.js.map  |     1 +
 node_modules/rxjs/add/observable/defer.d.ts     |     6 +
 node_modules/rxjs/add/observable/defer.js       |     5 +
 node_modules/rxjs/add/observable/defer.js.map   |     1 +
 node_modules/rxjs/add/observable/dom/ajax.d.ts  |     6 +
 node_modules/rxjs/add/observable/dom/ajax.js    |     5 +
 .../rxjs/add/observable/dom/ajax.js.map         |     1 +
 .../rxjs/add/observable/dom/webSocket.d.ts      |     6 +
 .../rxjs/add/observable/dom/webSocket.js        |     5 +
 .../rxjs/add/observable/dom/webSocket.js.map    |     1 +
 node_modules/rxjs/add/observable/empty.d.ts     |     6 +
 node_modules/rxjs/add/observable/empty.js       |     5 +
 node_modules/rxjs/add/observable/empty.js.map   |     1 +
 node_modules/rxjs/add/observable/forkJoin.d.ts  |     6 +
 node_modules/rxjs/add/observable/forkJoin.js    |     5 +
 .../rxjs/add/observable/forkJoin.js.map         |     1 +
 node_modules/rxjs/add/observable/from.d.ts      |     6 +
 node_modules/rxjs/add/observable/from.js        |     5 +
 node_modules/rxjs/add/observable/from.js.map    |     1 +
 node_modules/rxjs/add/observable/fromEvent.d.ts |     6 +
 node_modules/rxjs/add/observable/fromEvent.js   |     5 +
 .../rxjs/add/observable/fromEvent.js.map        |     1 +
 .../rxjs/add/observable/fromEventPattern.d.ts   |     6 +
 .../rxjs/add/observable/fromEventPattern.js     |     5 +
 .../rxjs/add/observable/fromEventPattern.js.map |     1 +
 .../rxjs/add/observable/fromPromise.d.ts        |     6 +
 node_modules/rxjs/add/observable/fromPromise.js |     5 +
 .../rxjs/add/observable/fromPromise.js.map      |     1 +
 node_modules/rxjs/add/observable/generate.d.ts  |     6 +
 node_modules/rxjs/add/observable/generate.js    |     5 +
 .../rxjs/add/observable/generate.js.map         |     1 +
 node_modules/rxjs/add/observable/if.d.ts        |     0
 node_modules/rxjs/add/observable/if.js          |     5 +
 node_modules/rxjs/add/observable/if.js.map      |     1 +
 node_modules/rxjs/add/observable/interval.d.ts  |     6 +
 node_modules/rxjs/add/observable/interval.js    |     5 +
 .../rxjs/add/observable/interval.js.map         |     1 +
 node_modules/rxjs/add/observable/merge.d.ts     |     6 +
 node_modules/rxjs/add/observable/merge.js       |     5 +
 node_modules/rxjs/add/observable/merge.js.map   |     1 +
 node_modules/rxjs/add/observable/never.d.ts     |     6 +
 node_modules/rxjs/add/observable/never.js       |     5 +
 node_modules/rxjs/add/observable/never.js.map   |     1 +
 node_modules/rxjs/add/observable/of.d.ts        |     6 +
 node_modules/rxjs/add/observable/of.js          |     5 +
 node_modules/rxjs/add/observable/of.js.map      |     1 +
 .../rxjs/add/observable/onErrorResumeNext.d.ts  |     6 +
 .../rxjs/add/observable/onErrorResumeNext.js    |     5 +
 .../add/observable/onErrorResumeNext.js.map     |     1 +
 node_modules/rxjs/add/observable/pairs.d.ts     |     6 +
 node_modules/rxjs/add/observable/pairs.js       |     5 +
 node_modules/rxjs/add/observable/pairs.js.map   |     1 +
 node_modules/rxjs/add/observable/race.d.ts      |     6 +
 node_modules/rxjs/add/observable/race.js        |     5 +
 node_modules/rxjs/add/observable/race.js.map    |     1 +
 node_modules/rxjs/add/observable/range.d.ts     |     6 +
 node_modules/rxjs/add/observable/range.js       |     5 +
 node_modules/rxjs/add/observable/range.js.map   |     1 +
 node_modules/rxjs/add/observable/throw.d.ts     |     0
 node_modules/rxjs/add/observable/throw.js       |     5 +
 node_modules/rxjs/add/observable/throw.js.map   |     1 +
 node_modules/rxjs/add/observable/timer.d.ts     |     6 +
 node_modules/rxjs/add/observable/timer.js       |     5 +
 node_modules/rxjs/add/observable/timer.js.map   |     1 +
 node_modules/rxjs/add/observable/using.d.ts     |     6 +
 node_modules/rxjs/add/observable/using.js       |     5 +
 node_modules/rxjs/add/observable/using.js.map   |     1 +
 node_modules/rxjs/add/observable/zip.d.ts       |     6 +
 node_modules/rxjs/add/observable/zip.js         |     5 +
 node_modules/rxjs/add/observable/zip.js.map     |     1 +
 node_modules/rxjs/add/operator/audit.d.ts       |     6 +
 node_modules/rxjs/add/operator/audit.js         |     5 +
 node_modules/rxjs/add/operator/audit.js.map     |     1 +
 node_modules/rxjs/add/operator/auditTime.d.ts   |     6 +
 node_modules/rxjs/add/operator/auditTime.js     |     5 +
 node_modules/rxjs/add/operator/auditTime.js.map |     1 +
 node_modules/rxjs/add/operator/buffer.d.ts      |     6 +
 node_modules/rxjs/add/operator/buffer.js        |     5 +
 node_modules/rxjs/add/operator/buffer.js.map    |     1 +
 node_modules/rxjs/add/operator/bufferCount.d.ts |     6 +
 node_modules/rxjs/add/operator/bufferCount.js   |     5 +
 .../rxjs/add/operator/bufferCount.js.map        |     1 +
 node_modules/rxjs/add/operator/bufferTime.d.ts  |     6 +
 node_modules/rxjs/add/operator/bufferTime.js    |     5 +
 .../rxjs/add/operator/bufferTime.js.map         |     1 +
 .../rxjs/add/operator/bufferToggle.d.ts         |     6 +
 node_modules/rxjs/add/operator/bufferToggle.js  |     5 +
 .../rxjs/add/operator/bufferToggle.js.map       |     1 +
 node_modules/rxjs/add/operator/bufferWhen.d.ts  |     6 +
 node_modules/rxjs/add/operator/bufferWhen.js    |     5 +
 .../rxjs/add/operator/bufferWhen.js.map         |     1 +
 node_modules/rxjs/add/operator/catch.d.ts       |     7 +
 node_modules/rxjs/add/operator/catch.js         |     6 +
 node_modules/rxjs/add/operator/catch.js.map     |     1 +
 node_modules/rxjs/add/operator/combineAll.d.ts  |     6 +
 node_modules/rxjs/add/operator/combineAll.js    |     5 +
 .../rxjs/add/operator/combineAll.js.map         |     1 +
 .../rxjs/add/operator/combineLatest.d.ts        |     6 +
 node_modules/rxjs/add/operator/combineLatest.js |     5 +
 .../rxjs/add/operator/combineLatest.js.map      |     1 +
 node_modules/rxjs/add/operator/concat.d.ts      |     6 +
 node_modules/rxjs/add/operator/concat.js        |     5 +
 node_modules/rxjs/add/operator/concat.js.map    |     1 +
 node_modules/rxjs/add/operator/concatAll.d.ts   |     6 +
 node_modules/rxjs/add/operator/concatAll.js     |     5 +
 node_modules/rxjs/add/operator/concatAll.js.map |     1 +
 node_modules/rxjs/add/operator/concatMap.d.ts   |     6 +
 node_modules/rxjs/add/operator/concatMap.js     |     5 +
 node_modules/rxjs/add/operator/concatMap.js.map |     1 +
 node_modules/rxjs/add/operator/concatMapTo.d.ts |     6 +
 node_modules/rxjs/add/operator/concatMapTo.js   |     5 +
 .../rxjs/add/operator/concatMapTo.js.map        |     1 +
 node_modules/rxjs/add/operator/count.d.ts       |     6 +
 node_modules/rxjs/add/operator/count.js         |     5 +
 node_modules/rxjs/add/operator/count.js.map     |     1 +
 node_modules/rxjs/add/operator/debounce.d.ts    |     6 +
 node_modules/rxjs/add/operator/debounce.js      |     5 +
 node_modules/rxjs/add/operator/debounce.js.map  |     1 +
 .../rxjs/add/operator/debounceTime.d.ts         |     6 +
 node_modules/rxjs/add/operator/debounceTime.js  |     5 +
 .../rxjs/add/operator/debounceTime.js.map       |     1 +
 .../rxjs/add/operator/defaultIfEmpty.d.ts       |     6 +
 .../rxjs/add/operator/defaultIfEmpty.js         |     5 +
 .../rxjs/add/operator/defaultIfEmpty.js.map     |     1 +
 node_modules/rxjs/add/operator/delay.d.ts       |     6 +
 node_modules/rxjs/add/operator/delay.js         |     5 +
 node_modules/rxjs/add/operator/delay.js.map     |     1 +
 node_modules/rxjs/add/operator/delayWhen.d.ts   |     6 +
 node_modules/rxjs/add/operator/delayWhen.js     |     5 +
 node_modules/rxjs/add/operator/delayWhen.js.map |     1 +
 .../rxjs/add/operator/dematerialize.d.ts        |     6 +
 node_modules/rxjs/add/operator/dematerialize.js |     5 +
 .../rxjs/add/operator/dematerialize.js.map      |     1 +
 node_modules/rxjs/add/operator/distinct.d.ts    |     6 +
 node_modules/rxjs/add/operator/distinct.js      |     5 +
 node_modules/rxjs/add/operator/distinct.js.map  |     1 +
 .../rxjs/add/operator/distinctUntilChanged.d.ts |     6 +
 .../rxjs/add/operator/distinctUntilChanged.js   |     5 +
 .../add/operator/distinctUntilChanged.js.map    |     1 +
 .../add/operator/distinctUntilKeyChanged.d.ts   |     6 +
 .../add/operator/distinctUntilKeyChanged.js     |     5 +
 .../add/operator/distinctUntilKeyChanged.js.map |     1 +
 node_modules/rxjs/add/operator/do.d.ts          |     7 +
 node_modules/rxjs/add/operator/do.js            |     6 +
 node_modules/rxjs/add/operator/do.js.map        |     1 +
 node_modules/rxjs/add/operator/elementAt.d.ts   |     6 +
 node_modules/rxjs/add/operator/elementAt.js     |     5 +
 node_modules/rxjs/add/operator/elementAt.js.map |     1 +
 node_modules/rxjs/add/operator/every.d.ts       |     6 +
 node_modules/rxjs/add/operator/every.js         |     5 +
 node_modules/rxjs/add/operator/every.js.map     |     1 +
 node_modules/rxjs/add/operator/exhaust.d.ts     |     6 +
 node_modules/rxjs/add/operator/exhaust.js       |     5 +
 node_modules/rxjs/add/operator/exhaust.js.map   |     1 +
 node_modules/rxjs/add/operator/exhaustMap.d.ts  |     6 +
 node_modules/rxjs/add/operator/exhaustMap.js    |     5 +
 .../rxjs/add/operator/exhaustMap.js.map         |     1 +
 node_modules/rxjs/add/operator/expand.d.ts      |     6 +
 node_modules/rxjs/add/operator/expand.js        |     5 +
 node_modules/rxjs/add/operator/expand.js.map    |     1 +
 node_modules/rxjs/add/operator/filter.d.ts      |     6 +
 node_modules/rxjs/add/operator/filter.js        |     5 +
 node_modules/rxjs/add/operator/filter.js.map    |     1 +
 node_modules/rxjs/add/operator/finally.d.ts     |     7 +
 node_modules/rxjs/add/operator/finally.js       |     6 +
 node_modules/rxjs/add/operator/finally.js.map   |     1 +
 node_modules/rxjs/add/operator/find.d.ts        |     6 +
 node_modules/rxjs/add/operator/find.js          |     5 +
 node_modules/rxjs/add/operator/find.js.map      |     1 +
 node_modules/rxjs/add/operator/findIndex.d.ts   |     6 +
 node_modules/rxjs/add/operator/findIndex.js     |     5 +
 node_modules/rxjs/add/operator/findIndex.js.map |     1 +
 node_modules/rxjs/add/operator/first.d.ts       |     6 +
 node_modules/rxjs/add/operator/first.js         |     5 +
 node_modules/rxjs/add/operator/first.js.map     |     1 +
 node_modules/rxjs/add/operator/groupBy.d.ts     |     6 +
 node_modules/rxjs/add/operator/groupBy.js       |     5 +
 node_modules/rxjs/add/operator/groupBy.js.map   |     1 +
 .../rxjs/add/operator/ignoreElements.d.ts       |     6 +
 .../rxjs/add/operator/ignoreElements.js         |     5 +
 .../rxjs/add/operator/ignoreElements.js.map     |     1 +
 node_modules/rxjs/add/operator/isEmpty.d.ts     |     6 +
 node_modules/rxjs/add/operator/isEmpty.js       |     5 +
 node_modules/rxjs/add/operator/isEmpty.js.map   |     1 +
 node_modules/rxjs/add/operator/last.d.ts        |     6 +
 node_modules/rxjs/add/operator/last.js          |     5 +
 node_modules/rxjs/add/operator/last.js.map      |     1 +
 node_modules/rxjs/add/operator/let.d.ts         |     7 +
 node_modules/rxjs/add/operator/let.js           |     6 +
 node_modules/rxjs/add/operator/let.js.map       |     1 +
 node_modules/rxjs/add/operator/map.d.ts         |     6 +
 node_modules/rxjs/add/operator/map.js           |     5 +
 node_modules/rxjs/add/operator/map.js.map       |     1 +
 node_modules/rxjs/add/operator/mapTo.d.ts       |     6 +
 node_modules/rxjs/add/operator/mapTo.js         |     5 +
 node_modules/rxjs/add/operator/mapTo.js.map     |     1 +
 node_modules/rxjs/add/operator/materialize.d.ts |     6 +
 node_modules/rxjs/add/operator/materialize.js   |     5 +
 .../rxjs/add/operator/materialize.js.map        |     1 +
 node_modules/rxjs/add/operator/max.d.ts         |     6 +
 node_modules/rxjs/add/operator/max.js           |     5 +
 node_modules/rxjs/add/operator/max.js.map       |     1 +
 node_modules/rxjs/add/operator/merge.d.ts       |     6 +
 node_modules/rxjs/add/operator/merge.js         |     5 +
 node_modules/rxjs/add/operator/merge.js.map     |     1 +
 node_modules/rxjs/add/operator/mergeAll.d.ts    |     6 +
 node_modules/rxjs/add/operator/mergeAll.js      |     5 +
 node_modules/rxjs/add/operator/mergeAll.js.map  |     1 +
 node_modules/rxjs/add/operator/mergeMap.d.ts    |     7 +
 node_modules/rxjs/add/operator/mergeMap.js      |     6 +
 node_modules/rxjs/add/operator/mergeMap.js.map  |     1 +
 node_modules/rxjs/add/operator/mergeMapTo.d.ts  |     7 +
 node_modules/rxjs/add/operator/mergeMapTo.js    |     6 +
 .../rxjs/add/operator/mergeMapTo.js.map         |     1 +
 node_modules/rxjs/add/operator/mergeScan.d.ts   |     6 +
 node_modules/rxjs/add/operator/mergeScan.js     |     5 +
 node_modules/rxjs/add/operator/mergeScan.js.map |     1 +
 node_modules/rxjs/add/operator/min.d.ts         |     6 +
 node_modules/rxjs/add/operator/min.js           |     5 +
 node_modules/rxjs/add/operator/min.js.map       |     1 +
 node_modules/rxjs/add/operator/multicast.d.ts   |     6 +
 node_modules/rxjs/add/operator/multicast.js     |     5 +
 node_modules/rxjs/add/operator/multicast.js.map |     1 +
 node_modules/rxjs/add/operator/observeOn.d.ts   |     6 +
 node_modules/rxjs/add/operator/observeOn.js     |     5 +
 node_modules/rxjs/add/operator/observeOn.js.map |     1 +
 .../rxjs/add/operator/onErrorResumeNext.d.ts    |     6 +
 .../rxjs/add/operator/onErrorResumeNext.js      |     5 +
 .../rxjs/add/operator/onErrorResumeNext.js.map  |     1 +
 node_modules/rxjs/add/operator/pairwise.d.ts    |     6 +
 node_modules/rxjs/add/operator/pairwise.js      |     5 +
 node_modules/rxjs/add/operator/pairwise.js.map  |     1 +
 node_modules/rxjs/add/operator/partition.d.ts   |     6 +
 node_modules/rxjs/add/operator/partition.js     |     5 +
 node_modules/rxjs/add/operator/partition.js.map |     1 +
 node_modules/rxjs/add/operator/pluck.d.ts       |     6 +
 node_modules/rxjs/add/operator/pluck.js         |     5 +
 node_modules/rxjs/add/operator/pluck.js.map     |     1 +
 node_modules/rxjs/add/operator/publish.d.ts     |     6 +
 node_modules/rxjs/add/operator/publish.js       |     5 +
 node_modules/rxjs/add/operator/publish.js.map   |     1 +
 .../rxjs/add/operator/publishBehavior.d.ts      |     6 +
 .../rxjs/add/operator/publishBehavior.js        |     5 +
 .../rxjs/add/operator/publishBehavior.js.map    |     1 +
 node_modules/rxjs/add/operator/publishLast.d.ts |     6 +
 node_modules/rxjs/add/operator/publishLast.js   |     5 +
 .../rxjs/add/operator/publishLast.js.map        |     1 +
 .../rxjs/add/operator/publishReplay.d.ts        |     6 +
 node_modules/rxjs/add/operator/publishReplay.js |     5 +
 .../rxjs/add/operator/publishReplay.js.map      |     1 +
 node_modules/rxjs/add/operator/race.d.ts        |     6 +
 node_modules/rxjs/add/operator/race.js          |     5 +
 node_modules/rxjs/add/operator/race.js.map      |     1 +
 node_modules/rxjs/add/operator/reduce.d.ts      |     6 +
 node_modules/rxjs/add/operator/reduce.js        |     5 +
 node_modules/rxjs/add/operator/reduce.js.map    |     1 +
 node_modules/rxjs/add/operator/repeat.d.ts      |     6 +
 node_modules/rxjs/add/operator/repeat.js        |     5 +
 node_modules/rxjs/add/operator/repeat.js.map    |     1 +
 node_modules/rxjs/add/operator/repeatWhen.d.ts  |     6 +
 node_modules/rxjs/add/operator/repeatWhen.js    |     5 +
 .../rxjs/add/operator/repeatWhen.js.map         |     1 +
 node_modules/rxjs/add/operator/retry.d.ts       |     6 +
 node_modules/rxjs/add/operator/retry.js         |     5 +
 node_modules/rxjs/add/operator/retry.js.map     |     1 +
 node_modules/rxjs/add/operator/retryWhen.d.ts   |     6 +
 node_modules/rxjs/add/operator/retryWhen.js     |     5 +
 node_modules/rxjs/add/operator/retryWhen.js.map |     1 +
 node_modules/rxjs/add/operator/sample.d.ts      |     6 +
 node_modules/rxjs/add/operator/sample.js        |     5 +
 node_modules/rxjs/add/operator/sample.js.map    |     1 +
 node_modules/rxjs/add/operator/sampleTime.d.ts  |     6 +
 node_modules/rxjs/add/operator/sampleTime.js    |     5 +
 .../rxjs/add/operator/sampleTime.js.map         |     1 +
 node_modules/rxjs/add/operator/scan.d.ts        |     6 +
 node_modules/rxjs/add/operator/scan.js          |     5 +
 node_modules/rxjs/add/operator/scan.js.map      |     1 +
 .../rxjs/add/operator/sequenceEqual.d.ts        |     6 +
 node_modules/rxjs/add/operator/sequenceEqual.js |     5 +
 .../rxjs/add/operator/sequenceEqual.js.map      |     1 +
 node_modules/rxjs/add/operator/share.d.ts       |     6 +
 node_modules/rxjs/add/operator/share.js         |     5 +
 node_modules/rxjs/add/operator/share.js.map     |     1 +
 node_modules/rxjs/add/operator/shareReplay.d.ts |     6 +
 node_modules/rxjs/add/operator/shareReplay.js   |     5 +
 .../rxjs/add/operator/shareReplay.js.map        |     1 +
 node_modules/rxjs/add/operator/single.d.ts      |     6 +
 node_modules/rxjs/add/operator/single.js        |     5 +
 node_modules/rxjs/add/operator/single.js.map    |     1 +
 node_modules/rxjs/add/operator/skip.d.ts        |     6 +
 node_modules/rxjs/add/operator/skip.js          |     5 +
 node_modules/rxjs/add/operator/skip.js.map      |     1 +
 node_modules/rxjs/add/operator/skipLast.d.ts    |     6 +
 node_modules/rxjs/add/operator/skipLast.js      |     5 +
 node_modules/rxjs/add/operator/skipLast.js.map  |     1 +
 node_modules/rxjs/add/operator/skipUntil.d.ts   |     6 +
 node_modules/rxjs/add/operator/skipUntil.js     |     5 +
 node_modules/rxjs/add/operator/skipUntil.js.map |     1 +
 node_modules/rxjs/add/operator/skipWhile.d.ts   |     6 +
 node_modules/rxjs/add/operator/skipWhile.js     |     5 +
 node_modules/rxjs/add/operator/skipWhile.js.map |     1 +
 node_modules/rxjs/add/operator/startWith.d.ts   |     6 +
 node_modules/rxjs/add/operator/startWith.js     |     5 +
 node_modules/rxjs/add/operator/startWith.js.map |     1 +
 node_modules/rxjs/add/operator/subscribeOn.d.ts |     6 +
 node_modules/rxjs/add/operator/subscribeOn.js   |     5 +
 .../rxjs/add/operator/subscribeOn.js.map        |     1 +
 node_modules/rxjs/add/operator/switch.d.ts      |     7 +
 node_modules/rxjs/add/operator/switch.js        |     6 +
 node_modules/rxjs/add/operator/switch.js.map    |     1 +
 node_modules/rxjs/add/operator/switchMap.d.ts   |     6 +
 node_modules/rxjs/add/operator/switchMap.js     |     5 +
 node_modules/rxjs/add/operator/switchMap.js.map |     1 +
 node_modules/rxjs/add/operator/switchMapTo.d.ts |     6 +
 node_modules/rxjs/add/operator/switchMapTo.js   |     5 +
 .../rxjs/add/operator/switchMapTo.js.map        |     1 +
 node_modules/rxjs/add/operator/take.d.ts        |     6 +
 node_modules/rxjs/add/operator/take.js          |     5 +
 node_modules/rxjs/add/operator/take.js.map      |     1 +
 node_modules/rxjs/add/operator/takeLast.d.ts    |     6 +
 node_modules/rxjs/add/operator/takeLast.js      |     5 +
 node_modules/rxjs/add/operator/takeLast.js.map  |     1 +
 node_modules/rxjs/add/operator/takeUntil.d.ts   |     6 +
 node_modules/rxjs/add/operator/takeUntil.js     |     5 +
 node_modules/rxjs/add/operator/takeUntil.js.map |     1 +
 node_modules/rxjs/add/operator/takeWhile.d.ts   |     6 +
 node_modules/rxjs/add/operator/takeWhile.js     |     5 +
 node_modules/rxjs/add/operator/takeWhile.js.map |     1 +
 node_modules/rxjs/add/operator/throttle.d.ts    |     6 +
 node_modules/rxjs/add/operator/throttle.js      |     5 +
 node_modules/rxjs/add/operator/throttle.js.map  |     1 +
 .../rxjs/add/operator/throttleTime.d.ts         |     6 +
 node_modules/rxjs/add/operator/throttleTime.js  |     5 +
 .../rxjs/add/operator/throttleTime.js.map       |     1 +
 .../rxjs/add/operator/timeInterval.d.ts         |     6 +
 node_modules/rxjs/add/operator/timeInterval.js  |     5 +
 .../rxjs/add/operator/timeInterval.js.map       |     1 +
 node_modules/rxjs/add/operator/timeout.d.ts     |     6 +
 node_modules/rxjs/add/operator/timeout.js       |     5 +
 node_modules/rxjs/add/operator/timeout.js.map   |     1 +
 node_modules/rxjs/add/operator/timeoutWith.d.ts |     6 +
 node_modules/rxjs/add/operator/timeoutWith.js   |     5 +
 .../rxjs/add/operator/timeoutWith.js.map        |     1 +
 node_modules/rxjs/add/operator/timestamp.d.ts   |     6 +
 node_modules/rxjs/add/operator/timestamp.js     |     5 +
 node_modules/rxjs/add/operator/timestamp.js.map |     1 +
 node_modules/rxjs/add/operator/toArray.d.ts     |     6 +
 node_modules/rxjs/add/operator/toArray.js       |     5 +
 node_modules/rxjs/add/operator/toArray.js.map   |     1 +
 node_modules/rxjs/add/operator/toPromise.d.ts   |     0
 node_modules/rxjs/add/operator/toPromise.js     |     3 +
 node_modules/rxjs/add/operator/toPromise.js.map |     1 +
 node_modules/rxjs/add/operator/window.d.ts      |     6 +
 node_modules/rxjs/add/operator/window.js        |     5 +
 node_modules/rxjs/add/operator/window.js.map    |     1 +
 node_modules/rxjs/add/operator/windowCount.d.ts |     6 +
 node_modules/rxjs/add/operator/windowCount.js   |     5 +
 .../rxjs/add/operator/windowCount.js.map        |     1 +
 node_modules/rxjs/add/operator/windowTime.d.ts  |     6 +
 node_modules/rxjs/add/operator/windowTime.js    |     5 +
 .../rxjs/add/operator/windowTime.js.map         |     1 +
 .../rxjs/add/operator/windowToggle.d.ts         |     6 +
 node_modules/rxjs/add/operator/windowToggle.js  |     5 +
 .../rxjs/add/operator/windowToggle.js.map       |     1 +
 node_modules/rxjs/add/operator/windowWhen.d.ts  |     6 +
 node_modules/rxjs/add/operator/windowWhen.js    |     5 +
 .../rxjs/add/operator/windowWhen.js.map         |     1 +
 .../rxjs/add/operator/withLatestFrom.d.ts       |     6 +
 .../rxjs/add/operator/withLatestFrom.js         |     5 +
 .../rxjs/add/operator/withLatestFrom.js.map     |     1 +
 node_modules/rxjs/add/operator/zip.d.ts         |     6 +
 node_modules/rxjs/add/operator/zip.js           |     5 +
 node_modules/rxjs/add/operator/zip.js.map       |     1 +
 node_modules/rxjs/add/operator/zipAll.d.ts      |     6 +
 node_modules/rxjs/add/operator/zipAll.js        |     5 +
 node_modules/rxjs/add/operator/zipAll.js.map    |     1 +
 node_modules/rxjs/bundles/Rx.js                 | 20247 ++++++++++
 node_modules/rxjs/bundles/Rx.js.map             |     1 +
 node_modules/rxjs/bundles/Rx.min.js             |   315 +
 node_modules/rxjs/bundles/Rx.min.js.map         |     8 +
 node_modules/rxjs/interfaces.d.ts               |     5 +
 node_modules/rxjs/interfaces.js                 |     2 +
 node_modules/rxjs/interfaces.js.map             |     1 +
 .../rxjs/observable/ArrayLikeObservable.d.ts    |    18 +
 .../rxjs/observable/ArrayLikeObservable.js      |    70 +
 .../rxjs/observable/ArrayLikeObservable.js.map  |     1 +
 .../rxjs/observable/ArrayObservable.d.ts        |    25 +
 node_modules/rxjs/observable/ArrayObservable.js |   122 +
 .../rxjs/observable/ArrayObservable.js.map      |     1 +
 .../observable/BoundCallbackObservable.d.ts     |    42 +
 .../rxjs/observable/BoundCallbackObservable.js  |   264 +
 .../observable/BoundCallbackObservable.js.map   |     1 +
 .../observable/BoundNodeCallbackObservable.d.ts |    29 +
 .../observable/BoundNodeCallbackObservable.js   |   263 +
 .../BoundNodeCallbackObservable.js.map          |     1 +
 .../rxjs/observable/ConnectableObservable.d.ts  |    21 +
 .../rxjs/observable/ConnectableObservable.js    |   170 +
 .../observable/ConnectableObservable.js.map     |     1 +
 .../rxjs/observable/DeferObservable.d.ts        |    60 +
 node_modules/rxjs/observable/DeferObservable.js |    99 +
 .../rxjs/observable/DeferObservable.js.map      |     1 +
 .../rxjs/observable/EmptyObservable.d.ts        |    62 +
 node_modules/rxjs/observable/EmptyObservable.js |    81 +
 .../rxjs/observable/EmptyObservable.js.map      |     1 +
 .../rxjs/observable/ErrorObservable.d.ts        |    61 +
 node_modules/rxjs/observable/ErrorObservable.js |    83 +
 .../rxjs/observable/ErrorObservable.js.map      |     1 +
 .../rxjs/observable/ForkJoinObservable.d.ts     |    31 +
 .../rxjs/observable/ForkJoinObservable.js       |   202 +
 .../rxjs/observable/ForkJoinObservable.js.map   |     1 +
 .../rxjs/observable/FromEventObservable.d.ts    |    35 +
 .../rxjs/observable/FromEventObservable.js      |   216 +
 .../rxjs/observable/FromEventObservable.js.map  |     1 +
 .../observable/FromEventPatternObservable.d.ts  |    65 +
 .../observable/FromEventPatternObservable.js    |   113 +
 .../FromEventPatternObservable.js.map           |     1 +
 .../rxjs/observable/FromObservable.d.ts         |    16 +
 node_modules/rxjs/observable/FromObservable.js  |   122 +
 .../rxjs/observable/FromObservable.js.map       |     1 +
 .../rxjs/observable/GenerateObservable.d.ts     |   144 +
 .../rxjs/observable/GenerateObservable.js       |   135 +
 .../rxjs/observable/GenerateObservable.js.map   |     1 +
 node_modules/rxjs/observable/IfObservable.d.ts  |    16 +
 node_modules/rxjs/observable/IfObservable.js    |    61 +
 .../rxjs/observable/IfObservable.js.map         |     1 +
 .../rxjs/observable/IntervalObservable.d.ts     |    49 +
 .../rxjs/observable/IntervalObservable.js       |    88 +
 .../rxjs/observable/IntervalObservable.js.map   |     1 +
 .../rxjs/observable/IteratorObservable.d.ts     |    17 +
 .../rxjs/observable/IteratorObservable.js       |   163 +
 .../rxjs/observable/IteratorObservable.js.map   |     1 +
 .../rxjs/observable/NeverObservable.d.ts        |    43 +
 node_modules/rxjs/observable/NeverObservable.js |    59 +
 .../rxjs/observable/NeverObservable.js.map      |     1 +
 .../rxjs/observable/PairsObservable.d.ts        |    48 +
 node_modules/rxjs/observable/PairsObservable.js |    85 +
 .../rxjs/observable/PairsObservable.js.map      |     1 +
 .../rxjs/observable/PromiseObservable.d.ts      |    43 +
 .../rxjs/observable/PromiseObservable.js        |   121 +
 .../rxjs/observable/PromiseObservable.js.map    |     1 +
 .../rxjs/observable/RangeObservable.d.ts        |    48 +
 node_modules/rxjs/observable/RangeObservable.js |    96 +
 .../rxjs/observable/RangeObservable.js.map      |     1 +
 .../rxjs/observable/ScalarObservable.d.ts       |    18 +
 .../rxjs/observable/ScalarObservable.js         |    58 +
 .../rxjs/observable/ScalarObservable.js.map     |     1 +
 .../rxjs/observable/SubscribeOnObservable.d.ts  |    23 +
 .../rxjs/observable/SubscribeOnObservable.js    |    51 +
 .../observable/SubscribeOnObservable.js.map     |     1 +
 .../rxjs/observable/TimerObservable.d.ts        |    60 +
 node_modules/rxjs/observable/TimerObservable.js |   107 +
 .../rxjs/observable/TimerObservable.js.map      |     1 +
 .../rxjs/observable/UsingObservable.d.ts        |    15 +
 node_modules/rxjs/observable/UsingObservable.js |    61 +
 .../rxjs/observable/UsingObservable.js.map      |     1 +
 node_modules/rxjs/observable/bindCallback.d.ts  |     2 +
 node_modules/rxjs/observable/bindCallback.js    |     4 +
 .../rxjs/observable/bindCallback.js.map         |     1 +
 .../rxjs/observable/bindNodeCallback.d.ts       |     2 +
 .../rxjs/observable/bindNodeCallback.js         |     4 +
 .../rxjs/observable/bindNodeCallback.js.map     |     1 +
 node_modules/rxjs/observable/combineLatest.d.ts |    20 +
 node_modules/rxjs/observable/combineLatest.js   |   136 +
 .../rxjs/observable/combineLatest.js.map        |     1 +
 node_modules/rxjs/observable/concat.d.ts        |    10 +
 node_modules/rxjs/observable/concat.js          |   111 +
 node_modules/rxjs/observable/concat.js.map      |     1 +
 node_modules/rxjs/observable/defer.d.ts         |     2 +
 node_modules/rxjs/observable/defer.js           |     4 +
 node_modules/rxjs/observable/defer.js.map       |     1 +
 .../rxjs/observable/dom/AjaxObservable.d.ts     |   137 +
 .../rxjs/observable/dom/AjaxObservable.js       |   422 +
 .../rxjs/observable/dom/AjaxObservable.js.map   |     1 +
 .../rxjs/observable/dom/WebSocketSubject.d.ts   |    83 +
 .../rxjs/observable/dom/WebSocketSubject.js     |   250 +
 .../rxjs/observable/dom/WebSocketSubject.js.map |     1 +
 node_modules/rxjs/observable/dom/ajax.d.ts      |     2 +
 node_modules/rxjs/observable/dom/ajax.js        |     4 +
 node_modules/rxjs/observable/dom/ajax.js.map    |     1 +
 node_modules/rxjs/observable/dom/webSocket.d.ts |     2 +
 node_modules/rxjs/observable/dom/webSocket.js   |     4 +
 .../rxjs/observable/dom/webSocket.js.map        |     1 +
 node_modules/rxjs/observable/empty.d.ts         |     2 +
 node_modules/rxjs/observable/empty.js           |     4 +
 node_modules/rxjs/observable/empty.js.map       |     1 +
 node_modules/rxjs/observable/forkJoin.d.ts      |     2 +
 node_modules/rxjs/observable/forkJoin.js        |     4 +
 node_modules/rxjs/observable/forkJoin.js.map    |     1 +
 node_modules/rxjs/observable/from.d.ts          |     2 +
 node_modules/rxjs/observable/from.js            |     4 +
 node_modules/rxjs/observable/from.js.map        |     1 +
 node_modules/rxjs/observable/fromEvent.d.ts     |     2 +
 node_modules/rxjs/observable/fromEvent.js       |     4 +
 node_modules/rxjs/observable/fromEvent.js.map   |     1 +
 .../rxjs/observable/fromEventPattern.d.ts       |     2 +
 .../rxjs/observable/fromEventPattern.js         |     4 +
 .../rxjs/observable/fromEventPattern.js.map     |     1 +
 node_modules/rxjs/observable/fromPromise.d.ts   |     2 +
 node_modules/rxjs/observable/fromPromise.js     |     4 +
 node_modules/rxjs/observable/fromPromise.js.map |     1 +
 node_modules/rxjs/observable/generate.d.ts      |     2 +
 node_modules/rxjs/observable/generate.js        |     4 +
 node_modules/rxjs/observable/generate.js.map    |     1 +
 node_modules/rxjs/observable/if.d.ts            |     2 +
 node_modules/rxjs/observable/if.js              |     4 +
 node_modules/rxjs/observable/if.js.map          |     1 +
 node_modules/rxjs/observable/interval.d.ts      |     2 +
 node_modules/rxjs/observable/interval.js        |     4 +
 node_modules/rxjs/observable/interval.js.map    |     1 +
 node_modules/rxjs/observable/merge.d.ts         |    16 +
 node_modules/rxjs/observable/merge.js           |    90 +
 node_modules/rxjs/observable/merge.js.map       |     1 +
 node_modules/rxjs/observable/never.d.ts         |     2 +
 node_modules/rxjs/observable/never.js           |     4 +
 node_modules/rxjs/observable/never.js.map       |     1 +
 node_modules/rxjs/observable/of.d.ts            |     2 +
 node_modules/rxjs/observable/of.js              |     4 +
 node_modules/rxjs/observable/of.js.map          |     1 +
 .../rxjs/observable/onErrorResumeNext.d.ts      |     2 +
 .../rxjs/observable/onErrorResumeNext.js        |     4 +
 .../rxjs/observable/onErrorResumeNext.js.map    |     1 +
 node_modules/rxjs/observable/pairs.d.ts         |     2 +
 node_modules/rxjs/observable/pairs.js           |     4 +
 node_modules/rxjs/observable/pairs.js.map       |     1 +
 node_modules/rxjs/observable/race.d.ts          |    34 +
 node_modules/rxjs/observable/race.js            |    89 +
 node_modules/rxjs/observable/race.js.map        |     1 +
 node_modules/rxjs/observable/range.d.ts         |     2 +
 node_modules/rxjs/observable/range.js           |     4 +
 node_modules/rxjs/observable/range.js.map       |     1 +
 node_modules/rxjs/observable/throw.d.ts         |     2 +
 node_modules/rxjs/observable/throw.js           |     4 +
 node_modules/rxjs/observable/throw.js.map       |     1 +
 node_modules/rxjs/observable/timer.d.ts         |     2 +
 node_modules/rxjs/observable/timer.js           |     4 +
 node_modules/rxjs/observable/timer.js.map       |     1 +
 node_modules/rxjs/observable/using.d.ts         |     2 +
 node_modules/rxjs/observable/using.js           |     4 +
 node_modules/rxjs/observable/using.js.map       |     1 +
 node_modules/rxjs/observable/zip.d.ts           |     2 +
 node_modules/rxjs/observable/zip.js             |     4 +
 node_modules/rxjs/observable/zip.js.map         |     1 +
 node_modules/rxjs/operator/audit.d.ts           |    42 +
 node_modules/rxjs/operator/audit.js             |    47 +
 node_modules/rxjs/operator/audit.js.map         |     1 +
 node_modules/rxjs/operator/auditTime.d.ts       |    45 +
 node_modules/rxjs/operator/auditTime.js         |    51 +
 node_modules/rxjs/operator/auditTime.js.map     |     1 +
 node_modules/rxjs/operator/buffer.d.ts          |    34 +
 node_modules/rxjs/operator/buffer.js            |    39 +
 node_modules/rxjs/operator/buffer.js.map        |     1 +
 node_modules/rxjs/operator/bufferCount.d.ts     |    43 +
 node_modules/rxjs/operator/bufferCount.js       |    49 +
 node_modules/rxjs/operator/bufferCount.js.map   |     1 +
 node_modules/rxjs/operator/bufferTime.d.ts      |     5 +
 node_modules/rxjs/operator/bufferTime.js        |    67 +
 node_modules/rxjs/operator/bufferTime.js.map    |     1 +
 node_modules/rxjs/operator/bufferToggle.d.ts    |    40 +
 node_modules/rxjs/operator/bufferToggle.js      |    45 +
 node_modules/rxjs/operator/bufferToggle.js.map  |     1 +
 node_modules/rxjs/operator/bufferWhen.d.ts      |    35 +
 node_modules/rxjs/operator/bufferWhen.js        |    40 +
 node_modules/rxjs/operator/bufferWhen.js.map    |     1 +
 node_modules/rxjs/operator/catch.d.ts           |    61 +
 node_modules/rxjs/operator/catch.js             |    66 +
 node_modules/rxjs/operator/catch.js.map         |     1 +
 node_modules/rxjs/operator/combineAll.d.ts      |    42 +
 node_modules/rxjs/operator/combineAll.js        |    47 +
 node_modules/rxjs/operator/combineAll.js.map    |     1 +
 node_modules/rxjs/operator/combineLatest.d.ts   |    15 +
 node_modules/rxjs/operator/combineLatest.js     |    55 +
 node_modules/rxjs/operator/combineLatest.js.map |     1 +
 node_modules/rxjs/operator/concat.d.ts          |    11 +
 node_modules/rxjs/operator/concat.js            |    63 +
 node_modules/rxjs/operator/concat.js.map        |     1 +
 node_modules/rxjs/operator/concatAll.d.ts       |     4 +
 node_modules/rxjs/operator/concatAll.js         |    56 +
 node_modules/rxjs/operator/concatAll.js.map     |     1 +
 node_modules/rxjs/operator/concatMap.d.ts       |     3 +
 node_modules/rxjs/operator/concatMap.js         |    67 +
 node_modules/rxjs/operator/concatMap.js.map     |     1 +
 node_modules/rxjs/operator/concatMapTo.d.ts     |     3 +
 node_modules/rxjs/operator/concatMapTo.js       |    64 +
 node_modules/rxjs/operator/concatMapTo.js.map   |     1 +
 node_modules/rxjs/operator/count.d.ts           |    50 +
 node_modules/rxjs/operator/count.js             |    55 +
 node_modules/rxjs/operator/count.js.map         |     1 +
 node_modules/rxjs/operator/debounce.d.ts        |    44 +
 node_modules/rxjs/operator/debounce.js          |    49 +
 node_modules/rxjs/operator/debounce.js.map      |     1 +
 node_modules/rxjs/operator/debounceTime.d.ts    |    49 +
 node_modules/rxjs/operator/debounceTime.js      |    55 +
 node_modules/rxjs/operator/debounceTime.js.map  |     1 +
 node_modules/rxjs/operator/defaultIfEmpty.d.ts  |     3 +
 node_modules/rxjs/operator/defaultIfEmpty.js    |    39 +
 .../rxjs/operator/defaultIfEmpty.js.map         |     1 +
 node_modules/rxjs/operator/delay.d.ts           |    42 +
 node_modules/rxjs/operator/delay.js             |    48 +
 node_modules/rxjs/operator/delay.js.map         |     1 +
 node_modules/rxjs/operator/delayWhen.d.ts       |    47 +
 node_modules/rxjs/operator/delayWhen.js         |    52 +
 node_modules/rxjs/operator/delayWhen.js.map     |     1 +
 node_modules/rxjs/operator/dematerialize.d.ts   |    43 +
 node_modules/rxjs/operator/dematerialize.js     |    47 +
 node_modules/rxjs/operator/dematerialize.js.map |     1 +
 node_modules/rxjs/operator/distinct.d.ts        |    47 +
 node_modules/rxjs/operator/distinct.js          |    52 +
 node_modules/rxjs/operator/distinct.js.map      |     1 +
 .../rxjs/operator/distinctUntilChanged.d.ts     |     3 +
 .../rxjs/operator/distinctUntilChanged.js       |    47 +
 .../rxjs/operator/distinctUntilChanged.js.map   |     1 +
 .../rxjs/operator/distinctUntilKeyChanged.d.ts  |     3 +
 .../rxjs/operator/distinctUntilKeyChanged.js    |    65 +
 .../operator/distinctUntilKeyChanged.js.map     |     1 +
 node_modules/rxjs/operator/do.d.ts              |     4 +
 node_modules/rxjs/operator/do.js                |    51 +
 node_modules/rxjs/operator/do.js.map            |     1 +
 node_modules/rxjs/operator/elementAt.d.ts       |    44 +
 node_modules/rxjs/operator/elementAt.js         |    49 +
 node_modules/rxjs/operator/elementAt.js.map     |     1 +
 node_modules/rxjs/operator/every.d.ts           |    16 +
 node_modules/rxjs/operator/every.js             |    21 +
 node_modules/rxjs/operator/every.js.map         |     1 +
 node_modules/rxjs/operator/exhaust.d.ts         |    37 +
 node_modules/rxjs/operator/exhaust.js           |    42 +
 node_modules/rxjs/operator/exhaust.js.map       |     1 +
 node_modules/rxjs/operator/exhaustMap.d.ts      |     3 +
 node_modules/rxjs/operator/exhaustMap.js        |    53 +
 node_modules/rxjs/operator/exhaustMap.js.map    |     1 +
 node_modules/rxjs/operator/expand.d.ts          |     4 +
 node_modules/rxjs/operator/expand.js            |    56 +
 node_modules/rxjs/operator/expand.js.map        |     1 +
 node_modules/rxjs/operator/filter.d.ts          |     3 +
 node_modules/rxjs/operator/filter.js            |    47 +
 node_modules/rxjs/operator/filter.js.map        |     1 +
 node_modules/rxjs/operator/finally.d.ts         |    10 +
 node_modules/rxjs/operator/finally.js           |    15 +
 node_modules/rxjs/operator/finally.js.map       |     1 +
 node_modules/rxjs/operator/find.d.ts            |     3 +
 node_modules/rxjs/operator/find.js              |    41 +
 node_modules/rxjs/operator/find.js.map          |     1 +
 node_modules/rxjs/operator/findIndex.d.ts       |    36 +
 node_modules/rxjs/operator/findIndex.js         |    41 +
 node_modules/rxjs/operator/findIndex.js.map     |     1 +
 node_modules/rxjs/operator/first.d.ts           |     7 +
 node_modules/rxjs/operator/first.js             |    56 +
 node_modules/rxjs/operator/first.js.map         |     1 +
 node_modules/rxjs/operator/groupBy.d.ts         |     8 +
 node_modules/rxjs/operator/groupBy.js           |    76 +
 node_modules/rxjs/operator/groupBy.js.map       |     1 +
 node_modules/rxjs/operator/ignoreElements.d.ts  |    12 +
 node_modules/rxjs/operator/ignoreElements.js    |    18 +
 .../rxjs/operator/ignoreElements.js.map         |     1 +
 node_modules/rxjs/operator/isEmpty.d.ts         |    11 +
 node_modules/rxjs/operator/isEmpty.js           |    16 +
 node_modules/rxjs/operator/isEmpty.js.map       |     1 +
 node_modules/rxjs/operator/last.d.ts            |     7 +
 node_modules/rxjs/operator/last.js              |    25 +
 node_modules/rxjs/operator/last.js.map          |     1 +
 node_modules/rxjs/operator/let.d.ts             |     8 +
 node_modules/rxjs/operator/let.js               |    12 +
 node_modules/rxjs/operator/let.js.map           |     1 +
 node_modules/rxjs/operator/map.d.ts             |    35 +
 node_modules/rxjs/operator/map.js               |    40 +
 node_modules/rxjs/operator/map.js.map           |     1 +
 node_modules/rxjs/operator/mapTo.d.ts           |    28 +
 node_modules/rxjs/operator/mapTo.js             |    33 +
 node_modules/rxjs/operator/mapTo.js.map         |     1 +
 node_modules/rxjs/operator/materialize.d.ts     |    47 +
 node_modules/rxjs/operator/materialize.js       |    51 +
 node_modules/rxjs/operator/materialize.js.map   |     1 +
 node_modules/rxjs/operator/max.d.ts             |    33 +
 node_modules/rxjs/operator/max.js               |    38 +
 node_modules/rxjs/operator/max.js.map           |     1 +
 node_modules/rxjs/operator/merge.d.ts           |    17 +
 node_modules/rxjs/operator/merge.js             |    60 +
 node_modules/rxjs/operator/merge.js.map         |     1 +
 node_modules/rxjs/operator/mergeAll.d.ts        |     4 +
 node_modules/rxjs/operator/mergeAll.js          |    52 +
 node_modules/rxjs/operator/mergeAll.js.map      |     1 +
 node_modules/rxjs/operator/mergeMap.d.ts        |     3 +
 node_modules/rxjs/operator/mergeMap.js          |    67 +
 node_modules/rxjs/operator/mergeMap.js.map      |     1 +
 node_modules/rxjs/operator/mergeMapTo.d.ts      |     3 +
 node_modules/rxjs/operator/mergeMapTo.js        |    52 +
 node_modules/rxjs/operator/mergeMapTo.js.map    |     1 +
 node_modules/rxjs/operator/mergeScan.d.ts       |    33 +
 node_modules/rxjs/operator/mergeScan.js         |    39 +
 node_modules/rxjs/operator/mergeScan.js.map     |     1 +
 node_modules/rxjs/operator/min.d.ts             |    33 +
 node_modules/rxjs/operator/min.js               |    38 +
 node_modules/rxjs/operator/min.js.map           |     1 +
 node_modules/rxjs/operator/multicast.d.ts       |     7 +
 node_modules/rxjs/operator/multicast.js         |   102 +
 node_modules/rxjs/operator/multicast.js.map     |     1 +
 node_modules/rxjs/operator/observeOn.d.ts       |    49 +
 node_modules/rxjs/operator/observeOn.js         |    54 +
 node_modules/rxjs/operator/observeOn.js.map     |     1 +
 .../rxjs/operator/onErrorResumeNext.d.ts        |     8 +
 node_modules/rxjs/operator/onErrorResumeNext.js |    73 +
 .../rxjs/operator/onErrorResumeNext.js.map      |     1 +
 node_modules/rxjs/operator/pairwise.d.ts        |    37 +
 node_modules/rxjs/operator/pairwise.js          |    42 +
 node_modules/rxjs/operator/pairwise.js.map      |     1 +
 node_modules/rxjs/operator/partition.d.ts       |    43 +
 node_modules/rxjs/operator/partition.js         |    48 +
 node_modules/rxjs/operator/partition.js.map     |     1 +
 node_modules/rxjs/operator/pluck.d.ts           |    28 +
 node_modules/rxjs/operator/pluck.js             |    37 +
 node_modules/rxjs/operator/pluck.js.map         |     1 +
 node_modules/rxjs/operator/publish.d.ts         |     6 +
 node_modules/rxjs/operator/publish.js           |    21 +
 node_modules/rxjs/operator/publish.js.map       |     1 +
 node_modules/rxjs/operator/publishBehavior.d.ts |     9 +
 node_modules/rxjs/operator/publishBehavior.js   |    13 +
 .../rxjs/operator/publishBehavior.js.map        |     1 +
 node_modules/rxjs/operator/publishLast.d.ts     |     8 +
 node_modules/rxjs/operator/publishLast.js       |    13 +
 node_modules/rxjs/operator/publishLast.js.map   |     1 +
 node_modules/rxjs/operator/publishReplay.d.ts   |     7 +
 node_modules/rxjs/operator/publishReplay.js     |    17 +
 node_modules/rxjs/operator/publishReplay.js.map |     1 +
 node_modules/rxjs/operator/race.d.ts            |     6 +
 node_modules/rxjs/operator/race.js              |    23 +
 node_modules/rxjs/operator/race.js.map          |     1 +
 node_modules/rxjs/operator/reduce.d.ts          |     4 +
 node_modules/rxjs/operator/reduce.js            |    60 +
 node_modules/rxjs/operator/reduce.js.map        |     1 +
 node_modules/rxjs/operator/repeat.d.ts          |    14 +
 node_modules/rxjs/operator/repeat.js            |    20 +
 node_modules/rxjs/operator/repeat.js.map        |     1 +
 node_modules/rxjs/operator/repeatWhen.d.ts      |    16 +
 node_modules/rxjs/operator/repeatWhen.js        |    21 +
 node_modules/rxjs/operator/repeatWhen.js.map    |     1 +
 node_modules/rxjs/operator/retry.d.ts           |    18 +
 node_modules/rxjs/operator/retry.js             |    24 +
 node_modules/rxjs/operator/retry.js.map         |     1 +
 node_modules/rxjs/operator/retryWhen.d.ts       |    16 +
 node_modules/rxjs/operator/retryWhen.js         |    21 +
 node_modules/rxjs/operator/retryWhen.js.map     |     1 +
 node_modules/rxjs/operator/sample.d.ts          |    36 +
 node_modules/rxjs/operator/sample.js            |    41 +
 node_modules/rxjs/operator/sample.js.map        |     1 +
 node_modules/rxjs/operator/sampleTime.d.ts      |    39 +
 node_modules/rxjs/operator/sampleTime.js        |    45 +
 node_modules/rxjs/operator/sampleTime.js.map    |     1 +
 node_modules/rxjs/operator/scan.d.ts            |     4 +
 node_modules/rxjs/operator/scan.js              |    48 +
 node_modules/rxjs/operator/scan.js.map          |     1 +
 node_modules/rxjs/operator/sequenceEqual.d.ts   |    54 +
 node_modules/rxjs/operator/sequenceEqual.js     |    59 +
 node_modules/rxjs/operator/sequenceEqual.js.map |     1 +
 node_modules/rxjs/operator/share.d.ts           |    18 +
 node_modules/rxjs/operator/share.js             |    24 +
 node_modules/rxjs/operator/share.js.map         |     1 +
 node_modules/rxjs/operator/shareReplay.d.ts     |     7 +
 node_modules/rxjs/operator/shareReplay.js       |    12 +
 node_modules/rxjs/operator/shareReplay.js.map   |     1 +
 node_modules/rxjs/operator/single.d.ts          |    18 +
 node_modules/rxjs/operator/single.js            |    23 +
 node_modules/rxjs/operator/single.js.map        |     1 +
 node_modules/rxjs/operator/skip.d.ts            |    13 +
 node_modules/rxjs/operator/skip.js              |    18 +
 node_modules/rxjs/operator/skip.js.map          |     1 +
 node_modules/rxjs/operator/skipLast.d.ts        |    34 +
 node_modules/rxjs/operator/skipLast.js          |    39 +
 node_modules/rxjs/operator/skipLast.js.map      |     1 +
 node_modules/rxjs/operator/skipUntil.d.ts       |    14 +
 node_modules/rxjs/operator/skipUntil.js         |    19 +
 node_modules/rxjs/operator/skipUntil.js.map     |     1 +
 node_modules/rxjs/operator/skipWhile.d.ts       |    14 +
 node_modules/rxjs/operator/skipWhile.js         |    19 +
 node_modules/rxjs/operator/skipWhile.js.map     |     1 +
 node_modules/rxjs/operator/startWith.d.ts       |     9 +
 node_modules/rxjs/operator/startWith.js         |    26 +
 node_modules/rxjs/operator/startWith.js.map     |     1 +
 node_modules/rxjs/operator/subscribeOn.d.ts     |    14 +
 node_modules/rxjs/operator/subscribeOn.js       |    19 +
 node_modules/rxjs/operator/subscribeOn.js.map   |     1 +
 node_modules/rxjs/operator/switch.d.ts          |    44 +
 node_modules/rxjs/operator/switch.js            |    49 +
 node_modules/rxjs/operator/switch.js.map        |     1 +
 node_modules/rxjs/operator/switchMap.d.ts       |     3 +
 node_modules/rxjs/operator/switchMap.js         |    55 +
 node_modules/rxjs/operator/switchMap.js.map     |     1 +
 node_modules/rxjs/operator/switchMapTo.d.ts     |     3 +
 node_modules/rxjs/operator/switchMapTo.js       |    50 +
 node_modules/rxjs/operator/switchMapTo.js.map   |     1 +
 node_modules/rxjs/operator/take.d.ts            |    35 +
 node_modules/rxjs/operator/take.js              |    40 +
 node_modules/rxjs/operator/take.js.map          |     1 +
 node_modules/rxjs/operator/takeLast.d.ts        |    38 +
 node_modules/rxjs/operator/takeLast.js          |    43 +
 node_modules/rxjs/operator/takeLast.js.map      |     1 +
 node_modules/rxjs/operator/takeUntil.d.ts       |    35 +
 node_modules/rxjs/operator/takeUntil.js         |    40 +
 node_modules/rxjs/operator/takeUntil.js.map     |     1 +
 node_modules/rxjs/operator/takeWhile.d.ts       |    38 +
 node_modules/rxjs/operator/takeWhile.js         |    43 +
 node_modules/rxjs/operator/takeWhile.js.map     |     1 +
 node_modules/rxjs/operator/throttle.d.ts        |    43 +
 node_modules/rxjs/operator/throttle.js          |    48 +
 node_modules/rxjs/operator/throttle.js.map      |     1 +
 node_modules/rxjs/operator/throttleTime.d.ts    |    43 +
 node_modules/rxjs/operator/throttleTime.js      |    50 +
 node_modules/rxjs/operator/throttleTime.js.map  |     1 +
 node_modules/rxjs/operator/timeInterval.d.ts    |    11 +
 node_modules/rxjs/operator/timeInterval.js      |    16 +
 node_modules/rxjs/operator/timeInterval.js.map  |     1 +
 node_modules/rxjs/operator/timeout.d.ts         |    68 +
 node_modules/rxjs/operator/timeout.js           |    74 +
 node_modules/rxjs/operator/timeout.js.map       |     1 +
 node_modules/rxjs/operator/timeoutWith.d.ts     |     4 +
 node_modules/rxjs/operator/timeoutWith.js       |    57 +
 node_modules/rxjs/operator/timeoutWith.js.map   |     1 +
 node_modules/rxjs/operator/timestamp.d.ts       |    10 +
 node_modules/rxjs/operator/timestamp.js         |    15 +
 node_modules/rxjs/operator/timestamp.js.map     |     1 +
 node_modules/rxjs/operator/toArray.d.ts         |    25 +
 node_modules/rxjs/operator/toArray.js           |    30 +
 node_modules/rxjs/operator/toArray.js.map       |     1 +
 node_modules/rxjs/operator/toPromise.d.ts       |     2 +
 node_modules/rxjs/operator/toPromise.js         |     6 +
 node_modules/rxjs/operator/toPromise.js.map     |     1 +
 node_modules/rxjs/operator/window.d.ts          |    38 +
 node_modules/rxjs/operator/window.js            |    43 +
 node_modules/rxjs/operator/window.js.map        |     1 +
 node_modules/rxjs/operator/windowCount.d.ts     |    50 +
 node_modules/rxjs/operator/windowCount.js       |    56 +
 node_modules/rxjs/operator/windowCount.js.map   |     1 +
 node_modules/rxjs/operator/windowTime.d.ts      |    65 +
 node_modules/rxjs/operator/windowTime.js        |    28 +
 node_modules/rxjs/operator/windowTime.js.map    |     1 +
 node_modules/rxjs/operator/windowToggle.d.ts    |    43 +
 node_modules/rxjs/operator/windowToggle.js      |    48 +
 node_modules/rxjs/operator/windowToggle.js.map  |     1 +
 node_modules/rxjs/operator/windowWhen.d.ts      |    40 +
 node_modules/rxjs/operator/windowWhen.js        |    45 +
 node_modules/rxjs/operator/windowWhen.js.map    |     1 +
 node_modules/rxjs/operator/withLatestFrom.d.ts  |    15 +
 node_modules/rxjs/operator/withLatestFrom.js    |    50 +
 .../rxjs/operator/withLatestFrom.js.map         |     1 +
 node_modules/rxjs/operator/zip.d.ts             |    16 +
 node_modules/rxjs/operator/zip.js               |    18 +
 node_modules/rxjs/operator/zip.js.map           |     1 +
 node_modules/rxjs/operator/zipAll.d.ts          |     8 +
 node_modules/rxjs/operator/zipAll.js            |    13 +
 node_modules/rxjs/operator/zipAll.js.map        |     1 +
 node_modules/rxjs/operators.d.ts                |   107 +
 node_modules/rxjs/operators.js                  |   211 +
 node_modules/rxjs/operators.js.map              |     1 +
 node_modules/rxjs/operators/audit.d.ts          |    43 +
 node_modules/rxjs/operators/audit.js            |   118 +
 node_modules/rxjs/operators/audit.js.map        |     1 +
 node_modules/rxjs/operators/auditTime.d.ts      |    45 +
 node_modules/rxjs/operators/auditTime.js        |    52 +
 node_modules/rxjs/operators/auditTime.js.map    |     1 +
 node_modules/rxjs/operators/buffer.d.ts         |    35 +
 node_modules/rxjs/operators/buffer.js           |    78 +
 node_modules/rxjs/operators/buffer.js.map       |     1 +
 node_modules/rxjs/operators/bufferCount.d.ts    |    43 +
 node_modules/rxjs/operators/bufferCount.js      |   142 +
 node_modules/rxjs/operators/bufferCount.js.map  |     1 +
 node_modules/rxjs/operators/bufferTime.d.ts     |     5 +
 node_modules/rxjs/operators/bufferTime.js       |   201 +
 node_modules/rxjs/operators/bufferTime.js.map   |     1 +
 node_modules/rxjs/operators/bufferToggle.d.ts   |    41 +
 node_modules/rxjs/operators/bufferToggle.js     |   154 +
 node_modules/rxjs/operators/bufferToggle.js.map |     1 +
 node_modules/rxjs/operators/bufferWhen.d.ts     |    36 +
 node_modules/rxjs/operators/bufferWhen.js       |   124 +
 node_modules/rxjs/operators/bufferWhen.js.map   |     1 +
 node_modules/rxjs/operators/catchError.d.ts     |    60 +
 node_modules/rxjs/operators/catchError.js       |   116 +
 node_modules/rxjs/operators/catchError.js.map   |     1 +
 node_modules/rxjs/operators/combineAll.d.ts     |     2 +
 node_modules/rxjs/operators/combineAll.js       |     7 +
 node_modules/rxjs/operators/combineAll.js.map   |     1 +
 node_modules/rxjs/operators/combineLatest.d.ts  |    43 +
 node_modules/rxjs/operators/combineLatest.js    |   151 +
 .../rxjs/operators/combineLatest.js.map         |     1 +
 node_modules/rxjs/operators/concat.d.ts         |    12 +
 node_modules/rxjs/operators/concat.js           |    63 +
 node_modules/rxjs/operators/concat.js.map       |     1 +
 node_modules/rxjs/operators/concatAll.d.ts      |    50 +
 node_modules/rxjs/operators/concatAll.js        |    55 +
 node_modules/rxjs/operators/concatAll.js.map    |     1 +
 node_modules/rxjs/operators/concatMap.d.ts      |     4 +
 node_modules/rxjs/operators/concatMap.js        |    67 +
 node_modules/rxjs/operators/concatMap.js.map    |     1 +
 node_modules/rxjs/operators/concatMapTo.d.ts    |     4 +
 node_modules/rxjs/operators/concatMapTo.js      |    64 +
 node_modules/rxjs/operators/concatMapTo.js.map  |     1 +
 node_modules/rxjs/operators/count.d.ts          |    51 +
 node_modules/rxjs/operators/count.js            |   111 +
 node_modules/rxjs/operators/count.js.map        |     1 +
 node_modules/rxjs/operators/debounce.d.ts       |    45 +
 node_modules/rxjs/operators/debounce.js         |   127 +
 node_modules/rxjs/operators/debounce.js.map     |     1 +
 node_modules/rxjs/operators/debounceTime.d.ts   |    49 +
 node_modules/rxjs/operators/debounceTime.js     |   116 +
 node_modules/rxjs/operators/debounceTime.js.map |     1 +
 node_modules/rxjs/operators/defaultIfEmpty.d.ts |     3 +
 node_modules/rxjs/operators/defaultIfEmpty.js   |    77 +
 .../rxjs/operators/defaultIfEmpty.js.map        |     1 +
 node_modules/rxjs/operators/delay.d.ts          |    42 +
 node_modules/rxjs/operators/delay.js            |   135 +
 node_modules/rxjs/operators/delay.js.map        |     1 +
 node_modules/rxjs/operators/delayWhen.d.ts      |    48 +
 node_modules/rxjs/operators/delayWhen.js        |   194 +
 node_modules/rxjs/operators/delayWhen.js.map    |     1 +
 node_modules/rxjs/operators/dematerialize.d.ts  |    43 +
 node_modules/rxjs/operators/dematerialize.js    |    77 +
 .../rxjs/operators/dematerialize.js.map         |     1 +
 node_modules/rxjs/operators/distinct.d.ts       |    66 +
 node_modules/rxjs/operators/distinct.js         |   120 +
 node_modules/rxjs/operators/distinct.js.map     |     1 +
 .../rxjs/operators/distinctUntilChanged.d.ts    |     3 +
 .../rxjs/operators/distinctUntilChanged.js      |   108 +
 .../rxjs/operators/distinctUntilChanged.js.map  |     1 +
 .../rxjs/operators/distinctUntilKeyChanged.d.ts |     3 +
 .../rxjs/operators/distinctUntilKeyChanged.js   |    65 +
 .../operators/distinctUntilKeyChanged.js.map    |     1 +
 node_modules/rxjs/operators/elementAt.d.ts      |    44 +
 node_modules/rxjs/operators/elementAt.js        |   100 +
 node_modules/rxjs/operators/elementAt.js.map    |     1 +
 node_modules/rxjs/operators/every.d.ts          |    17 +
 node_modules/rxjs/operators/every.js            |    74 +
 node_modules/rxjs/operators/every.js.map        |     1 +
 node_modules/rxjs/operators/exhaust.d.ts        |    37 +
 node_modules/rxjs/operators/exhaust.js          |    89 +
 node_modules/rxjs/operators/exhaust.js.map      |     1 +
 node_modules/rxjs/operators/exhaustMap.d.ts     |     4 +
 node_modules/rxjs/operators/exhaustMap.js       |   138 +
 node_modules/rxjs/operators/exhaustMap.js.map   |     1 +
 node_modules/rxjs/operators/expand.d.ts         |    38 +
 node_modules/rxjs/operators/expand.js           |   151 +
 node_modules/rxjs/operators/expand.js.map       |     1 +
 node_modules/rxjs/operators/filter.d.ts         |     3 +
 node_modules/rxjs/operators/filter.js           |    94 +
 node_modules/rxjs/operators/filter.js.map       |     1 +
 node_modules/rxjs/operators/finalize.d.ts       |    10 +
 node_modules/rxjs/operators/finalize.js         |    43 +
 node_modules/rxjs/operators/finalize.js.map     |     1 +
 node_modules/rxjs/operators/find.d.ts           |    32 +
 node_modules/rxjs/operators/find.js             |   100 +
 node_modules/rxjs/operators/find.js.map         |     1 +
 node_modules/rxjs/operators/findIndex.d.ts      |    37 +
 node_modules/rxjs/operators/findIndex.js        |    41 +
 node_modules/rxjs/operators/findIndex.js.map    |     1 +
 node_modules/rxjs/operators/first.d.ts          |     8 +
 node_modules/rxjs/operators/first.js            |   152 +
 node_modules/rxjs/operators/first.js.map        |     1 +
 node_modules/rxjs/operators/groupBy.d.ts        |    30 +
 node_modules/rxjs/operators/groupBy.js          |   276 +
 node_modules/rxjs/operators/groupBy.js.map      |     1 +
 node_modules/rxjs/operators/ignoreElements.d.ts |    12 +
 node_modules/rxjs/operators/ignoreElements.js   |    48 +
 .../rxjs/operators/ignoreElements.js.map        |     1 +
 node_modules/rxjs/operators/isEmpty.d.ts        |     2 +
 node_modules/rxjs/operators/isEmpty.js          |    43 +
 node_modules/rxjs/operators/isEmpty.js.map      |     1 +
 node_modules/rxjs/operators/last.d.ts           |     8 +
 node_modules/rxjs/operators/last.js             |   119 +
 node_modules/rxjs/operators/last.js.map         |     1 +
 node_modules/rxjs/operators/map.d.ts            |    43 +
 node_modules/rxjs/operators/map.js              |    89 +
 node_modules/rxjs/operators/map.js.map          |     1 +
 node_modules/rxjs/operators/mapTo.d.ts          |    28 +
 node_modules/rxjs/operators/mapTo.js            |    63 +
 node_modules/rxjs/operators/mapTo.js.map        |     1 +
 node_modules/rxjs/operators/materialize.d.ts    |    47 +
 node_modules/rxjs/operators/materialize.js      |    92 +
 node_modules/rxjs/operators/materialize.js.map  |     1 +
 node_modules/rxjs/operators/max.d.ts            |    33 +
 node_modules/rxjs/operators/max.js              |    41 +
 node_modules/rxjs/operators/max.js.map          |     1 +
 node_modules/rxjs/operators/merge.d.ts          |    18 +
 node_modules/rxjs/operators/merge.js            |    60 +
 node_modules/rxjs/operators/merge.js.map        |     1 +
 node_modules/rxjs/operators/mergeAll.d.ts       |    46 +
 node_modules/rxjs/operators/mergeAll.js         |    53 +
 node_modules/rxjs/operators/mergeAll.js.map     |     1 +
 node_modules/rxjs/operators/mergeMap.d.ts       |    38 +
 node_modules/rxjs/operators/mergeMap.js         |   173 +
 node_modules/rxjs/operators/mergeMap.js.map     |     1 +
 node_modules/rxjs/operators/mergeMapTo.d.ts     |    38 +
 node_modules/rxjs/operators/mergeMapTo.js       |   155 +
 node_modules/rxjs/operators/mergeMapTo.js.map   |     1 +
 node_modules/rxjs/operators/mergeScan.d.ts      |    67 +
 node_modules/rxjs/operators/mergeScan.js        |   129 +
 node_modules/rxjs/operators/mergeScan.js.map    |     1 +
 node_modules/rxjs/operators/min.d.ts            |    33 +
 node_modules/rxjs/operators/min.js              |    41 +
 node_modules/rxjs/operators/min.js.map          |     1 +
 node_modules/rxjs/operators/multicast.d.ts      |    15 +
 node_modules/rxjs/operators/multicast.js        |    59 +
 node_modules/rxjs/operators/multicast.js.map    |     1 +
 node_modules/rxjs/operators/observeOn.d.ts      |    81 +
 node_modules/rxjs/operators/observeOn.js        |   115 +
 node_modules/rxjs/operators/observeOn.js.map    |     1 +
 .../rxjs/operators/onErrorResumeNext.d.ts       |    16 +
 .../rxjs/operators/onErrorResumeNext.js         |   137 +
 .../rxjs/operators/onErrorResumeNext.js.map     |     1 +
 node_modules/rxjs/operators/pairwise.d.ts       |    37 +
 node_modules/rxjs/operators/pairwise.js         |    77 +
 node_modules/rxjs/operators/pairwise.js.map     |     1 +
 node_modules/rxjs/operators/partition.d.ts      |    44 +
 node_modules/rxjs/operators/partition.js        |    52 +
 node_modules/rxjs/operators/partition.js.map    |     1 +
 node_modules/rxjs/operators/pluck.d.ts          |    28 +
 node_modules/rxjs/operators/pluck.js            |    57 +
 node_modules/rxjs/operators/pluck.js.map        |     1 +
 node_modules/rxjs/operators/publish.d.ts        |     6 +
 node_modules/rxjs/operators/publish.js          |    24 +
 node_modules/rxjs/operators/publish.js.map      |     1 +
 .../rxjs/operators/publishBehavior.d.ts         |    10 +
 node_modules/rxjs/operators/publishBehavior.js  |    14 +
 .../rxjs/operators/publishBehavior.js.map       |     1 +
 node_modules/rxjs/operators/publishLast.d.ts    |     4 +
 node_modules/rxjs/operators/publishLast.js      |     8 +
 node_modules/rxjs/operators/publishLast.js.map  |     1 +
 node_modules/rxjs/operators/publishReplay.d.ts  |     7 +
 node_modules/rxjs/operators/publishReplay.js    |    14 +
 .../rxjs/operators/publishReplay.js.map         |     1 +
 node_modules/rxjs/operators/race.d.ts           |     6 +
 node_modules/rxjs/operators/race.js             |    28 +
 node_modules/rxjs/operators/race.js.map         |     1 +
 node_modules/rxjs/operators/reduce.d.ts         |     4 +
 node_modules/rxjs/operators/reduce.js           |    69 +
 node_modules/rxjs/operators/reduce.js.map       |     1 +
 node_modules/rxjs/operators/refCount.d.ts       |     2 +
 node_modules/rxjs/operators/refCount.js         |    85 +
 node_modules/rxjs/operators/refCount.js.map     |     1 +
 node_modules/rxjs/operators/repeat.d.ts         |    14 +
 node_modules/rxjs/operators/repeat.js           |    72 +
 node_modules/rxjs/operators/repeat.js.map       |     1 +
 node_modules/rxjs/operators/repeatWhen.d.ts     |    17 +
 node_modules/rxjs/operators/repeatWhen.js       |   108 +
 node_modules/rxjs/operators/repeatWhen.js.map   |     1 +
 node_modules/rxjs/operators/retry.d.ts          |    18 +
 node_modules/rxjs/operators/retry.js            |    65 +
 node_modules/rxjs/operators/retry.js.map        |     1 +
 node_modules/rxjs/operators/retryWhen.d.ts      |    17 +
 node_modules/rxjs/operators/retryWhen.js        |   101 +
 node_modules/rxjs/operators/retryWhen.js.map    |     1 +
 node_modules/rxjs/operators/sample.d.ts         |    37 +
 node_modules/rxjs/operators/sample.js           |    88 +
 node_modules/rxjs/operators/sample.js.map       |     1 +
 node_modules/rxjs/operators/sampleTime.d.ts     |    39 +
 node_modules/rxjs/operators/sampleTime.js       |    91 +
 node_modules/rxjs/operators/sampleTime.js.map   |     1 +
 node_modules/rxjs/operators/scan.d.ts           |     4 +
 node_modules/rxjs/operators/scan.js             |   121 +
 node_modules/rxjs/operators/scan.js.map         |     1 +
 node_modules/rxjs/operators/sequenceEqual.d.ts  |    82 +
 node_modules/rxjs/operators/sequenceEqual.js    |   164 +
 .../rxjs/operators/sequenceEqual.js.map         |     1 +
 node_modules/rxjs/operators/share.d.ts          |    14 +
 node_modules/rxjs/operators/share.js            |    25 +
 node_modules/rxjs/operators/share.js.map        |     1 +
 node_modules/rxjs/operators/shareReplay.d.ts    |     7 +
 node_modules/rxjs/operators/shareReplay.js      |    45 +
 node_modules/rxjs/operators/shareReplay.js.map  |     1 +
 node_modules/rxjs/operators/single.d.ts         |    19 +
 node_modules/rxjs/operators/single.js           |    93 +
 node_modules/rxjs/operators/single.js.map       |     1 +
 node_modules/rxjs/operators/skip.d.ts           |    13 +
 node_modules/rxjs/operators/skip.js             |    51 +
 node_modules/rxjs/operators/skip.js.map         |     1 +
 node_modules/rxjs/operators/skipLast.d.ts       |    34 +
 node_modules/rxjs/operators/skipLast.js         |    93 +
 node_modules/rxjs/operators/skipLast.js.map     |     1 +
 node_modules/rxjs/operators/skipUntil.d.ts      |    15 +
 node_modules/rxjs/operators/skipUntil.js        |    71 +
 node_modules/rxjs/operators/skipUntil.js.map    |     1 +
 node_modules/rxjs/operators/skipWhile.d.ts      |    14 +
 node_modules/rxjs/operators/skipWhile.js        |    66 +
 node_modules/rxjs/operators/skipWhile.js.map    |     1 +
 node_modules/rxjs/operators/startWith.d.ts      |     9 +
 node_modules/rxjs/operators/startWith.js        |    48 +
 node_modules/rxjs/operators/startWith.js.map    |     1 +
 node_modules/rxjs/operators/subscribeOn.d.ts    |    14 +
 node_modules/rxjs/operators/subscribeOn.js      |    31 +
 node_modules/rxjs/operators/subscribeOn.js.map  |     1 +
 node_modules/rxjs/operators/switchAll.d.ts      |     3 +
 node_modules/rxjs/operators/switchAll.js        |     8 +
 node_modules/rxjs/operators/switchAll.js.map    |     1 +
 node_modules/rxjs/operators/switchMap.d.ts      |     4 +
 node_modules/rxjs/operators/switchMap.js        |   142 +
 node_modules/rxjs/operators/switchMap.js.map    |     1 +
 node_modules/rxjs/operators/switchMapTo.d.ts    |     4 +
 node_modules/rxjs/operators/switchMapTo.js      |   125 +
 node_modules/rxjs/operators/switchMapTo.js.map  |     1 +
 node_modules/rxjs/operators/take.d.ts           |    35 +
 node_modules/rxjs/operators/take.js             |    91 +
 node_modules/rxjs/operators/take.js.map         |     1 +
 node_modules/rxjs/operators/takeLast.d.ts       |    38 +
 node_modules/rxjs/operators/takeLast.js         |   109 +
 node_modules/rxjs/operators/takeLast.js.map     |     1 +
 node_modules/rxjs/operators/takeUntil.d.ts      |    36 +
 node_modules/rxjs/operators/takeUntil.js        |    75 +
 node_modules/rxjs/operators/takeUntil.js.map    |     1 +
 node_modules/rxjs/operators/takeWhile.d.ts      |    38 +
 node_modules/rxjs/operators/takeWhile.js        |    92 +
 node_modules/rxjs/operators/takeWhile.js.map    |     1 +
 node_modules/rxjs/operators/tap.d.ts            |     4 +
 node_modules/rxjs/operators/tap.js              |   113 +
 node_modules/rxjs/operators/tap.js.map          |     1 +
 node_modules/rxjs/operators/throttle.d.ts       |    48 +
 node_modules/rxjs/operators/throttle.js         |   142 +
 node_modules/rxjs/operators/throttle.js.map     |     1 +
 node_modules/rxjs/operators/throttleTime.d.ts   |    43 +
 node_modules/rxjs/operators/throttleTime.js     |   116 +
 node_modules/rxjs/operators/throttleTime.js.map |     1 +
 node_modules/rxjs/operators/timeInterval.d.ts   |     8 +
 node_modules/rxjs/operators/timeInterval.js     |    53 +
 node_modules/rxjs/operators/timeInterval.js.map |     1 +
 node_modules/rxjs/operators/timeout.d.ts        |    68 +
 node_modules/rxjs/operators/timeout.js          |   141 +
 node_modules/rxjs/operators/timeout.js.map      |     1 +
 node_modules/rxjs/operators/timeoutWith.d.ts    |     5 +
 node_modules/rxjs/operators/timeoutWith.js      |   128 +
 node_modules/rxjs/operators/timeoutWith.js.map  |     1 +
 node_modules/rxjs/operators/timestamp.d.ts      |    14 +
 node_modules/rxjs/operators/timestamp.js        |    25 +
 node_modules/rxjs/operators/timestamp.js.map    |     1 +
 node_modules/rxjs/operators/toArray.d.ts        |     2 +
 node_modules/rxjs/operators/toArray.js          |    11 +
 node_modules/rxjs/operators/toArray.js.map      |     1 +
 node_modules/rxjs/operators/window.d.ts         |    39 +
 node_modules/rxjs/operators/window.js           |   112 +
 node_modules/rxjs/operators/window.js.map       |     1 +
 node_modules/rxjs/operators/windowCount.d.ts    |    51 +
 node_modules/rxjs/operators/windowCount.js      |   133 +
 node_modules/rxjs/operators/windowCount.js.map  |     1 +
 node_modules/rxjs/operators/windowTime.d.ts     |    66 +
 node_modules/rxjs/operators/windowTime.js       |   163 +
 node_modules/rxjs/operators/windowTime.js.map   |     1 +
 node_modules/rxjs/operators/windowToggle.d.ts   |    44 +
 node_modules/rxjs/operators/windowToggle.js     |   180 +
 node_modules/rxjs/operators/windowToggle.js.map |     1 +
 node_modules/rxjs/operators/windowWhen.d.ts     |    41 +
 node_modules/rxjs/operators/windowWhen.js       |   129 +
 node_modules/rxjs/operators/windowWhen.js.map   |     1 +
 node_modules/rxjs/operators/withLatestFrom.d.ts |    16 +
 node_modules/rxjs/operators/withLatestFrom.js   |   132 +
 .../rxjs/operators/withLatestFrom.js.map        |     1 +
 node_modules/rxjs/operators/zip.d.ts            |    58 +
 node_modules/rxjs/operators/zip.js              |   281 +
 node_modules/rxjs/operators/zip.js.map          |     1 +
 node_modules/rxjs/operators/zipAll.d.ts         |     2 +
 node_modules/rxjs/operators/zipAll.js           |     7 +
 node_modules/rxjs/operators/zipAll.js.map       |     1 +
 node_modules/rxjs/package.json                  |   201 +
 node_modules/rxjs/scheduler/Action.d.ts         |    30 +
 node_modules/rxjs/scheduler/Action.js           |    44 +
 node_modules/rxjs/scheduler/Action.js.map       |     1 +
 .../rxjs/scheduler/AnimationFrameAction.d.ts    |    14 +
 .../rxjs/scheduler/AnimationFrameAction.js      |    55 +
 .../rxjs/scheduler/AnimationFrameAction.js.map  |     1 +
 .../rxjs/scheduler/AnimationFrameScheduler.d.ts |     5 +
 .../rxjs/scheduler/AnimationFrameScheduler.js   |    37 +
 .../scheduler/AnimationFrameScheduler.js.map    |     1 +
 node_modules/rxjs/scheduler/AsapAction.d.ts     |    14 +
 node_modules/rxjs/scheduler/AsapAction.js       |    55 +
 node_modules/rxjs/scheduler/AsapAction.js.map   |     1 +
 node_modules/rxjs/scheduler/AsapScheduler.d.ts  |     5 +
 node_modules/rxjs/scheduler/AsapScheduler.js    |    37 +
 .../rxjs/scheduler/AsapScheduler.js.map         |     1 +
 node_modules/rxjs/scheduler/AsyncAction.d.ts    |    27 +
 node_modules/rxjs/scheduler/AsyncAction.js      |   142 +
 node_modules/rxjs/scheduler/AsyncAction.js.map  |     1 +
 node_modules/rxjs/scheduler/AsyncScheduler.d.ts |    19 +
 node_modules/rxjs/scheduler/AsyncScheduler.js   |    51 +
 .../rxjs/scheduler/AsyncScheduler.js.map        |     1 +
 node_modules/rxjs/scheduler/QueueAction.d.ts    |    16 +
 node_modules/rxjs/scheduler/QueueAction.js      |    49 +
 node_modules/rxjs/scheduler/QueueAction.js.map  |     1 +
 node_modules/rxjs/scheduler/QueueScheduler.d.ts |     3 +
 node_modules/rxjs/scheduler/QueueScheduler.js   |    16 +
 .../rxjs/scheduler/QueueScheduler.js.map        |     1 +
 .../rxjs/scheduler/VirtualTimeScheduler.d.ts    |    33 +
 .../rxjs/scheduler/VirtualTimeScheduler.js      |   113 +
 .../rxjs/scheduler/VirtualTimeScheduler.js.map  |     1 +
 node_modules/rxjs/scheduler/animationFrame.d.ts |    32 +
 node_modules/rxjs/scheduler/animationFrame.js   |    35 +
 .../rxjs/scheduler/animationFrame.js.map        |     1 +
 node_modules/rxjs/scheduler/asap.d.ts           |    36 +
 node_modules/rxjs/scheduler/asap.js             |    39 +
 node_modules/rxjs/scheduler/asap.js.map         |     1 +
 node_modules/rxjs/scheduler/async.d.ts          |    44 +
 node_modules/rxjs/scheduler/async.js            |    47 +
 node_modules/rxjs/scheduler/async.js.map        |     1 +
 node_modules/rxjs/scheduler/queue.d.ts          |    63 +
 node_modules/rxjs/scheduler/queue.js            |    66 +
 node_modules/rxjs/scheduler/queue.js.map        |     1 +
 node_modules/rxjs/symbol/iterator.d.ts          |     6 +
 node_modules/rxjs/symbol/iterator.js            |    38 +
 node_modules/rxjs/symbol/iterator.js.map        |     1 +
 node_modules/rxjs/symbol/observable.d.ts        |     6 +
 node_modules/rxjs/symbol/observable.js          |    26 +
 node_modules/rxjs/symbol/observable.js.map      |     1 +
 node_modules/rxjs/symbol/rxSubscriber.d.ts      |     5 +
 node_modules/rxjs/symbol/rxSubscriber.js        |    10 +
 node_modules/rxjs/symbol/rxSubscriber.js.map    |     1 +
 node_modules/rxjs/testing/ColdObservable.d.ts   |    20 +
 node_modules/rxjs/testing/ColdObservable.js     |    46 +
 node_modules/rxjs/testing/ColdObservable.js.map |     1 +
 node_modules/rxjs/testing/HotObservable.d.ts    |    22 +
 node_modules/rxjs/testing/HotObservable.js      |    48 +
 node_modules/rxjs/testing/HotObservable.js.map  |     1 +
 node_modules/rxjs/testing/SubscriptionLog.d.ts  |     5 +
 node_modules/rxjs/testing/SubscriptionLog.js    |    11 +
 .../rxjs/testing/SubscriptionLog.js.map         |     1 +
 .../rxjs/testing/SubscriptionLoggable.d.ts      |     8 +
 .../rxjs/testing/SubscriptionLoggable.js        |    19 +
 .../rxjs/testing/SubscriptionLoggable.js.map    |     1 +
 node_modules/rxjs/testing/TestMessage.d.ts      |     5 +
 node_modules/rxjs/testing/TestMessage.js        |     2 +
 node_modules/rxjs/testing/TestMessage.js.map    |     1 +
 node_modules/rxjs/testing/TestScheduler.d.ts    |    28 +
 node_modules/rxjs/testing/TestScheduler.js      |   223 +
 node_modules/rxjs/testing/TestScheduler.js.map  |     1 +
 node_modules/rxjs/util/AnimationFrame.d.ts      |     6 +
 node_modules/rxjs/util/AnimationFrame.js        |    34 +
 node_modules/rxjs/util/AnimationFrame.js.map    |     1 +
 .../rxjs/util/ArgumentOutOfRangeError.d.ts      |    13 +
 .../rxjs/util/ArgumentOutOfRangeError.js        |    28 +
 .../rxjs/util/ArgumentOutOfRangeError.js.map    |     1 +
 node_modules/rxjs/util/EmptyError.d.ts          |    13 +
 node_modules/rxjs/util/EmptyError.js            |    28 +
 node_modules/rxjs/util/EmptyError.js.map        |     1 +
 node_modules/rxjs/util/FastMap.d.ts             |     8 +
 node_modules/rxjs/util/FastMap.js               |    31 +
 node_modules/rxjs/util/FastMap.js.map           |     1 +
 node_modules/rxjs/util/Immediate.d.ts           |    23 +
 node_modules/rxjs/util/Immediate.js             |   209 +
 node_modules/rxjs/util/Immediate.js.map         |     1 +
 node_modules/rxjs/util/Map.d.ts                 |     1 +
 node_modules/rxjs/util/Map.js                   |     5 +
 node_modules/rxjs/util/Map.js.map               |     1 +
 node_modules/rxjs/util/MapPolyfill.d.ts         |    10 +
 node_modules/rxjs/util/MapPolyfill.js           |    47 +
 node_modules/rxjs/util/MapPolyfill.js.map       |     1 +
 .../rxjs/util/ObjectUnsubscribedError.d.ts      |    12 +
 .../rxjs/util/ObjectUnsubscribedError.js        |    27 +
 .../rxjs/util/ObjectUnsubscribedError.js.map    |     1 +
 node_modules/rxjs/util/Set.d.ts                 |    11 +
 node_modules/rxjs/util/Set.js                   |    33 +
 node_modules/rxjs/util/Set.js.map               |     1 +
 node_modules/rxjs/util/TimeoutError.d.ts        |    10 +
 node_modules/rxjs/util/TimeoutError.js          |    25 +
 node_modules/rxjs/util/TimeoutError.js.map      |     1 +
 node_modules/rxjs/util/UnsubscriptionError.d.ts |     8 +
 node_modules/rxjs/util/UnsubscriptionError.js   |    25 +
 .../rxjs/util/UnsubscriptionError.js.map        |     1 +
 node_modules/rxjs/util/applyMixins.d.ts         |     1 +
 node_modules/rxjs/util/applyMixins.js           |    13 +
 node_modules/rxjs/util/applyMixins.js.map       |     1 +
 node_modules/rxjs/util/assign.d.ts              |     3 +
 node_modules/rxjs/util/assign.js                |    26 +
 node_modules/rxjs/util/assign.js.map            |     1 +
 node_modules/rxjs/util/errorObject.d.ts         |     1 +
 node_modules/rxjs/util/errorObject.js           |     4 +
 node_modules/rxjs/util/errorObject.js.map       |     1 +
 node_modules/rxjs/util/identity.d.ts            |     1 +
 node_modules/rxjs/util/identity.js              |     6 +
 node_modules/rxjs/util/identity.js.map          |     1 +
 node_modules/rxjs/util/isArray.d.ts             |     1 +
 node_modules/rxjs/util/isArray.js               |     3 +
 node_modules/rxjs/util/isArray.js.map           |     1 +
 node_modules/rxjs/util/isArrayLike.d.ts         |     1 +
 node_modules/rxjs/util/isArrayLike.js           |     3 +
 node_modules/rxjs/util/isArrayLike.js.map       |     1 +
 node_modules/rxjs/util/isDate.d.ts              |     1 +
 node_modules/rxjs/util/isDate.js                |     6 +
 node_modules/rxjs/util/isDate.js.map            |     1 +
 node_modules/rxjs/util/isFunction.d.ts          |     1 +
 node_modules/rxjs/util/isFunction.js            |     6 +
 node_modules/rxjs/util/isFunction.js.map        |     1 +
 node_modules/rxjs/util/isNumeric.d.ts           |     1 +
 node_modules/rxjs/util/isNumeric.js             |    12 +
 node_modules/rxjs/util/isNumeric.js.map         |     1 +
 node_modules/rxjs/util/isObject.d.ts            |     1 +
 node_modules/rxjs/util/isObject.js              |     6 +
 node_modules/rxjs/util/isObject.js.map          |     1 +
 node_modules/rxjs/util/isPromise.d.ts           |     1 +
 node_modules/rxjs/util/isPromise.js             |     6 +
 node_modules/rxjs/util/isPromise.js.map         |     1 +
 node_modules/rxjs/util/isScheduler.d.ts         |     2 +
 node_modules/rxjs/util/isScheduler.js           |     6 +
 node_modules/rxjs/util/isScheduler.js.map       |     1 +
 node_modules/rxjs/util/noop.d.ts                |     1 +
 node_modules/rxjs/util/noop.js                  |     5 +
 node_modules/rxjs/util/noop.js.map              |     1 +
 node_modules/rxjs/util/not.d.ts                 |     1 +
 node_modules/rxjs/util/not.js                   |    11 +
 node_modules/rxjs/util/not.js.map               |     1 +
 node_modules/rxjs/util/pipe.d.ts                |    12 +
 node_modules/rxjs/util/pipe.js                  |    25 +
 node_modules/rxjs/util/pipe.js.map              |     1 +
 node_modules/rxjs/util/root.d.ts                |     2 +
 node_modules/rxjs/util/root.js                  |    19 +
 node_modules/rxjs/util/root.js.map              |     1 +
 node_modules/rxjs/util/subscribeToResult.d.ts   |     3 +
 node_modules/rxjs/util/subscribeToResult.js     |    79 +
 node_modules/rxjs/util/subscribeToResult.js.map |     1 +
 node_modules/rxjs/util/toSubscriber.d.ts        |     3 +
 node_modules/rxjs/util/toSubscriber.js          |    20 +
 node_modules/rxjs/util/toSubscriber.js.map      |     1 +
 node_modules/rxjs/util/tryCatch.d.ts            |     1 +
 node_modules/rxjs/util/tryCatch.js              |    19 +
 node_modules/rxjs/util/tryCatch.js.map          |     1 +
 node_modules/safe-buffer/LICENSE                |    21 +
 node_modules/safe-buffer/README.md              |   584 +
 node_modules/safe-buffer/index.d.ts             |   187 +
 node_modules/safe-buffer/index.js               |    62 +
 node_modules/safe-buffer/package.json           |    73 +
 node_modules/safer-buffer/LICENSE               |    21 +
 node_modules/safer-buffer/Porting-Buffer.md     |   268 +
 node_modules/safer-buffer/Readme.md             |   156 +
 node_modules/safer-buffer/dangerous.js          |    58 +
 node_modules/safer-buffer/package.json          |    64 +
 node_modules/safer-buffer/safer.js              |    77 +
 node_modules/safer-buffer/tests.js              |   406 +
 node_modules/sass-graph/CHANGELOG.md            |   127 +
 node_modules/sass-graph/bin/sassgraph           |   124 +
 node_modules/sass-graph/package.json            |    79 +
 node_modules/sass-graph/parse-imports.js        |    64 +
 node_modules/sass-graph/readme.md               |   123 +
 node_modules/sass-graph/sass-graph.js           |   160 +
 node_modules/saucelabs/.jshintrc                |    64 +
 node_modules/saucelabs/.npmignore               |     7 +
 node_modules/saucelabs/.travis.yml              |    11 +
 node_modules/saucelabs/Makefile                 |    21 +
 node_modules/saucelabs/README.md                |   319 +
 node_modules/saucelabs/index.js                 |     3 +
 node_modules/saucelabs/lib/SauceLabs.js         |   330 +
 node_modules/saucelabs/lib/utils.js             |    20 +
 node_modules/saucelabs/package.json             |    63 +
 node_modules/sax/LICENSE                        |    41 +
 node_modules/sax/README.md                      |   225 +
 node_modules/sax/lib/sax.js                     |  1565 +
 node_modules/sax/package.json                   |    65 +
 node_modules/scss-tokenizer/LICENSE             |    22 +
 node_modules/scss-tokenizer/README.md           |    50 +
 node_modules/scss-tokenizer/index.js            |     1 +
 node_modules/scss-tokenizer/lib/entry.js        |    21 +
 node_modules/scss-tokenizer/lib/input.js        |    57 +
 node_modules/scss-tokenizer/lib/previous-map.js |   105 +
 .../scss-tokenizer/lib/tokenize-comment.js      |   148 +
 .../scss-tokenizer/lib/tokenize-interpolant.js  |   303 +
 .../scss-tokenizer/lib/tokenize-string.js       |   130 +
 node_modules/scss-tokenizer/lib/tokenize.js     |   302 +
 node_modules/scss-tokenizer/package.json        |    75 +
 node_modules/selenium-webdriver/.npmignore      |     2 +
 node_modules/selenium-webdriver/CHANGES.md      |   851 +
 node_modules/selenium-webdriver/LICENSE         |   202 +
 node_modules/selenium-webdriver/NOTICE          |     2 +
 node_modules/selenium-webdriver/README.md       |   226 +
 node_modules/selenium-webdriver/chrome.js       |   829 +
 node_modules/selenium-webdriver/edge.js         |   301 +
 .../example/async_await_test.js                 |    69 +
 .../example/chrome_android.js                   |    42 +
 .../example/chrome_mobile_emulation.js          |    42 +
 .../example/firefox_channels.js                 |    73 +
 .../selenium-webdriver/example/google_search.js |    50 +
 .../example/google_search_generator.js          |    47 +
 .../example/google_search_test.js               |    60 +
 .../selenium-webdriver/example/headless.js      |    55 +
 .../selenium-webdriver/example/logging.js       |    35 +
 .../example/parallel_flows.js                   |    51 +
 .../selenium-webdriver/firefox/binary.js        |   347 +
 .../selenium-webdriver/firefox/extension.js     |   224 +
 .../selenium-webdriver/firefox/index.js         |   576 +
 .../selenium-webdriver/firefox/profile.js       |   311 +
 node_modules/selenium-webdriver/http/index.js   |   255 +
 node_modules/selenium-webdriver/http/util.js    |   175 +
 node_modules/selenium-webdriver/ie.js           |   441 +
 node_modules/selenium-webdriver/index.js        |   694 +
 node_modules/selenium-webdriver/io/exec.js      |   153 +
 node_modules/selenium-webdriver/io/index.js     |   359 +
 node_modules/selenium-webdriver/io/zip.js       |   214 +
 node_modules/selenium-webdriver/lib/README      |     5 +
 node_modules/selenium-webdriver/lib/actions.js  |   604 +
 .../lib/atoms/get-attribute.js                  |     9 +
 .../lib/atoms/is-displayed.js                   |   102 +
 node_modules/selenium-webdriver/lib/by.js       |   285 +
 .../selenium-webdriver/lib/capabilities.js      |   489 +
 node_modules/selenium-webdriver/lib/command.js  |   245 +
 node_modules/selenium-webdriver/lib/devmode.js  |    34 +
 node_modules/selenium-webdriver/lib/error.js    |   598 +
 node_modules/selenium-webdriver/lib/events.js   |   210 +
 node_modules/selenium-webdriver/lib/http.js     |   582 +
 node_modules/selenium-webdriver/lib/input.js    |   171 +
 node_modules/selenium-webdriver/lib/logging.js  |   676 +
 node_modules/selenium-webdriver/lib/promise.js  |  3404 ++
 node_modules/selenium-webdriver/lib/proxy.js    |   127 +
 node_modules/selenium-webdriver/lib/session.js  |    80 +
 node_modules/selenium-webdriver/lib/symbols.js  |    38 +
 node_modules/selenium-webdriver/lib/until.js    |   427 +
 .../selenium-webdriver/lib/webdriver.js         |  2656 ++
 node_modules/selenium-webdriver/net/index.js    |   117 +
 .../selenium-webdriver/net/portprober.js        |   205 +
 .../selenium-webdriver/node_modules/.bin/rimraf |     1 +
 .../node_modules/rimraf/LICENSE                 |    15 +
 .../node_modules/rimraf/README.md               |   101 +
 .../node_modules/rimraf/bin.js                  |    50 +
 .../node_modules/rimraf/package.json            |    68 +
 .../node_modules/rimraf/rimraf.js               |   364 +
 .../node_modules/tmp/.eslintrc.js               |    24 +
 .../node_modules/tmp/.npmignore                 |     2 +
 .../node_modules/tmp/.travis.yml                |    15 +
 .../selenium-webdriver/node_modules/tmp/LICENSE |    21 +
 .../node_modules/tmp/README.md                  |   268 +
 .../node_modules/tmp/cleanup.sh                 |     3 +
 .../node_modules/tmp/coverage/coverage.json     |     1 +
 .../tmp/coverage/lcov-report/base.css           |   213 +
 .../tmp/coverage/lcov-report/index.html         |    93 +
 .../tmp/coverage/lcov-report/lib/index.html     |    93 +
 .../tmp/coverage/lcov-report/lib/tmp.js.html    |  1448 +
 .../tmp/coverage/lcov-report/prettify.css       |     1 +
 .../tmp/coverage/lcov-report/prettify.js        |     1 +
 .../coverage/lcov-report/sort-arrow-sprite.png  |   Bin 0 -> 209 bytes
 .../tmp/coverage/lcov-report/sorter.js          |   158 +
 .../node_modules/tmp/coverage/lcov.info         |   300 +
 .../node_modules/tmp/lib/tmp.js                 |   463 +
 .../node_modules/tmp/package.json               |    70 +
 .../node_modules/tmp/run-tests                  |     7 +
 node_modules/selenium-webdriver/opera.js        |   405 +
 node_modules/selenium-webdriver/package.json    |    74 +
 node_modules/selenium-webdriver/phantomjs.js    |   282 +
 node_modules/selenium-webdriver/proxy.js        |    32 +
 node_modules/selenium-webdriver/remote/index.js |   604 +
 node_modules/selenium-webdriver/safari.js       |   264 +
 .../selenium-webdriver/testing/assert.js        |   378 +
 .../selenium-webdriver/testing/index.js         |   426 +
 node_modules/semver/LICENSE                     |    15 +
 node_modules/semver/README.md                   |   388 +
 node_modules/semver/bin/semver                  |   143 +
 node_modules/semver/package.json                |    62 +
 node_modules/semver/range.bnf                   |    16 +
 node_modules/semver/semver.js                   |  1324 +
 node_modules/set-blocking/CHANGELOG.md          |    26 +
 node_modules/set-blocking/LICENSE.txt           |    14 +
 node_modules/set-blocking/README.md             |    31 +
 node_modules/set-blocking/index.js              |     7 +
 node_modules/set-blocking/package.json          |    75 +
 node_modules/set-immediate-shim/index.js        |     7 +
 node_modules/set-immediate-shim/package.json    |    71 +
 node_modules/set-immediate-shim/readme.md       |    31 +
 node_modules/setprototypeof/LICENSE             |    13 +
 node_modules/setprototypeof/README.md           |    26 +
 node_modules/setprototypeof/index.d.ts          |     2 +
 node_modules/setprototypeof/index.js            |    15 +
 node_modules/setprototypeof/package.json        |    56 +
 node_modules/signal-exit/CHANGELOG.md           |    27 +
 node_modules/signal-exit/LICENSE.txt            |    16 +
 node_modules/signal-exit/README.md              |    40 +
 node_modules/signal-exit/index.js               |   157 +
 node_modules/signal-exit/package.json           |    71 +
 node_modules/signal-exit/signals.js             |    53 +
 node_modules/simple-concat/.travis.yml          |     3 +
 node_modules/simple-concat/LICENSE              |    20 +
 node_modules/simple-concat/README.md            |    42 +
 node_modules/simple-concat/index.js             |    14 +
 node_modules/simple-concat/package.json         |    63 +
 node_modules/simple-get/LICENSE                 |    20 +
 node_modules/simple-get/README.md               |   306 +
 node_modules/simple-get/index.js                |   113 +
 node_modules/simple-get/package.json            |    83 +
 node_modules/slack-node/.npmignore              |    25 +
 node_modules/slack-node/.travis.yml             |    15 +
 node_modules/slack-node/Cakefile                |   233 +
 node_modules/slack-node/LICENSE                 |    21 +
 node_modules/slack-node/Makefile                |    13 +
 node_modules/slack-node/README.md               |   130 +
 .../slack-node/example/api.postMessage.js       |    16 +
 node_modules/slack-node/example/emoji.js        |    26 +
 node_modules/slack-node/example/webhook.js      |    14 +
 node_modules/slack-node/lib/index.js            |     2 +
 node_modules/slack-node/lib/lib/slack.seed.js   |   134 +
 node_modules/slack-node/package.json            |    66 +
 node_modules/smart-buffer/.npmignore            |     5 +
 node_modules/smart-buffer/.travis.yml           |    11 +
 node_modules/smart-buffer/LICENSE               |    20 +
 node_modules/smart-buffer/README.md             |   307 +
 node_modules/smart-buffer/build/smartbuffer.js  |   726 +
 .../smart-buffer/build/smartbuffer.js.map       |     1 +
 node_modules/smart-buffer/lib/smart-buffer.js   |   371 +
 node_modules/smart-buffer/package.json          |    74 +
 node_modules/smart-buffer/typings/index.d.ts    |   383 +
 node_modules/sntp/.npmignore                    |     3 +
 node_modules/sntp/LICENSE                       |    28 +
 node_modules/sntp/README.md                     |    68 +
 node_modules/sntp/lib/index.js                  |   412 +
 node_modules/sntp/node_modules/hoek/.npmignore  |     3 +
 node_modules/sntp/node_modules/hoek/LICENSE     |    32 +
 node_modules/sntp/node_modules/hoek/README.md   |    30 +
 .../sntp/node_modules/hoek/lib/escape.js        |   168 +
 .../sntp/node_modules/hoek/lib/index.js         |   961 +
 .../sntp/node_modules/hoek/package.json         |    59 +
 node_modules/sntp/package.json                  |    68 +
 node_modules/socket.io-adapter/.npmignore       |     1 +
 node_modules/socket.io-adapter/LICENSE          |    20 +
 node_modules/socket.io-adapter/Readme.md        |    16 +
 node_modules/socket.io-adapter/index.js         |   263 +
 node_modules/socket.io-adapter/package.json     |    43 +
 node_modules/socket.io-client/LICENSE           |    22 +
 node_modules/socket.io-client/README.md         |    57 +
 node_modules/socket.io-client/dist/socket.io.js |     3 +
 .../socket.io-client/dist/socket.io.js.map      |     1 +
 .../socket.io-client/dist/socket.io.slim.js     |     3 +
 .../socket.io-client/dist/socket.io.slim.js.map |     1 +
 node_modules/socket.io-client/lib/index.js      |    94 +
 node_modules/socket.io-client/lib/manager.js    |   573 +
 node_modules/socket.io-client/lib/on.js         |    24 +
 node_modules/socket.io-client/lib/socket.js     |   418 +
 node_modules/socket.io-client/lib/url.js        |    75 +
 .../node_modules/debug/.coveralls.yml           |     1 +
 .../node_modules/debug/.eslintrc                |    11 +
 .../node_modules/debug/.npmignore               |     9 +
 .../node_modules/debug/.travis.yml              |    14 +
 .../node_modules/debug/CHANGELOG.md             |   362 +
 .../socket.io-client/node_modules/debug/LICENSE |    19 +
 .../node_modules/debug/Makefile                 |    50 +
 .../node_modules/debug/README.md                |   312 +
 .../node_modules/debug/component.json           |    19 +
 .../node_modules/debug/karma.conf.js            |    70 +
 .../socket.io-client/node_modules/debug/node.js |     1 +
 .../node_modules/debug/package.json             |    92 +
 node_modules/socket.io-client/package.json      |   121 +
 node_modules/socket.io-parser/LICENSE           |    20 +
 node_modules/socket.io-parser/Readme.md         |    73 +
 node_modules/socket.io-parser/binary.js         |   141 +
 node_modules/socket.io-parser/index.js          |   408 +
 node_modules/socket.io-parser/is-buffer.js      |    13 +
 .../node_modules/isarray/README.md              |    54 +
 .../node_modules/isarray/index.js               |     5 +
 .../node_modules/isarray/package.json           |    80 +
 node_modules/socket.io-parser/package.json      |    66 +
 node_modules/socket.io/LICENSE                  |    22 +
 node_modules/socket.io/Readme.md                |   242 +
 node_modules/socket.io/lib/client.js            |   252 +
 node_modules/socket.io/lib/index.js             |   474 +
 node_modules/socket.io/lib/namespace.js         |   279 +
 node_modules/socket.io/lib/socket.js            |   557 +
 .../socket.io/node_modules/debug/.coveralls.yml |     1 +
 .../socket.io/node_modules/debug/.eslintrc      |    11 +
 .../socket.io/node_modules/debug/.npmignore     |     9 +
 .../socket.io/node_modules/debug/.travis.yml    |    14 +
 .../socket.io/node_modules/debug/CHANGELOG.md   |   362 +
 .../socket.io/node_modules/debug/LICENSE        |    19 +
 .../socket.io/node_modules/debug/Makefile       |    50 +
 .../socket.io/node_modules/debug/README.md      |   312 +
 .../socket.io/node_modules/debug/component.json |    19 +
 .../socket.io/node_modules/debug/karma.conf.js  |    70 +
 .../socket.io/node_modules/debug/node.js        |     1 +
 .../socket.io/node_modules/debug/package.json   |    92 +
 node_modules/socket.io/package.json             |    93 +
 node_modules/socks-proxy-agent/.npmignore       |     1 +
 node_modules/socks-proxy-agent/.travis.yml      |    27 +
 node_modules/socks-proxy-agent/History.md       |    84 +
 node_modules/socks-proxy-agent/README.md        |   134 +
 node_modules/socks-proxy-agent/package.json     |    72 +
 .../socks-proxy-agent/socks-proxy-agent.js      |   142 +
 node_modules/socks/.npmignore                   |     4 +
 node_modules/socks/LICENSE                      |    20 +
 node_modules/socks/README.md                    |   339 +
 node_modules/socks/examples/associate.js        |    33 +
 node_modules/socks/examples/bind.js             |    30 +
 node_modules/socks/examples/connect.js          |    31 +
 node_modules/socks/index.js                     |     6 +
 node_modules/socks/lib/socks-agent.js           |   108 +
 node_modules/socks/lib/socks-client.js          |   306 +
 node_modules/socks/node_modules/ip/.jscsrc      |    46 +
 node_modules/socks/node_modules/ip/.jshintrc    |    89 +
 node_modules/socks/node_modules/ip/.npmignore   |     2 +
 node_modules/socks/node_modules/ip/.travis.yml  |    15 +
 node_modules/socks/node_modules/ip/README.md    |    90 +
 node_modules/socks/node_modules/ip/lib/ip.js    |   416 +
 node_modules/socks/node_modules/ip/package.json |    57 +
 node_modules/socks/package.json                 |    72 +
 node_modules/source-map-support/LICENSE.md      |    21 +
 node_modules/source-map-support/README.md       |   251 +
 .../browser-source-map-support.js               |   110 +
 .../node_modules/source-map/CHANGELOG.md        |   301 +
 .../node_modules/source-map/LICENSE             |    28 +
 .../node_modules/source-map/README.md           |   729 +
 .../source-map/dist/source-map.debug.js         |  3091 ++
 .../node_modules/source-map/dist/source-map.js  |  3090 ++
 .../source-map/dist/source-map.min.js           |     2 +
 .../source-map/dist/source-map.min.js.map       |     1 +
 .../node_modules/source-map/lib/array-set.js    |   121 +
 .../node_modules/source-map/lib/base64-vlq.js   |   140 +
 .../node_modules/source-map/lib/base64.js       |    67 +
 .../source-map/lib/binary-search.js             |   111 +
 .../node_modules/source-map/lib/mapping-list.js |    79 +
 .../node_modules/source-map/lib/quick-sort.js   |   114 +
 .../source-map/lib/source-map-consumer.js       |  1082 +
 .../source-map/lib/source-map-generator.js      |   416 +
 .../node_modules/source-map/lib/source-node.js  |   413 +
 .../node_modules/source-map/lib/util.js         |   417 +
 .../node_modules/source-map/package.json        |   215 +
 .../node_modules/source-map/source-map.js       |     8 +
 node_modules/source-map-support/package.json    |    60 +
 node_modules/source-map-support/register.js     |     1 +
 .../source-map-support/source-map-support.js    |   527 +
 node_modules/source-map/README.md               |   510 +
 node_modules/source-map/build/assert-shim.js    |    56 +
 node_modules/source-map/build/mini-require.js   |   152 +
 .../source-map/build/prefix-source-map.jsm      |    21 +
 node_modules/source-map/build/prefix-utils.jsm  |    18 +
 node_modules/source-map/build/suffix-browser.js |     8 +
 .../source-map/build/suffix-source-map.jsm      |     6 +
 node_modules/source-map/build/suffix-utils.jsm  |    21 +
 node_modules/source-map/build/test-prefix.js    |     8 +
 node_modules/source-map/build/test-suffix.js    |     3 +
 node_modules/source-map/lib/source-map.js       |     8 +
 .../source-map/lib/source-map/array-set.js      |   107 +
 .../source-map/lib/source-map/base64-vlq.js     |   146 +
 .../source-map/lib/source-map/base64.js         |    73 +
 .../source-map/lib/source-map/binary-search.js  |   117 +
 .../source-map/lib/source-map/mapping-list.js   |    86 +
 .../source-map/lib/source-map/quick-sort.js     |   120 +
 .../lib/source-map/source-map-consumer.js       |  1077 +
 .../lib/source-map/source-map-generator.js      |   399 +
 .../source-map/lib/source-map/source-node.js    |   414 +
 node_modules/source-map/lib/source-map/util.js  |   370 +
 node_modules/source-map/package.json            |   203 +
 node_modules/spdx-correct/LICENSE               |   202 +
 node_modules/spdx-correct/README.md             |    10 +
 node_modules/spdx-correct/index.js              |   326 +
 node_modules/spdx-correct/package.json          |    84 +
 node_modules/spdx-exceptions/README.md          |    36 +
 node_modules/spdx-exceptions/index.json         |    29 +
 node_modules/spdx-exceptions/package.json       |    53 +
 node_modules/spdx-expression-parse/AUTHORS      |     4 +
 node_modules/spdx-expression-parse/LICENSE      |    22 +
 node_modules/spdx-expression-parse/README.md    |    91 +
 node_modules/spdx-expression-parse/index.js     |     8 +
 node_modules/spdx-expression-parse/package.json |   101 +
 node_modules/spdx-expression-parse/parse.js     |   138 +
 node_modules/spdx-expression-parse/scan.js      |   131 +
 node_modules/spdx-license-ids/README.md         |    52 +
 node_modules/spdx-license-ids/deprecated.json   |    23 +
 node_modules/spdx-license-ids/index.json        |   344 +
 node_modules/spdx-license-ids/package.json      |    82 +
 node_modules/sprintf-js/.npmignore              |     1 +
 node_modules/sprintf-js/LICENSE                 |    24 +
 node_modules/sprintf-js/README.md               |    88 +
 node_modules/sprintf-js/bower.json              |    14 +
 node_modules/sprintf-js/demo/angular.html       |    20 +
 .../sprintf-js/dist/angular-sprintf.min.js      |     4 +
 .../sprintf-js/dist/angular-sprintf.min.js.map  |     1 +
 .../sprintf-js/dist/angular-sprintf.min.map     |     1 +
 node_modules/sprintf-js/dist/sprintf.min.js     |     4 +
 node_modules/sprintf-js/dist/sprintf.min.js.map |     1 +
 node_modules/sprintf-js/dist/sprintf.min.map    |     1 +
 node_modules/sprintf-js/package.json            |    58 +
 node_modules/sshpk/.npmignore                   |     9 +
 node_modules/sshpk/.travis.yml                  |    11 +
 node_modules/sshpk/LICENSE                      |    18 +
 node_modules/sshpk/README.md                    |   698 +
 node_modules/sshpk/bin/sshpk-conv               |   202 +
 node_modules/sshpk/bin/sshpk-sign               |   191 +
 node_modules/sshpk/bin/sshpk-verify             |   166 +
 node_modules/sshpk/lib/algs.js                  |   166 +
 node_modules/sshpk/lib/certificate.js           |   377 +
 node_modules/sshpk/lib/dhe.js                   |   413 +
 node_modules/sshpk/lib/ed-compat.js             |    97 +
 node_modules/sshpk/lib/errors.js                |    84 +
 node_modules/sshpk/lib/fingerprint.js           |   161 +
 node_modules/sshpk/lib/formats/auto.js          |   106 +
 node_modules/sshpk/lib/formats/dnssec.js        |   286 +
 node_modules/sshpk/lib/formats/openssh-cert.js  |   322 +
 node_modules/sshpk/lib/formats/pem.js           |   191 +
 node_modules/sshpk/lib/formats/pkcs1.js         |   376 +
 node_modules/sshpk/lib/formats/pkcs8.js         |   616 +
 node_modules/sshpk/lib/formats/rfc4253.js       |   165 +
 node_modules/sshpk/lib/formats/ssh-private.js   |   261 +
 node_modules/sshpk/lib/formats/ssh.js           |   114 +
 node_modules/sshpk/lib/formats/x509-pem.js      |    77 +
 node_modules/sshpk/lib/formats/x509.js          |   729 +
 node_modules/sshpk/lib/identity.js              |   288 +
 node_modules/sshpk/lib/index.js                 |    39 +
 node_modules/sshpk/lib/key.js                   |   275 +
 node_modules/sshpk/lib/private-key.js           |   252 +
 node_modules/sshpk/lib/signature.js             |   313 +
 node_modules/sshpk/lib/ssh-buffer.js            |   148 +
 node_modules/sshpk/lib/utils.js                 |   388 +
 node_modules/sshpk/man/man1/sshpk-conv.1        |   135 +
 node_modules/sshpk/man/man1/sshpk-sign.1        |    81 +
 node_modules/sshpk/man/man1/sshpk-verify.1      |    68 +
 node_modules/sshpk/package.json                 |   106 +
 node_modules/statuses/HISTORY.md                |    65 +
 node_modules/statuses/LICENSE                   |    23 +
 node_modules/statuses/README.md                 |   127 +
 node_modules/statuses/codes.json                |    66 +
 node_modules/statuses/index.js                  |   113 +
 node_modules/statuses/package.json              |    92 +
 node_modules/stdout-stream/.npmignore           |     1 +
 node_modules/stdout-stream/.travis.yml          |     6 +
 node_modules/stdout-stream/LICENSE              |    20 +
 node_modules/stdout-stream/README.md            |    45 +
 node_modules/stdout-stream/index.js             |    53 +
 node_modules/stdout-stream/package.json         |    51 +
 node_modules/stream-buffers/.mailmap            |     2 +
 node_modules/stream-buffers/.travis.yml         |    28 +
 node_modules/stream-buffers/README.md           |   157 +
 node_modules/stream-buffers/UNLICENSE           |    24 +
 .../stream-buffers/coverage/coverage.json       |     1 +
 .../coverage/lcov-report/base.css               |   182 +
 .../coverage/lcov-report/index.html             |    73 +
 .../coverage/lcov-report/lib/constants.js.html  |    63 +
 .../coverage/lcov-report/lib/index.html         |   112 +
 .../lib/readable_streambuffer.js.html           |   453 +
 .../lcov-report/lib/streambuffer.js.html        |    54 +
 .../lib/writable_streambuffer.js.html           |   336 +
 .../coverage/lcov-report/prettify.css           |     1 +
 .../coverage/lcov-report/prettify.js            |     1 +
 .../coverage/lcov-report/sort-arrow-sprite.png  |   Bin 0 -> 209 bytes
 .../coverage/lcov-report/sorter.js              |   156 +
 node_modules/stream-buffers/coverage/lcov.info  |   305 +
 node_modules/stream-buffers/lib/constants.js    |     6 +
 .../stream-buffers/lib/readable_streambuffer.js |   136 +
 node_modules/stream-buffers/lib/streambuffer.js |     3 +
 .../stream-buffers/lib/writable_streambuffer.js |    97 +
 node_modules/stream-buffers/package.json        |    64 +
 node_modules/streamroller/.jshintrc             |    17 +
 node_modules/streamroller/.travis.yml           |     9 +
 node_modules/streamroller/LICENSE               |    20 +
 node_modules/streamroller/README.md             |    57 +
 .../streamroller/lib/BaseRollingFileStream.js   |   127 +
 .../streamroller/lib/DateRollingFileStream.js   |   143 +
 .../streamroller/lib/RollingFileStream.js       |   136 +
 node_modules/streamroller/lib/index.js          |     3 +
 node_modules/streamroller/package.json          |    76 +
 node_modules/streamroller/stream-test.js        |    14 +
 node_modules/string-width/index.js              |    37 +
 node_modules/string-width/license               |    21 +
 node_modules/string-width/package.json          |    96 +
 node_modules/string-width/readme.md             |    42 +
 node_modules/string_decoder/.travis.yml         |    50 +
 node_modules/string_decoder/LICENSE             |    48 +
 node_modules/string_decoder/README.md           |    47 +
 .../string_decoder/lib/string_decoder.js        |   296 +
 node_modules/string_decoder/package.json        |    63 +
 node_modules/stringstream/.npmignore            |    15 +
 node_modules/stringstream/.travis.yml           |     4 +
 node_modules/stringstream/LICENSE.txt           |    22 +
 node_modules/stringstream/README.md             |    38 +
 node_modules/stringstream/example.js            |    27 +
 node_modules/stringstream/package.json          |    57 +
 node_modules/stringstream/stringstream.js       |   102 +
 node_modules/strip-ansi/index.js                |     6 +
 node_modules/strip-ansi/license                 |    21 +
 node_modules/strip-ansi/package.json            |   109 +
 node_modules/strip-ansi/readme.md               |    33 +
 node_modules/strip-bom/index.js                 |    17 +
 node_modules/strip-bom/license                  |    21 +
 node_modules/strip-bom/package.json             |    78 +
 node_modules/strip-bom/readme.md                |    39 +
 node_modules/strip-indent/cli.js                |    49 +
 node_modules/strip-indent/index.js              |    16 +
 node_modules/strip-indent/license               |    21 +
 node_modules/strip-indent/package.json          |    82 +
 node_modules/strip-indent/readme.md             |    61 +
 node_modules/strip-json-comments/index.js       |    70 +
 node_modules/strip-json-comments/license        |    21 +
 node_modules/strip-json-comments/package.json   |    79 +
 node_modules/strip-json-comments/readme.md      |    64 +
 node_modules/supports-color/index.js            |    50 +
 node_modules/supports-color/license             |    21 +
 node_modules/supports-color/package.json        |    93 +
 node_modules/supports-color/readme.md           |    36 +
 node_modules/symbol-observable/CHANGELOG.md     |    75 +
 node_modules/symbol-observable/es/index.js      |    12 +
 node_modules/symbol-observable/es/ponyfill.js   |    17 +
 node_modules/symbol-observable/index.d.ts       |     2 +
 node_modules/symbol-observable/index.js         |     1 +
 node_modules/symbol-observable/lib/index.js     |    22 +
 node_modules/symbol-observable/lib/ponyfill.js  |    23 +
 node_modules/symbol-observable/license          |    22 +
 node_modules/symbol-observable/package.json     |    80 +
 node_modules/symbol-observable/readme.md        |    31 +
 node_modules/systemjs-plugin-text/.npmignore    |     1 +
 node_modules/systemjs-plugin-text/LICENSE       |    20 +
 node_modules/systemjs-plugin-text/README.md     |    26 +
 node_modules/systemjs-plugin-text/package.json  |    43 +
 node_modules/systemjs-plugin-text/test.html     |     4 +
 node_modules/systemjs-plugin-text/text.js       |    12 +
 node_modules/systemjs-plugin-text/text.txt      |     4 +
 node_modules/systemjs/LICENSE                   |    10 +
 node_modules/systemjs/README.md                 |   102 +
 node_modules/systemjs/dist/system-production.js |     4 +
 .../systemjs/dist/system-production.js.map      |     1 +
 .../systemjs/dist/system-production.src.js      |  1925 +
 .../systemjs/dist/system-production.src.js.map  |     1 +
 node_modules/systemjs/dist/system.js            |     4 +
 node_modules/systemjs/dist/system.js.map        |     1 +
 node_modules/systemjs/dist/system.src.js        |  3991 ++
 node_modules/systemjs/dist/system.src.js.map    |     1 +
 node_modules/systemjs/package.json              |    82 +
 node_modules/tar-fs/.travis.yml                 |     3 +
 node_modules/tar-fs/LICENSE                     |    21 +
 node_modules/tar-fs/README.md                   |   163 +
 node_modules/tar-fs/index.js                    |   345 +
 .../tar-fs/node_modules/pump/.travis.yml        |     5 +
 node_modules/tar-fs/node_modules/pump/LICENSE   |    21 +
 node_modules/tar-fs/node_modules/pump/README.md |    56 +
 node_modules/tar-fs/node_modules/pump/index.js  |    80 +
 .../tar-fs/node_modules/pump/package.json       |    64 +
 .../tar-fs/node_modules/pump/test-browser.js    |    58 +
 node_modules/tar-fs/node_modules/pump/test.js   |    46 +
 node_modules/tar-fs/package.json                |    76 +
 node_modules/tar-stream/LICENSE                 |    21 +
 node_modules/tar-stream/README.md               |   168 +
 node_modules/tar-stream/extract.js              |   258 +
 node_modules/tar-stream/headers.js              |   283 +
 node_modules/tar-stream/index.js                |     2 +
 node_modules/tar-stream/pack.js                 |   255 +
 node_modules/tar-stream/package.json            |    93 +
 node_modules/tar/.npmignore                     |     5 +
 node_modules/tar/.travis.yml                    |     4 +
 node_modules/tar/LICENSE                        |    12 +
 node_modules/tar/README.md                      |    50 +
 node_modules/tar/examples/extracter.js          |    19 +
 node_modules/tar/examples/packer.js             |    24 +
 node_modules/tar/examples/reader.js             |    36 +
 node_modules/tar/lib/buffer-entry.js            |    30 +
 node_modules/tar/lib/entry-writer.js            |   169 +
 node_modules/tar/lib/entry.js                   |   220 +
 node_modules/tar/lib/extended-header-writer.js  |   191 +
 node_modules/tar/lib/extended-header.js         |   140 +
 node_modules/tar/lib/extract.js                 |    94 +
 node_modules/tar/lib/global-header-writer.js    |    14 +
 node_modules/tar/lib/header.js                  |   385 +
 node_modules/tar/lib/pack.js                    |   236 +
 node_modules/tar/lib/parse.js                   |   275 +
 node_modules/tar/package.json                   |    63 +
 node_modules/tar/tar.js                         |   173 +
 node_modules/thunkify/.npmignore                |     1 +
 node_modules/thunkify/History.md                |    26 +
 node_modules/thunkify/Makefile                  |     8 +
 node_modules/thunkify/Readme.md                 |    27 +
 node_modules/thunkify/index.js                  |    49 +
 node_modules/thunkify/package.json              |    56 +
 node_modules/timespan/.npmignore                |     3 +
 node_modules/timespan/CHANGELOG.md              |    15 +
 node_modules/timespan/LICENSE                   |    19 +
 node_modules/timespan/README.md                 |   199 +
 node_modules/timespan/browser/TimeSpan-1.2.js   |   226 +
 .../timespan/browser/TimeSpan-1.2.min.js        |     1 +
 node_modules/timespan/docs/docco.css            |   194 +
 node_modules/timespan/docs/time-span.html       |   692 +
 node_modules/timespan/lib/time-span.js          |   829 +
 node_modules/timespan/package.json              |    69 +
 node_modules/tmp/LICENSE                        |    21 +
 node_modules/tmp/README.md                      |   314 +
 node_modules/tmp/lib/tmp.js                     |   611 +
 node_modules/tmp/package.json                   |    75 +
 node_modules/to-array/.npmignore                |     3 +
 node_modules/to-array/LICENCE                   |    19 +
 node_modules/to-array/README.md                 |    22 +
 node_modules/to-array/index.js                  |    13 +
 node_modules/to-array/package.json              |    72 +
 node_modules/to-buffer/.travis.yml              |     9 +
 node_modules/to-buffer/LICENSE                  |    21 +
 node_modules/to-buffer/README.md                |    23 +
 node_modules/to-buffer/index.js                 |    14 +
 node_modules/to-buffer/package.json             |    56 +
 node_modules/to-buffer/test.js                  |    26 +
 node_modules/tough-cookie/LICENSE               |    27 +
 node_modules/tough-cookie/README.md             |   509 +
 node_modules/tough-cookie/lib/cookie.js         |  1426 +
 node_modules/tough-cookie/lib/memstore.js       |   170 +
 node_modules/tough-cookie/lib/pathMatch.js      |    61 +
 node_modules/tough-cookie/lib/permuteDomain.js  |    56 +
 node_modules/tough-cookie/lib/pubsuffix.js      |    98 +
 node_modules/tough-cookie/lib/store.js          |    71 +
 node_modules/tough-cookie/package.json          |    98 +
 node_modules/trim-newlines/index.js             |    13 +
 node_modules/trim-newlines/license              |    21 +
 node_modules/trim-newlines/package.json         |    78 +
 node_modules/trim-newlines/readme.md            |    46 +
 node_modules/true-case-path/.npmignore          |     9 +
 node_modules/true-case-path/LICENSE             |   201 +
 node_modules/true-case-path/README.md           |    52 +
 node_modules/true-case-path/index.js            |    32 +
 .../true-case-path/node_modules/glob/LICENSE    |    15 +
 .../true-case-path/node_modules/glob/README.md  |   359 +
 .../true-case-path/node_modules/glob/common.js  |   226 +
 .../true-case-path/node_modules/glob/glob.js    |   765 +
 .../node_modules/glob/package.json              |    79 +
 .../true-case-path/node_modules/glob/sync.js    |   460 +
 node_modules/true-case-path/package.json        |    66 +
 node_modules/tslib/.gitattributes               |     1 +
 node_modules/tslib/CopyrightNotice.txt          |    15 +
 node_modules/tslib/LICENSE.txt                  |    55 +
 node_modules/tslib/README.md                    |   134 +
 node_modules/tslib/bower.json                   |    34 +
 node_modules/tslib/docs/generator.md            |   486 +
 node_modules/tslib/package.json                 |    70 +
 node_modules/tslib/tslib.d.ts                   |    33 +
 node_modules/tslib/tslib.es6.html               |     1 +
 node_modules/tslib/tslib.es6.js                 |   178 +
 node_modules/tslib/tslib.html                   |     1 +
 node_modules/tslib/tslib.js                     |   241 +
 node_modules/tsscmp/.npmignore                  |     1 +
 node_modules/tsscmp/.travis.yml                 |    14 +
 node_modules/tsscmp/LICENSE                     |    21 +
 node_modules/tsscmp/README.md                   |    48 +
 node_modules/tsscmp/appveyor.yml                |    29 +
 node_modules/tsscmp/lib/index.js                |    33 +
 node_modules/tsscmp/package.json                |    65 +
 node_modules/tunnel-agent/LICENSE               |    55 +
 node_modules/tunnel-agent/README.md             |     4 +
 node_modules/tunnel-agent/index.js              |   244 +
 node_modules/tunnel-agent/package.json          |    60 +
 node_modules/tweetnacl/.npmignore               |     4 +
 node_modules/tweetnacl/AUTHORS.md               |    28 +
 node_modules/tweetnacl/CHANGELOG.md             |   221 +
 node_modules/tweetnacl/LICENSE                  |    24 +
 node_modules/tweetnacl/PULL_REQUEST_TEMPLATE.md |    20 +
 node_modules/tweetnacl/README.md                |   459 +
 node_modules/tweetnacl/nacl-fast.js             |  2388 ++
 node_modules/tweetnacl/nacl-fast.min.js         |     2 +
 node_modules/tweetnacl/nacl.d.ts                |    98 +
 node_modules/tweetnacl/nacl.js                  |  1175 +
 node_modules/tweetnacl/nacl.min.js              |     1 +
 node_modules/tweetnacl/package.json             |    91 +
 node_modules/type-check/LICENSE                 |    22 +
 node_modules/type-check/README.md               |   210 +
 node_modules/type-check/lib/check.js            |   126 +
 node_modules/type-check/lib/index.js            |    16 +
 node_modules/type-check/lib/parse-type.js       |   196 +
 node_modules/type-check/package.json            |    75 +
 node_modules/type-is/HISTORY.md                 |   236 +
 node_modules/type-is/LICENSE                    |    23 +
 node_modules/type-is/README.md                  |   146 +
 node_modules/type-is/index.js                   |   262 +
 node_modules/type-is/package.json               |    88 +
 node_modules/uglify-js/LICENSE                  |    29 +
 node_modules/uglify-js/README.md                |   995 +
 node_modules/uglify-js/bin/extract-props.js     |    77 +
 node_modules/uglify-js/bin/uglifyjs             |   635 +
 node_modules/uglify-js/lib/ast.js               |  1052 +
 node_modules/uglify-js/lib/compress.js          |  4101 ++
 node_modules/uglify-js/lib/mozilla-ast.js       |   611 +
 node_modules/uglify-js/lib/output.js            |  1423 +
 node_modules/uglify-js/lib/parse.js             |  1599 +
 node_modules/uglify-js/lib/propmangle.js        |   264 +
 node_modules/uglify-js/lib/scope.js             |   656 +
 node_modules/uglify-js/lib/sourcemap.js         |    97 +
 node_modules/uglify-js/lib/transform.js         |   218 +
 node_modules/uglify-js/lib/utils.js             |   362 +
 .../uglify-js/node_modules/camelcase/index.js   |    27 +
 .../uglify-js/node_modules/camelcase/license    |    21 +
 .../node_modules/camelcase/package.json         |    75 +
 .../uglify-js/node_modules/camelcase/readme.md  |    56 +
 .../uglify-js/node_modules/cliui/.coveralls.yml |     1 +
 .../uglify-js/node_modules/cliui/.npmignore     |     2 +
 .../uglify-js/node_modules/cliui/.travis.yml    |     7 +
 .../uglify-js/node_modules/cliui/LICENSE.txt    |    14 +
 .../uglify-js/node_modules/cliui/README.md      |   104 +
 .../uglify-js/node_modules/cliui/index.js       |   273 +
 .../uglify-js/node_modules/cliui/package.json   |    96 +
 .../node_modules/source-map/CHANGELOG.md        |   301 +
 .../uglify-js/node_modules/source-map/LICENSE   |    28 +
 .../uglify-js/node_modules/source-map/README.md |   729 +
 .../source-map/dist/source-map.debug.js         |  3091 ++
 .../node_modules/source-map/dist/source-map.js  |  3090 ++
 .../source-map/dist/source-map.min.js           |     2 +
 .../source-map/dist/source-map.min.js.map       |     1 +
 .../node_modules/source-map/lib/array-set.js    |   121 +
 .../node_modules/source-map/lib/base64-vlq.js   |   140 +
 .../node_modules/source-map/lib/base64.js       |    67 +
 .../source-map/lib/binary-search.js             |   111 +
 .../node_modules/source-map/lib/mapping-list.js |    79 +
 .../node_modules/source-map/lib/quick-sort.js   |   114 +
 .../source-map/lib/source-map-consumer.js       |  1082 +
 .../source-map/lib/source-map-generator.js      |   416 +
 .../node_modules/source-map/lib/source-node.js  |   413 +
 .../node_modules/source-map/lib/util.js         |   417 +
 .../node_modules/source-map/package.json        |   216 +
 .../node_modules/source-map/source-map.js       |     8 +
 .../uglify-js/node_modules/wordwrap/.npmignore  |     1 +
 .../node_modules/wordwrap/README.markdown       |    70 +
 .../node_modules/wordwrap/example/center.js     |    10 +
 .../node_modules/wordwrap/example/meat.js       |     3 +
 .../uglify-js/node_modules/wordwrap/index.js    |    76 +
 .../node_modules/wordwrap/package.json          |    71 +
 .../uglify-js/node_modules/yargs/CHANGELOG.md   |   374 +
 .../uglify-js/node_modules/yargs/LICENSE        |    21 +
 .../uglify-js/node_modules/yargs/README.md      |   926 +
 .../node_modules/yargs/completion.sh.hbs        |    22 +
 .../uglify-js/node_modules/yargs/index.js       |   504 +
 .../node_modules/yargs/lib/completion.js        |    71 +
 .../uglify-js/node_modules/yargs/lib/parser.js  |   448 +
 .../uglify-js/node_modules/yargs/lib/usage.js   |   314 +
 .../node_modules/yargs/lib/validation.js        |   196 +
 .../uglify-js/node_modules/yargs/package.json   |   119 +
 node_modules/uglify-js/package.json             |   100 +
 node_modules/uglify-js/tools/domprops.json      |  5603 +++
 node_modules/uglify-js/tools/exports.js         |    19 +
 node_modules/uglify-js/tools/node.js            |   320 +
 node_modules/uglify-js/tools/props.html         |    61 +
 node_modules/uglify-to-browserify/.npmignore    |    14 +
 node_modules/uglify-to-browserify/.travis.yml   |     3 +
 node_modules/uglify-to-browserify/LICENSE       |    19 +
 node_modules/uglify-to-browserify/README.md     |    15 +
 node_modules/uglify-to-browserify/index.js      |    49 +
 node_modules/uglify-to-browserify/package.json  |    56 +
 node_modules/ultron/LICENSE                     |    22 +
 node_modules/ultron/README.md                   |   113 +
 node_modules/ultron/index.js                    |   136 +
 node_modules/ultron/package.json                |    72 +
 node_modules/underscore.string/.editorconfig    |     9 +
 node_modules/underscore.string/.eslintrc.js     |    26 +
 node_modules/underscore.string/.npmignore       |     3 +
 node_modules/underscore.string/.travis.yml      |     4 +
 .../underscore.string/CHANGELOG.markdown        |   187 +
 .../underscore.string/CONTRIBUTING.markdown     |    41 +
 node_modules/underscore.string/README.markdown  |   890 +
 node_modules/underscore.string/bower.json       |    34 +
 node_modules/underscore.string/camelize.js      |    14 +
 node_modules/underscore.string/capitalize.js    |     8 +
 node_modules/underscore.string/chars.js         |     5 +
 node_modules/underscore.string/chop.js          |     6 +
 node_modules/underscore.string/classify.js      |     8 +
 node_modules/underscore.string/clean.js         |     5 +
 .../underscore.string/cleanDiacritics.js        |    22 +
 node_modules/underscore.string/component.json   |    16 +
 node_modules/underscore.string/count.js         |    10 +
 node_modules/underscore.string/dasherize.js     |     5 +
 node_modules/underscore.string/decapitalize.js  |     6 +
 node_modules/underscore.string/dedent.js        |    28 +
 .../underscore.string/dist/underscore.string.js |  1200 +
 .../dist/underscore.string.min.js               |     3 +
 node_modules/underscore.string/endsWith.js      |    13 +
 node_modules/underscore.string/escapeHTML.js    |    17 +
 node_modules/underscore.string/exports.js       |    10 +
 node_modules/underscore.string/gulpfile.js      |   112 +
 .../underscore.string/helper/adjacent.js        |     9 +
 .../helper/defaultToWhiteSpace.js               |    10 +
 .../underscore.string/helper/escapeChars.js     |    19 +
 .../underscore.string/helper/escapeRegExp.js    |     5 +
 .../underscore.string/helper/htmlEntities.js    |    19 +
 .../underscore.string/helper/makeString.js      |     7 +
 .../underscore.string/helper/strRepeat.js       |     9 +
 .../underscore.string/helper/toPositive.js      |     3 +
 node_modules/underscore.string/humanize.js      |     7 +
 node_modules/underscore.string/include.js       |     6 +
 node_modules/underscore.string/index.js         |   140 +
 node_modules/underscore.string/insert.js        |     5 +
 node_modules/underscore.string/isBlank.js       |     5 +
 node_modules/underscore.string/join.js          |     9 +
 node_modules/underscore.string/levenshtein.js   |    52 +
 node_modules/underscore.string/lines.js         |     4 +
 node_modules/underscore.string/lpad.js          |     5 +
 node_modules/underscore.string/lrpad.js         |     5 +
 node_modules/underscore.string/ltrim.js         |    10 +
 node_modules/underscore.string/map.js           |     9 +
 node_modules/underscore.string/meteor-post.js   |     2 +
 node_modules/underscore.string/meteor-pre.js    |     6 +
 node_modules/underscore.string/naturalCmp.js    |    29 +
 node_modules/underscore.string/numberFormat.js  |    12 +
 node_modules/underscore.string/package.js       |    16 +
 node_modules/underscore.string/package.json     |   123 +
 node_modules/underscore.string/pad.js           |    26 +
 node_modules/underscore.string/pred.js          |     5 +
 node_modules/underscore.string/prune.js         |    27 +
 node_modules/underscore.string/quote.js         |     5 +
 node_modules/underscore.string/repeat.js        |    16 +
 node_modules/underscore.string/replaceAll.js    |     8 +
 node_modules/underscore.string/reverse.js       |     5 +
 node_modules/underscore.string/rpad.js          |     5 +
 node_modules/underscore.string/rtrim.js         |    10 +
 node_modules/underscore.string/slugify.js       |     7 +
 node_modules/underscore.string/splice.js        |     7 +
 node_modules/underscore.string/sprintf.js       |   124 +
 node_modules/underscore.string/startsWith.js    |     9 +
 node_modules/underscore.string/strLeft.js       |     8 +
 node_modules/underscore.string/strLeftBack.js   |     8 +
 node_modules/underscore.string/strRight.js      |     8 +
 node_modules/underscore.string/strRightBack.js  |     8 +
 node_modules/underscore.string/stripTags.js     |     5 +
 node_modules/underscore.string/succ.js          |     5 +
 node_modules/underscore.string/surround.js      |     3 +
 node_modules/underscore.string/swapCase.js      |     7 +
 node_modules/underscore.string/titleize.js      |     7 +
 node_modules/underscore.string/toBoolean.js     |    20 +
 node_modules/underscore.string/toNumber.js      |     5 +
 node_modules/underscore.string/toSentence.js    |    12 +
 .../underscore.string/toSentenceSerial.js       |     5 +
 node_modules/underscore.string/trim.js          |    10 +
 node_modules/underscore.string/truncate.js      |     8 +
 node_modules/underscore.string/underscored.js   |     5 +
 node_modules/underscore.string/unescapeHTML.js  |    20 +
 node_modules/underscore.string/unquote.js       |     6 +
 node_modules/underscore.string/vsprintf.js      |     6 +
 node_modules/underscore.string/words.js         |     7 +
 node_modules/underscore.string/wrap.js          |   102 +
 node_modules/union/.npmignore                   |     7 +
 node_modules/union/.travis.yml                  |    12 +
 node_modules/union/CHANGELOG.md                 |     7 +
 node_modules/union/LICENSE                      |    19 +
 node_modules/union/README.md                    |   323 +
 node_modules/union/examples/after/index.js      |    26 +
 node_modules/union/examples/simple/favicon.png  |   Bin 0 -> 545 bytes
 .../union/examples/simple/middleware/favicon.js |    96 +
 .../examples/simple/middleware/gzip-decode.js   |    26 +
 .../examples/simple/middleware/gzip-encode.js   |    40 +
 node_modules/union/examples/simple/simple.js    |    60 +
 node_modules/union/examples/simple/spdy.js      |    30 +
 node_modules/union/examples/socketio/README     |    13 +
 node_modules/union/examples/socketio/index.html |     8 +
 node_modules/union/examples/socketio/server.js  |    30 +
 node_modules/union/lib/buffered-stream.js       |   141 +
 node_modules/union/lib/core.js                  |   108 +
 node_modules/union/lib/http-stream.js           |    52 +
 node_modules/union/lib/index.js                 |    24 +
 node_modules/union/lib/request-stream.js        |    58 +
 node_modules/union/lib/response-stream.js       |   203 +
 node_modules/union/lib/routing-stream.js        |   126 +
 .../union/node_modules/qs/.jshintignore         |     1 +
 node_modules/union/node_modules/qs/.jshintrc    |    10 +
 node_modules/union/node_modules/qs/.npmignore   |    18 +
 node_modules/union/node_modules/qs/.travis.yml  |     4 +
 node_modules/union/node_modules/qs/CHANGELOG.md |    68 +
 .../union/node_modules/qs/CONTRIBUTING.md       |     1 +
 node_modules/union/node_modules/qs/LICENSE      |    28 +
 node_modules/union/node_modules/qs/Makefile     |     8 +
 node_modules/union/node_modules/qs/README.md    |   222 +
 node_modules/union/node_modules/qs/index.js     |     1 +
 node_modules/union/node_modules/qs/lib/index.js |    15 +
 node_modules/union/node_modules/qs/lib/parse.js |   157 +
 .../union/node_modules/qs/lib/stringify.js      |    77 +
 node_modules/union/node_modules/qs/lib/utils.js |   132 +
 node_modules/union/node_modules/qs/package.json |    61 +
 node_modules/union/package.json                 |    69 +
 node_modules/union/union.png                    |   Bin 0 -> 10826 bytes
 node_modules/unpipe/HISTORY.md                  |     4 +
 node_modules/unpipe/LICENSE                     |    22 +
 node_modules/unpipe/README.md                   |    43 +
 node_modules/unpipe/index.js                    |    69 +
 node_modules/unpipe/package.json                |    67 +
 node_modules/url-join/.npmignore                |     2 +
 node_modules/url-join/.travis.yml               |     5 +
 node_modules/url-join/LICENSE                   |    21 +
 node_modules/url-join/README.md                 |    47 +
 node_modules/url-join/bower.json                |    27 +
 node_modules/url-join/lib/url-join.js           |    49 +
 node_modules/url-join/package.json              |    60 +
 node_modules/useragent/.npmignore               |     3 +
 node_modules/useragent/.travis.yml              |     4 +
 node_modules/useragent/CHANGELOG.md             |    69 +
 node_modules/useragent/CREDITS                  |    16 +
 node_modules/useragent/LICENSE                  |    19 +
 node_modules/useragent/README.md                |   395 +
 node_modules/useragent/bin/testfiles.js         |    24 +
 node_modules/useragent/bin/update.js            |    17 +
 node_modules/useragent/features/index.js        |    19 +
 node_modules/useragent/index.js                 |   621 +
 node_modules/useragent/lib/donotedit            |    16 +
 node_modules/useragent/lib/regexps.js           |  6420 +++
 node_modules/useragent/lib/update.js            |   249 +
 .../useragent/node_modules/lru-cache/.npmignore |     1 +
 .../useragent/node_modules/lru-cache/AUTHORS    |     8 +
 .../useragent/node_modules/lru-cache/LICENSE    |    23 +
 .../useragent/node_modules/lru-cache/README.md  |    88 +
 .../node_modules/lru-cache/lib/lru-cache.js     |   242 +
 .../node_modules/lru-cache/package.json         |    88 +
 .../useragent/node_modules/lru-cache/s.js       |    25 +
 node_modules/useragent/package.json             |    96 +
 .../useragent/static/user_agent.after.yaml      |    12 +
 .../useragent/static/user_agent.before.yaml     |    11 +
 node_modules/util-deprecate/History.md          |    16 +
 node_modules/util-deprecate/LICENSE             |    24 +
 node_modules/util-deprecate/README.md           |    53 +
 node_modules/util-deprecate/browser.js          |    67 +
 node_modules/util-deprecate/node.js             |     6 +
 node_modules/util-deprecate/package.json        |    62 +
 node_modules/utils-merge/.npmignore             |     9 +
 node_modules/utils-merge/LICENSE                |    20 +
 node_modules/utils-merge/README.md              |    34 +
 node_modules/utils-merge/index.js               |    23 +
 node_modules/utils-merge/package.json           |    70 +
 node_modules/uuid/.eslintrc.json                |    47 +
 node_modules/uuid/AUTHORS                       |     5 +
 node_modules/uuid/CHANGELOG.md                  |    57 +
 node_modules/uuid/LICENSE.md                    |    21 +
 node_modules/uuid/README.md                     |   293 +
 node_modules/uuid/README_js.md                  |   280 +
 node_modules/uuid/bin/uuid                      |    65 +
 node_modules/uuid/index.js                      |     8 +
 node_modules/uuid/lib/bytesToUuid.js            |    23 +
 node_modules/uuid/lib/md5-browser.js            |   216 +
 node_modules/uuid/lib/md5.js                    |    25 +
 node_modules/uuid/lib/rng-browser.js            |    32 +
 node_modules/uuid/lib/rng.js                    |     8 +
 node_modules/uuid/lib/sha1-browser.js           |    89 +
 node_modules/uuid/lib/sha1.js                   |    25 +
 node_modules/uuid/lib/v35.js                    |    53 +
 node_modules/uuid/package.json                  |    92 +
 node_modules/uuid/v1.js                         |   109 +
 node_modules/uuid/v3.js                         |     4 +
 node_modules/uuid/v4.js                         |    29 +
 node_modules/uuid/v5.js                         |     3 +
 node_modules/uws/LICENSE                        |    17 +
 node_modules/uws/README.md                      |    32 +
 node_modules/uws/binding.gyp                    |    80 +
 node_modules/uws/build/Makefile                 |   347 +
 .../uws/build/action_after_build.target.mk      |    47 +
 node_modules/uws/build/binding.Makefile         |     6 +
 node_modules/uws/build/config.gypi              |   183 +
 node_modules/uws/build/gyp-mac-tool             |   611 +
 node_modules/uws/build/uws.target.mk            |   176 +
 node_modules/uws/build_log.txt                  |   343 +
 node_modules/uws/package.json                   |    60 +
 node_modules/uws/uws.js                         |   563 +
 node_modules/uws/uws_darwin_46.node             |   Bin 0 -> 379476 bytes
 node_modules/uws/uws_darwin_47.node             |   Bin 0 -> 379476 bytes
 node_modules/uws/uws_darwin_48.node             |   Bin 0 -> 379468 bytes
 node_modules/uws/uws_darwin_51.node             |   Bin 0 -> 383636 bytes
 node_modules/uws/uws_darwin_57.node             |   Bin 0 -> 383636 bytes
 node_modules/uws/uws_darwin_59.node             |   Bin 0 -> 383636 bytes
 node_modules/uws/uws_linux_46.node              |   Bin 0 -> 1580112 bytes
 node_modules/uws/uws_linux_47.node              |   Bin 0 -> 1580112 bytes
 node_modules/uws/uws_linux_48.node              |   Bin 0 -> 1584208 bytes
 node_modules/uws/uws_linux_51.node              |   Bin 0 -> 1584176 bytes
 node_modules/uws/uws_linux_57.node              |   Bin 0 -> 1584176 bytes
 node_modules/uws/uws_linux_59.node              |   Bin 0 -> 1584176 bytes
 node_modules/uws/uws_win32_48.node              |   Bin 0 -> 643584 bytes
 node_modules/uws/uws_win32_51.node              |   Bin 0 -> 644096 bytes
 node_modules/uws/uws_win32_57.node              |   Bin 0 -> 644096 bytes
 node_modules/uws/uws_win32_59.node              |   Bin 0 -> 644096 bytes
 .../validate-npm-package-license/LICENSE        |   202 +
 .../validate-npm-package-license/README.md      |   113 +
 .../validate-npm-package-license/index.js       |    84 +
 .../validate-npm-package-license/package.json   |    65 +
 .../validate-npm-package-license/test.log       |     4 +
 node_modules/verror/.npmignore                  |     9 +
 node_modules/verror/CHANGES.md                  |    28 +
 node_modules/verror/CONTRIBUTING.md             |    19 +
 node_modules/verror/LICENSE                     |    19 +
 node_modules/verror/README.md                   |   528 +
 node_modules/verror/lib/verror.js               |   451 +
 node_modules/verror/package.json                |    55 +
 node_modules/void-elements/.gitattributes       |     1 +
 node_modules/void-elements/.npmignore           |     1 +
 node_modules/void-elements/.travis.yml          |     4 +
 node_modules/void-elements/LICENSE              |    22 +
 node_modules/void-elements/README.md            |    27 +
 node_modules/void-elements/index.js             |    23 +
 node_modules/void-elements/package.json         |    62 +
 node_modules/void-elements/pre-publish.js       |    29 +
 node_modules/walkdir/.jshintignore              |     3 +
 node_modules/walkdir/.npmignore                 |     2 +
 node_modules/walkdir/.travis.yml                |     5 +
 node_modules/walkdir/CONTRIBUTING.md            |    32 +
 node_modules/walkdir/license                    |    10 +
 node_modules/walkdir/package.json               |    69 +
 node_modules/walkdir/readme.md                  |   176 +
 node_modules/walkdir/walkdir.js                 |   254 +
 node_modules/when/CHANGES.md                    |   448 +
 node_modules/when/LICENSE.txt                   |    24 +
 node_modules/when/README.md                     |   106 +
 node_modules/when/callbacks.js                  |   262 +
 node_modules/when/cancelable.js                 |    54 +
 node_modules/when/delay.js                      |    27 +
 node_modules/when/dist/browser/when.debug.js    |  4059 ++
 .../when/dist/browser/when.debug.js.map         |    87 +
 node_modules/when/dist/browser/when.js          |  3624 ++
 node_modules/when/dist/browser/when.js.map      |    75 +
 node_modules/when/dist/browser/when.min.js      |     2 +
 node_modules/when/dist/browser/when.min.js.map  |     1 +
 .../when/es6-shim/Promise.browserify-es6.js     |    13 +
 node_modules/when/es6-shim/Promise.js           |  1299 +
 node_modules/when/es6-shim/Promise.js.map       |    25 +
 node_modules/when/es6-shim/Promise.min.js       |     2 +
 node_modules/when/es6-shim/Promise.min.js.map   |     1 +
 node_modules/when/es6-shim/README.md            |     5 +
 node_modules/when/function.js                   |   104 +
 node_modules/when/generator.js                  |   105 +
 node_modules/when/guard.js                      |    72 +
 node_modules/when/keys.js                       |   114 +
 node_modules/when/lib/Promise.js                |    17 +
 node_modules/when/lib/Scheduler.js              |    80 +
 node_modules/when/lib/TimeoutError.js           |    27 +
 node_modules/when/lib/apply.js                  |    55 +
 node_modules/when/lib/decorators/array.js       |   299 +
 node_modules/when/lib/decorators/flow.js        |   160 +
 node_modules/when/lib/decorators/fold.js        |    27 +
 node_modules/when/lib/decorators/inspect.js     |    20 +
 node_modules/when/lib/decorators/iterate.js     |    65 +
 node_modules/when/lib/decorators/progress.js    |    24 +
 node_modules/when/lib/decorators/timed.js       |    78 +
 .../when/lib/decorators/unhandledRejection.js   |    86 +
 node_modules/when/lib/decorators/with.js        |    38 +
 node_modules/when/lib/env.js                    |    73 +
 node_modules/when/lib/format.js                 |    56 +
 node_modules/when/lib/liftAll.js                |    28 +
 node_modules/when/lib/makePromise.js            |   955 +
 node_modules/when/lib/state.js                  |    35 +
 node_modules/when/monitor.js                    |    17 +
 node_modules/when/monitor/ConsoleReporter.js    |   106 +
 node_modules/when/monitor/PromiseMonitor.js     |   197 +
 node_modules/when/monitor/README.md             |     3 +
 node_modules/when/monitor/console.js            |    14 +
 node_modules/when/monitor/error.js              |    86 +
 node_modules/when/node.js                       |   282 +
 node_modules/when/node/function.js              |    13 +
 node_modules/when/package.json                  |   134 +
 node_modules/when/parallel.js                   |    39 +
 node_modules/when/pipeline.js                   |    50 +
 node_modules/when/poll.js                       |   114 +
 node_modules/when/sequence.js                   |    46 +
 node_modules/when/timeout.js                    |    27 +
 node_modules/when/unfold.js                     |    17 +
 node_modules/when/unfold/list.js                |    32 +
 node_modules/when/when.js                       |   228 +
 node_modules/which-module/CHANGELOG.md          |    11 +
 node_modules/which-module/LICENSE               |    13 +
 node_modules/which-module/README.md             |    55 +
 node_modules/which-module/index.js              |     9 +
 node_modules/which-module/package.json          |    72 +
 node_modules/which-pm-runs/LICENSE              |    21 +
 node_modules/which-pm-runs/README.md            |    29 +
 node_modules/which-pm-runs/index.js             |    17 +
 node_modules/which-pm-runs/package.json         |    66 +
 node_modules/which/CHANGELOG.md                 |   142 +
 node_modules/which/LICENSE                      |    15 +
 node_modules/which/README.md                    |    48 +
 node_modules/which/bin/which                    |    52 +
 node_modules/which/package.json                 |    73 +
 node_modules/which/which.js                     |   132 +
 node_modules/wide-align/LICENSE                 |    14 +
 node_modules/wide-align/README.md               |    47 +
 node_modules/wide-align/align.js                |    65 +
 node_modules/wide-align/package.json            |    70 +
 node_modules/window-size/LICENSE-MIT            |    22 +
 node_modules/window-size/README.md              |    26 +
 node_modules/window-size/index.js               |    33 +
 node_modules/window-size/package.json           |    63 +
 node_modules/wordwrap/LICENSE                   |    18 +
 node_modules/wordwrap/README.markdown           |    70 +
 node_modules/wordwrap/example/center.js         |    10 +
 node_modules/wordwrap/example/meat.js           |     3 +
 node_modules/wordwrap/index.js                  |    76 +
 node_modules/wordwrap/package.json              |    70 +
 node_modules/wrap-ansi/index.js                 |   168 +
 node_modules/wrap-ansi/license                  |    21 +
 node_modules/wrap-ansi/package.json             |   120 +
 node_modules/wrap-ansi/readme.md                |    73 +
 node_modules/wrappy/LICENSE                     |    15 +
 node_modules/wrappy/README.md                   |    36 +
 node_modules/wrappy/package.json                |    63 +
 node_modules/wrappy/wrappy.js                   |    33 +
 node_modules/ws/LICENSE                         |    21 +
 node_modules/ws/README.md                       |   341 +
 node_modules/ws/index.js                        |    15 +
 node_modules/ws/lib/.DS_Store                   |   Bin 0 -> 6148 bytes
 node_modules/ws/lib/BufferUtil.js               |    71 +
 node_modules/ws/lib/Constants.js                |    10 +
 node_modules/ws/lib/ErrorCodes.js               |    28 +
 node_modules/ws/lib/EventTarget.js              |   151 +
 node_modules/ws/lib/Extensions.js               |   203 +
 node_modules/ws/lib/PerMessageDeflate.js        |   507 +
 node_modules/ws/lib/Receiver.js                 |   553 +
 node_modules/ws/lib/Sender.js                   |   412 +
 node_modules/ws/lib/Validation.js               |    17 +
 node_modules/ws/lib/WebSocket.js                |   717 +
 node_modules/ws/lib/WebSocketServer.js          |   326 +
 node_modules/ws/package.json                    |    85 +
 node_modules/xml2js/LICENSE                     |    19 +
 node_modules/xml2js/README.md                   |   406 +
 node_modules/xml2js/lib/bom.js                  |    12 +
 node_modules/xml2js/lib/builder.js              |   127 +
 node_modules/xml2js/lib/defaults.js             |    72 +
 node_modules/xml2js/lib/parser.js               |   357 +
 node_modules/xml2js/lib/processors.js           |    34 +
 node_modules/xml2js/lib/xml2js.js               |    37 +
 node_modules/xml2js/package.json                |   284 +
 node_modules/xmlbuilder/.npmignore              |     5 +
 node_modules/xmlbuilder/CHANGELOG.md            |   423 +
 node_modules/xmlbuilder/LICENSE                 |    21 +
 node_modules/xmlbuilder/README.md               |    85 +
 node_modules/xmlbuilder/lib/Utility.js          |    73 +
 node_modules/xmlbuilder/lib/XMLAttribute.js     |    31 +
 node_modules/xmlbuilder/lib/XMLCData.js         |    32 +
 node_modules/xmlbuilder/lib/XMLComment.js       |    32 +
 node_modules/xmlbuilder/lib/XMLDTDAttList.js    |    50 +
 node_modules/xmlbuilder/lib/XMLDTDElement.js    |    35 +
 node_modules/xmlbuilder/lib/XMLDTDEntity.js     |    56 +
 node_modules/xmlbuilder/lib/XMLDTDNotation.js   |    37 +
 node_modules/xmlbuilder/lib/XMLDeclaration.js   |    40 +
 node_modules/xmlbuilder/lib/XMLDocType.js       |   107 +
 node_modules/xmlbuilder/lib/XMLDocument.js      |    48 +
 node_modules/xmlbuilder/lib/XMLDocumentCB.js    |   402 +
 node_modules/xmlbuilder/lib/XMLElement.js       |   111 +
 node_modules/xmlbuilder/lib/XMLNode.js          |   432 +
 .../xmlbuilder/lib/XMLProcessingInstruction.js  |    35 +
 node_modules/xmlbuilder/lib/XMLRaw.js           |    32 +
 node_modules/xmlbuilder/lib/XMLStreamWriter.js  |   279 +
 node_modules/xmlbuilder/lib/XMLStringWriter.js  |   334 +
 node_modules/xmlbuilder/lib/XMLStringifier.js   |   163 +
 node_modules/xmlbuilder/lib/XMLText.js          |    32 +
 node_modules/xmlbuilder/lib/XMLWriterBase.js    |    90 +
 node_modules/xmlbuilder/lib/index.js            |    53 +
 node_modules/xmlbuilder/package.json            |    70 +
 node_modules/xmlhttprequest-ssl/LICENSE         |    22 +
 node_modules/xmlhttprequest-ssl/README.md       |    63 +
 node_modules/xmlhttprequest-ssl/autotest.watchr |     8 +
 node_modules/xmlhttprequest-ssl/example/demo.js |    16 +
 .../xmlhttprequest-ssl/lib/XMLHttpRequest.js    |   651 +
 node_modules/xmlhttprequest-ssl/package.json    |    67 +
 .../xmlhttprequest-ssl/tests/test-constants.js  |    13 +
 .../xmlhttprequest-ssl/tests/test-events.js     |    50 +
 .../xmlhttprequest-ssl/tests/test-exceptions.js |    59 +
 .../xmlhttprequest-ssl/tests/test-headers.js    |    76 +
 .../tests/test-redirect-302.js                  |    41 +
 .../tests/test-redirect-303.js                  |    41 +
 .../tests/test-redirect-307.js                  |    43 +
 .../tests/test-request-methods.js               |    62 +
 .../tests/test-request-protocols.js             |    32 +
 .../xmlhttprequest-ssl/tests/testdata.txt       |     1 +
 node_modules/xregexp/.npmignore                 |     5 +
 node_modules/xregexp/MIT-LICENSE.txt            |    19 +
 node_modules/xregexp/README.md                  |   284 +
 node_modules/xregexp/package.json               |    59 +
 node_modules/xregexp/tests/node-qunit.js        |    11 +
 node_modules/xregexp/tests/tests.js             |   876 +
 node_modules/xregexp/xregexp-all.js             |  2308 ++
 node_modules/xtend/.jshintrc                    |    30 +
 node_modules/xtend/.npmignore                   |     1 +
 node_modules/xtend/LICENCE                      |    19 +
 node_modules/xtend/Makefile                     |     4 +
 node_modules/xtend/README.md                    |    32 +
 node_modules/xtend/immutable.js                 |    19 +
 node_modules/xtend/mutable.js                   |    17 +
 node_modules/xtend/package.json                 |    91 +
 node_modules/xtend/test.js                      |    83 +
 node_modules/y18n/LICENSE                       |    13 +
 node_modules/y18n/README.md                     |    91 +
 node_modules/y18n/index.js                      |   172 +
 node_modules/y18n/package.json                  |    69 +
 node_modules/yallist/LICENSE                    |    15 +
 node_modules/yallist/README.md                  |   204 +
 node_modules/yallist/iterator.js                |     7 +
 node_modules/yallist/package.json               |    66 +
 node_modules/yallist/yallist.js                 |   370 +
 node_modules/yargs-parser/CHANGELOG.md          |   169 +
 node_modules/yargs-parser/LICENSE.txt           |    14 +
 node_modules/yargs-parser/README.md             |   257 +
 node_modules/yargs-parser/index.js              |   759 +
 .../yargs-parser/lib/tokenize-arg-string.js     |    34 +
 .../node_modules/camelcase/index.js             |    56 +
 .../yargs-parser/node_modules/camelcase/license |    21 +
 .../node_modules/camelcase/package.json         |    75 +
 .../node_modules/camelcase/readme.md            |    57 +
 node_modules/yargs-parser/package.json          |    79 +
 node_modules/yargs/CHANGELOG.md                 |   921 +
 node_modules/yargs/LICENSE                      |    22 +
 node_modules/yargs/README.md                    |  2017 +
 node_modules/yargs/completion.sh.hbs            |    28 +
 node_modules/yargs/index.js                     |    31 +
 node_modules/yargs/lib/apply-extends.js         |    41 +
 node_modules/yargs/lib/argsert.js               |    72 +
 node_modules/yargs/lib/assign.js                |    15 +
 node_modules/yargs/lib/command.js               |   334 +
 node_modules/yargs/lib/completion.js            |   104 +
 node_modules/yargs/lib/levenshtein.js           |    47 +
 node_modules/yargs/lib/obj-filter.js            |    10 +
 node_modules/yargs/lib/usage.js                 |   489 +
 node_modules/yargs/lib/validation.js            |   363 +
 node_modules/yargs/lib/yerror.js                |    10 +
 node_modules/yargs/locales/be.json              |    39 +
 node_modules/yargs/locales/de.json              |    39 +
 node_modules/yargs/locales/en.json              |    40 +
 node_modules/yargs/locales/es.json              |    39 +
 node_modules/yargs/locales/fr.json              |    37 +
 node_modules/yargs/locales/hi.json              |    39 +
 node_modules/yargs/locales/hu.json              |    39 +
 node_modules/yargs/locales/id.json              |    40 +
 node_modules/yargs/locales/it.json              |    39 +
 node_modules/yargs/locales/ja.json              |    39 +
 node_modules/yargs/locales/ko.json              |    39 +
 node_modules/yargs/locales/nb.json              |    37 +
 node_modules/yargs/locales/nl.json              |    39 +
 node_modules/yargs/locales/pirate.json          |    12 +
 node_modules/yargs/locales/pl.json              |    39 +
 node_modules/yargs/locales/pt.json              |    38 +
 node_modules/yargs/locales/pt_BR.json           |    40 +
 node_modules/yargs/locales/ru.json              |    39 +
 node_modules/yargs/locales/th.json              |    39 +
 node_modules/yargs/locales/tr.json              |    39 +
 node_modules/yargs/locales/zh_CN.json           |    37 +
 node_modules/yargs/locales/zh_TW.json           |    40 +
 .../yargs/node_modules/camelcase/index.js       |    56 +
 .../yargs/node_modules/camelcase/license        |    21 +
 .../yargs/node_modules/camelcase/package.json   |    75 +
 .../yargs/node_modules/camelcase/readme.md      |    57 +
 node_modules/yargs/package.json                 |   112 +
 node_modules/yargs/yargs.js                     |  1126 +
 node_modules/yeast/LICENSE                      |    22 +
 node_modules/yeast/README.md                    |    82 +
 node_modules/yeast/index.js                     |    68 +
 node_modules/yeast/package.json                 |    68 +
 node_modules/zip-stream/CHANGELOG.md            |    18 +
 node_modules/zip-stream/LICENSE                 |    22 +
 node_modules/zip-stream/README.md               |    45 +
 node_modules/zip-stream/index.js                |   180 +
 node_modules/zip-stream/package.json            |    82 +
 node_modules/zone.js/CHANGELOG.md               |  1214 +
 node_modules/zone.js/LICENSE                    |    21 +
 node_modules/zone.js/LICENSE.wrapped            |    25 +
 node_modules/zone.js/README.md                  |    57 +
 node_modules/zone.js/dist/async-test.js         |   238 +
 node_modules/zone.js/dist/fake-async-test.js    |   673 +
 node_modules/zone.js/dist/jasmine-patch.js      |   257 +
 node_modules/zone.js/dist/jasmine-patch.min.js  |     1 +
 .../zone.js/dist/long-stack-trace-zone.js       |   174 +
 .../zone.js/dist/long-stack-trace-zone.min.js   |     1 +
 node_modules/zone.js/dist/mocha-patch.js        |   158 +
 node_modules/zone.js/dist/mocha-patch.min.js    |     1 +
 node_modules/zone.js/dist/proxy.js              |   189 +
 node_modules/zone.js/dist/proxy.min.js          |     1 +
 node_modules/zone.js/dist/sync-test.js          |    43 +
 node_modules/zone.js/dist/task-tracking.js      |    88 +
 node_modules/zone.js/dist/task-tracking.min.js  |     1 +
 .../zone.js/dist/webapis-media-query.js         |    83 +
 .../zone.js/dist/webapis-media-query.min.js     |     1 +
 .../zone.js/dist/webapis-notification.js        |    33 +
 .../zone.js/dist/webapis-notification.min.js    |     1 +
 .../zone.js/dist/webapis-rtc-peer-connection.js |    37 +
 .../dist/webapis-rtc-peer-connection.min.js     |     1 +
 node_modules/zone.js/dist/webapis-shadydom.js   |    39 +
 .../zone.js/dist/webapis-shadydom.min.js        |     1 +
 node_modules/zone.js/dist/wtf.js                |   131 +
 node_modules/zone.js/dist/wtf.min.js            |     1 +
 node_modules/zone.js/dist/zone-bluebird.js      |    57 +
 node_modules/zone.js/dist/zone-bluebird.min.js  |     1 +
 node_modules/zone.js/dist/zone-error.js         |   288 +
 node_modules/zone.js/dist/zone-error.min.js     |     1 +
 node_modules/zone.js/dist/zone-mix.js           |  3310 ++
 node_modules/zone.js/dist/zone-node.js          |  2298 ++
 node_modules/zone.js/dist/zone-patch-cordova.js |    54 +
 .../zone.js/dist/zone-patch-cordova.min.js      |     1 +
 .../zone.js/dist/zone-patch-electron.js         |    44 +
 .../zone.js/dist/zone-patch-electron.min.js     |     1 +
 node_modules/zone.js/dist/zone-patch-jsonp.js   |    81 +
 .../zone.js/dist/zone-patch-jsonp.min.js        |     1 +
 .../zone.js/dist/zone-patch-promise-test.js     |    80 +
 .../zone.js/dist/zone-patch-promise-test.min.js |     1 +
 .../zone.js/dist/zone-patch-resize-observer.js  |   119 +
 .../dist/zone-patch-resize-observer.min.js      |     1 +
 .../zone.js/dist/zone-patch-rxjs-fake-async.js  |    33 +
 .../dist/zone-patch-rxjs-fake-async.min.js      |     1 +
 node_modules/zone.js/dist/zone-patch-rxjs.js    |   343 +
 .../zone.js/dist/zone-patch-rxjs.min.js         |     1 +
 .../zone.js/dist/zone-patch-socket-io.js        |    39 +
 .../zone.js/dist/zone-patch-socket-io.min.js    |     1 +
 .../zone.js/dist/zone-patch-user-media.js       |    35 +
 .../zone.js/dist/zone-patch-user-media.min.js   |     1 +
 .../zone.js/dist/zone-testing-bundle.js         |  4634 +++
 .../zone.js/dist/zone-testing-node-bundle.js    |  3872 ++
 node_modules/zone.js/dist/zone-testing.js       |  1579 +
 node_modules/zone.js/dist/zone.js               |  3060 ++
 node_modules/zone.js/dist/zone.js.d.ts          |   535 +
 node_modules/zone.js/dist/zone.min.js           |     2 +
 node_modules/zone.js/dist/zone_externs.js       |   442 +
 node_modules/zone.js/lib/browser/browser.ts     |   249 +
 .../zone.js/lib/browser/define-property.ts      |   113 +
 .../zone.js/lib/browser/event-target.ts         |   114 +
 .../zone.js/lib/browser/property-descriptor.ts  |   418 +
 .../zone.js/lib/browser/register-element.ts     |    45 +
 node_modules/zone.js/lib/browser/rollup-main.ts |    12 +
 .../zone.js/lib/browser/rollup-test-main.ts     |    12 +
 node_modules/zone.js/lib/browser/shadydom.ts    |    24 +
 .../zone.js/lib/browser/webapis-media-query.ts  |    65 +
 .../zone.js/lib/browser/webapis-notification.ts |    18 +
 .../lib/browser/webapis-resize-observer.ts      |    88 +
 .../lib/browser/webapis-rtc-peer-connection.ts  |    26 +
 .../zone.js/lib/browser/webapis-user-media.ts   |    20 +
 node_modules/zone.js/lib/browser/websocket.ts   |    61 +
 .../zone.js/lib/closure/zone_externs.js         |   442 +
 .../zone.js/lib/common/error-rewrite.ts         |   320 +
 node_modules/zone.js/lib/common/events.ts       |   633 +
 node_modules/zone.js/lib/common/promise.ts      |   481 +
 node_modules/zone.js/lib/common/timers.ts       |   135 +
 node_modules/zone.js/lib/common/to-string.ts    |    57 +
 node_modules/zone.js/lib/common/utils.ts        |   454 +
 node_modules/zone.js/lib/extra/bluebird.ts      |    40 +
 node_modules/zone.js/lib/extra/cordova.ts       |    41 +
 node_modules/zone.js/lib/extra/electron.ts      |    31 +
 node_modules/zone.js/lib/extra/jsonp.ts         |    77 +
 node_modules/zone.js/lib/extra/socket-io.ts     |    24 +
 node_modules/zone.js/lib/jasmine/jasmine.ts     |   275 +
 node_modules/zone.js/lib/mix/rollup-mix.ts      |    13 +
 node_modules/zone.js/lib/mocha/mocha.ts         |   177 +
 node_modules/zone.js/lib/node/events.ts         |    52 +
 node_modules/zone.js/lib/node/fs.ts             |    41 +
 node_modules/zone.js/lib/node/node.ts           |   160 +
 node_modules/zone.js/lib/node/rollup-main.ts    |    12 +
 .../zone.js/lib/node/rollup-test-main.ts        |    12 +
 .../zone.js/lib/rxjs/rxjs-fake-async.ts         |    23 +
 node_modules/zone.js/lib/rxjs/rxjs.ts           |   360 +
 .../zone.js/lib/testing/async-testing.ts        |   105 +
 node_modules/zone.js/lib/testing/fake-async.ts  |   159 +
 .../zone.js/lib/testing/promise-testing.ts      |    68 +
 .../zone.js/lib/testing/zone-testing.ts         |    16 +
 .../zone.js/lib/zone-spec/async-test.ts         |   149 +
 .../zone.js/lib/zone-spec/fake-async-test.ts    |   562 +
 .../zone.js/lib/zone-spec/long-stack-trace.ts   |   173 +
 node_modules/zone.js/lib/zone-spec/proxy.ts     |   203 +
 node_modules/zone.js/lib/zone-spec/sync-test.ts |    35 +
 .../zone.js/lib/zone-spec/task-tracking.ts      |    82 +
 node_modules/zone.js/lib/zone-spec/wtf.ts       |   160 +
 node_modules/zone.js/lib/zone.ts                |  1350 +
 node_modules/zone.js/package.json               |   139 +
 package-lock.json                               |  6288 ---
 package.json                                    |    92 -
 scripts/clean-install                           |    42 -
 scripts/clean-install-skipTests                 |    37 -
 scripts/deploy-gh-pages                         |    45 -
 scripts/dev-install                             |    40 -
 scripts/dev-install-skipTests                   |    38 -
 scripts/npm-publish                             |     7 -
 .../dialogs/demo/fds-demo-dialog.html           |    18 -
 .../dialogs/demo/fds-demo-dialog.js             |    59 -
 .../components/flow-design-system/fds-demo.html |  2980 --
 .../components/flow-design-system/fds-demo.js   |  1066 -
 src/demo-app/fds-bootstrap.js                   |    53 -
 src/demo-app/fds.animations.js                  |   133 -
 src/demo-app/fds.html                           |    34 -
 src/demo-app/fds.js                             |    74 -
 src/demo-app/fds.module.js                      |    55 -
 src/demo-app/fds.routes.js                      |    26 -
 src/demo-app/gh-pages.index.html                |    35 -
 src/demo-app/gh-pages.package.json              |    71 -
 src/demo-app/index.html                         |    37 -
 src/demo-app/services/fds.service.js            |    52 -
 src/demo-app/systemjs-angular-loader.js         |    66 -
 src/demo-app/systemjs.config.extras.js          |    27 -
 src/demo-app/systemjs.config.js                 |   128 -
 src/demo-app/theming/_helperClasses.scss        |    78 -
 src/demo-app/theming/_structureElements.scss    |    84 -
 src/demo-app/theming/fds-demo.scss              |    52 -
 src/platform/core/common/fds-common.module.js   |    48 -
 src/platform/core/common/fds.animations.js      |   133 -
 .../core/common/services/fds-storage.service.js |   219 -
 .../common/services/fds-storage.service.spec.js |    61 -
 .../core/common/styles/_basicElements.scss      |   130 -
 .../core/common/styles/_buttonToggles.scss      |    98 -
 src/platform/core/common/styles/_buttons.scss   |   214 -
 .../core/common/styles/_checkboxes.scss         |    85 -
 src/platform/core/common/styles/_chips.scss     |    73 -
 .../core/common/styles/_expansionPanels.scss    |    62 -
 .../core/common/styles/_globalVars.scss         |    69 -
 .../core/common/styles/_helperClasses.scss      |    85 -
 src/platform/core/common/styles/_inputs.scss    |   109 -
 src/platform/core/common/styles/_links.scss     |    35 -
 src/platform/core/common/styles/_menus.scss     |   118 -
 src/platform/core/common/styles/_modals.scss    |    23 -
 src/platform/core/common/styles/_panels.scss    |    54 -
 .../core/common/styles/_progress-bar.scss       |    20 -
 src/platform/core/common/styles/_radios.scss    |    56 -
 src/platform/core/common/styles/_sideNav.scss   |    20 -
 src/platform/core/common/styles/_stepper.scss   |    20 -
 src/platform/core/common/styles/_tables.scss    |   118 -
 src/platform/core/common/styles/_tabs.scss      |    41 -
 src/platform/core/common/styles/_tooltips.scss  |    24 -
 .../core/common/styles/flow-design-system.scss  |    36 -
 .../core/dialogs/_fds-dialog-component.scss     |    21 -
 .../confirm-dialog.component.html               |    45 -
 .../confirm-dialog/confirm-dialog.component.js  |    64 -
 .../confirm-dialog.component.spec.js            |    50 -
 .../core/dialogs/fds-dialog.component.html      |    29 -
 .../core/dialogs/fds-dialog.component.js        |   102 -
 .../core/dialogs/fds-dialogs.component.spec.js  |    32 -
 src/platform/core/dialogs/fds-dialogs.module.js |    87 -
 .../core/dialogs/services/dialog.service.js     |   140 -
 src/platform/core/flow-design-system.module.js  |   155 -
 src/platform/core/package.json                  |    40 -
 .../snackbars/coaster/_coaster.component.scss   |    63 -
 .../snackbars/coaster/coaster.component.html    |    33 -
 .../core/snackbars/coaster/coaster.component.js |    70 -
 .../snackbars/coaster/coaster.component.spec.js |    32 -
 .../core/snackbars/fds-snackbar.component.html  |    29 -
 .../core/snackbars/fds-snackbar.component.js    |   102 -
 .../snackbars/fds-snackbar.component.spec.js    |    32 -
 .../core/snackbars/fds-snackbars.module.js      |    87 -
 .../core/snackbars/services/snackbar.service.js |   138 -
 src/platform/core/theming/_all-theme.scss       |    36 -
 src/platform/systemjs.spec.config.js            |   115 -
 test/karma-test-shim.js                         |   112 -
 test/karma.conf.js                              |   132 -
 19821 files changed, 1932550 insertions(+), 15727 deletions(-)
----------------------------------------------------------------------



[48/59] [abbrv] [partial] nifi-fds git commit: update gh-pages

Posted by sc...@apache.org.
http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/eec354e6/demo-app/components/flow-design-system/fds-demo.js
----------------------------------------------------------------------
diff --git a/demo-app/components/flow-design-system/fds-demo.js b/demo-app/components/flow-design-system/fds-demo.js
new file mode 100644
index 0000000..3ae86c5
--- /dev/null
+++ b/demo-app/components/flow-design-system/fds-demo.js
@@ -0,0 +1,1066 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+var ngCore = require('@angular/core');
+var covalentCore = require('@covalent/core');
+var ngRouter = require('@angular/router');
+var ngMaterial = require('@angular/material');
+var fdsAnimations = require('demo-app/fds.animations.js');
+var fdsDialogsModule = require('@flow-design-system/dialogs');
+var fdsSnackBarsModule = require('@flow-design-system/snackbars');
+var FdsService = require('demo-app/services/fds.service.js');
+var FdsDemoDialog = require('demo-app/components/flow-design-system/dialogs/demo/fds-demo-dialog.js');
+
+var NUMBER_FORMAT = function (v) {
+    return v;
+};
+var DECIMAL_FORMAT = function (v) {
+    return v.toFixed(2);
+};
+var date = new Date();
+
+/**
+ * FdsDemo constructor.
+ *
+ * @param FdsSnackBarService    The FDS snack bar service module.
+ * @param FdsService            The FDS service module.
+ * @param dialog                The angular material dialog module.
+ * @param TdDialogService       The covalent dialog service module.
+ * @param TdDataTableService    The covalent data table service module.
+ * @constructor
+ */
+function FdsDemo(FdsSnackBarService, FdsService, dialog, TdDataTableService, FdsDialogService) {
+
+    this.fdsService = FdsService;
+
+    //<editor-fold desc="Snack Bars">
+
+    this.snackBarService = FdsSnackBarService;
+
+    //</editor-fold>
+
+    //<editor-fold desc="Dialog">
+
+    this.dialog = dialog;
+
+    //</editor-fold>
+
+    //<editor-fold desc="Simple Dialogs">
+
+    this.dialogService = FdsDialogService;
+
+    //</editor-fold>
+
+    //<editor-fold desc="Expansion Panel">
+
+    this.expandCollapseExpansion1Msg = 'No expanded/collapsed detected yet';
+    this.expansion1 = false;
+    this.disabled = false;
+
+    //</editor-fold>
+
+    //<editor-fold desc="Autocomplete">
+
+    this.currentState = '';
+    this.reactiveStates = '';
+    this.tdStates = [];
+    this.tdDisabled = false;
+    this.states = [
+        {code: 'AL', name: 'Alabama'},
+        {code: 'AK', name: 'Alaska'},
+        {code: 'AZ', name: 'Arizona'},
+        {code: 'AR', name: 'Arkansas'},
+        {code: 'CA', name: 'California'},
+        {code: 'CO', name: 'Colorado'},
+        {code: 'CT', name: 'Connecticut'},
+        {code: 'DE', name: 'Delaware'},
+        {code: 'FL', name: 'Florida'},
+        {code: 'GA', name: 'Georgia'},
+        {code: 'HI', name: 'Hawaii'},
+        {code: 'ID', name: 'Idaho'},
+        {code: 'IL', name: 'Illinois'},
+        {code: 'IN', name: 'Indiana'},
+        {code: 'IA', name: 'Iowa'},
+        {code: 'KS', name: 'Kansas'},
+        {code: 'KY', name: 'Kentucky'},
+        {code: 'LA', name: 'Louisiana'},
+        {code: 'ME', name: 'Maine'},
+        {code: 'MD', name: 'Maryland'},
+        {code: 'MA', name: 'Massachusetts'},
+        {code: 'MI', name: 'Michigan'},
+        {code: 'MN', name: 'Minnesota'},
+        {code: 'MS', name: 'Mississippi'},
+        {code: 'MO', name: 'Missouri'},
+        {code: 'MT', name: 'Montana'},
+        {code: 'NE', name: 'Nebraska'},
+        {code: 'NV', name: 'Nevada'},
+        {code: 'NH', name: 'New Hampshire'},
+        {code: 'NJ', name: 'New Jersey'},
+        {code: 'NM', name: 'New Mexico'},
+        {code: 'NY', name: 'New York'},
+        {code: 'NC', name: 'North Carolina'},
+        {code: 'ND', name: 'North Dakota'},
+        {code: 'OH', name: 'Ohio'},
+        {code: 'OK', name: 'Oklahoma'},
+        {code: 'OR', name: 'Oregon'},
+        {code: 'PA', name: 'Pennsylvania'},
+        {code: 'RI', name: 'Rhode Island'},
+        {code: 'SC', name: 'South Carolina'},
+        {code: 'SD', name: 'South Dakota'},
+        {code: 'TN', name: 'Tennessee'},
+        {code: 'TX', name: 'Texas'},
+        {code: 'UT', name: 'Utah'},
+        {code: 'VT', name: 'Vermont'},
+        {code: 'VA', name: 'Virginia'},
+        {code: 'WA', name: 'Washington'},
+        {code: 'WV', name: 'West Virginia'},
+        {code: 'WI', name: 'Wisconsin'},
+        {code: 'WY', name: 'Wyoming'},
+    ];
+
+    //</editor-fold>
+
+    //<editor-fold desc="Searchable Expansion Panels">
+
+    this.dataTableService = TdDataTableService;
+
+    this.droplets = [{
+        id: '23f6cc59-0156-1000-09b4-2b0610089090',
+        name: "Decompression_Circular_Flow",
+        displayName: 'Decompressed Circular flow',
+        type: 'flow',
+        sublabel: 'A sublabel',
+        compliant: {
+            id: '25fd6vv87-3549-0001-05g6-4d4567890765',
+            label: 'Compliant',
+            type: 'certification'
+        },
+        fleet: {
+            id: '23f6cc59-3549-0001-05g6-4d4567890765',
+            label: 'Fleet',
+            type: 'certification'
+        },
+        prod: {
+            id: '52fd6vv87-3549-0001-05g6-4d4567890765',
+            label: 'Production Ready',
+            type: 'certification'
+        },
+        secure: {
+            id: '32f6cc59-3549-0001-05g6-4d4567890765',
+            label: 'Secure',
+            type: 'certification'
+        },
+        versions: [{
+            id: '23f6cc59-0156-1000-06b4-2b0810089090',
+            revision: '1',
+            dependentFlows: [{
+                id: '25fd6vv87-3549-0001-05g6-4d4567890765'
+            }],
+            created: date.setDate(date.getDate() - 1),
+            updated: new Date()
+        }, {
+            id: '25fd6vv87-3549-0001-05g6-4d4567890765',
+            revision: '2',
+            dependentFlows: [{
+                id: '23f6cc59-0156-1000-06b4-2b0810089090'
+            }],
+            created: new Date(),
+            updated: new Date()
+        }],
+        flows: [],
+        extensions: [],
+        assets: [],
+        actions: [{
+            'name': 'Delete',
+            'icon': 'fa fa-close',
+            'tooltip': 'Delete User'
+        }, {
+            'name': 'Manage',
+            'icon': 'fa fa-user',
+            'tooltip': 'Manage User'
+        }, {
+            'name': 'Action 3',
+            'icon': 'fa fa-question',
+            'tooltip': 'Whatever else we want to do...'
+        }]
+    }, {
+        id: '25fd6vv87-3249-0001-05g6-4d4767890765',
+        name: "DateConversion",
+        displayName: 'Date conversion',
+        type: 'asset',
+        sublabel: 'A sublabel',
+        compliant: {
+            id: '25fd6vv34-3549-0001-05g6-4d4567890765',
+            label: 'Compliant',
+            type: 'certification'
+        },
+        prod: {
+            id: '52vn6vv87-3549-0001-05g6-4d4567890765',
+            label: 'Production Ready',
+            type: 'certification'
+        },
+        versions: [{
+            id: '23f6ic59-0156-1000-06b4-2b0810089090',
+            revision: '1',
+            dependentFlows: [{
+                id: '23f6cc19-0156-1000-06b4-2b0810089090'
+            }],
+            created: new Date(),
+            updated: new Date()
+        }],
+        flows: [],
+        extensions: [],
+        assets: [],
+        actions: [{
+            'name': 'Delete',
+            'icon': 'fa fa-close',
+            'tooltip': 'Delete User'
+        }]
+    }, {
+        id: '52fd6vv87-3294-0001-05g6-4d4767890765',
+        name: "nifi-email-bundle",
+        displayName: 'nifi-email-bundle',
+        type: 'extension',
+        sublabel: 'A sublabel',
+        compliant: {
+            id: '33fd6vv87-3549-0001-05g6-4d4567890765',
+            label: 'Compliant',
+            test: {
+                label: 'test'
+            },
+            type: 'certification'
+        },
+        versions: [{
+            id: '23d3cc59-0156-1000-06b4-2b0810089090',
+            revision: '1',
+            dependentFlows: [{
+                id: '23f6cc89-0156-1000-06b4-2b0810089090'
+            }],
+            created: new Date(),
+            updated: new Date()
+        }],
+        flows: [],
+        extensions: [],
+        assets: [],
+        actions: [{
+            'name': 'Delete',
+            'icon': 'fa fa-close',
+            'tooltip': 'Delete User'
+        }, {
+            'name': 'Manage',
+            'icon': 'fa fa-user',
+            'tooltip': 'Manage User'
+        },]
+    }];
+
+    this.filteredDroplets = [];
+
+    this.dropletColumns = [
+        {name: 'id', label: 'ID', sortable: true},
+        {name: 'name', label: 'Name', sortable: true,},
+        {name: 'displayName', label: 'Display Name', sortable: true},
+        {name: 'sublabel', label: 'Label', sortable: true},
+        {name: 'type', label: 'Type', sortable: true}
+    ];
+    this.activeDropletColumn = this.dropletColumns[0];
+
+    this.autoCompleteDroplets = [];
+    this.dropletsSearchTerms = [];
+
+    //</editor-fold>
+
+    //<editor-fold desc="Data Tables">
+
+    this.data = [{
+        'id': 1,
+        'name': 'Frozen yogurt',
+        'type': 'Ice cream',
+        'calories': 159.0,
+        'fat': 6.0,
+        'carbs': 24.0,
+        'protein': 4.0,
+        'sodium': 87.0,
+        'calcium': 14.0,
+        'iron': 1.0,
+        'comments': 'I love froyo!',
+        'actions': [{
+            'name': 'Action 1',
+            'icon': 'fa fa-user',
+            'tooltip': 'Manage Users'
+        }, {
+            'name': 'Action 2',
+            'icon': 'fa fa-key',
+            'tooltip': 'Manage Permissions'
+        }]
+    }, {
+        'id': 2,
+        'name': 'Ice cream sandwich',
+        'type': 'Ice cream',
+        'calories': 237.0,
+        'fat': 9.0,
+        'carbs': 37.0,
+        'protein': 4.3,
+        'sodium': 129.0,
+        'calcium': 8.0,
+        'iron': 1.0,
+        'actions': [{
+            'name': 'Action 1',
+            'icon': 'fa fa-user',
+            'tooltip': 'Manage Users'
+        }, {
+            'name': 'Action 2',
+            'icon': 'fa fa-key',
+            'tooltip': 'Manage Permissions'
+        }, {
+            'name': 'Action 3',
+            'tooltip': 'Action 3'
+        }, {
+            'name': 'Action 4',
+            'disabled': true,
+            'tooltip': 'Action 4'
+        }, {
+            'name': 'Action 5',
+            'tooltip': 'Action 5'
+        }]
+    }, {
+        'id': 3,
+        'name': 'Eclair',
+        'type': 'Pastry',
+        'calories': 262.0,
+        'fat': 16.0,
+        'carbs': 24.0,
+        'protein': 6.0,
+        'sodium': 337.0,
+        'calcium': 6.0,
+        'iron': 7.0,
+        'actions': [{
+            'name': 'Action 1',
+            'icon': 'fa fa-user',
+            'tooltip': 'Manage Users'
+        }, {
+            'name': 'Action 2',
+            'icon': 'fa fa-key',
+            'tooltip': 'Manage Permissions'
+        }, {
+            'name': 'Action 3',
+            'tooltip': 'Action 3'
+        }, {
+            'name': 'Action 4',
+            'disabled': true,
+            'tooltip': 'Action 4'
+        }, {
+            'name': 'Action 5',
+            'tooltip': 'Action 5'
+        }],
+    }, {
+        'id': 4,
+        'name': 'Cupcake',
+        'type': 'Pastry',
+        'calories': 305.0,
+        'fat': 3.7,
+        'carbs': 67.0,
+        'protein': 4.3,
+        'sodium': 413.0,
+        'calcium': 3.0,
+        'iron': 8.0,
+        'actions': [{
+            'name': 'Action 1',
+            'icon': 'fa fa-user',
+            'tooltip': 'Manage Users'
+        }, {
+            'name': 'Action 2',
+            'icon': 'fa fa-key',
+            'tooltip': 'Manage Permissions'
+        }, {
+            'name': 'Action 3',
+            'tooltip': 'Action 3'
+        }, {
+            'name': 'Action 4',
+            'disabled': true,
+            'tooltip': 'Action 4'
+        }, {
+            'name': 'Action 5',
+            'tooltip': 'Action 5'
+        }],
+    }, {
+        'id': 5,
+        'name': 'Jelly bean',
+        'type': 'Candy',
+        'calories': 375.0,
+        'fat': 0.0,
+        'carbs': 94.0,
+        'protein': 0.0,
+        'sodium': 50.0,
+        'calcium': 0.0,
+        'iron': 0.0,
+    }, {
+        'id': 6,
+        'name': 'Lollipop',
+        'type': 'Candy',
+        'calories': 392.0,
+        'fat': 0.2,
+        'carbs': 98.0,
+        'protein': 0.0,
+        'sodium': 38.0,
+        'calcium': 0.0,
+        'iron': 2.0,
+    }, {
+        'id': 7,
+        'name': 'Honeycomb',
+        'type': 'Other',
+        'calories': 408.0,
+        'fat': 3.2,
+        'carbs': 87.0,
+        'protein': 6.5,
+        'sodium': 562.0,
+        'calcium': 0.0,
+        'iron': 45.0,
+    }, {
+        'id': 8,
+        'name': 'Donut',
+        'type': 'Pastry',
+        'calories': 452.0,
+        'fat': 25.0,
+        'carbs': 51.0,
+        'protein': 4.9,
+        'sodium': 326.0,
+        'calcium': 2.0,
+        'iron': 22.0,
+    }, {
+        'id': 9,
+        'name': 'KitKat',
+        'type': 'Candy',
+        'calories': 518.0,
+        'fat': 26.0,
+        'carbs': 65.0,
+        'protein': 7.0,
+        'sodium': 54.0,
+        'calcium': 12.0,
+        'iron': 6.0,
+    }, {
+        'id': 10,
+        'name': 'Chocolate',
+        'type': 'Candy',
+        'calories': 518.0,
+        'fat': 26.0,
+        'carbs': 65.0,
+        'protein': 7.0,
+        'sodium': 54.0,
+        'calcium': 12.0,
+        'iron': 6.0,
+    }, {
+        'id': 11,
+        'name': 'Chamoy',
+        'type': 'Candy',
+        'calories': 518.0,
+        'fat': 26.0,
+        'carbs': 65.0,
+        'protein': 7.0,
+        'sodium': 54.0,
+        'calcium': 12.0,
+        'iron': 6.0,
+    },];
+
+    this.filteredData = this.data;
+    this.filteredTotal = this.data.length;
+
+    this.columns = [
+        {name: 'comments', label: 'Comments', width: 10},
+        {name: 'name', label: 'Dessert (100g serving)', sortable: true, width: 10},
+        {name: 'type', label: 'Type', sortable: true, width: 10},
+        {name: 'calories', label: 'Calories', numeric: true, format: NUMBER_FORMAT, sortable: true, width: 10},
+        {name: 'fat', label: 'Fat (g)', numeric: true, format: DECIMAL_FORMAT, sortable: true, width: 10},
+        {name: 'carbs', label: 'Carbs (g)', numeric: true, format: NUMBER_FORMAT, sortable: true, width: 10},
+        {name: 'protein', label: 'Protein (g)', numeric: true, format: DECIMAL_FORMAT, sortable: true, width: 10},
+        {name: 'sodium', label: 'Sodium (mg)', numeric: true, format: NUMBER_FORMAT, sortable: true, width: 10},
+        {name: 'calcium', label: 'Calcium (%)', numeric: true, format: NUMBER_FORMAT, sortable: true, width: 10},
+        {name: 'iron', label: 'Iron (%)', numeric: true, format: NUMBER_FORMAT, width: 10},
+    ];
+
+    this.allRowsSelected = false;
+    this.autoCompleteData = [];
+    this.selectedRows = [];
+
+    this.searchTerm = [];
+    this.fromRow = 1;
+    this.currentPage = 1;
+    this.pageSize = 5;
+    this.pageCount = 0;
+
+    //</editor-fold>
+
+    //<editor-fold desc="Chips $ Autocomplete">
+
+    this.readOnly = false;
+
+    this.items = [
+        'stepper',
+        'expansion-panel',
+        'markdown',
+        'highlight',
+        'loading',
+        'media',
+        'chips',
+        'http',
+        'json-formatter',
+        'pipes',
+        'need more?',
+    ];
+
+    this.itemsRequireMatch = this.items.slice(0, 6);
+
+    //</editor-fold>
+
+    //<editor-fold desc="Radios">
+
+    this.favoriteSeason = 'Autumn';
+
+    this.seasonOptions = [
+        'Winter',
+        'Spring',
+        'Summer',
+        'Autumn',
+    ];
+
+    //</editor-fold>
+
+    //<editor-fold desc="Select">
+
+    this.selectedValue = '';
+
+    this.foods = [
+        {value: 'steak-0', viewValue: 'Steak'},
+        {value: 'pizza-1', viewValue: 'Pizza'},
+        {value: 'tacos-2', viewValue: 'Tacos'},
+    ];
+
+    //</editor-fold>
+
+    //<editor-fold desc="Checkbox">
+
+    this.user = {
+        agreesToTOS: false
+    };
+
+    this.groceries = [{
+        bought: true,
+        name: 'Seitan',
+    }, {
+        bought: false,
+        name: 'Almond Meal Flour',
+    }, {
+        bought: false,
+        name: 'Organic Eggs',
+    },];
+
+    //</editor-fold>
+
+    //<editor-fold desc="Slide Toggle">
+
+    this.systems = [{
+        name: 'Lights',
+        on: false,
+        color: 'primary',
+    }, {
+        name: 'Surround Sound',
+        on: true,
+        color: 'accent',
+    }, {
+        name: 'T.V.',
+        on: true,
+        color: 'warn',
+    },];
+
+    this.house = {
+        lockHouse: false,
+    };
+
+    //</editor-fold>
+};
+
+FdsDemo.prototype = {
+    constructor: FdsDemo,
+
+    //<editor-fold desc="Autocomplete">
+
+    displayFn: function (value) {
+        return value && typeof value === 'object' ? value.name : value;
+    },
+
+    filterStates: function (val) {
+        return val ? this.states.filter(function (s) {
+            return s.name.match(new RegExp(val, 'gi'));
+        }) : this.states;
+    },
+
+    //</editor-fold>
+
+    //<editor-fold desc="Snack Bars">
+
+    showSuccessSnackBar: function () {
+        var snackBarRef = this.snackBarService.openCoaster({
+            title: 'Success',
+            message: 'Some help text regarding the successful event.',
+            verticalPosition: 'top',
+            horizontalPosition: 'right',
+            icon: 'fa fa-check-circle-o',
+            color: '#1EB475',
+            duration: 3000
+        });
+    },
+
+    showWarnSnackBar: function () {
+        var snackBarRef = this.snackBarService.openCoaster({
+            title: 'Warning',
+            message: 'Some help text regarding the warning.',
+            verticalPosition: 'top',
+            horizontalPosition: 'left',
+            icon: 'fa fa-exclamation-triangle',
+            color: '#E98A40',
+            duration: 3000
+        });
+    },
+
+    showErrorSnackBar: function () {
+        var snackBarRef = this.snackBarService.openCoaster({
+            title: 'Error',
+            message: 'Some help text regarding the critical error. This coaster will stay open until closed with the `x` or if another coaster is created.',
+            verticalPosition: 'bottom',
+            horizontalPosition: 'right',
+            icon: 'fa fa-times-circle-o',
+            color: '#EF6162'
+        });
+    },
+
+    showRegularSnackBar: function () {
+        var snackBarRef = this.snackBarService.openCoaster({
+            title: 'Regular',
+            message: 'Something interesting.',
+            verticalPosition: 'bottom',
+            horizontalPosition: 'left',
+            color: '#808793',
+            duration: 3000
+        });
+    },
+
+    //</editor-fold>
+
+    //<editor-fold desc="Dialog">
+
+    openDialog: function () {
+        this.dialog.open(FdsDemoDialog);
+    },
+
+    //</editor-fold>
+
+    //<editor-fold desc="Expansion Panel">
+
+    toggleExpansion1: function () {
+        if (!this.disabled) {
+            this.expansion1 = !this.expansion1;
+        }
+    },
+
+    toggleDisabled: function () {
+        this.disabled = !this.disabled;
+    },
+
+    expandExpansion1Event: function () {
+        this.expandCollapseExpansion1Msg = 'Expand event emitted.';
+    },
+
+    collapseExpansion1Event: function () {
+        this.expandCollapseExpansion1Msg = 'Collapse event emitted.';
+    },
+
+    //</editor-fold>
+
+    //<editor-fold desc="Simple Dialogs">
+
+    openAlert: function () {
+        this.dialogService.openAlert({
+            title: 'Alert',
+            disableClose: true,
+            message: 'This is how simple it is to create an alert with this wrapper service.',
+        });
+    },
+
+    openConfirm: function () {
+        this.dialogService.openConfirm({
+            title: 'Confirm',
+            message: 'This is how simple it is to create a confirm with this wrapper service. Do you agree?',
+            cancelButton: 'Disagree',
+            acceptButton: 'Agree',
+        });
+    },
+
+    openPrompt: function () {
+        this.dialogService.openPrompt({
+            title: 'Prompt',
+            message: 'This is how simple it is to create a prompt with this wrapper service. Prompt something.',
+            value: 'Populated value',
+            cancelButton: 'Cancel',
+            acceptButton: 'Ok',
+        });
+    },
+
+    //</editor-fold>
+
+    //<editor-fold desc="Searchable Expansion Panels">
+
+    isDropletFilterChecked: function (term) {
+        return (this.dropletsSearchTerms.indexOf(term) > -1);
+    },
+
+    getDropletTypeCount: function (type) {
+        return this.filteredDroplets.filter(function (droplet) {
+            return droplet.type === type;
+        }).length;
+    },
+
+    getDropletCertificationCount: function (certification) {
+        return this.filteredDroplets.filter(function (droplet) {
+            return Object.keys(droplet).find(function (key) {
+                if (key === certification && droplet[certification].type === 'certification') {
+                    return droplet;
+                }
+            });
+        }).length;
+    },
+
+    getSortBy: function () {
+        var sortByColumnLabel;
+        var arrayLength = this.dropletColumns.length;
+        for (var i = 0; i < arrayLength; i++) {
+            if (this.dropletColumns[i].active === true) {
+                sortByColumnLabel = this.dropletColumns[i].label;
+                break;
+            }
+        }
+        return sortByColumnLabel;
+    },
+
+    sortDroplets: function (column) {
+        if (column.sortable === true) {
+            // toggle column sort order
+            var sortOrder = column.sortOrder = (column.sortOrder === 'ASC') ? 'DESC' : 'ASC';
+            this.filterDroplets(column.name, sortOrder);
+            //only one column can be actively sorted so we reset all to inactive
+            this.dropletColumns.forEach(function (c) {
+                c.active = false;
+            });
+            //and set this column as the actively sorted column
+            column.active = true;
+            this.activeDropletColumn = column;
+        }
+    },
+
+    toggleDropletsFilter: function (searchTerm) {
+        var applySearchTerm = true;
+        // check if the search term is already applied and remove it if true
+        if (this.dropletsSearchTerms.length > 0) {
+            var arrayLength = this.dropletsSearchTerms.length;
+            for (var i = 0; i < arrayLength; i++) {
+                var index = this.dropletsSearchTerms.indexOf(searchTerm);
+                if (index > -1) {
+                    this.dropletsSearchTerms.splice(index, 1);
+                    applySearchTerm = false;
+                }
+            }
+        }
+
+        // if we just removed the search term do NOT apply it again
+        if (applySearchTerm) {
+            this.dropletsSearchTerms.push(searchTerm);
+        }
+
+        this.filterDroplets(this.activeDropletColumn.name, this.activeDropletColumn.sortOrder);
+    },
+
+    filterDroplets: function (sortBy, sortOrder) {
+        // if `sortOrder` is `undefined` then use 'ASC'
+        if (sortOrder === undefined) {
+            sortOrder = 'ASC'
+        }
+        // if `sortBy` is `undefined` then find the first sortable column in this.dropletColumns
+        if (sortBy === undefined) {
+            var arrayLength = this.dropletColumns.length;
+            for (var i = 0; i < arrayLength; i++) {
+                if (this.dropletColumns[i].sortable === true) {
+                    sortBy = this.dropletColumns[i].name;
+                    this.activeDropletColumn = this.dropletColumns[i];
+                    //only one column can be actively sorted so we reset all to inactive
+                    this.dropletColumns.forEach(function (c) {
+                        c.active = false;
+                    });
+                    //and set this column as the actively sorted column
+                    this.dropletColumns[i].active = true;
+                    this.dropletColumns[i].sortOrder = sortOrder;
+                    break;
+                }
+            }
+        }
+
+        var newData = this.droplets;
+
+        for (var i = 0; i < this.dropletsSearchTerms.length; i++) {
+            newData = this.filterData(newData, this.dropletsSearchTerms[i], true, this.activeDropletColumn.name);
+        }
+
+        newData = this.dataTableService.sortData(newData, sortBy, sortOrder);
+        this.filteredDroplets = newData;
+        this.getAutoCompleteDroplets();
+    },
+
+    getAutoCompleteDroplets: function () {
+        var self = this;
+        this.autoCompleteDroplets = [];
+        this.dropletColumns.forEach(function (c) {
+            self.filteredDroplets.forEach(function (r) {
+                (r[c.name.toLowerCase()]) ? self.autoCompleteDroplets.push(r[c.name.toLowerCase()].toString()) : '';
+            });
+        });
+    },
+
+    //</editor-fold>
+
+    filterData: function (data, searchTerm, ignoreCase) {
+        var field = '';
+        if (searchTerm.indexOf(":") > -1) {
+            field = searchTerm.split(':')[0].trim();
+            searchTerm = searchTerm.split(':')[1].trim();
+        }
+        var filter = searchTerm ? (ignoreCase ? searchTerm.toLowerCase() : searchTerm) : '';
+
+        if (filter) {
+            data = data.filter(function (item) {
+                var res = Object.keys(item).find(function (key) {
+                    if (field.indexOf(".") > -1) {
+                        var objArray = field.split(".");
+                        var obj = item;
+                        var arrayLength = objArray.length;
+                        for (var i = 0; i < arrayLength; i++) {
+                            try {
+                                obj = obj[objArray[i]];
+                            } catch (e) {
+                                return false;
+                            }
+                        }
+                        var preItemValue = ('' + obj);
+                        var itemValue = ignoreCase ? preItemValue.toLowerCase() : preItemValue;
+                        return itemValue.indexOf(filter) > -1;
+                    } else {
+                        if (key !== field && field !== '') {
+                            return false;
+                        }
+                        var preItemValue = ('' + item[key]);
+                        var itemValue = ignoreCase ? preItemValue.toLowerCase() : preItemValue;
+                        return itemValue.indexOf(filter) > -1;
+                    }
+                });
+                return !(typeof res === 'undefined');
+            });
+        }
+        return data;
+    },
+
+    //<editor-fold desc="Data Tables">
+
+    sort: function (sortEvent, column) {
+        if (column.sortable) {
+            var sortBy = column.name;
+            var sortOrder = column.sortOrder = (column.sortOrder === 'ASC') ? 'DESC' : 'ASC';
+            this.filter(sortBy, sortOrder);
+
+            //only one column can be actively sorted so we reset all to inactive
+            this.columns.forEach(function (c) {
+                c.active = false;
+            });
+            //and set this column as the actively sorted column
+            column.active = true;
+        }
+    },
+
+    searchRemove: function (searchTerm) {
+        //only remove the first occurrence of the search term
+        var index = this.searchTerm.indexOf(searchTerm);
+        if (index !== -1) {
+            this.searchTerm.splice(index, 1);
+        }
+        this.fromRow = 1;
+        this.currentPage = 1;
+        this.filter();
+    },
+
+    searchAdd: function (searchTerm) {
+        this.searchTerm.push(searchTerm);
+        this.fromRow = 1;
+        this.currentPage = 1;
+        this.filter();
+    },
+
+    page: function (pagingEvent) {
+        this.fromRow = pagingEvent.fromRow;
+        this.currentPage = pagingEvent.page;
+        this.pageSize = pagingEvent.pageSize;
+        this.allRowsSelected = false;
+        this.filter();
+    },
+
+    filter: function (sortBy, sortOrder) {
+        if (this.allRowsSelected) {
+            this.toggleSelectAll();
+        }
+        this.deselectAll();
+        var newData = this.data;
+
+        for (var i = 0; i < this.searchTerm.length; i++) {
+            newData = this.filterData(newData, this.searchTerm[i], true);
+        }
+        this.filteredTotal = newData.length;
+        newData = this.dataTableService.sortData(newData, sortBy, sortOrder);
+        this.pageCount = newData.length;
+        newData = this.dataTableService.pageData(newData, this.fromRow, this.currentPage * this.pageSize);
+        this.filteredData = newData;
+        this.getAutoCompleteData();
+    },
+
+    toggleSelect: function (row) {
+        if (this.allFilteredRowsSelected()) {
+            this.allRowsSelected = true;
+        } else {
+            this.allRowsSelected = false;
+        }
+    },
+
+    toggleSelectAll: function () {
+        if (this.allRowsSelected) {
+            this.selectAll();
+        } else {
+            this.deselectAll();
+        }
+    },
+
+    selectAll: function () {
+        this.filteredData.forEach(function (c) {
+            c.checked = true;
+        });
+    },
+
+    deselectAll: function () {
+        this.filteredData.forEach(function (c) {
+            c.checked = false;
+        });
+    },
+
+    allFilteredRowsSelected: function () {
+        var allFilteredRowsSelected = true;
+        this.filteredData.forEach(function (c) {
+            if (c.checked === undefined || c.checked === false) {
+                allFilteredRowsSelected = false;
+            }
+        });
+
+        return allFilteredRowsSelected;
+    },
+
+    areTooltipsOn: function () {
+        return this.columns[0].hasOwnProperty('tooltip');
+    },
+
+    toggleTooltips: function () {
+        if (this.columns[0].tooltip) {
+            this.columns.forEach(function (c) {
+                delete c.tooltip;
+            });
+        } else {
+            this.columns.forEach(function (c) {
+                c.tooltip = 'This is ' + c.label + '!';
+            });
+        }
+    },
+
+    openDataTablePrompt: function (row, name) {
+        this.dialogService.openPrompt({
+            message: 'Enter comment?',
+            value: row[name],
+        }).afterClosed().subscribe(function (value) {
+            if (value !== undefined) {
+                row[name] = value;
+            }
+        })
+    },
+
+    getAutoCompleteData: function () {
+        var self = this;
+        this.autoCompleteData = [];
+        this.columns.forEach(function (c) {
+            self.filteredData.forEach(function (r) {
+                (r[c.name.toLowerCase()]) ? self.autoCompleteData.push(r[c.name.toLowerCase()].toString()) : '';
+            });
+        });
+    },
+
+    //</editor-fold>
+
+    //<editor-fold desc="Chips $ Autocomplete">
+
+    toggleReadOnly: function () {
+        this.readOnly = !this.readOnly;
+    },
+
+    //</editor-fold>
+
+    //<editor-fold desc="Life Cycle Listeners">
+
+    /**
+     * Initialize the component
+     */
+    ngOnInit: function () {
+        this.filter();
+        this.filterDroplets();
+    },
+
+    /**
+     * Respond after Angular checks the component's views and child views
+     */
+    ngAfterViewChecked: function () {
+        this.fdsService.inProgress = false;
+    }
+
+    //</editor-fold>
+};
+
+FdsDemo.annotations = [
+    new ngCore.Component({
+        template: require('./fds-demo.html!text'),
+        animations: [fdsAnimations.slideInLeftAnimation],
+        host: {
+            '[@routeAnimation]': 'routeAnimation'
+        }
+    })
+];
+
+FdsDemo.parameters = [
+    fdsSnackBarsModule.FdsSnackBarService,
+    FdsService,
+    ngMaterial.MatDialog,
+    covalentCore.TdDataTableService,
+    fdsDialogsModule.FdsDialogService
+];
+
+module.exports = FdsDemo;


[10/59] [abbrv] [partial] nifi-fds git commit: update gh-pages

Posted by sc...@apache.org.
http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/eec354e6/node_modules/@angular/cdk/bundles/cdk-table.umd.js
----------------------------------------------------------------------
diff --git a/node_modules/@angular/cdk/bundles/cdk-table.umd.js b/node_modules/@angular/cdk/bundles/cdk-table.umd.js
new file mode 100644
index 0000000..6de9475
--- /dev/null
+++ b/node_modules/@angular/cdk/bundles/cdk-table.umd.js
@@ -0,0 +1,1144 @@
+/**
+ * @license
+ * Copyright Google LLC All Rights Reserved.
+ *
+ * Use of this source code is governed by an MIT-style license that can be
+ * found in the LICENSE file at https://angular.io/license
+ */
+(function (global, factory) {
+	typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/core'), require('@angular/cdk/collections'), require('rxjs/operators/takeUntil'), require('rxjs/BehaviorSubject'), require('rxjs/Subject'), require('rxjs/Observable'), require('rxjs/observable/of'), require('@angular/common')) :
+	typeof define === 'function' && define.amd ? define(['exports', '@angular/core', '@angular/cdk/collections', 'rxjs/operators/takeUntil', 'rxjs/BehaviorSubject', 'rxjs/Subject', 'rxjs/Observable', 'rxjs/observable/of', '@angular/common'], factory) :
+	(factory((global.ng = global.ng || {}, global.ng.cdk = global.ng.cdk || {}, global.ng.cdk.table = global.ng.cdk.table || {}),global.ng.core,global.ng.cdk.collections,global.Rx.operators,global.Rx,global.Rx,global.Rx,global.Rx.Observable,global.ng.common));
+}(this, (function (exports,_angular_core,_angular_cdk_collections,rxjs_operators_takeUntil,rxjs_BehaviorSubject,rxjs_Subject,rxjs_Observable,rxjs_observable_of,_angular_common) { 'use strict';
+
+/*! *****************************************************************************
+Copyright (c) Microsoft Corporation. All rights reserved.
+Licensed under the Apache License, Version 2.0 (the "License"); you may not use
+this file except in compliance with the License. You may obtain a copy of the
+License at http://www.apache.org/licenses/LICENSE-2.0
+
+THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED
+WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,
+MERCHANTABLITY OR NON-INFRINGEMENT.
+
+See the Apache Version 2.0 License for specific language governing permissions
+and limitations under the License.
+***************************************************************************** */
+/* global Reflect, Promise */
+
+var extendStatics = Object.setPrototypeOf ||
+    ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
+    function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
+
+function __extends(d, b) {
+    extendStatics(d, b);
+    function __() { this.constructor = d; }
+    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
+}
+
+/**
+ * @fileoverview added by tsickle
+ * @suppress {checkTypes} checked by tsc
+ */
+
+/**
+ * The row template that can be used by the mat-table. Should not be used outside of the
+ * material library.
+ */
+var CDK_ROW_TEMPLATE = "<ng-container cdkCellOutlet></ng-container>";
+/**
+ * Base class for the CdkHeaderRowDef and CdkRowDef that handles checking their columns inputs
+ * for changes and notifying the table.
+ * @abstract
+ */
+var BaseRowDef = /** @class */ (function () {
+    function BaseRowDef(template, _differs) {
+        this.template = template;
+        this._differs = _differs;
+    }
+    /**
+     * @param {?} changes
+     * @return {?}
+     */
+    BaseRowDef.prototype.ngOnChanges = /**
+     * @param {?} changes
+     * @return {?}
+     */
+    function (changes) {
+        // Create a new columns differ if one does not yet exist. Initialize it based on initial value
+        // of the columns property or an empty array if none is provided.
+        var /** @type {?} */ columns = changes['columns'].currentValue || [];
+        if (!this._columnsDiffer) {
+            this._columnsDiffer = this._differs.find(columns).create();
+            this._columnsDiffer.diff(columns);
+        }
+    };
+    /**
+     * Returns the difference between the current columns and the columns from the last diff, or null
+     * if there is no difference.
+     */
+    /**
+     * Returns the difference between the current columns and the columns from the last diff, or null
+     * if there is no difference.
+     * @return {?}
+     */
+    BaseRowDef.prototype.getColumnsDiff = /**
+     * Returns the difference between the current columns and the columns from the last diff, or null
+     * if there is no difference.
+     * @return {?}
+     */
+    function () {
+        return this._columnsDiffer.diff(this.columns);
+    };
+    return BaseRowDef;
+}());
+/**
+ * Header row definition for the CDK table.
+ * Captures the header row's template and other header properties such as the columns to display.
+ */
+var CdkHeaderRowDef = /** @class */ (function (_super) {
+    __extends(CdkHeaderRowDef, _super);
+    function CdkHeaderRowDef(template, _differs) {
+        return _super.call(this, template, _differs) || this;
+    }
+    CdkHeaderRowDef.decorators = [
+        { type: _angular_core.Directive, args: [{
+                    selector: '[cdkHeaderRowDef]',
+                    inputs: ['columns: cdkHeaderRowDef'],
+                },] },
+    ];
+    /** @nocollapse */
+    CdkHeaderRowDef.ctorParameters = function () { return [
+        { type: _angular_core.TemplateRef, },
+        { type: _angular_core.IterableDiffers, },
+    ]; };
+    return CdkHeaderRowDef;
+}(BaseRowDef));
+/**
+ * Data row definition for the CDK table.
+ * Captures the header row's template and other row properties such as the columns to display and
+ * a when predicate that describes when this row should be used.
+ */
+var CdkRowDef = /** @class */ (function (_super) {
+    __extends(CdkRowDef, _super);
+    // TODO(andrewseguin): Add an input for providing a switch function to determine
+    //   if this template should be used.
+    function CdkRowDef(template, _differs) {
+        return _super.call(this, template, _differs) || this;
+    }
+    CdkRowDef.decorators = [
+        { type: _angular_core.Directive, args: [{
+                    selector: '[cdkRowDef]',
+                    inputs: ['columns: cdkRowDefColumns', 'when: cdkRowDefWhen'],
+                },] },
+    ];
+    /** @nocollapse */
+    CdkRowDef.ctorParameters = function () { return [
+        { type: _angular_core.TemplateRef, },
+        { type: _angular_core.IterableDiffers, },
+    ]; };
+    return CdkRowDef;
+}(BaseRowDef));
+/**
+ * Context provided to the row cells
+ * @record
+ */
+
+/**
+ * Outlet for rendering cells inside of a row or header row.
+ * \@docs-private
+ */
+var CdkCellOutlet = /** @class */ (function () {
+    function CdkCellOutlet(_viewContainer) {
+        this._viewContainer = _viewContainer;
+        CdkCellOutlet.mostRecentCellOutlet = this;
+    }
+    /**
+     * Static property containing the latest constructed instance of this class.
+     * Used by the CDK table when each CdkHeaderRow and CdkRow component is created using
+     * createEmbeddedView. After one of these components are created, this property will provide
+     * a handle to provide that component's cells and context. After init, the CdkCellOutlet will
+     * construct the cells with the provided context.
+     */
+    CdkCellOutlet.mostRecentCellOutlet = null;
+    CdkCellOutlet.decorators = [
+        { type: _angular_core.Directive, args: [{ selector: '[cdkCellOutlet]' },] },
+    ];
+    /** @nocollapse */
+    CdkCellOutlet.ctorParameters = function () { return [
+        { type: _angular_core.ViewContainerRef, },
+    ]; };
+    return CdkCellOutlet;
+}());
+/**
+ * Header template container that contains the cell outlet. Adds the right class and role.
+ */
+var CdkHeaderRow = /** @class */ (function () {
+    function CdkHeaderRow() {
+    }
+    CdkHeaderRow.decorators = [
+        { type: _angular_core.Component, args: [{selector: 'cdk-header-row',
+                    template: CDK_ROW_TEMPLATE,
+                    host: {
+                        'class': 'cdk-header-row',
+                        'role': 'row',
+                    },
+                    changeDetection: _angular_core.ChangeDetectionStrategy.OnPush,
+                    encapsulation: _angular_core.ViewEncapsulation.None,
+                    preserveWhitespaces: false,
+                },] },
+    ];
+    /** @nocollapse */
+    CdkHeaderRow.ctorParameters = function () { return []; };
+    return CdkHeaderRow;
+}());
+/**
+ * Data row template container that contains the cell outlet. Adds the right class and role.
+ */
+var CdkRow = /** @class */ (function () {
+    function CdkRow() {
+    }
+    CdkRow.decorators = [
+        { type: _angular_core.Component, args: [{selector: 'cdk-row',
+                    template: CDK_ROW_TEMPLATE,
+                    host: {
+                        'class': 'cdk-row',
+                        'role': 'row',
+                    },
+                    changeDetection: _angular_core.ChangeDetectionStrategy.OnPush,
+                    encapsulation: _angular_core.ViewEncapsulation.None,
+                    preserveWhitespaces: false,
+                },] },
+    ];
+    /** @nocollapse */
+    CdkRow.ctorParameters = function () { return []; };
+    return CdkRow;
+}());
+
+/**
+ * @fileoverview added by tsickle
+ * @suppress {checkTypes} checked by tsc
+ */
+
+/**
+ * Cell definition for a CDK table.
+ * Captures the template of a column's data row cell as well as cell-specific properties.
+ */
+var CdkCellDef = /** @class */ (function () {
+    function CdkCellDef(template) {
+        this.template = template;
+    }
+    CdkCellDef.decorators = [
+        { type: _angular_core.Directive, args: [{ selector: '[cdkCellDef]' },] },
+    ];
+    /** @nocollapse */
+    CdkCellDef.ctorParameters = function () { return [
+        { type: _angular_core.TemplateRef, },
+    ]; };
+    return CdkCellDef;
+}());
+/**
+ * Header cell definition for a CDK table.
+ * Captures the template of a column's header cell and as well as cell-specific properties.
+ */
+var CdkHeaderCellDef = /** @class */ (function () {
+    function CdkHeaderCellDef(template) {
+        this.template = template;
+    }
+    CdkHeaderCellDef.decorators = [
+        { type: _angular_core.Directive, args: [{ selector: '[cdkHeaderCellDef]' },] },
+    ];
+    /** @nocollapse */
+    CdkHeaderCellDef.ctorParameters = function () { return [
+        { type: _angular_core.TemplateRef, },
+    ]; };
+    return CdkHeaderCellDef;
+}());
+/**
+ * Column definition for the CDK table.
+ * Defines a set of cells available for a table column.
+ */
+var CdkColumnDef = /** @class */ (function () {
+    function CdkColumnDef() {
+    }
+    Object.defineProperty(CdkColumnDef.prototype, "name", {
+        get: /**
+         * Unique name for this column.
+         * @return {?}
+         */
+        function () { return this._name; },
+        set: /**
+         * @param {?} name
+         * @return {?}
+         */
+        function (name) {
+            // If the directive is set without a name (updated programatically), then this setter will
+            // trigger with an empty string and should not overwrite the programatically set value.
+            if (!name) {
+                return;
+            }
+            this._name = name;
+            this.cssClassFriendlyName = name.replace(/[^a-z0-9_-]/ig, '-');
+        },
+        enumerable: true,
+        configurable: true
+    });
+    CdkColumnDef.decorators = [
+        { type: _angular_core.Directive, args: [{ selector: '[cdkColumnDef]' },] },
+    ];
+    /** @nocollapse */
+    CdkColumnDef.ctorParameters = function () { return []; };
+    CdkColumnDef.propDecorators = {
+        "name": [{ type: _angular_core.Input, args: ['cdkColumnDef',] },],
+        "cell": [{ type: _angular_core.ContentChild, args: [CdkCellDef,] },],
+        "headerCell": [{ type: _angular_core.ContentChild, args: [CdkHeaderCellDef,] },],
+    };
+    return CdkColumnDef;
+}());
+/**
+ * Header cell template container that adds the right classes and role.
+ */
+var CdkHeaderCell = /** @class */ (function () {
+    function CdkHeaderCell(columnDef, elementRef) {
+        elementRef.nativeElement.classList.add("cdk-column-" + columnDef.cssClassFriendlyName);
+    }
+    CdkHeaderCell.decorators = [
+        { type: _angular_core.Directive, args: [{
+                    selector: 'cdk-header-cell',
+                    host: {
+                        'class': 'cdk-header-cell',
+                        'role': 'columnheader',
+                    },
+                },] },
+    ];
+    /** @nocollapse */
+    CdkHeaderCell.ctorParameters = function () { return [
+        { type: CdkColumnDef, },
+        { type: _angular_core.ElementRef, },
+    ]; };
+    return CdkHeaderCell;
+}());
+/**
+ * Cell template container that adds the right classes and role.
+ */
+var CdkCell = /** @class */ (function () {
+    function CdkCell(columnDef, elementRef) {
+        elementRef.nativeElement.classList.add("cdk-column-" + columnDef.cssClassFriendlyName);
+    }
+    CdkCell.decorators = [
+        { type: _angular_core.Directive, args: [{
+                    selector: 'cdk-cell',
+                    host: {
+                        'class': 'cdk-cell',
+                        'role': 'gridcell',
+                    },
+                },] },
+    ];
+    /** @nocollapse */
+    CdkCell.ctorParameters = function () { return [
+        { type: CdkColumnDef, },
+        { type: _angular_core.ElementRef, },
+    ]; };
+    return CdkCell;
+}());
+
+/**
+ * @fileoverview added by tsickle
+ * @suppress {checkTypes} checked by tsc
+ */
+
+/**
+ * Returns an error to be thrown when attempting to find an unexisting column.
+ * \@docs-private
+ * @param {?} id Id whose lookup failed.
+ * @return {?}
+ */
+function getTableUnknownColumnError(id) {
+    return Error("Could not find column with id \"" + id + "\".");
+}
+/**
+ * Returns an error to be thrown when two column definitions have the same name.
+ * \@docs-private
+ * @param {?} name
+ * @return {?}
+ */
+function getTableDuplicateColumnNameError(name) {
+    return Error("Duplicate column definition name provided: \"" + name + "\".");
+}
+/**
+ * Returns an error to be thrown when there are multiple rows that are missing a when function.
+ * \@docs-private
+ * @return {?}
+ */
+function getTableMultipleDefaultRowDefsError() {
+    return Error("There can only be one default row without a when predicate function.");
+}
+/**
+ * Returns an error to be thrown when there are no matching row defs for a particular set of data.
+ * \@docs-private
+ * @return {?}
+ */
+function getTableMissingMatchingRowDefError() {
+    return Error("Could not find a matching row definition for the provided row data.");
+}
+/**
+ * Returns an error to be thrown when there is no row definitions present in the content.
+ * \@docs-private
+ * @return {?}
+ */
+function getTableMissingRowDefsError() {
+    return Error('Missing definitions for header and row, ' +
+        'cannot determine which columns should be rendered.');
+}
+/**
+ * Returns an error to be thrown when the data source does not match the compatible types.
+ * \@docs-private
+ * @return {?}
+ */
+function getTableUnknownDataSourceError() {
+    return Error("Provided data source did not match an array, Observable, or DataSource");
+}
+
+/**
+ * @fileoverview added by tsickle
+ * @suppress {checkTypes} checked by tsc
+ */
+
+/**
+ * Provides a handle for the table to grab the view container's ng-container to insert data rows.
+ * \@docs-private
+ */
+var RowPlaceholder = /** @class */ (function () {
+    function RowPlaceholder(viewContainer) {
+        this.viewContainer = viewContainer;
+    }
+    RowPlaceholder.decorators = [
+        { type: _angular_core.Directive, args: [{ selector: '[rowPlaceholder]' },] },
+    ];
+    /** @nocollapse */
+    RowPlaceholder.ctorParameters = function () { return [
+        { type: _angular_core.ViewContainerRef, },
+    ]; };
+    return RowPlaceholder;
+}());
+/**
+ * Provides a handle for the table to grab the view container's ng-container to insert the header.
+ * \@docs-private
+ */
+var HeaderRowPlaceholder = /** @class */ (function () {
+    function HeaderRowPlaceholder(viewContainer) {
+        this.viewContainer = viewContainer;
+    }
+    HeaderRowPlaceholder.decorators = [
+        { type: _angular_core.Directive, args: [{ selector: '[headerRowPlaceholder]' },] },
+    ];
+    /** @nocollapse */
+    HeaderRowPlaceholder.ctorParameters = function () { return [
+        { type: _angular_core.ViewContainerRef, },
+    ]; };
+    return HeaderRowPlaceholder;
+}());
+/**
+ * The table template that can be used by the mat-table. Should not be used outside of the
+ * material library.
+ */
+var CDK_TABLE_TEMPLATE = "\n  <ng-container headerRowPlaceholder></ng-container>\n  <ng-container rowPlaceholder></ng-container>";
+/**
+ * Class used to conveniently type the embedded view ref for rows with a context.
+ * \@docs-private
+ * @abstract
+ */
+var RowViewRef = /** @class */ (function (_super) {
+    __extends(RowViewRef, _super);
+    function RowViewRef() {
+        return _super !== null && _super.apply(this, arguments) || this;
+    }
+    return RowViewRef;
+}(_angular_core.EmbeddedViewRef));
+/**
+ * A data table that renders a header row and data rows. Uses the dataSource input to determine
+ * the data to be rendered. The data can be provided either as a data array, an Observable stream
+ * that emits the data array to render, or a DataSource with a connect function that will
+ * return an Observable stream that emits the data array to render.
+ */
+var CdkTable = /** @class */ (function () {
+    function CdkTable(_differs, _changeDetectorRef, elementRef, role) {
+        this._differs = _differs;
+        this._changeDetectorRef = _changeDetectorRef;
+        /**
+         * Subject that emits when the component has been destroyed.
+         */
+        this._onDestroy = new rxjs_Subject.Subject();
+        /**
+         * Map of all the user's defined columns (header and data cell template) identified by name.
+         * Collection populated by the column definitions gathered by `ContentChildren` as well as any
+         * custom column definitions added to `_customColumnDefs`.
+         */
+        this._columnDefsByName = new Map();
+        /**
+         * Column definitions that were defined outside of the direct content children of the table.
+         */
+        this._customColumnDefs = new Set();
+        /**
+         * Row definitions that were defined outside of the direct content children of the table.
+         */
+        this._customRowDefs = new Set();
+        /**
+         * Whether the header row definition has been changed. Triggers an update to the header row after
+         * content is checked.
+         */
+        this._headerRowDefChanged = false;
+        /**
+         * Stream containing the latest information on what rows are being displayed on screen.
+         * Can be used by the data source to as a heuristic of what data should be provided.
+         */
+        this.viewChange = new rxjs_BehaviorSubject.BehaviorSubject({ start: 0, end: Number.MAX_VALUE });
+        if (!role) {
+            elementRef.nativeElement.setAttribute('role', 'grid');
+        }
+    }
+    Object.defineProperty(CdkTable.prototype, "trackBy", {
+        get: /**
+         * Tracking function that will be used to check the differences in data changes. Used similarly
+         * to `ngFor` `trackBy` function. Optimize row operations by identifying a row based on its data
+         * relative to the function to know if a row should be added/removed/moved.
+         * Accepts a function that takes two parameters, `index` and `item`.
+         * @return {?}
+         */
+        function () { return this._trackByFn; },
+        set: /**
+         * @param {?} fn
+         * @return {?}
+         */
+        function (fn) {
+            if (_angular_core.isDevMode() &&
+                fn != null && typeof fn !== 'function' && /** @type {?} */ (console) && /** @type {?} */ (console.warn)) {
+                console.warn("trackBy must be a function, but received " + JSON.stringify(fn) + ".");
+            }
+            this._trackByFn = fn;
+        },
+        enumerable: true,
+        configurable: true
+    });
+    Object.defineProperty(CdkTable.prototype, "dataSource", {
+        get: /**
+         * The table's source of data, which can be provided in three ways (in order of complexity):
+         *   - Simple data array (each object represents one table row)
+         *   - Stream that emits a data array each time the array changes
+         *   - `DataSource` object that implements the connect/disconnect interface.
+         *
+         * If a data array is provided, the table must be notified when the array's objects are
+         * added, removed, or moved. This can be done by calling the `renderRows()` function which will
+         * render the diff since the last table render. If the data array reference is changed, the table
+         * will automatically trigger an update to the rows.
+         *
+         * When providing an Observable stream, the table will trigger an update automatically when the
+         * stream emits a new array of data.
+         *
+         * Finally, when providing a `DataSource` object, the table will use the Observable stream
+         * provided by the connect function and trigger updates when that stream emits new data array
+         * values. During the table's ngOnDestroy or when the data source is removed from the table, the
+         * table will call the DataSource's `disconnect` function (may be useful for cleaning up any
+         * subscriptions registered during the connect process).
+         * @return {?}
+         */
+        function () { return this._dataSource; },
+        set: /**
+         * @param {?} dataSource
+         * @return {?}
+         */
+        function (dataSource) {
+            if (this._dataSource !== dataSource) {
+                this._switchDataSource(dataSource);
+            }
+        },
+        enumerable: true,
+        configurable: true
+    });
+    /**
+     * @return {?}
+     */
+    CdkTable.prototype.ngOnInit = /**
+     * @return {?}
+     */
+    function () {
+        // TODO(andrewseguin): Setup a listener for scrolling, emit the calculated view to viewChange
+        this._dataDiffer = this._differs.find([]).create(this._trackByFn);
+        // If the table has a header row definition defined as part of its content, flag this as a
+        // header row def change so that the content check will render the header row.
+        if (this._headerRowDef) {
+            this._headerRowDefChanged = true;
+        }
+    };
+    /**
+     * @return {?}
+     */
+    CdkTable.prototype.ngAfterContentChecked = /**
+     * @return {?}
+     */
+    function () {
+        // Cache the row and column definitions gathered by ContentChildren and programmatic injection.
+        this._cacheRowDefs();
+        this._cacheColumnDefs();
+        // Make sure that the user has at least added a header row or row def.
+        if (!this._headerRowDef && !this._rowDefs.length) {
+            throw getTableMissingRowDefsError();
+        }
+        // Render updates if the list of columns have been changed for the header or row definitions.
+        this._renderUpdatedColumns();
+        // If the header row definition has been changed, trigger a render to the header row.
+        if (this._headerRowDefChanged) {
+            this._renderHeaderRow();
+            this._headerRowDefChanged = false;
+        }
+        // If there is a data source and row definitions, connect to the data source unless a
+        // connection has already been made.
+        if (this.dataSource && this._rowDefs.length > 0 && !this._renderChangeSubscription) {
+            this._observeRenderChanges();
+        }
+    };
+    /**
+     * @return {?}
+     */
+    CdkTable.prototype.ngOnDestroy = /**
+     * @return {?}
+     */
+    function () {
+        this._rowPlaceholder.viewContainer.clear();
+        this._headerRowPlaceholder.viewContainer.clear();
+        this._onDestroy.next();
+        this._onDestroy.complete();
+        if (this.dataSource instanceof _angular_cdk_collections.DataSource) {
+            this.dataSource.disconnect(this);
+        }
+    };
+    /**
+     * Renders rows based on the table's latest set of data, which was either provided directly as an
+     * input or retrieved through an Observable stream (directly or from a DataSource).
+     * Checks for differences in the data since the last diff to perform only the necessary
+     * changes (add/remove/move rows).
+     *
+     * If the table's data source is a DataSource or Observable, this will be invoked automatically
+     * each time the provided Observable stream emits a new data array. Otherwise if your data is
+     * an array, this function will need to be called to render any changes.
+     */
+    /**
+     * Renders rows based on the table's latest set of data, which was either provided directly as an
+     * input or retrieved through an Observable stream (directly or from a DataSource).
+     * Checks for differences in the data since the last diff to perform only the necessary
+     * changes (add/remove/move rows).
+     *
+     * If the table's data source is a DataSource or Observable, this will be invoked automatically
+     * each time the provided Observable stream emits a new data array. Otherwise if your data is
+     * an array, this function will need to be called to render any changes.
+     * @return {?}
+     */
+    CdkTable.prototype.renderRows = /**
+     * Renders rows based on the table's latest set of data, which was either provided directly as an
+     * input or retrieved through an Observable stream (directly or from a DataSource).
+     * Checks for differences in the data since the last diff to perform only the necessary
+     * changes (add/remove/move rows).
+     *
+     * If the table's data source is a DataSource or Observable, this will be invoked automatically
+     * each time the provided Observable stream emits a new data array. Otherwise if your data is
+     * an array, this function will need to be called to render any changes.
+     * @return {?}
+     */
+    function () {
+        var _this = this;
+        var /** @type {?} */ changes = this._dataDiffer.diff(this._data);
+        if (!changes) {
+            return;
+        }
+        var /** @type {?} */ viewContainer = this._rowPlaceholder.viewContainer;
+        changes.forEachOperation(function (record, adjustedPreviousIndex, currentIndex) {
+            if (record.previousIndex == null) {
+                _this._insertRow(record.item, currentIndex);
+            }
+            else if (currentIndex == null) {
+                viewContainer.remove(adjustedPreviousIndex);
+            }
+            else {
+                var /** @type {?} */ view = /** @type {?} */ (viewContainer.get(adjustedPreviousIndex));
+                viewContainer.move(/** @type {?} */ ((view)), currentIndex);
+            }
+        });
+        // Update the meta context of a row's context data (index, count, first, last, ...)
+        this._updateRowIndexContext();
+        // Update rows that did not get added/removed/moved but may have had their identity changed,
+        // e.g. if trackBy matched data on some property but the actual data reference changed.
+        changes.forEachIdentityChange(function (record) {
+            var /** @type {?} */ rowView = /** @type {?} */ (viewContainer.get(/** @type {?} */ ((record.currentIndex))));
+            rowView.context.$implicit = record.item;
+        });
+    };
+    /**
+     * Sets the header row definition to be used. Overrides the header row definition gathered by
+     * using `ContentChild`, if one exists. Sets a flag that will re-render the header row after the
+     * table's content is checked.
+     */
+    /**
+     * Sets the header row definition to be used. Overrides the header row definition gathered by
+     * using `ContentChild`, if one exists. Sets a flag that will re-render the header row after the
+     * table's content is checked.
+     * @param {?} headerRowDef
+     * @return {?}
+     */
+    CdkTable.prototype.setHeaderRowDef = /**
+     * Sets the header row definition to be used. Overrides the header row definition gathered by
+     * using `ContentChild`, if one exists. Sets a flag that will re-render the header row after the
+     * table's content is checked.
+     * @param {?} headerRowDef
+     * @return {?}
+     */
+    function (headerRowDef) {
+        this._headerRowDef = headerRowDef;
+        this._headerRowDefChanged = true;
+    };
+    /** Adds a column definition that was not included as part of the direct content children. */
+    /**
+     * Adds a column definition that was not included as part of the direct content children.
+     * @param {?} columnDef
+     * @return {?}
+     */
+    CdkTable.prototype.addColumnDef = /**
+     * Adds a column definition that was not included as part of the direct content children.
+     * @param {?} columnDef
+     * @return {?}
+     */
+    function (columnDef) {
+        this._customColumnDefs.add(columnDef);
+    };
+    /** Removes a column definition that was not included as part of the direct content children. */
+    /**
+     * Removes a column definition that was not included as part of the direct content children.
+     * @param {?} columnDef
+     * @return {?}
+     */
+    CdkTable.prototype.removeColumnDef = /**
+     * Removes a column definition that was not included as part of the direct content children.
+     * @param {?} columnDef
+     * @return {?}
+     */
+    function (columnDef) {
+        this._customColumnDefs.delete(columnDef);
+    };
+    /** Adds a row definition that was not included as part of the direct content children. */
+    /**
+     * Adds a row definition that was not included as part of the direct content children.
+     * @param {?} rowDef
+     * @return {?}
+     */
+    CdkTable.prototype.addRowDef = /**
+     * Adds a row definition that was not included as part of the direct content children.
+     * @param {?} rowDef
+     * @return {?}
+     */
+    function (rowDef) {
+        this._customRowDefs.add(rowDef);
+    };
+    /** Removes a row definition that was not included as part of the direct content children. */
+    /**
+     * Removes a row definition that was not included as part of the direct content children.
+     * @param {?} rowDef
+     * @return {?}
+     */
+    CdkTable.prototype.removeRowDef = /**
+     * Removes a row definition that was not included as part of the direct content children.
+     * @param {?} rowDef
+     * @return {?}
+     */
+    function (rowDef) {
+        this._customRowDefs.delete(rowDef);
+    };
+    /**
+     * Update the map containing the content's column definitions.
+     * @return {?}
+     */
+    CdkTable.prototype._cacheColumnDefs = /**
+     * Update the map containing the content's column definitions.
+     * @return {?}
+     */
+    function () {
+        var _this = this;
+        this._columnDefsByName.clear();
+        var /** @type {?} */ columnDefs = this._contentColumnDefs ? this._contentColumnDefs.toArray() : [];
+        this._customColumnDefs.forEach(function (columnDef) { return columnDefs.push(columnDef); });
+        columnDefs.forEach(function (columnDef) {
+            if (_this._columnDefsByName.has(columnDef.name)) {
+                throw getTableDuplicateColumnNameError(columnDef.name);
+            }
+            _this._columnDefsByName.set(columnDef.name, columnDef);
+        });
+    };
+    /**
+     * Update the list of all available row definitions that can be used.
+     * @return {?}
+     */
+    CdkTable.prototype._cacheRowDefs = /**
+     * Update the list of all available row definitions that can be used.
+     * @return {?}
+     */
+    function () {
+        var _this = this;
+        this._rowDefs = this._contentRowDefs ? this._contentRowDefs.toArray() : [];
+        this._customRowDefs.forEach(function (rowDef) { return _this._rowDefs.push(rowDef); });
+        var /** @type {?} */ defaultRowDefs = this._rowDefs.filter(function (def) { return !def.when; });
+        if (defaultRowDefs.length > 1) {
+            throw getTableMultipleDefaultRowDefsError();
+        }
+        this._defaultRowDef = defaultRowDefs[0];
+    };
+    /**
+     * Check if the header or rows have changed what columns they want to display. If there is a diff,
+     * then re-render that section.
+     * @return {?}
+     */
+    CdkTable.prototype._renderUpdatedColumns = /**
+     * Check if the header or rows have changed what columns they want to display. If there is a diff,
+     * then re-render that section.
+     * @return {?}
+     */
+    function () {
+        var _this = this;
+        // Re-render the rows when the row definition columns change.
+        this._rowDefs.forEach(function (def) {
+            if (!!def.getColumnsDiff()) {
+                // Reset the data to an empty array so that renderRowChanges will re-render all new rows.
+                // Reset the data to an empty array so that renderRowChanges will re-render all new rows.
+                _this._dataDiffer.diff([]);
+                _this._rowPlaceholder.viewContainer.clear();
+                _this.renderRows();
+            }
+        });
+        // Re-render the header row if there is a difference in its columns.
+        if (this._headerRowDef && this._headerRowDef.getColumnsDiff()) {
+            this._renderHeaderRow();
+        }
+    };
+    /**
+     * Switch to the provided data source by resetting the data and unsubscribing from the current
+     * render change subscription if one exists. If the data source is null, interpret this by
+     * clearing the row placeholder. Otherwise start listening for new data.
+     * @param {?} dataSource
+     * @return {?}
+     */
+    CdkTable.prototype._switchDataSource = /**
+     * Switch to the provided data source by resetting the data and unsubscribing from the current
+     * render change subscription if one exists. If the data source is null, interpret this by
+     * clearing the row placeholder. Otherwise start listening for new data.
+     * @param {?} dataSource
+     * @return {?}
+     */
+    function (dataSource) {
+        this._data = [];
+        if (this.dataSource instanceof _angular_cdk_collections.DataSource) {
+            this.dataSource.disconnect(this);
+        }
+        // Stop listening for data from the previous data source.
+        if (this._renderChangeSubscription) {
+            this._renderChangeSubscription.unsubscribe();
+            this._renderChangeSubscription = null;
+        }
+        if (!dataSource) {
+            if (this._dataDiffer) {
+                this._dataDiffer.diff([]);
+            }
+            this._rowPlaceholder.viewContainer.clear();
+        }
+        this._dataSource = dataSource;
+    };
+    /**
+     * Set up a subscription for the data provided by the data source.
+     * @return {?}
+     */
+    CdkTable.prototype._observeRenderChanges = /**
+     * Set up a subscription for the data provided by the data source.
+     * @return {?}
+     */
+    function () {
+        var _this = this;
+        // If no data source has been set, there is nothing to observe for changes.
+        if (!this.dataSource) {
+            return;
+        }
+        var /** @type {?} */ dataStream;
+        // Check if the datasource is a DataSource object by observing if it has a connect function.
+        // Cannot check this.dataSource['connect'] due to potential property renaming, nor can it
+        // checked as an instanceof DataSource<T> since the table should allow for data sources
+        // that did not explicitly extend DataSource<T>.
+        if ((/** @type {?} */ (this.dataSource)).connect instanceof Function) {
+            dataStream = (/** @type {?} */ (this.dataSource)).connect(this);
+        }
+        else if (this.dataSource instanceof rxjs_Observable.Observable) {
+            dataStream = this.dataSource;
+        }
+        else if (Array.isArray(this.dataSource)) {
+            dataStream = rxjs_observable_of.of(this.dataSource);
+        }
+        if (dataStream === undefined) {
+            throw getTableUnknownDataSourceError();
+        }
+        this._renderChangeSubscription = dataStream
+            .pipe(rxjs_operators_takeUntil.takeUntil(this._onDestroy))
+            .subscribe(function (data) {
+            _this._data = data;
+            _this.renderRows();
+        });
+    };
+    /**
+     * Clears any existing content in the header row placeholder and creates a new embedded view
+     * in the placeholder using the header row definition.
+     * @return {?}
+     */
+    CdkTable.prototype._renderHeaderRow = /**
+     * Clears any existing content in the header row placeholder and creates a new embedded view
+     * in the placeholder using the header row definition.
+     * @return {?}
+     */
+    function () {
+        // Clear the header row placeholder if any content exists.
+        if (this._headerRowPlaceholder.viewContainer.length > 0) {
+            this._headerRowPlaceholder.viewContainer.clear();
+        }
+        var /** @type {?} */ cells = this._getHeaderCellTemplatesForRow(this._headerRowDef);
+        if (!cells.length) {
+            return;
+        }
+        // TODO(andrewseguin): add some code to enforce that exactly
+        //   one CdkCellOutlet was instantiated as a result
+        //   of `createEmbeddedView`.
+        this._headerRowPlaceholder.viewContainer
+            .createEmbeddedView(this._headerRowDef.template, { cells: cells });
+        cells.forEach(function (cell) {
+            if (CdkCellOutlet.mostRecentCellOutlet) {
+                CdkCellOutlet.mostRecentCellOutlet._viewContainer.createEmbeddedView(cell.template, {});
+            }
+        });
+        this._changeDetectorRef.markForCheck();
+    };
+    /**
+     * Finds the matching row definition that should be used for this row data. If there is only
+     * one row definition, it is returned. Otherwise, find the row definition that has a when
+     * predicate that returns true with the data. If none return true, return the default row
+     * definition.
+     */
+    /**
+     * Finds the matching row definition that should be used for this row data. If there is only
+     * one row definition, it is returned. Otherwise, find the row definition that has a when
+     * predicate that returns true with the data. If none return true, return the default row
+     * definition.
+     * @param {?} data
+     * @param {?} i
+     * @return {?}
+     */
+    CdkTable.prototype._getRowDef = /**
+     * Finds the matching row definition that should be used for this row data. If there is only
+     * one row definition, it is returned. Otherwise, find the row definition that has a when
+     * predicate that returns true with the data. If none return true, return the default row
+     * definition.
+     * @param {?} data
+     * @param {?} i
+     * @return {?}
+     */
+    function (data, i) {
+        if (this._rowDefs.length == 1) {
+            return this._rowDefs[0];
+        }
+        var /** @type {?} */ rowDef = this._rowDefs.find(function (def) { return def.when && def.when(i, data); }) || this._defaultRowDef;
+        if (!rowDef) {
+            throw getTableMissingMatchingRowDefError();
+        }
+        return rowDef;
+    };
+    /**
+     * Create the embedded view for the data row template and place it in the correct index location
+     * within the data row view container.
+     * @param {?} rowData
+     * @param {?} index
+     * @return {?}
+     */
+    CdkTable.prototype._insertRow = /**
+     * Create the embedded view for the data row template and place it in the correct index location
+     * within the data row view container.
+     * @param {?} rowData
+     * @param {?} index
+     * @return {?}
+     */
+    function (rowData, index) {
+        var /** @type {?} */ row = this._getRowDef(rowData, index);
+        // Row context that will be provided to both the created embedded row view and its cells.
+        var /** @type {?} */ context = { $implicit: rowData };
+        // TODO(andrewseguin): add some code to enforce that exactly one
+        //   CdkCellOutlet was instantiated as a result  of `createEmbeddedView`.
+        this._rowPlaceholder.viewContainer.createEmbeddedView(row.template, context, index);
+        this._getCellTemplatesForRow(row).forEach(function (cell) {
+            if (CdkCellOutlet.mostRecentCellOutlet) {
+                CdkCellOutlet.mostRecentCellOutlet._viewContainer
+                    .createEmbeddedView(cell.template, context);
+            }
+        });
+        this._changeDetectorRef.markForCheck();
+    };
+    /**
+     * Updates the index-related context for each row to reflect any changes in the index of the rows,
+     * e.g. first/last/even/odd.
+     * @return {?}
+     */
+    CdkTable.prototype._updateRowIndexContext = /**
+     * Updates the index-related context for each row to reflect any changes in the index of the rows,
+     * e.g. first/last/even/odd.
+     * @return {?}
+     */
+    function () {
+        var /** @type {?} */ viewContainer = this._rowPlaceholder.viewContainer;
+        for (var /** @type {?} */ index = 0, /** @type {?} */ count = viewContainer.length; index < count; index++) {
+            var /** @type {?} */ viewRef = /** @type {?} */ (viewContainer.get(index));
+            viewRef.context.index = index;
+            viewRef.context.count = count;
+            viewRef.context.first = index === 0;
+            viewRef.context.last = index === count - 1;
+            viewRef.context.even = index % 2 === 0;
+            viewRef.context.odd = !viewRef.context.even;
+        }
+    };
+    /**
+     * Returns the cell template definitions to insert into the header
+     * as defined by its list of columns to display.
+     * @param {?} headerDef
+     * @return {?}
+     */
+    CdkTable.prototype._getHeaderCellTemplatesForRow = /**
+     * Returns the cell template definitions to insert into the header
+     * as defined by its list of columns to display.
+     * @param {?} headerDef
+     * @return {?}
+     */
+    function (headerDef) {
+        var _this = this;
+        if (!headerDef || !headerDef.columns) {
+            return [];
+        }
+        return headerDef.columns.map(function (columnId) {
+            var /** @type {?} */ column = _this._columnDefsByName.get(columnId);
+            if (!column) {
+                throw getTableUnknownColumnError(columnId);
+            }
+            return column.headerCell;
+        });
+    };
+    /**
+     * Returns the cell template definitions to insert in the provided row
+     * as defined by its list of columns to display.
+     * @param {?} rowDef
+     * @return {?}
+     */
+    CdkTable.prototype._getCellTemplatesForRow = /**
+     * Returns the cell template definitions to insert in the provided row
+     * as defined by its list of columns to display.
+     * @param {?} rowDef
+     * @return {?}
+     */
+    function (rowDef) {
+        var _this = this;
+        if (!rowDef.columns) {
+            return [];
+        }
+        return rowDef.columns.map(function (columnId) {
+            var /** @type {?} */ column = _this._columnDefsByName.get(columnId);
+            if (!column) {
+                throw getTableUnknownColumnError(columnId);
+            }
+            return column.cell;
+        });
+    };
+    CdkTable.decorators = [
+        { type: _angular_core.Component, args: [{selector: 'cdk-table',
+                    exportAs: 'cdkTable',
+                    template: CDK_TABLE_TEMPLATE,
+                    host: {
+                        'class': 'cdk-table',
+                    },
+                    encapsulation: _angular_core.ViewEncapsulation.None,
+                    preserveWhitespaces: false,
+                    changeDetection: _angular_core.ChangeDetectionStrategy.OnPush,
+                },] },
+    ];
+    /** @nocollapse */
+    CdkTable.ctorParameters = function () { return [
+        { type: _angular_core.IterableDiffers, },
+        { type: _angular_core.ChangeDetectorRef, },
+        { type: _angular_core.ElementRef, },
+        { type: undefined, decorators: [{ type: _angular_core.Attribute, args: ['role',] },] },
+    ]; };
+    CdkTable.propDecorators = {
+        "trackBy": [{ type: _angular_core.Input },],
+        "dataSource": [{ type: _angular_core.Input },],
+        "_rowPlaceholder": [{ type: _angular_core.ViewChild, args: [RowPlaceholder,] },],
+        "_headerRowPlaceholder": [{ type: _angular_core.ViewChild, args: [HeaderRowPlaceholder,] },],
+        "_contentColumnDefs": [{ type: _angular_core.ContentChildren, args: [CdkColumnDef,] },],
+        "_contentRowDefs": [{ type: _angular_core.ContentChildren, args: [CdkRowDef,] },],
+        "_headerRowDef": [{ type: _angular_core.ContentChild, args: [CdkHeaderRowDef,] },],
+    };
+    return CdkTable;
+}());
+
+/**
+ * @fileoverview added by tsickle
+ * @suppress {checkTypes} checked by tsc
+ */
+
+var EXPORTED_DECLARATIONS = [
+    CdkTable,
+    CdkRowDef,
+    CdkCellDef,
+    CdkCellOutlet,
+    CdkHeaderCellDef,
+    CdkColumnDef,
+    CdkCell,
+    CdkRow,
+    CdkHeaderCell,
+    CdkHeaderRow,
+    CdkHeaderRowDef,
+    RowPlaceholder,
+    HeaderRowPlaceholder,
+];
+var CdkTableModule = /** @class */ (function () {
+    function CdkTableModule() {
+    }
+    CdkTableModule.decorators = [
+        { type: _angular_core.NgModule, args: [{
+                    imports: [_angular_common.CommonModule],
+                    exports: [EXPORTED_DECLARATIONS],
+                    declarations: [EXPORTED_DECLARATIONS]
+                },] },
+    ];
+    /** @nocollapse */
+    CdkTableModule.ctorParameters = function () { return []; };
+    return CdkTableModule;
+}());
+
+exports.DataSource = _angular_cdk_collections.DataSource;
+exports.RowPlaceholder = RowPlaceholder;
+exports.HeaderRowPlaceholder = HeaderRowPlaceholder;
+exports.CDK_TABLE_TEMPLATE = CDK_TABLE_TEMPLATE;
+exports.CdkTable = CdkTable;
+exports.CdkCellDef = CdkCellDef;
+exports.CdkHeaderCellDef = CdkHeaderCellDef;
+exports.CdkColumnDef = CdkColumnDef;
+exports.CdkHeaderCell = CdkHeaderCell;
+exports.CdkCell = CdkCell;
+exports.CDK_ROW_TEMPLATE = CDK_ROW_TEMPLATE;
+exports.BaseRowDef = BaseRowDef;
+exports.CdkHeaderRowDef = CdkHeaderRowDef;
+exports.CdkRowDef = CdkRowDef;
+exports.CdkCellOutlet = CdkCellOutlet;
+exports.CdkHeaderRow = CdkHeaderRow;
+exports.CdkRow = CdkRow;
+exports.CdkTableModule = CdkTableModule;
+
+Object.defineProperty(exports, '__esModule', { value: true });
+
+})));
+//# sourceMappingURL=cdk-table.umd.js.map


[56/59] [abbrv] nifi-fds git commit: update gh-pages

Posted by sc...@apache.org.
update gh-pages


Project: http://git-wip-us.apache.org/repos/asf/nifi-fds/repo
Commit: http://git-wip-us.apache.org/repos/asf/nifi-fds/commit/57aefda6
Tree: http://git-wip-us.apache.org/repos/asf/nifi-fds/tree/57aefda6
Diff: http://git-wip-us.apache.org/repos/asf/nifi-fds/diff/57aefda6

Branch: refs/heads/gh-pages
Commit: 57aefda64bcfbe6b1e8d710f22d79830900547e1
Parents: 0856a5c
Author: Scott Aslan <sc...@gmail.com>
Authored: Tue Jun 5 17:50:18 2018 -0400
Committer: Scott Aslan <sc...@gmail.com>
Committed: Tue Jun 5 17:50:18 2018 -0400

----------------------------------------------------------------------
 demo-app/theming/fds-demo.scss                  |   4 ++--
 node_modules/.bin/blocking-proxy                |   1 +
 node_modules/.bin/cake                          |   1 +
 node_modules/.bin/coffee                        |   1 +
 node_modules/.bin/dateformat                    |   1 +
 node_modules/.bin/detect-libc                   |   1 +
 node_modules/.bin/ecstatic                      |   1 +
 node_modules/.bin/escodegen                     |   1 +
 node_modules/.bin/esgenerate                    |   1 +
 node_modules/.bin/esparse                       |   1 +
 node_modules/.bin/esvalidate                    |   1 +
 node_modules/.bin/grunt                         |   1 +
 node_modules/.bin/handlebars                    |   1 +
 node_modules/.bin/he                            |   1 +
 node_modules/.bin/hs                            |   1 +
 node_modules/.bin/http-server                   |   1 +
 node_modules/.bin/in-install                    |   1 +
 node_modules/.bin/in-publish                    |   1 +
 node_modules/.bin/istanbul                      |   1 +
 node_modules/.bin/jasmine                       |   1 +
 node_modules/.bin/js-yaml                       |   1 +
 node_modules/.bin/karma                         |   1 +
 node_modules/.bin/mime                          |   1 +
 node_modules/.bin/mkdirp                        |   1 +
 node_modules/.bin/node-gyp                      |   1 +
 node_modules/.bin/node-sass                     |   1 +
 node_modules/.bin/nopt                          |   1 +
 node_modules/.bin/not-in-install                |   1 +
 node_modules/.bin/not-in-publish                |   1 +
 node_modules/.bin/opener                        |   1 +
 node_modules/.bin/prebuild-install              |   1 +
 node_modules/.bin/protractor                    |   1 +
 node_modules/.bin/rc                            |   1 +
 node_modules/.bin/rimraf                        |   1 +
 node_modules/.bin/sassgraph                     |   1 +
 node_modules/.bin/semver                        |   1 +
 node_modules/.bin/sshpk-conv                    |   1 +
 node_modules/.bin/sshpk-sign                    |   1 +
 node_modules/.bin/sshpk-verify                  |   1 +
 node_modules/.bin/strip-indent                  |   1 +
 node_modules/.bin/uglifyjs                      |   1 +
 node_modules/.bin/uuid                          |   1 +
 node_modules/.bin/webdriver-manager             |   1 +
 node_modules/.bin/which                         |   1 +
 .../core/common/styles/_basicElements.scss      |  16 ++++++++--------
 .../styles/css/flow-design-system.min.css       |   2 +-
 .../styles/css/flow-design-system.min.css.gz    | Bin 3208 -> 3210 bytes
 node_modules/iltorb/build/Release/iltorb.node   | Bin 865768 -> 865768 bytes
 node_modules/iltorb/build/bindings/iltorb.node  | Bin 865768 -> 865768 bytes
 49 files changed, 54 insertions(+), 11 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/57aefda6/demo-app/theming/fds-demo.scss
----------------------------------------------------------------------
diff --git a/demo-app/theming/fds-demo.scss b/demo-app/theming/fds-demo.scss
index b1aed8a..3ef54f6 100644
--- a/demo-app/theming/fds-demo.scss
+++ b/demo-app/theming/fds-demo.scss
@@ -19,10 +19,10 @@
  * In this file you should centralize your imports. After compilation simply import this file using the following HTML or equivalent:
  * <link href='demo-app/css/fds-demo.min.css' media='screen, projection' rel='stylesheet' type='text/css' /> */
 
-@import '../../target/node_modules/@nifi-fds/core/common/styles/globalVars';
+@import '../../node_modules/@nifi-fds/core/common/styles/globalVars';
 // Include the base styles for Nifi FDS core. We include this here so that you only
 // have to load a single css file for Nifi FDS in your app.
-@import '../../target/node_modules/@nifi-fds/core/theming/all-theme';
+@import '../../node_modules/@nifi-fds/core/theming/all-theme';
 @import 'structureElements';
 @import 'helperClasses';
 

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/57aefda6/node_modules/.bin/blocking-proxy
----------------------------------------------------------------------
diff --git a/node_modules/.bin/blocking-proxy b/node_modules/.bin/blocking-proxy
new file mode 120000
index 0000000..2b0fa22
--- /dev/null
+++ b/node_modules/.bin/blocking-proxy
@@ -0,0 +1 @@
+../blocking-proxy/built/lib/bin.js
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/57aefda6/node_modules/.bin/cake
----------------------------------------------------------------------
diff --git a/node_modules/.bin/cake b/node_modules/.bin/cake
new file mode 120000
index 0000000..373ed19
--- /dev/null
+++ b/node_modules/.bin/cake
@@ -0,0 +1 @@
+../coffeescript/bin/cake
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/57aefda6/node_modules/.bin/coffee
----------------------------------------------------------------------
diff --git a/node_modules/.bin/coffee b/node_modules/.bin/coffee
new file mode 120000
index 0000000..52c50e8
--- /dev/null
+++ b/node_modules/.bin/coffee
@@ -0,0 +1 @@
+../coffeescript/bin/coffee
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/57aefda6/node_modules/.bin/dateformat
----------------------------------------------------------------------
diff --git a/node_modules/.bin/dateformat b/node_modules/.bin/dateformat
new file mode 120000
index 0000000..bb9cf7b
--- /dev/null
+++ b/node_modules/.bin/dateformat
@@ -0,0 +1 @@
+../dateformat/bin/cli.js
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/57aefda6/node_modules/.bin/detect-libc
----------------------------------------------------------------------
diff --git a/node_modules/.bin/detect-libc b/node_modules/.bin/detect-libc
new file mode 120000
index 0000000..b4c4b76
--- /dev/null
+++ b/node_modules/.bin/detect-libc
@@ -0,0 +1 @@
+../detect-libc/bin/detect-libc.js
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/57aefda6/node_modules/.bin/ecstatic
----------------------------------------------------------------------
diff --git a/node_modules/.bin/ecstatic b/node_modules/.bin/ecstatic
new file mode 120000
index 0000000..5a8a58a
--- /dev/null
+++ b/node_modules/.bin/ecstatic
@@ -0,0 +1 @@
+../ecstatic/lib/ecstatic.js
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/57aefda6/node_modules/.bin/escodegen
----------------------------------------------------------------------
diff --git a/node_modules/.bin/escodegen b/node_modules/.bin/escodegen
new file mode 120000
index 0000000..01a7c32
--- /dev/null
+++ b/node_modules/.bin/escodegen
@@ -0,0 +1 @@
+../escodegen/bin/escodegen.js
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/57aefda6/node_modules/.bin/esgenerate
----------------------------------------------------------------------
diff --git a/node_modules/.bin/esgenerate b/node_modules/.bin/esgenerate
new file mode 120000
index 0000000..7d0293e
--- /dev/null
+++ b/node_modules/.bin/esgenerate
@@ -0,0 +1 @@
+../escodegen/bin/esgenerate.js
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/57aefda6/node_modules/.bin/esparse
----------------------------------------------------------------------
diff --git a/node_modules/.bin/esparse b/node_modules/.bin/esparse
new file mode 120000
index 0000000..7423b18
--- /dev/null
+++ b/node_modules/.bin/esparse
@@ -0,0 +1 @@
+../esprima/bin/esparse.js
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/57aefda6/node_modules/.bin/esvalidate
----------------------------------------------------------------------
diff --git a/node_modules/.bin/esvalidate b/node_modules/.bin/esvalidate
new file mode 120000
index 0000000..16069ef
--- /dev/null
+++ b/node_modules/.bin/esvalidate
@@ -0,0 +1 @@
+../esprima/bin/esvalidate.js
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/57aefda6/node_modules/.bin/grunt
----------------------------------------------------------------------
diff --git a/node_modules/.bin/grunt b/node_modules/.bin/grunt
new file mode 120000
index 0000000..47724d2
--- /dev/null
+++ b/node_modules/.bin/grunt
@@ -0,0 +1 @@
+../grunt/bin/grunt
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/57aefda6/node_modules/.bin/handlebars
----------------------------------------------------------------------
diff --git a/node_modules/.bin/handlebars b/node_modules/.bin/handlebars
new file mode 120000
index 0000000..fb7d090
--- /dev/null
+++ b/node_modules/.bin/handlebars
@@ -0,0 +1 @@
+../handlebars/bin/handlebars
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/57aefda6/node_modules/.bin/he
----------------------------------------------------------------------
diff --git a/node_modules/.bin/he b/node_modules/.bin/he
new file mode 120000
index 0000000..2a8eb5e
--- /dev/null
+++ b/node_modules/.bin/he
@@ -0,0 +1 @@
+../he/bin/he
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/57aefda6/node_modules/.bin/hs
----------------------------------------------------------------------
diff --git a/node_modules/.bin/hs b/node_modules/.bin/hs
new file mode 120000
index 0000000..cb3b666
--- /dev/null
+++ b/node_modules/.bin/hs
@@ -0,0 +1 @@
+../http-server/bin/http-server
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/57aefda6/node_modules/.bin/http-server
----------------------------------------------------------------------
diff --git a/node_modules/.bin/http-server b/node_modules/.bin/http-server
new file mode 120000
index 0000000..cb3b666
--- /dev/null
+++ b/node_modules/.bin/http-server
@@ -0,0 +1 @@
+../http-server/bin/http-server
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/57aefda6/node_modules/.bin/in-install
----------------------------------------------------------------------
diff --git a/node_modules/.bin/in-install b/node_modules/.bin/in-install
new file mode 120000
index 0000000..08c9689
--- /dev/null
+++ b/node_modules/.bin/in-install
@@ -0,0 +1 @@
+../in-publish/in-install.js
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/57aefda6/node_modules/.bin/in-publish
----------------------------------------------------------------------
diff --git a/node_modules/.bin/in-publish b/node_modules/.bin/in-publish
new file mode 120000
index 0000000..ae9e779
--- /dev/null
+++ b/node_modules/.bin/in-publish
@@ -0,0 +1 @@
+../in-publish/in-publish.js
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/57aefda6/node_modules/.bin/istanbul
----------------------------------------------------------------------
diff --git a/node_modules/.bin/istanbul b/node_modules/.bin/istanbul
new file mode 120000
index 0000000..c129fe5
--- /dev/null
+++ b/node_modules/.bin/istanbul
@@ -0,0 +1 @@
+../istanbul/lib/cli.js
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/57aefda6/node_modules/.bin/jasmine
----------------------------------------------------------------------
diff --git a/node_modules/.bin/jasmine b/node_modules/.bin/jasmine
new file mode 120000
index 0000000..d2c1bff
--- /dev/null
+++ b/node_modules/.bin/jasmine
@@ -0,0 +1 @@
+../jasmine/bin/jasmine.js
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/57aefda6/node_modules/.bin/js-yaml
----------------------------------------------------------------------
diff --git a/node_modules/.bin/js-yaml b/node_modules/.bin/js-yaml
new file mode 120000
index 0000000..9dbd010
--- /dev/null
+++ b/node_modules/.bin/js-yaml
@@ -0,0 +1 @@
+../js-yaml/bin/js-yaml.js
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/57aefda6/node_modules/.bin/karma
----------------------------------------------------------------------
diff --git a/node_modules/.bin/karma b/node_modules/.bin/karma
new file mode 120000
index 0000000..0dfd162
--- /dev/null
+++ b/node_modules/.bin/karma
@@ -0,0 +1 @@
+../karma-cli/bin/karma
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/57aefda6/node_modules/.bin/mime
----------------------------------------------------------------------
diff --git a/node_modules/.bin/mime b/node_modules/.bin/mime
new file mode 120000
index 0000000..fbb7ee0
--- /dev/null
+++ b/node_modules/.bin/mime
@@ -0,0 +1 @@
+../mime/cli.js
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/57aefda6/node_modules/.bin/mkdirp
----------------------------------------------------------------------
diff --git a/node_modules/.bin/mkdirp b/node_modules/.bin/mkdirp
new file mode 120000
index 0000000..017896c
--- /dev/null
+++ b/node_modules/.bin/mkdirp
@@ -0,0 +1 @@
+../mkdirp/bin/cmd.js
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/57aefda6/node_modules/.bin/node-gyp
----------------------------------------------------------------------
diff --git a/node_modules/.bin/node-gyp b/node_modules/.bin/node-gyp
new file mode 120000
index 0000000..9b31a4f
--- /dev/null
+++ b/node_modules/.bin/node-gyp
@@ -0,0 +1 @@
+../node-gyp/bin/node-gyp.js
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/57aefda6/node_modules/.bin/node-sass
----------------------------------------------------------------------
diff --git a/node_modules/.bin/node-sass b/node_modules/.bin/node-sass
new file mode 120000
index 0000000..a4b0134
--- /dev/null
+++ b/node_modules/.bin/node-sass
@@ -0,0 +1 @@
+../node-sass/bin/node-sass
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/57aefda6/node_modules/.bin/nopt
----------------------------------------------------------------------
diff --git a/node_modules/.bin/nopt b/node_modules/.bin/nopt
new file mode 120000
index 0000000..6b6566e
--- /dev/null
+++ b/node_modules/.bin/nopt
@@ -0,0 +1 @@
+../nopt/bin/nopt.js
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/57aefda6/node_modules/.bin/not-in-install
----------------------------------------------------------------------
diff --git a/node_modules/.bin/not-in-install b/node_modules/.bin/not-in-install
new file mode 120000
index 0000000..dbfcf38
--- /dev/null
+++ b/node_modules/.bin/not-in-install
@@ -0,0 +1 @@
+../in-publish/not-in-install.js
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/57aefda6/node_modules/.bin/not-in-publish
----------------------------------------------------------------------
diff --git a/node_modules/.bin/not-in-publish b/node_modules/.bin/not-in-publish
new file mode 120000
index 0000000..5cc2922
--- /dev/null
+++ b/node_modules/.bin/not-in-publish
@@ -0,0 +1 @@
+../in-publish/not-in-publish.js
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/57aefda6/node_modules/.bin/opener
----------------------------------------------------------------------
diff --git a/node_modules/.bin/opener b/node_modules/.bin/opener
new file mode 120000
index 0000000..120b591
--- /dev/null
+++ b/node_modules/.bin/opener
@@ -0,0 +1 @@
+../opener/opener.js
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/57aefda6/node_modules/.bin/prebuild-install
----------------------------------------------------------------------
diff --git a/node_modules/.bin/prebuild-install b/node_modules/.bin/prebuild-install
new file mode 120000
index 0000000..12a458d
--- /dev/null
+++ b/node_modules/.bin/prebuild-install
@@ -0,0 +1 @@
+../prebuild-install/bin.js
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/57aefda6/node_modules/.bin/protractor
----------------------------------------------------------------------
diff --git a/node_modules/.bin/protractor b/node_modules/.bin/protractor
new file mode 120000
index 0000000..58967e8
--- /dev/null
+++ b/node_modules/.bin/protractor
@@ -0,0 +1 @@
+../protractor/bin/protractor
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/57aefda6/node_modules/.bin/rc
----------------------------------------------------------------------
diff --git a/node_modules/.bin/rc b/node_modules/.bin/rc
new file mode 120000
index 0000000..48b3cda
--- /dev/null
+++ b/node_modules/.bin/rc
@@ -0,0 +1 @@
+../rc/cli.js
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/57aefda6/node_modules/.bin/rimraf
----------------------------------------------------------------------
diff --git a/node_modules/.bin/rimraf b/node_modules/.bin/rimraf
new file mode 120000
index 0000000..4cd49a4
--- /dev/null
+++ b/node_modules/.bin/rimraf
@@ -0,0 +1 @@
+../rimraf/bin.js
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/57aefda6/node_modules/.bin/sassgraph
----------------------------------------------------------------------
diff --git a/node_modules/.bin/sassgraph b/node_modules/.bin/sassgraph
new file mode 120000
index 0000000..901ada9
--- /dev/null
+++ b/node_modules/.bin/sassgraph
@@ -0,0 +1 @@
+../sass-graph/bin/sassgraph
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/57aefda6/node_modules/.bin/semver
----------------------------------------------------------------------
diff --git a/node_modules/.bin/semver b/node_modules/.bin/semver
new file mode 120000
index 0000000..317eb29
--- /dev/null
+++ b/node_modules/.bin/semver
@@ -0,0 +1 @@
+../semver/bin/semver
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/57aefda6/node_modules/.bin/sshpk-conv
----------------------------------------------------------------------
diff --git a/node_modules/.bin/sshpk-conv b/node_modules/.bin/sshpk-conv
new file mode 120000
index 0000000..a2a295c
--- /dev/null
+++ b/node_modules/.bin/sshpk-conv
@@ -0,0 +1 @@
+../sshpk/bin/sshpk-conv
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/57aefda6/node_modules/.bin/sshpk-sign
----------------------------------------------------------------------
diff --git a/node_modules/.bin/sshpk-sign b/node_modules/.bin/sshpk-sign
new file mode 120000
index 0000000..766b9b3
--- /dev/null
+++ b/node_modules/.bin/sshpk-sign
@@ -0,0 +1 @@
+../sshpk/bin/sshpk-sign
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/57aefda6/node_modules/.bin/sshpk-verify
----------------------------------------------------------------------
diff --git a/node_modules/.bin/sshpk-verify b/node_modules/.bin/sshpk-verify
new file mode 120000
index 0000000..bfd7e3a
--- /dev/null
+++ b/node_modules/.bin/sshpk-verify
@@ -0,0 +1 @@
+../sshpk/bin/sshpk-verify
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/57aefda6/node_modules/.bin/strip-indent
----------------------------------------------------------------------
diff --git a/node_modules/.bin/strip-indent b/node_modules/.bin/strip-indent
new file mode 120000
index 0000000..dddee7e
--- /dev/null
+++ b/node_modules/.bin/strip-indent
@@ -0,0 +1 @@
+../strip-indent/cli.js
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/57aefda6/node_modules/.bin/uglifyjs
----------------------------------------------------------------------
diff --git a/node_modules/.bin/uglifyjs b/node_modules/.bin/uglifyjs
new file mode 120000
index 0000000..fef3468
--- /dev/null
+++ b/node_modules/.bin/uglifyjs
@@ -0,0 +1 @@
+../uglify-js/bin/uglifyjs
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/57aefda6/node_modules/.bin/uuid
----------------------------------------------------------------------
diff --git a/node_modules/.bin/uuid b/node_modules/.bin/uuid
new file mode 120000
index 0000000..b3e45bc
--- /dev/null
+++ b/node_modules/.bin/uuid
@@ -0,0 +1 @@
+../uuid/bin/uuid
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/57aefda6/node_modules/.bin/webdriver-manager
----------------------------------------------------------------------
diff --git a/node_modules/.bin/webdriver-manager b/node_modules/.bin/webdriver-manager
new file mode 120000
index 0000000..bc2ec1a
--- /dev/null
+++ b/node_modules/.bin/webdriver-manager
@@ -0,0 +1 @@
+../protractor/bin/webdriver-manager
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/57aefda6/node_modules/.bin/which
----------------------------------------------------------------------
diff --git a/node_modules/.bin/which b/node_modules/.bin/which
new file mode 120000
index 0000000..f62471c
--- /dev/null
+++ b/node_modules/.bin/which
@@ -0,0 +1 @@
+../which/bin/which
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/57aefda6/node_modules/@nifi-fds/core/common/styles/_basicElements.scss
----------------------------------------------------------------------
diff --git a/node_modules/@nifi-fds/core/common/styles/_basicElements.scss b/node_modules/@nifi-fds/core/common/styles/_basicElements.scss
index 197e783..333729e 100644
--- a/node_modules/@nifi-fds/core/common/styles/_basicElements.scss
+++ b/node_modules/@nifi-fds/core/common/styles/_basicElements.scss
@@ -19,56 +19,56 @@
   font-family: 'Roboto';
   font-style: normal;
   font-weight: 300;
-  src: local("Roboto Light"), local("Roboto-Light"), url("../../../../../roboto-fontface/fonts/Roboto/Roboto-Light.ttf") format("truetype");
+  src: local("Roboto Light"), local("Roboto-Light"), url("../../../../../roboto-fontface/fonts/roboto/Roboto-Light.ttf") format("truetype");
 }
 
 @font-face {
   font-family: 'Roboto';
   font-style: italic;
   font-weight: 300;
-  src: local("Roboto LightItalic"), local("Roboto-LightItalic"), url("../../../../../roboto-fontface/fonts/Roboto/Roboto-LightItalic.ttf") format("truetype");
+  src: local("Roboto LightItalic"), local("Roboto-LightItalic"), url("../../../../../roboto-fontface/fonts/roboto/Roboto-LightItalic.ttf") format("truetype");
 }
 
 @font-face {
   font-family: 'Roboto';
   font-style: normal;
   font-weight: normal;
-  src: local("Roboto Regular"), local("Roboto-Regular"), url("../../../../../roboto-fontface/fonts/Roboto/Roboto-Regular.ttf") format("truetype");
+  src: local("Roboto Regular"), local("Roboto-Regular"), url("../../../../../roboto-fontface/fonts/roboto/Roboto-Regular.ttf") format("truetype");
 }
 
 @font-face {
   font-family: 'Roboto';
   font-style: normal;
   font-weight: 500;
-  src: local("Roboto Medium"), local("Roboto-Medium"), url("../../../../../roboto-fontface/fonts/Roboto/Roboto-Medium.ttf") format("truetype");
+  src: local("Roboto Medium"), local("Roboto-Medium"), url("../../../../../roboto-fontface/fonts/roboto/Roboto-Medium.ttf") format("truetype");
 }
 
 @font-face {
   font-family: 'Roboto';
   font-style: normal;
   font-weight: bold;
-  src: local("Roboto Bold"), local("Roboto-Bold"), url("../../../../../roboto-fontface/fonts/Roboto/Roboto-Bold.ttf") format("truetype");
+  src: local("Roboto Bold"), local("Roboto-Bold"), url("../../../../../roboto-fontface/fonts/roboto/Roboto-Bold.ttf") format("truetype");
 }
 
 @font-face {
   font-family: 'Roboto';
   font-style: italic;
   font-weight: normal;
-  src: local("Roboto Italic"), local("Roboto-Italic"), url("../../../../../roboto-fontface/fonts/Roboto/Roboto-RegularItalic.ttf") format("truetype");
+  src: local("Roboto Italic"), local("Roboto-Italic"), url("../../../../../roboto-fontface/fonts/roboto/Roboto-RegularItalic.ttf") format("truetype");
 }
 
 @font-face {
   font-family: 'Roboto Slab';
   font-style: normal;
   font-weight: normal;
-  src: local("RobotoSlab Regular"), local("RobotoSlab-Regular"), url("../../../../../roboto-fontface/fonts/Roboto-Slab/Roboto-Slab-Regular.ttf") format("truetype");
+  src: local("RobotoSlab Regular"), local("RobotoSlab-Regular"), url("../../../../../roboto-fontface/fonts/roboto-slab/Roboto-Slab-Regular.ttf") format("truetype");
 }
 
 @font-face {
   font-family: 'Roboto Slab';
   font-style: normal;
   font-weight: bold;
-  src: local("RobotoSlab Bold"), local("RobotoSlab-Bold"), url("../../../../../roboto-fontface/fonts/Roboto-Slab/Roboto-Slab-Bold.ttf") format("truetype");
+  src: local("RobotoSlab Bold"), local("RobotoSlab-Bold"), url("../../../../../roboto-fontface/fonts/roboto-slab/Roboto-Slab-Bold.ttf") format("truetype");
 }
 
 body,

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/57aefda6/node_modules/@nifi-fds/core/common/styles/css/flow-design-system.min.css
----------------------------------------------------------------------
diff --git a/node_modules/@nifi-fds/core/common/styles/css/flow-design-system.min.css b/node_modules/@nifi-fds/core/common/styles/css/flow-design-system.min.css
index 11af352..26e7c54 100644
--- a/node_modules/@nifi-fds/core/common/styles/css/flow-design-system.min.css
+++ b/node_modules/@nifi-fds/core/common/styles/css/flow-design-system.min.css
@@ -1,3 +1,3 @@
-@font-face{font-family:'Roboto';font-style:normal;font-weight:300;src:local("Roboto Light"),local("Roboto-Light"),url("../../../../../roboto-fontface/fonts/Roboto/Roboto-Light.ttf") format("truetype")}@font-face{font-family:'Roboto';font-style:italic;font-weight:300;src:local("Roboto LightItalic"),local("Roboto-LightItalic"),url("../../../../../roboto-fontface/fonts/Roboto/Roboto-LightItalic.ttf") format("truetype")}@font-face{font-family:'Roboto';font-style:normal;font-weight:normal;src:local("Roboto Regular"),local("Roboto-Regular"),url("../../../../../roboto-fontface/fonts/Roboto/Roboto-Regular.ttf") format("truetype")}@font-face{font-family:'Roboto';font-style:normal;font-weight:500;src:local("Roboto Medium"),local("Roboto-Medium"),url("../../../../../roboto-fontface/fonts/Roboto/Roboto-Medium.ttf") format("truetype")}@font-face{font-family:'Roboto';font-style:normal;font-weight:bold;src:local("Roboto Bold"),local("Roboto-Bold"),url("../../../../../roboto-fontface/fonts/Roboto/R
 oboto-Bold.ttf") format("truetype")}@font-face{font-family:'Roboto';font-style:italic;font-weight:normal;src:local("Roboto Italic"),local("Roboto-Italic"),url("../../../../../roboto-fontface/fonts/Roboto/Roboto-RegularItalic.ttf") format("truetype")}@font-face{font-family:'Roboto Slab';font-style:normal;font-weight:normal;src:local("RobotoSlab Regular"),local("RobotoSlab-Regular"),url("../../../../../roboto-fontface/fonts/Roboto-Slab/Roboto-Slab-Regular.ttf") format("truetype")}@font-face{font-family:'Roboto Slab';font-style:normal;font-weight:bold;src:local("RobotoSlab Bold"),local("RobotoSlab-Bold"),url("../../../../../roboto-fontface/fonts/Roboto-Slab/Roboto-Slab-Bold.ttf") format("truetype")}body,html{height:100%}body,button,input,label,select,td,textarea{font-family:"Roboto",sans-serif;font-size:14px}body{color:#333}strong{font-weight:bold}pre{overflow-x:auto}em{font-style:italic}h1,h2,h3,h4,h5,h6{font-family:"Roboto",sans-serif;font-weight:normal;font-style:normal;background:#
 FFFFFF}h1{color:#333}h2{color:#666}table{font-family:"Roboto",sans-serif;font-size:13px;color:#666}.camel-case{text-transform:capitalize}.header{font-family:"Roboto Medium",sans-serif;font-size:16px;color:#333;padding-bottom:10px}.help-icon{font-size:12px;color:#1491C1}.details-header{height:92px}.details-header-container{position:relative;top:22px;left:10px}.description{font-family:"Roboto Light",sans-serif;font-size:12px;color:#666}.description i{padding-right:5px}.label{font-family:"Roboto Medium",sans-serif;font-size:14px;color:#333;text-transform:uppercase}.units{font-family:"Roboto Light",sans-serif;font-size:14px;color:#333}.align-vertical{margin-top:auto;margin-bottom:auto}.align-horizontal{margin-left:auto;margin-right:auto}.fill-available-width{width:100%}.pointer{cursor:pointer}body[fds] .expansion-panel-filter-toggle-group{box-shadow:none !important}body[fds] .expansion-panel-filter-toggle-group .mat-button-toggle{height:75px;width:125px;border:1px solid #ccc}body[fds] .
 expansion-panel-filter-toggle-group .mat-button-toggle-label-content{height:100%;width:100%;padding:0;line-height:63px;text-align:center}body[fds] .expansion-panel-filter-toggle-group .mat-button-toggle-checked{background-color:#6B8791;color:white}body[fds] .expansion-panel-filter-toggle-group .mat-button-toggle-checked .md-display-1{color:white}body[fds] .expansion-panel-filter-toggle-group .md-display-1{color:#6B8791}body[fds] .expansion-panel-filter-toggle-group div{line-height:normal}body[fds] .tab-toggle-group{box-shadow:none !important}body[fds] .tab-toggle-group .mat-button-toggle-label-content{border-bottom:2px solid #eee}body[fds] .tab-toggle-group .mat-button-toggle-checked{background:transparent}body[fds] .tab-toggle-group .mat-button-toggle-checked .mat-button-toggle-label-content{border-bottom:2px solid #6B8791;background:transparent}body[fds] .on-off-toggle-group{box-shadow:none !important}body[fds] .on-off-toggle-group .mat-button-toggle{height:20px;width:35px;border:
 1px solid #ccc}body[fds] .on-off-toggle-group .mat-button-toggle-label-content{height:100%;width:100%;padding:0;line-height:20px;text-align:center}body[fds] .on-off-toggle-group .mat-button-toggle-checked{background-color:#6B8791;color:white;border:1px solid #6B8791}body[fds] .off-toggle.mat-button-toggle-checked{background-color:#ccc;color:#333;border:1px solid #ccc}body[fds] .mat-checkbox-inner-container{height:10px !important;width:10px !important}body[fds] .mat-checkbox-frame{height:10px;width:10px;border-color:#ddd}body[fds] .mat-checkbox-ripple{left:-7px;top:-7px;right:-7px;bottom:-7px}body[fds] .mat-checkbox-indeterminate.mat-accent .mat-checkbox-background,body[fds] .mat-checkbox-checked.mat-accent .mat-checkbox-background{background-color:#6B8791}body[fds] .mat-checkbox-inner-container:hover{background-color:#6B8791;border-radius:2px}body[fds] .mat-checkbox-background{height:10px;width:10px}body[fds] .mat-pseudo-checkbox{height:10px !important;width:10px !important;border:1
 px solid #ddd}body[fds] .mat-pseudo-checkbox:hover{background-color:#6B8791;border:1px solid #6B8791}body[fds] .mat-pseudo-checkbox-checked::after{content:'\f00c';font-size:8px;font-family:fontawesome;margin-top:-9px;margin-left:-1px;border:none;transform:initial}body[fds] .mat-pseudo-checkbox-checked,body[fds] .mat-pseudo-checkbox-indeterminate{background-color:#6B8791;border:1px solid #6B8791;height:10px;width:10px}body[fds] .mat-checkbox-disabled{cursor:not-allowed}body[fds] .mat-radio-container{height:12px;width:12px}body[fds] .mat-radio-outer-circle{height:12px;width:12px;background-color:#FFFFFF;border:1px solid #ddd}body[fds] .mat-radio-outer-circle:hover{background-color:#6B8791;border-color:#6B8791}body[fds] .mat-radio-checked .mat-radio-outer-circle{border:1px solid #6B8791;background-color:#6B8791}body[fds] .mat-radio-button.mat-accent.mat-radio-checked .mat-radio-outer-circle{border-color:#6B8791}body[fds] .mat-radio-inner-circle{height:10px;width:10px;left:1px;top:1px;b
 ackground-color:#FFFFFF}body[fds] .mat-radio-checked .mat-radio-inner-circle{background-color:#FFFFFF}body[fds] .mat-chip{border-radius:2px;font-size:10px;font-family:"Roboto",sans-serif;font-style:normal;font-weight:normal;padding:4px 12px 4px 12px}body[fds] .mat-chip i{margin-left:10px;float:right;margin-top:2px}body[fds] .mat-basic-chip{color:#666;height:24px;margin:22px 8px 0 0}body[fds] .mat-basic-chip.td-chip-after-pad{padding:4px 12px 4px 12px}body[fds] .mat-basic-chip i{margin-left:10px;float:right;margin-top:2px}body[fds] .mat-basic-chip .td-chip{font-size:10px;min-height:unset;line-height:20px;position:relative;top:-2px}body[fds] .td-chip span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;width:65px}body[fds] .td-chip-disabled .td-chip{padding:0px 0px 0px 12px}body[fds] .mat-basic-chip mat-icon.td-chip-removal{font-size:15px;margin-bottom:7px}body[fds] .mat-dialog-container{padding:20px;width:400px}body[fds] .mat-tab-label{line-height:72px;text-transform:upperc
 ase;color:#666}body[fds] .mat-tab-label:hover:not([disabled]){color:#333}body[fds] .mat-tab-label:focus:not([disabled]){background-color:#FFFFFF}body[fds] .mat-tab-label-active{color:#333}body[fds] .mat-tab-nav-bar,body[fds] .mat-tab-header{border-bottom:0px}body[fds] .mat-input-container{min-width:200px}body[fds] .mat-input-wrapper{margin:0;padding-bottom:0}body[fds] input.mat-input-element,body[fds] textarea.mat-input-element{border-radius:2px;color:#666;border:1px solid #CFD3D7;height:32px;padding:0px 10px;width:calc(100% - 26px)}body[fds] textarea.mat-input-element{padding:10px 10px}body[fds] input.mat-input-element[disabled],body[fds] textarea.mat-input-element[disabled]{background:#b2b8c1;color:#dbdee2;border:1px solid #b2b8c1}body[fds] .mat-input-subscript-wrapper{margin-top:18px;width:calc(100% - 23px)}body[fds] input.mat-input-element:focus,body[fds] textarea.mat-input-element:focus{border-color:#6B8791}body[fds] .mat-input-underline{display:none}body[fds] .mat-input-placeh
 older{font-size:14px;color:#999;font-weight:300}body[fds] .mat-input-placeholder{top:27px;left:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;width:calc(100% - 44px)}body[fds] mat-input-container.mat-focused .mat-input-placeholder{transform:translateY(-26px) translateX(-10px) scale(0.75)}body[fds] .mat-form-field-can-float.mat-form-field-should-float .mat-form-field-placeholder{transform:translateY(-26px) translateX(-10px) scale(0.75)}body[fds] .mat-form-field-can-float .mat-form-field-autofill-control:-webkit-autofill+.mat-form-field-placeholder-wrapper .mat-form-field-placeholder{transform:translateY(-26px) translateX(-10px) scale(0.75)}body[fds] .input-button{top:5px;left:-4px;border-left:none !important}body[fds] .input-button.mat-raised-button[disabled]{opacity:1}body[fds] td-chips .mat-input-placeholder-wrapper::after{content:'\f0b0';display:inline-table;font-family:FontAwesome;float:right;margin:15px 10px 0px 0px;color:#999}body[fds] .mat-hint{color:#999}body[
 fds] .md-card-title{font-size:20px;color:#333;margin-bottom:0px}body[fds] md-card-title{padding-top:20px;padding-left:20px;padding-right:20px}body[fds] .md-card-subtitle{padding-left:20px;padding-right:20px;padding-top:10px;margin-bottom:0px}body[fds] .md-card-content{color:#666;padding:10px 20px 20px 20px;margin:0px}body[fds] .md-card .md-card-actions:last-child,body[fds] .md-card .md-card .md-card-actions:last-child{padding:0px 20px 20px 20px;margin:0px}body[fds] .fds-panel-menu-button{position:absolute;right:0px;z-index:2}body[fds] .mat-progress-bar-buffer{background-color:#ccc}body[fds] .link{color:#6B8791;font-size:14px;text-decoration:none;line-height:24px;cursor:pointer}body[fds] .link:hover{text-decoration:underline}body[fds] .link .disabled{color:#333;text-decoration:none}body[fds] .mat-sidenav-container{height:100%}.td-step-header span{display:none}body[fds] .mat-tooltip{background:#666;opacity:.9;box-shadow:inset 0px 0px 3px 0px #1391c1}body[fds] .td-data-table-cell{font-
 size:13px;color:#666;padding:0 28px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;height:100%;line-height:30px}body[fds] .td-data-table-column{color:#999;font-weight:normal}body[fds] .td-data-table-row{height:34px;border-top:1px solid #fff;border-left:1px solid #fff;border-right:1px solid #fff;border-bottom:1px solid #eee}body[fds] .td-data-table-row.selected{background-color:#eee;border:1px solid #eee}body[fds] .td-data-table-row:hover{background-color:#F8F9F9;border:1px solid #B2C1C6}body[fds] .td-data-table-cell .mat-icon-button{color:#6B8791}body[fds] .td-data-table-cell .mat-icon-button:disabled{color:#808793;cursor:not-allowed}body[fds] .td-data-table-cell .mat-button,body[fds] .td-data-table-cell .mat-icon-button,body[fds] .td-data-table-cell .mat-raised-button{height:24px;width:24px;line-height:0}body[fds] .td-data-table-cell .mat-icon-button.badge{border-top-left-radius:0px;border-top-right-radius:0px}body[fds] .td-data-table-cell .mat-icon-button.badge[disabled
 ]{opacity:.3}body[fds] .td-data-table-column{font-size:12px;color:#999;height:34px;line-height:34px;padding:0 28px;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}body[fds] .td-data-table-column .fa-caret-up,body[fds] .td-data-table-column .fa-caret-down{color:#6B8791;font-size:12px;margin-bottom:2px}body[fds] td-paging-bar{color:#999}body[fds] td-paging-bar mat-select .mat-select-value,body[fds] td-paging-bar mat-select .mat-select-arrow{color:#6B8791}body[fds] .table-title{font-size:20px;color:#333;min-width:250px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:50%;margin-right:10px}body[fds] div .td-data-table{border-bottom:2px solid #ddd;border-right:1px transparent;border-left:1px transparent}.fds-dialog-title{margin-top:0;margin-bottom:20px}body[fds] snack-bar-container{background:#FFFFFF;padding:0;box-shadow:0px 0px 3px 0px #1391c1}fds-snackbar-title mat-icon.mat-icon.mat-primary.material-icons{font-size:10px;height:10px;width:10px;line-height:10
 px;color:#999}.fds-coaster-message{font-size:12px}.fds-snackbar-title{font-size:14px}.fds-snackbar-title i{font-size:24px}.fds-coaster-icon{position:absolute;top:24px;left:15px}.coaster-close-icon{height:10px !important;width:10px !important;line-height:10px !important;right:10px;position:absolute !important;top:10px}.fds-snackbar-wrapper{border-radius:2px;border-width:1px;border-style:solid}
+@font-face{font-family:'Roboto';font-style:normal;font-weight:300;src:local("Roboto Light"),local("Roboto-Light"),url("../../../../../roboto-fontface/fonts/roboto/Roboto-Light.ttf") format("truetype")}@font-face{font-family:'Roboto';font-style:italic;font-weight:300;src:local("Roboto LightItalic"),local("Roboto-LightItalic"),url("../../../../../roboto-fontface/fonts/roboto/Roboto-LightItalic.ttf") format("truetype")}@font-face{font-family:'Roboto';font-style:normal;font-weight:normal;src:local("Roboto Regular"),local("Roboto-Regular"),url("../../../../../roboto-fontface/fonts/roboto/Roboto-Regular.ttf") format("truetype")}@font-face{font-family:'Roboto';font-style:normal;font-weight:500;src:local("Roboto Medium"),local("Roboto-Medium"),url("../../../../../roboto-fontface/fonts/roboto/Roboto-Medium.ttf") format("truetype")}@font-face{font-family:'Roboto';font-style:normal;font-weight:bold;src:local("Roboto Bold"),local("Roboto-Bold"),url("../../../../../roboto-fontface/fonts/roboto/R
 oboto-Bold.ttf") format("truetype")}@font-face{font-family:'Roboto';font-style:italic;font-weight:normal;src:local("Roboto Italic"),local("Roboto-Italic"),url("../../../../../roboto-fontface/fonts/roboto/Roboto-RegularItalic.ttf") format("truetype")}@font-face{font-family:'Roboto Slab';font-style:normal;font-weight:normal;src:local("RobotoSlab Regular"),local("RobotoSlab-Regular"),url("../../../../../roboto-fontface/fonts/roboto-slab/Roboto-Slab-Regular.ttf") format("truetype")}@font-face{font-family:'Roboto Slab';font-style:normal;font-weight:bold;src:local("RobotoSlab Bold"),local("RobotoSlab-Bold"),url("../../../../../roboto-fontface/fonts/roboto-slab/Roboto-Slab-Bold.ttf") format("truetype")}body,html{height:100%}body,button,input,label,select,td,textarea{font-family:"Roboto",sans-serif;font-size:14px}body{color:#333}strong{font-weight:bold}pre{overflow-x:auto}em{font-style:italic}h1,h2,h3,h4,h5,h6{font-family:"Roboto",sans-serif;font-weight:normal;font-style:normal;background:#
 FFFFFF}h1{color:#333}h2{color:#666}table{font-family:"Roboto",sans-serif;font-size:13px;color:#666}.camel-case{text-transform:capitalize}.header{font-family:"Roboto Medium",sans-serif;font-size:16px;color:#333;padding-bottom:10px}.help-icon{font-size:12px;color:#1491C1}.details-header{height:92px}.details-header-container{position:relative;top:22px;left:10px}.description{font-family:"Roboto Light",sans-serif;font-size:12px;color:#666}.description i{padding-right:5px}.label{font-family:"Roboto Medium",sans-serif;font-size:14px;color:#333;text-transform:uppercase}.units{font-family:"Roboto Light",sans-serif;font-size:14px;color:#333}.align-vertical{margin-top:auto;margin-bottom:auto}.align-horizontal{margin-left:auto;margin-right:auto}.fill-available-width{width:100%}.pointer{cursor:pointer}body[fds] .expansion-panel-filter-toggle-group{box-shadow:none !important}body[fds] .expansion-panel-filter-toggle-group .mat-button-toggle{height:75px;width:125px;border:1px solid #ccc}body[fds] .
 expansion-panel-filter-toggle-group .mat-button-toggle-label-content{height:100%;width:100%;padding:0;line-height:63px;text-align:center}body[fds] .expansion-panel-filter-toggle-group .mat-button-toggle-checked{background-color:#6B8791;color:white}body[fds] .expansion-panel-filter-toggle-group .mat-button-toggle-checked .md-display-1{color:white}body[fds] .expansion-panel-filter-toggle-group .md-display-1{color:#6B8791}body[fds] .expansion-panel-filter-toggle-group div{line-height:normal}body[fds] .tab-toggle-group{box-shadow:none !important}body[fds] .tab-toggle-group .mat-button-toggle-label-content{border-bottom:2px solid #eee}body[fds] .tab-toggle-group .mat-button-toggle-checked{background:transparent}body[fds] .tab-toggle-group .mat-button-toggle-checked .mat-button-toggle-label-content{border-bottom:2px solid #6B8791;background:transparent}body[fds] .on-off-toggle-group{box-shadow:none !important}body[fds] .on-off-toggle-group .mat-button-toggle{height:20px;width:35px;border:
 1px solid #ccc}body[fds] .on-off-toggle-group .mat-button-toggle-label-content{height:100%;width:100%;padding:0;line-height:20px;text-align:center}body[fds] .on-off-toggle-group .mat-button-toggle-checked{background-color:#6B8791;color:white;border:1px solid #6B8791}body[fds] .off-toggle.mat-button-toggle-checked{background-color:#ccc;color:#333;border:1px solid #ccc}body[fds] .mat-checkbox-inner-container{height:10px !important;width:10px !important}body[fds] .mat-checkbox-frame{height:10px;width:10px;border-color:#ddd}body[fds] .mat-checkbox-ripple{left:-7px;top:-7px;right:-7px;bottom:-7px}body[fds] .mat-checkbox-indeterminate.mat-accent .mat-checkbox-background,body[fds] .mat-checkbox-checked.mat-accent .mat-checkbox-background{background-color:#6B8791}body[fds] .mat-checkbox-inner-container:hover{background-color:#6B8791;border-radius:2px}body[fds] .mat-checkbox-background{height:10px;width:10px}body[fds] .mat-pseudo-checkbox{height:10px !important;width:10px !important;border:1
 px solid #ddd}body[fds] .mat-pseudo-checkbox:hover{background-color:#6B8791;border:1px solid #6B8791}body[fds] .mat-pseudo-checkbox-checked::after{content:'\f00c';font-size:8px;font-family:fontawesome;margin-top:-9px;margin-left:-1px;border:none;transform:initial}body[fds] .mat-pseudo-checkbox-checked,body[fds] .mat-pseudo-checkbox-indeterminate{background-color:#6B8791;border:1px solid #6B8791;height:10px;width:10px}body[fds] .mat-checkbox-disabled{cursor:not-allowed}body[fds] .mat-radio-container{height:12px;width:12px}body[fds] .mat-radio-outer-circle{height:12px;width:12px;background-color:#FFFFFF;border:1px solid #ddd}body[fds] .mat-radio-outer-circle:hover{background-color:#6B8791;border-color:#6B8791}body[fds] .mat-radio-checked .mat-radio-outer-circle{border:1px solid #6B8791;background-color:#6B8791}body[fds] .mat-radio-button.mat-accent.mat-radio-checked .mat-radio-outer-circle{border-color:#6B8791}body[fds] .mat-radio-inner-circle{height:10px;width:10px;left:1px;top:1px;b
 ackground-color:#FFFFFF}body[fds] .mat-radio-checked .mat-radio-inner-circle{background-color:#FFFFFF}body[fds] .mat-chip{border-radius:2px;font-size:10px;font-family:"Roboto",sans-serif;font-style:normal;font-weight:normal;padding:4px 12px 4px 12px}body[fds] .mat-chip i{margin-left:10px;float:right;margin-top:2px}body[fds] .mat-basic-chip{color:#666;height:24px;margin:22px 8px 0 0}body[fds] .mat-basic-chip.td-chip-after-pad{padding:4px 12px 4px 12px}body[fds] .mat-basic-chip i{margin-left:10px;float:right;margin-top:2px}body[fds] .mat-basic-chip .td-chip{font-size:10px;min-height:unset;line-height:20px;position:relative;top:-2px}body[fds] .td-chip span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;width:65px}body[fds] .td-chip-disabled .td-chip{padding:0px 0px 0px 12px}body[fds] .mat-basic-chip mat-icon.td-chip-removal{font-size:15px;margin-bottom:7px}body[fds] .mat-dialog-container{padding:20px;width:400px}body[fds] .mat-tab-label{line-height:72px;text-transform:upperc
 ase;color:#666}body[fds] .mat-tab-label:hover:not([disabled]){color:#333}body[fds] .mat-tab-label:focus:not([disabled]){background-color:#FFFFFF}body[fds] .mat-tab-label-active{color:#333}body[fds] .mat-tab-nav-bar,body[fds] .mat-tab-header{border-bottom:0px}body[fds] .mat-input-container{min-width:200px}body[fds] .mat-input-wrapper{margin:0;padding-bottom:0}body[fds] input.mat-input-element,body[fds] textarea.mat-input-element{border-radius:2px;color:#666;border:1px solid #CFD3D7;height:32px;padding:0px 10px;width:calc(100% - 26px)}body[fds] textarea.mat-input-element{padding:10px 10px}body[fds] input.mat-input-element[disabled],body[fds] textarea.mat-input-element[disabled]{background:#b2b8c1;color:#dbdee2;border:1px solid #b2b8c1}body[fds] .mat-input-subscript-wrapper{margin-top:18px;width:calc(100% - 23px)}body[fds] input.mat-input-element:focus,body[fds] textarea.mat-input-element:focus{border-color:#6B8791}body[fds] .mat-input-underline{display:none}body[fds] .mat-input-placeh
 older{font-size:14px;color:#999;font-weight:300}body[fds] .mat-input-placeholder{top:27px;left:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;width:calc(100% - 44px)}body[fds] mat-input-container.mat-focused .mat-input-placeholder{transform:translateY(-26px) translateX(-10px) scale(0.75)}body[fds] .mat-form-field-can-float.mat-form-field-should-float .mat-form-field-placeholder{transform:translateY(-26px) translateX(-10px) scale(0.75)}body[fds] .mat-form-field-can-float .mat-form-field-autofill-control:-webkit-autofill+.mat-form-field-placeholder-wrapper .mat-form-field-placeholder{transform:translateY(-26px) translateX(-10px) scale(0.75)}body[fds] .input-button{top:5px;left:-4px;border-left:none !important}body[fds] .input-button.mat-raised-button[disabled]{opacity:1}body[fds] td-chips .mat-input-placeholder-wrapper::after{content:'\f0b0';display:inline-table;font-family:FontAwesome;float:right;margin:15px 10px 0px 0px;color:#999}body[fds] .mat-hint{color:#999}body[
 fds] .md-card-title{font-size:20px;color:#333;margin-bottom:0px}body[fds] md-card-title{padding-top:20px;padding-left:20px;padding-right:20px}body[fds] .md-card-subtitle{padding-left:20px;padding-right:20px;padding-top:10px;margin-bottom:0px}body[fds] .md-card-content{color:#666;padding:10px 20px 20px 20px;margin:0px}body[fds] .md-card .md-card-actions:last-child,body[fds] .md-card .md-card .md-card-actions:last-child{padding:0px 20px 20px 20px;margin:0px}body[fds] .fds-panel-menu-button{position:absolute;right:0px;z-index:2}body[fds] .mat-progress-bar-buffer{background-color:#ccc}body[fds] .link{color:#6B8791;font-size:14px;text-decoration:none;line-height:24px;cursor:pointer}body[fds] .link:hover{text-decoration:underline}body[fds] .link .disabled{color:#333;text-decoration:none}body[fds] .mat-sidenav-container{height:100%}.td-step-header span{display:none}body[fds] .mat-tooltip{background:#666;opacity:.9;box-shadow:inset 0px 0px 3px 0px #1391c1}body[fds] .td-data-table-cell{font-
 size:13px;color:#666;padding:0 28px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;height:100%;line-height:30px}body[fds] .td-data-table-column{color:#999;font-weight:normal}body[fds] .td-data-table-row{height:34px;border-top:1px solid #fff;border-left:1px solid #fff;border-right:1px solid #fff;border-bottom:1px solid #eee}body[fds] .td-data-table-row.selected{background-color:#eee;border:1px solid #eee}body[fds] .td-data-table-row:hover{background-color:#F8F9F9;border:1px solid #B2C1C6}body[fds] .td-data-table-cell .mat-icon-button{color:#6B8791}body[fds] .td-data-table-cell .mat-icon-button:disabled{color:#808793;cursor:not-allowed}body[fds] .td-data-table-cell .mat-button,body[fds] .td-data-table-cell .mat-icon-button,body[fds] .td-data-table-cell .mat-raised-button{height:24px;width:24px;line-height:0}body[fds] .td-data-table-cell .mat-icon-button.badge{border-top-left-radius:0px;border-top-right-radius:0px}body[fds] .td-data-table-cell .mat-icon-button.badge[disabled
 ]{opacity:.3}body[fds] .td-data-table-column{font-size:12px;color:#999;height:34px;line-height:34px;padding:0 28px;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}body[fds] .td-data-table-column .fa-caret-up,body[fds] .td-data-table-column .fa-caret-down{color:#6B8791;font-size:12px;margin-bottom:2px}body[fds] td-paging-bar{color:#999}body[fds] td-paging-bar mat-select .mat-select-value,body[fds] td-paging-bar mat-select .mat-select-arrow{color:#6B8791}body[fds] .table-title{font-size:20px;color:#333;min-width:250px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:50%;margin-right:10px}body[fds] div .td-data-table{border-bottom:2px solid #ddd;border-right:1px transparent;border-left:1px transparent}.fds-dialog-title{margin-top:0;margin-bottom:20px}body[fds] snack-bar-container{background:#FFFFFF;padding:0;box-shadow:0px 0px 3px 0px #1391c1}fds-snackbar-title mat-icon.mat-icon.mat-primary.material-icons{font-size:10px;height:10px;width:10px;line-height:10
 px;color:#999}.fds-coaster-message{font-size:12px}.fds-snackbar-title{font-size:14px}.fds-snackbar-title i{font-size:24px}.fds-coaster-icon{position:absolute;top:24px;left:15px}.coaster-close-icon{height:10px !important;width:10px !important;line-height:10px !important;right:10px;position:absolute !important;top:10px}.fds-snackbar-wrapper{border-radius:2px;border-width:1px;border-style:solid}
 
 /*# sourceMappingURL=flow-design-system.min.css.map */
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/57aefda6/node_modules/@nifi-fds/core/common/styles/css/flow-design-system.min.css.gz
----------------------------------------------------------------------
diff --git a/node_modules/@nifi-fds/core/common/styles/css/flow-design-system.min.css.gz b/node_modules/@nifi-fds/core/common/styles/css/flow-design-system.min.css.gz
index 5d81518..a482166 100644
Binary files a/node_modules/@nifi-fds/core/common/styles/css/flow-design-system.min.css.gz and b/node_modules/@nifi-fds/core/common/styles/css/flow-design-system.min.css.gz differ

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/57aefda6/node_modules/iltorb/build/Release/iltorb.node
----------------------------------------------------------------------
diff --git a/node_modules/iltorb/build/Release/iltorb.node b/node_modules/iltorb/build/Release/iltorb.node
index 71ddcfa..3904461 100755
Binary files a/node_modules/iltorb/build/Release/iltorb.node and b/node_modules/iltorb/build/Release/iltorb.node differ

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/57aefda6/node_modules/iltorb/build/bindings/iltorb.node
----------------------------------------------------------------------
diff --git a/node_modules/iltorb/build/bindings/iltorb.node b/node_modules/iltorb/build/bindings/iltorb.node
index 71ddcfa..3904461 100755
Binary files a/node_modules/iltorb/build/bindings/iltorb.node and b/node_modules/iltorb/build/bindings/iltorb.node differ


[21/59] [abbrv] [partial] nifi-fds git commit: update gh-pages

Posted by sc...@apache.org.
http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/eec354e6/node_modules/@angular/cdk/bundles/cdk-accordion.umd.js
----------------------------------------------------------------------
diff --git a/node_modules/@angular/cdk/bundles/cdk-accordion.umd.js b/node_modules/@angular/cdk/bundles/cdk-accordion.umd.js
new file mode 100644
index 0000000..36f8390
--- /dev/null
+++ b/node_modules/@angular/cdk/bundles/cdk-accordion.umd.js
@@ -0,0 +1,272 @@
+/**
+ * @license
+ * Copyright Google LLC All Rights Reserved.
+ *
+ * Use of this source code is governed by an MIT-style license that can be
+ * found in the LICENSE file at https://angular.io/license
+ */
+(function (global, factory) {
+	typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/core'), require('@angular/cdk/collections'), require('@angular/cdk/coercion')) :
+	typeof define === 'function' && define.amd ? define(['exports', '@angular/core', '@angular/cdk/collections', '@angular/cdk/coercion'], factory) :
+	(factory((global.ng = global.ng || {}, global.ng.cdk = global.ng.cdk || {}, global.ng.cdk.accordion = global.ng.cdk.accordion || {}),global.ng.core,global.ng.cdk.collections,global.ng.cdk.coercion));
+}(this, (function (exports,_angular_core,_angular_cdk_collections,_angular_cdk_coercion) { 'use strict';
+
+/**
+ * @fileoverview added by tsickle
+ * @suppress {checkTypes} checked by tsc
+ */
+
+/**
+ * Used to generate unique ID for each accordion.
+ */
+var nextId$1 = 0;
+/**
+ * Directive whose purpose is to manage the expanded state of CdkAccordionItem children.
+ */
+var CdkAccordion = /** @class */ (function () {
+    function CdkAccordion() {
+        /**
+         * A readonly id value to use for unique selection coordination.
+         */
+        this.id = "cdk-accordion-" + nextId$1++;
+        this._multi = false;
+    }
+    Object.defineProperty(CdkAccordion.prototype, "multi", {
+        get: /**
+         * Whether the accordion should allow multiple expanded accordion items simultaneously.
+         * @return {?}
+         */
+        function () { return this._multi; },
+        set: /**
+         * @param {?} multi
+         * @return {?}
+         */
+        function (multi) { this._multi = _angular_cdk_coercion.coerceBooleanProperty(multi); },
+        enumerable: true,
+        configurable: true
+    });
+    CdkAccordion.decorators = [
+        { type: _angular_core.Directive, args: [{
+                    selector: 'cdk-accordion, [cdkAccordion]',
+                    exportAs: 'cdkAccordion',
+                },] },
+    ];
+    /** @nocollapse */
+    CdkAccordion.ctorParameters = function () { return []; };
+    CdkAccordion.propDecorators = {
+        "multi": [{ type: _angular_core.Input },],
+    };
+    return CdkAccordion;
+}());
+
+/**
+ * @fileoverview added by tsickle
+ * @suppress {checkTypes} checked by tsc
+ */
+
+/**
+ * Used to generate unique ID for each accordion item.
+ */
+var nextId = 0;
+/**
+ * An basic directive expected to be extended and decorated as a component.  Sets up all
+ * events and attributes needed to be managed by a CdkAccordion parent.
+ */
+var CdkAccordionItem = /** @class */ (function () {
+    function CdkAccordionItem(accordion, _changeDetectorRef, _expansionDispatcher) {
+        var _this = this;
+        this.accordion = accordion;
+        this._changeDetectorRef = _changeDetectorRef;
+        this._expansionDispatcher = _expansionDispatcher;
+        /**
+         * Event emitted every time the AccordionItem is closed.
+         */
+        this.closed = new _angular_core.EventEmitter();
+        /**
+         * Event emitted every time the AccordionItem is opened.
+         */
+        this.opened = new _angular_core.EventEmitter();
+        /**
+         * Event emitted when the AccordionItem is destroyed.
+         */
+        this.destroyed = new _angular_core.EventEmitter();
+        /**
+         * Emits whenever the expanded state of the accordion changes.
+         * Primarily used to facilitate two-way binding.
+         * \@docs-private
+         */
+        this.expandedChange = new _angular_core.EventEmitter();
+        /**
+         * The unique AccordionItem id.
+         */
+        this.id = "cdk-accordion-child-" + nextId++;
+        this._expanded = false;
+        this._disabled = false;
+        /**
+         * Unregister function for _expansionDispatcher.
+         */
+        this._removeUniqueSelectionListener = function () { };
+        this._removeUniqueSelectionListener =
+            _expansionDispatcher.listen(function (id, accordionId) {
+                if (_this.accordion && !_this.accordion.multi &&
+                    _this.accordion.id === accordionId && _this.id !== id) {
+                    _this.expanded = false;
+                }
+            });
+    }
+    Object.defineProperty(CdkAccordionItem.prototype, "expanded", {
+        get: /**
+         * Whether the AccordionItem is expanded.
+         * @return {?}
+         */
+        function () { return this._expanded; },
+        set: /**
+         * @param {?} expanded
+         * @return {?}
+         */
+        function (expanded) {
+            expanded = _angular_cdk_coercion.coerceBooleanProperty(expanded);
+            // Only emit events and update the internal value if the value changes.
+            if (this._expanded !== expanded) {
+                this._expanded = expanded;
+                this.expandedChange.emit(expanded);
+                if (expanded) {
+                    this.opened.emit();
+                    /**
+                     * In the unique selection dispatcher, the id parameter is the id of the CdkAccordionItem,
+                     * the name value is the id of the accordion.
+                     */
+                    var /** @type {?} */ accordionId = this.accordion ? this.accordion.id : this.id;
+                    this._expansionDispatcher.notify(this.id, accordionId);
+                }
+                else {
+                    this.closed.emit();
+                }
+                // Ensures that the animation will run when the value is set outside of an `@Input`.
+                // This includes cases like the open, close and toggle methods.
+                this._changeDetectorRef.markForCheck();
+            }
+        },
+        enumerable: true,
+        configurable: true
+    });
+    Object.defineProperty(CdkAccordionItem.prototype, "disabled", {
+        get: /**
+         * Whether the AccordionItem is disabled.
+         * @return {?}
+         */
+        function () { return this._disabled; },
+        set: /**
+         * @param {?} disabled
+         * @return {?}
+         */
+        function (disabled) { this._disabled = _angular_cdk_coercion.coerceBooleanProperty(disabled); },
+        enumerable: true,
+        configurable: true
+    });
+    /** Emits an event for the accordion item being destroyed. */
+    /**
+     * Emits an event for the accordion item being destroyed.
+     * @return {?}
+     */
+    CdkAccordionItem.prototype.ngOnDestroy = /**
+     * Emits an event for the accordion item being destroyed.
+     * @return {?}
+     */
+    function () {
+        this.destroyed.emit();
+        this._removeUniqueSelectionListener();
+    };
+    /** Toggles the expanded state of the accordion item. */
+    /**
+     * Toggles the expanded state of the accordion item.
+     * @return {?}
+     */
+    CdkAccordionItem.prototype.toggle = /**
+     * Toggles the expanded state of the accordion item.
+     * @return {?}
+     */
+    function () {
+        if (!this.disabled) {
+            this.expanded = !this.expanded;
+        }
+    };
+    /** Sets the expanded state of the accordion item to false. */
+    /**
+     * Sets the expanded state of the accordion item to false.
+     * @return {?}
+     */
+    CdkAccordionItem.prototype.close = /**
+     * Sets the expanded state of the accordion item to false.
+     * @return {?}
+     */
+    function () {
+        if (!this.disabled) {
+            this.expanded = false;
+        }
+    };
+    /** Sets the expanded state of the accordion item to true. */
+    /**
+     * Sets the expanded state of the accordion item to true.
+     * @return {?}
+     */
+    CdkAccordionItem.prototype.open = /**
+     * Sets the expanded state of the accordion item to true.
+     * @return {?}
+     */
+    function () {
+        if (!this.disabled) {
+            this.expanded = true;
+        }
+    };
+    CdkAccordionItem.decorators = [
+        { type: _angular_core.Directive, args: [{
+                    selector: 'cdk-accordion-item',
+                    exportAs: 'cdkAccordionItem',
+                },] },
+    ];
+    /** @nocollapse */
+    CdkAccordionItem.ctorParameters = function () { return [
+        { type: CdkAccordion, decorators: [{ type: _angular_core.Optional },] },
+        { type: _angular_core.ChangeDetectorRef, },
+        { type: _angular_cdk_collections.UniqueSelectionDispatcher, },
+    ]; };
+    CdkAccordionItem.propDecorators = {
+        "closed": [{ type: _angular_core.Output },],
+        "opened": [{ type: _angular_core.Output },],
+        "destroyed": [{ type: _angular_core.Output },],
+        "expandedChange": [{ type: _angular_core.Output },],
+        "expanded": [{ type: _angular_core.Input },],
+        "disabled": [{ type: _angular_core.Input },],
+    };
+    return CdkAccordionItem;
+}());
+
+/**
+ * @fileoverview added by tsickle
+ * @suppress {checkTypes} checked by tsc
+ */
+
+var CdkAccordionModule = /** @class */ (function () {
+    function CdkAccordionModule() {
+    }
+    CdkAccordionModule.decorators = [
+        { type: _angular_core.NgModule, args: [{
+                    exports: [CdkAccordion, CdkAccordionItem],
+                    declarations: [CdkAccordion, CdkAccordionItem],
+                    providers: [_angular_cdk_collections.UNIQUE_SELECTION_DISPATCHER_PROVIDER],
+                },] },
+    ];
+    /** @nocollapse */
+    CdkAccordionModule.ctorParameters = function () { return []; };
+    return CdkAccordionModule;
+}());
+
+exports.CdkAccordionItem = CdkAccordionItem;
+exports.CdkAccordion = CdkAccordion;
+exports.CdkAccordionModule = CdkAccordionModule;
+
+Object.defineProperty(exports, '__esModule', { value: true });
+
+})));
+//# sourceMappingURL=cdk-accordion.umd.js.map

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/eec354e6/node_modules/@angular/cdk/bundles/cdk-accordion.umd.js.map
----------------------------------------------------------------------
diff --git a/node_modules/@angular/cdk/bundles/cdk-accordion.umd.js.map b/node_modules/@angular/cdk/bundles/cdk-accordion.umd.js.map
new file mode 100644
index 0000000..b03cd21
--- /dev/null
+++ b/node_modules/@angular/cdk/bundles/cdk-accordion.umd.js.map
@@ -0,0 +1 @@
+{"version":3,"file":"cdk-accordion.umd.js","sources":["../../src/cdk/accordion/accordion-module.ts","../../src/cdk/accordion/accordion-item.ts","../../src/cdk/accordion/accordion.ts"],"sourcesContent":["/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {NgModule} from '@angular/core';\nimport {UNIQUE_SELECTION_DISPATCHER_PROVIDER} from '@angular/cdk/collections';\nimport {CdkAccordion} from './accordion';\nimport {CdkAccordionItem} from './accordion-item';\n\n@NgModule({\n  exports: [CdkAccordion, CdkAccordionItem],\n  declarations: [CdkAccordion, CdkAccordionItem],\n  providers: [UNIQUE_SELECTION_DISPATCHER_PROVIDER],\n})\nexport class CdkAccordionModule {}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in th
 e LICENSE file at https://angular.io/license\n */\n\nimport {\n  Output,\n  Directive,\n  EventEmitter,\n  Input,\n  OnDestroy,\n  Optional,\n  ChangeDetectorRef,\n} from '@angular/core';\nimport {UniqueSelectionDispatcher} from '@angular/cdk/collections';\nimport {CdkAccordion} from './accordion';\nimport {coerceBooleanProperty} from '@angular/cdk/coercion';\n\n/** Used to generate unique ID for each accordion item. */\nlet nextId = 0;\n\n/**\n * An basic directive expected to be extended and decorated as a component.  Sets up all\n * events and attributes needed to be managed by a CdkAccordion parent.\n */\n@Directive({\n  selector: 'cdk-accordion-item',\n  exportAs: 'cdkAccordionItem',\n})\nexport class CdkAccordionItem implements OnDestroy {\n  /** Event emitted every time the AccordionItem is closed. */\n  @Output() closed: EventEmitter<void> = new EventEmitter<void>();\n  /** Event emitted every time the AccordionItem is opened. */\n  @Output() opened: EventEmitter<void> = new
  EventEmitter<void>();\n  /** Event emitted when the AccordionItem is destroyed. */\n  @Output() destroyed: EventEmitter<void> = new EventEmitter<void>();\n\n  /**\n   * Emits whenever the expanded state of the accordion changes.\n   * Primarily used to facilitate two-way binding.\n   * @docs-private\n   */\n  @Output() expandedChange: EventEmitter<boolean> = new EventEmitter<boolean>();\n\n  /** The unique AccordionItem id. */\n  readonly id: string = `cdk-accordion-child-${nextId++}`;\n\n  /** Whether the AccordionItem is expanded. */\n  @Input()\n  get expanded(): any { return this._expanded; }\n  set expanded(expanded: any) {\n    expanded = coerceBooleanProperty(expanded);\n\n    // Only emit events and update the internal value if the value changes.\n    if (this._expanded !== expanded) {\n      this._expanded = expanded;\n      this.expandedChange.emit(expanded);\n\n      if (expanded) {\n        this.opened.emit();\n        /**\n         * In the unique selection dispatcher,
  the id parameter is the id of the CdkAccordionItem,\n         * the name value is the id of the accordion.\n         */\n        const accordionId = this.accordion ? this.accordion.id : this.id;\n        this._expansionDispatcher.notify(this.id, accordionId);\n      } else {\n        this.closed.emit();\n      }\n\n      // Ensures that the animation will run when the value is set outside of an `@Input`.\n      // This includes cases like the open, close and toggle methods.\n      this._changeDetectorRef.markForCheck();\n    }\n  }\n  private _expanded = false;\n\n  /** Whether the AccordionItem is disabled. */\n  @Input()\n  get disabled() { return this._disabled; }\n  set disabled(disabled: any) { this._disabled = coerceBooleanProperty(disabled); }\n  private _disabled: boolean = false;\n\n  /** Unregister function for _expansionDispatcher. */\n  private _removeUniqueSelectionListener: () => void = () => {};\n\n  constructor(@Optional() public accordion: CdkAccordion,\n          
     private _changeDetectorRef: ChangeDetectorRef,\n              protected _expansionDispatcher: UniqueSelectionDispatcher) {\n    this._removeUniqueSelectionListener =\n      _expansionDispatcher.listen((id: string, accordionId: string) => {\n        if (this.accordion && !this.accordion.multi &&\n            this.accordion.id === accordionId && this.id !== id) {\n          this.expanded = false;\n        }\n      });\n  }\n\n  /** Emits an event for the accordion item being destroyed. */\n  ngOnDestroy() {\n    this.destroyed.emit();\n    this._removeUniqueSelectionListener();\n  }\n\n  /** Toggles the expanded state of the accordion item. */\n  toggle(): void {\n    if (!this.disabled) {\n      this.expanded = !this.expanded;\n    }\n  }\n\n  /** Sets the expanded state of the accordion item to false. */\n  close(): void {\n    if (!this.disabled) {\n      this.expanded = false;\n    }\n  }\n\n  /** Sets the expanded state of the accordion item to true. */\n  open(): void {\n   
  if (!this.disabled) {\n      this.expanded = true;\n    }\n  }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {Directive, Input} from '@angular/core';\nimport {coerceBooleanProperty} from '@angular/cdk/coercion';\n\n/** Used to generate unique ID for each accordion. */\nlet nextId = 0;\n\n/**\n * Directive whose purpose is to manage the expanded state of CdkAccordionItem children.\n */\n@Directive({\n  selector: 'cdk-accordion, [cdkAccordion]',\n  exportAs: 'cdkAccordion',\n})\nexport class CdkAccordion {\n  /** A readonly id value to use for unique selection coordination. */\n  readonly id = `cdk-accordion-${nextId++}`;\n\n  /** Whether the accordion should allow multiple expanded accordion items simultaneously. */\n  @Input()\n  get multi(): boolean { return this._multi; }\n  set multi(multi: boolean) { t
 his._multi = coerceBooleanProperty(multi); }\n  private _multi: boolean = false;\n}\n"],"names":["UNIQUE_SELECTION_DISPATCHER_PROVIDER","NgModule","Input","Output","UniqueSelectionDispatcher","ChangeDetectorRef","Optional","Directive","coerceBooleanProperty","EventEmitter","nextId"],"mappings":"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"}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/eec354e6/node_modules/@angular/cdk/bundles/cdk-accordion.umd.min.js
----------------------------------------------------------------------
diff --git a/node_modules/@angular/cdk/bundles/cdk-accordion.umd.min.js b/node_modules/@angular/cdk/bundles/cdk-accordion.umd.min.js
new file mode 100644
index 0000000..8681a22
--- /dev/null
+++ b/node_modules/@angular/cdk/bundles/cdk-accordion.umd.min.js
@@ -0,0 +1,9 @@
+/**
+ * @license
+ * Copyright Google LLC All Rights Reserved.
+ *
+ * Use of this source code is governed by an MIT-style license that can be
+ * found in the LICENSE file at https://angular.io/license
+ */
+!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@angular/core"),require("@angular/cdk/collections"),require("@angular/cdk/coercion")):"function"==typeof define&&define.amd?define(["exports","@angular/core","@angular/cdk/collections","@angular/cdk/coercion"],t):t((e.ng=e.ng||{},e.ng.cdk=e.ng.cdk||{},e.ng.cdk.accordion=e.ng.cdk.accordion||{}),e.ng.core,e.ng.cdk.collections,e.ng.cdk.coercion)}(this,function(e,t,o,n){"use strict";var i=0,r=function(){function e(){this.id="cdk-accordion-"+i++,this._multi=!1}return Object.defineProperty(e.prototype,"multi",{get:function(){return this._multi},set:function(e){this._multi=n.coerceBooleanProperty(e)},enumerable:!0,configurable:!0}),e.decorators=[{type:t.Directive,args:[{selector:"cdk-accordion, [cdkAccordion]",exportAs:"cdkAccordion"}]}],e.ctorParameters=function(){return[]},e.propDecorators={multi:[{type:t.Input}]},e}(),c=0,d=function(){function e(e,o,n){var i=this;this.accordion=e,this._changeDetectorR
 ef=o,this._expansionDispatcher=n,this.closed=new t.EventEmitter,this.opened=new t.EventEmitter,this.destroyed=new t.EventEmitter,this.expandedChange=new t.EventEmitter,this.id="cdk-accordion-child-"+c++,this._expanded=!1,this._disabled=!1,this._removeUniqueSelectionListener=function(){},this._removeUniqueSelectionListener=n.listen(function(e,t){i.accordion&&!i.accordion.multi&&i.accordion.id===t&&i.id!==e&&(i.expanded=!1)})}return Object.defineProperty(e.prototype,"expanded",{get:function(){return this._expanded},set:function(e){if(e=n.coerceBooleanProperty(e),this._expanded!==e){if(this._expanded=e,this.expandedChange.emit(e),e){this.opened.emit();var t=this.accordion?this.accordion.id:this.id;this._expansionDispatcher.notify(this.id,t)}else this.closed.emit();this._changeDetectorRef.markForCheck()}},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"disabled",{get:function(){return this._disabled},set:function(e){this._disabled=n.coerceBooleanProperty(e)},enumerabl
 e:!0,configurable:!0}),e.prototype.ngOnDestroy=function(){this.destroyed.emit(),this._removeUniqueSelectionListener()},e.prototype.toggle=function(){this.disabled||(this.expanded=!this.expanded)},e.prototype.close=function(){this.disabled||(this.expanded=!1)},e.prototype.open=function(){this.disabled||(this.expanded=!0)},e.decorators=[{type:t.Directive,args:[{selector:"cdk-accordion-item",exportAs:"cdkAccordionItem"}]}],e.ctorParameters=function(){return[{type:r,decorators:[{type:t.Optional}]},{type:t.ChangeDetectorRef},{type:o.UniqueSelectionDispatcher}]},e.propDecorators={closed:[{type:t.Output}],opened:[{type:t.Output}],destroyed:[{type:t.Output}],expandedChange:[{type:t.Output}],expanded:[{type:t.Input}],disabled:[{type:t.Input}]},e}(),s=function(){function e(){}return e.decorators=[{type:t.NgModule,args:[{exports:[r,d],declarations:[r,d],providers:[o.UNIQUE_SELECTION_DISPATCHER_PROVIDER]}]}],e.ctorParameters=function(){return[]},e}();e.CdkAccordionItem=d,e.CdkAccordion=r,e.CdkA
 ccordionModule=s,Object.defineProperty(e,"__esModule",{value:!0})});
+//# sourceMappingURL=cdk-accordion.umd.min.js.map

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/eec354e6/node_modules/@angular/cdk/bundles/cdk-accordion.umd.min.js.map
----------------------------------------------------------------------
diff --git a/node_modules/@angular/cdk/bundles/cdk-accordion.umd.min.js.map b/node_modules/@angular/cdk/bundles/cdk-accordion.umd.min.js.map
new file mode 100644
index 0000000..1b2eb54
--- /dev/null
+++ b/node_modules/@angular/cdk/bundles/cdk-accordion.umd.min.js.map
@@ -0,0 +1 @@
+{"version":3,"file":"cdk-accordion.umd.min.js","sources":["../../src/cdk/accordion/accordion.ts","../../src/cdk/accordion/accordion-item.ts","../../src/cdk/accordion/accordion-module.ts"],"sourcesContent":["/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {Directive, Input} from '@angular/core';\nimport {coerceBooleanProperty} from '@angular/cdk/coercion';\n\n/** Used to generate unique ID for each accordion. */\nlet nextId = 0;\n\n/**\n * Directive whose purpose is to manage the expanded state of CdkAccordionItem children.\n */\n@Directive({\n  selector: 'cdk-accordion, [cdkAccordion]',\n  exportAs: 'cdkAccordion',\n})\nexport class CdkAccordion {\n  /** A readonly id value to use for unique selection coordination. */\n  readonly id = `cdk-accordion-${nextId++}`;\n\n  /** Whether the accordion should allow multiple 
 expanded accordion items simultaneously. */\n  @Input()\n  get multi(): boolean { return this._multi; }\n  set multi(multi: boolean) { this._multi = coerceBooleanProperty(multi); }\n  private _multi: boolean = false;\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {\n  Output,\n  Directive,\n  EventEmitter,\n  Input,\n  OnDestroy,\n  Optional,\n  ChangeDetectorRef,\n} from '@angular/core';\nimport {UniqueSelectionDispatcher} from '@angular/cdk/collections';\nimport {CdkAccordion} from './accordion';\nimport {coerceBooleanProperty} from '@angular/cdk/coercion';\n\n/** Used to generate unique ID for each accordion item. */\nlet nextId = 0;\n\n/**\n * An basic directive expected to be extended and decorated as a component.  Sets up all\n * events and attributes needed to be managed by a CdkAccordion parent.\n */
 \n@Directive({\n  selector: 'cdk-accordion-item',\n  exportAs: 'cdkAccordionItem',\n})\nexport class CdkAccordionItem implements OnDestroy {\n  /** Event emitted every time the AccordionItem is closed. */\n  @Output() closed: EventEmitter<void> = new EventEmitter<void>();\n  /** Event emitted every time the AccordionItem is opened. */\n  @Output() opened: EventEmitter<void> = new EventEmitter<void>();\n  /** Event emitted when the AccordionItem is destroyed. */\n  @Output() destroyed: EventEmitter<void> = new EventEmitter<void>();\n\n  /**\n   * Emits whenever the expanded state of the accordion changes.\n   * Primarily used to facilitate two-way binding.\n   * @docs-private\n   */\n  @Output() expandedChange: EventEmitter<boolean> = new EventEmitter<boolean>();\n\n  /** The unique AccordionItem id. */\n  readonly id: string = `cdk-accordion-child-${nextId++}`;\n\n  /** Whether the AccordionItem is expanded. */\n  @Input()\n  get expanded(): any { return this._expanded; }\n  set exp
 anded(expanded: any) {\n    expanded = coerceBooleanProperty(expanded);\n\n    // Only emit events and update the internal value if the value changes.\n    if (this._expanded !== expanded) {\n      this._expanded = expanded;\n      this.expandedChange.emit(expanded);\n\n      if (expanded) {\n        this.opened.emit();\n        /**\n         * In the unique selection dispatcher, the id parameter is the id of the CdkAccordionItem,\n         * the name value is the id of the accordion.\n         */\n        const accordionId = this.accordion ? this.accordion.id : this.id;\n        this._expansionDispatcher.notify(this.id, accordionId);\n      } else {\n        this.closed.emit();\n      }\n\n      // Ensures that the animation will run when the value is set outside of an `@Input`.\n      // This includes cases like the open, close and toggle methods.\n      this._changeDetectorRef.markForCheck();\n    }\n  }\n  private _expanded = false;\n\n  /** Whether the AccordionItem is disabled
 . */\n  @Input()\n  get disabled() { return this._disabled; }\n  set disabled(disabled: any) { this._disabled = coerceBooleanProperty(disabled); }\n  private _disabled: boolean = false;\n\n  /** Unregister function for _expansionDispatcher. */\n  private _removeUniqueSelectionListener: () => void = () => {};\n\n  constructor(@Optional() public accordion: CdkAccordion,\n              private _changeDetectorRef: ChangeDetectorRef,\n              protected _expansionDispatcher: UniqueSelectionDispatcher) {\n    this._removeUniqueSelectionListener =\n      _expansionDispatcher.listen((id: string, accordionId: string) => {\n        if (this.accordion && !this.accordion.multi &&\n            this.accordion.id === accordionId && this.id !== id) {\n          this.expanded = false;\n        }\n      });\n  }\n\n  /** Emits an event for the accordion item being destroyed. */\n  ngOnDestroy() {\n    this.destroyed.emit();\n    this._removeUniqueSelectionListener();\n  }\n\n  /** Toggles the ex
 panded state of the accordion item. */\n  toggle(): void {\n    if (!this.disabled) {\n      this.expanded = !this.expanded;\n    }\n  }\n\n  /** Sets the expanded state of the accordion item to false. */\n  close(): void {\n    if (!this.disabled) {\n      this.expanded = false;\n    }\n  }\n\n  /** Sets the expanded state of the accordion item to true. */\n  open(): void {\n    if (!this.disabled) {\n      this.expanded = true;\n    }\n  }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {NgModule} from '@angular/core';\nimport {UNIQUE_SELECTION_DISPATCHER_PROVIDER} from '@angular/cdk/collections';\nimport {CdkAccordion} from './accordion';\nimport {CdkAccordionItem} from './accordion-item';\n\n@NgModule({\n  exports: [CdkAccordion, CdkAccordionItem],\n  declarations: [CdkAccordion, CdkAccordionItem],\n  pro
 viders: [UNIQUE_SELECTION_DISPATCHER_PROVIDER],\n})\nexport class CdkAccordionModule {}\n"],"names":["nextId","this","id","_multi","Object","defineProperty","CdkAccordion","prototype","multi","coerceBooleanProperty","type","Directive","args","selector","exportAs","Input","CdkAccordionItem","accordion","_changeDetectorRef","_expansionDispatcher","_this","closed","EventEmitter","opened","destroyed","expandedChange","_expanded","_disabled","_removeUniqueSelectionListener","listen","accordionId","expanded","emit","notify","markForCheck","disabled","ngOnDestroy","toggle","close","open","decorators","Optional","ChangeDetectorRef","UniqueSelectionDispatcher","Output","CdkAccordionModule","NgModule","exports","declarations","providers","UNIQUE_SELECTION_DISPATCHER_PROVIDER"],"mappings":";;;;;;;odAYA,IAAIA,GAAS,4BAWbC,KAAAC,GAAgB,iBAAiBF,IAMjCC,KAAAE,QAA4B,EA7B5B,MA2BAC,QAAAC,eAAMC,EAANC,UAAA,aAAA,WAAyB,MAAON,MAAKE,YACnC,SAAUK,GAAkBP,KAAKE,OAASM,EAAAA,sBAAsBD,mDAXlEE,KAACC,EAAAA,UAADC,OACEC,
 SAAU,gCACVC,SAAU,2EAOZN,QAAAE,KAAGK,EAAAA,SA1BHT,KCsBIN,EAAS,eAmEX,QAAFgB,GAAiCC,EACXC,EACEC,GAFtB,GAAFC,GAAAnB,IAAiCA,MAAjCgB,UAAiCA,EACXhB,KAAtBiB,mBAAsBA,EACEjB,KAAxBkB,qBAAwBA,EAzDxBlB,KAAAoB,OAAyC,GAAIC,GAAAA,aAE7CrB,KAAAsB,OAAyC,GAAID,GAAAA,aAE7CrB,KAAAuB,UAA4C,GAAIF,GAAAA,aAOhDrB,KAAAwB,eAAoD,GAAIH,GAAAA,aAGxDrB,KAAAC,GAAwB,uBAAuBF,IA8B/CC,KAAAyB,WAAsB,EAMtBzB,KAAA0B,WAA+B,EAG/B1B,KAAA2B,+BAAuD,aAKnD3B,KAAK2B,+BACHT,EAAqBU,OAAO,SAAC3B,EAAY4B,GACnCV,EAAKH,YAAcG,EAAKH,UAAUT,OAClCY,EAAKH,UAAUf,KAAO4B,GAAeV,EAAKlB,KAAOA,IACnDkB,EAAKW,UAAW,KAhG1B,MAoDA3B,QAAAC,eAAMW,EAANT,UAAA,gBAAA,WAAwB,MAAON,MAAKyB,eAClC,SAAaK,GAIX,GAHAA,EAAWtB,EAAAA,sBAAsBsB,GAG7B9B,KAAKyB,YAAcK,EAAU,CAI/B,GAHA9B,KAAKyB,UAAYK,EACjB9B,KAAKwB,eAAeO,KAAKD,GAErBA,EAAU,CACZ9B,KAAKsB,OAAOS,MAKZ,IAAMF,GAAc7B,KAAKgB,UAAYhB,KAAKgB,UAAUf,GAAKD,KAAKC,EAC9DD,MAAKkB,qBAAqBc,OAAOhC,KAAKC,GAAI4B,OAE1C7B,MAAKoB,OAAOW,MAKd/B,MAAKiB,mBAAmBgB,iDAO9B9B,OAAAC,eAAMW,EAANT,UAAA,gBAAA,WAAmB,MAAON,MAAK0B,eAC7B,SAAaQ,GAAiBlC,KAAK0B,UAA
 YlB,EAAAA,sBAAsB0B,oCAmBrEnB,EAAFT,UAAA6B,YAAE,WACEnC,KAAKuB,UAAUQ,OACf/B,KAAK2B,kCAIPZ,EAAFT,UAAA8B,OAAE,WACOpC,KAAKkC,WACRlC,KAAK8B,UAAY9B,KAAK8B,WAK1Bf,EAAFT,UAAA+B,MAAE,WACOrC,KAAKkC,WACRlC,KAAK8B,UAAW,IAKpBf,EAAFT,UAAAgC,KAAE,WACOtC,KAAKkC,WACRlC,KAAK8B,UAAW,mBAhGtBrB,KAACC,EAAAA,UAADC,OACEC,SAAU,qBACVC,SAAU,2DAZZJ,KAAQJ,EAARkC,aAAA9B,KAuEe+B,EAAAA,aA1Ef/B,KAAEgC,EAAAA,oBAEFhC,KAAQiC,EAAAA,+CAiBRtB,SAAAX,KAAGkC,EAAAA,SAEHrB,SAAAb,KAAGkC,EAAAA,SAEHpB,YAAAd,KAAGkC,EAAAA,SAOHnB,iBAAAf,KAAGkC,EAAAA,SAMHb,WAAArB,KAAGK,EAAAA,QA8BHoB,WAAAzB,KAAGK,EAAAA,SAjFHC,KCQA6B,EAAA,yBARA,sBAaAnC,KAACoC,EAAAA,SAADlC,OACEmC,SAAUzC,EAAcU,GACxBgC,cAAe1C,EAAcU,GAC7BiC,WAAYC,EAAAA,gFAhBdL"}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/eec354e6/node_modules/@angular/cdk/bundles/cdk-bidi.umd.js
----------------------------------------------------------------------
diff --git a/node_modules/@angular/cdk/bundles/cdk-bidi.umd.js b/node_modules/@angular/cdk/bundles/cdk-bidi.umd.js
new file mode 100644
index 0000000..778d984
--- /dev/null
+++ b/node_modules/@angular/cdk/bundles/cdk-bidi.umd.js
@@ -0,0 +1,186 @@
+/**
+ * @license
+ * Copyright Google LLC All Rights Reserved.
+ *
+ * Use of this source code is governed by an MIT-style license that can be
+ * found in the LICENSE file at https://angular.io/license
+ */
+(function (global, factory) {
+	typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/core'), require('@angular/common')) :
+	typeof define === 'function' && define.amd ? define(['exports', '@angular/core', '@angular/common'], factory) :
+	(factory((global.ng = global.ng || {}, global.ng.cdk = global.ng.cdk || {}, global.ng.cdk.bidi = global.ng.cdk.bidi || {}),global.ng.core,global.ng.common));
+}(this, (function (exports,_angular_core,_angular_common) { 'use strict';
+
+/**
+ * @fileoverview added by tsickle
+ * @suppress {checkTypes} checked by tsc
+ */
+
+/**
+ * Injection token used to inject the document into Directionality.
+ * This is used so that the value can be faked in tests.
+ *
+ * We can't use the real document in tests because changing the real `dir` causes geometry-based
+ * tests in Safari to fail.
+ *
+ * We also can't re-provide the DOCUMENT token from platform-brower because the unit tests
+ * themselves use things like `querySelector` in test code.
+ */
+var DIR_DOCUMENT = new _angular_core.InjectionToken('cdk-dir-doc');
+/**
+ * The directionality (LTR / RTL) context for the application (or a subtree of it).
+ * Exposes the current direction and a stream of direction changes.
+ */
+var Directionality = /** @class */ (function () {
+    function Directionality(_document) {
+        /**
+         * The current 'ltr' or 'rtl' value.
+         */
+        this.value = 'ltr';
+        /**
+         * Stream that emits whenever the 'ltr' / 'rtl' state changes.
+         */
+        this.change = new _angular_core.EventEmitter();
+        if (_document) {
+            // TODO: handle 'auto' value -
+            // We still need to account for dir="auto".
+            // It looks like HTMLElemenet.dir is also "auto" when that's set to the attribute,
+            // but getComputedStyle return either "ltr" or "rtl". avoiding getComputedStyle for now
+            var /** @type {?} */ bodyDir = _document.body ? _document.body.dir : null;
+            var /** @type {?} */ htmlDir = _document.documentElement ? _document.documentElement.dir : null;
+            this.value = /** @type {?} */ ((bodyDir || htmlDir || 'ltr'));
+        }
+    }
+    Directionality.decorators = [
+        { type: _angular_core.Injectable },
+    ];
+    /** @nocollapse */
+    Directionality.ctorParameters = function () { return [
+        { type: undefined, decorators: [{ type: _angular_core.Optional }, { type: _angular_core.Inject, args: [DIR_DOCUMENT,] },] },
+    ]; };
+    return Directionality;
+}());
+
+/**
+ * @fileoverview added by tsickle
+ * @suppress {checkTypes} checked by tsc
+ */
+
+/**
+ * Directive to listen for changes of direction of part of the DOM.
+ *
+ * Provides itself as Directionality such that descendant directives only need to ever inject
+ * Directionality to get the closest direction.
+ */
+var Dir = /** @class */ (function () {
+    function Dir() {
+        this._dir = 'ltr';
+        /**
+         * Whether the `value` has been set to its initial value.
+         */
+        this._isInitialized = false;
+        /**
+         * Event emitted when the direction changes.
+         */
+        this.change = new _angular_core.EventEmitter();
+    }
+    Object.defineProperty(Dir.prototype, "dir", {
+        get: /**
+         * \@docs-private
+         * @return {?}
+         */
+        function () { return this._dir; },
+        set: /**
+         * @param {?} v
+         * @return {?}
+         */
+        function (v) {
+            var /** @type {?} */ old = this._dir;
+            this._dir = v;
+            if (old !== this._dir && this._isInitialized) {
+                this.change.emit(this._dir);
+            }
+        },
+        enumerable: true,
+        configurable: true
+    });
+    Object.defineProperty(Dir.prototype, "value", {
+        /** Current layout direction of the element. */
+        get: /**
+         * Current layout direction of the element.
+         * @return {?}
+         */
+        function () { return this.dir; },
+        enumerable: true,
+        configurable: true
+    });
+    /** Initialize once default value has been set. */
+    /**
+     * Initialize once default value has been set.
+     * @return {?}
+     */
+    Dir.prototype.ngAfterContentInit = /**
+     * Initialize once default value has been set.
+     * @return {?}
+     */
+    function () {
+        this._isInitialized = true;
+    };
+    /**
+     * @return {?}
+     */
+    Dir.prototype.ngOnDestroy = /**
+     * @return {?}
+     */
+    function () {
+        this.change.complete();
+    };
+    Dir.decorators = [
+        { type: _angular_core.Directive, args: [{
+                    selector: '[dir]',
+                    providers: [{ provide: Directionality, useExisting: Dir }],
+                    host: { '[dir]': 'dir' },
+                    exportAs: 'dir',
+                },] },
+    ];
+    /** @nocollapse */
+    Dir.ctorParameters = function () { return []; };
+    Dir.propDecorators = {
+        "change": [{ type: _angular_core.Output, args: ['dirChange',] },],
+        "dir": [{ type: _angular_core.Input },],
+    };
+    return Dir;
+}());
+
+/**
+ * @fileoverview added by tsickle
+ * @suppress {checkTypes} checked by tsc
+ */
+
+var BidiModule = /** @class */ (function () {
+    function BidiModule() {
+    }
+    BidiModule.decorators = [
+        { type: _angular_core.NgModule, args: [{
+                    exports: [Dir],
+                    declarations: [Dir],
+                    providers: [
+                        { provide: DIR_DOCUMENT, useExisting: _angular_common.DOCUMENT },
+                        Directionality,
+                    ]
+                },] },
+    ];
+    /** @nocollapse */
+    BidiModule.ctorParameters = function () { return []; };
+    return BidiModule;
+}());
+
+exports.Directionality = Directionality;
+exports.DIR_DOCUMENT = DIR_DOCUMENT;
+exports.Dir = Dir;
+exports.BidiModule = BidiModule;
+
+Object.defineProperty(exports, '__esModule', { value: true });
+
+})));
+//# sourceMappingURL=cdk-bidi.umd.js.map

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/eec354e6/node_modules/@angular/cdk/bundles/cdk-bidi.umd.js.map
----------------------------------------------------------------------
diff --git a/node_modules/@angular/cdk/bundles/cdk-bidi.umd.js.map b/node_modules/@angular/cdk/bundles/cdk-bidi.umd.js.map
new file mode 100644
index 0000000..7c476e3
--- /dev/null
+++ b/node_modules/@angular/cdk/bundles/cdk-bidi.umd.js.map
@@ -0,0 +1 @@
+{"version":3,"file":"cdk-bidi.umd.js","sources":["../../src/cdk/bidi/bidi-module.ts","../../src/cdk/bidi/dir.ts","../../src/cdk/bidi/directionality.ts"],"sourcesContent":["/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {NgModule} from '@angular/core';\nimport {DOCUMENT} from '@angular/common';\nimport {Dir} from './dir';\nimport {DIR_DOCUMENT, Directionality} from './directionality';\n\n\n@NgModule({\n  exports: [Dir],\n  declarations: [Dir],\n  providers: [\n    {provide: DIR_DOCUMENT, useExisting: DOCUMENT},\n    Directionality,\n  ]\n})\nexport class BidiModule { }\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {\n  Directive,\n  Output,\n 
  Input,\n  EventEmitter,\n  AfterContentInit,\n  OnDestroy,\n} from '@angular/core';\n\nimport {Direction, Directionality} from './directionality';\n\n/**\n * Directive to listen for changes of direction of part of the DOM.\n *\n * Provides itself as Directionality such that descendant directives only need to ever inject\n * Directionality to get the closest direction.\n */\n@Directive({\n  selector: '[dir]',\n  providers: [{provide: Directionality, useExisting: Dir}],\n  host: {'[dir]': 'dir'},\n  exportAs: 'dir',\n})\nexport class Dir implements Directionality, AfterContentInit, OnDestroy {\n  _dir: Direction = 'ltr';\n\n  /** Whether the `value` has been set to its initial value. */\n  private _isInitialized: boolean = false;\n\n  /** Event emitted when the direction changes. */\n  @Output('dirChange') change = new EventEmitter<Direction>();\n\n  /** @docs-private */\n  @Input()\n  get dir(): Direction { return this._dir; }\n  set dir(v: Direction) {\n    const old = this._dir;\n
     this._dir = v;\n    if (old !== this._dir && this._isInitialized) {\n      this.change.emit(this._dir);\n    }\n  }\n\n  /** Current layout direction of the element. */\n  get value(): Direction { return this.dir; }\n\n  /** Initialize once default value has been set. */\n  ngAfterContentInit() {\n    this._isInitialized = true;\n  }\n\n  ngOnDestroy() {\n    this.change.complete();\n  }\n}\n\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {\n  EventEmitter,\n  Injectable,\n  Optional,\n  Inject,\n  InjectionToken,\n} from '@angular/core';\n\n\nexport type Direction = 'ltr' | 'rtl';\n\n/**\n * Injection token used to inject the document into Directionality.\n * This is used so that the value can be faked in tests.\n *\n * We can't use the real document in tests because changing the real `dir` causes geometry
 -based\n * tests in Safari to fail.\n *\n * We also can't re-provide the DOCUMENT token from platform-brower because the unit tests\n * themselves use things like `querySelector` in test code.\n */\nexport const DIR_DOCUMENT = new InjectionToken<Document>('cdk-dir-doc');\n\n/**\n * The directionality (LTR / RTL) context for the application (or a subtree of it).\n * Exposes the current direction and a stream of direction changes.\n */\n@Injectable()\nexport class Directionality {\n  /** The current 'ltr' or 'rtl' value. */\n  readonly value: Direction = 'ltr';\n\n  /** Stream that emits whenever the 'ltr' / 'rtl' state changes. */\n  readonly change = new EventEmitter<Direction>();\n\n  constructor(@Optional() @Inject(DIR_DOCUMENT) _document?: any) {\n    if (_document) {\n      // TODO: handle 'auto' value -\n      // We still need to account for dir=\"auto\".\n      // It looks like HTMLElemenet.dir is also \"auto\" when that's set to the attribute,\n      // but getComputedStyle r
 eturn either \"ltr\" or \"rtl\". avoiding getComputedStyle for now\n      const bodyDir = _document.body ? _document.body.dir : null;\n      const htmlDir = _document.documentElement ? _document.documentElement.dir : null;\n      this.value = (bodyDir || htmlDir || 'ltr') as Direction;\n    }\n  }\n}\n"],"names":["DOCUMENT","NgModule","Input","Output","Directive","EventEmitter","Optional","Inject","Injectable","InjectionToken"],"mappings":"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"}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/eec354e6/node_modules/@angular/cdk/bundles/cdk-bidi.umd.min.js
----------------------------------------------------------------------
diff --git a/node_modules/@angular/cdk/bundles/cdk-bidi.umd.min.js b/node_modules/@angular/cdk/bundles/cdk-bidi.umd.min.js
new file mode 100644
index 0000000..1b0b3ff
--- /dev/null
+++ b/node_modules/@angular/cdk/bundles/cdk-bidi.umd.min.js
@@ -0,0 +1,9 @@
+/**
+ * @license
+ * Copyright Google LLC All Rights Reserved.
+ *
+ * Use of this source code is governed by an MIT-style license that can be
+ * found in the LICENSE file at https://angular.io/license
+ */
+!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@angular/core"),require("@angular/common")):"function"==typeof define&&define.amd?define(["exports","@angular/core","@angular/common"],t):t((e.ng=e.ng||{},e.ng.cdk=e.ng.cdk||{},e.ng.cdk.bidi=e.ng.cdk.bidi||{}),e.ng.core,e.ng.common)}(this,function(e,t,r){"use strict";var n=new t.InjectionToken("cdk-dir-doc"),i=function(){function e(e){if(this.value="ltr",this.change=new t.EventEmitter,e){var r=e.body?e.body.dir:null,n=e.documentElement?e.documentElement.dir:null;this.value=r||n||"ltr"}}return e.decorators=[{type:t.Injectable}],e.ctorParameters=function(){return[{type:void 0,decorators:[{type:t.Optional},{type:t.Inject,args:[n]}]}]},e}(),o=function(){function e(){this._dir="ltr",this._isInitialized=!1,this.change=new t.EventEmitter}return Object.defineProperty(e.prototype,"dir",{get:function(){return this._dir},set:function(e){var t=this._dir;this._dir=e,t!==this._dir&&this._isInitialized&&this.cha
 nge.emit(this._dir)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"value",{get:function(){return this.dir},enumerable:!0,configurable:!0}),e.prototype.ngAfterContentInit=function(){this._isInitialized=!0},e.prototype.ngOnDestroy=function(){this.change.complete()},e.decorators=[{type:t.Directive,args:[{selector:"[dir]",providers:[{provide:i,useExisting:e}],host:{"[dir]":"dir"},exportAs:"dir"}]}],e.ctorParameters=function(){return[]},e.propDecorators={change:[{type:t.Output,args:["dirChange"]}],dir:[{type:t.Input}]},e}(),c=function(){function e(){}return e.decorators=[{type:t.NgModule,args:[{exports:[o],declarations:[o],providers:[{provide:n,useExisting:r.DOCUMENT},i]}]}],e.ctorParameters=function(){return[]},e}();e.Directionality=i,e.DIR_DOCUMENT=n,e.Dir=o,e.BidiModule=c,Object.defineProperty(e,"__esModule",{value:!0})});
+//# sourceMappingURL=cdk-bidi.umd.min.js.map

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/eec354e6/node_modules/@angular/cdk/bundles/cdk-bidi.umd.min.js.map
----------------------------------------------------------------------
diff --git a/node_modules/@angular/cdk/bundles/cdk-bidi.umd.min.js.map b/node_modules/@angular/cdk/bundles/cdk-bidi.umd.min.js.map
new file mode 100644
index 0000000..4fd5fc0
--- /dev/null
+++ b/node_modules/@angular/cdk/bundles/cdk-bidi.umd.min.js.map
@@ -0,0 +1 @@
+{"version":3,"file":"cdk-bidi.umd.min.js","sources":["../../src/cdk/bidi/directionality.ts","../../src/cdk/bidi/dir.ts","../../src/cdk/bidi/bidi-module.ts"],"sourcesContent":["/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {\n  EventEmitter,\n  Injectable,\n  Optional,\n  Inject,\n  InjectionToken,\n} from '@angular/core';\n\n\nexport type Direction = 'ltr' | 'rtl';\n\n/**\n * Injection token used to inject the document into Directionality.\n * This is used so that the value can be faked in tests.\n *\n * We can't use the real document in tests because changing the real `dir` causes geometry-based\n * tests in Safari to fail.\n *\n * We also can't re-provide the DOCUMENT token from platform-brower because the unit tests\n * themselves use things like `querySelector` in test code.\n */\nexport const DIR_DOCUMENT = n
 ew InjectionToken<Document>('cdk-dir-doc');\n\n/**\n * The directionality (LTR / RTL) context for the application (or a subtree of it).\n * Exposes the current direction and a stream of direction changes.\n */\n@Injectable()\nexport class Directionality {\n  /** The current 'ltr' or 'rtl' value. */\n  readonly value: Direction = 'ltr';\n\n  /** Stream that emits whenever the 'ltr' / 'rtl' state changes. */\n  readonly change = new EventEmitter<Direction>();\n\n  constructor(@Optional() @Inject(DIR_DOCUMENT) _document?: any) {\n    if (_document) {\n      // TODO: handle 'auto' value -\n      // We still need to account for dir=\"auto\".\n      // It looks like HTMLElemenet.dir is also \"auto\" when that's set to the attribute,\n      // but getComputedStyle return either \"ltr\" or \"rtl\". avoiding getComputedStyle for now\n      const bodyDir = _document.body ? _document.body.dir : null;\n      const htmlDir = _document.documentElement ? _document.documentElement.dir : null;\n    
   this.value = (bodyDir || htmlDir || 'ltr') as Direction;\n    }\n  }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {\n  Directive,\n  Output,\n  Input,\n  EventEmitter,\n  AfterContentInit,\n  OnDestroy,\n} from '@angular/core';\n\nimport {Direction, Directionality} from './directionality';\n\n/**\n * Directive to listen for changes of direction of part of the DOM.\n *\n * Provides itself as Directionality such that descendant directives only need to ever inject\n * Directionality to get the closest direction.\n */\n@Directive({\n  selector: '[dir]',\n  providers: [{provide: Directionality, useExisting: Dir}],\n  host: {'[dir]': 'dir'},\n  exportAs: 'dir',\n})\nexport class Dir implements Directionality, AfterContentInit, OnDestroy {\n  _dir: Direction = 'ltr';\n\n  /** Whether the `value` has been set to
  its initial value. */\n  private _isInitialized: boolean = false;\n\n  /** Event emitted when the direction changes. */\n  @Output('dirChange') change = new EventEmitter<Direction>();\n\n  /** @docs-private */\n  @Input()\n  get dir(): Direction { return this._dir; }\n  set dir(v: Direction) {\n    const old = this._dir;\n    this._dir = v;\n    if (old !== this._dir && this._isInitialized) {\n      this.change.emit(this._dir);\n    }\n  }\n\n  /** Current layout direction of the element. */\n  get value(): Direction { return this.dir; }\n\n  /** Initialize once default value has been set. */\n  ngAfterContentInit() {\n    this._isInitialized = true;\n  }\n\n  ngOnDestroy() {\n    this.change.complete();\n  }\n}\n\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {NgModule} from '@angular/core';\nimport {DOCUMENT
 } from '@angular/common';\nimport {Dir} from './dir';\nimport {DIR_DOCUMENT, Directionality} from './directionality';\n\n\n@NgModule({\n  exports: [Dir],\n  declarations: [Dir],\n  providers: [\n    {provide: DIR_DOCUMENT, useExisting: DOCUMENT},\n    Directionality,\n  ]\n})\nexport class BidiModule { }\n"],"names":["DIR_DOCUMENT","InjectionToken","Directionality","_document","this","value","change","EventEmitter","bodyDir","body","dir","htmlDir","documentElement","type","Injectable","undefined","decorators","Optional","Inject","args","_dir","_isInitialized","Object","defineProperty","Dir","prototype","v","old","emit","ngAfterContentInit","ngOnDestroy","complete","Directive","selector","providers","provide","useExisting","host","[dir]","exportAs","Output","Input","BidiModule","NgModule","exports","declarations","DOCUMENT"],"mappings":";;;;;;;kWA6BA,IAAaA,GAAe,GAAIC,GAAAA,eAAyB,4BAcvD,QAAFC,GAAgDC,GAC5C,GANJC,KAAAC,MAA8B,MAG9BD,KAAAE,OAAoB,GAAIC,GAAAA,aAGhBJ,EAAW,CAKb,GAAMK,GAAUL,EA
 AUM,KAAON,EAAUM,KAAKC,IAAM,KAChDC,EAAUR,EAAUS,gBAAkBT,EAAUS,gBAAgBF,IAAM,IAC5EN,MAAKC,MAASG,GAAWG,GAAW,OAnD1C,sBAmCAE,KAACC,EAAAA,iDAQDD,SAAAE,GAAAC,aAAAH,KAAeI,EAAAA,WAAfJ,KAA2BK,EAAAA,OAA3BC,MAAkCnB,QA3ClCE,+BCgCAE,KAAAgB,KAAoB,MAGpBhB,KAAAiB,gBAAoC,EAGpCjB,KAAAE,OAAgC,GAAIC,GAAAA,aAtCpC,MA0CAe,QAAAC,eAAMC,EAANC,UAAA,WAAA,WAAyB,MAAOrB,MAAKgB,UACnC,SAAQM,GACN,GAAMC,GAAMvB,KAAKgB,IACjBhB,MAAKgB,KAAOM,EACRC,IAAQvB,KAAKgB,MAAQhB,KAAKiB,gBAC5BjB,KAAKE,OAAOsB,KAAKxB,KAAKgB,uCAK1BE,OAAFC,eAAMC,EAANC,UAAA,aAAE,WAAyB,MAAOrB,MAAKM,qCAGrCc,EAAFC,UAAAI,mBAAE,WACEzB,KAAKiB,gBAAiB,GAGxBG,EAAFC,UAAAK,YAAE,WACE1B,KAAKE,OAAOyB,2BAnChBlB,KAACmB,EAAAA,UAADb,OACEc,SAAU,QACVC,YAAaC,QAASjC,EAAgBkC,YAAaZ,IACnDa,MAAOC,QAAS,OAChBC,SAAU,kEASZjC,SAAAO,KAAG2B,EAAAA,OAAHrB,MAAU,eAGVT,MAAAG,KAAG4B,EAAAA,SAzCHjB,KCQAkB,EAAA,yBARA,sBAcA7B,KAAC8B,EAAAA,SAADxB,OACEyB,SAAUpB,GACVqB,cAAerB,GACfU,YACGC,QAASnC,EAAcoC,YAAaU,EAAAA,UACrC5C,6CAnBJwC"}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/eec354e6/node_modules/@angular/cdk/bundles/cdk-coercion.umd.js
----------------------------------------------------------------------
diff --git a/node_modules/@angular/cdk/bundles/cdk-coercion.umd.js b/node_modules/@angular/cdk/bundles/cdk-coercion.umd.js
new file mode 100644
index 0000000..b15220c
--- /dev/null
+++ b/node_modules/@angular/cdk/bundles/cdk-coercion.umd.js
@@ -0,0 +1,78 @@
+/**
+ * @license
+ * Copyright Google LLC All Rights Reserved.
+ *
+ * Use of this source code is governed by an MIT-style license that can be
+ * found in the LICENSE file at https://angular.io/license
+ */
+(function (global, factory) {
+	typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports) :
+	typeof define === 'function' && define.amd ? define(['exports'], factory) :
+	(factory((global.ng = global.ng || {}, global.ng.cdk = global.ng.cdk || {}, global.ng.cdk.coercion = global.ng.cdk.coercion || {})));
+}(this, (function (exports) { 'use strict';
+
+/**
+ * @fileoverview added by tsickle
+ * @suppress {checkTypes} checked by tsc
+ */
+
+/**
+ * Coerces a data-bound value (typically a string) to a boolean.
+ * @param {?} value
+ * @return {?}
+ */
+function coerceBooleanProperty(value) {
+    return value != null && "" + value !== 'false';
+}
+
+/**
+ * @fileoverview added by tsickle
+ * @suppress {checkTypes} checked by tsc
+ */
+
+/**
+ * @param {?} value
+ * @param {?=} fallbackValue
+ * @return {?}
+ */
+function coerceNumberProperty(value, fallbackValue) {
+    if (fallbackValue === void 0) { fallbackValue = 0; }
+    return _isNumberValue(value) ? Number(value) : fallbackValue;
+}
+/**
+ * Whether the provided value is considered a number.
+ * \@docs-private
+ * @param {?} value
+ * @return {?}
+ */
+function _isNumberValue(value) {
+    // parseFloat(value) handles most of the cases we're interested in (it treats null, empty string,
+    // and other non-number values as NaN, where Number just uses 0) but it considers the string
+    // '123hello' to be a valid number. Therefore we also check if Number(value) is NaN.
+    return !isNaN(parseFloat(/** @type {?} */ (value))) && !isNaN(Number(value));
+}
+
+/**
+ * @fileoverview added by tsickle
+ * @suppress {checkTypes} checked by tsc
+ */
+
+/**
+ * Wraps the provided value in an array, unless the provided value is an array.
+ * @template T
+ * @param {?} value
+ * @return {?}
+ */
+function coerceArray(value) {
+    return Array.isArray(value) ? value : [value];
+}
+
+exports.coerceBooleanProperty = coerceBooleanProperty;
+exports.coerceNumberProperty = coerceNumberProperty;
+exports._isNumberValue = _isNumberValue;
+exports.coerceArray = coerceArray;
+
+Object.defineProperty(exports, '__esModule', { value: true });
+
+})));
+//# sourceMappingURL=cdk-coercion.umd.js.map

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/eec354e6/node_modules/@angular/cdk/bundles/cdk-coercion.umd.js.map
----------------------------------------------------------------------
diff --git a/node_modules/@angular/cdk/bundles/cdk-coercion.umd.js.map b/node_modules/@angular/cdk/bundles/cdk-coercion.umd.js.map
new file mode 100644
index 0000000..041987a
--- /dev/null
+++ b/node_modules/@angular/cdk/bundles/cdk-coercion.umd.js.map
@@ -0,0 +1 @@
+{"version":3,"file":"cdk-coercion.umd.js","sources":["../../src/cdk/coercion/array.ts","../../src/cdk/coercion/number-property.ts","../../src/cdk/coercion/boolean-property.ts"],"sourcesContent":["/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/** Wraps the provided value in an array, unless the provided value is an array. */\nexport function coerceArray<T>(value: T | T[]): T[] {\n  return Array.isArray(value) ? value : [value];\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/** Coerces a data-bound value (typically a string) to a number. */\nexport function coerceNumberProperty(value: any): number;\nexport function coerceNumberProperty<D>(value: any, fal
 lback: D): number | D;\nexport function coerceNumberProperty(value: any, fallbackValue = 0) {\n  return _isNumberValue(value) ? Number(value) : fallbackValue;\n}\n\n/**\n * Whether the provided value is considered a number.\n * @docs-private\n */\nexport function _isNumberValue(value: any): boolean {\n  // parseFloat(value) handles most of the cases we're interested in (it treats null, empty string,\n  // and other non-number values as NaN, where Number just uses 0) but it considers the string\n  // '123hello' to be a valid number. Therefore we also check if Number(value) is NaN.\n  return !isNaN(parseFloat(value as any)) && !isNaN(Number(value));\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/** Coerces a data-bound value (typically a string) to a boolean. */\nexport function coerceBooleanProperty(value: any): bo
 olean {\n  return value != null && `${value}` !== 'false';\n}\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AESA,SAAA,qBAAA,CAAsC,KAAU,EAAhD;IACE,OAAO,KAAK,IAAI,IAAI,IAAI,EAA1B,GAA6B,KAAO,KAAK,OAAO,CAAC;CAChD;;;;;;;;;;;;ADAD,SAAA,oBAAA,CAAqC,KAAU,EAAE,aAAiB,EAAlE;IAAiD,IAAjD,aAAA,KAAA,KAAA,CAAA,EAAiD,EAAA,aAAjD,GAAA,CAAkE,CAAlE,EAAA;IACE,OAAO,cAAc,CAAC,KAAK,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,aAAa,CAAC;CAC9D;;;;;;;AAMD,SAAA,cAAA,CAA+B,KAAU,EAAzC;;;;IAIE,OAAO,CAAC,KAAK,CAAC,UAAU,mBAAC,KAAY,EAAC,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;CAClE;;;;;;;;;;;;;ADfD,SAAA,WAAA,CAA+B,KAAc,EAA7C;IACE,OAAO,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,KAAK,GAAG,CAAC,KAAK,CAAC,CAAC;CAC/C;;;;;;;;;"}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/eec354e6/node_modules/@angular/cdk/bundles/cdk-coercion.umd.min.js
----------------------------------------------------------------------
diff --git a/node_modules/@angular/cdk/bundles/cdk-coercion.umd.min.js b/node_modules/@angular/cdk/bundles/cdk-coercion.umd.min.js
new file mode 100644
index 0000000..62f34ad
--- /dev/null
+++ b/node_modules/@angular/cdk/bundles/cdk-coercion.umd.min.js
@@ -0,0 +1,9 @@
+/**
+ * @license
+ * Copyright Google LLC All Rights Reserved.
+ *
+ * Use of this source code is governed by an MIT-style license that can be
+ * found in the LICENSE file at https://angular.io/license
+ */
+!function(e,n){"object"==typeof exports&&"undefined"!=typeof module?n(exports):"function"==typeof define&&define.amd?define(["exports"],n):n((e.ng=e.ng||{},e.ng.cdk=e.ng.cdk||{},e.ng.cdk.coercion=e.ng.cdk.coercion||{}))}(this,function(e){"use strict";function n(e){return null!=e&&""+e!="false"}function r(e,n){return void 0===n&&(n=0),o(e)?Number(e):n}function o(e){return!isNaN(parseFloat(e))&&!isNaN(Number(e))}function t(e){return Array.isArray(e)?e:[e]}e.coerceBooleanProperty=n,e.coerceNumberProperty=r,e._isNumberValue=o,e.coerceArray=t,Object.defineProperty(e,"__esModule",{value:!0})});
+//# sourceMappingURL=cdk-coercion.umd.min.js.map

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/eec354e6/node_modules/@angular/cdk/bundles/cdk-coercion.umd.min.js.map
----------------------------------------------------------------------
diff --git a/node_modules/@angular/cdk/bundles/cdk-coercion.umd.min.js.map b/node_modules/@angular/cdk/bundles/cdk-coercion.umd.min.js.map
new file mode 100644
index 0000000..44e1f4a
--- /dev/null
+++ b/node_modules/@angular/cdk/bundles/cdk-coercion.umd.min.js.map
@@ -0,0 +1 @@
+{"version":3,"file":"cdk-coercion.umd.min.js","sources":["../../src/cdk/coercion/boolean-property.ts","../../src/cdk/coercion/number-property.ts","../../src/cdk/coercion/array.ts"],"sourcesContent":["/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/** Coerces a data-bound value (typically a string) to a boolean. */\nexport function coerceBooleanProperty(value: any): boolean {\n  return value != null && `${value}` !== 'false';\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/** Coerces a data-bound value (typically a string) to a number. */\nexport function coerceNumberProperty(value: any): number;\nexport function coerceNumberProperty<D>(value: any, fallba
 ck: D): number | D;\nexport function coerceNumberProperty(value: any, fallbackValue = 0) {\n  return _isNumberValue(value) ? Number(value) : fallbackValue;\n}\n\n/**\n * Whether the provided value is considered a number.\n * @docs-private\n */\nexport function _isNumberValue(value: any): boolean {\n  // parseFloat(value) handles most of the cases we're interested in (it treats null, empty string,\n  // and other non-number values as NaN, where Number just uses 0) but it considers the string\n  // '123hello' to be a valid number. Therefore we also check if Number(value) is NaN.\n  return !isNaN(parseFloat(value as any)) && !isNaN(Number(value));\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/** Wraps the provided value in an array, unless the provided value is an array. */\nexport function coerceArray<T>(value: T |
  T[]): T[] {\n  return Array.isArray(value) ? value : [value];\n}\n"],"names":["coerceBooleanProperty","value","coerceNumberProperty","fallbackValue","_isNumberValue","Number","isNaN","parseFloat","coerceArray","Array","isArray"],"mappings":";;;;;;;0PASA,SAAAA,GAAsCC,GACpC,MAAgB,OAATA,GAAiB,GAAGA,GAAY,QCCzC,QAAAC,GAAqCD,EAAYE,GAC/C,WADF,KAAAA,IAAiDA,EAAjD,GACSC,EAAeH,GAASI,OAAOJ,GAASE,EAOjD,QAAAC,GAA+BH,GAI7B,OAAQK,MAAMC,WAAU,MAAoBD,MAAMD,OAAOJ,ICd3D,QAAAO,GAA+BP,GAC7B,MAAOQ,OAAMC,QAAQT,GAASA,GAASA"}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/eec354e6/node_modules/@angular/cdk/bundles/cdk-collections.umd.js
----------------------------------------------------------------------
diff --git a/node_modules/@angular/cdk/bundles/cdk-collections.umd.js b/node_modules/@angular/cdk/bundles/cdk-collections.umd.js
new file mode 100644
index 0000000..406b2ff
--- /dev/null
+++ b/node_modules/@angular/cdk/bundles/cdk-collections.umd.js
@@ -0,0 +1,446 @@
+/**
+ * @license
+ * Copyright Google LLC All Rights Reserved.
+ *
+ * Use of this source code is governed by an MIT-style license that can be
+ * found in the LICENSE file at https://angular.io/license
+ */
+(function (global, factory) {
+	typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('rxjs/Subject'), require('@angular/core')) :
+	typeof define === 'function' && define.amd ? define(['exports', 'rxjs/Subject', '@angular/core'], factory) :
+	(factory((global.ng = global.ng || {}, global.ng.cdk = global.ng.cdk || {}, global.ng.cdk.collections = global.ng.cdk.collections || {}),global.Rx,global.ng.core));
+}(this, (function (exports,rxjs_Subject,_angular_core) { 'use strict';
+
+/**
+ * @fileoverview added by tsickle
+ * @suppress {checkTypes} checked by tsc
+ */
+
+/**
+ * @abstract
+ */
+var DataSource = /** @class */ (function () {
+    function DataSource() {
+    }
+    return DataSource;
+}());
+
+/**
+ * @fileoverview added by tsickle
+ * @suppress {checkTypes} checked by tsc
+ */
+
+/**
+ * Class to be used to power selecting one or more options from a list.
+ */
+var SelectionModel = /** @class */ (function () {
+    function SelectionModel(_multiple, initiallySelectedValues, _emitChanges) {
+        if (_multiple === void 0) { _multiple = false; }
+        if (_emitChanges === void 0) { _emitChanges = true; }
+        var _this = this;
+        this._multiple = _multiple;
+        this._emitChanges = _emitChanges;
+        /**
+         * Currently-selected values.
+         */
+        this._selection = new Set();
+        /**
+         * Keeps track of the deselected options that haven't been emitted by the change event.
+         */
+        this._deselectedToEmit = [];
+        /**
+         * Keeps track of the selected options that haven't been emitted by the change event.
+         */
+        this._selectedToEmit = [];
+        /**
+         * Event emitted when the value has changed.
+         */
+        this.onChange = this._emitChanges ? new rxjs_Subject.Subject() : null;
+        if (initiallySelectedValues && initiallySelectedValues.length) {
+            if (_multiple) {
+                initiallySelectedValues.forEach(function (value) { return _this._markSelected(value); });
+            }
+            else {
+                this._markSelected(initiallySelectedValues[0]);
+            }
+            // Clear the array in order to avoid firing the change event for preselected values.
+            this._selectedToEmit.length = 0;
+        }
+    }
+    Object.defineProperty(SelectionModel.prototype, "selected", {
+        /** Selected values. */
+        get: /**
+         * Selected values.
+         * @return {?}
+         */
+        function () {
+            if (!this._selected) {
+                this._selected = Array.from(this._selection.values());
+            }
+            return this._selected;
+        },
+        enumerable: true,
+        configurable: true
+    });
+    /**
+     * Selects a value or an array of values.
+     */
+    /**
+     * Selects a value or an array of values.
+     * @param {...?} values
+     * @return {?}
+     */
+    SelectionModel.prototype.select = /**
+     * Selects a value or an array of values.
+     * @param {...?} values
+     * @return {?}
+     */
+    function () {
+        var _this = this;
+        var values = [];
+        for (var _i = 0; _i < arguments.length; _i++) {
+            values[_i] = arguments[_i];
+        }
+        this._verifyValueAssignment(values);
+        values.forEach(function (value) { return _this._markSelected(value); });
+        this._emitChangeEvent();
+    };
+    /**
+     * Deselects a value or an array of values.
+     */
+    /**
+     * Deselects a value or an array of values.
+     * @param {...?} values
+     * @return {?}
+     */
+    SelectionModel.prototype.deselect = /**
+     * Deselects a value or an array of values.
+     * @param {...?} values
+     * @return {?}
+     */
+    function () {
+        var _this = this;
+        var values = [];
+        for (var _i = 0; _i < arguments.length; _i++) {
+            values[_i] = arguments[_i];
+        }
+        this._verifyValueAssignment(values);
+        values.forEach(function (value) { return _this._unmarkSelected(value); });
+        this._emitChangeEvent();
+    };
+    /**
+     * Toggles a value between selected and deselected.
+     */
+    /**
+     * Toggles a value between selected and deselected.
+     * @param {?} value
+     * @return {?}
+     */
+    SelectionModel.prototype.toggle = /**
+     * Toggles a value between selected and deselected.
+     * @param {?} value
+     * @return {?}
+     */
+    function (value) {
+        this.isSelected(value) ? this.deselect(value) : this.select(value);
+    };
+    /**
+     * Clears all of the selected values.
+     */
+    /**
+     * Clears all of the selected values.
+     * @return {?}
+     */
+    SelectionModel.prototype.clear = /**
+     * Clears all of the selected values.
+     * @return {?}
+     */
+    function () {
+        this._unmarkAll();
+        this._emitChangeEvent();
+    };
+    /**
+     * Determines whether a value is selected.
+     */
+    /**
+     * Determines whether a value is selected.
+     * @param {?} value
+     * @return {?}
+     */
+    SelectionModel.prototype.isSelected = /**
+     * Determines whether a value is selected.
+     * @param {?} value
+     * @return {?}
+     */
+    function (value) {
+        return this._selection.has(value);
+    };
+    /**
+     * Determines whether the model does not have a value.
+     */
+    /**
+     * Determines whether the model does not have a value.
+     * @return {?}
+     */
+    SelectionModel.prototype.isEmpty = /**
+     * Determines whether the model does not have a value.
+     * @return {?}
+     */
+    function () {
+        return this._selection.size === 0;
+    };
+    /**
+     * Determines whether the model has a value.
+     */
+    /**
+     * Determines whether the model has a value.
+     * @return {?}
+     */
+    SelectionModel.prototype.hasValue = /**
+     * Determines whether the model has a value.
+     * @return {?}
+     */
+    function () {
+        return !this.isEmpty();
+    };
+    /**
+     * Sorts the selected values based on a predicate function.
+     */
+    /**
+     * Sorts the selected values based on a predicate function.
+     * @param {?=} predicate
+     * @return {?}
+     */
+    SelectionModel.prototype.sort = /**
+     * Sorts the selected values based on a predicate function.
+     * @param {?=} predicate
+     * @return {?}
+     */
+    function (predicate) {
+        if (this._multiple && this._selected) {
+            this._selected.sort(predicate);
+        }
+    };
+    /**
+     * Emits a change event and clears the records of selected and deselected values.
+     * @return {?}
+     */
+    SelectionModel.prototype._emitChangeEvent = /**
+     * Emits a change event and clears the records of selected and deselected values.
+     * @return {?}
+     */
+    function () {
+        // Clear the selected values so they can be re-cached.
+        this._selected = null;
+        if (this._selectedToEmit.length || this._deselectedToEmit.length) {
+            var /** @type {?} */ eventData = new SelectionChange(this, this._selectedToEmit, this._deselectedToEmit);
+            if (this.onChange) {
+                this.onChange.next(eventData);
+            }
+            this._deselectedToEmit = [];
+            this._selectedToEmit = [];
+        }
+    };
+    /**
+     * Selects a value.
+     * @param {?} value
+     * @return {?}
+     */
+    SelectionModel.prototype._markSelected = /**
+     * Selects a value.
+     * @param {?} value
+     * @return {?}
+     */
+    function (value) {
+        if (!this.isSelected(value)) {
+            if (!this._multiple) {
+                this._unmarkAll();
+            }
+            this._selection.add(value);
+            if (this._emitChanges) {
+                this._selectedToEmit.push(value);
+            }
+        }
+    };
+    /**
+     * Deselects a value.
+     * @param {?} value
+     * @return {?}
+     */
+    SelectionModel.prototype._unmarkSelected = /**
+     * Deselects a value.
+     * @param {?} value
+     * @return {?}
+     */
+    function (value) {
+        if (this.isSelected(value)) {
+            this._selection.delete(value);
+            if (this._emitChanges) {
+                this._deselectedToEmit.push(value);
+            }
+        }
+    };
+    /**
+     * Clears out the selected values.
+     * @return {?}
+     */
+    SelectionModel.prototype._unmarkAll = /**
+     * Clears out the selected values.
+     * @return {?}
+     */
+    function () {
+        var _this = this;
+        if (!this.isEmpty()) {
+            this._selection.forEach(function (value) { return _this._unmarkSelected(value); });
+        }
+    };
+    /**
+     * Verifies the value assignment and throws an error if the specified value array is
+     * including multiple values while the selection model is not supporting multiple values.
+     * @param {?} values
+     * @return {?}
+     */
+    SelectionModel.prototype._verifyValueAssignment = /**
+     * Verifies the value assignment and throws an error if the specified value array is
+     * including multiple values while the selection model is not supporting multiple values.
+     * @param {?} values
+     * @return {?}
+     */
+    function (values) {
+        if (values.length > 1 && !this._multiple) {
+            throw getMultipleValuesInSingleSelectionError();
+        }
+    };
+    return SelectionModel;
+}());
+/**
+ * Event emitted when the value of a MatSelectionModel has changed.
+ * \@docs-private
+ */
+var SelectionChange = /** @class */ (function () {
+    function SelectionChange(source, added, removed) {
+        this.source = source;
+        this.added = added;
+        this.removed = removed;
+    }
+    return SelectionChange;
+}());
+/**
+ * Returns an error that reports that multiple values are passed into a selection model
+ * with a single value.
+ * @return {?}
+ */
+function getMultipleValuesInSingleSelectionError() {
+    return Error('Cannot pass multiple values into SelectionModel with single-value mode.');
+}
+
+/**
+ * @fileoverview added by tsickle
+ * @suppress {checkTypes} checked by tsc
+ */
+
+/**
+ * Class to coordinate unique selection based on name.
+ * Intended to be consumed as an Angular service.
+ * This service is needed because native radio change events are only fired on the item currently
+ * being selected, and we still need to uncheck the previous selection.
+ *
+ * This service does not *store* any IDs and names because they may change at any time, so it is
+ * less error-prone if they are simply passed through when the events occur.
+ */
+var UniqueSelectionDispatcher = /** @class */ (function () {
+    function UniqueSelectionDispatcher() {
+        this._listeners = [];
+    }
+    /**
+     * Notify other items that selection for the given name has been set.
+     * @param id ID of the item.
+     * @param name Name of the item.
+     */
+    /**
+     * Notify other items that selection for the given name has been set.
+     * @param {?} id ID of the item.
+     * @param {?} name Name of the item.
+     * @return {?}
+     */
+    UniqueSelectionDispatcher.prototype.notify = /**
+     * Notify other items that selection for the given name has been set.
+     * @param {?} id ID of the item.
+     * @param {?} name Name of the item.
+     * @return {?}
+     */
+    function (id, name) {
+        for (var _i = 0, _a = this._listeners; _i < _a.length; _i++) {
+            var listener = _a[_i];
+            listener(id, name);
+        }
+    };
+    /**
+     * Listen for future changes to item selection.
+     * @return Function used to deregister listener
+     */
+    /**
+     * Listen for future changes to item selection.
+     * @param {?} listener
+     * @return {?} Function used to deregister listener
+     */
+    UniqueSelectionDispatcher.prototype.listen = /**
+     * Listen for future changes to item selection.
+     * @param {?} listener
+     * @return {?} Function used to deregister listener
+     */
+    function (listener) {
+        var _this = this;
+        this._listeners.push(listener);
+        return function () {
+            _this._listeners = _this._listeners.filter(function (registered) {
+                return listener !== registered;
+            });
+        };
+    };
+    /**
+     * @return {?}
+     */
+    UniqueSelectionDispatcher.prototype.ngOnDestroy = /**
+     * @return {?}
+     */
+    function () {
+        this._listeners = [];
+    };
+    UniqueSelectionDispatcher.decorators = [
+        { type: _angular_core.Injectable },
+    ];
+    /** @nocollapse */
+    UniqueSelectionDispatcher.ctorParameters = function () { return []; };
+    return UniqueSelectionDispatcher;
+}());
+/**
+ * \@docs-private
+ * @param {?} parentDispatcher
+ * @return {?}
+ */
+function UNIQUE_SELECTION_DISPATCHER_PROVIDER_FACTORY(parentDispatcher) {
+    return parentDispatcher || new UniqueSelectionDispatcher();
+}
+/**
+ * \@docs-private
+ */
+var UNIQUE_SELECTION_DISPATCHER_PROVIDER = {
+    // If there is already a dispatcher available, use that. Otherwise, provide a new one.
+    provide: UniqueSelectionDispatcher,
+    deps: [[new _angular_core.Optional(), new _angular_core.SkipSelf(), UniqueSelectionDispatcher]],
+    useFactory: UNIQUE_SELECTION_DISPATCHER_PROVIDER_FACTORY
+};
+
+exports.UniqueSelectionDispatcher = UniqueSelectionDispatcher;
+exports.UNIQUE_SELECTION_DISPATCHER_PROVIDER = UNIQUE_SELECTION_DISPATCHER_PROVIDER;
+exports.DataSource = DataSource;
+exports.SelectionModel = SelectionModel;
+exports.SelectionChange = SelectionChange;
+exports.getMultipleValuesInSingleSelectionError = getMultipleValuesInSingleSelectionError;
+exports.ɵa = UNIQUE_SELECTION_DISPATCHER_PROVIDER_FACTORY;
+
+Object.defineProperty(exports, '__esModule', { value: true });
+
+})));
+//# sourceMappingURL=cdk-collections.umd.js.map


[04/59] [abbrv] [partial] nifi-fds git commit: update gh-pages

Posted by sc...@apache.org.
http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/eec354e6/node_modules/@angular/cdk/esm2015/layout.js.map
----------------------------------------------------------------------
diff --git a/node_modules/@angular/cdk/esm2015/layout.js.map b/node_modules/@angular/cdk/esm2015/layout.js.map
new file mode 100644
index 0000000..81f48c2
--- /dev/null
+++ b/node_modules/@angular/cdk/esm2015/layout.js.map
@@ -0,0 +1 @@
+{"version":3,"file":"layout.js","sources":["../../../src/cdk/layout/index.ts","../../../src/cdk/layout/public-api.ts","../../../src/cdk/layout/breakpoints.ts","../../../src/cdk/layout/breakpoints-observer.ts","../../../src/cdk/layout/media-matcher.ts"],"sourcesContent":["/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nimport {NgModule} from '@angular/core';\nimport {PlatformModule} from '@angular/cdk/platform';\nimport {BreakpointObserver} from './breakpoints-observer';\nimport {MediaMatcher} from './media-matcher';\n\n@NgModule({\n  providers: [BreakpointObserver, MediaMatcher],\n  imports: [PlatformModule],\n})\nexport class LayoutModule {}\n\nexport {BreakpointObserver, BreakpointState} from './breakpoints-observer';\nexport {Breakpoint
 s} from './breakpoints';\nexport {MediaMatcher} from './media-matcher';\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n// PascalCase is being used as Breakpoints is used like an enum.\n// tslint:disable-next-line:variable-name\nexport const Breakpoints = {\n  XSmall: '(max-width: 599px)',\n  Small: '(min-width: 600px) and (max-width: 959px)',\n  Medium: '(min-width: 960px) and (max-width: 1279px)',\n  Large: '(min-width: 1280px) and (max-width: 1919px)',\n  XLarge: '(min-width: 1920px)',\n\n  Handset: '(max-width: 599px) and (orientation: portrait), ' +\n           '(max-width: 959px) and (orientation: landscape)',\n  Tablet: '(min-width: 600px) and (max-width: 839px) and (orientation: portrait), ' +\n          '(min-width: 960px) and (max-width: 1279px) and (orientation: landscape)',\n  Web: '(min-width: 840px) and (or
 ientation: portrait), ' +\n       '(min-width: 1280px) and (orientation: landscape)',\n\n  HandsetPortrait: '(max-width: 599px) and (orientation: portrait)',\n  TabletPortrait: '(min-width: 600px) and (max-width: 839px) and (orientation: portrait)',\n  WebPortrait: '(min-width: 840px) and (orientation: portrait)',\n\n  HandsetLandscape: '(max-width: 959px) and (orientation: landscape)',\n  TabletLandscape: '(min-width: 960px) and (max-width: 1279px) and (orientation: landscape)',\n  WebLandscape: '(min-width: 1280px) and (orientation: landscape)',\n};\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nimport {Injectable, NgZone, OnDestroy} from '@angular/core';\nimport {MediaMatcher} from './media-matcher';\nimport {Observable} from 'rxjs/Observable';\nimport {Subject} from 'rxjs/Subject';\nimport {map} from 'rxjs/operators
 /map';\nimport {startWith} from 'rxjs/operators/startWith';\nimport {takeUntil} from 'rxjs/operators/takeUntil';\nimport {coerceArray} from '@angular/cdk/coercion';\nimport {combineLatest} from 'rxjs/observable/combineLatest';\nimport {fromEventPattern} from 'rxjs/observable/fromEventPattern';\n\n/** The current state of a layout breakpoint. */\nexport interface BreakpointState {\n  /** Whether the breakpoint is currently matching. */\n  matches: boolean;\n}\n\ninterface Query {\n  observable: Observable<BreakpointState>;\n  mql: MediaQueryList;\n}\n\n/** Utility for checking the matching state of @media queries. */\n@Injectable()\nexport class BreakpointObserver implements OnDestroy {\n  /**  A map of all media queries currently being listened for. */\n  private _queries: Map<string, Query> = new Map();\n  /** A subject for all other observables to takeUntil based on. */\n  private _destroySubject: Subject<{}> = new Subject();\n\n  constructor(private mediaMatcher: MediaMatcher, pr
 ivate zone: NgZone) {}\n\n  /** Completes the active subject, signalling to all other observables to complete. */\n  ngOnDestroy() {\n    this._destroySubject.next();\n    this._destroySubject.complete();\n  }\n\n  /**\n   * Whether one or more media queries match the current viewport size.\n   * @param value One or more media queries to check.\n   * @returns Whether any of the media queries match.\n   */\n  isMatched(value: string | string[]): boolean {\n    let queries = coerceArray(value);\n    return queries.some(mediaQuery => this._registerQuery(mediaQuery).mql.matches);\n  }\n\n  /**\n   * Gets an observable of results for the given queries that will emit new results for any changes\n   * in matching of the given queries.\n   * @returns A stream of matches for the given queries.\n   */\n  observe(value: string | string[]): Observable<BreakpointState> {\n    let queries = coerceArray(value);\n    let observables = queries.map(query => this._registerQuery(query).observable);\n\n
     return combineLatest(observables, (a: BreakpointState, b: BreakpointState) => {\n      return {\n        matches: !!((a && a.matches) || (b && b.matches)),\n      };\n    });\n  }\n\n  /** Registers a specific query to be listened for. */\n  private _registerQuery(query: string): Query {\n    // Only set up a new MediaQueryList if it is not already being listened for.\n    if (this._queries.has(query)) {\n      return this._queries.get(query)!;\n    }\n\n    let mql: MediaQueryList = this.mediaMatcher.matchMedia(query);\n    // Create callback for match changes and add it is as a listener.\n    let queryObservable = fromEventPattern(\n      // Listener callback methods are wrapped to be placed back in ngZone. Callbacks must be placed\n      // back into the zone because matchMedia is only included in Zone.js by loading the\n      // webapis-media-query.js file alongside the zone.js file.  Additionally, some browsers do not\n      // have MediaQueryList inherit from EventTarget, 
 which causes inconsistencies in how Zone.js\n      // patches it.\n      (listener: MediaQueryListListener) => {\n        mql.addListener((e: MediaQueryList) => this.zone.run(() => listener(e)));\n      },\n      (listener: MediaQueryListListener) => {\n        mql.removeListener((e: MediaQueryList) => this.zone.run(() => listener(e)));\n      })\n      .pipe(\n        takeUntil(this._destroySubject),\n        startWith(mql),\n        map((nextMql: MediaQueryList) => ({matches: nextMql.matches}))\n      );\n\n    // Add the MediaQueryList to the set of queries.\n    let output = {observable: queryObservable, mql: mql};\n    this._queries.set(query, output);\n    return output;\n  }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nimport {Injectable} from '@angular/core';\nimport {Platform} from '@angular/cdk/platform';
 \n\n/**\n * Global registry for all dynamically-created, injected style tags.\n */\nconst styleElementForWebkitCompatibility: Map<string, HTMLStyleElement> = new Map();\n\n/** A utility for calling matchMedia queries. */\n@Injectable()\nexport class MediaMatcher {\n  /** The internal matchMedia method to return back a MediaQueryList like object. */\n  private _matchMedia: (query: string) => MediaQueryList;\n\n  constructor(private platform: Platform) {\n    this._matchMedia = this.platform.isBrowser && window.matchMedia ?\n      // matchMedia is bound to the window scope intentionally as it is an illegal invocation to\n      // call it from a different scope.\n      window.matchMedia.bind(window) :\n      noopMatchMedia;\n  }\n\n  /**\n   * Evaluates the given media query and returns the native MediaQueryList from which results\n   * can be retrieved.\n   * Confirms the layout engine will trigger for the selector query provided and returns the\n   * MediaQueryList for the query prov
 ided.\n   */\n  matchMedia(query: string): MediaQueryList {\n    if (this.platform.WEBKIT) {\n      createEmptyStyleRule(query);\n    }\n    return this._matchMedia(query);\n  }\n}\n\n/**\n * For Webkit engines that only trigger the MediaQueryListListener when there is at least one CSS\n * selector for the respective media query.\n */\nfunction createEmptyStyleRule(query: string) {\n  if (!styleElementForWebkitCompatibility.has(query)) {\n    try {\n      const style = document.createElement('style');\n\n      style.setAttribute('type', 'text/css');\n      if (!style.sheet) {\n        const cssText = `@media ${query} {.fx-query-test{ }}`;\n        style.appendChild(document.createTextNode(cssText));\n      }\n\n      document.getElementsByTagName('head')[0].appendChild(style);\n\n      // Store in private global registry\n      styleElementForWebkitCompatibility.set(query, style);\n    } catch (e) {\n      console.error(e);\n    }\n  }\n}\n\n/** No-op matchMedia replacement for non-
 browser platforms. */\nfunction noopMatchMedia(query: string): MediaQueryList {\n  return {\n    matches: query === 'all' || query === '',\n    media: query,\n    addListener: () => {},\n    removeListener: () => {}\n  };\n}\n"],"names":[],"mappings":"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"}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/eec354e6/node_modules/@angular/cdk/esm2015/observers.js
----------------------------------------------------------------------
diff --git a/node_modules/@angular/cdk/esm2015/observers.js b/node_modules/@angular/cdk/esm2015/observers.js
new file mode 100644
index 0000000..6757ef5
--- /dev/null
+++ b/node_modules/@angular/cdk/esm2015/observers.js
@@ -0,0 +1,175 @@
+/**
+ * @license
+ * Copyright Google LLC All Rights Reserved.
+ *
+ * Use of this source code is governed by an MIT-style license that can be
+ * found in the LICENSE file at https://angular.io/license
+ */
+import { Directive, ElementRef, EventEmitter, Injectable, Input, NgModule, NgZone, Output } from '@angular/core';
+import { coerceBooleanProperty } from '@angular/cdk/coercion';
+import { Subject } from 'rxjs/Subject';
+import { debounceTime } from 'rxjs/operators/debounceTime';
+
+/**
+ * @fileoverview added by tsickle
+ * @suppress {checkTypes} checked by tsc
+ */
+
+/**
+ * Factory that creates a new MutationObserver and allows us to stub it out in unit tests.
+ * \@docs-private
+ */
+class MutationObserverFactory {
+    /**
+     * @param {?} callback
+     * @return {?}
+     */
+    create(callback) {
+        return typeof MutationObserver === 'undefined' ? null : new MutationObserver(callback);
+    }
+}
+MutationObserverFactory.decorators = [
+    { type: Injectable },
+];
+/** @nocollapse */
+MutationObserverFactory.ctorParameters = () => [];
+/**
+ * Directive that triggers a callback whenever the content of
+ * its associated element has changed.
+ */
+class CdkObserveContent {
+    /**
+     * @param {?} _mutationObserverFactory
+     * @param {?} _elementRef
+     * @param {?} _ngZone
+     */
+    constructor(_mutationObserverFactory, _elementRef, _ngZone) {
+        this._mutationObserverFactory = _mutationObserverFactory;
+        this._elementRef = _elementRef;
+        this._ngZone = _ngZone;
+        this._disabled = false;
+        /**
+         * Event emitted for each change in the element's content.
+         */
+        this.event = new EventEmitter();
+        /**
+         * Used for debouncing the emitted values to the observeContent event.
+         */
+        this._debouncer = new Subject();
+    }
+    /**
+     * Whether observing content is disabled. This option can be used
+     * to disconnect the underlying MutationObserver until it is needed.
+     * @return {?}
+     */
+    get disabled() { return this._disabled; }
+    /**
+     * @param {?} value
+     * @return {?}
+     */
+    set disabled(value) {
+        this._disabled = coerceBooleanProperty(value);
+    }
+    /**
+     * @return {?}
+     */
+    ngAfterContentInit() {
+        if (this.debounce > 0) {
+            this._ngZone.runOutsideAngular(() => {
+                this._debouncer.pipe(debounceTime(this.debounce))
+                    .subscribe((mutations) => this.event.emit(mutations));
+            });
+        }
+        else {
+            this._debouncer.subscribe(mutations => this.event.emit(mutations));
+        }
+        this._observer = this._ngZone.runOutsideAngular(() => {
+            return this._mutationObserverFactory.create((mutations) => {
+                this._debouncer.next(mutations);
+            });
+        });
+        if (!this.disabled) {
+            this._enable();
+        }
+    }
+    /**
+     * @param {?} changes
+     * @return {?}
+     */
+    ngOnChanges(changes) {
+        if (changes['disabled']) {
+            changes['disabled'].currentValue ? this._disable() : this._enable();
+        }
+    }
+    /**
+     * @return {?}
+     */
+    ngOnDestroy() {
+        this._disable();
+        this._debouncer.complete();
+    }
+    /**
+     * @return {?}
+     */
+    _disable() {
+        if (this._observer) {
+            this._observer.disconnect();
+        }
+    }
+    /**
+     * @return {?}
+     */
+    _enable() {
+        if (this._observer) {
+            this._observer.observe(this._elementRef.nativeElement, {
+                characterData: true,
+                childList: true,
+                subtree: true
+            });
+        }
+    }
+}
+CdkObserveContent.decorators = [
+    { type: Directive, args: [{
+                selector: '[cdkObserveContent]',
+                exportAs: 'cdkObserveContent',
+            },] },
+];
+/** @nocollapse */
+CdkObserveContent.ctorParameters = () => [
+    { type: MutationObserverFactory, },
+    { type: ElementRef, },
+    { type: NgZone, },
+];
+CdkObserveContent.propDecorators = {
+    "event": [{ type: Output, args: ['cdkObserveContent',] },],
+    "disabled": [{ type: Input, args: ['cdkObserveContentDisabled',] },],
+    "debounce": [{ type: Input },],
+};
+class ObserversModule {
+}
+ObserversModule.decorators = [
+    { type: NgModule, args: [{
+                exports: [CdkObserveContent],
+                declarations: [CdkObserveContent],
+                providers: [MutationObserverFactory]
+            },] },
+];
+/** @nocollapse */
+ObserversModule.ctorParameters = () => [];
+
+/**
+ * @fileoverview added by tsickle
+ * @suppress {checkTypes} checked by tsc
+ */
+
+/**
+ * @fileoverview added by tsickle
+ * @suppress {checkTypes} checked by tsc
+ */
+/**
+ * Generated bundle index. Do not edit.
+ */
+
+export { CdkObserveContent as ObserveContent, MutationObserverFactory, CdkObserveContent, ObserversModule };
+//# sourceMappingURL=observers.js.map

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/eec354e6/node_modules/@angular/cdk/esm2015/observers.js.map
----------------------------------------------------------------------
diff --git a/node_modules/@angular/cdk/esm2015/observers.js.map b/node_modules/@angular/cdk/esm2015/observers.js.map
new file mode 100644
index 0000000..93f64ff
--- /dev/null
+++ b/node_modules/@angular/cdk/esm2015/observers.js.map
@@ -0,0 +1 @@
+{"version":3,"file":"observers.js","sources":["../../../src/cdk/observers/index.ts","../../../src/cdk/observers/public-api.ts","../../../src/cdk/observers/observe-content.ts"],"sourcesContent":["/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nexport * from './observe-content';\n\n/**\n * @deprecated Use CdkObserveContent\n * @deletion-target 6.0.0\n */\nexport {CdkObserveContent as ObserveContent} from './observe-content';\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {\n  Directive,\n  ElementRef,\n  NgModule,\n  Output,\n  Input,\n  EventEmitter,\n  OnDestroy,\n 
  AfterContentInit,\n  Injectable,\n  NgZone,\n  OnChanges,\n  SimpleChanges,\n} from '@angular/core';\nimport {coerceBooleanProperty} from '@angular/cdk/coercion';\nimport {Subject} from 'rxjs/Subject';\nimport {debounceTime} from 'rxjs/operators/debounceTime';\n\n/**\n * Factory that creates a new MutationObserver and allows us to stub it out in unit tests.\n * @docs-private\n */\n@Injectable()\nexport class MutationObserverFactory {\n  create(callback: MutationCallback): MutationObserver | null {\n    return typeof MutationObserver === 'undefined' ? null : new MutationObserver(callback);\n  }\n}\n\n/**\n * Directive that triggers a callback whenever the content of\n * its associated element has changed.\n */\n@Directive({\n  selector: '[cdkObserveContent]',\n  exportAs: 'cdkObserveContent',\n})\nexport class CdkObserveContent implements AfterContentInit, OnChanges, OnDestroy {\n  private _observer: MutationObserver | null;\n  private _disabled = false;\n\n  /** Event emitted for e
 ach change in the element's content. */\n  @Output('cdkObserveContent') event = new EventEmitter<MutationRecord[]>();\n\n  /**\n   * Whether observing content is disabled. This option can be used\n   * to disconnect the underlying MutationObserver until it is needed.\n   */\n  @Input('cdkObserveContentDisabled')\n  get disabled() { return this._disabled; }\n  set disabled(value: any) {\n    this._disabled = coerceBooleanProperty(value);\n  }\n\n  /** Used for debouncing the emitted values to the observeContent event. */\n  private _debouncer = new Subject<MutationRecord[]>();\n\n  /** Debounce interval for emitting the changes. */\n  @Input() debounce: number;\n\n  constructor(\n    private _mutationObserverFactory: MutationObserverFactory,\n    private _elementRef: ElementRef,\n    private _ngZone: NgZone) { }\n\n  ngAfterContentInit() {\n    if (this.debounce > 0) {\n      this._ngZone.runOutsideAngular(() => {\n        this._debouncer.pipe(debounceTime(this.debounce))\n          
   .subscribe((mutations: MutationRecord[]) => this.event.emit(mutations));\n      });\n    } else {\n      this._debouncer.subscribe(mutations => this.event.emit(mutations));\n    }\n\n    this._observer = this._ngZone.runOutsideAngular(() => {\n      return this._mutationObserverFactory.create((mutations: MutationRecord[]) => {\n        this._debouncer.next(mutations);\n      });\n    });\n\n    if (!this.disabled) {\n      this._enable();\n    }\n  }\n\n  ngOnChanges(changes: SimpleChanges) {\n    if (changes['disabled']) {\n      changes['disabled'].currentValue ? this._disable() : this._enable();\n    }\n  }\n\n  ngOnDestroy() {\n    this._disable();\n    this._debouncer.complete();\n  }\n\n  private _disable() {\n    if (this._observer) {\n      this._observer.disconnect();\n    }\n  }\n\n  private _enable() {\n    if (this._observer) {\n      this._observer.observe(this._elementRef.nativeElement, {\n        characterData: true,\n        childList: true,\n        subtree: true\
 n      });\n    }\n  }\n}\n\n\n@NgModule({\n  exports: [CdkObserveContent],\n  declarations: [CdkObserveContent],\n  providers: [MutationObserverFactory]\n})\nexport class ObserversModule {}\n"],"names":[],"mappings":"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"}
\ No newline at end of file


[08/59] [abbrv] [partial] nifi-fds git commit: update gh-pages

Posted by sc...@apache.org.
http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/eec354e6/node_modules/@angular/cdk/bundles/cdk-table.umd.min.js.map
----------------------------------------------------------------------
diff --git a/node_modules/@angular/cdk/bundles/cdk-table.umd.min.js.map b/node_modules/@angular/cdk/bundles/cdk-table.umd.min.js.map
new file mode 100644
index 0000000..50dd3f2
--- /dev/null
+++ b/node_modules/@angular/cdk/bundles/cdk-table.umd.min.js.map
@@ -0,0 +1 @@
+{"version":3,"file":"cdk-table.umd.min.js","sources":["../../node_modules/tslib/tslib.es6.js","../../src/cdk/table/table-errors.ts","../../src/cdk/table/row.ts","../../src/cdk/table/cell.ts","../../src/cdk/table/table.ts","../../src/cdk/table/table-module.ts"],"sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing
  permissions\r\nand limitations under the License.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = Object.setPrototypeOf ||\r\n    ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n    function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n\r\nexport function __extends(d, b) {\r\n    extendStatics(d, b);\r\n    function __() { this.constructor = d; }\r\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = Object.assign || function __assign(t) {\r\n    for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n        s = arguments[i];\r\n        for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n    }\r\n    return t;\r\n}\r\n\r\nexport function __rest(s, e) {\r\n    var t = {};\r\n    for (var p in s) if (Object.prototype.hasOwnPrope
 rty.call(s, p) && e.indexOf(p) < 0)\r\n        t[p] = s[p];\r\n    if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n        for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) if (e.indexOf(p[i]) < 0)\r\n            t[p[i]] = s[p[i]];\r\n    return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n    var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n    if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n    else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n    return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n    return function (target, key) { decorator(target, key, paramInde
 x); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n    if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n    return new (P || (P = Promise))(function (resolve, reject) {\r\n        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n        function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n        function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }\r\n        step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n    });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n    var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n
     return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n    function verb(n) { return function (v) { return step([n, v]); }; }\r\n    function step(op) {\r\n        if (f) throw new TypeError(\"Generator is already executing.\");\r\n        while (_) try {\r\n            if (f = 1, y && (t = y[op[0] & 2 ? \"return\" : op[0] ? \"throw\" : \"next\"]) && !(t = t.call(y, op[1])).done) return t;\r\n            if (y = 0, t) op = [0, t.value];\r\n            switch (op[0]) {\r\n                case 0: case 1: t = op; break;\r\n                case 4: _.label++; return { value: op[1], done: false };\r\n                case 5: _.label++; y = op[1]; op = [0]; continue;\r\n                case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n                default:\r\n                    if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; 
 continue; }\r\n                    if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n                    if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n                    if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n                    if (t[2]) _.ops.pop();\r\n                    _.trys.pop(); continue;\r\n            }\r\n            op = body.call(thisArg, _);\r\n        } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n        if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n    }\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n    for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n    var m = typeof Symbol === \"function\" && o[Symbol.iterator], i = 0;\r\n    if (m) return m.call(o);\r\n    return {\r\n        next: function () {\r\n            if (o && i >= o.length) 
 o = void 0;\r\n            return { value: o && o[i++], done: !o };\r\n        }\r\n    };\r\n}\r\n\r\nexport function __read(o, n) {\r\n    var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n    if (!m) return o;\r\n    var i = m.call(o), r, ar = [], e;\r\n    try {\r\n        while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n    }\r\n    catch (error) { e = { error: error }; }\r\n    finally {\r\n        try {\r\n            if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n        }\r\n        finally { if (e) throw e.error; }\r\n    }\r\n    return ar;\r\n}\r\n\r\nexport function __spread() {\r\n    for (var ar = [], i = 0; i < arguments.length; i++)\r\n        ar = ar.concat(__read(arguments[i]));\r\n    return ar;\r\n}\r\n\r\nexport function __await(v) {\r\n    return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n    if (!Symbol.asy
 ncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n    var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n    return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n    function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n    function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n    function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r);  }\r\n    function fulfill(value) { resume(\"next\", value); }\r\n    function reject(value) { resume(\"throw\", value); }\r\n    function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n    var i, p;\r\n    return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; 
 }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n    function verb(n, f) { if (o[n]) i[n] = function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; }; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n    if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n    var m = o[Symbol.asyncIterator];\r\n    return m ? m.call(o) : typeof __values === \"function\" ? __values(o) : o[Symbol.iterator]();\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n    if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n    return cooked;\r\n};\r\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * Returns an error to be thrown when attempting 
 to find an unexisting column.\n * @param id Id whose lookup failed.\n * @docs-private\n */\nexport function getTableUnknownColumnError(id: string) {\n  return Error(`Could not find column with id \"${id}\".`);\n}\n\n/**\n * Returns an error to be thrown when two column definitions have the same name.\n * @docs-private\n */\nexport function getTableDuplicateColumnNameError(name: string) {\n  return Error(`Duplicate column definition name provided: \"${name}\".`);\n}\n\n/**\n * Returns an error to be thrown when there are multiple rows that are missing a when function.\n * @docs-private\n */\nexport function getTableMultipleDefaultRowDefsError() {\n  return Error(`There can only be one default row without a when predicate function.`);\n}\n\n/**\n * Returns an error to be thrown when there are no matching row defs for a particular set of data.\n * @docs-private\n */\nexport function getTableMissingMatchingRowDefError() {\n  return Error(`Could not find a matching row definition for the
  provided row data.`);\n}\n\n/**\n * Returns an error to be thrown when there is no row definitions present in the content.\n * @docs-private\n */\nexport function getTableMissingRowDefsError() {\n  return Error('Missing definitions for header and row, ' +\n      'cannot determine which columns should be rendered.');\n}\n\n/**\n * Returns an error to be thrown when the data source does not match the compatible types.\n * @docs-private\n */\nexport function getTableUnknownDataSourceError() {\n  return Error(`Provided data source did not match an array, Observable, or DataSource`);\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {\n  ChangeDetectionStrategy,\n  Component,\n  Directive,\n  IterableChanges,\n  IterableDiffer,\n  IterableDiffers,\n  SimpleChanges,\n  TemplateRef,\n  ViewContainerRef,\n  ViewEncaps
 ulation,\n} from '@angular/core';\nimport {CdkCellDef} from './cell';\n\n/**\n * The row template that can be used by the mat-table. Should not be used outside of the\n * material library.\n */\nexport const CDK_ROW_TEMPLATE = `<ng-container cdkCellOutlet></ng-container>`;\n\n/**\n * Base class for the CdkHeaderRowDef and CdkRowDef that handles checking their columns inputs\n * for changes and notifying the table.\n */\nexport abstract class BaseRowDef {\n  /** The columns to be displayed on this row. */\n  columns: string[];\n\n  /** Differ used to check if any changes were made to the columns. */\n  protected _columnsDiffer: IterableDiffer<any>;\n\n  constructor(/** @docs-private */ public template: TemplateRef<any>,\n              protected _differs: IterableDiffers) { }\n\n  ngOnChanges(changes: SimpleChanges): void {\n    // Create a new columns differ if one does not yet exist. Initialize it based on initial value\n    // of the columns property or an empty array if none is pr
 ovided.\n    const columns = changes['columns'].currentValue || [];\n    if (!this._columnsDiffer) {\n      this._columnsDiffer = this._differs.find(columns).create();\n      this._columnsDiffer.diff(columns);\n    }\n  }\n\n  /**\n   * Returns the difference between the current columns and the columns from the last diff, or null\n   * if there is no difference.\n   */\n  getColumnsDiff(): IterableChanges<any> | null {\n    return this._columnsDiffer.diff(this.columns);\n  }\n}\n\n/**\n * Header row definition for the CDK table.\n * Captures the header row's template and other header properties such as the columns to display.\n */\n@Directive({\n  selector: '[cdkHeaderRowDef]',\n  inputs: ['columns: cdkHeaderRowDef'],\n})\nexport class CdkHeaderRowDef extends BaseRowDef {\n  constructor(template: TemplateRef<any>, _differs: IterableDiffers) {\n    super(template, _differs);\n  }\n}\n\n/**\n * Data row definition for the CDK table.\n * Captures the header row's template and other row
  properties such as the columns to display and\n * a when predicate that describes when this row should be used.\n */\n@Directive({\n  selector: '[cdkRowDef]',\n  inputs: ['columns: cdkRowDefColumns', 'when: cdkRowDefWhen'],\n})\nexport class CdkRowDef<T> extends BaseRowDef {\n  /**\n   * Function that should return true if this row template should be used for the provided index\n   * and row data. If left undefined, this row will be considered the default row template to use\n   * when no other when functions return true for the data.\n   * For every row, there must be at least one when function that passes or an undefined to default.\n   */\n  when: (index: number, rowData: T) => boolean;\n\n  // TODO(andrewseguin): Add an input for providing a switch function to determine\n  //   if this template should be used.\n  constructor(template: TemplateRef<any>, _differs: IterableDiffers) {\n    super(template, _differs);\n  }\n}\n\n/** Context provided to the row cells */\nexport interf
 ace CdkCellOutletRowContext<T> {\n  /** Data for the row that this cell is located within. */\n  $implicit: T;\n\n  /** Index location of the row that this cell is located within. */\n  index?: number;\n\n  /** Length of the number of total rows. */\n  count?: number;\n\n  /** True if this cell is contained in the first row. */\n  first?: boolean;\n\n  /** True if this cell is contained in the last row. */\n  last?: boolean;\n\n  /** True if this cell is contained in a row with an even-numbered index. */\n  even?: boolean;\n\n  /** True if this cell is contained in a row with an odd-numbered index. */\n  odd?: boolean;\n}\n\n/**\n * Outlet for rendering cells inside of a row or header row.\n * @docs-private\n */\n@Directive({selector: '[cdkCellOutlet]'})\nexport class CdkCellOutlet {\n  /** The ordered list of cells to render within this outlet's view container */\n  cells: CdkCellDef[];\n\n  /** The data context to be provided to each cell */\n  context: any;\n\n  /**\n   * Static 
 property containing the latest constructed instance of this class.\n   * Used by the CDK table when each CdkHeaderRow and CdkRow component is created using\n   * createEmbeddedView. After one of these components are created, this property will provide\n   * a handle to provide that component's cells and context. After init, the CdkCellOutlet will\n   * construct the cells with the provided context.\n   */\n  static mostRecentCellOutlet: CdkCellOutlet | null = null;\n\n  constructor(public _viewContainer: ViewContainerRef) {\n    CdkCellOutlet.mostRecentCellOutlet = this;\n  }\n}\n\n/** Header template container that contains the cell outlet. Adds the right class and role. */\n@Component({\n  moduleId: module.id,\n  selector: 'cdk-header-row',\n  template: CDK_ROW_TEMPLATE,\n  host: {\n    'class': 'cdk-header-row',\n    'role': 'row',\n  },\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  encapsulation: ViewEncapsulation.None,\n  preserveWhitespaces: false,\n})\nexport class C
 dkHeaderRow { }\n\n/** Data row template container that contains the cell outlet. Adds the right class and role. */\n@Component({\n  moduleId: module.id,\n  selector: 'cdk-row',\n  template: CDK_ROW_TEMPLATE,\n  host: {\n    'class': 'cdk-row',\n    'role': 'row',\n  },\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  encapsulation: ViewEncapsulation.None,\n  preserveWhitespaces: false,\n})\nexport class CdkRow { }\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {ContentChild, Directive, ElementRef, Input, TemplateRef} from '@angular/core';\n\n/**\n * Cell definition for a CDK table.\n * Captures the template of a column's data row cell as well as cell-specific properties.\n */\n@Directive({selector: '[cdkCellDef]'})\nexport class CdkCellDef {\n  constructor(/** @docs-private */ public template: TemplateRe
 f<any>) { }\n}\n\n/**\n * Header cell definition for a CDK table.\n * Captures the template of a column's header cell and as well as cell-specific properties.\n */\n@Directive({selector: '[cdkHeaderCellDef]'})\nexport class CdkHeaderCellDef {\n  constructor(/** @docs-private */ public template: TemplateRef<any>) { }\n}\n\n/**\n * Column definition for the CDK table.\n * Defines a set of cells available for a table column.\n */\n@Directive({selector: '[cdkColumnDef]'})\nexport class CdkColumnDef {\n  /** Unique name for this column. */\n  @Input('cdkColumnDef')\n  get name(): string { return this._name; }\n  set name(name: string) {\n    // If the directive is set without a name (updated programatically), then this setter will\n    // trigger with an empty string and should not overwrite the programatically set value.\n    if (!name) { return; }\n\n    this._name = name;\n    this.cssClassFriendlyName = name.replace(/[^a-z0-9_-]/ig, '-');\n  }\n  _name: string;\n\n  /** @docs-private
  */\n  @ContentChild(CdkCellDef) cell: CdkCellDef;\n\n  /** @docs-private */\n  @ContentChild(CdkHeaderCellDef) headerCell: CdkHeaderCellDef;\n\n  /**\n   * Transformed version of the column name that can be used as part of a CSS classname. Excludes\n   * all non-alphanumeric characters and the special characters '-' and '_'. Any characters that\n   * do not match are replaced by the '-' character.\n   */\n  cssClassFriendlyName: string;\n}\n\n/** Header cell template container that adds the right classes and role. */\n@Directive({\n  selector: 'cdk-header-cell',\n  host: {\n    'class': 'cdk-header-cell',\n    'role': 'columnheader',\n  },\n})\nexport class CdkHeaderCell {\n  constructor(columnDef: CdkColumnDef, elementRef: ElementRef) {\n    elementRef.nativeElement.classList.add(`cdk-column-${columnDef.cssClassFriendlyName}`);\n  }\n}\n\n/** Cell template container that adds the right classes and role. */\n@Directive({\n  selector: 'cdk-cell',\n  host: {\n    'class': 'cdk-cell',
 \n    'role': 'gridcell',\n  },\n})\nexport class CdkCell {\n  constructor(columnDef: CdkColumnDef, elementRef: ElementRef) {\n    elementRef.nativeElement.classList.add(`cdk-column-${columnDef.cssClassFriendlyName}`);\n  }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {\n  AfterContentChecked,\n  Attribute,\n  ChangeDetectionStrategy,\n  ChangeDetectorRef,\n  Component,\n  ContentChild,\n  ContentChildren,\n  Directive,\n  ElementRef,\n  EmbeddedViewRef,\n  Input,\n  isDevMode,\n  IterableChangeRecord,\n  IterableDiffer,\n  IterableDiffers,\n  OnInit,\n  QueryList,\n  TrackByFunction,\n  ViewChild,\n  ViewContainerRef,\n  ViewEncapsulation,\n} from '@angular/core';\nimport {CollectionViewer, DataSource} from '@angular/cdk/collections';\nimport {CdkCellOutlet, CdkCellOutletRowContext, CdkHeaderRowDef, CdkRo
 wDef} from './row';\nimport {takeUntil} from 'rxjs/operators/takeUntil';\nimport {BehaviorSubject} from 'rxjs/BehaviorSubject';\nimport {Subscription} from 'rxjs/Subscription';\nimport {Subject} from 'rxjs/Subject';\nimport {CdkCellDef, CdkColumnDef, CdkHeaderCellDef} from './cell';\nimport {\n  getTableDuplicateColumnNameError,\n  getTableMissingMatchingRowDefError,\n  getTableMissingRowDefsError,\n  getTableMultipleDefaultRowDefsError,\n  getTableUnknownColumnError,\n  getTableUnknownDataSourceError\n} from './table-errors';\nimport {Observable} from 'rxjs/Observable';\nimport {of as observableOf} from 'rxjs/observable/of';\n\n/**\n * Provides a handle for the table to grab the view container's ng-container to insert data rows.\n * @docs-private\n */\n@Directive({selector: '[rowPlaceholder]'})\nexport class RowPlaceholder {\n  constructor(public viewContainer: ViewContainerRef) { }\n}\n\n/**\n * Provides a handle for the table to grab the view container's ng-container to insert th
 e header.\n * @docs-private\n */\n@Directive({selector: '[headerRowPlaceholder]'})\nexport class HeaderRowPlaceholder {\n  constructor(public viewContainer: ViewContainerRef) { }\n}\n\n/**\n * The table template that can be used by the mat-table. Should not be used outside of the\n * material library.\n */\nexport const CDK_TABLE_TEMPLATE = `\n  <ng-container headerRowPlaceholder></ng-container>\n  <ng-container rowPlaceholder></ng-container>`;\n\n/**\n * Class used to conveniently type the embedded view ref for rows with a context.\n * @docs-private\n */\nabstract class RowViewRef<T> extends EmbeddedViewRef<CdkCellOutletRowContext<T>> { }\n\n/**\n * A data table that renders a header row and data rows. Uses the dataSource input to determine\n * the data to be rendered. The data can be provided either as a data array, an Observable stream\n * that emits the data array to render, or a DataSource with a connect function that will\n * return an Observable stream that emits the data arr
 ay to render.\n */\n@Component({\n  moduleId: module.id,\n  selector: 'cdk-table',\n  exportAs: 'cdkTable',\n  template: CDK_TABLE_TEMPLATE,\n  host: {\n    'class': 'cdk-table',\n  },\n  encapsulation: ViewEncapsulation.None,\n  preserveWhitespaces: false,\n  changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class CdkTable<T> implements CollectionViewer, OnInit, AfterContentChecked {\n  /** Subject that emits when the component has been destroyed. */\n  private _onDestroy = new Subject<void>();\n\n  /** Latest data provided by the data source. */\n  private _data: T[];\n\n  /** Subscription that listens for the data provided by the data source. */\n  private _renderChangeSubscription: Subscription | null;\n\n  /**\n   * Map of all the user's defined columns (header and data cell template) identified by name.\n   * Collection populated by the column definitions gathered by `ContentChildren` as well as any\n   * custom column definitions added to `_customColumnDefs`.\n   *
 /\n  private _columnDefsByName = new Map<string,  CdkColumnDef>();\n\n  /**\n   * Set of all row defitions that can be used by this table. Populated by the rows gathered by\n   * using `ContentChildren` as well as any custom row definitions added to `_customRowDefs`.\n   */\n  private _rowDefs: CdkRowDef<T>[];\n\n  /** Differ used to find the changes in the data provided by the data source. */\n  private _dataDiffer: IterableDiffer<T>;\n\n  /** Stores the row definition that does not have a when predicate. */\n  private _defaultRowDef: CdkRowDef<T> | null;\n\n  /** Column definitions that were defined outside of the direct content children of the table. */\n  private _customColumnDefs = new Set<CdkColumnDef>();\n\n  /** Row definitions that were defined outside of the direct content children of the table. */\n  private _customRowDefs = new Set<CdkRowDef<T>>();\n\n  /**\n   * Whether the header row definition has been changed. Triggers an update to the header row after\n   * content 
 is checked.\n   */\n  private _headerRowDefChanged = false;\n\n  /**\n   * Tracking function that will be used to check the differences in data changes. Used similarly\n   * to `ngFor` `trackBy` function. Optimize row operations by identifying a row based on its data\n   * relative to the function to know if a row should be added/removed/moved.\n   * Accepts a function that takes two parameters, `index` and `item`.\n   */\n  @Input()\n  get trackBy(): TrackByFunction<T> { return this._trackByFn; }\n  set trackBy(fn: TrackByFunction<T>) {\n    if (isDevMode() &&\n        fn != null && typeof fn !== 'function' &&\n        <any>console && <any>console.warn) {\n        console.warn(`trackBy must be a function, but received ${JSON.stringify(fn)}.`);\n    }\n    this._trackByFn = fn;\n  }\n  private _trackByFn: TrackByFunction<T>;\n\n  /**\n   * The table's source of data, which can be provided in three ways (in order of complexity):\n   *   - Simple data array (each object represents one
  table row)\n   *   - Stream that emits a data array each time the array changes\n   *   - `DataSource` object that implements the connect/disconnect interface.\n   *\n   * If a data array is provided, the table must be notified when the array's objects are\n   * added, removed, or moved. This can be done by calling the `renderRows()` function which will\n   * render the diff since the last table render. If the data array reference is changed, the table\n   * will automatically trigger an update to the rows.\n   *\n   * When providing an Observable stream, the table will trigger an update automatically when the\n   * stream emits a new array of data.\n   *\n   * Finally, when providing a `DataSource` object, the table will use the Observable stream\n   * provided by the connect function and trigger updates when that stream emits new data array\n   * values. During the table's ngOnDestroy or when the data source is removed from the table, the\n   * table will call the DataSource's `d
 isconnect` function (may be useful for cleaning up any\n   * subscriptions registered during the connect process).\n   */\n  @Input()\n  get dataSource(): DataSource<T> | Observable<T[]> | T[] { return this._dataSource; }\n  set dataSource(dataSource: DataSource<T> | Observable<T[]> | T[]) {\n    if (this._dataSource !== dataSource) {\n      this._switchDataSource(dataSource);\n    }\n  }\n  private _dataSource: DataSource<T> | Observable<T[]> | T[] | T[];\n\n  // TODO(andrewseguin): Remove max value as the end index\n  //   and instead calculate the view on init and scroll.\n  /**\n   * Stream containing the latest information on what rows are being displayed on screen.\n   * Can be used by the data source to as a heuristic of what data should be provided.\n   */\n  viewChange: BehaviorSubject<{start: number, end: number}> =\n      new BehaviorSubject<{start: number, end: number}>({start: 0, end: Number.MAX_VALUE});\n\n  // Placeholders within the table's template where the header 
 and data rows will be inserted.\n  @ViewChild(RowPlaceholder) _rowPlaceholder: RowPlaceholder;\n  @ViewChild(HeaderRowPlaceholder) _headerRowPlaceholder: HeaderRowPlaceholder;\n\n  /**\n   * The column definitions provided by the user that contain what the header and cells should\n   * render for each column.\n   */\n  @ContentChildren(CdkColumnDef) _contentColumnDefs: QueryList<CdkColumnDef>;\n\n  /** Set of template definitions that used as the data row containers. */\n  @ContentChildren(CdkRowDef) _contentRowDefs: QueryList<CdkRowDef<T>>;\n\n  /**\n   * Template definition used as the header container. By default it stores the header row\n   * definition found as a direct content child. Override this value through `setHeaderRowDef` if\n   * the header row definition should be changed or was not defined as a part of the table's\n   * content.\n   */\n  @ContentChild(CdkHeaderRowDef) _headerRowDef: CdkHeaderRowDef;\n\n  constructor(private readonly _differs: IterableDiffers,\n     
          private readonly _changeDetectorRef: ChangeDetectorRef,\n              elementRef: ElementRef,\n              @Attribute('role') role: string) {\n    if (!role) {\n      elementRef.nativeElement.setAttribute('role', 'grid');\n    }\n  }\n\n  ngOnInit() {\n    // TODO(andrewseguin): Setup a listener for scrolling, emit the calculated view to viewChange\n    this._dataDiffer = this._differs.find([]).create(this._trackByFn);\n\n    // If the table has a header row definition defined as part of its content, flag this as a\n    // header row def change so that the content check will render the header row.\n    if (this._headerRowDef) {\n      this._headerRowDefChanged = true;\n    }\n  }\n\n  ngAfterContentChecked() {\n    // Cache the row and column definitions gathered by ContentChildren and programmatic injection.\n    this._cacheRowDefs();\n    this._cacheColumnDefs();\n\n    // Make sure that the user has at least added a header row or row def.\n    if (!this._headerRowDef 
 && !this._rowDefs.length) {\n      throw getTableMissingRowDefsError();\n    }\n\n    // Render updates if the list of columns have been changed for the header or row definitions.\n    this._renderUpdatedColumns();\n\n    // If the header row definition has been changed, trigger a render to the header row.\n    if (this._headerRowDefChanged) {\n      this._renderHeaderRow();\n      this._headerRowDefChanged = false;\n    }\n\n    // If there is a data source and row definitions, connect to the data source unless a\n    // connection has already been made.\n    if (this.dataSource && this._rowDefs.length > 0 && !this._renderChangeSubscription) {\n      this._observeRenderChanges();\n    }\n  }\n\n  ngOnDestroy() {\n    this._rowPlaceholder.viewContainer.clear();\n    this._headerRowPlaceholder.viewContainer.clear();\n    this._onDestroy.next();\n    this._onDestroy.complete();\n\n    if (this.dataSource instanceof DataSource) {\n      this.dataSource.disconnect(this);\n    }\n  }\n\n
   /**\n   * Renders rows based on the table's latest set of data, which was either provided directly as an\n   * input or retrieved through an Observable stream (directly or from a DataSource).\n   * Checks for differences in the data since the last diff to perform only the necessary\n   * changes (add/remove/move rows).\n   *\n   * If the table's data source is a DataSource or Observable, this will be invoked automatically\n   * each time the provided Observable stream emits a new data array. Otherwise if your data is\n   * an array, this function will need to be called to render any changes.\n   */\n  renderRows() {\n    const changes = this._dataDiffer.diff(this._data);\n    if (!changes) { return; }\n\n    const viewContainer = this._rowPlaceholder.viewContainer;\n    changes.forEachOperation(\n        (record: IterableChangeRecord<T>, adjustedPreviousIndex: number, currentIndex: number) => {\n          if (record.previousIndex == null) {\n            this._insertRow(record.item
 , currentIndex);\n          } else if (currentIndex == null) {\n            viewContainer.remove(adjustedPreviousIndex);\n          } else {\n            const view = <RowViewRef<T>>viewContainer.get(adjustedPreviousIndex);\n            viewContainer.move(view!, currentIndex);\n          }\n        });\n\n    // Update the meta context of a row's context data (index, count, first, last, ...)\n    this._updateRowIndexContext();\n\n    // Update rows that did not get added/removed/moved but may have had their identity changed,\n    // e.g. if trackBy matched data on some property but the actual data reference changed.\n    changes.forEachIdentityChange((record: IterableChangeRecord<T>) => {\n      const rowView = <RowViewRef<T>>viewContainer.get(record.currentIndex!);\n      rowView.context.$implicit = record.item;\n    });\n  }\n\n  /**\n   * Sets the header row definition to be used. Overrides the header row definition gathered by\n   * using `ContentChild`, if one exists. Sets a fl
 ag that will re-render the header row after the\n   * table's content is checked.\n   */\n  setHeaderRowDef(headerRowDef: CdkHeaderRowDef) {\n    this._headerRowDef = headerRowDef;\n    this._headerRowDefChanged = true;\n  }\n\n  /** Adds a column definition that was not included as part of the direct content children. */\n  addColumnDef(columnDef: CdkColumnDef) {\n    this._customColumnDefs.add(columnDef);\n  }\n\n  /** Removes a column definition that was not included as part of the direct content children. */\n  removeColumnDef(columnDef: CdkColumnDef) {\n    this._customColumnDefs.delete(columnDef);\n  }\n\n  /** Adds a row definition that was not included as part of the direct content children. */\n  addRowDef(rowDef: CdkRowDef<T>) {\n    this._customRowDefs.add(rowDef);\n  }\n\n  /** Removes a row definition that was not included as part of the direct content children. */\n  removeRowDef(rowDef: CdkRowDef<T>) {\n    this._customRowDefs.delete(rowDef);\n  }\n\n  /** Update the 
 map containing the content's column definitions. */\n  private _cacheColumnDefs() {\n    this._columnDefsByName.clear();\n\n    const columnDefs = this._contentColumnDefs ? this._contentColumnDefs.toArray() : [];\n    this._customColumnDefs.forEach(columnDef => columnDefs.push(columnDef));\n\n    columnDefs.forEach(columnDef => {\n      if (this._columnDefsByName.has(columnDef.name)) {\n        throw getTableDuplicateColumnNameError(columnDef.name);\n      }\n      this._columnDefsByName.set(columnDef.name, columnDef);\n    });\n  }\n\n  /** Update the list of all available row definitions that can be used. */\n  private _cacheRowDefs() {\n    this._rowDefs = this._contentRowDefs ? this._contentRowDefs.toArray() : [];\n    this._customRowDefs.forEach(rowDef => this._rowDefs.push(rowDef));\n\n    const defaultRowDefs = this._rowDefs.filter(def => !def.when);\n    if (defaultRowDefs.length > 1) { throw getTableMultipleDefaultRowDefsError(); }\n    this._defaultRowDef = defaultRowDefs[
 0];\n  }\n\n  /**\n   * Check if the header or rows have changed what columns they want to display. If there is a diff,\n   * then re-render that section.\n   */\n  private _renderUpdatedColumns() {\n    // Re-render the rows when the row definition columns change.\n    this._rowDefs.forEach(def => {\n      if (!!def.getColumnsDiff()) {\n        // Reset the data to an empty array so that renderRowChanges will re-render all new rows.\n        this._dataDiffer.diff([]);\n\n        this._rowPlaceholder.viewContainer.clear();\n        this.renderRows();\n      }\n    });\n\n    // Re-render the header row if there is a difference in its columns.\n    if (this._headerRowDef && this._headerRowDef.getColumnsDiff()) {\n      this._renderHeaderRow();\n    }\n  }\n\n  /**\n   * Switch to the provided data source by resetting the data and unsubscribing from the current\n   * render change subscription if one exists. If the data source is null, interpret this by\n   * clearing the row placehol
 der. Otherwise start listening for new data.\n   */\n  private _switchDataSource(dataSource: DataSource<T> | Observable<T[]> | T[]) {\n    this._data = [];\n\n    if (this.dataSource instanceof DataSource) {\n      this.dataSource.disconnect(this);\n    }\n\n    // Stop listening for data from the previous data source.\n    if (this._renderChangeSubscription) {\n      this._renderChangeSubscription.unsubscribe();\n      this._renderChangeSubscription = null;\n    }\n\n    if (!dataSource) {\n      if (this._dataDiffer) {\n        this._dataDiffer.diff([]);\n      }\n      this._rowPlaceholder.viewContainer.clear();\n    }\n\n    this._dataSource = dataSource;\n  }\n\n  /** Set up a subscription for the data provided by the data source. */\n  private _observeRenderChanges() {\n    // If no data source has been set, there is nothing to observe for changes.\n    if (!this.dataSource) { return; }\n\n    let dataStream: Observable<T[]> | undefined;\n\n    // Check if the datasource is a 
 DataSource object by observing if it has a connect function.\n    // Cannot check this.dataSource['connect'] due to potential property renaming, nor can it\n    // checked as an instanceof DataSource<T> since the table should allow for data sources\n    // that did not explicitly extend DataSource<T>.\n    if ((this.dataSource as DataSource<T>).connect  instanceof Function) {\n      dataStream = (this.dataSource as DataSource<T>).connect(this);\n    } else if (this.dataSource instanceof Observable) {\n      dataStream = this.dataSource;\n    } else if (Array.isArray(this.dataSource)) {\n      dataStream = observableOf(this.dataSource);\n    }\n\n    if (dataStream === undefined) {\n      throw getTableUnknownDataSourceError();\n    }\n\n    this._renderChangeSubscription = dataStream\n        .pipe(takeUntil(this._onDestroy))\n        .subscribe(data => {\n          this._data = data;\n          this.renderRows();\n        });\n  }\n\n  /**\n   * Clears any existing content in the h
 eader row placeholder and creates a new embedded view\n   * in the placeholder using the header row definition.\n   */\n  private _renderHeaderRow() {\n    // Clear the header row placeholder if any content exists.\n    if (this._headerRowPlaceholder.viewContainer.length > 0) {\n      this._headerRowPlaceholder.viewContainer.clear();\n    }\n\n    const cells = this._getHeaderCellTemplatesForRow(this._headerRowDef);\n    if (!cells.length) { return; }\n\n    // TODO(andrewseguin): add some code to enforce that exactly\n    //   one CdkCellOutlet was instantiated as a result\n    //   of `createEmbeddedView`.\n    this._headerRowPlaceholder.viewContainer\n        .createEmbeddedView(this._headerRowDef.template, {cells});\n\n    cells.forEach(cell => {\n      if (CdkCellOutlet.mostRecentCellOutlet) {\n        CdkCellOutlet.mostRecentCellOutlet._viewContainer.createEmbeddedView(cell.template, {});\n      }\n    });\n\n    this._changeDetectorRef.markForCheck();\n  }\n\n  /**\n   * Find
 s the matching row definition that should be used for this row data. If there is only\n   * one row definition, it is returned. Otherwise, find the row definition that has a when\n   * predicate that returns true with the data. If none return true, return the default row\n   * definition.\n   */\n  _getRowDef(data: T, i: number): CdkRowDef<T> {\n    if (this._rowDefs.length == 1) { return this._rowDefs[0]; }\n\n    let rowDef = this._rowDefs.find(def => def.when && def.when(i, data)) || this._defaultRowDef;\n    if (!rowDef) { throw getTableMissingMatchingRowDefError(); }\n\n    return rowDef;\n  }\n\n  /**\n   * Create the embedded view for the data row template and place it in the correct index location\n   * within the data row view container.\n   */\n  private _insertRow(rowData: T, index: number) {\n    const row = this._getRowDef(rowData, index);\n\n    // Row context that will be provided to both the created embedded row view and its cells.\n    const context: CdkCellOutletRo
 wContext<T> = {$implicit: rowData};\n\n    // TODO(andrewseguin): add some code to enforce that exactly one\n    //   CdkCellOutlet was instantiated as a result  of `createEmbeddedView`.\n    this._rowPlaceholder.viewContainer.createEmbeddedView(row.template, context, index);\n\n    this._getCellTemplatesForRow(row).forEach(cell => {\n      if (CdkCellOutlet.mostRecentCellOutlet) {\n        CdkCellOutlet.mostRecentCellOutlet._viewContainer\n            .createEmbeddedView(cell.template, context);\n      }\n    });\n\n    this._changeDetectorRef.markForCheck();\n  }\n\n  /**\n   * Updates the index-related context for each row to reflect any changes in the index of the rows,\n   * e.g. first/last/even/odd.\n   */\n  private _updateRowIndexContext() {\n    const viewContainer = this._rowPlaceholder.viewContainer;\n    for (let index = 0, count = viewContainer.length; index < count; index++) {\n      const viewRef = viewContainer.get(index) as RowViewRef<T>;\n      viewRef.context.inde
 x = index;\n      viewRef.context.count = count;\n      viewRef.context.first = index === 0;\n      viewRef.context.last = index === count - 1;\n      viewRef.context.even = index % 2 === 0;\n      viewRef.context.odd = !viewRef.context.even;\n    }\n  }\n\n  /**\n   * Returns the cell template definitions to insert into the header\n   * as defined by its list of columns to display.\n   */\n  private _getHeaderCellTemplatesForRow(headerDef: CdkHeaderRowDef): CdkHeaderCellDef[] {\n    if (!headerDef || !headerDef.columns) { return []; }\n    return headerDef.columns.map(columnId => {\n      const column = this._columnDefsByName.get(columnId);\n\n      if (!column) {\n        throw getTableUnknownColumnError(columnId);\n      }\n\n      return column.headerCell;\n    });\n  }\n\n  /**\n   * Returns the cell template definitions to insert in the provided row\n   * as defined by its list of columns to display.\n   */\n  private _getCellTemplatesForRow(rowDef: CdkRowDef<T>): CdkCellDef[]
  {\n    if (!rowDef.columns) { return []; }\n    return rowDef.columns.map(columnId => {\n      const column = this._columnDefsByName.get(columnId);\n\n      if (!column) {\n        throw getTableUnknownColumnError(columnId);\n      }\n\n      return column.cell;\n    });\n  }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {HeaderRowPlaceholder, RowPlaceholder, CdkTable} from './table';\nimport {CdkCellOutlet, CdkHeaderRow, CdkHeaderRowDef, CdkRow, CdkRowDef} from './row';\nimport {CdkColumnDef, CdkHeaderCellDef, CdkHeaderCell, CdkCell, CdkCellDef} from './cell';\n\nconst EXPORTED_DECLARATIONS = [\n  CdkTable,\n  CdkRowDef,\n  CdkCellDef,\n  CdkCellOutlet,\n  CdkHeaderCellDef,\n  CdkColumnDef,\n  CdkCell,\n  CdkRow,\n  Cd
 kHeaderCell,\n  CdkHeaderRow,\n  CdkHeaderRowDef,\n  RowPlaceholder,\n  HeaderRowPlaceholder,\n];\n\n@NgModule({\n  imports: [CommonModule],\n  exports: [EXPORTED_DECLARATIONS],\n  declarations: [EXPORTED_DECLARATIONS]\n\n})\nexport class CdkTableModule { }\n"],"names":["__extends","d","b","__","this","constructor","extendStatics","prototype","Object","create","getTableUnknownColumnError","id","Error","getTableDuplicateColumnNameError","name","getTableMultipleDefaultRowDefsError","getTableMissingMatchingRowDefError","getTableMissingRowDefsError","getTableUnknownDataSourceError","setPrototypeOf","__proto__","Array","p","hasOwnProperty","CDK_ROW_TEMPLATE","BaseRowDef","template","_differs","ngOnChanges","changes","columns","currentValue","_columnsDiffer","find","diff","getColumnsDiff","CdkHeaderRowDef","_super","call","tslib_1.__extends","type","Directive","args","selector","inputs","TemplateRef","IterableDiffers","CdkRowDef","CdkCellOutlet","_viewContainer","mostRecentCellOutlet","Vi
 ewContainerRef","Component","host","class","role","changeDetection","ChangeDetectionStrategy","OnPush","encapsulation","ViewEncapsulation","None","preserveWhitespaces","CdkRow","ctorParameters","CdkCellDef","CdkHeaderCellDef","defineProperty","CdkColumnDef","_name","cssClassFriendlyName","replace","Input","cell","ContentChild","headerCell","CdkHeaderCell","columnDef","elementRef","nativeElement","classList","add","ElementRef","CdkCell","RowPlaceholder","viewContainer","HeaderRowPlaceholder","CDK_TABLE_TEMPLATE","RowViewRef","EmbeddedViewRef","CdkTable","_changeDetectorRef","_onDestroy","Subject","_columnDefsByName","Map","_customColumnDefs","Set","_customRowDefs","_headerRowDefChanged","viewChange","BehaviorSubject","start","end","Number","MAX_VALUE","setAttribute","_trackByFn","fn","isDevMode","console","warn","JSON","stringify","_dataSource","dataSource","_switchDataSource","ngOnInit","_dataDiffer","_headerRowDef","ngAfterContentChecked","_cacheRowDefs","_cacheColumnDefs","_rowDef
 s","length","_renderUpdatedColumns","_renderHeaderRow","_renderChangeSubscription","_observeRenderChanges","ngOnDestroy","_rowPlaceholder","clear","_headerRowPlaceholder","next","complete","DataSource","disconnect","renderRows","_this","_data","forEachOperation","record","adjustedPreviousIndex","currentIndex","previousIndex","_insertRow","item","remove","view","get","move","_updateRowIndexContext","forEachIdentityChange","context","$implicit","setHeaderRowDef","headerRowDef","addColumnDef","removeColumnDef","delete","addRowDef","rowDef","removeRowDef","columnDefs","_contentColumnDefs","toArray","forEach","push","has","set","_contentRowDefs","defaultRowDefs","filter","def","when","_defaultRowDef","unsubscribe","dataStream","connect","Function","Observable","isArray","observableOf","undefined","pipe","takeUntil","subscribe","data","cells","_getHeaderCellTemplatesForRow","createEmbeddedView","markForCheck","_getRowDef","i","rowData","index","row","_getCellTemplatesForRow","count","view
 Ref","first","last","even","odd","headerDef","map","columnId","column","exportAs","decorators","Attribute","propDecorators","ViewChild","ContentChildren","EXPORTED_DECLARATIONS","CdkHeaderRow","NgModule","imports","CommonModule","exports","declarations","CdkTableModule"],"mappings":"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"}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/eec354e6/node_modules/@angular/cdk/bundles/cdk.umd.js
----------------------------------------------------------------------
diff --git a/node_modules/@angular/cdk/bundles/cdk.umd.js b/node_modules/@angular/cdk/bundles/cdk.umd.js
new file mode 100644
index 0000000..91f5301
--- /dev/null
+++ b/node_modules/@angular/cdk/bundles/cdk.umd.js
@@ -0,0 +1,29 @@
+/**
+ * @license
+ * Copyright Google LLC All Rights Reserved.
+ *
+ * Use of this source code is governed by an MIT-style license that can be
+ * found in the LICENSE file at https://angular.io/license
+ */
+(function (global, factory) {
+	typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/core')) :
+	typeof define === 'function' && define.amd ? define(['exports', '@angular/core'], factory) :
+	(factory((global.ng = global.ng || {}, global.ng.cdk = global.ng.cdk || {}),global.ng.core));
+}(this, (function (exports,_angular_core) { 'use strict';
+
+/**
+ * @fileoverview added by tsickle
+ * @suppress {checkTypes} checked by tsc
+ */
+
+/**
+ * Current version of the Angular Component Development Kit.
+ */
+var VERSION = new _angular_core.Version('5.2.0');
+
+exports.VERSION = VERSION;
+
+Object.defineProperty(exports, '__esModule', { value: true });
+
+})));
+//# sourceMappingURL=cdk.umd.js.map

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/eec354e6/node_modules/@angular/cdk/bundles/cdk.umd.js.map
----------------------------------------------------------------------
diff --git a/node_modules/@angular/cdk/bundles/cdk.umd.js.map b/node_modules/@angular/cdk/bundles/cdk.umd.js.map
new file mode 100644
index 0000000..1d66018
--- /dev/null
+++ b/node_modules/@angular/cdk/bundles/cdk.umd.js.map
@@ -0,0 +1 @@
+{"version":3,"file":"cdk.umd.js","sources":["../../src/cdk/version.ts"],"sourcesContent":["/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {Version} from '@angular/core';\n\n/** Current version of the Angular Component Development Kit. */\nexport const VERSION = new Version('5.2.0');\n"],"names":["Version"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAWA,IAAa,OAAO,GAAG,IAAIA,qBAAO,CAAC,mBAAmB,CAAC,CAAC;;;;;;"}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/eec354e6/node_modules/@angular/cdk/bundles/cdk.umd.min.js
----------------------------------------------------------------------
diff --git a/node_modules/@angular/cdk/bundles/cdk.umd.min.js b/node_modules/@angular/cdk/bundles/cdk.umd.min.js
new file mode 100644
index 0000000..08ec6bd
--- /dev/null
+++ b/node_modules/@angular/cdk/bundles/cdk.umd.min.js
@@ -0,0 +1,9 @@
+/**
+ * @license
+ * Copyright Google LLC All Rights Reserved.
+ *
+ * Use of this source code is governed by an MIT-style license that can be
+ * found in the LICENSE file at https://angular.io/license
+ */
+!function(e,n){"object"==typeof exports&&"undefined"!=typeof module?n(exports,require("@angular/core")):"function"==typeof define&&define.amd?define(["exports","@angular/core"],n):n((e.ng=e.ng||{},e.ng.cdk=e.ng.cdk||{}),e.ng.core)}(this,function(e,n){"use strict";var o=new n.Version("5.2.0");e.VERSION=o,Object.defineProperty(e,"__esModule",{value:!0})});
+//# sourceMappingURL=cdk.umd.min.js.map

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/eec354e6/node_modules/@angular/cdk/bundles/cdk.umd.min.js.map
----------------------------------------------------------------------
diff --git a/node_modules/@angular/cdk/bundles/cdk.umd.min.js.map b/node_modules/@angular/cdk/bundles/cdk.umd.min.js.map
new file mode 100644
index 0000000..3f10e49
--- /dev/null
+++ b/node_modules/@angular/cdk/bundles/cdk.umd.min.js.map
@@ -0,0 +1 @@
+{"version":3,"file":"cdk.umd.min.js","sources":["../../src/cdk/version.ts"],"sourcesContent":["/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {Version} from '@angular/core';\n\n/** Current version of the Angular Component Development Kit. */\nexport const VERSION = new Version('5.2.0');\n"],"names":["VERSION","Version"],"mappings":";;;;;;;uQAWA,IAAaA,GAAU,GAAIC,GAAAA,QAAQ"}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/eec354e6/node_modules/@angular/cdk/cdk.d.ts
----------------------------------------------------------------------
diff --git a/node_modules/@angular/cdk/cdk.d.ts b/node_modules/@angular/cdk/cdk.d.ts
new file mode 100644
index 0000000..1faa623
--- /dev/null
+++ b/node_modules/@angular/cdk/cdk.d.ts
@@ -0,0 +1,8 @@
+/**
+ * @license
+ * Copyright Google LLC All Rights Reserved.
+ *
+ * Use of this source code is governed by an MIT-style license that can be
+ * found in the LICENSE file at https://angular.io/license
+ */
+export * from './typings/index';

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/eec354e6/node_modules/@angular/cdk/cdk.metadata.json
----------------------------------------------------------------------
diff --git a/node_modules/@angular/cdk/cdk.metadata.json b/node_modules/@angular/cdk/cdk.metadata.json
new file mode 100644
index 0000000..edd5656
--- /dev/null
+++ b/node_modules/@angular/cdk/cdk.metadata.json
@@ -0,0 +1,12 @@
+{
+  "__symbolic": "module",
+  "version": 3,
+  "metadata": {},
+  "exports": [
+    {
+      "from": "./typings/index"
+    }
+  ],
+  "flatModuleIndexRedirect": true,
+  "importAs": "@angular/cdk"
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/eec354e6/node_modules/@angular/cdk/coercion.d.ts
----------------------------------------------------------------------
diff --git a/node_modules/@angular/cdk/coercion.d.ts b/node_modules/@angular/cdk/coercion.d.ts
new file mode 100644
index 0000000..32efbc3
--- /dev/null
+++ b/node_modules/@angular/cdk/coercion.d.ts
@@ -0,0 +1,8 @@
+/**
+ * @license
+ * Copyright Google LLC All Rights Reserved.
+ *
+ * Use of this source code is governed by an MIT-style license that can be
+ * found in the LICENSE file at https://angular.io/license
+ */
+export * from './coercion/index';

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/eec354e6/node_modules/@angular/cdk/coercion.metadata.json
----------------------------------------------------------------------
diff --git a/node_modules/@angular/cdk/coercion.metadata.json b/node_modules/@angular/cdk/coercion.metadata.json
new file mode 100644
index 0000000..0275034
--- /dev/null
+++ b/node_modules/@angular/cdk/coercion.metadata.json
@@ -0,0 +1,12 @@
+{
+  "__symbolic": "module",
+  "version": 3,
+  "metadata": {},
+  "exports": [
+    {
+      "from": "./coercion/index"
+    }
+  ],
+  "flatModuleIndexRedirect": true,
+  "importAs": "@angular/cdk/coercion"
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/eec354e6/node_modules/@angular/cdk/coercion/index.d.ts
----------------------------------------------------------------------
diff --git a/node_modules/@angular/cdk/coercion/index.d.ts b/node_modules/@angular/cdk/coercion/index.d.ts
new file mode 100644
index 0000000..1faa623
--- /dev/null
+++ b/node_modules/@angular/cdk/coercion/index.d.ts
@@ -0,0 +1,8 @@
+/**
+ * @license
+ * Copyright Google LLC All Rights Reserved.
+ *
+ * Use of this source code is governed by an MIT-style license that can be
+ * found in the LICENSE file at https://angular.io/license
+ */
+export * from './typings/index';

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/eec354e6/node_modules/@angular/cdk/coercion/index.metadata.json
----------------------------------------------------------------------
diff --git a/node_modules/@angular/cdk/coercion/index.metadata.json b/node_modules/@angular/cdk/coercion/index.metadata.json
new file mode 100644
index 0000000..b436d3a
--- /dev/null
+++ b/node_modules/@angular/cdk/coercion/index.metadata.json
@@ -0,0 +1,12 @@
+{
+  "__symbolic": "module",
+  "version": 3,
+  "metadata": {},
+  "exports": [
+    {
+      "from": "./typings/index"
+    }
+  ],
+  "flatModuleIndexRedirect": true,
+  "importAs": "@angular/cdk/coercion"
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/eec354e6/node_modules/@angular/cdk/coercion/package.json
----------------------------------------------------------------------
diff --git a/node_modules/@angular/cdk/coercion/package.json b/node_modules/@angular/cdk/coercion/package.json
new file mode 100644
index 0000000..de56abb
--- /dev/null
+++ b/node_modules/@angular/cdk/coercion/package.json
@@ -0,0 +1,7 @@
+{
+  "name": "@angular/cdk/coercion",
+  "typings": "../coercion.d.ts",
+  "main": "../bundles/cdk-coercion.umd.js",
+  "module": "../esm5/coercion.es5.js",
+  "es2015": "../esm2015/coercion.js"
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/eec354e6/node_modules/@angular/cdk/coercion/typings/array.d.ts
----------------------------------------------------------------------
diff --git a/node_modules/@angular/cdk/coercion/typings/array.d.ts b/node_modules/@angular/cdk/coercion/typings/array.d.ts
new file mode 100644
index 0000000..f5376b2
--- /dev/null
+++ b/node_modules/@angular/cdk/coercion/typings/array.d.ts
@@ -0,0 +1,9 @@
+/**
+ * @license
+ * Copyright Google LLC All Rights Reserved.
+ *
+ * Use of this source code is governed by an MIT-style license that can be
+ * found in the LICENSE file at https://angular.io/license
+ */
+/** Wraps the provided value in an array, unless the provided value is an array. */
+export declare function coerceArray<T>(value: T | T[]): T[];

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/eec354e6/node_modules/@angular/cdk/coercion/typings/boolean-property.d.ts
----------------------------------------------------------------------
diff --git a/node_modules/@angular/cdk/coercion/typings/boolean-property.d.ts b/node_modules/@angular/cdk/coercion/typings/boolean-property.d.ts
new file mode 100644
index 0000000..e0c2081
--- /dev/null
+++ b/node_modules/@angular/cdk/coercion/typings/boolean-property.d.ts
@@ -0,0 +1,9 @@
+/**
+ * @license
+ * Copyright Google LLC All Rights Reserved.
+ *
+ * Use of this source code is governed by an MIT-style license that can be
+ * found in the LICENSE file at https://angular.io/license
+ */
+/** Coerces a data-bound value (typically a string) to a boolean. */
+export declare function coerceBooleanProperty(value: any): boolean;

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/eec354e6/node_modules/@angular/cdk/coercion/typings/index.d.ts
----------------------------------------------------------------------
diff --git a/node_modules/@angular/cdk/coercion/typings/index.d.ts b/node_modules/@angular/cdk/coercion/typings/index.d.ts
new file mode 100644
index 0000000..e5daacf
--- /dev/null
+++ b/node_modules/@angular/cdk/coercion/typings/index.d.ts
@@ -0,0 +1,4 @@
+/**
+ * Generated bundle index. Do not edit.
+ */
+export * from './public-api';

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/eec354e6/node_modules/@angular/cdk/coercion/typings/index.metadata.json
----------------------------------------------------------------------
diff --git a/node_modules/@angular/cdk/coercion/typings/index.metadata.json b/node_modules/@angular/cdk/coercion/typings/index.metadata.json
new file mode 100644
index 0000000..33377f9
--- /dev/null
+++ b/node_modules/@angular/cdk/coercion/typings/index.metadata.json
@@ -0,0 +1 @@
+{"__symbolic":"module","version":4,"metadata":{"coerceBooleanProperty":{"__symbolic":"function","parameters":["value"],"value":{"__symbolic":"binop","operator":"&&","left":{"__symbolic":"binop","operator":"!=","left":{"__symbolic":"reference","name":"value"},"right":null},"right":{"__symbolic":"binop","operator":"!==","left":{"__symbolic":"reference","name":"value"},"right":"false"}}},"coerceNumberProperty":{"__symbolic":"function","parameters":["value","fallbackValue"],"defaults":[null,0],"value":{"__symbolic":"if","condition":{"__symbolic":"call","expression":{"__symbolic":"reference","name":"_isNumberValue"},"arguments":[{"__symbolic":"reference","name":"value"}]},"thenExpression":{"__symbolic":"call","expression":{"__symbolic":"reference","name":"Number"},"arguments":[{"__symbolic":"reference","name":"value"}]},"elseExpression":{"__symbolic":"reference","name":"fallbackValue"}}},"_isNumberValue":{"__symbolic":"function","parameters":["value"],"value":{"__symbolic":"binop","opera
 tor":"&&","left":{"__symbolic":"pre","operator":"!","operand":{"__symbolic":"call","expression":{"__symbolic":"reference","name":"isNaN"},"arguments":[{"__symbolic":"call","expression":{"__symbolic":"reference","name":"parseFloat"},"arguments":[{"__symbolic":"reference","name":"value"}]}]}},"right":{"__symbolic":"pre","operator":"!","operand":{"__symbolic":"call","expression":{"__symbolic":"reference","name":"isNaN"},"arguments":[{"__symbolic":"call","expression":{"__symbolic":"reference","name":"Number"},"arguments":[{"__symbolic":"reference","name":"value"}]}]}}}},"coerceArray":{"__symbolic":"function","parameters":["value"],"value":{"__symbolic":"if","condition":{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"Array"},"member":"isArray"},"arguments":[{"__symbolic":"reference","name":"value"}]},"thenExpression":{"__symbolic":"reference","name":"value"},"elseExpression":[{"__symbolic":"reference","name":"value"}]}}},"origins":{
 "coerceBooleanProperty":"./boolean-property","coerceNumberProperty":"./number-property","_isNumberValue":"./number-property","coerceArray":"./array"},"importAs":"@angular/cdk/coercion"}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/eec354e6/node_modules/@angular/cdk/coercion/typings/number-property.d.ts
----------------------------------------------------------------------
diff --git a/node_modules/@angular/cdk/coercion/typings/number-property.d.ts b/node_modules/@angular/cdk/coercion/typings/number-property.d.ts
new file mode 100644
index 0000000..085d6da
--- /dev/null
+++ b/node_modules/@angular/cdk/coercion/typings/number-property.d.ts
@@ -0,0 +1,15 @@
+/**
+ * @license
+ * Copyright Google LLC All Rights Reserved.
+ *
+ * Use of this source code is governed by an MIT-style license that can be
+ * found in the LICENSE file at https://angular.io/license
+ */
+/** Coerces a data-bound value (typically a string) to a number. */
+export declare function coerceNumberProperty(value: any): number;
+export declare function coerceNumberProperty<D>(value: any, fallback: D): number | D;
+/**
+ * Whether the provided value is considered a number.
+ * @docs-private
+ */
+export declare function _isNumberValue(value: any): boolean;

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/eec354e6/node_modules/@angular/cdk/coercion/typings/public-api.d.ts
----------------------------------------------------------------------
diff --git a/node_modules/@angular/cdk/coercion/typings/public-api.d.ts b/node_modules/@angular/cdk/coercion/typings/public-api.d.ts
new file mode 100644
index 0000000..88c1ec8
--- /dev/null
+++ b/node_modules/@angular/cdk/coercion/typings/public-api.d.ts
@@ -0,0 +1,10 @@
+/**
+ * @license
+ * Copyright Google LLC All Rights Reserved.
+ *
+ * Use of this source code is governed by an MIT-style license that can be
+ * found in the LICENSE file at https://angular.io/license
+ */
+export * from './boolean-property';
+export * from './number-property';
+export * from './array';

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/eec354e6/node_modules/@angular/cdk/collections.d.ts
----------------------------------------------------------------------
diff --git a/node_modules/@angular/cdk/collections.d.ts b/node_modules/@angular/cdk/collections.d.ts
new file mode 100644
index 0000000..bccea98
--- /dev/null
+++ b/node_modules/@angular/cdk/collections.d.ts
@@ -0,0 +1,8 @@
+/**
+ * @license
+ * Copyright Google LLC All Rights Reserved.
+ *
+ * Use of this source code is governed by an MIT-style license that can be
+ * found in the LICENSE file at https://angular.io/license
+ */
+export * from './collections/index';

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/eec354e6/node_modules/@angular/cdk/collections.metadata.json
----------------------------------------------------------------------
diff --git a/node_modules/@angular/cdk/collections.metadata.json b/node_modules/@angular/cdk/collections.metadata.json
new file mode 100644
index 0000000..26c5c85
--- /dev/null
+++ b/node_modules/@angular/cdk/collections.metadata.json
@@ -0,0 +1,12 @@
+{
+  "__symbolic": "module",
+  "version": 3,
+  "metadata": {},
+  "exports": [
+    {
+      "from": "./collections/index"
+    }
+  ],
+  "flatModuleIndexRedirect": true,
+  "importAs": "@angular/cdk/collections"
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/eec354e6/node_modules/@angular/cdk/collections/index.d.ts
----------------------------------------------------------------------
diff --git a/node_modules/@angular/cdk/collections/index.d.ts b/node_modules/@angular/cdk/collections/index.d.ts
new file mode 100644
index 0000000..1faa623
--- /dev/null
+++ b/node_modules/@angular/cdk/collections/index.d.ts
@@ -0,0 +1,8 @@
+/**
+ * @license
+ * Copyright Google LLC All Rights Reserved.
+ *
+ * Use of this source code is governed by an MIT-style license that can be
+ * found in the LICENSE file at https://angular.io/license
+ */
+export * from './typings/index';

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/eec354e6/node_modules/@angular/cdk/collections/index.metadata.json
----------------------------------------------------------------------
diff --git a/node_modules/@angular/cdk/collections/index.metadata.json b/node_modules/@angular/cdk/collections/index.metadata.json
new file mode 100644
index 0000000..7155790
--- /dev/null
+++ b/node_modules/@angular/cdk/collections/index.metadata.json
@@ -0,0 +1,12 @@
+{
+  "__symbolic": "module",
+  "version": 3,
+  "metadata": {},
+  "exports": [
+    {
+      "from": "./typings/index"
+    }
+  ],
+  "flatModuleIndexRedirect": true,
+  "importAs": "@angular/cdk/collections"
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/eec354e6/node_modules/@angular/cdk/collections/package.json
----------------------------------------------------------------------
diff --git a/node_modules/@angular/cdk/collections/package.json b/node_modules/@angular/cdk/collections/package.json
new file mode 100644
index 0000000..d11f9f2
--- /dev/null
+++ b/node_modules/@angular/cdk/collections/package.json
@@ -0,0 +1,7 @@
+{
+  "name": "@angular/cdk/collections",
+  "typings": "../collections.d.ts",
+  "main": "../bundles/cdk-collections.umd.js",
+  "module": "../esm5/collections.es5.js",
+  "es2015": "../esm2015/collections.js"
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/eec354e6/node_modules/@angular/cdk/collections/typings/collection-viewer.d.ts
----------------------------------------------------------------------
diff --git a/node_modules/@angular/cdk/collections/typings/collection-viewer.d.ts b/node_modules/@angular/cdk/collections/typings/collection-viewer.d.ts
new file mode 100644
index 0000000..2677bcc
--- /dev/null
+++ b/node_modules/@angular/cdk/collections/typings/collection-viewer.d.ts
@@ -0,0 +1,22 @@
+/**
+ * @license
+ * Copyright Google LLC All Rights Reserved.
+ *
+ * Use of this source code is governed by an MIT-style license that can be
+ * found in the LICENSE file at https://angular.io/license
+ */
+import { Observable } from 'rxjs/Observable';
+/**
+ * Interface for any component that provides a view of some data collection and wants to provide
+ * information regarding the view and any changes made.
+ */
+export interface CollectionViewer {
+    /**
+     * A stream that emits whenever the `CollectionViewer` starts looking at a new portion of the
+     * data. The `start` index is inclusive, while the `end` is exclusive.
+     */
+    viewChange: Observable<{
+        start: number;
+        end: number;
+    }>;
+}

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/eec354e6/node_modules/@angular/cdk/collections/typings/data-source.d.ts
----------------------------------------------------------------------
diff --git a/node_modules/@angular/cdk/collections/typings/data-source.d.ts b/node_modules/@angular/cdk/collections/typings/data-source.d.ts
new file mode 100644
index 0000000..3d78816
--- /dev/null
+++ b/node_modules/@angular/cdk/collections/typings/data-source.d.ts
@@ -0,0 +1,28 @@
+/**
+ * @license
+ * Copyright Google LLC All Rights Reserved.
+ *
+ * Use of this source code is governed by an MIT-style license that can be
+ * found in the LICENSE file at https://angular.io/license
+ */
+import { Observable } from 'rxjs/Observable';
+import { CollectionViewer } from './collection-viewer';
+export declare abstract class DataSource<T> {
+    /**
+     * Connects a collection viewer (such as a data-table) to this data source. Note that
+     * the stream provided will be accessed during change detection and should not directly change
+     * values that are bound in template views.
+     * @param collectionViewer The component that exposes a view over the data provided by this
+     *     data source.
+     * @returns Observable that emits a new value when the data changes.
+     */
+    abstract connect(collectionViewer: CollectionViewer): Observable<T[]>;
+    /**
+     * Disconnects a collection viewer (such as a data-table) from this data source. Can be used
+     * to perform any clean-up or tear-down operations when a view is being destroyed.
+     *
+     * @param collectionViewer The component that exposes a view over the data provided by this
+     *     data source.
+     */
+    abstract disconnect(collectionViewer: CollectionViewer): void;
+}

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/eec354e6/node_modules/@angular/cdk/collections/typings/index.d.ts
----------------------------------------------------------------------
diff --git a/node_modules/@angular/cdk/collections/typings/index.d.ts b/node_modules/@angular/cdk/collections/typings/index.d.ts
new file mode 100644
index 0000000..522789b
--- /dev/null
+++ b/node_modules/@angular/cdk/collections/typings/index.d.ts
@@ -0,0 +1,5 @@
+/**
+ * Generated bundle index. Do not edit.
+ */
+export * from './public-api';
+export { UNIQUE_SELECTION_DISPATCHER_PROVIDER_FACTORY as ɵa } from './unique-selection-dispatcher';

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/eec354e6/node_modules/@angular/cdk/collections/typings/index.metadata.json
----------------------------------------------------------------------
diff --git a/node_modules/@angular/cdk/collections/typings/index.metadata.json b/node_modules/@angular/cdk/collections/typings/index.metadata.json
new file mode 100644
index 0000000..e64fffa
--- /dev/null
+++ b/node_modules/@angular/cdk/collections/typings/index.metadata.json
@@ -0,0 +1 @@
+{"__symbolic":"module","version":4,"metadata":{"CollectionViewer":{"__symbolic":"interface"},"DataSource":{"__symbolic":"class","arity":1,"members":{"connect":[{"__symbolic":"method"}],"disconnect":[{"__symbolic":"method"}]}},"SelectionModel":{"__symbolic":"class","arity":1,"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[null,{"__symbolic":"reference","name":"Array","arguments":[{"__symbolic":"error","message":"Could not resolve type","line":40,"character":30,"context":{"typeName":"T"},"module":"./selection"}]},null]}],"select":[{"__symbolic":"method"}],"deselect":[{"__symbolic":"method"}],"toggle":[{"__symbolic":"method"}],"clear":[{"__symbolic":"method"}],"isSelected":[{"__symbolic":"method"}],"isEmpty":[{"__symbolic":"method"}],"hasValue":[{"__symbolic":"method"}],"sort":[{"__symbolic":"method"}],"_emitChangeEvent":[{"__symbolic":"method"}],"_markSelected":[{"__symbolic":"method"}],"_unmarkSelected":[{"__symbolic":"method"}],"_unmarkAll":[{"__symbolic":"method"}]
 ,"_verifyValueAssignment":[{"__symbolic":"method"}]}},"SelectionChange":{"__symbolic":"class","arity":1,"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"SelectionModel"},{"__symbolic":"reference","name":"Array","arguments":[{"__symbolic":"error","message":"Could not resolve type","line":188,"character":19,"context":{"typeName":"T"},"module":"./selection"}]},{"__symbolic":"reference","name":"Array","arguments":[{"__symbolic":"error","message":"Could not resolve type","line":190,"character":21,"context":{"typeName":"T"},"module":"./selection"}]}]}]}},"getMultipleValuesInSingleSelectionError":{"__symbolic":"function","parameters":[],"value":{"__symbolic":"call","expression":{"__symbolic":"reference","name":"Error"},"arguments":["Cannot pass multiple values into SelectionModel with single-value mode."]}},"ɵa":{"__symbolic":"function","parameters":["parentDispatcher"],"value":{"__symbolic":"binop","operator":"||","left":{"__symbolic":"re
 ference","name":"parentDispatcher"},"right":{"__symbolic":"new","expression":{"__symbolic":"reference","name":"UniqueSelectionDispatcher"}}}},"UniqueSelectionDispatcher":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":23,"character":1}}],"members":{"notify":[{"__symbolic":"method"}],"listen":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}]}},"UniqueSelectionDispatcherListener":{"__symbolic":"interface"},"UNIQUE_SELECTION_DISPATCHER_PROVIDER":{"provide":{"__symbolic":"reference","name":"UniqueSelectionDispatcher"},"deps":[[{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"Optional","line":66,"character":14}},{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"SkipSelf","line":66,"character":30}},{"__symbolic":"reference","name":"UniqueSelectionDispatcher"}]],"useFactory":{"__symbolic":"re
 ference","name":"ɵa"}}},"origins":{"CollectionViewer":"./collection-viewer","DataSource":"./data-source","SelectionModel":"./selection","SelectionChange":"./selection","getMultipleValuesInSingleSelectionError":"./selection","ɵa":"./unique-selection-dispatcher","UniqueSelectionDispatcher":"./unique-selection-dispatcher","UniqueSelectionDispatcherListener":"./unique-selection-dispatcher","UNIQUE_SELECTION_DISPATCHER_PROVIDER":"./unique-selection-dispatcher"},"importAs":"@angular/cdk/collections"}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/eec354e6/node_modules/@angular/cdk/collections/typings/public-api.d.ts
----------------------------------------------------------------------
diff --git a/node_modules/@angular/cdk/collections/typings/public-api.d.ts b/node_modules/@angular/cdk/collections/typings/public-api.d.ts
new file mode 100644
index 0000000..b0c6b3e
--- /dev/null
+++ b/node_modules/@angular/cdk/collections/typings/public-api.d.ts
@@ -0,0 +1,11 @@
+/**
+ * @license
+ * Copyright Google LLC All Rights Reserved.
+ *
+ * Use of this source code is governed by an MIT-style license that can be
+ * found in the LICENSE file at https://angular.io/license
+ */
+export * from './collection-viewer';
+export * from './data-source';
+export * from './selection';
+export { UniqueSelectionDispatcher, UniqueSelectionDispatcherListener, UNIQUE_SELECTION_DISPATCHER_PROVIDER } from './unique-selection-dispatcher';

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/eec354e6/node_modules/@angular/cdk/collections/typings/selection.d.ts
----------------------------------------------------------------------
diff --git a/node_modules/@angular/cdk/collections/typings/selection.d.ts b/node_modules/@angular/cdk/collections/typings/selection.d.ts
new file mode 100644
index 0000000..e1fb23e
--- /dev/null
+++ b/node_modules/@angular/cdk/collections/typings/selection.d.ts
@@ -0,0 +1,97 @@
+/**
+ * @license
+ * Copyright Google LLC All Rights Reserved.
+ *
+ * Use of this source code is governed by an MIT-style license that can be
+ * found in the LICENSE file at https://angular.io/license
+ */
+import { Subject } from 'rxjs/Subject';
+/**
+ * Class to be used to power selecting one or more options from a list.
+ */
+export declare class SelectionModel<T> {
+    private _multiple;
+    private _emitChanges;
+    /** Currently-selected values. */
+    private _selection;
+    /** Keeps track of the deselected options that haven't been emitted by the change event. */
+    private _deselectedToEmit;
+    /** Keeps track of the selected options that haven't been emitted by the change event. */
+    private _selectedToEmit;
+    /** Cache for the array value of the selected items. */
+    private _selected;
+    /** Selected values. */
+    readonly selected: T[];
+    /** Event emitted when the value has changed. */
+    onChange: Subject<SelectionChange<T>> | null;
+    constructor(_multiple?: boolean, initiallySelectedValues?: T[], _emitChanges?: boolean);
+    /**
+     * Selects a value or an array of values.
+     */
+    select(...values: T[]): void;
+    /**
+     * Deselects a value or an array of values.
+     */
+    deselect(...values: T[]): void;
+    /**
+     * Toggles a value between selected and deselected.
+     */
+    toggle(value: T): void;
+    /**
+     * Clears all of the selected values.
+     */
+    clear(): void;
+    /**
+     * Determines whether a value is selected.
+     */
+    isSelected(value: T): boolean;
+    /**
+     * Determines whether the model does not have a value.
+     */
+    isEmpty(): boolean;
+    /**
+     * Determines whether the model has a value.
+     */
+    hasValue(): boolean;
+    /**
+     * Sorts the selected values based on a predicate function.
+     */
+    sort(predicate?: (a: T, b: T) => number): void;
+    /** Emits a change event and clears the records of selected and deselected values. */
+    private _emitChangeEvent();
+    /** Selects a value. */
+    private _markSelected(value);
+    /** Deselects a value. */
+    private _unmarkSelected(value);
+    /** Clears out the selected values. */
+    private _unmarkAll();
+    /**
+     * Verifies the value assignment and throws an error if the specified value array is
+     * including multiple values while the selection model is not supporting multiple values.
+     */
+    private _verifyValueAssignment(values);
+}
+/**
+ * Event emitted when the value of a MatSelectionModel has changed.
+ * @docs-private
+ */
+export declare class SelectionChange<T> {
+    /** Model that dispatched the event. */
+    source: SelectionModel<T>;
+    /** Options that were added to the model. */
+    added: T[] | undefined;
+    /** Options that were removed from the model. */
+    removed: T[] | undefined;
+    constructor(
+        /** Model that dispatched the event. */
+        source: SelectionModel<T>, 
+        /** Options that were added to the model. */
+        added?: T[] | undefined, 
+        /** Options that were removed from the model. */
+        removed?: T[] | undefined);
+}
+/**
+ * Returns an error that reports that multiple values are passed into a selection model
+ * with a single value.
+ */
+export declare function getMultipleValuesInSingleSelectionError(): Error;

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/eec354e6/node_modules/@angular/cdk/collections/typings/unique-selection-dispatcher.d.ts
----------------------------------------------------------------------
diff --git a/node_modules/@angular/cdk/collections/typings/unique-selection-dispatcher.d.ts b/node_modules/@angular/cdk/collections/typings/unique-selection-dispatcher.d.ts
new file mode 100644
index 0000000..331615e
--- /dev/null
+++ b/node_modules/@angular/cdk/collections/typings/unique-selection-dispatcher.d.ts
@@ -0,0 +1,41 @@
+/**
+ * @license
+ * Copyright Google LLC All Rights Reserved.
+ *
+ * Use of this source code is governed by an MIT-style license that can be
+ * found in the LICENSE file at https://angular.io/license
+ */
+import { Optional, OnDestroy } from '@angular/core';
+export declare type UniqueSelectionDispatcherListener = (id: string, name: string) => void;
+/**
+ * Class to coordinate unique selection based on name.
+ * Intended to be consumed as an Angular service.
+ * This service is needed because native radio change events are only fired on the item currently
+ * being selected, and we still need to uncheck the previous selection.
+ *
+ * This service does not *store* any IDs and names because they may change at any time, so it is
+ * less error-prone if they are simply passed through when the events occur.
+ */
+export declare class UniqueSelectionDispatcher implements OnDestroy {
+    private _listeners;
+    /**
+     * Notify other items that selection for the given name has been set.
+     * @param id ID of the item.
+     * @param name Name of the item.
+     */
+    notify(id: string, name: string): void;
+    /**
+     * Listen for future changes to item selection.
+     * @return Function used to deregister listener
+     */
+    listen(listener: UniqueSelectionDispatcherListener): () => void;
+    ngOnDestroy(): void;
+}
+/** @docs-private */
+export declare function UNIQUE_SELECTION_DISPATCHER_PROVIDER_FACTORY(parentDispatcher: UniqueSelectionDispatcher): UniqueSelectionDispatcher;
+/** @docs-private */
+export declare const UNIQUE_SELECTION_DISPATCHER_PROVIDER: {
+    provide: typeof UniqueSelectionDispatcher;
+    deps: Optional[][];
+    useFactory: (parentDispatcher: UniqueSelectionDispatcher) => UniqueSelectionDispatcher;
+};


[20/59] [abbrv] [partial] nifi-fds git commit: update gh-pages

Posted by sc...@apache.org.
http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/eec354e6/node_modules/@angular/cdk/bundles/cdk-collections.umd.js.map
----------------------------------------------------------------------
diff --git a/node_modules/@angular/cdk/bundles/cdk-collections.umd.js.map b/node_modules/@angular/cdk/bundles/cdk-collections.umd.js.map
new file mode 100644
index 0000000..0c6bc2c
--- /dev/null
+++ b/node_modules/@angular/cdk/bundles/cdk-collections.umd.js.map
@@ -0,0 +1 @@
+{"version":3,"file":"cdk-collections.umd.js","sources":["../../src/cdk/collections/unique-selection-dispatcher.ts","../../src/cdk/collections/selection.ts","../../src/cdk/collections/data-source.ts"],"sourcesContent":["/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {Injectable, Optional, SkipSelf, OnDestroy} from '@angular/core';\n\n\n// Users of the Dispatcher never need to see this type, but TypeScript requires it to be exported.\nexport type UniqueSelectionDispatcherListener = (id: string, name: string) => void;\n\n/**\n * Class to coordinate unique selection based on name.\n * Intended to be consumed as an Angular service.\n * This service is needed because native radio change events are only fired on the item currently\n * being selected, and we still need to uncheck the previous selection.\n *\n * This servic
 e does not *store* any IDs and names because they may change at any time, so it is\n * less error-prone if they are simply passed through when the events occur.\n */\n@Injectable()\nexport class UniqueSelectionDispatcher implements OnDestroy {\n  private _listeners: UniqueSelectionDispatcherListener[] = [];\n\n  /**\n   * Notify other items that selection for the given name has been set.\n   * @param id ID of the item.\n   * @param name Name of the item.\n   */\n  notify(id: string, name: string) {\n    for (let listener of this._listeners) {\n      listener(id, name);\n    }\n  }\n\n  /**\n   * Listen for future changes to item selection.\n   * @return Function used to deregister listener\n   */\n  listen(listener: UniqueSelectionDispatcherListener): () => void {\n    this._listeners.push(listener);\n    return () => {\n      this._listeners = this._listeners.filter((registered: UniqueSelectionDispatcherListener) => {\n        return listener !== registered;\n      });\n    };\n  }
 \n\n  ngOnDestroy() {\n    this._listeners = [];\n  }\n}\n\n/** @docs-private */\nexport function UNIQUE_SELECTION_DISPATCHER_PROVIDER_FACTORY(\n    parentDispatcher: UniqueSelectionDispatcher) {\n  return parentDispatcher || new UniqueSelectionDispatcher();\n}\n\n/** @docs-private */\nexport const UNIQUE_SELECTION_DISPATCHER_PROVIDER = {\n  // If there is already a dispatcher available, use that. Otherwise, provide a new one.\n  provide: UniqueSelectionDispatcher,\n  deps: [[new Optional(), new SkipSelf(), UniqueSelectionDispatcher]],\n  useFactory: UNIQUE_SELECTION_DISPATCHER_PROVIDER_FACTORY\n};\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {Subject} from 'rxjs/Subject';\n\n/**\n * Class to be used to power selecting one or more options from a list.\n */\nexport class SelectionModel<T> {\n  /** Currently-se
 lected values. */\n  private _selection: Set<T> = new Set();\n\n  /** Keeps track of the deselected options that haven't been emitted by the change event. */\n  private _deselectedToEmit: T[] = [];\n\n  /** Keeps track of the selected options that haven't been emitted by the change event. */\n  private _selectedToEmit: T[] = [];\n\n  /** Cache for the array value of the selected items. */\n  private _selected: T[] | null;\n\n  /** Selected values. */\n  get selected(): T[] {\n    if (!this._selected) {\n      this._selected = Array.from(this._selection.values());\n    }\n\n    return this._selected;\n  }\n\n  /** Event emitted when the value has changed. */\n  onChange: Subject<SelectionChange<T>> | null = this._emitChanges ? new Subject() : null;\n\n  constructor(\n    private _multiple = false,\n    initiallySelectedValues?: T[],\n    private _emitChanges = true) {\n\n    if (initiallySelectedValues && initiallySelectedValues.length) {\n      if (_multiple) {\n        initiallySel
 ectedValues.forEach(value => this._markSelected(value));\n      } else {\n        this._markSelected(initiallySelectedValues[0]);\n      }\n\n      // Clear the array in order to avoid firing the change event for preselected values.\n      this._selectedToEmit.length = 0;\n    }\n  }\n\n  /**\n   * Selects a value or an array of values.\n   */\n  select(...values: T[]): void {\n    this._verifyValueAssignment(values);\n    values.forEach(value => this._markSelected(value));\n    this._emitChangeEvent();\n  }\n\n  /**\n   * Deselects a value or an array of values.\n   */\n  deselect(...values: T[]): void {\n    this._verifyValueAssignment(values);\n    values.forEach(value => this._unmarkSelected(value));\n    this._emitChangeEvent();\n  }\n\n  /**\n   * Toggles a value between selected and deselected.\n   */\n  toggle(value: T): void {\n    this.isSelected(value) ? this.deselect(value) : this.select(value);\n  }\n\n  /**\n   * Clears all of the selected values.\n   */\n  clear(): vo
 id {\n    this._unmarkAll();\n    this._emitChangeEvent();\n  }\n\n  /**\n   * Determines whether a value is selected.\n   */\n  isSelected(value: T): boolean {\n    return this._selection.has(value);\n  }\n\n  /**\n   * Determines whether the model does not have a value.\n   */\n  isEmpty(): boolean {\n    return this._selection.size === 0;\n  }\n\n  /**\n   * Determines whether the model has a value.\n   */\n  hasValue(): boolean {\n    return !this.isEmpty();\n  }\n\n  /**\n   * Sorts the selected values based on a predicate function.\n   */\n  sort(predicate?: (a: T, b: T) => number): void {\n    if (this._multiple && this._selected) {\n      this._selected.sort(predicate);\n    }\n  }\n\n  /** Emits a change event and clears the records of selected and deselected values. */\n  private _emitChangeEvent() {\n    // Clear the selected values so they can be re-cached.\n    this._selected = null;\n\n    if (this._selectedToEmit.length || this._deselectedToEmit.length) {\n      const
  eventData = new SelectionChange<T>(this, this._selectedToEmit, this._deselectedToEmit);\n\n      if (this.onChange) {\n        this.onChange.next(eventData);\n      }\n\n      this._deselectedToEmit = [];\n      this._selectedToEmit = [];\n    }\n  }\n\n  /** Selects a value. */\n  private _markSelected(value: T) {\n    if (!this.isSelected(value)) {\n      if (!this._multiple) {\n        this._unmarkAll();\n      }\n\n      this._selection.add(value);\n\n      if (this._emitChanges) {\n        this._selectedToEmit.push(value);\n      }\n    }\n  }\n\n  /** Deselects a value. */\n  private _unmarkSelected(value: T) {\n    if (this.isSelected(value)) {\n      this._selection.delete(value);\n\n      if (this._emitChanges) {\n        this._deselectedToEmit.push(value);\n      }\n    }\n  }\n\n  /** Clears out the selected values. */\n  private _unmarkAll() {\n    if (!this.isEmpty()) {\n      this._selection.forEach(value => this._unmarkSelected(value));\n    }\n  }\n\n  /**\n   * Ver
 ifies the value assignment and throws an error if the specified value array is\n   * including multiple values while the selection model is not supporting multiple values.\n   */\n  private _verifyValueAssignment(values: T[]) {\n    if (values.length > 1 && !this._multiple) {\n      throw getMultipleValuesInSingleSelectionError();\n    }\n  }\n}\n\n/**\n * Event emitted when the value of a MatSelectionModel has changed.\n * @docs-private\n */\nexport class SelectionChange<T> {\n  constructor(\n    /** Model that dispatched the event. */\n    public source: SelectionModel<T>,\n    /** Options that were added to the model. */\n    public added?: T[],\n    /** Options that were removed from the model. */\n    public removed?: T[]) {}\n}\n\n/**\n * Returns an error that reports that multiple values are passed into a selection model\n * with a single value.\n */\nexport function getMultipleValuesInSingleSelectionError() {\n  return Error('Cannot pass multiple values into SelectionModel w
 ith single-value mode.');\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {Observable} from 'rxjs/Observable';\nimport {CollectionViewer} from './collection-viewer';\n\nexport abstract class DataSource<T> {\n  /**\n   * Connects a collection viewer (such as a data-table) to this data source. Note that\n   * the stream provided will be accessed during change detection and should not directly change\n   * values that are bound in template views.\n   * @param collectionViewer The component that exposes a view over the data provided by this\n   *     data source.\n   * @returns Observable that emits a new value when the data changes.\n   */\n  abstract connect(collectionViewer: CollectionViewer): Observable<T[]>;\n\n  /**\n   * Disconnects a collection viewer (such as a data-table) from this data source. Can be u
 sed\n   * to perform any clean-up or tear-down operations when a view is being destroyed.\n   *\n   * @param collectionViewer The component that exposes a view over the data provided by this\n   *     data source.\n   */\n  abstract disconnect(collectionViewer: CollectionViewer): void;\n}\n"],"names":["Optional","SkipSelf","Injectable","Subject"],"mappings":"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"}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/eec354e6/node_modules/@angular/cdk/bundles/cdk-collections.umd.min.js
----------------------------------------------------------------------
diff --git a/node_modules/@angular/cdk/bundles/cdk-collections.umd.min.js b/node_modules/@angular/cdk/bundles/cdk-collections.umd.min.js
new file mode 100644
index 0000000..7d86764
--- /dev/null
+++ b/node_modules/@angular/cdk/bundles/cdk-collections.umd.min.js
@@ -0,0 +1,9 @@
+/**
+ * @license
+ * Copyright Google LLC All Rights Reserved.
+ *
+ * Use of this source code is governed by an MIT-style license that can be
+ * found in the LICENSE file at https://angular.io/license
+ */
+!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("rxjs/Subject"),require("@angular/core")):"function"==typeof define&&define.amd?define(["exports","rxjs/Subject","@angular/core"],t):t((e.ng=e.ng||{},e.ng.cdk=e.ng.cdk||{},e.ng.cdk.collections=e.ng.cdk.collections||{}),e.Rx,e.ng.core)}(this,function(e,t,n){"use strict";function i(){return Error("Cannot pass multiple values into SelectionModel with single-value mode.")}function s(e){return e||new l}var o=function(){function e(){}return e}(),r=function(){function e(e,n,i){void 0===e&&(e=!1),void 0===i&&(i=!0);var s=this;this._multiple=e,this._emitChanges=i,this._selection=new Set,this._deselectedToEmit=[],this._selectedToEmit=[],this.onChange=this._emitChanges?new t.Subject:null,n&&n.length&&(e?n.forEach(function(e){return s._markSelected(e)}):this._markSelected(n[0]),this._selectedToEmit.length=0)}return Object.defineProperty(e.prototype,"selected",{get:function(){return this._selected||(this._selec
 ted=Array.from(this._selection.values())),this._selected},enumerable:!0,configurable:!0}),e.prototype.select=function(){for(var e=this,t=[],n=0;n<arguments.length;n++)t[n]=arguments[n];this._verifyValueAssignment(t),t.forEach(function(t){return e._markSelected(t)}),this._emitChangeEvent()},e.prototype.deselect=function(){for(var e=this,t=[],n=0;n<arguments.length;n++)t[n]=arguments[n];this._verifyValueAssignment(t),t.forEach(function(t){return e._unmarkSelected(t)}),this._emitChangeEvent()},e.prototype.toggle=function(e){this.isSelected(e)?this.deselect(e):this.select(e)},e.prototype.clear=function(){this._unmarkAll(),this._emitChangeEvent()},e.prototype.isSelected=function(e){return this._selection.has(e)},e.prototype.isEmpty=function(){return 0===this._selection.size},e.prototype.hasValue=function(){return!this.isEmpty()},e.prototype.sort=function(e){this._multiple&&this._selected&&this._selected.sort(e)},e.prototype._emitChangeEvent=function(){if(this._selected=null,this._selecte
 dToEmit.length||this._deselectedToEmit.length){var e=new c(this,this._selectedToEmit,this._deselectedToEmit);this.onChange&&this.onChange.next(e),this._deselectedToEmit=[],this._selectedToEmit=[]}},e.prototype._markSelected=function(e){this.isSelected(e)||(this._multiple||this._unmarkAll(),this._selection.add(e),this._emitChanges&&this._selectedToEmit.push(e))},e.prototype._unmarkSelected=function(e){this.isSelected(e)&&(this._selection.delete(e),this._emitChanges&&this._deselectedToEmit.push(e))},e.prototype._unmarkAll=function(){var e=this;this.isEmpty()||this._selection.forEach(function(t){return e._unmarkSelected(t)})},e.prototype._verifyValueAssignment=function(e){if(e.length>1&&!this._multiple)throw i()},e}(),c=function(){function e(e,t,n){this.source=e,this.added=t,this.removed=n}return e}(),l=function(){function e(){this._listeners=[]}return e.prototype.notify=function(e,t){for(var n=0,i=this._listeners;n<i.length;n++){(0,i[n])(e,t)}},e.prototype.listen=function(e){var t=thi
 s;return this._listeners.push(e),function(){t._listeners=t._listeners.filter(function(t){return e!==t})}},e.prototype.ngOnDestroy=function(){this._listeners=[]},e.decorators=[{type:n.Injectable}],e.ctorParameters=function(){return[]},e}(),u={provide:l,deps:[[new n.Optional,new n.SkipSelf,l]],useFactory:s};e.UniqueSelectionDispatcher=l,e.UNIQUE_SELECTION_DISPATCHER_PROVIDER=u,e.DataSource=o,e.SelectionModel=r,e.SelectionChange=c,e.getMultipleValuesInSingleSelectionError=i,e.ɵa=s,Object.defineProperty(e,"__esModule",{value:!0})});
+//# sourceMappingURL=cdk-collections.umd.min.js.map

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/eec354e6/node_modules/@angular/cdk/bundles/cdk-collections.umd.min.js.map
----------------------------------------------------------------------
diff --git a/node_modules/@angular/cdk/bundles/cdk-collections.umd.min.js.map b/node_modules/@angular/cdk/bundles/cdk-collections.umd.min.js.map
new file mode 100644
index 0000000..d81fd1f
--- /dev/null
+++ b/node_modules/@angular/cdk/bundles/cdk-collections.umd.min.js.map
@@ -0,0 +1 @@
+{"version":3,"file":"cdk-collections.umd.min.js","sources":["../../src/cdk/collections/selection.ts","../../src/cdk/collections/unique-selection-dispatcher.ts","../../src/cdk/collections/data-source.ts"],"sourcesContent":["/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {Subject} from 'rxjs/Subject';\n\n/**\n * Class to be used to power selecting one or more options from a list.\n */\nexport class SelectionModel<T> {\n  /** Currently-selected values. */\n  private _selection: Set<T> = new Set();\n\n  /** Keeps track of the deselected options that haven't been emitted by the change event. */\n  private _deselectedToEmit: T[] = [];\n\n  /** Keeps track of the selected options that haven't been emitted by the change event. */\n  private _selectedToEmit: T[] = [];\n\n  /** Cache for the array value of the selected items
 . */\n  private _selected: T[] | null;\n\n  /** Selected values. */\n  get selected(): T[] {\n    if (!this._selected) {\n      this._selected = Array.from(this._selection.values());\n    }\n\n    return this._selected;\n  }\n\n  /** Event emitted when the value has changed. */\n  onChange: Subject<SelectionChange<T>> | null = this._emitChanges ? new Subject() : null;\n\n  constructor(\n    private _multiple = false,\n    initiallySelectedValues?: T[],\n    private _emitChanges = true) {\n\n    if (initiallySelectedValues && initiallySelectedValues.length) {\n      if (_multiple) {\n        initiallySelectedValues.forEach(value => this._markSelected(value));\n      } else {\n        this._markSelected(initiallySelectedValues[0]);\n      }\n\n      // Clear the array in order to avoid firing the change event for preselected values.\n      this._selectedToEmit.length = 0;\n    }\n  }\n\n  /**\n   * Selects a value or an array of values.\n   */\n  select(...values: T[]): void {\n    th
 is._verifyValueAssignment(values);\n    values.forEach(value => this._markSelected(value));\n    this._emitChangeEvent();\n  }\n\n  /**\n   * Deselects a value or an array of values.\n   */\n  deselect(...values: T[]): void {\n    this._verifyValueAssignment(values);\n    values.forEach(value => this._unmarkSelected(value));\n    this._emitChangeEvent();\n  }\n\n  /**\n   * Toggles a value between selected and deselected.\n   */\n  toggle(value: T): void {\n    this.isSelected(value) ? this.deselect(value) : this.select(value);\n  }\n\n  /**\n   * Clears all of the selected values.\n   */\n  clear(): void {\n    this._unmarkAll();\n    this._emitChangeEvent();\n  }\n\n  /**\n   * Determines whether a value is selected.\n   */\n  isSelected(value: T): boolean {\n    return this._selection.has(value);\n  }\n\n  /**\n   * Determines whether the model does not have a value.\n   */\n  isEmpty(): boolean {\n    return this._selection.size === 0;\n  }\n\n  /**\n   * Determines whether the 
 model has a value.\n   */\n  hasValue(): boolean {\n    return !this.isEmpty();\n  }\n\n  /**\n   * Sorts the selected values based on a predicate function.\n   */\n  sort(predicate?: (a: T, b: T) => number): void {\n    if (this._multiple && this._selected) {\n      this._selected.sort(predicate);\n    }\n  }\n\n  /** Emits a change event and clears the records of selected and deselected values. */\n  private _emitChangeEvent() {\n    // Clear the selected values so they can be re-cached.\n    this._selected = null;\n\n    if (this._selectedToEmit.length || this._deselectedToEmit.length) {\n      const eventData = new SelectionChange<T>(this, this._selectedToEmit, this._deselectedToEmit);\n\n      if (this.onChange) {\n        this.onChange.next(eventData);\n      }\n\n      this._deselectedToEmit = [];\n      this._selectedToEmit = [];\n    }\n  }\n\n  /** Selects a value. */\n  private _markSelected(value: T) {\n    if (!this.isSelected(value)) {\n      if (!this._multiple) {\n  
       this._unmarkAll();\n      }\n\n      this._selection.add(value);\n\n      if (this._emitChanges) {\n        this._selectedToEmit.push(value);\n      }\n    }\n  }\n\n  /** Deselects a value. */\n  private _unmarkSelected(value: T) {\n    if (this.isSelected(value)) {\n      this._selection.delete(value);\n\n      if (this._emitChanges) {\n        this._deselectedToEmit.push(value);\n      }\n    }\n  }\n\n  /** Clears out the selected values. */\n  private _unmarkAll() {\n    if (!this.isEmpty()) {\n      this._selection.forEach(value => this._unmarkSelected(value));\n    }\n  }\n\n  /**\n   * Verifies the value assignment and throws an error if the specified value array is\n   * including multiple values while the selection model is not supporting multiple values.\n   */\n  private _verifyValueAssignment(values: T[]) {\n    if (values.length > 1 && !this._multiple) {\n      throw getMultipleValuesInSingleSelectionError();\n    }\n  }\n}\n\n/**\n * Event emitted when the value
  of a MatSelectionModel has changed.\n * @docs-private\n */\nexport class SelectionChange<T> {\n  constructor(\n    /** Model that dispatched the event. */\n    public source: SelectionModel<T>,\n    /** Options that were added to the model. */\n    public added?: T[],\n    /** Options that were removed from the model. */\n    public removed?: T[]) {}\n}\n\n/**\n * Returns an error that reports that multiple values are passed into a selection model\n * with a single value.\n */\nexport function getMultipleValuesInSingleSelectionError() {\n  return Error('Cannot pass multiple values into SelectionModel with single-value mode.');\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {Injectable, Optional, SkipSelf, OnDestroy} from '@angular/core';\n\n\n// Users of the Dispatcher never need to see this type, but TypeS
 cript requires it to be exported.\nexport type UniqueSelectionDispatcherListener = (id: string, name: string) => void;\n\n/**\n * Class to coordinate unique selection based on name.\n * Intended to be consumed as an Angular service.\n * This service is needed because native radio change events are only fired on the item currently\n * being selected, and we still need to uncheck the previous selection.\n *\n * This service does not *store* any IDs and names because they may change at any time, so it is\n * less error-prone if they are simply passed through when the events occur.\n */\n@Injectable()\nexport class UniqueSelectionDispatcher implements OnDestroy {\n  private _listeners: UniqueSelectionDispatcherListener[] = [];\n\n  /**\n   * Notify other items that selection for the given name has been set.\n   * @param id ID of the item.\n   * @param name Name of the item.\n   */\n  notify(id: string, name: string) {\n    for (let listener of this._listeners) {\n      listener(id, name
 );\n    }\n  }\n\n  /**\n   * Listen for future changes to item selection.\n   * @return Function used to deregister listener\n   */\n  listen(listener: UniqueSelectionDispatcherListener): () => void {\n    this._listeners.push(listener);\n    return () => {\n      this._listeners = this._listeners.filter((registered: UniqueSelectionDispatcherListener) => {\n        return listener !== registered;\n      });\n    };\n  }\n\n  ngOnDestroy() {\n    this._listeners = [];\n  }\n}\n\n/** @docs-private */\nexport function UNIQUE_SELECTION_DISPATCHER_PROVIDER_FACTORY(\n    parentDispatcher: UniqueSelectionDispatcher) {\n  return parentDispatcher || new UniqueSelectionDispatcher();\n}\n\n/** @docs-private */\nexport const UNIQUE_SELECTION_DISPATCHER_PROVIDER = {\n  // If there is already a dispatcher available, use that. Otherwise, provide a new one.\n  provide: UniqueSelectionDispatcher,\n  deps: [[new Optional(), new SkipSelf(), UniqueSelectionDispatcher]],\n  useFactory: UNIQUE_SELECTION
 _DISPATCHER_PROVIDER_FACTORY\n};\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {Observable} from 'rxjs/Observable';\nimport {CollectionViewer} from './collection-viewer';\n\nexport abstract class DataSource<T> {\n  /**\n   * Connects a collection viewer (such as a data-table) to this data source. Note that\n   * the stream provided will be accessed during change detection and should not directly change\n   * values that are bound in template views.\n   * @param collectionViewer The component that exposes a view over the data provided by this\n   *     data source.\n   * @returns Observable that emits a new value when the data changes.\n   */\n  abstract connect(collectionViewer: CollectionViewer): Observable<T[]>;\n\n  /**\n   * Disconnects a collection viewer (such as a data-table) from this data source. Can 
 be used\n   * to perform any clean-up or tear-down operations when a view is being destroyed.\n   *\n   * @param collectionViewer The component that exposes a view over the data provided by this\n   *     data source.\n   */\n  abstract disconnect(collectionViewer: CollectionViewer): void;\n}\n"],"names":["getMultipleValuesInSingleSelectionError","Error","UNIQUE_SELECTION_DISPATCHER_PROVIDER_FACTORY","parentDispatcher","UniqueSelectionDispatcher","DataSource","SelectionModel","_multiple","initiallySelectedValues","_emitChanges","_this","this","_selection","Set","_deselectedToEmit","_selectedToEmit","onChange","Subject","length","forEach","value","_markSelected","Object","defineProperty","prototype","_selected","Array","from","values","select","_i","arguments","_verifyValueAssignment","_emitChangeEvent","deselect","_unmarkSelected","toggle","isSelected","clear","_unmarkAll","has","isEmpty","size","hasValue","sort","predicate","eventData","SelectionChange","next","add","push","delete"
 ,"source","added","removed","_listeners","notify","id","name","_a","listener","listen","filter","registered","ngOnDestroy","type","Injectable","UNIQUE_SELECTION_DISPATCHER_PROVIDER","provide","deps","Optional","SkipSelf","useFactory"],"mappings":"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"}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/eec354e6/node_modules/@angular/cdk/bundles/cdk-keycodes.umd.js
----------------------------------------------------------------------
diff --git a/node_modules/@angular/cdk/bundles/cdk-keycodes.umd.js b/node_modules/@angular/cdk/bundles/cdk-keycodes.umd.js
new file mode 100644
index 0000000..6b32673
--- /dev/null
+++ b/node_modules/@angular/cdk/bundles/cdk-keycodes.umd.js
@@ -0,0 +1,62 @@
+/**
+ * @license
+ * Copyright Google LLC All Rights Reserved.
+ *
+ * Use of this source code is governed by an MIT-style license that can be
+ * found in the LICENSE file at https://angular.io/license
+ */
+(function (global, factory) {
+	typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports) :
+	typeof define === 'function' && define.amd ? define(['exports'], factory) :
+	(factory((global.ng = global.ng || {}, global.ng.cdk = global.ng.cdk || {}, global.ng.cdk.keycodes = global.ng.cdk.keycodes || {})));
+}(this, (function (exports) { 'use strict';
+
+/**
+ * @fileoverview added by tsickle
+ * @suppress {checkTypes} checked by tsc
+ */
+
+var UP_ARROW = 38;
+var DOWN_ARROW = 40;
+var RIGHT_ARROW = 39;
+var LEFT_ARROW = 37;
+var PAGE_UP = 33;
+var PAGE_DOWN = 34;
+var HOME = 36;
+var END = 35;
+var ENTER = 13;
+var SPACE = 32;
+var TAB = 9;
+var ESCAPE = 27;
+var BACKSPACE = 8;
+var DELETE = 46;
+var A = 65;
+var Z = 90;
+var ZERO = 48;
+var NINE = 57;
+var COMMA = 188;
+
+exports.UP_ARROW = UP_ARROW;
+exports.DOWN_ARROW = DOWN_ARROW;
+exports.RIGHT_ARROW = RIGHT_ARROW;
+exports.LEFT_ARROW = LEFT_ARROW;
+exports.PAGE_UP = PAGE_UP;
+exports.PAGE_DOWN = PAGE_DOWN;
+exports.HOME = HOME;
+exports.END = END;
+exports.ENTER = ENTER;
+exports.SPACE = SPACE;
+exports.TAB = TAB;
+exports.ESCAPE = ESCAPE;
+exports.BACKSPACE = BACKSPACE;
+exports.DELETE = DELETE;
+exports.A = A;
+exports.Z = Z;
+exports.ZERO = ZERO;
+exports.NINE = NINE;
+exports.COMMA = COMMA;
+
+Object.defineProperty(exports, '__esModule', { value: true });
+
+})));
+//# sourceMappingURL=cdk-keycodes.umd.js.map

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/eec354e6/node_modules/@angular/cdk/bundles/cdk-keycodes.umd.js.map
----------------------------------------------------------------------
diff --git a/node_modules/@angular/cdk/bundles/cdk-keycodes.umd.js.map b/node_modules/@angular/cdk/bundles/cdk-keycodes.umd.js.map
new file mode 100644
index 0000000..d4c2129
--- /dev/null
+++ b/node_modules/@angular/cdk/bundles/cdk-keycodes.umd.js.map
@@ -0,0 +1 @@
+{"version":3,"file":"cdk-keycodes.umd.js","sources":["../../src/cdk/keycodes/keycodes.ts"],"sourcesContent":["/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nexport const UP_ARROW = 38;\nexport const DOWN_ARROW = 40;\nexport const RIGHT_ARROW = 39;\nexport const LEFT_ARROW = 37;\nexport const PAGE_UP = 33;\nexport const PAGE_DOWN = 34;\nexport const HOME = 36;\nexport const END = 35;\nexport const ENTER = 13;\nexport const SPACE = 32;\nexport const TAB = 9;\nexport const ESCAPE = 27;\nexport const BACKSPACE = 8;\nexport const DELETE = 46;\nexport const A = 65;\nexport const Z = 90;\nexport const ZERO = 48;\nexport const NINE = 57;\nexport const COMMA = 188;\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AAQA,IAAa,QAAQ,GAAG,EAAE,CAAC;AAC3B,IAAa,UAAU,GAAG,EAAE,CAAC;AAC7B,IAAa,WAAW,GAAG,EAAE,CAAC;AAC9B,IAAa,UAAU,GAAG,EAAE,CAAC;
 AAC7B,IAAa,OAAO,GAAG,EAAE,CAAC;AAC1B,IAAa,SAAS,GAAG,EAAE,CAAC;AAC5B,IAAa,IAAI,GAAG,EAAE,CAAC;AACvB,IAAa,GAAG,GAAG,EAAE,CAAC;AACtB,IAAa,KAAK,GAAG,EAAE,CAAC;AACxB,IAAa,KAAK,GAAG,EAAE,CAAC;AACxB,IAAa,GAAG,GAAG,CAAC,CAAC;AACrB,IAAa,MAAM,GAAG,EAAE,CAAC;AACzB,IAAa,SAAS,GAAG,CAAC,CAAC;AAC3B,IAAa,MAAM,GAAG,EAAE,CAAC;AACzB,IAAa,CAAC,GAAG,EAAE,CAAC;AACpB,IAAa,CAAC,GAAG,EAAE,CAAC;AACpB,IAAa,IAAI,GAAG,EAAE,CAAC;AACvB,IAAa,IAAI,GAAG,EAAE,CAAC;AACvB,IAAa,KAAK,GAAG,GAAG,CAAC;;;;;;;;;;;;;;;;;;;;;;;;"}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/eec354e6/node_modules/@angular/cdk/bundles/cdk-keycodes.umd.min.js
----------------------------------------------------------------------
diff --git a/node_modules/@angular/cdk/bundles/cdk-keycodes.umd.min.js b/node_modules/@angular/cdk/bundles/cdk-keycodes.umd.min.js
new file mode 100644
index 0000000..960b868
--- /dev/null
+++ b/node_modules/@angular/cdk/bundles/cdk-keycodes.umd.min.js
@@ -0,0 +1,9 @@
+/**
+ * @license
+ * Copyright Google LLC All Rights Reserved.
+ *
+ * Use of this source code is governed by an MIT-style license that can be
+ * found in the LICENSE file at https://angular.io/license
+ */
+!function(e,n){"object"==typeof exports&&"undefined"!=typeof module?n(exports):"function"==typeof define&&define.amd?define(["exports"],n):n((e.ng=e.ng||{},e.ng.cdk=e.ng.cdk||{},e.ng.cdk.keycodes=e.ng.cdk.keycodes||{}))}(this,function(e){"use strict";e.UP_ARROW=38,e.DOWN_ARROW=40,e.RIGHT_ARROW=39,e.LEFT_ARROW=37,e.PAGE_UP=33,e.PAGE_DOWN=34,e.HOME=36,e.END=35,e.ENTER=13,e.SPACE=32,e.TAB=9,e.ESCAPE=27,e.BACKSPACE=8,e.DELETE=46,e.A=65,e.Z=90,e.ZERO=48,e.NINE=57,e.COMMA=188,Object.defineProperty(e,"__esModule",{value:!0})});
+//# sourceMappingURL=cdk-keycodes.umd.min.js.map

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/eec354e6/node_modules/@angular/cdk/bundles/cdk-keycodes.umd.min.js.map
----------------------------------------------------------------------
diff --git a/node_modules/@angular/cdk/bundles/cdk-keycodes.umd.min.js.map b/node_modules/@angular/cdk/bundles/cdk-keycodes.umd.min.js.map
new file mode 100644
index 0000000..8557910
--- /dev/null
+++ b/node_modules/@angular/cdk/bundles/cdk-keycodes.umd.min.js.map
@@ -0,0 +1 @@
+{"version":3,"file":"cdk-keycodes.umd.min.js","sources":["../../src/cdk/keycodes/keycodes.ts"],"sourcesContent":["/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nexport const UP_ARROW = 38;\nexport const DOWN_ARROW = 40;\nexport const RIGHT_ARROW = 39;\nexport const LEFT_ARROW = 37;\nexport const PAGE_UP = 33;\nexport const PAGE_DOWN = 34;\nexport const HOME = 36;\nexport const END = 35;\nexport const ENTER = 13;\nexport const SPACE = 32;\nexport const TAB = 9;\nexport const ESCAPE = 27;\nexport const BACKSPACE = 8;\nexport const DELETE = 46;\nexport const A = 65;\nexport const Z = 90;\nexport const ZERO = 48;\nexport const NINE = 57;\nexport const COMMA = 188;\n"],"names":[],"mappings":";;;;;;;sQAQwB,gBACE,iBACC,gBACD,aACH,eACE,UACL,SACD,WACE,WACA,SACF,WACG,eACG,WACH,OACL,OACA,UACG,UACA,WACC"}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/eec354e6/node_modules/@angular/cdk/bundles/cdk-layout.umd.js
----------------------------------------------------------------------
diff --git a/node_modules/@angular/cdk/bundles/cdk-layout.umd.js b/node_modules/@angular/cdk/bundles/cdk-layout.umd.js
new file mode 100644
index 0000000..9be24dd
--- /dev/null
+++ b/node_modules/@angular/cdk/bundles/cdk-layout.umd.js
@@ -0,0 +1,299 @@
+/**
+ * @license
+ * Copyright Google LLC All Rights Reserved.
+ *
+ * Use of this source code is governed by an MIT-style license that can be
+ * found in the LICENSE file at https://angular.io/license
+ */
+(function (global, factory) {
+	typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/core'), require('@angular/cdk/platform'), require('rxjs/Subject'), require('rxjs/operators/map'), require('rxjs/operators/startWith'), require('rxjs/operators/takeUntil'), require('@angular/cdk/coercion'), require('rxjs/observable/combineLatest'), require('rxjs/observable/fromEventPattern')) :
+	typeof define === 'function' && define.amd ? define(['exports', '@angular/core', '@angular/cdk/platform', 'rxjs/Subject', 'rxjs/operators/map', 'rxjs/operators/startWith', 'rxjs/operators/takeUntil', '@angular/cdk/coercion', 'rxjs/observable/combineLatest', 'rxjs/observable/fromEventPattern'], factory) :
+	(factory((global.ng = global.ng || {}, global.ng.cdk = global.ng.cdk || {}, global.ng.cdk.layout = global.ng.cdk.layout || {}),global.ng.core,global.ng.cdk.platform,global.Rx,global.Rx.operators,global.Rx.operators,global.Rx.operators,global.ng.cdk.coercion,global.Rx.Observable,global.Rx.Observable));
+}(this, (function (exports,_angular_core,_angular_cdk_platform,rxjs_Subject,rxjs_operators_map,rxjs_operators_startWith,rxjs_operators_takeUntil,_angular_cdk_coercion,rxjs_observable_combineLatest,rxjs_observable_fromEventPattern) { 'use strict';
+
+/**
+ * @fileoverview added by tsickle
+ * @suppress {checkTypes} checked by tsc
+ */
+
+/**
+ * Global registry for all dynamically-created, injected style tags.
+ */
+var styleElementForWebkitCompatibility = new Map();
+/**
+ * A utility for calling matchMedia queries.
+ */
+var MediaMatcher = /** @class */ (function () {
+    function MediaMatcher(platform) {
+        this.platform = platform;
+        this._matchMedia = this.platform.isBrowser && window.matchMedia ?
+            // matchMedia is bound to the window scope intentionally as it is an illegal invocation to
+            // call it from a different scope.
+            window.matchMedia.bind(window) :
+            noopMatchMedia;
+    }
+    /**
+     * Evaluates the given media query and returns the native MediaQueryList from which results
+     * can be retrieved.
+     * Confirms the layout engine will trigger for the selector query provided and returns the
+     * MediaQueryList for the query provided.
+     */
+    /**
+     * Evaluates the given media query and returns the native MediaQueryList from which results
+     * can be retrieved.
+     * Confirms the layout engine will trigger for the selector query provided and returns the
+     * MediaQueryList for the query provided.
+     * @param {?} query
+     * @return {?}
+     */
+    MediaMatcher.prototype.matchMedia = /**
+     * Evaluates the given media query and returns the native MediaQueryList from which results
+     * can be retrieved.
+     * Confirms the layout engine will trigger for the selector query provided and returns the
+     * MediaQueryList for the query provided.
+     * @param {?} query
+     * @return {?}
+     */
+    function (query) {
+        if (this.platform.WEBKIT) {
+            createEmptyStyleRule(query);
+        }
+        return this._matchMedia(query);
+    };
+    MediaMatcher.decorators = [
+        { type: _angular_core.Injectable },
+    ];
+    /** @nocollapse */
+    MediaMatcher.ctorParameters = function () { return [
+        { type: _angular_cdk_platform.Platform, },
+    ]; };
+    return MediaMatcher;
+}());
+/**
+ * For Webkit engines that only trigger the MediaQueryListListener when there is at least one CSS
+ * selector for the respective media query.
+ * @param {?} query
+ * @return {?}
+ */
+function createEmptyStyleRule(query) {
+    if (!styleElementForWebkitCompatibility.has(query)) {
+        try {
+            var /** @type {?} */ style = document.createElement('style');
+            style.setAttribute('type', 'text/css');
+            if (!style.sheet) {
+                var /** @type {?} */ cssText = "@media " + query + " {.fx-query-test{ }}";
+                style.appendChild(document.createTextNode(cssText));
+            }
+            document.getElementsByTagName('head')[0].appendChild(style);
+            // Store in private global registry
+            styleElementForWebkitCompatibility.set(query, style);
+        }
+        catch (/** @type {?} */ e) {
+            console.error(e);
+        }
+    }
+}
+/**
+ * No-op matchMedia replacement for non-browser platforms.
+ * @param {?} query
+ * @return {?}
+ */
+function noopMatchMedia(query) {
+    return {
+        matches: query === 'all' || query === '',
+        media: query,
+        addListener: function () { },
+        removeListener: function () { }
+    };
+}
+
+/**
+ * @fileoverview added by tsickle
+ * @suppress {checkTypes} checked by tsc
+ */
+
+/**
+ * The current state of a layout breakpoint.
+ * @record
+ */
+
+/**
+ * Utility for checking the matching state of \@media queries.
+ */
+var BreakpointObserver = /** @class */ (function () {
+    function BreakpointObserver(mediaMatcher, zone) {
+        this.mediaMatcher = mediaMatcher;
+        this.zone = zone;
+        /**
+         * A map of all media queries currently being listened for.
+         */
+        this._queries = new Map();
+        /**
+         * A subject for all other observables to takeUntil based on.
+         */
+        this._destroySubject = new rxjs_Subject.Subject();
+    }
+    /** Completes the active subject, signalling to all other observables to complete. */
+    /**
+     * Completes the active subject, signalling to all other observables to complete.
+     * @return {?}
+     */
+    BreakpointObserver.prototype.ngOnDestroy = /**
+     * Completes the active subject, signalling to all other observables to complete.
+     * @return {?}
+     */
+    function () {
+        this._destroySubject.next();
+        this._destroySubject.complete();
+    };
+    /**
+     * Whether one or more media queries match the current viewport size.
+     * @param value One or more media queries to check.
+     * @returns Whether any of the media queries match.
+     */
+    /**
+     * Whether one or more media queries match the current viewport size.
+     * @param {?} value One or more media queries to check.
+     * @return {?} Whether any of the media queries match.
+     */
+    BreakpointObserver.prototype.isMatched = /**
+     * Whether one or more media queries match the current viewport size.
+     * @param {?} value One or more media queries to check.
+     * @return {?} Whether any of the media queries match.
+     */
+    function (value) {
+        var _this = this;
+        var /** @type {?} */ queries = _angular_cdk_coercion.coerceArray(value);
+        return queries.some(function (mediaQuery) { return _this._registerQuery(mediaQuery).mql.matches; });
+    };
+    /**
+     * Gets an observable of results for the given queries that will emit new results for any changes
+     * in matching of the given queries.
+     * @returns A stream of matches for the given queries.
+     */
+    /**
+     * Gets an observable of results for the given queries that will emit new results for any changes
+     * in matching of the given queries.
+     * @param {?} value
+     * @return {?} A stream of matches for the given queries.
+     */
+    BreakpointObserver.prototype.observe = /**
+     * Gets an observable of results for the given queries that will emit new results for any changes
+     * in matching of the given queries.
+     * @param {?} value
+     * @return {?} A stream of matches for the given queries.
+     */
+    function (value) {
+        var _this = this;
+        var /** @type {?} */ queries = _angular_cdk_coercion.coerceArray(value);
+        var /** @type {?} */ observables = queries.map(function (query) { return _this._registerQuery(query).observable; });
+        return rxjs_observable_combineLatest.combineLatest(observables, function (a, b) {
+            return {
+                matches: !!((a && a.matches) || (b && b.matches)),
+            };
+        });
+    };
+    /**
+     * Registers a specific query to be listened for.
+     * @param {?} query
+     * @return {?}
+     */
+    BreakpointObserver.prototype._registerQuery = /**
+     * Registers a specific query to be listened for.
+     * @param {?} query
+     * @return {?}
+     */
+    function (query) {
+        var _this = this;
+        // Only set up a new MediaQueryList if it is not already being listened for.
+        if (this._queries.has(query)) {
+            return /** @type {?} */ ((this._queries.get(query)));
+        }
+        var /** @type {?} */ mql = this.mediaMatcher.matchMedia(query);
+        // Create callback for match changes and add it is as a listener.
+        var /** @type {?} */ queryObservable = rxjs_observable_fromEventPattern.fromEventPattern(
+        // Listener callback methods are wrapped to be placed back in ngZone. Callbacks must be placed
+        // back into the zone because matchMedia is only included in Zone.js by loading the
+        // webapis-media-query.js file alongside the zone.js file.  Additionally, some browsers do not
+        // have MediaQueryList inherit from EventTarget, which causes inconsistencies in how Zone.js
+        // patches it.
+        // Listener callback methods are wrapped to be placed back in ngZone. Callbacks must be placed
+        // back into the zone because matchMedia is only included in Zone.js by loading the
+        // webapis-media-query.js file alongside the zone.js file.  Additionally, some browsers do not
+        // have MediaQueryList inherit from EventTarget, which causes inconsistencies in how Zone.js
+        // patches it.
+        function (listener) {
+            mql.addListener(function (e) { return _this.zone.run(function () { return listener(e); }); });
+        }, function (listener) {
+            mql.removeListener(function (e) { return _this.zone.run(function () { return listener(e); }); });
+        })
+            .pipe(rxjs_operators_takeUntil.takeUntil(this._destroySubject), rxjs_operators_startWith.startWith(mql), rxjs_operators_map.map(function (nextMql) { return ({ matches: nextMql.matches }); }));
+        // Add the MediaQueryList to the set of queries.
+        var /** @type {?} */ output = { observable: queryObservable, mql: mql };
+        this._queries.set(query, output);
+        return output;
+    };
+    BreakpointObserver.decorators = [
+        { type: _angular_core.Injectable },
+    ];
+    /** @nocollapse */
+    BreakpointObserver.ctorParameters = function () { return [
+        { type: MediaMatcher, },
+        { type: _angular_core.NgZone, },
+    ]; };
+    return BreakpointObserver;
+}());
+
+/**
+ * @fileoverview added by tsickle
+ * @suppress {checkTypes} checked by tsc
+ */
+
+var Breakpoints = {
+    XSmall: '(max-width: 599px)',
+    Small: '(min-width: 600px) and (max-width: 959px)',
+    Medium: '(min-width: 960px) and (max-width: 1279px)',
+    Large: '(min-width: 1280px) and (max-width: 1919px)',
+    XLarge: '(min-width: 1920px)',
+    Handset: '(max-width: 599px) and (orientation: portrait), ' +
+        '(max-width: 959px) and (orientation: landscape)',
+    Tablet: '(min-width: 600px) and (max-width: 839px) and (orientation: portrait), ' +
+        '(min-width: 960px) and (max-width: 1279px) and (orientation: landscape)',
+    Web: '(min-width: 840px) and (orientation: portrait), ' +
+        '(min-width: 1280px) and (orientation: landscape)',
+    HandsetPortrait: '(max-width: 599px) and (orientation: portrait)',
+    TabletPortrait: '(min-width: 600px) and (max-width: 839px) and (orientation: portrait)',
+    WebPortrait: '(min-width: 840px) and (orientation: portrait)',
+    HandsetLandscape: '(max-width: 959px) and (orientation: landscape)',
+    TabletLandscape: '(min-width: 960px) and (max-width: 1279px) and (orientation: landscape)',
+    WebLandscape: '(min-width: 1280px) and (orientation: landscape)',
+};
+
+/**
+ * @fileoverview added by tsickle
+ * @suppress {checkTypes} checked by tsc
+ */
+
+var LayoutModule = /** @class */ (function () {
+    function LayoutModule() {
+    }
+    LayoutModule.decorators = [
+        { type: _angular_core.NgModule, args: [{
+                    providers: [BreakpointObserver, MediaMatcher],
+                    imports: [_angular_cdk_platform.PlatformModule],
+                },] },
+    ];
+    /** @nocollapse */
+    LayoutModule.ctorParameters = function () { return []; };
+    return LayoutModule;
+}());
+
+exports.LayoutModule = LayoutModule;
+exports.BreakpointObserver = BreakpointObserver;
+exports.Breakpoints = Breakpoints;
+exports.MediaMatcher = MediaMatcher;
+
+Object.defineProperty(exports, '__esModule', { value: true });
+
+})));
+//# sourceMappingURL=cdk-layout.umd.js.map

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/eec354e6/node_modules/@angular/cdk/bundles/cdk-layout.umd.js.map
----------------------------------------------------------------------
diff --git a/node_modules/@angular/cdk/bundles/cdk-layout.umd.js.map b/node_modules/@angular/cdk/bundles/cdk-layout.umd.js.map
new file mode 100644
index 0000000..4d2ed08
--- /dev/null
+++ b/node_modules/@angular/cdk/bundles/cdk-layout.umd.js.map
@@ -0,0 +1 @@
+{"version":3,"file":"cdk-layout.umd.js","sources":["../../src/cdk/layout/public-api.ts","../../src/cdk/layout/breakpoints.ts","../../src/cdk/layout/breakpoints-observer.ts","../../src/cdk/layout/media-matcher.ts"],"sourcesContent":["/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nimport {NgModule} from '@angular/core';\nimport {PlatformModule} from '@angular/cdk/platform';\nimport {BreakpointObserver} from './breakpoints-observer';\nimport {MediaMatcher} from './media-matcher';\n\n@NgModule({\n  providers: [BreakpointObserver, MediaMatcher],\n  imports: [PlatformModule],\n})\nexport class LayoutModule {}\n\nexport {BreakpointObserver, BreakpointState} from './breakpoints-observer';\nexport {Breakpoints} from './breakpoints';\nexport {MediaMatcher} from './media-matcher';\n","/**\n * @license\n * Copyright Google LLC All Righ
 ts Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n// PascalCase is being used as Breakpoints is used like an enum.\n// tslint:disable-next-line:variable-name\nexport const Breakpoints = {\n  XSmall: '(max-width: 599px)',\n  Small: '(min-width: 600px) and (max-width: 959px)',\n  Medium: '(min-width: 960px) and (max-width: 1279px)',\n  Large: '(min-width: 1280px) and (max-width: 1919px)',\n  XLarge: '(min-width: 1920px)',\n\n  Handset: '(max-width: 599px) and (orientation: portrait), ' +\n           '(max-width: 959px) and (orientation: landscape)',\n  Tablet: '(min-width: 600px) and (max-width: 839px) and (orientation: portrait), ' +\n          '(min-width: 960px) and (max-width: 1279px) and (orientation: landscape)',\n  Web: '(min-width: 840px) and (orientation: portrait), ' +\n       '(min-width: 1280px) and (orientation: landscape)',\n\n  HandsetPortrait: '(max-width: 599px
 ) and (orientation: portrait)',\n  TabletPortrait: '(min-width: 600px) and (max-width: 839px) and (orientation: portrait)',\n  WebPortrait: '(min-width: 840px) and (orientation: portrait)',\n\n  HandsetLandscape: '(max-width: 959px) and (orientation: landscape)',\n  TabletLandscape: '(min-width: 960px) and (max-width: 1279px) and (orientation: landscape)',\n  WebLandscape: '(min-width: 1280px) and (orientation: landscape)',\n};\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nimport {Injectable, NgZone, OnDestroy} from '@angular/core';\nimport {MediaMatcher} from './media-matcher';\nimport {Observable} from 'rxjs/Observable';\nimport {Subject} from 'rxjs/Subject';\nimport {map} from 'rxjs/operators/map';\nimport {startWith} from 'rxjs/operators/startWith';\nimport {takeUntil} from 'rxjs/operators/takeUntil';\nimport {coer
 ceArray} from '@angular/cdk/coercion';\nimport {combineLatest} from 'rxjs/observable/combineLatest';\nimport {fromEventPattern} from 'rxjs/observable/fromEventPattern';\n\n/** The current state of a layout breakpoint. */\nexport interface BreakpointState {\n  /** Whether the breakpoint is currently matching. */\n  matches: boolean;\n}\n\ninterface Query {\n  observable: Observable<BreakpointState>;\n  mql: MediaQueryList;\n}\n\n/** Utility for checking the matching state of @media queries. */\n@Injectable()\nexport class BreakpointObserver implements OnDestroy {\n  /**  A map of all media queries currently being listened for. */\n  private _queries: Map<string, Query> = new Map();\n  /** A subject for all other observables to takeUntil based on. */\n  private _destroySubject: Subject<{}> = new Subject();\n\n  constructor(private mediaMatcher: MediaMatcher, private zone: NgZone) {}\n\n  /** Completes the active subject, signalling to all other observables to complete. */\n  ngOnDestr
 oy() {\n    this._destroySubject.next();\n    this._destroySubject.complete();\n  }\n\n  /**\n   * Whether one or more media queries match the current viewport size.\n   * @param value One or more media queries to check.\n   * @returns Whether any of the media queries match.\n   */\n  isMatched(value: string | string[]): boolean {\n    let queries = coerceArray(value);\n    return queries.some(mediaQuery => this._registerQuery(mediaQuery).mql.matches);\n  }\n\n  /**\n   * Gets an observable of results for the given queries that will emit new results for any changes\n   * in matching of the given queries.\n   * @returns A stream of matches for the given queries.\n   */\n  observe(value: string | string[]): Observable<BreakpointState> {\n    let queries = coerceArray(value);\n    let observables = queries.map(query => this._registerQuery(query).observable);\n\n    return combineLatest(observables, (a: BreakpointState, b: BreakpointState) => {\n      return {\n        matches: !!((a &&
  a.matches) || (b && b.matches)),\n      };\n    });\n  }\n\n  /** Registers a specific query to be listened for. */\n  private _registerQuery(query: string): Query {\n    // Only set up a new MediaQueryList if it is not already being listened for.\n    if (this._queries.has(query)) {\n      return this._queries.get(query)!;\n    }\n\n    let mql: MediaQueryList = this.mediaMatcher.matchMedia(query);\n    // Create callback for match changes and add it is as a listener.\n    let queryObservable = fromEventPattern(\n      // Listener callback methods are wrapped to be placed back in ngZone. Callbacks must be placed\n      // back into the zone because matchMedia is only included in Zone.js by loading the\n      // webapis-media-query.js file alongside the zone.js file.  Additionally, some browsers do not\n      // have MediaQueryList inherit from EventTarget, which causes inconsistencies in how Zone.js\n      // patches it.\n      (listener: MediaQueryListListener) => {\n        mql.
 addListener((e: MediaQueryList) => this.zone.run(() => listener(e)));\n      },\n      (listener: MediaQueryListListener) => {\n        mql.removeListener((e: MediaQueryList) => this.zone.run(() => listener(e)));\n      })\n      .pipe(\n        takeUntil(this._destroySubject),\n        startWith(mql),\n        map((nextMql: MediaQueryList) => ({matches: nextMql.matches}))\n      );\n\n    // Add the MediaQueryList to the set of queries.\n    let output = {observable: queryObservable, mql: mql};\n    this._queries.set(query, output);\n    return output;\n  }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nimport {Injectable} from '@angular/core';\nimport {Platform} from '@angular/cdk/platform';\n\n/**\n * Global registry for all dynamically-created, injected style tags.\n */\nconst styleElementForWebkitCompatibility: 
 Map<string, HTMLStyleElement> = new Map();\n\n/** A utility for calling matchMedia queries. */\n@Injectable()\nexport class MediaMatcher {\n  /** The internal matchMedia method to return back a MediaQueryList like object. */\n  private _matchMedia: (query: string) => MediaQueryList;\n\n  constructor(private platform: Platform) {\n    this._matchMedia = this.platform.isBrowser && window.matchMedia ?\n      // matchMedia is bound to the window scope intentionally as it is an illegal invocation to\n      // call it from a different scope.\n      window.matchMedia.bind(window) :\n      noopMatchMedia;\n  }\n\n  /**\n   * Evaluates the given media query and returns the native MediaQueryList from which results\n   * can be retrieved.\n   * Confirms the layout engine will trigger for the selector query provided and returns the\n   * MediaQueryList for the query provided.\n   */\n  matchMedia(query: string): MediaQueryList {\n    if (this.platform.WEBKIT) {\n      createEmptyStyleRule(query
 );\n    }\n    return this._matchMedia(query);\n  }\n}\n\n/**\n * For Webkit engines that only trigger the MediaQueryListListener when there is at least one CSS\n * selector for the respective media query.\n */\nfunction createEmptyStyleRule(query: string) {\n  if (!styleElementForWebkitCompatibility.has(query)) {\n    try {\n      const style = document.createElement('style');\n\n      style.setAttribute('type', 'text/css');\n      if (!style.sheet) {\n        const cssText = `@media ${query} {.fx-query-test{ }}`;\n        style.appendChild(document.createTextNode(cssText));\n      }\n\n      document.getElementsByTagName('head')[0].appendChild(style);\n\n      // Store in private global registry\n      styleElementForWebkitCompatibility.set(query, style);\n    } catch (e) {\n      console.error(e);\n    }\n  }\n}\n\n/** No-op matchMedia replacement for non-browser platforms. */\nfunction noopMatchMedia(query: string): MediaQueryList {\n  return {\n    matches: query === 'all' || q
 uery === '',\n    media: query,\n    addListener: () => {},\n    removeListener: () => {}\n  };\n}\n"],"names":["PlatformModule","NgModule","NgZone","Injectable","takeUntil","startWith","map","fromEventPattern","combineLatest","coerceArray","Subject","Platform"],"mappings":"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"}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/eec354e6/node_modules/@angular/cdk/bundles/cdk-layout.umd.min.js
----------------------------------------------------------------------
diff --git a/node_modules/@angular/cdk/bundles/cdk-layout.umd.min.js b/node_modules/@angular/cdk/bundles/cdk-layout.umd.min.js
new file mode 100644
index 0000000..3287b68
--- /dev/null
+++ b/node_modules/@angular/cdk/bundles/cdk-layout.umd.min.js
@@ -0,0 +1,9 @@
+/**
+ * @license
+ * Copyright Google LLC All Rights Reserved.
+ *
+ * Use of this source code is governed by an MIT-style license that can be
+ * found in the LICENSE file at https://angular.io/license
+ */
+!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports,require("@angular/core"),require("@angular/cdk/platform"),require("rxjs/Subject"),require("rxjs/operators/map"),require("rxjs/operators/startWith"),require("rxjs/operators/takeUntil"),require("@angular/cdk/coercion"),require("rxjs/observable/combineLatest"),require("rxjs/observable/fromEventPattern")):"function"==typeof define&&define.amd?define(["exports","@angular/core","@angular/cdk/platform","rxjs/Subject","rxjs/operators/map","rxjs/operators/startWith","rxjs/operators/takeUntil","@angular/cdk/coercion","rxjs/observable/combineLatest","rxjs/observable/fromEventPattern"],e):e((t.ng=t.ng||{},t.ng.cdk=t.ng.cdk||{},t.ng.cdk.layout=t.ng.cdk.layout||{}),t.ng.core,t.ng.cdk.platform,t.Rx,t.Rx.operators,t.Rx.operators,t.Rx.operators,t.ng.cdk.coercion,t.Rx.Observable,t.Rx.Observable)}(this,function(t,e,r,n,a,i,o,s,d,c){"use strict";function u(t){if(!m.has(t))try{var e=document.createElement("style");if(e.setAttr
 ibute("type","text/css"),!e.sheet){var r="@media "+t+" {.fx-query-test{ }}";e.appendChild(document.createTextNode(r))}document.getElementsByTagName("head")[0].appendChild(e),m.set(t,e)}catch(t){console.error(t)}}function p(t){return{matches:"all"===t||""===t,media:t,addListener:function(){},removeListener:function(){}}}var m=new Map,h=function(){function t(t){this.platform=t,this._matchMedia=this.platform.isBrowser&&window.matchMedia?window.matchMedia.bind(window):p}return t.prototype.matchMedia=function(t){return this.platform.WEBKIT&&u(t),this._matchMedia(t)},t.decorators=[{type:e.Injectable}],t.ctorParameters=function(){return[{type:r.Platform}]},t}(),x=function(){function t(t,e){this.mediaMatcher=t,this.zone=e,this._queries=new Map,this._destroySubject=new n.Subject}return t.prototype.ngOnDestroy=function(){this._destroySubject.next(),this._destroySubject.complete()},t.prototype.isMatched=function(t){var e=this;return s.coerceArray(t).some(function(t){return e._registerQuery(t).
 mql.matches})},t.prototype.observe=function(t){var e=this,r=s.coerceArray(t),n=r.map(function(t){return e._registerQuery(t).observable});return d.combineLatest(n,function(t,e){return{matches:!!(t&&t.matches||e&&e.matches)}})},t.prototype._registerQuery=function(t){var e=this;if(this._queries.has(t))return this._queries.get(t);var r=this.mediaMatcher.matchMedia(t),n=c.fromEventPattern(function(t){r.addListener(function(r){return e.zone.run(function(){return t(r)})})},function(t){r.removeListener(function(r){return e.zone.run(function(){return t(r)})})}).pipe(o.takeUntil(this._destroySubject),i.startWith(r),a.map(function(t){return{matches:t.matches}})),s={observable:n,mql:r};return this._queries.set(t,s),s},t.decorators=[{type:e.Injectable}],t.ctorParameters=function(){return[{type:h},{type:e.NgZone}]},t}(),l={XSmall:"(max-width: 599px)",Small:"(min-width: 600px) and (max-width: 959px)",Medium:"(min-width: 960px) and (max-width: 1279px)",Large:"(min-width: 1280px) and (max-width: 191
 9px)",XLarge:"(min-width: 1920px)",Handset:"(max-width: 599px) and (orientation: portrait), (max-width: 959px) and (orientation: landscape)",Tablet:"(min-width: 600px) and (max-width: 839px) and (orientation: portrait), (min-width: 960px) and (max-width: 1279px) and (orientation: landscape)",Web:"(min-width: 840px) and (orientation: portrait), (min-width: 1280px) and (orientation: landscape)",HandsetPortrait:"(max-width: 599px) and (orientation: portrait)",TabletPortrait:"(min-width: 600px) and (max-width: 839px) and (orientation: portrait)",WebPortrait:"(min-width: 840px) and (orientation: portrait)",HandsetLandscape:"(max-width: 959px) and (orientation: landscape)",TabletLandscape:"(min-width: 960px) and (max-width: 1279px) and (orientation: landscape)",WebLandscape:"(min-width: 1280px) and (orientation: landscape)"},f=function(){function t(){}return t.decorators=[{type:e.NgModule,args:[{providers:[x,h],imports:[r.PlatformModule]}]}],t.ctorParameters=function(){return[]},t}();t.La
 youtModule=f,t.BreakpointObserver=x,t.Breakpoints=l,t.MediaMatcher=h,Object.defineProperty(t,"__esModule",{value:!0})});
+//# sourceMappingURL=cdk-layout.umd.min.js.map

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/eec354e6/node_modules/@angular/cdk/bundles/cdk-layout.umd.min.js.map
----------------------------------------------------------------------
diff --git a/node_modules/@angular/cdk/bundles/cdk-layout.umd.min.js.map b/node_modules/@angular/cdk/bundles/cdk-layout.umd.min.js.map
new file mode 100644
index 0000000..4815d2b
--- /dev/null
+++ b/node_modules/@angular/cdk/bundles/cdk-layout.umd.min.js.map
@@ -0,0 +1 @@
+{"version":3,"file":"cdk-layout.umd.min.js","sources":["../../src/cdk/layout/media-matcher.ts","../../src/cdk/layout/breakpoints-observer.ts","../../src/cdk/layout/breakpoints.ts","../../src/cdk/layout/public-api.ts"],"sourcesContent":["/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nimport {Injectable} from '@angular/core';\nimport {Platform} from '@angular/cdk/platform';\n\n/**\n * Global registry for all dynamically-created, injected style tags.\n */\nconst styleElementForWebkitCompatibility: Map<string, HTMLStyleElement> = new Map();\n\n/** A utility for calling matchMedia queries. */\n@Injectable()\nexport class MediaMatcher {\n  /** The internal matchMedia method to return back a MediaQueryList like object. */\n  private _matchMedia: (query: string) => MediaQueryList;\n\n  constructor(private platform: Platform) {\n   
  this._matchMedia = this.platform.isBrowser && window.matchMedia ?\n      // matchMedia is bound to the window scope intentionally as it is an illegal invocation to\n      // call it from a different scope.\n      window.matchMedia.bind(window) :\n      noopMatchMedia;\n  }\n\n  /**\n   * Evaluates the given media query and returns the native MediaQueryList from which results\n   * can be retrieved.\n   * Confirms the layout engine will trigger for the selector query provided and returns the\n   * MediaQueryList for the query provided.\n   */\n  matchMedia(query: string): MediaQueryList {\n    if (this.platform.WEBKIT) {\n      createEmptyStyleRule(query);\n    }\n    return this._matchMedia(query);\n  }\n}\n\n/**\n * For Webkit engines that only trigger the MediaQueryListListener when there is at least one CSS\n * selector for the respective media query.\n */\nfunction createEmptyStyleRule(query: string) {\n  if (!styleElementForWebkitCompatibility.has(query)) {\n    try {\n      c
 onst style = document.createElement('style');\n\n      style.setAttribute('type', 'text/css');\n      if (!style.sheet) {\n        const cssText = `@media ${query} {.fx-query-test{ }}`;\n        style.appendChild(document.createTextNode(cssText));\n      }\n\n      document.getElementsByTagName('head')[0].appendChild(style);\n\n      // Store in private global registry\n      styleElementForWebkitCompatibility.set(query, style);\n    } catch (e) {\n      console.error(e);\n    }\n  }\n}\n\n/** No-op matchMedia replacement for non-browser platforms. */\nfunction noopMatchMedia(query: string): MediaQueryList {\n  return {\n    matches: query === 'all' || query === '',\n    media: query,\n    addListener: () => {},\n    removeListener: () => {}\n  };\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nimport {Injectable, NgZ
 one, OnDestroy} from '@angular/core';\nimport {MediaMatcher} from './media-matcher';\nimport {Observable} from 'rxjs/Observable';\nimport {Subject} from 'rxjs/Subject';\nimport {map} from 'rxjs/operators/map';\nimport {startWith} from 'rxjs/operators/startWith';\nimport {takeUntil} from 'rxjs/operators/takeUntil';\nimport {coerceArray} from '@angular/cdk/coercion';\nimport {combineLatest} from 'rxjs/observable/combineLatest';\nimport {fromEventPattern} from 'rxjs/observable/fromEventPattern';\n\n/** The current state of a layout breakpoint. */\nexport interface BreakpointState {\n  /** Whether the breakpoint is currently matching. */\n  matches: boolean;\n}\n\ninterface Query {\n  observable: Observable<BreakpointState>;\n  mql: MediaQueryList;\n}\n\n/** Utility for checking the matching state of @media queries. */\n@Injectable()\nexport class BreakpointObserver implements OnDestroy {\n  /**  A map of all media queries currently being listened for. */\n  private _queries: Map<string
 , Query> = new Map();\n  /** A subject for all other observables to takeUntil based on. */\n  private _destroySubject: Subject<{}> = new Subject();\n\n  constructor(private mediaMatcher: MediaMatcher, private zone: NgZone) {}\n\n  /** Completes the active subject, signalling to all other observables to complete. */\n  ngOnDestroy() {\n    this._destroySubject.next();\n    this._destroySubject.complete();\n  }\n\n  /**\n   * Whether one or more media queries match the current viewport size.\n   * @param value One or more media queries to check.\n   * @returns Whether any of the media queries match.\n   */\n  isMatched(value: string | string[]): boolean {\n    let queries = coerceArray(value);\n    return queries.some(mediaQuery => this._registerQuery(mediaQuery).mql.matches);\n  }\n\n  /**\n   * Gets an observable of results for the given queries that will emit new results for any changes\n   * in matching of the given queries.\n   * @returns A stream of matches for the given queries
 .\n   */\n  observe(value: string | string[]): Observable<BreakpointState> {\n    let queries = coerceArray(value);\n    let observables = queries.map(query => this._registerQuery(query).observable);\n\n    return combineLatest(observables, (a: BreakpointState, b: BreakpointState) => {\n      return {\n        matches: !!((a && a.matches) || (b && b.matches)),\n      };\n    });\n  }\n\n  /** Registers a specific query to be listened for. */\n  private _registerQuery(query: string): Query {\n    // Only set up a new MediaQueryList if it is not already being listened for.\n    if (this._queries.has(query)) {\n      return this._queries.get(query)!;\n    }\n\n    let mql: MediaQueryList = this.mediaMatcher.matchMedia(query);\n    // Create callback for match changes and add it is as a listener.\n    let queryObservable = fromEventPattern(\n      // Listener callback methods are wrapped to be placed back in ngZone. Callbacks must be placed\n      // back into the zone because matchMedi
 a is only included in Zone.js by loading the\n      // webapis-media-query.js file alongside the zone.js file.  Additionally, some browsers do not\n      // have MediaQueryList inherit from EventTarget, which causes inconsistencies in how Zone.js\n      // patches it.\n      (listener: MediaQueryListListener) => {\n        mql.addListener((e: MediaQueryList) => this.zone.run(() => listener(e)));\n      },\n      (listener: MediaQueryListListener) => {\n        mql.removeListener((e: MediaQueryList) => this.zone.run(() => listener(e)));\n      })\n      .pipe(\n        takeUntil(this._destroySubject),\n        startWith(mql),\n        map((nextMql: MediaQueryList) => ({matches: nextMql.matches}))\n      );\n\n    // Add the MediaQueryList to the set of queries.\n    let output = {observable: queryObservable, mql: mql};\n    this._queries.set(query, output);\n    return output;\n  }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code i
 s governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n// PascalCase is being used as Breakpoints is used like an enum.\n// tslint:disable-next-line:variable-name\nexport const Breakpoints = {\n  XSmall: '(max-width: 599px)',\n  Small: '(min-width: 600px) and (max-width: 959px)',\n  Medium: '(min-width: 960px) and (max-width: 1279px)',\n  Large: '(min-width: 1280px) and (max-width: 1919px)',\n  XLarge: '(min-width: 1920px)',\n\n  Handset: '(max-width: 599px) and (orientation: portrait), ' +\n           '(max-width: 959px) and (orientation: landscape)',\n  Tablet: '(min-width: 600px) and (max-width: 839px) and (orientation: portrait), ' +\n          '(min-width: 960px) and (max-width: 1279px) and (orientation: landscape)',\n  Web: '(min-width: 840px) and (orientation: portrait), ' +\n       '(min-width: 1280px) and (orientation: landscape)',\n\n  HandsetPortrait: '(max-width: 599px) and (orientation: portrait)',\n  TabletPortr
 ait: '(min-width: 600px) and (max-width: 839px) and (orientation: portrait)',\n  WebPortrait: '(min-width: 840px) and (orientation: portrait)',\n\n  HandsetLandscape: '(max-width: 959px) and (orientation: landscape)',\n  TabletLandscape: '(min-width: 960px) and (max-width: 1279px) and (orientation: landscape)',\n  WebLandscape: '(min-width: 1280px) and (orientation: landscape)',\n};\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nimport {NgModule} from '@angular/core';\nimport {PlatformModule} from '@angular/cdk/platform';\nimport {BreakpointObserver} from './breakpoints-observer';\nimport {MediaMatcher} from './media-matcher';\n\n@NgModule({\n  providers: [BreakpointObserver, MediaMatcher],\n  imports: [PlatformModule],\n})\nexport class LayoutModule {}\n\nexport {BreakpointObserver, BreakpointState} from './breakpoints
 -observer';\nexport {Breakpoints} from './breakpoints';\nexport {MediaMatcher} from './media-matcher';\n"],"names":["createEmptyStyleRule","query","styleElementForWebkitCompatibility","has","style","document","createElement","setAttribute","sheet","cssText","appendChild","createTextNode","getElementsByTagName","set","e","console","error","noopMatchMedia","matches","media","addListener","removeListener","Map","MediaMatcher","platform","this","_matchMedia","isBrowser","window","matchMedia","bind","prototype","WEBKIT","type","Injectable","Platform","BreakpointObserver","mediaMatcher","zone","_queries","_destroySubject","Subject","ngOnDestroy","next","complete","isMatched","value","_this","coerceArray","some","mediaQuery","_registerQuery","mql","observe","queries","observables","map","observable","combineLatest","a","b","get","queryObservable","fromEventPattern","listener","run","pipe","takeUntil","startWith","nextMql","output","NgZone","Breakpoints","XSmall","Small","Medium","Large","X
 Large","Handset","Tablet","Web","HandsetPortrait","TabletPortrait","WebPortrait","HandsetLandscape","TabletLandscape","WebLandscape","LayoutModule","NgModule","args","providers","imports","PlatformModule"],"mappings":"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"}
\ No newline at end of file


[53/59] [abbrv] nifi-fds git commit: update gh-pages

Posted by sc...@apache.org.
update gh-pages


Project: http://git-wip-us.apache.org/repos/asf/nifi-fds/repo
Commit: http://git-wip-us.apache.org/repos/asf/nifi-fds/commit/16a14e5f
Tree: http://git-wip-us.apache.org/repos/asf/nifi-fds/tree/16a14e5f
Diff: http://git-wip-us.apache.org/repos/asf/nifi-fds/diff/16a14e5f

Branch: refs/heads/gh-pages
Commit: 16a14e5fd0881f4cdf2ababba25ea2fa20637dde
Parents: fac2a48
Author: Scott Aslan <sc...@gmail.com>
Authored: Tue Jun 5 17:20:29 2018 -0400
Committer: Scott Aslan <sc...@gmail.com>
Committed: Tue Jun 5 17:20:29 2018 -0400

----------------------------------------------------------------------
 .github/PULL_REQUEST_TEMPLATE.md | 28 --------------
 .gitignore                       |  2 +
 demo-app/gh-pages.index.html     | 36 ------------------
 demo-app/gh-pages.package.json   | 71 -----------------------------------
 4 files changed, 2 insertions(+), 135 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/16a14e5f/.github/PULL_REQUEST_TEMPLATE.md
----------------------------------------------------------------------
diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md
deleted file mode 100644
index 426a211..0000000
--- a/.github/PULL_REQUEST_TEMPLATE.md
+++ /dev/null
@@ -1,28 +0,0 @@
-Thank you for submitting a contribution to Apache NiFi Flow Design System.
-
-In order to streamline the review of the contribution we ask you
-to ensure the following steps have been taken:
-
-### For all changes:
-- [ ] Is there a JIRA ticket associated with this PR? Is it referenced
-     in the commit message?
-
-- [ ] Does your PR title start with either NIFI-XXXX where XXXX is the JIRA number you are trying to resolve? Pay particular attention to the hyphen "-" character.
-
-- [ ] Has your PR been rebased against the latest commit within the target branch (typically master)?
-
-- [ ] Is your initial contribution a single, squashed commit?
-
-### For code changes:
-- [ ] Have you written or updated unit tests to verify your changes?
-- [ ] Have you ensured that a full build and that the full suite of unit tests is executed via npm run clean:install at the root nifi-fds folder?
-- [ ] Have you written or updated the Apache NiFi Flow Design System demo application to demonstrate any new functionality, provide examples of usage, and to verify your changes via npm start at the nifi-fds/target folder?
-- [ ] If adding new dependencies to the code, are these dependencies licensed in a way that is compatible for inclusion under [ASF 2.0](http://www.apache.org/legal/resolved.html#category-a)?
-- [ ] If applicable, have you updated the LICENSE file, including the main LICENSE file under nifi-fds?
-- [ ] If applicable, have you updated the NOTICE file, including the main NOTICE file found under nifi-fds?
-
-### For documentation related changes:
-- [ ] Have you ensured that format looks appropriate for the output in which it is rendered?
-
-### Note:
-Please ensure that once the PR is submitted, you check travis-ci for build issues and submit an update to your PR as soon as possible.

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/16a14e5f/.gitignore
----------------------------------------------------------------------
diff --git a/.gitignore b/.gitignore
index bafbf6a..45ff9c3 100644
--- a/.gitignore
+++ b/.gitignore
@@ -3,6 +3,8 @@ node_modules/protractor*
 node_modules/grunt*
 node_modules/jasmine*
 node_modules/webdriver*
+.github/
+demo-app/gh-pages*
 scripts/
 src/
 test/

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/16a14e5f/demo-app/gh-pages.index.html
----------------------------------------------------------------------
diff --git a/demo-app/gh-pages.index.html b/demo-app/gh-pages.index.html
deleted file mode 100644
index b5c94b7..0000000
--- a/demo-app/gh-pages.index.html
+++ /dev/null
@@ -1,36 +0,0 @@
-<!--
- Licensed to the Apache Software Foundation (ASF) under one or more
-  contributor license agreements.  See the NOTICE file distributed with
-  this work for additional information regarding copyright ownership.
-  The ASF licenses this file to You under the Apache License, Version 2.0
-  (the 'License'); you may not use this file except in compliance with
-  the License.  You may obtain a copy of the License at
-      http://www.apache.org/licenses/LICENSE-2.0
-  Unless required by applicable law or agreed to in writing, software
-  distributed under the License is distributed on an 'AS IS' BASIS,
-  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  See the License for the specific language governing permissions and
-  limitations under the License.
--->
-<!DOCTYPE html>
-<html>
-<head>
-    <title>Apache NiFi Flow Design System Demo</title>
-    <base href='/nifi-fds/'>
-    <meta charset='UTF-8'>
-    <meta name='viewport' content='width=device-width, initial-scale=1'>
-    <meta http-equiv='Content-Type' content='text/html; charset=UTF-8'/>
-    <link rel="stylesheet" href="node_modules/@covalent/core/common/platform.css">
-    <link rel="stylesheet" href='node_modules/@nifi-fds/core/common/styles/css/flow-design-system.min.css'/>
-    <link rel="stylesheet" href='demo-app/css/fds-demo.min.css'/>
-    <link rel='stylesheet' href='node_modules/font-awesome/css/font-awesome.css'/>
-</head>
-<body>
-<fds-app></fds-app>
-</body>
-<script src="node_modules/systemjs/dist/system.src.js"></script>
-<script src="demo-app/systemjs.config.js?"></script>
-<script>
-  System.import('demo-app/fds-bootstrap.js').catch(function(err) {console.error(err);});
-</script>
-</html>

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/16a14e5f/demo-app/gh-pages.package.json
----------------------------------------------------------------------
diff --git a/demo-app/gh-pages.package.json b/demo-app/gh-pages.package.json
deleted file mode 100644
index 00753cc..0000000
--- a/demo-app/gh-pages.package.json
+++ /dev/null
@@ -1,71 +0,0 @@
-{
-  "//": "Licensed to the Apache Software Foundation (ASF) under one or more",
-  "//": "contributor license agreements.  See the NOTICE file distributed with",
-  "//": "this work for additional information regarding copyright ownership.",
-  "//": "The ASF licenses this file to You under the Apache License, Version 2.0",
-  "//": "(the \"License\"); you may not use this file except in compliance with",
-  "//": "the License.  You may obtain a copy of the License at",
-  "//": "",
-  "//": "http://www.apache.org/licenses/LICENSE-2.0",
-  "//": "",
-  "//": "Unless required by applicable law or agreed to in writing, software",
-  "//": "distributed under the License is distributed on an \"AS IS\" BASIS,",
-  "//": "WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.",
-  "//": "See the License for the specific language governing permissions and",
-  "//": "limitations under the License.",
-  "name": "nifi-fds-demo",
-  "version": "0.0.0",
-  "scripts": {
-    "start": "./node_modules/http-server/bin/http-server ."
-  },
-  "description": "The Apache NiFi Flow Design System demo provides users with an example web application that consumes the NgModule and allows users to interact with the UI/UX components.",
-  "keywords": [
-    "flow design system",
-    "angular",
-    "material",
-    "material design",
-    "components",
-    "reusable",
-    "covalent"
-  ],
-  "repository": {
-    "type": "git",
-    "url": "https://github.com/apache/nifi-fds.git"
-  },
-  "bugs": {
-    "url": "https://github.com/apache/nifi-fds/issues"
-  },
-  "license": "Apache-2.0",
-  "dependencies": {
-    "core-js": "2.5.5",
-    "jquery": "3.2.1",
-    "rxjs": "5.5.6",
-    "systemjs": "0.20.17",
-    "systemjs-plugin-text": "0.0.11",
-    "zone.js": "0.8.17",
-    "@angular/animations": "5.2.0",
-    "@angular/cdk": "5.2.0",
-    "@angular/common": "5.2.0",
-    "@angular/compiler": "5.2.0",
-    "@angular/core": "5.2.0",
-    "@angular/flex-layout": "5.0.0-beta.14",
-    "@angular/forms": "5.2.0",
-    "@angular/http": "5.2.0",
-    "@angular/material": "5.2.0",
-    "@angular/platform-browser": "5.2.0",
-    "@angular/platform-browser-dynamic": "5.2.0",
-    "@angular/router": "5.2.0",
-    "@covalent/core": "1.0.0",
-    "detect-libc": "1.0.3",
-    "font-awesome": "4.7.0",
-    "hammerjs": "2.0.8",
-    "roboto-fontface": "0.7.0"
-  },
-  "devDependencies": {
-    "grunt": "0.4.5",
-    "grunt-cli": "1.2.0",
-    "grunt-contrib-compress": "1.4.3",
-    "grunt-sass": "2.0.0",
-    "load-grunt-tasks": "3.5.2"
-  }
-}


[27/59] [abbrv] [partial] nifi-fds git commit: update gh-pages

Posted by sc...@apache.org.
http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/eec354e6/node_modules/@angular/animations/esm5/browser/testing.js
----------------------------------------------------------------------
diff --git a/node_modules/@angular/animations/esm5/browser/testing.js b/node_modules/@angular/animations/esm5/browser/testing.js
new file mode 100644
index 0000000..4c42ca0
--- /dev/null
+++ b/node_modules/@angular/animations/esm5/browser/testing.js
@@ -0,0 +1,511 @@
+/**
+ * @license Angular v5.2.0
+ * (c) 2010-2018 Google, Inc. https://angular.io/
+ * License: MIT
+ */
+import { __extends } from 'tslib';
+import { AUTO_STYLE, NoopAnimationPlayer } from '@angular/animations';
+
+/**
+ * @fileoverview added by tsickle
+ * @suppress {checkTypes} checked by tsc
+ */
+/**
+ * @param {?} players
+ * @return {?}
+ */
+
+/**
+ * @param {?} driver
+ * @param {?} normalizer
+ * @param {?} element
+ * @param {?} keyframes
+ * @param {?=} preStyles
+ * @param {?=} postStyles
+ * @return {?}
+ */
+
+/**
+ * @param {?} player
+ * @param {?} eventName
+ * @param {?} event
+ * @param {?} callback
+ * @return {?}
+ */
+
+/**
+ * @param {?} e
+ * @param {?=} phaseName
+ * @param {?=} totalTime
+ * @return {?}
+ */
+
+/**
+ * @param {?} element
+ * @param {?} triggerName
+ * @param {?} fromState
+ * @param {?} toState
+ * @param {?=} phaseName
+ * @param {?=} totalTime
+ * @return {?}
+ */
+
+/**
+ * @param {?} map
+ * @param {?} key
+ * @param {?} defaultValue
+ * @return {?}
+ */
+
+/**
+ * @param {?} command
+ * @return {?}
+ */
+
+var _contains = function (elm1, elm2) { return false; };
+var _matches = function (element, selector) {
+    return false;
+};
+var _query = function (element, selector, multi) {
+    return [];
+};
+if (typeof Element != 'undefined') {
+    // this is well supported in all browsers
+    _contains = function (elm1, elm2) { return /** @type {?} */ (elm1.contains(elm2)); };
+    if (Element.prototype.matches) {
+        _matches = function (element, selector) { return element.matches(selector); };
+    }
+    else {
+        var /** @type {?} */ proto = /** @type {?} */ (Element.prototype);
+        var /** @type {?} */ fn_1 = proto.matchesSelector || proto.mozMatchesSelector || proto.msMatchesSelector ||
+            proto.oMatchesSelector || proto.webkitMatchesSelector;
+        if (fn_1) {
+            _matches = function (element, selector) { return fn_1.apply(element, [selector]); };
+        }
+    }
+    _query = function (element, selector, multi) {
+        var /** @type {?} */ results = [];
+        if (multi) {
+            results.push.apply(results, element.querySelectorAll(selector));
+        }
+        else {
+            var /** @type {?} */ elm = element.querySelector(selector);
+            if (elm) {
+                results.push(elm);
+            }
+        }
+        return results;
+    };
+}
+/**
+ * @param {?} prop
+ * @return {?}
+ */
+function containsVendorPrefix(prop) {
+    // Webkit is the only real popular vendor prefix nowadays
+    // cc: http://shouldiprefix.com/
+    return prop.substring(1, 6) == 'ebkit'; // webkit or Webkit
+}
+var _CACHED_BODY = null;
+var _IS_WEBKIT = false;
+/**
+ * @param {?} prop
+ * @return {?}
+ */
+function validateStyleProperty(prop) {
+    if (!_CACHED_BODY) {
+        _CACHED_BODY = getBodyNode() || {};
+        _IS_WEBKIT = /** @type {?} */ ((_CACHED_BODY)).style ? ('WebkitAppearance' in /** @type {?} */ ((_CACHED_BODY)).style) : false;
+    }
+    var /** @type {?} */ result = true;
+    if (/** @type {?} */ ((_CACHED_BODY)).style && !containsVendorPrefix(prop)) {
+        result = prop in /** @type {?} */ ((_CACHED_BODY)).style;
+        if (!result && _IS_WEBKIT) {
+            var /** @type {?} */ camelProp = 'Webkit' + prop.charAt(0).toUpperCase() + prop.substr(1);
+            result = camelProp in /** @type {?} */ ((_CACHED_BODY)).style;
+        }
+    }
+    return result;
+}
+/**
+ * @return {?}
+ */
+function getBodyNode() {
+    if (typeof document != 'undefined') {
+        return document.body;
+    }
+    return null;
+}
+var matchesElement = _matches;
+var containsElement = _contains;
+var invokeQuery = _query;
+
+/**
+ * @fileoverview added by tsickle
+ * @suppress {checkTypes} checked by tsc
+ */
+
+
+
+
+
+
+
+
+
+
+
+/**
+ * @param {?} value
+ * @return {?}
+ */
+
+/**
+ * @param {?} timings
+ * @param {?} errors
+ * @param {?=} allowNegativeValues
+ * @return {?}
+ */
+
+/**
+ * @param {?} obj
+ * @param {?=} destination
+ * @return {?}
+ */
+
+/**
+ * @param {?} styles
+ * @return {?}
+ */
+
+/**
+ * @param {?} styles
+ * @param {?} readPrototype
+ * @param {?=} destination
+ * @return {?}
+ */
+
+/**
+ * @param {?} element
+ * @param {?} styles
+ * @return {?}
+ */
+
+/**
+ * @param {?} element
+ * @param {?} styles
+ * @return {?}
+ */
+
+/**
+ * @param {?} steps
+ * @return {?}
+ */
+
+/**
+ * @param {?} value
+ * @param {?} options
+ * @param {?} errors
+ * @return {?}
+ */
+
+/**
+ * @param {?} value
+ * @return {?}
+ */
+
+/**
+ * @param {?} value
+ * @param {?} params
+ * @param {?} errors
+ * @return {?}
+ */
+
+/**
+ * @param {?} iterator
+ * @return {?}
+ */
+
+/**
+ * @param {?} source
+ * @param {?} destination
+ * @return {?}
+ */
+
+/**
+ * @param {?} input
+ * @return {?}
+ */
+
+/**
+ * @param {?} duration
+ * @param {?} delay
+ * @return {?}
+ */
+function allowPreviousPlayerStylesMerge(duration, delay) {
+    return duration === 0 || delay === 0;
+}
+/**
+ * @param {?} visitor
+ * @param {?} node
+ * @param {?} context
+ * @return {?}
+ */
+
+/**
+ * @fileoverview added by tsickle
+ * @suppress {checkTypes} checked by tsc
+ */
+/**
+ * \@experimental Animation support is experimental.
+ */
+var MockAnimationDriver = /** @class */ (function () {
+    function MockAnimationDriver() {
+    }
+    /**
+     * @param {?} prop
+     * @return {?}
+     */
+    MockAnimationDriver.prototype.validateStyleProperty = /**
+     * @param {?} prop
+     * @return {?}
+     */
+    function (prop) { return validateStyleProperty(prop); };
+    /**
+     * @param {?} element
+     * @param {?} selector
+     * @return {?}
+     */
+    MockAnimationDriver.prototype.matchesElement = /**
+     * @param {?} element
+     * @param {?} selector
+     * @return {?}
+     */
+    function (element, selector) {
+        return matchesElement(element, selector);
+    };
+    /**
+     * @param {?} elm1
+     * @param {?} elm2
+     * @return {?}
+     */
+    MockAnimationDriver.prototype.containsElement = /**
+     * @param {?} elm1
+     * @param {?} elm2
+     * @return {?}
+     */
+    function (elm1, elm2) { return containsElement(elm1, elm2); };
+    /**
+     * @param {?} element
+     * @param {?} selector
+     * @param {?} multi
+     * @return {?}
+     */
+    MockAnimationDriver.prototype.query = /**
+     * @param {?} element
+     * @param {?} selector
+     * @param {?} multi
+     * @return {?}
+     */
+    function (element, selector, multi) {
+        return invokeQuery(element, selector, multi);
+    };
+    /**
+     * @param {?} element
+     * @param {?} prop
+     * @param {?=} defaultValue
+     * @return {?}
+     */
+    MockAnimationDriver.prototype.computeStyle = /**
+     * @param {?} element
+     * @param {?} prop
+     * @param {?=} defaultValue
+     * @return {?}
+     */
+    function (element, prop, defaultValue) {
+        return defaultValue || '';
+    };
+    /**
+     * @param {?} element
+     * @param {?} keyframes
+     * @param {?} duration
+     * @param {?} delay
+     * @param {?} easing
+     * @param {?=} previousPlayers
+     * @return {?}
+     */
+    MockAnimationDriver.prototype.animate = /**
+     * @param {?} element
+     * @param {?} keyframes
+     * @param {?} duration
+     * @param {?} delay
+     * @param {?} easing
+     * @param {?=} previousPlayers
+     * @return {?}
+     */
+    function (element, keyframes, duration, delay, easing, previousPlayers) {
+        if (previousPlayers === void 0) { previousPlayers = []; }
+        var /** @type {?} */ player = new MockAnimationPlayer(element, keyframes, duration, delay, easing, previousPlayers);
+        MockAnimationDriver.log.push(/** @type {?} */ (player));
+        return player;
+    };
+    MockAnimationDriver.log = [];
+    return MockAnimationDriver;
+}());
+/**
+ * \@experimental Animation support is experimental.
+ */
+var MockAnimationPlayer = /** @class */ (function (_super) {
+    __extends(MockAnimationPlayer, _super);
+    function MockAnimationPlayer(element, keyframes, duration, delay, easing, previousPlayers) {
+        var _this = _super.call(this) || this;
+        _this.element = element;
+        _this.keyframes = keyframes;
+        _this.duration = duration;
+        _this.delay = delay;
+        _this.easing = easing;
+        _this.previousPlayers = previousPlayers;
+        _this.__finished = false;
+        _this.__started = false;
+        _this.previousStyles = {};
+        _this._onInitFns = [];
+        _this.currentSnapshot = {};
+        if (allowPreviousPlayerStylesMerge(duration, delay)) {
+            previousPlayers.forEach(function (player) {
+                if (player instanceof MockAnimationPlayer) {
+                    var /** @type {?} */ styles_1 = player.currentSnapshot;
+                    Object.keys(styles_1).forEach(function (prop) { return _this.previousStyles[prop] = styles_1[prop]; });
+                }
+            });
+        }
+        _this.totalTime = delay + duration;
+        return _this;
+    }
+    /* @internal */
+    /**
+     * @param {?} fn
+     * @return {?}
+     */
+    MockAnimationPlayer.prototype.onInit = /**
+     * @param {?} fn
+     * @return {?}
+     */
+    function (fn) { this._onInitFns.push(fn); };
+    /* @internal */
+    /**
+     * @return {?}
+     */
+    MockAnimationPlayer.prototype.init = /**
+     * @return {?}
+     */
+    function () {
+        _super.prototype.init.call(this);
+        this._onInitFns.forEach(function (fn) { return fn(); });
+        this._onInitFns = [];
+    };
+    /**
+     * @return {?}
+     */
+    MockAnimationPlayer.prototype.finish = /**
+     * @return {?}
+     */
+    function () {
+        _super.prototype.finish.call(this);
+        this.__finished = true;
+    };
+    /**
+     * @return {?}
+     */
+    MockAnimationPlayer.prototype.destroy = /**
+     * @return {?}
+     */
+    function () {
+        _super.prototype.destroy.call(this);
+        this.__finished = true;
+    };
+    /* @internal */
+    /**
+     * @return {?}
+     */
+    MockAnimationPlayer.prototype.triggerMicrotask = /**
+     * @return {?}
+     */
+    function () { };
+    /**
+     * @return {?}
+     */
+    MockAnimationPlayer.prototype.play = /**
+     * @return {?}
+     */
+    function () {
+        _super.prototype.play.call(this);
+        this.__started = true;
+    };
+    /**
+     * @return {?}
+     */
+    MockAnimationPlayer.prototype.hasStarted = /**
+     * @return {?}
+     */
+    function () { return this.__started; };
+    /**
+     * @return {?}
+     */
+    MockAnimationPlayer.prototype.beforeDestroy = /**
+     * @return {?}
+     */
+    function () {
+        var _this = this;
+        var /** @type {?} */ captures = {};
+        Object.keys(this.previousStyles).forEach(function (prop) {
+            captures[prop] = _this.previousStyles[prop];
+        });
+        if (this.hasStarted()) {
+            // when assembling the captured styles, it's important that
+            // we build the keyframe styles in the following order:
+            // {other styles within keyframes, ... previousStyles }
+            this.keyframes.forEach(function (kf) {
+                Object.keys(kf).forEach(function (prop) {
+                    if (prop != 'offset') {
+                        captures[prop] = _this.__finished ? kf[prop] : AUTO_STYLE;
+                    }
+                });
+            });
+        }
+        this.currentSnapshot = captures;
+    };
+    return MockAnimationPlayer;
+}(NoopAnimationPlayer));
+
+/**
+ * @fileoverview added by tsickle
+ * @suppress {checkTypes} checked by tsc
+ */
+
+/**
+ * @fileoverview added by tsickle
+ * @suppress {checkTypes} checked by tsc
+ */
+/**
+ * @license
+ * Copyright Google Inc. All Rights Reserved.
+ *
+ * Use of this source code is governed by an MIT-style license that can be
+ * found in the LICENSE file at https://angular.io/license
+ */
+/**
+ * @module
+ * @description
+ * Entry point for all public APIs of this package.
+ */
+
+/**
+ * @fileoverview added by tsickle
+ * @suppress {checkTypes} checked by tsc
+ */
+/**
+ * Generated bundle index. Do not edit.
+ */
+
+export { MockAnimationDriver, MockAnimationPlayer };
+//# sourceMappingURL=testing.js.map

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/eec354e6/node_modules/@angular/animations/esm5/browser/testing.js.map
----------------------------------------------------------------------
diff --git a/node_modules/@angular/animations/esm5/browser/testing.js.map b/node_modules/@angular/animations/esm5/browser/testing.js.map
new file mode 100644
index 0000000..ac9c3ad
--- /dev/null
+++ b/node_modules/@angular/animations/esm5/browser/testing.js.map
@@ -0,0 +1 @@
+{"version":3,"file":"testing.js","sources":["../../../../packages/animations/esm5/browser/src/render/shared.js","../../../../packages/animations/esm5/browser/src/util.js","../../../../packages/animations/esm5/browser/testing/src/mock_animation_driver.js","../../../../packages/animations/esm5/browser/testing/src/testing.js","../../../../packages/animations/esm5/browser/testing/public_api.js","../../../../packages/animations/esm5/browser/testing/testing.js"],"sourcesContent":["/**\n * @fileoverview added by tsickle\n * @suppress {checkTypes} checked by tsc\n */\nimport { AUTO_STYLE, NoopAnimationPlayer, ɵAnimationGroupPlayer, ɵPRE_STYLE as PRE_STYLE } from '@angular/animations';\n/**\n * @param {?} players\n * @return {?}\n */\nexport function optimizeGroupPlayer(players) {\n    switch (players.length) {\n        case 0:\n            return new NoopAnimationPlayer();\n        case 1:\n            return players[0];\n        default:\n            return new ɵAnimationGroupPlayer(pla
 yers);\n    }\n}\n/**\n * @param {?} driver\n * @param {?} normalizer\n * @param {?} element\n * @param {?} keyframes\n * @param {?=} preStyles\n * @param {?=} postStyles\n * @return {?}\n */\nexport function normalizeKeyframes(driver, normalizer, element, keyframes, preStyles, postStyles) {\n    if (preStyles === void 0) { preStyles = {}; }\n    if (postStyles === void 0) { postStyles = {}; }\n    var /** @type {?} */ errors = [];\n    var /** @type {?} */ normalizedKeyframes = [];\n    var /** @type {?} */ previousOffset = -1;\n    var /** @type {?} */ previousKeyframe = null;\n    keyframes.forEach(function (kf) {\n        var /** @type {?} */ offset = /** @type {?} */ (kf['offset']);\n        var /** @type {?} */ isSameOffset = offset == previousOffset;\n        var /** @type {?} */ normalizedKeyframe = (isSameOffset && previousKeyframe) || {};\n        Object.keys(kf).forEach(function (prop) {\n            var /** @type {?} */ normalizedProp = prop;\n            var /** @type {
 ?} */ normalizedValue = kf[prop];\n            if (prop !== 'offset') {\n                normalizedProp = normalizer.normalizePropertyName(normalizedProp, errors);\n                switch (normalizedValue) {\n                    case PRE_STYLE:\n                        normalizedValue = preStyles[prop];\n                        break;\n                    case AUTO_STYLE:\n                        normalizedValue = postStyles[prop];\n                        break;\n                    default:\n                        normalizedValue =\n                            normalizer.normalizeStyleValue(prop, normalizedProp, normalizedValue, errors);\n                        break;\n                }\n            }\n            normalizedKeyframe[normalizedProp] = normalizedValue;\n        });\n        if (!isSameOffset) {\n            normalizedKeyframes.push(normalizedKeyframe);\n        }\n        previousKeyframe = normalizedKeyframe;\n        previousOffset = offset;\n    });\n    if (er
 rors.length) {\n        var /** @type {?} */ LINE_START = '\\n - ';\n        throw new Error(\"Unable to animate due to the following errors:\" + LINE_START + errors.join(LINE_START));\n    }\n    return normalizedKeyframes;\n}\n/**\n * @param {?} player\n * @param {?} eventName\n * @param {?} event\n * @param {?} callback\n * @return {?}\n */\nexport function listenOnPlayer(player, eventName, event, callback) {\n    switch (eventName) {\n        case 'start':\n            player.onStart(function () { return callback(event && copyAnimationEvent(event, 'start', player.totalTime)); });\n            break;\n        case 'done':\n            player.onDone(function () { return callback(event && copyAnimationEvent(event, 'done', player.totalTime)); });\n            break;\n        case 'destroy':\n            player.onDestroy(function () { return callback(event && copyAnimationEvent(event, 'destroy', player.totalTime)); });\n            break;\n    }\n}\n/**\n * @param {?} e\n * @param {?
 =} phaseName\n * @param {?=} totalTime\n * @return {?}\n */\nexport function copyAnimationEvent(e, phaseName, totalTime) {\n    var /** @type {?} */ event = makeAnimationEvent(e.element, e.triggerName, e.fromState, e.toState, phaseName || e.phaseName, totalTime == undefined ? e.totalTime : totalTime);\n    var /** @type {?} */ data = (/** @type {?} */ (e))['_data'];\n    if (data != null) {\n        (/** @type {?} */ (event))['_data'] = data;\n    }\n    return event;\n}\n/**\n * @param {?} element\n * @param {?} triggerName\n * @param {?} fromState\n * @param {?} toState\n * @param {?=} phaseName\n * @param {?=} totalTime\n * @return {?}\n */\nexport function makeAnimationEvent(element, triggerName, fromState, toState, phaseName, totalTime) {\n    if (phaseName === void 0) { phaseName = ''; }\n    if (totalTime === void 0) { totalTime = 0; }\n    return { element: element, triggerName: triggerName, fromState: fromState, toState: toState, phaseName: phaseName, totalTime: totalTime }
 ;\n}\n/**\n * @param {?} map\n * @param {?} key\n * @param {?} defaultValue\n * @return {?}\n */\nexport function getOrSetAsInMap(map, key, defaultValue) {\n    var /** @type {?} */ value;\n    if (map instanceof Map) {\n        value = map.get(key);\n        if (!value) {\n            map.set(key, value = defaultValue);\n        }\n    }\n    else {\n        value = map[key];\n        if (!value) {\n            value = map[key] = defaultValue;\n        }\n    }\n    return value;\n}\n/**\n * @param {?} command\n * @return {?}\n */\nexport function parseTimelineCommand(command) {\n    var /** @type {?} */ separatorPos = command.indexOf(':');\n    var /** @type {?} */ id = command.substring(1, separatorPos);\n    var /** @type {?} */ action = command.substr(separatorPos + 1);\n    return [id, action];\n}\nvar /** @type {?} */ _contains = function (elm1, elm2) { return false; };\nvar ɵ0 = _contains;\nvar /** @type {?} */ _matches = function (element, selector) {\n    return false;\n}
 ;\nvar ɵ1 = _matches;\nvar /** @type {?} */ _query = function (element, selector, multi) {\n    return [];\n};\nvar ɵ2 = _query;\nif (typeof Element != 'undefined') {\n    // this is well supported in all browsers\n    _contains = function (elm1, elm2) { return /** @type {?} */ (elm1.contains(elm2)); };\n    if (Element.prototype.matches) {\n        _matches = function (element, selector) { return element.matches(selector); };\n    }\n    else {\n        var /** @type {?} */ proto = /** @type {?} */ (Element.prototype);\n        var /** @type {?} */ fn_1 = proto.matchesSelector || proto.mozMatchesSelector || proto.msMatchesSelector ||\n            proto.oMatchesSelector || proto.webkitMatchesSelector;\n        if (fn_1) {\n            _matches = function (element, selector) { return fn_1.apply(element, [selector]); };\n        }\n    }\n    _query = function (element, selector, multi) {\n        var /** @type {?} */ results = [];\n        if (multi) {\n            results.push.app
 ly(results, element.querySelectorAll(selector));\n        }\n        else {\n            var /** @type {?} */ elm = element.querySelector(selector);\n            if (elm) {\n                results.push(elm);\n            }\n        }\n        return results;\n    };\n}\n/**\n * @param {?} prop\n * @return {?}\n */\nfunction containsVendorPrefix(prop) {\n    // Webkit is the only real popular vendor prefix nowadays\n    // cc: http://shouldiprefix.com/\n    return prop.substring(1, 6) == 'ebkit'; // webkit or Webkit\n}\nvar /** @type {?} */ _CACHED_BODY = null;\nvar /** @type {?} */ _IS_WEBKIT = false;\n/**\n * @param {?} prop\n * @return {?}\n */\nexport function validateStyleProperty(prop) {\n    if (!_CACHED_BODY) {\n        _CACHED_BODY = getBodyNode() || {};\n        _IS_WEBKIT = /** @type {?} */ ((_CACHED_BODY)).style ? ('WebkitAppearance' in /** @type {?} */ ((_CACHED_BODY)).style) : false;\n    }\n    var /** @type {?} */ result = true;\n    if (/** @type {?} */ ((_CACHED_BO
 DY)).style && !containsVendorPrefix(prop)) {\n        result = prop in /** @type {?} */ ((_CACHED_BODY)).style;\n        if (!result && _IS_WEBKIT) {\n            var /** @type {?} */ camelProp = 'Webkit' + prop.charAt(0).toUpperCase() + prop.substr(1);\n            result = camelProp in /** @type {?} */ ((_CACHED_BODY)).style;\n        }\n    }\n    return result;\n}\n/**\n * @return {?}\n */\nexport function getBodyNode() {\n    if (typeof document != 'undefined') {\n        return document.body;\n    }\n    return null;\n}\nexport var /** @type {?} */ matchesElement = _matches;\nexport var /** @type {?} */ containsElement = _contains;\nexport var /** @type {?} */ invokeQuery = _query;\nexport { ɵ0, ɵ1, ɵ2 };\n//# sourceMappingURL=shared.js.map","/**\n * @fileoverview added by tsickle\n * @suppress {checkTypes} checked by tsc\n */\nimport { sequence } from '@angular/animations';\nexport var /** @type {?} */ ONE_SECOND = 1000;\nexport var /** @type {?} */ SUBSTITUTION_EXPR_START
  = '{{';\nexport var /** @type {?} */ SUBSTITUTION_EXPR_END = '}}';\nexport var /** @type {?} */ ENTER_CLASSNAME = 'ng-enter';\nexport var /** @type {?} */ LEAVE_CLASSNAME = 'ng-leave';\nexport var /** @type {?} */ ENTER_SELECTOR = '.ng-enter';\nexport var /** @type {?} */ LEAVE_SELECTOR = '.ng-leave';\nexport var /** @type {?} */ NG_TRIGGER_CLASSNAME = 'ng-trigger';\nexport var /** @type {?} */ NG_TRIGGER_SELECTOR = '.ng-trigger';\nexport var /** @type {?} */ NG_ANIMATING_CLASSNAME = 'ng-animating';\nexport var /** @type {?} */ NG_ANIMATING_SELECTOR = '.ng-animating';\n/**\n * @param {?} value\n * @return {?}\n */\nexport function resolveTimingValue(value) {\n    if (typeof value == 'number')\n        return value;\n    var /** @type {?} */ matches = (/** @type {?} */ (value)).match(/^(-?[\\.\\d]+)(m?s)/);\n    if (!matches || matches.length < 2)\n        return 0;\n    return _convertTimeValueToMS(parseFloat(matches[1]), matches[2]);\n}\n/**\n * @param {?} value\n * @param {?} uni
 t\n * @return {?}\n */\nfunction _convertTimeValueToMS(value, unit) {\n    switch (unit) {\n        case 's':\n            return value * ONE_SECOND;\n        default:\n            // ms or something else\n            return value;\n    }\n}\n/**\n * @param {?} timings\n * @param {?} errors\n * @param {?=} allowNegativeValues\n * @return {?}\n */\nexport function resolveTiming(timings, errors, allowNegativeValues) {\n    return timings.hasOwnProperty('duration') ? /** @type {?} */ (timings) :\n        parseTimeExpression(/** @type {?} */ (timings), errors, allowNegativeValues);\n}\n/**\n * @param {?} exp\n * @param {?} errors\n * @param {?=} allowNegativeValues\n * @return {?}\n */\nfunction parseTimeExpression(exp, errors, allowNegativeValues) {\n    var /** @type {?} */ regex = /^(-?[\\.\\d]+)(m?s)(?:\\s+(-?[\\.\\d]+)(m?s))?(?:\\s+([-a-z]+(?:\\(.+?\\))?))?$/i;\n    var /** @type {?} */ duration;\n    var /** @type {?} */ delay = 0;\n    var /** @type {?} */ easing = '';\n    if (t
 ypeof exp === 'string') {\n        var /** @type {?} */ matches = exp.match(regex);\n        if (matches === null) {\n            errors.push(\"The provided timing value \\\"\" + exp + \"\\\" is invalid.\");\n            return { duration: 0, delay: 0, easing: '' };\n        }\n        duration = _convertTimeValueToMS(parseFloat(matches[1]), matches[2]);\n        var /** @type {?} */ delayMatch = matches[3];\n        if (delayMatch != null) {\n            delay = _convertTimeValueToMS(Math.floor(parseFloat(delayMatch)), matches[4]);\n        }\n        var /** @type {?} */ easingVal = matches[5];\n        if (easingVal) {\n            easing = easingVal;\n        }\n    }\n    else {\n        duration = /** @type {?} */ (exp);\n    }\n    if (!allowNegativeValues) {\n        var /** @type {?} */ containsErrors = false;\n        var /** @type {?} */ startIndex = errors.length;\n        if (duration < 0) {\n            errors.push(\"Duration values below 0 are not allowed for this ani
 mation step.\");\n            containsErrors = true;\n        }\n        if (delay < 0) {\n            errors.push(\"Delay values below 0 are not allowed for this animation step.\");\n            containsErrors = true;\n        }\n        if (containsErrors) {\n            errors.splice(startIndex, 0, \"The provided timing value \\\"\" + exp + \"\\\" is invalid.\");\n        }\n    }\n    return { duration: duration, delay: delay, easing: easing };\n}\n/**\n * @param {?} obj\n * @param {?=} destination\n * @return {?}\n */\nexport function copyObj(obj, destination) {\n    if (destination === void 0) { destination = {}; }\n    Object.keys(obj).forEach(function (prop) { destination[prop] = obj[prop]; });\n    return destination;\n}\n/**\n * @param {?} styles\n * @return {?}\n */\nexport function normalizeStyles(styles) {\n    var /** @type {?} */ normalizedStyles = {};\n    if (Array.isArray(styles)) {\n        styles.forEach(function (data) { return copyStyles(data, false, normalized
 Styles); });\n    }\n    else {\n        copyStyles(styles, false, normalizedStyles);\n    }\n    return normalizedStyles;\n}\n/**\n * @param {?} styles\n * @param {?} readPrototype\n * @param {?=} destination\n * @return {?}\n */\nexport function copyStyles(styles, readPrototype, destination) {\n    if (destination === void 0) { destination = {}; }\n    if (readPrototype) {\n        // we make use of a for-in loop so that the\n        // prototypically inherited properties are\n        // revealed from the backFill map\n        for (var /** @type {?} */ prop in styles) {\n            destination[prop] = styles[prop];\n        }\n    }\n    else {\n        copyObj(styles, destination);\n    }\n    return destination;\n}\n/**\n * @param {?} element\n * @param {?} styles\n * @return {?}\n */\nexport function setStyles(element, styles) {\n    if (element['style']) {\n        Object.keys(styles).forEach(function (prop) {\n            var /** @type {?} */ camelProp = dashCaseToCamelCase(
 prop);\n            element.style[camelProp] = styles[prop];\n        });\n    }\n}\n/**\n * @param {?} element\n * @param {?} styles\n * @return {?}\n */\nexport function eraseStyles(element, styles) {\n    if (element['style']) {\n        Object.keys(styles).forEach(function (prop) {\n            var /** @type {?} */ camelProp = dashCaseToCamelCase(prop);\n            element.style[camelProp] = '';\n        });\n    }\n}\n/**\n * @param {?} steps\n * @return {?}\n */\nexport function normalizeAnimationEntry(steps) {\n    if (Array.isArray(steps)) {\n        if (steps.length == 1)\n            return steps[0];\n        return sequence(steps);\n    }\n    return /** @type {?} */ (steps);\n}\n/**\n * @param {?} value\n * @param {?} options\n * @param {?} errors\n * @return {?}\n */\nexport function validateStyleParams(value, options, errors) {\n    var /** @type {?} */ params = options.params || {};\n    var /** @type {?} */ matches = extractStyleParams(value);\n    if (matches.lengt
 h) {\n        matches.forEach(function (varName) {\n            if (!params.hasOwnProperty(varName)) {\n                errors.push(\"Unable to resolve the local animation param \" + varName + \" in the given list of values\");\n            }\n        });\n    }\n}\nvar /** @type {?} */ PARAM_REGEX = new RegExp(SUBSTITUTION_EXPR_START + \"\\\\s*(.+?)\\\\s*\" + SUBSTITUTION_EXPR_END, 'g');\n/**\n * @param {?} value\n * @return {?}\n */\nexport function extractStyleParams(value) {\n    var /** @type {?} */ params = [];\n    if (typeof value === 'string') {\n        var /** @type {?} */ val = value.toString();\n        var /** @type {?} */ match = void 0;\n        while (match = PARAM_REGEX.exec(val)) {\n            params.push(/** @type {?} */ (match[1]));\n        }\n        PARAM_REGEX.lastIndex = 0;\n    }\n    return params;\n}\n/**\n * @param {?} value\n * @param {?} params\n * @param {?} errors\n * @return {?}\n */\nexport function interpolateParams(value, params, errors) {\n   
  var /** @type {?} */ original = value.toString();\n    var /** @type {?} */ str = original.replace(PARAM_REGEX, function (_, varName) {\n        var /** @type {?} */ localVal = params[varName];\n        // this means that the value was never overidden by the data passed in by the user\n        if (!params.hasOwnProperty(varName)) {\n            errors.push(\"Please provide a value for the animation param \" + varName);\n            localVal = '';\n        }\n        return localVal.toString();\n    });\n    // we do this to assert that numeric values stay as they are\n    return str == original ? value : str;\n}\n/**\n * @param {?} iterator\n * @return {?}\n */\nexport function iteratorToArray(iterator) {\n    var /** @type {?} */ arr = [];\n    var /** @type {?} */ item = iterator.next();\n    while (!item.done) {\n        arr.push(item.value);\n        item = iterator.next();\n    }\n    return arr;\n}\n/**\n * @param {?} source\n * @param {?} destination\n * @return {?}\n */\nex
 port function mergeAnimationOptions(source, destination) {\n    if (source.params) {\n        var /** @type {?} */ p0_1 = source.params;\n        if (!destination.params) {\n            destination.params = {};\n        }\n        var /** @type {?} */ p1_1 = destination.params;\n        Object.keys(p0_1).forEach(function (param) {\n            if (!p1_1.hasOwnProperty(param)) {\n                p1_1[param] = p0_1[param];\n            }\n        });\n    }\n    return destination;\n}\nvar /** @type {?} */ DASH_CASE_REGEXP = /-+([a-z0-9])/g;\n/**\n * @param {?} input\n * @return {?}\n */\nexport function dashCaseToCamelCase(input) {\n    return input.replace(DASH_CASE_REGEXP, function () {\n        var m = [];\n        for (var _i = 0; _i < arguments.length; _i++) {\n            m[_i] = arguments[_i];\n        }\n        return m[1].toUpperCase();\n    });\n}\n/**\n * @param {?} duration\n * @param {?} delay\n * @return {?}\n */\nexport function allowPreviousPlayerStylesMerge(duration
 , delay) {\n    return duration === 0 || delay === 0;\n}\n/**\n * @param {?} visitor\n * @param {?} node\n * @param {?} context\n * @return {?}\n */\nexport function visitDslNode(visitor, node, context) {\n    switch (node.type) {\n        case 7 /* Trigger */:\n            return visitor.visitTrigger(node, context);\n        case 0 /* State */:\n            return visitor.visitState(node, context);\n        case 1 /* Transition */:\n            return visitor.visitTransition(node, context);\n        case 2 /* Sequence */:\n            return visitor.visitSequence(node, context);\n        case 3 /* Group */:\n            return visitor.visitGroup(node, context);\n        case 4 /* Animate */:\n            return visitor.visitAnimate(node, context);\n        case 5 /* Keyframes */:\n            return visitor.visitKeyframes(node, context);\n        case 6 /* Style */:\n            return visitor.visitStyle(node, context);\n        case 8 /* Reference */:\n            return visitor.v
 isitReference(node, context);\n        case 9 /* AnimateChild */:\n            return visitor.visitAnimateChild(node, context);\n        case 10 /* AnimateRef */:\n            return visitor.visitAnimateRef(node, context);\n        case 11 /* Query */:\n            return visitor.visitQuery(node, context);\n        case 12 /* Stagger */:\n            return visitor.visitStagger(node, context);\n        default:\n            throw new Error(\"Unable to resolve animation metadata node #\" + node.type);\n    }\n}\n//# sourceMappingURL=util.js.map","/**\n * @fileoverview added by tsickle\n * @suppress {checkTypes} checked by tsc\n */\nimport * as tslib_1 from \"tslib\";\nimport { AUTO_STYLE, NoopAnimationPlayer } from '@angular/animations';\nimport { containsElement, invokeQuery, matchesElement, validateStyleProperty } from '../../src/render/shared';\nimport { allowPreviousPlayerStylesMerge } from '../../src/util';\n/**\n * \\@experimental Animation support is experimental.\n */\nvar Mo
 ckAnimationDriver = /** @class */ (function () {\n    function MockAnimationDriver() {\n    }\n    /**\n     * @param {?} prop\n     * @return {?}\n     */\n    MockAnimationDriver.prototype.validateStyleProperty = /**\n     * @param {?} prop\n     * @return {?}\n     */\n    function (prop) { return validateStyleProperty(prop); };\n    /**\n     * @param {?} element\n     * @param {?} selector\n     * @return {?}\n     */\n    MockAnimationDriver.prototype.matchesElement = /**\n     * @param {?} element\n     * @param {?} selector\n     * @return {?}\n     */\n    function (element, selector) {\n        return matchesElement(element, selector);\n    };\n    /**\n     * @param {?} elm1\n     * @param {?} elm2\n     * @return {?}\n     */\n    MockAnimationDriver.prototype.containsElement = /**\n     * @param {?} elm1\n     * @param {?} elm2\n     * @return {?}\n     */\n    function (elm1, elm2) { return containsElement(elm1, elm2); };\n    /**\n     * @param {?} element\n     * @pa
 ram {?} selector\n     * @param {?} multi\n     * @return {?}\n     */\n    MockAnimationDriver.prototype.query = /**\n     * @param {?} element\n     * @param {?} selector\n     * @param {?} multi\n     * @return {?}\n     */\n    function (element, selector, multi) {\n        return invokeQuery(element, selector, multi);\n    };\n    /**\n     * @param {?} element\n     * @param {?} prop\n     * @param {?=} defaultValue\n     * @return {?}\n     */\n    MockAnimationDriver.prototype.computeStyle = /**\n     * @param {?} element\n     * @param {?} prop\n     * @param {?=} defaultValue\n     * @return {?}\n     */\n    function (element, prop, defaultValue) {\n        return defaultValue || '';\n    };\n    /**\n     * @param {?} element\n     * @param {?} keyframes\n     * @param {?} duration\n     * @param {?} delay\n     * @param {?} easing\n     * @param {?=} previousPlayers\n     * @return {?}\n     */\n    MockAnimationDriver.prototype.animate = /**\n     * @param {?} element\
 n     * @param {?} keyframes\n     * @param {?} duration\n     * @param {?} delay\n     * @param {?} easing\n     * @param {?=} previousPlayers\n     * @return {?}\n     */\n    function (element, keyframes, duration, delay, easing, previousPlayers) {\n        if (previousPlayers === void 0) { previousPlayers = []; }\n        var /** @type {?} */ player = new MockAnimationPlayer(element, keyframes, duration, delay, easing, previousPlayers);\n        MockAnimationDriver.log.push(/** @type {?} */ (player));\n        return player;\n    };\n    MockAnimationDriver.log = [];\n    return MockAnimationDriver;\n}());\nexport { MockAnimationDriver };\nfunction MockAnimationDriver_tsickle_Closure_declarations() {\n    /** @type {?} */\n    MockAnimationDriver.log;\n}\n/**\n * \\@experimental Animation support is experimental.\n */\nvar /**\n * \\@experimental Animation support is experimental.\n */\nMockAnimationPlayer = /** @class */ (function (_super) {\n    tslib_1.__extends(MockAnimation
 Player, _super);\n    function MockAnimationPlayer(element, keyframes, duration, delay, easing, previousPlayers) {\n        var _this = _super.call(this) || this;\n        _this.element = element;\n        _this.keyframes = keyframes;\n        _this.duration = duration;\n        _this.delay = delay;\n        _this.easing = easing;\n        _this.previousPlayers = previousPlayers;\n        _this.__finished = false;\n        _this.__started = false;\n        _this.previousStyles = {};\n        _this._onInitFns = [];\n        _this.currentSnapshot = {};\n        if (allowPreviousPlayerStylesMerge(duration, delay)) {\n            previousPlayers.forEach(function (player) {\n                if (player instanceof MockAnimationPlayer) {\n                    var /** @type {?} */ styles_1 = player.currentSnapshot;\n                    Object.keys(styles_1).forEach(function (prop) { return _this.previousStyles[prop] = styles_1[prop]; });\n                }\n            });\n        }\n       
  _this.totalTime = delay + duration;\n        return _this;\n    }\n    /* @internal */\n    /**\n     * @param {?} fn\n     * @return {?}\n     */\n    MockAnimationPlayer.prototype.onInit = /**\n     * @param {?} fn\n     * @return {?}\n     */\n    function (fn) { this._onInitFns.push(fn); };\n    /* @internal */\n    /**\n     * @return {?}\n     */\n    MockAnimationPlayer.prototype.init = /**\n     * @return {?}\n     */\n    function () {\n        _super.prototype.init.call(this);\n        this._onInitFns.forEach(function (fn) { return fn(); });\n        this._onInitFns = [];\n    };\n    /**\n     * @return {?}\n     */\n    MockAnimationPlayer.prototype.finish = /**\n     * @return {?}\n     */\n    function () {\n        _super.prototype.finish.call(this);\n        this.__finished = true;\n    };\n    /**\n     * @return {?}\n     */\n    MockAnimationPlayer.prototype.destroy = /**\n     * @return {?}\n     */\n    function () {\n        _super.prototype.destroy.call(this)
 ;\n        this.__finished = true;\n    };\n    /* @internal */\n    /**\n     * @return {?}\n     */\n    MockAnimationPlayer.prototype.triggerMicrotask = /**\n     * @return {?}\n     */\n    function () { };\n    /**\n     * @return {?}\n     */\n    MockAnimationPlayer.prototype.play = /**\n     * @return {?}\n     */\n    function () {\n        _super.prototype.play.call(this);\n        this.__started = true;\n    };\n    /**\n     * @return {?}\n     */\n    MockAnimationPlayer.prototype.hasStarted = /**\n     * @return {?}\n     */\n    function () { return this.__started; };\n    /**\n     * @return {?}\n     */\n    MockAnimationPlayer.prototype.beforeDestroy = /**\n     * @return {?}\n     */\n    function () {\n        var _this = this;\n        var /** @type {?} */ captures = {};\n        Object.keys(this.previousStyles).forEach(function (prop) {\n            captures[prop] = _this.previousStyles[prop];\n        });\n        if (this.hasStarted()) {\n            // when 
 assembling the captured styles, it's important that\n            // we build the keyframe styles in the following order:\n            // {other styles within keyframes, ... previousStyles }\n            this.keyframes.forEach(function (kf) {\n                Object.keys(kf).forEach(function (prop) {\n                    if (prop != 'offset') {\n                        captures[prop] = _this.__finished ? kf[prop] : AUTO_STYLE;\n                    }\n                });\n            });\n        }\n        this.currentSnapshot = captures;\n    };\n    return MockAnimationPlayer;\n}(NoopAnimationPlayer));\n/**\n * \\@experimental Animation support is experimental.\n */\nexport { MockAnimationPlayer };\nfunction MockAnimationPlayer_tsickle_Closure_declarations() {\n    /** @type {?} */\n    MockAnimationPlayer.prototype.__finished;\n    /** @type {?} */\n    MockAnimationPlayer.prototype.__started;\n    /** @type {?} */\n    MockAnimationPlayer.prototype.previousStyles;\n    /** @type 
 {?} */\n    MockAnimationPlayer.prototype._onInitFns;\n    /** @type {?} */\n    MockAnimationPlayer.prototype.currentSnapshot;\n    /** @type {?} */\n    MockAnimationPlayer.prototype.element;\n    /** @type {?} */\n    MockAnimationPlayer.prototype.keyframes;\n    /** @type {?} */\n    MockAnimationPlayer.prototype.duration;\n    /** @type {?} */\n    MockAnimationPlayer.prototype.delay;\n    /** @type {?} */\n    MockAnimationPlayer.prototype.easing;\n    /** @type {?} */\n    MockAnimationPlayer.prototype.previousPlayers;\n}\n//# sourceMappingURL=mock_animation_driver.js.map","/**\n * @fileoverview added by tsickle\n * @suppress {checkTypes} checked by tsc\n */\nexport { MockAnimationDriver, MockAnimationPlayer } from './mock_animation_driver';\n//# sourceMappingURL=testing.js.map","/**\n * @fileoverview added by tsickle\n * @suppress {checkTypes} checked by tsc\n */\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by a
 n MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n/**\n * @module\n * @description\n * Entry point for all public APIs of this package.\n */\nexport { MockAnimationDriver, MockAnimationPlayer } from './src/testing';\n//# sourceMappingURL=public_api.js.map","/**\n * @fileoverview added by tsickle\n * @suppress {checkTypes} checked by tsc\n */\n/**\n * Generated bundle index. Do not edit.\n */\nexport { MockAnimationDriver, MockAnimationPlayer } from './public_api';\n//# sourceMappingURL=testing.js.map"],"names":["tslib_1.__extends"],"mappings":"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"}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/eec354e6/node_modules/@angular/animations/package.json
----------------------------------------------------------------------
diff --git a/node_modules/@angular/animations/package.json b/node_modules/@angular/animations/package.json
new file mode 100644
index 0000000..237b732
--- /dev/null
+++ b/node_modules/@angular/animations/package.json
@@ -0,0 +1,56 @@
+{
+  "_args": [
+    [
+      "@angular/animations@5.2.0",
+      "/Users/scottyaslan/Development/nifi-fds/target"
+    ]
+  ],
+  "_from": "@angular/animations@5.2.0",
+  "_id": "@angular/animations@5.2.0",
+  "_inBundle": false,
+  "_integrity": "sha512-JLR42YHiJppO4ruAkFxgbzghUDtHkXHkKPM8udd2qyt16T7e1OX7EEOrrmldUu59CC56tZnJ/32p4SrYmxyBSA==",
+  "_location": "/@angular/animations",
+  "_phantomChildren": {},
+  "_requested": {
+    "type": "version",
+    "registry": true,
+    "raw": "@angular/animations@5.2.0",
+    "name": "@angular/animations",
+    "escapedName": "@angular%2fanimations",
+    "scope": "@angular",
+    "rawSpec": "5.2.0",
+    "saveSpec": null,
+    "fetchSpec": "5.2.0"
+  },
+  "_requiredBy": [
+    "/"
+  ],
+  "_resolved": "https://registry.npmjs.org/@angular/animations/-/animations-5.2.0.tgz",
+  "_spec": "5.2.0",
+  "_where": "/Users/scottyaslan/Development/nifi-fds/target",
+  "author": {
+    "name": "angular"
+  },
+  "bugs": {
+    "url": "https://github.com/angular/angular/issues"
+  },
+  "dependencies": {
+    "tslib": "^1.7.1"
+  },
+  "description": "Angular - animations integration with web-animationss",
+  "es2015": "./esm2015/animations.js",
+  "homepage": "https://github.com/angular/angular#readme",
+  "license": "MIT",
+  "main": "./bundles/animations.umd.js",
+  "module": "./esm5/animations.js",
+  "name": "@angular/animations",
+  "peerDependencies": {
+    "@angular/core": "5.2.0"
+  },
+  "repository": {
+    "type": "git",
+    "url": "git+https://github.com/angular/angular.git"
+  },
+  "typings": "./animations.d.ts",
+  "version": "5.2.0"
+}

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/eec354e6/node_modules/@angular/animations/public_api.d.ts
----------------------------------------------------------------------
diff --git a/node_modules/@angular/animations/public_api.d.ts b/node_modules/@angular/animations/public_api.d.ts
new file mode 100644
index 0000000..47ea1d3
--- /dev/null
+++ b/node_modules/@angular/animations/public_api.d.ts
@@ -0,0 +1,13 @@
+/**
+ * @license
+ * Copyright Google Inc. All Rights Reserved.
+ *
+ * Use of this source code is governed by an MIT-style license that can be
+ * found in the LICENSE file at https://angular.io/license
+ */
+/**
+ * @module
+ * @description
+ * Entry point for all public APIs of this package.
+ */
+export * from './src/animations';

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/eec354e6/node_modules/@angular/cdk/LICENSE
----------------------------------------------------------------------
diff --git a/node_modules/@angular/cdk/LICENSE b/node_modules/@angular/cdk/LICENSE
new file mode 100644
index 0000000..f3aca7b
--- /dev/null
+++ b/node_modules/@angular/cdk/LICENSE
@@ -0,0 +1,21 @@
+The MIT License
+
+Copyright (c) 2018 Google LLC.
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+THE SOFTWARE.

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/eec354e6/node_modules/@angular/cdk/README.md
----------------------------------------------------------------------
diff --git a/node_modules/@angular/cdk/README.md b/node_modules/@angular/cdk/README.md
new file mode 100644
index 0000000..19fce67
--- /dev/null
+++ b/node_modules/@angular/cdk/README.md
@@ -0,0 +1,6 @@
+Angular Material
+=======
+
+The sources for this package are in the main [Angular Material](https://github.com/angular/material2) repo. Please file issues and pull requests against that repo.
+
+License: MIT
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/eec354e6/node_modules/@angular/cdk/_a11y.scss
----------------------------------------------------------------------
diff --git a/node_modules/@angular/cdk/_a11y.scss b/node_modules/@angular/cdk/_a11y.scss
new file mode 100644
index 0000000..2e67669
--- /dev/null
+++ b/node_modules/@angular/cdk/_a11y.scss
@@ -0,0 +1,30 @@
+@mixin cdk-a11y {
+  .cdk-visually-hidden {
+    border: 0;
+    clip: rect(0 0 0 0);
+    height: 1px;
+    margin: -1px;
+    overflow: hidden;
+    padding: 0;
+    position: absolute;
+    width: 1px;
+
+    // Avoid browsers rendering the focus ring in some cases.
+    outline: 0;
+
+    // Avoid some cases where the browser will still render the native controls (see #9049).
+    -webkit-appearance: none;
+    -moz-appearance: none;
+  }
+}
+
+/**
+ * Applies styles for users in high contrast mode. Note that this only applies
+ * to Microsoft browsers. Chrome can be included by checking for the `html[hc]`
+ * attribute, however Chrome handles high contrast differently.
+ */
+@mixin cdk-high-contrast {
+  @media screen and (-ms-high-contrast: active) {
+    @content;
+  }
+}

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/eec354e6/node_modules/@angular/cdk/_overlay.scss
----------------------------------------------------------------------
diff --git a/node_modules/@angular/cdk/_overlay.scss b/node_modules/@angular/cdk/_overlay.scss
new file mode 100644
index 0000000..44287a8
--- /dev/null
+++ b/node_modules/@angular/cdk/_overlay.scss
@@ -0,0 +1,99 @@
+// We want overlays to always appear over user content, so set a baseline
+// very high z-index for the overlay container, which is where we create the new
+// stacking context for all overlays.
+$cdk-z-index-overlay-container: 1000;
+$cdk-z-index-overlay: 1000;
+$cdk-z-index-overlay-backdrop: 1000;
+
+// Background color for all of the backdrops
+$cdk-overlay-dark-backdrop-background: rgba(0, 0, 0, 0.288);
+
+// Default backdrop animation is based on the Material Design swift-ease-out.
+$backdrop-animation-duration: 400ms !default;
+$backdrop-animation-timing-function: cubic-bezier(0.25, 0.8, 0.25, 1) !default;
+
+
+@mixin cdk-overlay() {
+  .cdk-overlay-container, .cdk-global-overlay-wrapper {
+    // Disable events from being captured on the overlay container.
+    pointer-events: none;
+
+    // The container should be the size of the viewport.
+    top: 0;
+    left: 0;
+    height: 100%;
+    width: 100%;
+  }
+
+  // The overlay-container is an invisible element which contains all individual overlays.
+  .cdk-overlay-container {
+    position: fixed;
+    z-index: $cdk-z-index-overlay-container;
+  }
+
+  // We use an extra wrapper element in order to use make the overlay itself a flex item.
+  // This makes centering the overlay easy without running into the subpixel rendering
+  // problems tied to using `transform` and without interfering with the other position
+  // strategies.
+  .cdk-global-overlay-wrapper {
+    display: flex;
+    position: absolute;
+    z-index: $cdk-z-index-overlay;
+  }
+
+  // A single overlay pane.
+  .cdk-overlay-pane {
+    position: absolute;
+    pointer-events: auto;
+    box-sizing: border-box;
+    z-index: $cdk-z-index-overlay;
+  }
+
+  .cdk-overlay-backdrop {
+    // TODO(jelbourn): reuse sidenav fullscreen mixin.
+    position: absolute;
+    top: 0;
+    bottom: 0;
+    left: 0;
+    right: 0;
+
+    z-index: $cdk-z-index-overlay-backdrop;
+    pointer-events: auto;
+    -webkit-tap-highlight-color: transparent;
+    transition: opacity $backdrop-animation-duration $backdrop-animation-timing-function;
+    opacity: 0;
+
+    &.cdk-overlay-backdrop-showing {
+      opacity: 1;
+    }
+  }
+
+  .cdk-overlay-dark-backdrop {
+    background: $cdk-overlay-dark-backdrop-background;
+  }
+
+  .cdk-overlay-transparent-backdrop {
+    // Note: as of Firefox 57, having the backdrop be `background: none` will prevent it from
+    // capturing the user's mouse scroll events. Since we also can't use something like
+    // `rgba(0, 0, 0, 0)`, we work around the inconsistency by not setting the background at
+    // all and using `opacity` to make the element transparent.
+    &, &.cdk-overlay-backdrop-showing {
+      opacity: 0;
+    }
+  }
+
+  // Used when disabling global scrolling.
+  .cdk-global-scrollblock {
+    position: fixed;
+
+    // Necessary for the content not to lose its width. Note that we're using 100%, instead of
+    // 100vw, because 100vw includes the width plus the scrollbar, whereas 100% is the width
+    // that the element had before we made it `fixed`.
+    width: 100%;
+
+    // Note: this will always add a scrollbar to whatever element it is on, which can
+    // potentially result in double scrollbars. It shouldn't be an issue, because we won't
+    // block scrolling on a page that doesn't have a scrollbar in the first place.
+    overflow-y: scroll;
+  }
+}

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/eec354e6/node_modules/@angular/cdk/a11y-prebuilt.css
----------------------------------------------------------------------
diff --git a/node_modules/@angular/cdk/a11y-prebuilt.css b/node_modules/@angular/cdk/a11y-prebuilt.css
new file mode 100644
index 0000000..e23a21d
--- /dev/null
+++ b/node_modules/@angular/cdk/a11y-prebuilt.css
@@ -0,0 +1 @@
+.cdk-visually-hidden{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;outline:0;-webkit-appearance:none;-moz-appearance:none}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/eec354e6/node_modules/@angular/cdk/a11y.d.ts
----------------------------------------------------------------------
diff --git a/node_modules/@angular/cdk/a11y.d.ts b/node_modules/@angular/cdk/a11y.d.ts
new file mode 100644
index 0000000..11b20cb
--- /dev/null
+++ b/node_modules/@angular/cdk/a11y.d.ts
@@ -0,0 +1,8 @@
+/**
+ * @license
+ * Copyright Google LLC All Rights Reserved.
+ *
+ * Use of this source code is governed by an MIT-style license that can be
+ * found in the LICENSE file at https://angular.io/license
+ */
+export * from './a11y/index';

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/eec354e6/node_modules/@angular/cdk/a11y.metadata.json
----------------------------------------------------------------------
diff --git a/node_modules/@angular/cdk/a11y.metadata.json b/node_modules/@angular/cdk/a11y.metadata.json
new file mode 100644
index 0000000..90c7d2b
--- /dev/null
+++ b/node_modules/@angular/cdk/a11y.metadata.json
@@ -0,0 +1,12 @@
+{
+  "__symbolic": "module",
+  "version": 3,
+  "metadata": {},
+  "exports": [
+    {
+      "from": "./a11y/index"
+    }
+  ],
+  "flatModuleIndexRedirect": true,
+  "importAs": "@angular/cdk/a11y"
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/eec354e6/node_modules/@angular/cdk/a11y/index.d.ts
----------------------------------------------------------------------
diff --git a/node_modules/@angular/cdk/a11y/index.d.ts b/node_modules/@angular/cdk/a11y/index.d.ts
new file mode 100644
index 0000000..1faa623
--- /dev/null
+++ b/node_modules/@angular/cdk/a11y/index.d.ts
@@ -0,0 +1,8 @@
+/**
+ * @license
+ * Copyright Google LLC All Rights Reserved.
+ *
+ * Use of this source code is governed by an MIT-style license that can be
+ * found in the LICENSE file at https://angular.io/license
+ */
+export * from './typings/index';

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/eec354e6/node_modules/@angular/cdk/a11y/index.metadata.json
----------------------------------------------------------------------
diff --git a/node_modules/@angular/cdk/a11y/index.metadata.json b/node_modules/@angular/cdk/a11y/index.metadata.json
new file mode 100644
index 0000000..c0d17e5
--- /dev/null
+++ b/node_modules/@angular/cdk/a11y/index.metadata.json
@@ -0,0 +1,12 @@
+{
+  "__symbolic": "module",
+  "version": 3,
+  "metadata": {},
+  "exports": [
+    {
+      "from": "./typings/index"
+    }
+  ],
+  "flatModuleIndexRedirect": true,
+  "importAs": "@angular/cdk/a11y"
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/eec354e6/node_modules/@angular/cdk/a11y/package.json
----------------------------------------------------------------------
diff --git a/node_modules/@angular/cdk/a11y/package.json b/node_modules/@angular/cdk/a11y/package.json
new file mode 100644
index 0000000..07200cd
--- /dev/null
+++ b/node_modules/@angular/cdk/a11y/package.json
@@ -0,0 +1,7 @@
+{
+  "name": "@angular/cdk/a11y",
+  "typings": "../a11y.d.ts",
+  "main": "../bundles/cdk-a11y.umd.js",
+  "module": "../esm5/a11y.es5.js",
+  "es2015": "../esm2015/a11y.js"
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/eec354e6/node_modules/@angular/cdk/a11y/typings/a11y-module.d.ts
----------------------------------------------------------------------
diff --git a/node_modules/@angular/cdk/a11y/typings/a11y-module.d.ts b/node_modules/@angular/cdk/a11y/typings/a11y-module.d.ts
new file mode 100644
index 0000000..8d39e03
--- /dev/null
+++ b/node_modules/@angular/cdk/a11y/typings/a11y-module.d.ts
@@ -0,0 +1,2 @@
+export declare class A11yModule {
+}

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/eec354e6/node_modules/@angular/cdk/a11y/typings/aria-describer/aria-describer.d.ts
----------------------------------------------------------------------
diff --git a/node_modules/@angular/cdk/a11y/typings/aria-describer/aria-describer.d.ts b/node_modules/@angular/cdk/a11y/typings/aria-describer/aria-describer.d.ts
new file mode 100644
index 0000000..66abe45
--- /dev/null
+++ b/node_modules/@angular/cdk/a11y/typings/aria-describer/aria-describer.d.ts
@@ -0,0 +1,77 @@
+/**
+ * @license
+ * Copyright Google LLC All Rights Reserved.
+ *
+ * Use of this source code is governed by an MIT-style license that can be
+ * found in the LICENSE file at https://angular.io/license
+ */
+import { InjectionToken, Optional } from '@angular/core';
+/**
+ * Interface used to register message elements and keep a count of how many registrations have
+ * the same message and the reference to the message element used for the `aria-describedby`.
+ */
+export interface RegisteredMessage {
+    /** The element containing the message. */
+    messageElement: Element;
+    /** The number of elements that reference this message element via `aria-describedby`. */
+    referenceCount: number;
+}
+/** ID used for the body container where all messages are appended. */
+export declare const MESSAGES_CONTAINER_ID = "cdk-describedby-message-container";
+/** ID prefix used for each created message element. */
+export declare const CDK_DESCRIBEDBY_ID_PREFIX = "cdk-describedby-message";
+/** Attribute given to each host element that is described by a message element. */
+export declare const CDK_DESCRIBEDBY_HOST_ATTRIBUTE = "cdk-describedby-host";
+/**
+ * Utility that creates visually hidden elements with a message content. Useful for elements that
+ * want to use aria-describedby to further describe themselves without adding additional visual
+ * content.
+ * @docs-private
+ */
+export declare class AriaDescriber {
+    private _document;
+    constructor(_document: any);
+    /**
+     * Adds to the host element an aria-describedby reference to a hidden element that contains
+     * the message. If the same message has already been registered, then it will reuse the created
+     * message element.
+     */
+    describe(hostElement: Element, message: string): void;
+    /** Removes the host element's aria-describedby reference to the message element. */
+    removeDescription(hostElement: Element, message: string): void;
+    /** Unregisters all created message elements and removes the message container. */
+    ngOnDestroy(): void;
+    /**
+     * Creates a new element in the visually hidden message container element with the message
+     * as its content and adds it to the message registry.
+     */
+    private _createMessageElement(message);
+    /** Deletes the message element from the global messages container. */
+    private _deleteMessageElement(message);
+    /** Creates the global container for all aria-describedby messages. */
+    private _createMessagesContainer();
+    /** Deletes the global messages container. */
+    private _deleteMessagesContainer();
+    /** Removes all cdk-describedby messages that are hosted through the element. */
+    private _removeCdkDescribedByReferenceIds(element);
+    /**
+     * Adds a message reference to the element using aria-describedby and increments the registered
+     * message's reference count.
+     */
+    private _addMessageReference(element, message);
+    /**
+     * Removes a message reference from the element using aria-describedby
+     * and decrements the registered message's reference count.
+     */
+    private _removeMessageReference(element, message);
+    /** Returns true if the element has been described by the provided message ID. */
+    private _isElementDescribedByMessage(element, message);
+}
+/** @docs-private */
+export declare function ARIA_DESCRIBER_PROVIDER_FACTORY(parentDispatcher: AriaDescriber, _document: any): AriaDescriber;
+/** @docs-private */
+export declare const ARIA_DESCRIBER_PROVIDER: {
+    provide: typeof AriaDescriber;
+    deps: (Optional[] | InjectionToken<any>)[];
+    useFactory: (parentDispatcher: AriaDescriber, _document: any) => AriaDescriber;
+};

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/eec354e6/node_modules/@angular/cdk/a11y/typings/aria-describer/aria-reference.d.ts
----------------------------------------------------------------------
diff --git a/node_modules/@angular/cdk/a11y/typings/aria-describer/aria-reference.d.ts b/node_modules/@angular/cdk/a11y/typings/aria-describer/aria-reference.d.ts
new file mode 100644
index 0000000..3e39404
--- /dev/null
+++ b/node_modules/@angular/cdk/a11y/typings/aria-describer/aria-reference.d.ts
@@ -0,0 +1,15 @@
+/**
+ * Adds the given ID to the specified ARIA attribute on an element.
+ * Used for attributes such as aria-labelledby, aria-owns, etc.
+ */
+export declare function addAriaReferencedId(el: Element, attr: string, id: string): void;
+/**
+ * Removes the given ID from the specified ARIA attribute on an element.
+ * Used for attributes such as aria-labelledby, aria-owns, etc.
+ */
+export declare function removeAriaReferencedId(el: Element, attr: string, id: string): void;
+/**
+ * Gets the list of IDs referenced by the given ARIA attribute on an element.
+ * Used for attributes such as aria-labelledby, aria-owns, etc.
+ */
+export declare function getAriaReferenceIds(el: Element, attr: string): string[];

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/eec354e6/node_modules/@angular/cdk/a11y/typings/fake-mousedown.d.ts
----------------------------------------------------------------------
diff --git a/node_modules/@angular/cdk/a11y/typings/fake-mousedown.d.ts b/node_modules/@angular/cdk/a11y/typings/fake-mousedown.d.ts
new file mode 100644
index 0000000..6cacbbd
--- /dev/null
+++ b/node_modules/@angular/cdk/a11y/typings/fake-mousedown.d.ts
@@ -0,0 +1,15 @@
+/**
+ * @license
+ * Copyright Google LLC All Rights Reserved.
+ *
+ * Use of this source code is governed by an MIT-style license that can be
+ * found in the LICENSE file at https://angular.io/license
+ */
+/**
+ * Screenreaders will often fire fake mousedown events when a focusable element
+ * is activated using the keyboard. We can typically distinguish between these faked
+ * mousedown events and real mousedown events using the "buttons" property. While
+ * real mousedowns will indicate the mouse button that was pressed (e.g. "1" for
+ * the left mouse button), faked mousedowns will usually set the property value to 0.
+ */
+export declare function isFakeMousedownFromScreenReader(event: MouseEvent): boolean;

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/eec354e6/node_modules/@angular/cdk/a11y/typings/focus-monitor/focus-monitor.d.ts
----------------------------------------------------------------------
diff --git a/node_modules/@angular/cdk/a11y/typings/focus-monitor/focus-monitor.d.ts b/node_modules/@angular/cdk/a11y/typings/focus-monitor/focus-monitor.d.ts
new file mode 100644
index 0000000..c5d6598
--- /dev/null
+++ b/node_modules/@angular/cdk/a11y/typings/focus-monitor/focus-monitor.d.ts
@@ -0,0 +1,123 @@
+/**
+ * @license
+ * Copyright Google LLC All Rights Reserved.
+ *
+ * Use of this source code is governed by an MIT-style license that can be
+ * found in the LICENSE file at https://angular.io/license
+ */
+import { Platform } from '@angular/cdk/platform';
+import { ElementRef, EventEmitter, NgZone, OnDestroy, Optional, Renderer2 } from '@angular/core';
+import { Observable } from 'rxjs/Observable';
+export declare const TOUCH_BUFFER_MS = 650;
+export declare type FocusOrigin = 'touch' | 'mouse' | 'keyboard' | 'program' | null;
+/** Monitors mouse and keyboard events to determine the cause of focus events. */
+export declare class FocusMonitor implements OnDestroy {
+    private _ngZone;
+    private _platform;
+    /** The focus origin that the next focus event is a result of. */
+    private _origin;
+    /** The FocusOrigin of the last focus event tracked by the FocusMonitor. */
+    private _lastFocusOrigin;
+    /** Whether the window has just been focused. */
+    private _windowFocused;
+    /** The target of the last touch event. */
+    private _lastTouchTarget;
+    /** The timeout id of the touch timeout, used to cancel timeout later. */
+    private _touchTimeoutId;
+    /** The timeout id of the window focus timeout. */
+    private _windowFocusTimeoutId;
+    /** The timeout id of the origin clearing timeout. */
+    private _originTimeoutId;
+    /** Map of elements being monitored to their info. */
+    private _elementInfo;
+    /** A map of global objects to lists of current listeners. */
+    private _unregisterGlobalListeners;
+    /** The number of elements currently being monitored. */
+    private _monitoredElementCount;
+    constructor(_ngZone: NgZone, _platform: Platform);
+    /**
+     * @docs-private
+     * @deprecated renderer param no longer needed.
+     * @deletion-target 6.0.0
+     */
+    monitor(element: HTMLElement, renderer: Renderer2, checkChildren: boolean): Observable<FocusOrigin>;
+    /**
+     * Monitors focus on an element and applies appropriate CSS classes.
+     * @param element The element to monitor
+     * @param checkChildren Whether to count the element as focused when its children are focused.
+     * @returns An observable that emits when the focus state of the element changes.
+     *     When the element is blurred, null will be emitted.
+     */
+    monitor(element: HTMLElement, checkChildren?: boolean): Observable<FocusOrigin>;
+    /**
+     * Stops monitoring an element and removes all focus classes.
+     * @param element The element to stop monitoring.
+     */
+    stopMonitoring(element: HTMLElement): void;
+    /**
+     * Focuses the element via the specified focus origin.
+     * @param element The element to focus.
+     * @param origin The focus origin.
+     */
+    focusVia(element: HTMLElement, origin: FocusOrigin): void;
+    ngOnDestroy(): void;
+    /** Register necessary event listeners on the document and window. */
+    private _registerGlobalListeners();
+    private _toggleClass(element, className, shouldSet);
+    /**
+     * Sets the focus classes on the element based on the given focus origin.
+     * @param element The element to update the classes on.
+     * @param origin The focus origin.
+     */
+    private _setClasses(element, origin?);
+    /**
+     * Sets the origin and schedules an async function to clear it at the end of the event queue.
+     * @param origin The origin to set.
+     */
+    private _setOriginForCurrentEventQueue(origin);
+    /**
+     * Checks whether the given focus event was caused by a touchstart event.
+     * @param event The focus event to check.
+     * @returns Whether the event was caused by a touch.
+     */
+    private _wasCausedByTouch(event);
+    /**
+     * Handles focus events on a registered element.
+     * @param event The focus event.
+     * @param element The monitored element.
+     */
+    private _onFocus(event, element);
+    /**
+     * Handles blur events on a registered element.
+     * @param event The blur event.
+     * @param element The monitored element.
+     */
+    _onBlur(event: FocusEvent, element: HTMLElement): void;
+    private _incrementMonitoredElementCount();
+    private _decrementMonitoredElementCount();
+}
+/**
+ * Directive that determines how a particular element was focused (via keyboard, mouse, touch, or
+ * programmatically) and adds corresponding classes to the element.
+ *
+ * There are two variants of this directive:
+ * 1) cdkMonitorElementFocus: does not consider an element to be focused if one of its children is
+ *    focused.
+ * 2) cdkMonitorSubtreeFocus: considers an element focused if it or any of its children are focused.
+ */
+export declare class CdkMonitorFocus implements OnDestroy {
+    private _elementRef;
+    private _focusMonitor;
+    private _monitorSubscription;
+    cdkFocusChange: EventEmitter<FocusOrigin>;
+    constructor(_elementRef: ElementRef, _focusMonitor: FocusMonitor);
+    ngOnDestroy(): void;
+}
+/** @docs-private */
+export declare function FOCUS_MONITOR_PROVIDER_FACTORY(parentDispatcher: FocusMonitor, ngZone: NgZone, platform: Platform): FocusMonitor;
+/** @docs-private */
+export declare const FOCUS_MONITOR_PROVIDER: {
+    provide: typeof FocusMonitor;
+    deps: (Optional[] | typeof NgZone | typeof Platform)[];
+    useFactory: (parentDispatcher: FocusMonitor, ngZone: NgZone, platform: Platform) => FocusMonitor;
+};

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/eec354e6/node_modules/@angular/cdk/a11y/typings/focus-trap/focus-trap.d.ts
----------------------------------------------------------------------
diff --git a/node_modules/@angular/cdk/a11y/typings/focus-trap/focus-trap.d.ts b/node_modules/@angular/cdk/a11y/typings/focus-trap/focus-trap.d.ts
new file mode 100644
index 0000000..c30cf31
--- /dev/null
+++ b/node_modules/@angular/cdk/a11y/typings/focus-trap/focus-trap.d.ts
@@ -0,0 +1,137 @@
+/**
+ * @license
+ * Copyright Google LLC All Rights Reserved.
+ *
+ * Use of this source code is governed by an MIT-style license that can be
+ * found in the LICENSE file at https://angular.io/license
+ */
+import { ElementRef, NgZone, OnDestroy, AfterContentInit } from '@angular/core';
+import { InteractivityChecker } from '../interactivity-checker/interactivity-checker';
+/**
+ * Class that allows for trapping focus within a DOM element.
+ *
+ * This class currently uses a relatively simple approach to focus trapping.
+ * It assumes that the tab order is the same as DOM order, which is not necessarily true.
+ * Things like `tabIndex > 0`, flex `order`, and shadow roots can cause to two to misalign.
+ */
+export declare class FocusTrap {
+    private _element;
+    private _checker;
+    private _ngZone;
+    private _document;
+    private _startAnchor;
+    private _endAnchor;
+    /** Whether the focus trap is active. */
+    enabled: boolean;
+    private _enabled;
+    constructor(_element: HTMLElement, _checker: InteractivityChecker, _ngZone: NgZone, _document: Document, deferAnchors?: boolean);
+    /** Destroys the focus trap by cleaning up the anchors. */
+    destroy(): void;
+    /**
+     * Inserts the anchors into the DOM. This is usually done automatically
+     * in the constructor, but can be deferred for cases like directives with `*ngIf`.
+     */
+    attachAnchors(): void;
+    /**
+     * Waits for the zone to stabilize, then either focuses the first element that the
+     * user specified, or the first tabbable element.
+     * @returns Returns a promise that resolves with a boolean, depending
+     * on whether focus was moved successfuly.
+     */
+    focusInitialElementWhenReady(): Promise<boolean>;
+    /**
+     * Waits for the zone to stabilize, then focuses
+     * the first tabbable element within the focus trap region.
+     * @returns Returns a promise that resolves with a boolean, depending
+     * on whether focus was moved successfuly.
+     */
+    focusFirstTabbableElementWhenReady(): Promise<boolean>;
+    /**
+     * Waits for the zone to stabilize, then focuses
+     * the last tabbable element within the focus trap region.
+     * @returns Returns a promise that resolves with a boolean, depending
+     * on whether focus was moved successfuly.
+     */
+    focusLastTabbableElementWhenReady(): Promise<boolean>;
+    /**
+     * Get the specified boundary element of the trapped region.
+     * @param bound The boundary to get (start or end of trapped region).
+     * @returns The boundary element.
+     */
+    private _getRegionBoundary(bound);
+    /**
+     * Focuses the element that should be focused when the focus trap is initialized.
+     * @returns Whether focus was moved successfuly.
+     */
+    focusInitialElement(): boolean;
+    /**
+     * Focuses the first tabbable element within the focus trap region.
+     * @returns Whether focus was moved successfuly.
+     */
+    focusFirstTabbableElement(): boolean;
+    /**
+     * Focuses the last tabbable element within the focus trap region.
+     * @returns Whether focus was moved successfuly.
+     */
+    focusLastTabbableElement(): boolean;
+    /** Get the first tabbable element from a DOM subtree (inclusive). */
+    private _getFirstTabbableElement(root);
+    /** Get the last tabbable element from a DOM subtree (inclusive). */
+    private _getLastTabbableElement(root);
+    /** Creates an anchor element. */
+    private _createAnchor();
+    /** Executes a function when the zone is stable. */
+    private _executeOnStable(fn);
+}
+/** Factory that allows easy instantiation of focus traps. */
+export declare class FocusTrapFactory {
+    private _checker;
+    private _ngZone;
+    private _document;
+    constructor(_checker: InteractivityChecker, _ngZone: NgZone, _document: any);
+    /**
+     * Creates a focus-trapped region around the given element.
+     * @param element The element around which focus will be trapped.
+     * @param deferCaptureElements Defers the creation of focus-capturing elements to be done
+     *     manually by the user.
+     * @returns The created focus trap instance.
+     */
+    create(element: HTMLElement, deferCaptureElements?: boolean): FocusTrap;
+}
+/**
+ * Directive for trapping focus within a region.
+ * @docs-private
+ * @deprecated
+ * @deletion-target 6.0.0
+ */
+export declare class FocusTrapDeprecatedDirective implements OnDestroy, AfterContentInit {
+    private _elementRef;
+    private _focusTrapFactory;
+    focusTrap: FocusTrap;
+    /** Whether the focus trap is active. */
+    disabled: boolean;
+    constructor(_elementRef: ElementRef, _focusTrapFactory: FocusTrapFactory);
+    ngOnDestroy(): void;
+    ngAfterContentInit(): void;
+}
+/** Directive for trapping focus within a region. */
+export declare class CdkTrapFocus implements OnDestroy, AfterContentInit {
+    private _elementRef;
+    private _focusTrapFactory;
+    private _document;
+    /** Underlying FocusTrap instance. */
+    focusTrap: FocusTrap;
+    /** Previously focused element to restore focus to upon destroy when using autoCapture. */
+    private _previouslyFocusedElement;
+    /** Whether the focus trap is active. */
+    enabled: boolean;
+    /**
+     * Whether the directive should automatially move focus into the trapped region upon
+     * initialization and return focus to the previous activeElement upon destruction.
+     */
+    autoCapture: boolean;
+    private _autoCapture;
+    constructor(_elementRef: ElementRef, _focusTrapFactory: FocusTrapFactory, _document: any);
+    ngOnDestroy(): void;
+    ngAfterContentInit(): void;
+}

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/eec354e6/node_modules/@angular/cdk/a11y/typings/index.d.ts
----------------------------------------------------------------------
diff --git a/node_modules/@angular/cdk/a11y/typings/index.d.ts b/node_modules/@angular/cdk/a11y/typings/index.d.ts
new file mode 100644
index 0000000..e5daacf
--- /dev/null
+++ b/node_modules/@angular/cdk/a11y/typings/index.d.ts
@@ -0,0 +1,4 @@
+/**
+ * Generated bundle index. Do not edit.
+ */
+export * from './public-api';


[33/59] [abbrv] [partial] nifi-fds git commit: update gh-pages

Posted by sc...@apache.org.
http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/eec354e6/node_modules/@angular/animations/esm2015/browser.js.map
----------------------------------------------------------------------
diff --git a/node_modules/@angular/animations/esm2015/browser.js.map b/node_modules/@angular/animations/esm2015/browser.js.map
new file mode 100644
index 0000000..6470106
--- /dev/null
+++ b/node_modules/@angular/animations/esm2015/browser.js.map
@@ -0,0 +1 @@
+{"version":3,"file":"browser.js","sources":["../../../packages/animations/browser/src/render/shared.js","../../../packages/animations/browser/src/render/animation_driver.js","../../../packages/animations/browser/src/util.js","../../../packages/animations/browser/src/dsl/animation_transition_expr.js","../../../packages/animations/browser/src/dsl/animation_ast_builder.js","../../../packages/animations/browser/src/dsl/animation_timeline_instruction.js","../../../packages/animations/browser/src/dsl/element_instruction_map.js","../../../packages/animations/browser/src/dsl/animation_timeline_builder.js","../../../packages/animations/browser/src/dsl/animation.js","../../../packages/animations/browser/src/dsl/style_normalization/animation_style_normalizer.js","../../../packages/animations/browser/src/dsl/style_normalization/web_animations_style_normalizer.js","../../../packages/animations/browser/src/dsl/animation_transition_instruction.js","../../../packages/animations/browser/src/dsl/anim
 ation_transition_factory.js","../../../packages/animations/browser/src/dsl/animation_trigger.js","../../../packages/animations/browser/src/render/timeline_animation_engine.js","../../../packages/animations/browser/src/render/transition_animation_engine.js","../../../packages/animations/browser/src/render/animation_engine_next.js","../../../packages/animations/browser/src/render/web_animations/web_animations_player.js","../../../packages/animations/browser/src/render/web_animations/web_animations_driver.js","../../../packages/animations/browser/src/private_export.js","../../../packages/animations/browser/src/browser.js","../../../packages/animations/browser/public_api.js","../../../packages/animations/browser/browser.js"],"sourcesContent":["/**\n * @fileoverview added by tsickle\n * @suppress {checkTypes} checked by tsc\n */\nimport { AUTO_STYLE, NoopAnimationPlayer, ɵAnimationGroupPlayer, ɵPRE_STYLE as PRE_STYLE } from '@angular/animations';\n/**\n * @param {?} players\n * @return
  {?}\n */\nexport function optimizeGroupPlayer(players) {\n    switch (players.length) {\n        case 0:\n            return new NoopAnimationPlayer();\n        case 1:\n            return players[0];\n        default:\n            return new ɵAnimationGroupPlayer(players);\n    }\n}\n/**\n * @param {?} driver\n * @param {?} normalizer\n * @param {?} element\n * @param {?} keyframes\n * @param {?=} preStyles\n * @param {?=} postStyles\n * @return {?}\n */\nexport function normalizeKeyframes(driver, normalizer, element, keyframes, preStyles = {}, postStyles = {}) {\n    const /** @type {?} */ errors = [];\n    const /** @type {?} */ normalizedKeyframes = [];\n    let /** @type {?} */ previousOffset = -1;\n    let /** @type {?} */ previousKeyframe = null;\n    keyframes.forEach(kf => {\n        const /** @type {?} */ offset = /** @type {?} */ (kf['offset']);\n        const /** @type {?} */ isSameOffset = offset == previousOffset;\n        const /** @type {?} */ normalizedKeyframe = 
 (isSameOffset && previousKeyframe) || {};\n        Object.keys(kf).forEach(prop => {\n            let /** @type {?} */ normalizedProp = prop;\n            let /** @type {?} */ normalizedValue = kf[prop];\n            if (prop !== 'offset') {\n                normalizedProp = normalizer.normalizePropertyName(normalizedProp, errors);\n                switch (normalizedValue) {\n                    case PRE_STYLE:\n                        normalizedValue = preStyles[prop];\n                        break;\n                    case AUTO_STYLE:\n                        normalizedValue = postStyles[prop];\n                        break;\n                    default:\n                        normalizedValue =\n                            normalizer.normalizeStyleValue(prop, normalizedProp, normalizedValue, errors);\n                        break;\n                }\n            }\n            normalizedKeyframe[normalizedProp] = normalizedValue;\n        });\n        if (!isSameOffset) {\n 
            normalizedKeyframes.push(normalizedKeyframe);\n        }\n        previousKeyframe = normalizedKeyframe;\n        previousOffset = offset;\n    });\n    if (errors.length) {\n        const /** @type {?} */ LINE_START = '\\n - ';\n        throw new Error(`Unable to animate due to the following errors:${LINE_START}${errors.join(LINE_START)}`);\n    }\n    return normalizedKeyframes;\n}\n/**\n * @param {?} player\n * @param {?} eventName\n * @param {?} event\n * @param {?} callback\n * @return {?}\n */\nexport function listenOnPlayer(player, eventName, event, callback) {\n    switch (eventName) {\n        case 'start':\n            player.onStart(() => callback(event && copyAnimationEvent(event, 'start', player.totalTime)));\n            break;\n        case 'done':\n            player.onDone(() => callback(event && copyAnimationEvent(event, 'done', player.totalTime)));\n            break;\n        case 'destroy':\n            player.onDestroy(() => callback(event && copyAni
 mationEvent(event, 'destroy', player.totalTime)));\n            break;\n    }\n}\n/**\n * @param {?} e\n * @param {?=} phaseName\n * @param {?=} totalTime\n * @return {?}\n */\nexport function copyAnimationEvent(e, phaseName, totalTime) {\n    const /** @type {?} */ event = makeAnimationEvent(e.element, e.triggerName, e.fromState, e.toState, phaseName || e.phaseName, totalTime == undefined ? e.totalTime : totalTime);\n    const /** @type {?} */ data = (/** @type {?} */ (e))['_data'];\n    if (data != null) {\n        (/** @type {?} */ (event))['_data'] = data;\n    }\n    return event;\n}\n/**\n * @param {?} element\n * @param {?} triggerName\n * @param {?} fromState\n * @param {?} toState\n * @param {?=} phaseName\n * @param {?=} totalTime\n * @return {?}\n */\nexport function makeAnimationEvent(element, triggerName, fromState, toState, phaseName = '', totalTime = 0) {\n    return { element, triggerName, fromState, toState, phaseName, totalTime };\n}\n/**\n * @param {?} map\n * @pa
 ram {?} key\n * @param {?} defaultValue\n * @return {?}\n */\nexport function getOrSetAsInMap(map, key, defaultValue) {\n    let /** @type {?} */ value;\n    if (map instanceof Map) {\n        value = map.get(key);\n        if (!value) {\n            map.set(key, value = defaultValue);\n        }\n    }\n    else {\n        value = map[key];\n        if (!value) {\n            value = map[key] = defaultValue;\n        }\n    }\n    return value;\n}\n/**\n * @param {?} command\n * @return {?}\n */\nexport function parseTimelineCommand(command) {\n    const /** @type {?} */ separatorPos = command.indexOf(':');\n    const /** @type {?} */ id = command.substring(1, separatorPos);\n    const /** @type {?} */ action = command.substr(separatorPos + 1);\n    return [id, action];\n}\nlet /** @type {?} */ _contains = (elm1, elm2) => false;\nconst ɵ0 = _contains;\nlet /** @type {?} */ _matches = (element, selector) => false;\nconst ɵ1 = _matches;\nlet /** @type {?} */ _query = (element, sele
 ctor, multi) => {\n    return [];\n};\nconst ɵ2 = _query;\nif (typeof Element != 'undefined') {\n    // this is well supported in all browsers\n    _contains = (elm1, elm2) => { return /** @type {?} */ (elm1.contains(elm2)); };\n    if (Element.prototype.matches) {\n        _matches = (element, selector) => element.matches(selector);\n    }\n    else {\n        const /** @type {?} */ proto = /** @type {?} */ (Element.prototype);\n        const /** @type {?} */ fn = proto.matchesSelector || proto.mozMatchesSelector || proto.msMatchesSelector ||\n            proto.oMatchesSelector || proto.webkitMatchesSelector;\n        if (fn) {\n            _matches = (element, selector) => fn.apply(element, [selector]);\n        }\n    }\n    _query = (element, selector, multi) => {\n        let /** @type {?} */ results = [];\n        if (multi) {\n            results.push(...element.querySelectorAll(selector));\n        }\n        else {\n            const /** @type {?} */ elm = element.querySel
 ector(selector);\n            if (elm) {\n                results.push(elm);\n            }\n        }\n        return results;\n    };\n}\n/**\n * @param {?} prop\n * @return {?}\n */\nfunction containsVendorPrefix(prop) {\n    // Webkit is the only real popular vendor prefix nowadays\n    // cc: http://shouldiprefix.com/\n    return prop.substring(1, 6) == 'ebkit'; // webkit or Webkit\n}\nlet /** @type {?} */ _CACHED_BODY = null;\nlet /** @type {?} */ _IS_WEBKIT = false;\n/**\n * @param {?} prop\n * @return {?}\n */\nexport function validateStyleProperty(prop) {\n    if (!_CACHED_BODY) {\n        _CACHED_BODY = getBodyNode() || {};\n        _IS_WEBKIT = /** @type {?} */ ((_CACHED_BODY)).style ? ('WebkitAppearance' in /** @type {?} */ ((_CACHED_BODY)).style) : false;\n    }\n    let /** @type {?} */ result = true;\n    if (/** @type {?} */ ((_CACHED_BODY)).style && !containsVendorPrefix(prop)) {\n        result = prop in /** @type {?} */ ((_CACHED_BODY)).style;\n        if (!result
  && _IS_WEBKIT) {\n            const /** @type {?} */ camelProp = 'Webkit' + prop.charAt(0).toUpperCase() + prop.substr(1);\n            result = camelProp in /** @type {?} */ ((_CACHED_BODY)).style;\n        }\n    }\n    return result;\n}\n/**\n * @return {?}\n */\nexport function getBodyNode() {\n    if (typeof document != 'undefined') {\n        return document.body;\n    }\n    return null;\n}\nexport const /** @type {?} */ matchesElement = _matches;\nexport const /** @type {?} */ containsElement = _contains;\nexport const /** @type {?} */ invokeQuery = _query;\nexport { ɵ0, ɵ1, ɵ2 };\n//# sourceMappingURL=shared.js.map","/**\n * @fileoverview added by tsickle\n * @suppress {checkTypes} checked by tsc\n */\nimport { NoopAnimationPlayer } from '@angular/animations';\nimport { containsElement, invokeQuery, matchesElement, validateStyleProperty } from './shared';\n/**\n * \\@experimental\n */\nexport class NoopAnimationDriver {\n    /**\n     * @param {?} prop\n     * @return {
 ?}\n     */\n    validateStyleProperty(prop) { return validateStyleProperty(prop); }\n    /**\n     * @param {?} element\n     * @param {?} selector\n     * @return {?}\n     */\n    matchesElement(element, selector) {\n        return matchesElement(element, selector);\n    }\n    /**\n     * @param {?} elm1\n     * @param {?} elm2\n     * @return {?}\n     */\n    containsElement(elm1, elm2) { return containsElement(elm1, elm2); }\n    /**\n     * @param {?} element\n     * @param {?} selector\n     * @param {?} multi\n     * @return {?}\n     */\n    query(element, selector, multi) {\n        return invokeQuery(element, selector, multi);\n    }\n    /**\n     * @param {?} element\n     * @param {?} prop\n     * @param {?=} defaultValue\n     * @return {?}\n     */\n    computeStyle(element, prop, defaultValue) {\n        return defaultValue || '';\n    }\n    /**\n     * @param {?} element\n     * @param {?} keyframes\n     * @param {?} duration\n     * @param {?} delay\n     * @p
 aram {?} easing\n     * @param {?=} previousPlayers\n     * @return {?}\n     */\n    animate(element, keyframes, duration, delay, easing, previousPlayers = []) {\n        return new NoopAnimationPlayer();\n    }\n}\n/**\n * \\@experimental\n * @abstract\n */\nexport class AnimationDriver {\n}\nAnimationDriver.NOOP = new NoopAnimationDriver();\nfunction AnimationDriver_tsickle_Closure_declarations() {\n    /** @type {?} */\n    AnimationDriver.NOOP;\n    /**\n     * @abstract\n     * @param {?} prop\n     * @return {?}\n     */\n    AnimationDriver.prototype.validateStyleProperty = function (prop) { };\n    /**\n     * @abstract\n     * @param {?} element\n     * @param {?} selector\n     * @return {?}\n     */\n    AnimationDriver.prototype.matchesElement = function (element, selector) { };\n    /**\n     * @abstract\n     * @param {?} elm1\n     * @param {?} elm2\n     * @return {?}\n     */\n    AnimationDriver.prototype.containsElement = function (elm1, elm2) { };\n    /**\n    
  * @abstract\n     * @param {?} element\n     * @param {?} selector\n     * @param {?} multi\n     * @return {?}\n     */\n    AnimationDriver.prototype.query = function (element, selector, multi) { };\n    /**\n     * @abstract\n     * @param {?} element\n     * @param {?} prop\n     * @param {?=} defaultValue\n     * @return {?}\n     */\n    AnimationDriver.prototype.computeStyle = function (element, prop, defaultValue) { };\n    /**\n     * @abstract\n     * @param {?} element\n     * @param {?} keyframes\n     * @param {?} duration\n     * @param {?} delay\n     * @param {?=} easing\n     * @param {?=} previousPlayers\n     * @return {?}\n     */\n    AnimationDriver.prototype.animate = function (element, keyframes, duration, delay, easing, previousPlayers) { };\n}\n//# sourceMappingURL=animation_driver.js.map","/**\n * @fileoverview added by tsickle\n * @suppress {checkTypes} checked by tsc\n */\nimport { sequence } from '@angular/animations';\nexport const /** @type {?} */ ON
 E_SECOND = 1000;\nexport const /** @type {?} */ SUBSTITUTION_EXPR_START = '{{';\nexport const /** @type {?} */ SUBSTITUTION_EXPR_END = '}}';\nexport const /** @type {?} */ ENTER_CLASSNAME = 'ng-enter';\nexport const /** @type {?} */ LEAVE_CLASSNAME = 'ng-leave';\nexport const /** @type {?} */ ENTER_SELECTOR = '.ng-enter';\nexport const /** @type {?} */ LEAVE_SELECTOR = '.ng-leave';\nexport const /** @type {?} */ NG_TRIGGER_CLASSNAME = 'ng-trigger';\nexport const /** @type {?} */ NG_TRIGGER_SELECTOR = '.ng-trigger';\nexport const /** @type {?} */ NG_ANIMATING_CLASSNAME = 'ng-animating';\nexport const /** @type {?} */ NG_ANIMATING_SELECTOR = '.ng-animating';\n/**\n * @param {?} value\n * @return {?}\n */\nexport function resolveTimingValue(value) {\n    if (typeof value == 'number')\n        return value;\n    const /** @type {?} */ matches = (/** @type {?} */ (value)).match(/^(-?[\\.\\d]+)(m?s)/);\n    if (!matches || matches.length < 2)\n        return 0;\n    return _convertTimeVal
 ueToMS(parseFloat(matches[1]), matches[2]);\n}\n/**\n * @param {?} value\n * @param {?} unit\n * @return {?}\n */\nfunction _convertTimeValueToMS(value, unit) {\n    switch (unit) {\n        case 's':\n            return value * ONE_SECOND;\n        default:\n            // ms or something else\n            return value;\n    }\n}\n/**\n * @param {?} timings\n * @param {?} errors\n * @param {?=} allowNegativeValues\n * @return {?}\n */\nexport function resolveTiming(timings, errors, allowNegativeValues) {\n    return timings.hasOwnProperty('duration') ? /** @type {?} */ (timings) :\n        parseTimeExpression(/** @type {?} */ (timings), errors, allowNegativeValues);\n}\n/**\n * @param {?} exp\n * @param {?} errors\n * @param {?=} allowNegativeValues\n * @return {?}\n */\nfunction parseTimeExpression(exp, errors, allowNegativeValues) {\n    const /** @type {?} */ regex = /^(-?[\\.\\d]+)(m?s)(?:\\s+(-?[\\.\\d]+)(m?s))?(?:\\s+([-a-z]+(?:\\(.+?\\))?))?$/i;\n    let /** @type {?} */ dur
 ation;\n    let /** @type {?} */ delay = 0;\n    let /** @type {?} */ easing = '';\n    if (typeof exp === 'string') {\n        const /** @type {?} */ matches = exp.match(regex);\n        if (matches === null) {\n            errors.push(`The provided timing value \"${exp}\" is invalid.`);\n            return { duration: 0, delay: 0, easing: '' };\n        }\n        duration = _convertTimeValueToMS(parseFloat(matches[1]), matches[2]);\n        const /** @type {?} */ delayMatch = matches[3];\n        if (delayMatch != null) {\n            delay = _convertTimeValueToMS(Math.floor(parseFloat(delayMatch)), matches[4]);\n        }\n        const /** @type {?} */ easingVal = matches[5];\n        if (easingVal) {\n            easing = easingVal;\n        }\n    }\n    else {\n        duration = /** @type {?} */ (exp);\n    }\n    if (!allowNegativeValues) {\n        let /** @type {?} */ containsErrors = false;\n        let /** @type {?} */ startIndex = errors.length;\n        if (duration 
 < 0) {\n            errors.push(`Duration values below 0 are not allowed for this animation step.`);\n            containsErrors = true;\n        }\n        if (delay < 0) {\n            errors.push(`Delay values below 0 are not allowed for this animation step.`);\n            containsErrors = true;\n        }\n        if (containsErrors) {\n            errors.splice(startIndex, 0, `The provided timing value \"${exp}\" is invalid.`);\n        }\n    }\n    return { duration, delay, easing };\n}\n/**\n * @param {?} obj\n * @param {?=} destination\n * @return {?}\n */\nexport function copyObj(obj, destination = {}) {\n    Object.keys(obj).forEach(prop => { destination[prop] = obj[prop]; });\n    return destination;\n}\n/**\n * @param {?} styles\n * @return {?}\n */\nexport function normalizeStyles(styles) {\n    const /** @type {?} */ normalizedStyles = {};\n    if (Array.isArray(styles)) {\n        styles.forEach(data => copyStyles(data, false, normalizedStyles));\n    }\n    else {\
 n        copyStyles(styles, false, normalizedStyles);\n    }\n    return normalizedStyles;\n}\n/**\n * @param {?} styles\n * @param {?} readPrototype\n * @param {?=} destination\n * @return {?}\n */\nexport function copyStyles(styles, readPrototype, destination = {}) {\n    if (readPrototype) {\n        // we make use of a for-in loop so that the\n        // prototypically inherited properties are\n        // revealed from the backFill map\n        for (let /** @type {?} */ prop in styles) {\n            destination[prop] = styles[prop];\n        }\n    }\n    else {\n        copyObj(styles, destination);\n    }\n    return destination;\n}\n/**\n * @param {?} element\n * @param {?} styles\n * @return {?}\n */\nexport function setStyles(element, styles) {\n    if (element['style']) {\n        Object.keys(styles).forEach(prop => {\n            const /** @type {?} */ camelProp = dashCaseToCamelCase(prop);\n            element.style[camelProp] = styles[prop];\n        });\n    }\n}\n/**
 \n * @param {?} element\n * @param {?} styles\n * @return {?}\n */\nexport function eraseStyles(element, styles) {\n    if (element['style']) {\n        Object.keys(styles).forEach(prop => {\n            const /** @type {?} */ camelProp = dashCaseToCamelCase(prop);\n            element.style[camelProp] = '';\n        });\n    }\n}\n/**\n * @param {?} steps\n * @return {?}\n */\nexport function normalizeAnimationEntry(steps) {\n    if (Array.isArray(steps)) {\n        if (steps.length == 1)\n            return steps[0];\n        return sequence(steps);\n    }\n    return /** @type {?} */ (steps);\n}\n/**\n * @param {?} value\n * @param {?} options\n * @param {?} errors\n * @return {?}\n */\nexport function validateStyleParams(value, options, errors) {\n    const /** @type {?} */ params = options.params || {};\n    const /** @type {?} */ matches = extractStyleParams(value);\n    if (matches.length) {\n        matches.forEach(varName => {\n            if (!params.hasOwnProperty(varName
 )) {\n                errors.push(`Unable to resolve the local animation param ${varName} in the given list of values`);\n            }\n        });\n    }\n}\nconst /** @type {?} */ PARAM_REGEX = new RegExp(`${SUBSTITUTION_EXPR_START}\\\\s*(.+?)\\\\s*${SUBSTITUTION_EXPR_END}`, 'g');\n/**\n * @param {?} value\n * @return {?}\n */\nexport function extractStyleParams(value) {\n    let /** @type {?} */ params = [];\n    if (typeof value === 'string') {\n        const /** @type {?} */ val = value.toString();\n        let /** @type {?} */ match;\n        while (match = PARAM_REGEX.exec(val)) {\n            params.push(/** @type {?} */ (match[1]));\n        }\n        PARAM_REGEX.lastIndex = 0;\n    }\n    return params;\n}\n/**\n * @param {?} value\n * @param {?} params\n * @param {?} errors\n * @return {?}\n */\nexport function interpolateParams(value, params, errors) {\n    const /** @type {?} */ original = value.toString();\n    const /** @type {?} */ str = original.replace(PARAM_REGE
 X, (_, varName) => {\n        let /** @type {?} */ localVal = params[varName];\n        // this means that the value was never overidden by the data passed in by the user\n        if (!params.hasOwnProperty(varName)) {\n            errors.push(`Please provide a value for the animation param ${varName}`);\n            localVal = '';\n        }\n        return localVal.toString();\n    });\n    // we do this to assert that numeric values stay as they are\n    return str == original ? value : str;\n}\n/**\n * @param {?} iterator\n * @return {?}\n */\nexport function iteratorToArray(iterator) {\n    const /** @type {?} */ arr = [];\n    let /** @type {?} */ item = iterator.next();\n    while (!item.done) {\n        arr.push(item.value);\n        item = iterator.next();\n    }\n    return arr;\n}\n/**\n * @param {?} source\n * @param {?} destination\n * @return {?}\n */\nexport function mergeAnimationOptions(source, destination) {\n    if (source.params) {\n        const /** @type {?} */
  p0 = source.params;\n        if (!destination.params) {\n            destination.params = {};\n        }\n        const /** @type {?} */ p1 = destination.params;\n        Object.keys(p0).forEach(param => {\n            if (!p1.hasOwnProperty(param)) {\n                p1[param] = p0[param];\n            }\n        });\n    }\n    return destination;\n}\nconst /** @type {?} */ DASH_CASE_REGEXP = /-+([a-z0-9])/g;\n/**\n * @param {?} input\n * @return {?}\n */\nexport function dashCaseToCamelCase(input) {\n    return input.replace(DASH_CASE_REGEXP, (...m) => m[1].toUpperCase());\n}\n/**\n * @param {?} duration\n * @param {?} delay\n * @return {?}\n */\nexport function allowPreviousPlayerStylesMerge(duration, delay) {\n    return duration === 0 || delay === 0;\n}\n/**\n * @param {?} visitor\n * @param {?} node\n * @param {?} context\n * @return {?}\n */\nexport function visitDslNode(visitor, node, context) {\n    switch (node.type) {\n        case 7 /* Trigger */:\n            return v
 isitor.visitTrigger(node, context);\n        case 0 /* State */:\n            return visitor.visitState(node, context);\n        case 1 /* Transition */:\n            return visitor.visitTransition(node, context);\n        case 2 /* Sequence */:\n            return visitor.visitSequence(node, context);\n        case 3 /* Group */:\n            return visitor.visitGroup(node, context);\n        case 4 /* Animate */:\n            return visitor.visitAnimate(node, context);\n        case 5 /* Keyframes */:\n            return visitor.visitKeyframes(node, context);\n        case 6 /* Style */:\n            return visitor.visitStyle(node, context);\n        case 8 /* Reference */:\n            return visitor.visitReference(node, context);\n        case 9 /* AnimateChild */:\n            return visitor.visitAnimateChild(node, context);\n        case 10 /* AnimateRef */:\n            return visitor.visitAnimateRef(node, context);\n        case 11 /* Query */:\n            return visitor.vi
 sitQuery(node, context);\n        case 12 /* Stagger */:\n            return visitor.visitStagger(node, context);\n        default:\n            throw new Error(`Unable to resolve animation metadata node #${node.type}`);\n    }\n}\n//# sourceMappingURL=util.js.map","/**\n * @fileoverview added by tsickle\n * @suppress {checkTypes} checked by tsc\n */\n/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nexport const /** @type {?} */ ANY_STATE = '*';\n/**\n * @param {?} transitionValue\n * @param {?} errors\n * @return {?}\n */\nexport function parseTransitionExpr(transitionValue, errors) {\n    const /** @type {?} */ expressions = [];\n    if (typeof transitionValue == 'string') {\n        (/** @type {?} */ (transitionValue))\n            .split(/\\s*,\\s*/)\n            .forEach(str => parseInnerTransitionStr(str, expressions, 
 errors));\n    }\n    else {\n        expressions.push(/** @type {?} */ (transitionValue));\n    }\n    return expressions;\n}\n/**\n * @param {?} eventStr\n * @param {?} expressions\n * @param {?} errors\n * @return {?}\n */\nfunction parseInnerTransitionStr(eventStr, expressions, errors) {\n    if (eventStr[0] == ':') {\n        const /** @type {?} */ result = parseAnimationAlias(eventStr, errors);\n        if (typeof result == 'function') {\n            expressions.push(result);\n            return;\n        }\n        eventStr = /** @type {?} */ (result);\n    }\n    const /** @type {?} */ match = eventStr.match(/^(\\*|[-\\w]+)\\s*(<?[=-]>)\\s*(\\*|[-\\w]+)$/);\n    if (match == null || match.length < 4) {\n        errors.push(`The provided transition expression \"${eventStr}\" is not supported`);\n        return expressions;\n    }\n    const /** @type {?} */ fromState = match[1];\n    const /** @type {?} */ separator = match[2];\n    const /** @type {?} */ toState = match[3];\
 n    expressions.push(makeLambdaFromStates(fromState, toState));\n    const /** @type {?} */ isFullAnyStateExpr = fromState == ANY_STATE && toState == ANY_STATE;\n    if (separator[0] == '<' && !isFullAnyStateExpr) {\n        expressions.push(makeLambdaFromStates(toState, fromState));\n    }\n}\n/**\n * @param {?} alias\n * @param {?} errors\n * @return {?}\n */\nfunction parseAnimationAlias(alias, errors) {\n    switch (alias) {\n        case ':enter':\n            return 'void => *';\n        case ':leave':\n            return '* => void';\n        case ':increment':\n            return (fromState, toState) => parseFloat(toState) > parseFloat(fromState);\n        case ':decrement':\n            return (fromState, toState) => parseFloat(toState) < parseFloat(fromState);\n        default:\n            errors.push(`The transition alias value \"${alias}\" is not supported`);\n            return '* => *';\n    }\n}\n// DO NOT REFACTOR ... keep the follow set instantiations\n// with the
  values intact (closure compiler for some reason\n// removes follow-up lines that add the values outside of\n// the constructor...\nconst /** @type {?} */ TRUE_BOOLEAN_VALUES = new Set(['true', '1']);\nconst /** @type {?} */ FALSE_BOOLEAN_VALUES = new Set(['false', '0']);\n/**\n * @param {?} lhs\n * @param {?} rhs\n * @return {?}\n */\nfunction makeLambdaFromStates(lhs, rhs) {\n    const /** @type {?} */ LHS_MATCH_BOOLEAN = TRUE_BOOLEAN_VALUES.has(lhs) || FALSE_BOOLEAN_VALUES.has(lhs);\n    const /** @type {?} */ RHS_MATCH_BOOLEAN = TRUE_BOOLEAN_VALUES.has(rhs) || FALSE_BOOLEAN_VALUES.has(rhs);\n    return (fromState, toState) => {\n        let /** @type {?} */ lhsMatch = lhs == ANY_STATE || lhs == fromState;\n        let /** @type {?} */ rhsMatch = rhs == ANY_STATE || rhs == toState;\n        if (!lhsMatch && LHS_MATCH_BOOLEAN && typeof fromState === 'boolean') {\n            lhsMatch = fromState ? TRUE_BOOLEAN_VALUES.has(lhs) : FALSE_BOOLEAN_VALUES.has(lhs);\n        }\n        if
  (!rhsMatch && RHS_MATCH_BOOLEAN && typeof toState === 'boolean') {\n            rhsMatch = toState ? TRUE_BOOLEAN_VALUES.has(rhs) : FALSE_BOOLEAN_VALUES.has(rhs);\n        }\n        return lhsMatch && rhsMatch;\n    };\n}\n//# sourceMappingURL=animation_transition_expr.js.map","/**\n * @fileoverview added by tsickle\n * @suppress {checkTypes} checked by tsc\n */\nimport { AUTO_STYLE, style } from '@angular/animations';\nimport { getOrSetAsInMap } from '../render/shared';\nimport { NG_ANIMATING_SELECTOR, NG_TRIGGER_SELECTOR, SUBSTITUTION_EXPR_START, copyObj, extractStyleParams, iteratorToArray, normalizeAnimationEntry, resolveTiming, validateStyleParams, visitDslNode } from '../util';\nimport { parseTransitionExpr } from './animation_transition_expr';\nconst /** @type {?} */ SELF_TOKEN = ':self';\nconst /** @type {?} */ SELF_TOKEN_REGEX = new RegExp(`\\s*${SELF_TOKEN}\\s*,?`, 'g');\n/**\n * @param {?} driver\n * @param {?} metadata\n * @param {?} errors\n * @return {?}\n */\nexport
  function buildAnimationAst(driver, metadata, errors) {\n    return new AnimationAstBuilderVisitor(driver).build(metadata, errors);\n}\nconst /** @type {?} */ ROOT_SELECTOR = '';\nexport class AnimationAstBuilderVisitor {\n    /**\n     * @param {?} _driver\n     */\n    constructor(_driver) {\n        this._driver = _driver;\n    }\n    /**\n     * @param {?} metadata\n     * @param {?} errors\n     * @return {?}\n     */\n    build(metadata, errors) {\n        const /** @type {?} */ context = new AnimationAstBuilderContext(errors);\n        this._resetContextStyleTimingState(context);\n        return /** @type {?} */ (visitDslNode(this, normalizeAnimationEntry(metadata), context));\n    }\n    /**\n     * @param {?} context\n     * @return {?}\n     */\n    _resetContextStyleTimingState(context) {\n        context.currentQuerySelector = ROOT_SELECTOR;\n        context.collectedStyles = {};\n        context.collectedStyles[ROOT_SELECTOR] = {};\n        context.currentTime = 0;\n   
  }\n    /**\n     * @param {?} metadata\n     * @param {?} context\n     * @return {?}\n     */\n    visitTrigger(metadata, context) {\n        let /** @type {?} */ queryCount = context.queryCount = 0;\n        let /** @type {?} */ depCount = context.depCount = 0;\n        const /** @type {?} */ states = [];\n        const /** @type {?} */ transitions = [];\n        if (metadata.name.charAt(0) == '@') {\n            context.errors.push('animation triggers cannot be prefixed with an `@` sign (e.g. trigger(\\'@foo\\', [...]))');\n        }\n        metadata.definitions.forEach(def => {\n            this._resetContextStyleTimingState(context);\n            if (def.type == 0 /* State */) {\n                const /** @type {?} */ stateDef = /** @type {?} */ (def);\n                const /** @type {?} */ name = stateDef.name;\n                name.split(/\\s*,\\s*/).forEach(n => {\n                    stateDef.name = n;\n                    states.push(this.visitState(stateDef, context));
 \n                });\n                stateDef.name = name;\n            }\n            else if (def.type == 1 /* Transition */) {\n                const /** @type {?} */ transition = this.visitTransition(/** @type {?} */ (def), context);\n                queryCount += transition.queryCount;\n                depCount += transition.depCount;\n                transitions.push(transition);\n            }\n            else {\n                context.errors.push('only state() and transition() definitions can sit inside of a trigger()');\n            }\n        });\n        return {\n            type: 7 /* Trigger */,\n            name: metadata.name, states, transitions, queryCount, depCount,\n            options: null\n        };\n    }\n    /**\n     * @param {?} metadata\n     * @param {?} context\n     * @return {?}\n     */\n    visitState(metadata, context) {\n        const /** @type {?} */ styleAst = this.visitStyle(metadata.styles, context);\n        const /** @type {?} */ astPa
 rams = (metadata.options && metadata.options.params) || null;\n        if (styleAst.containsDynamicStyles) {\n            const /** @type {?} */ missingSubs = new Set();\n            const /** @type {?} */ params = astParams || {};\n            styleAst.styles.forEach(value => {\n                if (isObject(value)) {\n                    const /** @type {?} */ stylesObj = /** @type {?} */ (value);\n                    Object.keys(stylesObj).forEach(prop => {\n                        extractStyleParams(stylesObj[prop]).forEach(sub => {\n                            if (!params.hasOwnProperty(sub)) {\n                                missingSubs.add(sub);\n                            }\n                        });\n                    });\n                }\n            });\n            if (missingSubs.size) {\n                const /** @type {?} */ missingSubsArr = iteratorToArray(missingSubs.values());\n                context.errors.push(`state(\"${metadata.name}\", ...) must define
  default values for all the following style substitutions: ${missingSubsArr.join(', ')}`);\n            }\n        }\n        return {\n            type: 0 /* State */,\n            name: metadata.name,\n            style: styleAst,\n            options: astParams ? { params: astParams } : null\n        };\n    }\n    /**\n     * @param {?} metadata\n     * @param {?} context\n     * @return {?}\n     */\n    visitTransition(metadata, context) {\n        context.queryCount = 0;\n        context.depCount = 0;\n        const /** @type {?} */ animation = visitDslNode(this, normalizeAnimationEntry(metadata.animation), context);\n        const /** @type {?} */ matchers = parseTransitionExpr(metadata.expr, context.errors);\n        return {\n            type: 1 /* Transition */,\n            matchers,\n            animation,\n            queryCount: context.queryCount,\n            depCount: context.depCount,\n            options: normalizeAnimationOptions(metadata.options)\n        };\n 
    }\n    /**\n     * @param {?} metadata\n     * @param {?} context\n     * @return {?}\n     */\n    visitSequence(metadata, context) {\n        return {\n            type: 2 /* Sequence */,\n            steps: metadata.steps.map(s => visitDslNode(this, s, context)),\n            options: normalizeAnimationOptions(metadata.options)\n        };\n    }\n    /**\n     * @param {?} metadata\n     * @param {?} context\n     * @return {?}\n     */\n    visitGroup(metadata, context) {\n        const /** @type {?} */ currentTime = context.currentTime;\n        let /** @type {?} */ furthestTime = 0;\n        const /** @type {?} */ steps = metadata.steps.map(step => {\n            context.currentTime = currentTime;\n            const /** @type {?} */ innerAst = visitDslNode(this, step, context);\n            furthestTime = Math.max(furthestTime, context.currentTime);\n            return innerAst;\n        });\n        context.currentTime = furthestTime;\n        return {\n            type: 
 3 /* Group */,\n            steps,\n            options: normalizeAnimationOptions(metadata.options)\n        };\n    }\n    /**\n     * @param {?} metadata\n     * @param {?} context\n     * @return {?}\n     */\n    visitAnimate(metadata, context) {\n        const /** @type {?} */ timingAst = constructTimingAst(metadata.timings, context.errors);\n        context.currentAnimateTimings = timingAst;\n        let /** @type {?} */ styleAst;\n        let /** @type {?} */ styleMetadata = metadata.styles ? metadata.styles : style({});\n        if (styleMetadata.type == 5 /* Keyframes */) {\n            styleAst = this.visitKeyframes(/** @type {?} */ (styleMetadata), context);\n        }\n        else {\n            let /** @type {?} */ styleMetadata = /** @type {?} */ (metadata.styles);\n            let /** @type {?} */ isEmpty = false;\n            if (!styleMetadata) {\n                isEmpty = true;\n                const /** @type {?} */ newStyleData = {};\n                if (timing
 Ast.easing) {\n                    newStyleData['easing'] = timingAst.easing;\n                }\n                styleMetadata = style(newStyleData);\n            }\n            context.currentTime += timingAst.duration + timingAst.delay;\n            const /** @type {?} */ _styleAst = this.visitStyle(styleMetadata, context);\n            _styleAst.isEmptyStep = isEmpty;\n            styleAst = _styleAst;\n        }\n        context.currentAnimateTimings = null;\n        return {\n            type: 4 /* Animate */,\n            timings: timingAst,\n            style: styleAst,\n            options: null\n        };\n    }\n    /**\n     * @param {?} metadata\n     * @param {?} context\n     * @return {?}\n     */\n    visitStyle(metadata, context) {\n        const /** @type {?} */ ast = this._makeStyleAst(metadata, context);\n        this._validateStyleAst(ast, context);\n        return ast;\n    }\n    /**\n     * @param {?} metadata\n     * @param {?} context\n     * @return {?}\
 n     */\n    _makeStyleAst(metadata, context) {\n        const /** @type {?} */ styles = [];\n        if (Array.isArray(metadata.styles)) {\n            (/** @type {?} */ (metadata.styles)).forEach(styleTuple => {\n                if (typeof styleTuple == 'string') {\n                    if (styleTuple == AUTO_STYLE) {\n                        styles.push(/** @type {?} */ (styleTuple));\n                    }\n                    else {\n                        context.errors.push(`The provided style string value ${styleTuple} is not allowed.`);\n                    }\n                }\n                else {\n                    styles.push(/** @type {?} */ (styleTuple));\n                }\n            });\n        }\n        else {\n            styles.push(metadata.styles);\n        }\n        let /** @type {?} */ containsDynamicStyles = false;\n        let /** @type {?} */ collectedEasing = null;\n        styles.forEach(styleData => {\n            if (isObject(styleData)) {\n 
                const /** @type {?} */ styleMap = /** @type {?} */ (styleData);\n                const /** @type {?} */ easing = styleMap['easing'];\n                if (easing) {\n                    collectedEasing = /** @type {?} */ (easing);\n                    delete styleMap['easing'];\n                }\n                if (!containsDynamicStyles) {\n                    for (let /** @type {?} */ prop in styleMap) {\n                        const /** @type {?} */ value = styleMap[prop];\n                        if (value.toString().indexOf(SUBSTITUTION_EXPR_START) >= 0) {\n                            containsDynamicStyles = true;\n                            break;\n                        }\n                    }\n                }\n            }\n        });\n        return {\n            type: 6 /* Style */,\n            styles,\n            easing: collectedEasing,\n            offset: metadata.offset, containsDynamicStyles,\n            options: null\n        };\n    }\n 
    /**\n     * @param {?} ast\n     * @param {?} context\n     * @return {?}\n     */\n    _validateStyleAst(ast, context) {\n        const /** @type {?} */ timings = context.currentAnimateTimings;\n        let /** @type {?} */ endTime = context.currentTime;\n        let /** @type {?} */ startTime = context.currentTime;\n        if (timings && startTime > 0) {\n            startTime -= timings.duration + timings.delay;\n        }\n        ast.styles.forEach(tuple => {\n            if (typeof tuple == 'string')\n                return;\n            Object.keys(tuple).forEach(prop => {\n                if (!this._driver.validateStyleProperty(prop)) {\n                    context.errors.push(`The provided animation property \"${prop}\" is not a supported CSS property for animations`);\n                    return;\n                }\n                const /** @type {?} */ collectedStyles = context.collectedStyles[/** @type {?} */ ((context.currentQuerySelector))];\n                const
  /** @type {?} */ collectedEntry = collectedStyles[prop];\n                let /** @type {?} */ updateCollectedStyle = true;\n                if (collectedEntry) {\n                    if (startTime != endTime && startTime >= collectedEntry.startTime &&\n                        endTime <= collectedEntry.endTime) {\n                        context.errors.push(`The CSS property \"${prop}\" that exists between the times of \"${collectedEntry.startTime}ms\" and \"${collectedEntry.endTime}ms\" is also being animated in a parallel animation between the times of \"${startTime}ms\" and \"${endTime}ms\"`);\n                        updateCollectedStyle = false;\n                    }\n                    // we always choose the smaller start time value since we\n                    // want to have a record of the entire animation window where\n                    // the style property is being animated in between\n                    startTime = collectedEntry.startTime;\n                }\n 
                if (updateCollectedStyle) {\n                    collectedStyles[prop] = { startTime, endTime };\n                }\n                if (context.options) {\n                    validateStyleParams(tuple[prop], context.options, context.errors);\n                }\n            });\n        });\n    }\n    /**\n     * @param {?} metadata\n     * @param {?} context\n     * @return {?}\n     */\n    visitKeyframes(metadata, context) {\n        const /** @type {?} */ ast = { type: 5 /* Keyframes */, styles: [], options: null };\n        if (!context.currentAnimateTimings) {\n            context.errors.push(`keyframes() must be placed inside of a call to animate()`);\n            return ast;\n        }\n        const /** @type {?} */ MAX_KEYFRAME_OFFSET = 1;\n        let /** @type {?} */ totalKeyframesWithOffsets = 0;\n        const /** @type {?} */ offsets = [];\n        let /** @type {?} */ offsetsOutOfOrder = false;\n        let /** @type {?} */ keyframesOutOfRange = fals
 e;\n        let /** @type {?} */ previousOffset = 0;\n        const /** @type {?} */ keyframes = metadata.steps.map(styles => {\n            const /** @type {?} */ style = this._makeStyleAst(styles, context);\n            let /** @type {?} */ offsetVal = style.offset != null ? style.offset : consumeOffset(style.styles);\n            let /** @type {?} */ offset = 0;\n            if (offsetVal != null) {\n                totalKeyframesWithOffsets++;\n                offset = style.offset = offsetVal;\n            }\n            keyframesOutOfRange = keyframesOutOfRange || offset < 0 || offset > 1;\n            offsetsOutOfOrder = offsetsOutOfOrder || offset < previousOffset;\n            previousOffset = offset;\n            offsets.push(offset);\n            return style;\n        });\n        if (keyframesOutOfRange) {\n            context.errors.push(`Please ensure that all keyframe offsets are between 0 and 1`);\n        }\n        if (offsetsOutOfOrder) {\n            context.err
 ors.push(`Please ensure that all keyframe offsets are in order`);\n        }\n        const /** @type {?} */ length = metadata.steps.length;\n        let /** @type {?} */ generatedOffset = 0;\n        if (totalKeyframesWithOffsets > 0 && totalKeyframesWithOffsets < length) {\n            context.errors.push(`Not all style() steps within the declared keyframes() contain offsets`);\n        }\n        else if (totalKeyframesWithOffsets == 0) {\n            generatedOffset = MAX_KEYFRAME_OFFSET / (length - 1);\n        }\n        const /** @type {?} */ limit = length - 1;\n        const /** @type {?} */ currentTime = context.currentTime;\n        const /** @type {?} */ currentAnimateTimings = /** @type {?} */ ((context.currentAnimateTimings));\n        const /** @type {?} */ animateDuration = currentAnimateTimings.duration;\n        keyframes.forEach((kf, i) => {\n            const /** @type {?} */ offset = generatedOffset > 0 ? (i == limit ? 1 : (generatedOffset * i)) : offsets[i];\n 
            const /** @type {?} */ durationUpToThisFrame = offset * animateDuration;\n            context.currentTime = currentTime + currentAnimateTimings.delay + durationUpToThisFrame;\n            currentAnimateTimings.duration = durationUpToThisFrame;\n            this._validateStyleAst(kf, context);\n            kf.offset = offset;\n            ast.styles.push(kf);\n        });\n        return ast;\n    }\n    /**\n     * @param {?} metadata\n     * @param {?} context\n     * @return {?}\n     */\n    visitReference(metadata, context) {\n        return {\n            type: 8 /* Reference */,\n            animation: visitDslNode(this, normalizeAnimationEntry(metadata.animation), context),\n            options: normalizeAnimationOptions(metadata.options)\n        };\n    }\n    /**\n     * @param {?} metadata\n     * @param {?} context\n     * @return {?}\n     */\n    visitAnimateChild(metadata, context) {\n        context.depCount++;\n        return {\n            type: 9 /* Ani
 mateChild */,\n            options: normalizeAnimationOptions(metadata.options)\n        };\n    }\n    /**\n     * @param {?} metadata\n     * @param {?} context\n     * @return {?}\n     */\n    visitAnimateRef(metadata, context) {\n        return {\n            type: 10 /* AnimateRef */,\n            animation: this.visitReference(metadata.animation, context),\n            options: normalizeAnimationOptions(metadata.options)\n        };\n    }\n    /**\n     * @param {?} metadata\n     * @param {?} context\n     * @return {?}\n     */\n    visitQuery(metadata, context) {\n        const /** @type {?} */ parentSelector = /** @type {?} */ ((context.currentQuerySelector));\n        const /** @type {?} */ options = /** @type {?} */ ((metadata.options || {}));\n        context.queryCount++;\n        context.currentQuery = metadata;\n        const [selector, includeSelf] = normalizeSelector(metadata.selector);\n        context.currentQuerySelector =\n            parentSelector.length ? 
 (parentSelector + ' ' + selector) : selector;\n        getOrSetAsInMap(context.collectedStyles, context.currentQuerySelector, {});\n        const /** @type {?} */ animation = visitDslNode(this, normalizeAnimationEntry(metadata.animation), context);\n        context.currentQuery = null;\n        context.currentQuerySelector = parentSelector;\n        return {\n            type: 11 /* Query */,\n            selector,\n            limit: options.limit || 0,\n            optional: !!options.optional, includeSelf, animation,\n            originalSelector: metadata.selector,\n            options: normalizeAnimationOptions(metadata.options)\n        };\n    }\n    /**\n     * @param {?} metadata\n     * @param {?} context\n     * @return {?}\n     */\n    visitStagger(metadata, context) {\n        if (!context.currentQuery) {\n            context.errors.push(`stagger() can only be used inside of query()`);\n        }\n        const /** @type {?} */ timings = metadata.timings === 'full' ?\n
             { duration: 0, delay: 0, easing: 'full' } :\n            resolveTiming(metadata.timings, context.errors, true);\n        return {\n            type: 12 /* Stagger */,\n            animation: visitDslNode(this, normalizeAnimationEntry(metadata.animation), context), timings,\n            options: null\n        };\n    }\n}\nfunction AnimationAstBuilderVisitor_tsickle_Closure_declarations() {\n    /** @type {?} */\n    AnimationAstBuilderVisitor.prototype._driver;\n}\n/**\n * @param {?} selector\n * @return {?}\n */\nfunction normalizeSelector(selector) {\n    const /** @type {?} */ hasAmpersand = selector.split(/\\s*,\\s*/).find(token => token == SELF_TOKEN) ? true : false;\n    if (hasAmpersand) {\n        selector = selector.replace(SELF_TOKEN_REGEX, '');\n    }\n    // the :enter and :leave selectors are filled in at runtime during timeline building\n    selector = selector.replace(/@\\*/g, NG_TRIGGER_SELECTOR)\n        .replace(/@\\w+/g, match => NG_TRIGGER_SELECTOR + 
 '-' + match.substr(1))\n        .replace(/:animating/g, NG_ANIMATING_SELECTOR);\n    return [selector, hasAmpersand];\n}\n/**\n * @param {?} obj\n * @return {?}\n */\nfunction normalizeParams(obj) {\n    return obj ? copyObj(obj) : null;\n}\nexport class AnimationAstBuilderContext {\n    /**\n     * @param {?} errors\n     */\n    constructor(errors) {\n        this.errors = errors;\n        this.queryCount = 0;\n        this.depCount = 0;\n        this.currentTransition = null;\n        this.currentQuery = null;\n        this.currentQuerySelector = null;\n        this.currentAnimateTimings = null;\n        this.currentTime = 0;\n        this.collectedStyles = {};\n        this.options = null;\n    }\n}\nfunction AnimationAstBuilderContext_tsickle_Closure_declarations() {\n    /** @type {?} */\n    AnimationAstBuilderContext.prototype.queryCount;\n    /** @type {?} */\n    AnimationAstBuilderContext.prototype.depCount;\n    /** @type {?} */\n    AnimationAstBuilderContext.prototype.
 currentTransition;\n    /** @type {?} */\n    AnimationAstBuilderContext.prototype.currentQuery;\n    /** @type {?} */\n    AnimationAstBuilderContext.prototype.currentQuerySelector;\n    /** @type {?} */\n    AnimationAstBuilderContext.prototype.currentAnimateTimings;\n    /** @type {?} */\n    AnimationAstBuilderContext.prototype.currentTime;\n    /** @type {?} */\n    AnimationAstBuilderContext.prototype.collectedStyles;\n    /** @type {?} */\n    AnimationAstBuilderContext.prototype.options;\n    /** @type {?} */\n    AnimationAstBuilderContext.prototype.errors;\n}\n/**\n * @param {?} styles\n * @return {?}\n */\nfunction consumeOffset(styles) {\n    if (typeof styles == 'string')\n        return null;\n    let /** @type {?} */ offset = null;\n    if (Array.isArray(styles)) {\n        styles.forEach(styleTuple => {\n            if (isObject(styleTuple) && styleTuple.hasOwnProperty('offset')) {\n                const /** @type {?} */ obj = /** @type {?} */ (styleTuple);\n        
         offset = parseFloat(/** @type {?} */ (obj['offset']));\n                delete obj['offset'];\n            }\n        });\n    }\n    else if (isObject(styles) && styles.hasOwnProperty('offset')) {\n        const /** @type {?} */ obj = /** @type {?} */ (styles);\n        offset = parseFloat(/** @type {?} */ (obj['offset']));\n        delete obj['offset'];\n    }\n    return offset;\n}\n/**\n * @param {?} value\n * @return {?}\n */\nfunction isObject(value) {\n    return !Array.isArray(value) && typeof value == 'object';\n}\n/**\n * @param {?} value\n * @param {?} errors\n * @return {?}\n */\nfunction constructTimingAst(value, errors) {\n    let /** @type {?} */ timings = null;\n    if (value.hasOwnProperty('duration')) {\n        timings = /** @type {?} */ (value);\n    }\n    else if (typeof value == 'number') {\n        const /** @type {?} */ duration = resolveTiming(/** @type {?} */ (value), errors).duration;\n        return makeTimingAst(/** @type {?} */ (duration), 0, '
 ');\n    }\n    const /** @type {?} */ strValue = /** @type {?} */ (value);\n    const /** @type {?} */ isDynamic = strValue.split(/\\s+/).some(v => v.charAt(0) == '{' && v.charAt(1) == '{');\n    if (isDynamic) {\n        const /** @type {?} */ ast = /** @type {?} */ (makeTimingAst(0, 0, ''));\n        ast.dynamic = true;\n        ast.strValue = strValue;\n        return /** @type {?} */ (ast);\n    }\n    timings = timings || resolveTiming(strValue, errors);\n    return makeTimingAst(timings.duration, timings.delay, timings.easing);\n}\n/**\n * @param {?} options\n * @return {?}\n */\nfunction normalizeAnimationOptions(options) {\n    if (options) {\n        options = copyObj(options);\n        if (options['params']) {\n            options['params'] = /** @type {?} */ ((normalizeParams(options['params'])));\n        }\n    }\n    else {\n        options = {};\n    }\n    return options;\n}\n/**\n * @param {?} duration\n * @param {?} delay\n * @param {?} easing\n * @return {?}\n */
 \nfunction makeTimingAst(duration, delay, easing) {\n    return { duration, delay, easing };\n}\n//# sourceMappingURL=animation_ast_builder.js.map","/**\n * @fileoverview added by tsickle\n * @suppress {checkTypes} checked by tsc\n */\n/**\n * @record\n */\nexport function AnimationTimelineInstruction() { }\nfunction AnimationTimelineInstruction_tsickle_Closure_declarations() {\n    /** @type {?} */\n    AnimationTimelineInstruction.prototype.element;\n    /** @type {?} */\n    AnimationTimelineInstruction.prototype.keyframes;\n    /** @type {?} */\n    AnimationTimelineInstruction.prototype.preStyleProps;\n    /** @type {?} */\n    AnimationTimelineInstruction.prototype.postStyleProps;\n    /** @type {?} */\n    AnimationTimelineInstruction.prototype.duration;\n    /** @type {?} */\n    AnimationTimelineInstruction.prototype.delay;\n    /** @type {?} */\n    AnimationTimelineInstruction.prototype.totalTime;\n    /** @type {?} */\n    AnimationTimelineInstruction.prototype.easing;\n
     /** @type {?|undefined} */\n    AnimationTimelineInstruction.prototype.stretchStartingKeyframe;\n    /** @type {?} */\n    AnimationTimelineInstruction.prototype.subTimeline;\n}\n/**\n * @param {?} element\n * @param {?} keyframes\n * @param {?} preStyleProps\n * @param {?} postStyleProps\n * @param {?} duration\n * @param {?} delay\n * @param {?=} easing\n * @param {?=} subTimeline\n * @return {?}\n */\nexport function createTimelineInstruction(element, keyframes, preStyleProps, postStyleProps, duration, delay, easing = null, subTimeline = false) {\n    return {\n        type: 1 /* TimelineAnimation */,\n        element,\n        keyframes,\n        preStyleProps,\n        postStyleProps,\n        duration,\n        delay,\n        totalTime: duration + delay, easing, subTimeline\n    };\n}\n//# sourceMappingURL=animation_timeline_instruction.js.map","/**\n * @fileoverview added by tsickle\n * @suppress {checkTypes} checked by tsc\n */\nexport class ElementInstructionMap {\n   
  constructor() {\n        this._map = new Map();\n    }\n    /**\n     * @param {?} element\n     * @return {?}\n     */\n    consume(element) {\n        let /** @type {?} */ instructions = this._map.get(element);\n        if (instructions) {\n            this._map.delete(element);\n        }\n        else {\n            instructions = [];\n        }\n        return instructions;\n    }\n    /**\n     * @param {?} element\n     * @param {?} instructions\n     * @return {?}\n     */\n    append(element, instructions) {\n        let /** @type {?} */ existingInstructions = this._map.get(element);\n        if (!existingInstructions) {\n            this._map.set(element, existingInstructions = []);\n        }\n        existingInstructions.push(...instructions);\n    }\n    /**\n     * @param {?} element\n     * @return {?}\n     */\n    has(element) { return this._map.has(element); }\n    /**\n     * @return {?}\n     */\n    clear() { this._map.clear(); }\n}\nfunction ElementInstruction
 Map_tsickle_Closure_declarations() {\n    /** @type {?} */\n    ElementInstructionMap.prototype._map;\n}\n//# sourceMappingURL=element_instruction_map.js.map","/**\n * @fileoverview added by tsickle\n * @suppress {checkTypes} checked by tsc\n */\nimport { AUTO_STYLE, ɵPRE_STYLE as PRE_STYLE } from '@angular/animations';\nimport { copyObj, copyStyles, interpolateParams, iteratorToArray, resolveTiming, resolveTimingValue, visitDslNode } from '../util';\nimport { createTimelineInstruction } from './animation_timeline_instruction';\nimport { ElementInstructionMap } from './element_instruction_map';\nconst /** @type {?} */ ONE_FRAME_IN_MILLISECONDS = 1;\nconst /** @type {?} */ ENTER_TOKEN = ':enter';\nconst /** @type {?} */ ENTER_TOKEN_REGEX = new RegExp(ENTER_TOKEN, 'g');\nconst /** @type {?} */ LEAVE_TOKEN = ':leave';\nconst /** @type {?} */ LEAVE_TOKEN_REGEX = new RegExp(LEAVE_TOKEN, 'g');\n/**\n * @param {?} driver\n * @param {?} rootElement\n * @param {?} ast\n * @param {?} enterCl
 assName\n * @param {?} leaveClassName\n * @param {?=} startingStyles\n * @param {?=} finalStyles\n * @param {?=} options\n * @param {?=} subInstructions\n * @param {?=} errors\n * @return {?}\n */\nexport function buildAnimationTimelines(driver, rootElement, ast, enterClassName, leaveClassName, startingStyles = {}, finalStyles = {}, options, subInstructions, errors = []) {\n    return new AnimationTimelineBuilderVisitor().buildKeyframes(driver, rootElement, ast, enterClassName, leaveClassName, startingStyles, finalStyles, options, subInstructions, errors);\n}\nexport class AnimationTimelineBuilderVisitor {\n    /**\n     * @param {?} driver\n     * @param {?} rootElement\n     * @param {?} ast\n     * @param {?} enterClassName\n     * @param {?} leaveClassName\n     * @param {?} startingStyles\n     * @param {?} finalStyles\n     * @param {?} options\n     * @param {?=} subInstructions\n     * @param {?=} errors\n     * @return {?}\n     */\n    buildKeyframes(driver, rootElement, a
 st, enterClassName, leaveClassName, startingStyles, finalStyles, options, subInstructions, errors = []) {\n        subInstructions = subInstructions || new ElementInstructionMap();\n        const /** @type {?} */ context = new AnimationTimelineContext(driver, rootElement, subInstructions, enterClassName, leaveClassName, errors, []);\n        context.options = options;\n        context.currentTimeline.setStyles([startingStyles], null, context.errors, options);\n        visitDslNode(this, ast, context);\n        // this checks to see if an actual animation happened\n        const /** @type {?} */ timelines = context.timelines.filter(timeline => timeline.containsAnimation());\n        if (timelines.length && Object.keys(finalStyles).length) {\n            const /** @type {?} */ tl = timelines[timelines.length - 1];\n            if (!tl.allowOnlyTimelineStyles()) {\n                tl.setStyles([finalStyles], null, context.errors, options);\n            }\n        }\n        return time
 lines.length ? timelines.map(timeline => timeline.buildKeyframes()) :\n            [createTimelineInstruction(rootElement, [], [], [], 0, 0, '', false)];\n    }\n    /**\n     * @param {?} ast\n     * @param {?} context\n     * @return {?}\n     */\n    visitTrigger(ast, context) {\n        // these values are not visited in this AST\n    }\n    /**\n     * @param {?} ast\n     * @param {?} context\n     * @return {?}\n     */\n    visitState(ast, context) {\n        // these values are not visited in this AST\n    }\n    /**\n     * @param {?} ast\n     * @param {?} context\n     * @return {?}\n     */\n    visitTransition(ast, context) {\n        // these values are not visited in this AST\n    }\n    /**\n     * @param {?} ast\n     * @param {?} context\n     * @return {?}\n     */\n    visitAnimateChild(ast, context) {\n        const /** @type {?} */ elementInstructions = context.subInstructions.consume(context.element);\n        if (elementInstructions) {\n            const /**
  @type {?} */ innerContext = context.createSubContext(ast.options);\n            const /** @type {?} */ startTime = context.currentTimeline.currentTime;\n            const /** @type {?} */ endTime = this._visitSubInstructions(elementInstructions, innerContext, /** @type {?} */ (innerContext.options));\n            if (startTime != endTime) {\n                // we do this on the upper context because we created a sub context for\n                // the sub child animations\n                context.transformIntoNewTimeline(endTime);\n            }\n        }\n        context.previousNode = ast;\n    }\n    /**\n     * @param {?} ast\n     * @param {?} context\n     * @return {?}\n     */\n    visitAnimateRef(ast, context) {\n        const /** @type {?} */ innerContext = context.createSubContext(ast.options);\n        innerContext.transformIntoNewTimeline();\n        this.visitReference(ast.animation, innerContext);\n        context.transformIntoNewTimeline(innerContext.currentTimelin
 e.currentTime);\n        context.previousNode = ast;\n    }\n    /**\n     * @param {?} instructions\n     * @param {?} context\n     * @param {?} options\n     * @return {?}\n     */\n    _visitSubInstructions(instructions, context, options) {\n        const /** @type {?} */ startTime = context.currentTimeline.currentTime;\n        let /** @type {?} */ furthestTime = startTime;\n        // this is a special-case for when a user wants to skip a sub\n        // animation from being fired entirely.\n        const /** @type {?} */ duration = options.duration != null ? resolveTimingValue(options.duration) : null;\n        const /** @type {?} */ delay = options.delay != null ? resolveTimingValue(options.delay) : null;\n        if (duration !== 0) {\n            instructions.forEach(instruction => {\n                const /** @type {?} */ instructionTimings = context.appendInstructionToTimeline(instruction, duration, delay);\n                furthestTime =\n                    Math.max(fu
 rthestTime, instructionTimings.duration + instructionTimings.delay);\n            });\n        }\n        return furthestTime;\n    }\n    /**\n     * @param {?} ast\n     * @param {?} context\n     * @return {?}\n     */\n    visitReference(ast, context) {\n        context.updateOptions(ast.options, true);\n        visitDslNode(this, ast.animation, context);\n        context.previousNode = ast;\n    }\n    /**\n     * @param {?} ast\n     * @param {?} context\n     * @return {?}\n     */\n    visitSequence(ast, context) {\n        const /** @type {?} */ subContextCount = context.subContextCount;\n        let /** @type {?} */ ctx = context;\n        const /** @type {?} */ options = ast.options;\n        if (options && (options.params || options.delay)) {\n            ctx = context.createSubContext(options);\n            ctx.transformIntoNewTimeline();\n            if (options.delay != null) {\n                if (ctx.previousNode.type == 6 /* Style */) {\n                    ctx.cur
 rentTimeline.snapshotCurrentStyles();\n                    ctx.previousNode = DEFAULT_NOOP_PREVIOUS_NODE;\n                }\n                const /** @type {?} */ delay = resolveTimingValue(options.delay);\n                ctx.delayNextStep(delay);\n            }\n        }\n        if (ast.steps.length) {\n            ast.steps.forEach(s => visitDslNode(this, s, ctx));\n            // this is here just incase the inner steps only contain or end with a style() call\n            ctx.currentTimeline.applyStylesToKeyframe();\n            // this means that some animation function within the sequence\n            // ended up creating a sub timeline (which means the current\n            // timeline cannot overlap with the contents of the sequence)\n            if (ctx.subContextCount > subContextCount) {\n                ctx.transformIntoNewTimeline();\n            }\n        }\n        context.previousNode = ast;\n    }\n    /**\n     * @param {?} ast\n     * @param {?} context\n     
 * @return {?}\n     */\n    visitGroup(ast, context) {\n        const /** @type {?} */ innerTimelines = [];\n        let /** @type {?} */ furthestTime = context.currentTimeline.currentTime;\n        const /** @type {?} */ delay = ast.options && ast.options.delay ? resolveTimingValue(ast.options.delay) : 0;\n        ast.steps.forEach(s => {\n            const /** @type {?} */ innerContext = context.createSubContext(ast.options);\n            if (delay) {\n                innerContext.delayNextStep(delay);\n            }\n            visitDslNode(this, s, innerContext);\n            furthestTime = Math.max(furthestTime, innerContext.currentTimeline.currentTime);\n            innerTimelines.push(innerContext.currentTimeline);\n        });\n        // this operation is run after the AST loop because otherwise\n        // if the parent timeline's collected styles were updated then\n        // it would pass in invalid data into the new-to-be forked items\n        innerTimelines.forEach(ti
 meline => context.currentTimeline.mergeTimelineCollectedStyles(timeline));\n        context.transformIntoNewTimeline(furthestTime);\n        context.previousNode = ast;\n    }\n    /**\n     * @param {?} ast\n     * @param {?} context\n     * @return {?}\n     */\n    _visitTiming(ast, context) {\n        if ((/** @type {?} */ (ast)).dynamic) {\n            const /** @type {?} */ strValue = (/** @type {?} */ (ast)).strValue;\n            const /** @type {?} */ timingValue = context.params ? interpolateParams(strValue, context.params, context.errors) : strValue;\n            return resolveTiming(timingValue, context.errors);\n        }\n        else {\n            return { duration: ast.duration, delay: ast.delay, easing: ast.easing };\n        }\n    }\n    /**\n     * @param {?} ast\n     * @param {?} context\n     * @return {?}\n     */\n    visitAnimate(ast, context) {\n        const /** @type {?} */ timings = context.currentAnimateTimings = this._visitTiming(ast.timings, context
 );\n        const /** @type {?} */ timeline = context.currentTimeline;\n        if (timings.delay) {\n            context.incrementTime(timings.delay);\n            timeline.snapshotCurrentStyles();\n        }\n        const /** @type {?} */ style = ast.style;\n        if (style.type == 5 /* Keyframes */) {\n            this.visitKeyframes(style, context);\n        }\n        else {\n            context.incrementTime(timings.duration);\n            this.visitStyle(/** @type {?} */ (style), context);\n            timeline.applyStylesToKeyframe();\n        }\n        context.currentAnimateTimings = null;\n        context.previousNode = ast;\n    }\n    /**\n     * @param {?} ast\n     * @param {?} context\n     * @return {?}\n     */\n    visitStyle(ast, context) {\n        const /** @type {?} */ timeline = context.currentTimeline;\n        const /** @type {?} */ timings = /** @type {?} */ ((context.currentAnimateTimings));\n        // this is a special case for when a style() call\n 
        // directly follows  an animate() call (but not inside of an animate() call)\n        if (!timings && timeline.getCurrentStyleProperties().length) {\n            timeline.forwardFrame();\n        }\n        const /** @type {?} */ easing = (timings && timings.easing) || ast.easing;\n        if (ast.isEmptyStep) {\n            timeline.applyEmptyStep(easing);\n        }\n        else {\n            timeline.setStyles(ast.styles, easing, context.errors, context.options);\n        }\n        context.previousNode = ast;\n    }\n    /**\n     * @param {?} ast\n     * @param {?} context\n     * @return {?}\n     */\n    visitKeyframes(ast, context) {\n        const /** @type {?} */ currentAnimateTimings = /** @type {?} */ ((context.currentAnimateTimings));\n        const /** @type {?} */ startTime = (/** @type {?} */ ((context.currentTimeline))).duration;\n        const /** @type {?} */ duration = currentAnimateTimings.duration;\n        const /** @type {?} */ innerContext = context
 .createSubContext();\n        const /** @type {?} */ innerTimeline = innerContext.currentTimeline;\n        innerTimeline.easing = currentAnimateTimings.easing;\n        ast.styles.forEach(step => {\n            const /** @type {?} */ offset = step.offset || 0;\n            innerTimeline.forwardTime(offset * duration);\n            innerTimeline.setStyles(step.styles, step.easing, context.errors, context.options);\n            innerTimeline.applyStylesToKeyframe();\n        });\n        // this will ensure that the parent timeline gets all the styles from\n        // the child even if the new timeline below is not used\n        context.currentTimeline.mergeTimelineCollectedStyles(innerTimeline);\n        // we do this because the window between this timeline and the sub timeline\n        // should ensure that the styles within are exactly the same as they were before\n        context.transformIntoNewTimeline(startTime + duration);\n        context.previousNode = ast;\n    }\n    /**
 \n     * @param {?} ast\n     * @param {?} context\n     * @return {?}\n     */\n    visitQuery(ast, context) {\n        // in the event that the first step before this is a style step we need\n        // to ensure the styles are applied before the children are animated\n        const /** @type {?} */ startTime = context.currentTimeline.currentTime;\n        const /** @type {?} */ options = /** @type {?} */ ((ast.options || {}));\n        const /** @type {?} */ delay = options.delay ? resolveTimingValue(options.delay) : 0;\n        if (delay && (context.previousNode.type === 6 /* Style */ ||\n            (startTime == 0 && context.currentTimeline.getCurrentStyleProperties().length))) {\n            context.currentTimeline.snapshotCurrentStyles();\n            context.previousNode = DEFAULT_NOOP_PREVIOUS_NODE;\n        }\n        let /** @type {?} */ furthestTime = startTime;\n        const /** @type {?} */ elms = context.invokeQuery(ast.selector, ast.originalSelector, ast.limit, ast
 .includeSelf, options.optional ? true : false, context.errors);\n        context.currentQueryTotal = elms.length;\n        let /** @type {?} */ sameElementTimeline = null;\n        elms.forEach((element, i) => {\n            context.currentQueryIndex = i;\n            const /** @type {?} */ innerContext = context.createSubContext(ast.options, element);\n            if (delay) {\n                innerContext.delayNextStep(delay);\n            }\n            if (element === context.element) {\n                sameElementTimeline = innerContext.currentTimeline;\n            }\n            visitDslNode(this, ast.animation, innerContext);\n            // this is here just incase the inner steps only contain or end\n            // with a style() call (which is here to signal that this is a preparatory\n            // call to style an element before it is animated again)\n            innerContext.currentTimeline.applyStylesToKeyframe();\n            const /** @type {?} */ endTime = innerCo
 ntext.currentTimeline.currentTime;\n            furthestTime = Math.max(furthestTime, endTime);\n        });\n        context.currentQueryIndex = 0;\n        context.currentQueryTotal = 0;\n        context.transformIntoNewTimeline(furthestTime);\n        if (sameElementTimeline) {\n            context.currentTimeline.mergeTimelineCollectedStyles(sameElementTimeline);\n            context.currentTimeline.snapshotCurrentStyles();\n        }\n        context.previousNode = ast;\n    }\n    /**\n     * @param {?} ast\n     * @param {?} context\n     * @return {?}\n     */\n    visitStagger(ast, context) {\n        const /** @type {?} */ parentContext = /** @type {?} */ ((context.parentContext));\n        const /** @type {?} */ tl = context.currentTimeline;\n        const /** @type {?} */ timings = ast.timings;\n        const /** @type {?} */ duration = Math.abs(timings.duration);\n        const /** @type {?} */ maxTime = duration * (context.currentQueryTotal - 1);\n        let /** @type
  {?} */ delay = duration * context.currentQueryIndex;\n        let /** @type {?} */ staggerTransformer = timings.duration < 0 ? 'reverse' : timings.easing;\n        switch (staggerTransformer) {\n            case 'reverse':\n                delay = maxTime - delay;\n                break;\n            case 'full':\n                delay = parentContext.currentStaggerTime;\n                break;\n        }\n        const /** @type {?} */ timeline = context.currentTimeline;\n        if (delay) {\n            timeline.delayNextStep(delay);\n        }\n        const /** @type {?} */ startingTime = timeline.currentTime;\n        visitDslNode(this, ast.animation, context);\n        context.previousNode = ast;\n        // time = duration + delay\n        // the reason why this computation is so complex is because\n        // the inner timeline may either have a delay value or a stretched\n        // keyframe depending on if a subtimeline is not used or is used.\n        parentContext.curr
 entStaggerTime =\n            (tl.currentTime - startingTime) + (tl.startTime - parentContext.currentTimeline.startTime);\n    }\n}\nconst /** @type {?} */ DEFAULT_NOOP_PREVIOUS_NODE = /** @type {?} */ ({});\nexport class AnimationTimelineContext {\n    /**\n     * @param {?} _driver\n     * @param {?} element\n     * @param {?} subInstructions\n     * @param {?} _enterClassName\n     * @param {?} _leaveClassName\n     * @param {?} errors\n     * @param {?} timelines\n     * @param {?=} initialTimeline\n     */\n    constructor(_driver, element, subInstructions, _enterClassName, _leaveClassName, errors, timelines, initialTimeline) {\n        this._driver = _driver;\n        this.element = element;\n        this.subInstructions = subInstructions;\n        this._enterClassName = _enterClassName;\n        this._leaveClassName = _leaveClassName;\n        this.errors = errors;\n        this.timelines = timelines;\n        this.parentContext = null;\n        this.currentAnimateTimings = n
 ull;\n        this.previousNode = DEFAULT_NOOP_PREVIOUS_NODE;\n        this.subContextCount = 0;\n        this.options = {};\n        this.currentQueryIndex = 0;\n        this.currentQueryTotal = 0;\n        this.currentStaggerTime = 0;\n        this.currentTimeline = initialTimeline || new TimelineBuilder(this._driver, element, 0);\n        timelines.push(this.currentTimeline);\n    }\n    /**\n     * @return {?}\n     */\n    get params() { return this.options.params; }\n    /**\n     * @param {?} options\n     * @param {?=} skipIfExists\n     * @return {?}\n     */\n    updateOptions(options, skipIfExists) {\n        if (!options)\n            return;\n        const /** @type {?} */ newOptions = /** @type {?} */ (options);\n        let /** @type {?} */ optionsToUpdate = this.options;\n        // NOTE: this will get patched up when other animation methods support duration overrides\n        if (newOptions.duration != null) {\n            (/** @type {?} */ (optionsToUpdate)).durati
 on = resolveTimingValue(newOptions.duration);\n        }\n        if (newOptions.delay != null) {\n            optionsToUpdate.delay = resolveTimingValue(newOptions.delay);\n        }\n        const /** @type {?} */ newParams = newOptions.params;\n        if (newParams) {\n            let /** @type {?} */ paramsToUpdate = /** @type {?} */ ((optionsToUpdate.params));\n            if (!paramsToUpdate) {\n                paramsToUpdate = this.options.params = {};\n            }\n            Object.keys(newParams).forEach(name => {\n                if (!skipIfExists || !paramsToUpdate.hasOwnProperty(name)) {\n                    paramsToUpdate[name] = interpolateParams(newParams[name], paramsToUpdate, this.errors);\n                }\n            });\n        }\n    }\n    /**\n     * @return {?}\n     */\n    _copyOptions() {\n        const /** @type {?} */ options = {};\n        if (this.options) {\n            const /** @type {?} */ oldParams = this.options.params;\n            if (o
 ldParams) {\n                const /** @type {?} */ params = options['params'] = {};\n                Object.keys(oldParams).forEach(name => { params[name] = oldParams[name]; });\n            }\n        }\n        return options;\n    }\n    /**\n     * @param {?=} options\n     * @param {?=} element\n     * @param {?=} newTime\n     * @return {?}\n     */\n    createSubContext(options = null, element, newTime) {\n        const /** @type {?} */ target = element || this.element;\n        const /** @type {?} */ context = new AnimationTimelineContext(this._driver, target, this.subInstructions, this._enterClassName, this._leaveClassName, this.errors, this.timelines, this.currentTimeline.fork(target, newTime || 0));\n        context.previousNode = this.previousNode;\n        context.currentAnimateTimings = this.currentAnimateTimings;\n        context.options = this._copyOptions();\n        context.updateOptions(options);\n        context.currentQueryIndex = this.currentQueryIndex;\n     
    context.currentQueryTotal = this.currentQueryTotal;\n        context.parentContext = this;\n        this.subContextCount++;\n        return context;\n    }\n    /**\n     * @param {?=} newTime\n     * @return {?}\n     */\n    transformIntoNewTimeline(newTime) {\n        this.previousNode = DEFAULT_NOOP_PREVIOUS_NODE;\n        this.currentTimeline = this.currentTimeline.fork(this.element, newTime);\n        this.timelines.push(this.currentTimeline);\n        return this.currentTimeline;\n    }\n    /**\n     * @param {?} instruction\n     * @param {?} duration\n     * @param {?} delay\n     * @return {?}\n     */\n    appendInstructionToTimeline(instruction, duration, delay) {\n        const /** @type {?} */ updatedTimings = {\n            duration: duration != null ? duration : instruction.duration,\n            delay: this.currentTimeline.currentTime + (delay != null ? delay : 0) + instruction.delay,\n            easing: ''\n        };\n        const /** @type {?} */ builder = 
 new SubTimelineBuilder(this._driver, instruction.element, instruction.keyframes, instruction.preStyleProps, instruction.postStyleProps, updatedTimings, instruction.stretchStartingKeyframe);\n        this.timelines.push(builder);\n        return updatedTimings;\n    }\n    /**\n     * @param {?} time\n     * @return {?}\n     */\n    incrementTime(time) {\n        this.currentTimeline.forwardTime(this.currentTimeline.duration + time);\n    }\n    /**\n     * @param {?} delay\n     * @return {?}\n     */\n    delayNextStep(delay) {\n        // negative delays are not yet supported\n        if (delay > 0) {\n            this.currentTimeline.delayNextStep(delay);\n        }\n    }\n    /**\n     * @param {?} selector\n     * @param {?} originalSelector\n     * @param {?} limit\n     * @param {?} includeSelf\n     * @param {?} optional\n     * @param {?} errors\n     * @return {?}\n     */\n    invokeQuery(selector, originalSelector, limit, includeSelf, optional, errors) {\n        let /
 ** @type {?} */ results = [];\n        if (includeSelf) {\n            results.push(this.element);\n        }\n        if (selector.length > 0) {\n            // if :self is only used then the selector is empty\n            selector = selector.replace(ENTER_TOKEN_REGEX, '.' + this._enterClassName);\n            selector = selector.replace(LEAVE_TOKEN_REGEX, '.' + this._leaveClassName);\n            const /** @type {?} */ multi = limit != 1;\n            let /** @type {?} */ elements = this._driver.query(this.element, selector, multi);\n            if (limit !== 0) {\n                elements = limit < 0 ? elements.slice(elements.length + limit, elements.length) :\n                    elements.slice(0, limit);\n            }\n            results.push(...elements);\n        }\n        if (!optional && results.length == 0) {\n            errors.push(`\\`query(\"${originalSelector}\")\\` returned zero elements. (Use \\`query(\"${originalSelector}\", { optional: true })\\` if you wish to
  allow this.)`);\n        }\n        return results;\n    }\n}\nfunction AnimationTimelineContext_tsickle_Closure_declarations() {\n    /** @type {?} */\n    AnimationTimelineContext.prototype.parentContext;\n    /** @type {?} */\n    AnimationTimelineContext.prototype.currentTimeline;\n    /** @type {?} */\n    AnimationTimelineContext.prototype.currentAnimateTimings;\n    /** @type {?} */\n    AnimationTimelineContext.prototype.previousNode;\n    /** @type {?} */\n    AnimationTimelineContext.prototype.subContextCount;\n    /** @type {?} */\n    AnimationTimelineContext.prototype.options;\n    /** @type {?} */\n    AnimationTimelineContext.prototype.currentQueryIndex;\n    /** @type {?} */\n    AnimationTimelineContext.prototype.currentQueryTotal;\n    /** @type {?} */\n    AnimationTimelineContext.prototype.currentStaggerTime;\n    /** @type {?} */\n    AnimationTimelineContext.prototype._driver;\n    /** @type {?} */\n    AnimationTimelineContext.prototype.element;\n    /** @typ
 e {?} */\n    AnimationTimelineContext.prototype.subInstructions;\n    /** @type {?} */\n    AnimationTimelineContext.prototype._enterClassName;\n    /** @type {?} */\n    AnimationTimelineContext.prototype._leaveClassName;\n    /** @type {?} */\n    AnimationTimelineContext.prototype.errors;\n    /** @type {?} */\n    AnimationTimelineContext.prototype.timelines;\n}\nexport class TimelineBuilder {\n    /**\n     * @param {?} _driver\n     * @param {?} element\n     * @param {?} startTime\n     * @param {?=} _elementTimelineStylesLookup\n     */\n    constructor(_driver, element, startTime, _elementTimelineStylesLookup) {\n        this._driver = _driver;\n        this.element = element;\n        this.startTime = startTime;\n        this._elementTimelineStylesLookup = _elementTimelineStylesLookup;\n        this.duration = 0;\n        this._previousKeyframe = {};\n        this._currentKeyframe = {};\n        this._keyframes = new Map();\n        this._styleSummary = {};\n        this.
 _pendingStyles = {};\n        this._backFill = {};\n        this._currentEmptyStepKeyframe = null;\n        if (!this._elementTimelineStylesLookup) {\n            this._elementTimelineStylesLookup = new Map();\n        }\n        this._localTimelineStyles = Object.create(this._backFill, {});\n        this._globalTimelineStyles = /** @type {?} */ ((this._elementTimelineStylesLookup.get(element)));\n        if (!this._globalTimelineStyles) {\n            this._globalTimelineStyles = this._localTimelineStyles;\n            this._elementTimelineStylesLookup.set(element, this._localTimelineStyles);\n        }\n        this._loadKeyframe();\n    }\n    /**\n     * @return {?}\n     */\n    containsAnimation() {\n        switch (this._keyframes.size) {\n            case 0:\n                return false;\n            case 1:\n                return this.getCurrentStyleProperties().length > 0;\n            default:\n                return true;\n        }\n    }\n    /**\n     * @return {?}\
 n     */\n    getCurrentStyleProperties() { return Object.keys(this._currentKeyframe); }\n    /**\n     * @return {?}\n     */\n    get currentTime() { return this.startTime + this.duration; }\n    /**\n     * @param {?} delay\n     * @return {?}\n     */\n    delayNextStep(delay) {\n        // in the event that a style() step is placed right before a stagger()\n        // and that style() step is the very first style() value in the animation\n        // then we need to make a copy of the keyframe [0, copy, 1] so that the delay\n        // properly applies the style() values to work with the stagger...\n        const /** @type {?} */ hasPreStyleStep = this._keyframes.size == 1 && Object.keys(this._pendingStyles).length;\n        if (this.duration || hasPreStyleStep) {\n            this.forwardTime(this.currentTime + delay);\n            if (hasPreStyleStep) {\n                this.snapshotCurrentStyles();\n            }\n        }\n        else {\n            this.startTime += delay
 ;\n        }\n    }\n    /**\n     * @param {?} element\n     * @param {?=} currentTime\n     * @return {?}\n     */\n    fork(element, currentTime) {\n        this.applyStylesToKeyframe();\n        return new TimelineBuilder(this._driver, element, currentTime || this.currentTime, this._elementTimelineStylesLookup);\n    }\n    /**\n     * @return {?}\n     */\n    _loadKeyframe() {\n        if (this._currentKeyframe) {\n            this._previousKeyframe = this._currentKeyframe;\n        }\n        this._currentKeyframe = /** @type {?} */ ((this._keyframes.get(this.duration)));\n        if (!this._currentKeyframe) {\n            this._currentKeyframe = Object.create(this._backFill, {});\n            this._keyframes.set(this.duration, this._currentKeyframe);\n        }\n    }\n    /**\n     * @return {?}\n     */\n    forwardFrame() {\n        this.duration += ONE_FRAME_IN_MILLISECONDS;\n        this._loadKeyframe();\n    }\n    /**\n     * @param {?} time\n     * @return {?}\n     
 */\n    forwardTime(time) {\n        this.applyStylesToKeyframe();\n        this.duration = time;\n        this._loadKeyframe();\n    }\n    /**\n     * @param {?} prop\n     * @param {?} value\n     * @return {?}\n     */\n    _updateStyle(prop, value) {\n        this._localTimelineStyles[prop] = value;\n        this._globalTimelineStyles[prop] = value;\n        this._styleSummary[prop] = { time: this.currentTime, value };\n    }\n    /**\n     * @return {?}\n     */\n    allowOnlyTimelineStyles() { return this._currentEmptyStepKeyframe !== this._currentKeyframe; }\n    /**\n     * @param {?} easing\n     * @return {?}\n     */\n    applyEmptyStep(easing) {\n        if (easing) {\n            this._previousKeyframe['easing'] = easing;\n        }\n        // special case for animate(duration):\n        // all missing styles are filled with a `*` value then\n        // if any destination styles are filled in later on the same\n        // keyframe then they will override the overridde
 n styles\n        // We use `_globalTimelineStyles` here because there may be\n        // styles in previous keyframes that are not present in this timeline\n        Object.keys(this._globalTimelineStyles).forEach(prop => {\n            this._backFill[prop] = this._globalTimelineStyles[prop] || AUTO_STYLE;\n            this._currentKeyframe[prop] = AUTO_STYLE;\n        });\n        this._currentEmptyStepKeyframe = this._currentKeyframe;\n    }\n    /**\n     * @param {?} input\n     * @param {?} easing\n     * @param {?} errors\n     * @param {?=} options\n     * @return {?}\n     */\n    setStyles(input, easing, errors, options) {\n        if (easing) {\n            this._previousKeyframe['easing'] = easing;\n        }\n        const /** @type {?} */ params = (options && options.params) || {};\n        const /** @type {?} */ styles = flattenStyles(input, this._globalTimelineStyles);\n        Object.keys(styles).forEach(prop => {\n            const /** @type {?} */ val = interpolate
 Params(styles[prop], params, errors);\n            this._pendingStyles[prop] = val;\n            if (!this._localTimelineStyles.hasOwnProperty(prop)) {\n                this._backFill[prop] = this._globalTimelineStyles.hasOwnProperty(prop) ?\n                    this._globalTimelineStyles[prop] :\n                    AUTO_STYLE;\n            }\n            this._updateStyle(prop, val);\n        });\n    }\n    /**\n     * @return {?}\n     */\n    applyStylesToKeyframe() {\n        const /** @type {?} */ styles = this._pendingStyles;\n        const /** @type {?} */ props = Object.keys(styles);\n        if (props.length == 0)\n            return;\n        this._pendingStyles = {};\n        props.forEach(prop => {\n            const /** @type {?} */ val = styles[prop];\n            this._currentKeyframe[prop] = val;\n        });\n        Object.keys(this._localTimelineStyles).forEach(prop => {\n            if (!this._currentKeyframe.hasOwnProperty(prop)) {\n                this._curre
 ntKeyframe[prop] = this._localTimelineStyles[prop];\n            }\n        });\n    }\n    /**\n     * @return {?}\n     */\n    snapshotCurrentStyles() {\n        Object.keys(this._localTimelineStyles).forEach(prop => {\n            const /** @type {?} */ val = this._localTimelineStyles[prop];\n            this._pendingStyles[prop] = val;\n            this._updateStyle(prop, val);\n        });\n    }\n    /**\n     * @return {?}\n     */\n    getFinalKeyframe() { return this._keyframes.get(this.duration); }\n    /**\n     * @return {?}\n     */\n    get properties() {\n        const /** @type {?} */ properties = [];\n        for (let /** @type {?} */ prop in this._currentKeyframe) {\n            properties.push(prop);\n        }\n        return properties;\n    }\n    /**\n     * @param {?} timeline\n     * @return {?}\n     */\n    mergeTimelineCollectedStyles(timeline) {\n        Object.keys(timeline._styleSummary).forEach(prop => {\n            const /** @type {?} */ details0 =
  this._styleSummary[prop];\n            const /** @type {?} */ details1 = timeline._styleSummary[prop];\n            if (!details0 || details1.time > details0.time) {\n                this._updateStyle(prop, details1.value);\n            }\n        });\n    }\n    /**\n     * @return {?}\n     */\n    buildKeyframes() {\n        this.applyStylesToKeyframe();\n        const /** @type {?} */ preStyleProps = new Set();\n        const /** @type {?} */ postStyleProps = new Set();\n        const /** @type {?} */ isEmpty = this._keyframes.size === 1 && this.duration === 0;\n        let /** @type {?} */ finalKeyframes = [];\n        this._keyframes.forEach((keyframe, time) => {\n            const /** @type {?} */ finalKeyframe = copyStyles(keyframe, true);\n            Object.keys(finalKeyframe).forEach(prop => {\n                const /** @type {?} */ value = finalKeyframe[prop];\n                if (value == PRE_STYLE) {\n                    preStyleProps.add(prop);\n                }\n  
               else if (value == AUTO_STYLE) {\n                    postStyleProps.add(prop);\n                }\n            });\n            if (!isEmpty) {\n                finalKeyframe['offset'] = time / this.duration;\n            }\n            finalKeyframes.push(finalKeyframe);\n        });\n        const /** @type {?} */ preProps = preStyleProps.size ? iteratorToArray(preStyleProps.values()) : [];\n        const /** @type {?} */ postProps = postStyleProps.size ? iteratorToArray(postStyleProps.values()) : [];\n        // special case for a 0-second animation (which is designed just to place styles onscreen)\n        if (isEmpty) {\n            const /** @type {?} */ kf0 = finalKeyframes[0];\n            const /** @type {?} */ kf1 = copyObj(kf0);\n            kf0['offset'] = 0;\n            kf1['offset'] = 1;\n            finalKeyframes = [kf0, kf1];\n        }\n        return createTimelineInstruction(this.element, finalKeyframes, preProps, postProps, this.duration, this.sta
 rtTime, this.easing, false);\n    }\n}\nfunction TimelineBuilder_tsickle_Closure_declarations() {\n    /** @type {?} */\n    TimelineBuilder.prototype.duration;\n    /** @type {?} */\n    TimelineBuilder.prototype.easing;\n    /** @type {?} */\n    TimelineBuilder.prototype._previousKeyframe;\n    /** @type {?} *

<TRUNCATED>

[07/59] [abbrv] [partial] nifi-fds git commit: update gh-pages

Posted by sc...@apache.org.
http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/eec354e6/node_modules/@angular/cdk/esm2015/a11y.js
----------------------------------------------------------------------
diff --git a/node_modules/@angular/cdk/esm2015/a11y.js b/node_modules/@angular/cdk/esm2015/a11y.js
new file mode 100644
index 0000000..d291173
--- /dev/null
+++ b/node_modules/@angular/cdk/esm2015/a11y.js
@@ -0,0 +1,1873 @@
+/**
+ * @license
+ * Copyright Google LLC All Rights Reserved.
+ *
+ * Use of this source code is governed by an MIT-style license that can be
+ * found in the LICENSE file at https://angular.io/license
+ */
+import { Directive, ElementRef, EventEmitter, Inject, Injectable, InjectionToken, Input, NgModule, NgZone, Optional, Output, Renderer2, SkipSelf } from '@angular/core';
+import { coerceBooleanProperty } from '@angular/cdk/coercion';
+import { take } from 'rxjs/operators/take';
+import { Platform, PlatformModule, supportsPassiveEventListeners } from '@angular/cdk/platform';
+import { CommonModule, DOCUMENT } from '@angular/common';
+import { Subject } from 'rxjs/Subject';
+import { Subscription } from 'rxjs/Subscription';
+import { A, DOWN_ARROW, LEFT_ARROW, NINE, RIGHT_ARROW, TAB, UP_ARROW, Z, ZERO } from '@angular/cdk/keycodes';
+import { debounceTime } from 'rxjs/operators/debounceTime';
+import { filter } from 'rxjs/operators/filter';
+import { map } from 'rxjs/operators/map';
+import { tap } from 'rxjs/operators/tap';
+import { of } from 'rxjs/observable/of';
+
+/**
+ * @fileoverview added by tsickle
+ * @suppress {checkTypes} checked by tsc
+ */
+
+/**
+ * Utility for checking the interactivity of an element, such as whether is is focusable or
+ * tabbable.
+ */
+class InteractivityChecker {
+    /**
+     * @param {?} _platform
+     */
+    constructor(_platform) {
+        this._platform = _platform;
+    }
+    /**
+     * Gets whether an element is disabled.
+     *
+     * @param {?} element Element to be checked.
+     * @return {?} Whether the element is disabled.
+     */
+    isDisabled(element) {
+        // This does not capture some cases, such as a non-form control with a disabled attribute or
+        // a form control inside of a disabled form, but should capture the most common cases.
+        return element.hasAttribute('disabled');
+    }
+    /**
+     * Gets whether an element is visible for the purposes of interactivity.
+     *
+     * This will capture states like `display: none` and `visibility: hidden`, but not things like
+     * being clipped by an `overflow: hidden` parent or being outside the viewport.
+     *
+     * @param {?} element
+     * @return {?} Whether the element is visible.
+     */
+    isVisible(element) {
+        return hasGeometry(element) && getComputedStyle(element).visibility === 'visible';
+    }
+    /**
+     * Gets whether an element can be reached via Tab key.
+     * Assumes that the element has already been checked with isFocusable.
+     *
+     * @param {?} element Element to be checked.
+     * @return {?} Whether the element is tabbable.
+     */
+    isTabbable(element) {
+        // Nothing is tabbable on the the server 😎
+        if (!this._platform.isBrowser) {
+            return false;
+        }
+        const /** @type {?} */ frameElement = getFrameElement(getWindow(element));
+        if (frameElement) {
+            const /** @type {?} */ frameType = frameElement && frameElement.nodeName.toLowerCase();
+            // Frame elements inherit their tabindex onto all child elements.
+            if (getTabIndexValue(frameElement) === -1) {
+                return false;
+            }
+            // Webkit and Blink consider anything inside of an <object> element as non-tabbable.
+            if ((this._platform.BLINK || this._platform.WEBKIT) && frameType === 'object') {
+                return false;
+            }
+            // Webkit and Blink disable tabbing to an element inside of an invisible frame.
+            if ((this._platform.BLINK || this._platform.WEBKIT) && !this.isVisible(frameElement)) {
+                return false;
+            }
+        }
+        let /** @type {?} */ nodeName = element.nodeName.toLowerCase();
+        let /** @type {?} */ tabIndexValue = getTabIndexValue(element);
+        if (element.hasAttribute('contenteditable')) {
+            return tabIndexValue !== -1;
+        }
+        if (nodeName === 'iframe') {
+            // The frames may be tabbable depending on content, but it's not possibly to reliably
+            // investigate the content of the frames.
+            return false;
+        }
+        if (nodeName === 'audio') {
+            if (!element.hasAttribute('controls')) {
+                // By default an <audio> element without the controls enabled is not tabbable.
+                return false;
+            }
+            else if (this._platform.BLINK) {
+                // In Blink <audio controls> elements are always tabbable.
+                return true;
+            }
+        }
+        if (nodeName === 'video') {
+            if (!element.hasAttribute('controls') && this._platform.TRIDENT) {
+                // In Trident a <video> element without the controls enabled is not tabbable.
+                return false;
+            }
+            else if (this._platform.BLINK || this._platform.FIREFOX) {
+                // In Chrome and Firefox <video controls> elements are always tabbable.
+                return true;
+            }
+        }
+        if (nodeName === 'object' && (this._platform.BLINK || this._platform.WEBKIT)) {
+            // In all Blink and WebKit based browsers <object> elements are never tabbable.
+            return false;
+        }
+        // In iOS the browser only considers some specific elements as tabbable.
+        if (this._platform.WEBKIT && this._platform.IOS && !isPotentiallyTabbableIOS(element)) {
+            return false;
+        }
+        return element.tabIndex >= 0;
+    }
+    /**
+     * Gets whether an element can be focused by the user.
+     *
+     * @param {?} element Element to be checked.
+     * @return {?} Whether the element is focusable.
+     */
+    isFocusable(element) {
+        // Perform checks in order of left to most expensive.
+        // Again, naive approach that does not capture many edge cases and browser quirks.
+        return isPotentiallyFocusable(element) && !this.isDisabled(element) && this.isVisible(element);
+    }
+}
+InteractivityChecker.decorators = [
+    { type: Injectable },
+];
+/** @nocollapse */
+InteractivityChecker.ctorParameters = () => [
+    { type: Platform, },
+];
+/**
+ * Returns the frame element from a window object. Since browsers like MS Edge throw errors if
+ * the frameElement property is being accessed from a different host address, this property
+ * should be accessed carefully.
+ * @param {?} window
+ * @return {?}
+ */
+function getFrameElement(window) {
+    try {
+        return /** @type {?} */ (window.frameElement);
+    }
+    catch (/** @type {?} */ e) {
+        return null;
+    }
+}
+/**
+ * Checks whether the specified element has any geometry / rectangles.
+ * @param {?} element
+ * @return {?}
+ */
+function hasGeometry(element) {
+    // Use logic from jQuery to check for an invisible element.
+    // See https://github.com/jquery/jquery/blob/master/src/css/hiddenVisibleSelectors.js#L12
+    return !!(element.offsetWidth || element.offsetHeight ||
+        (typeof element.getClientRects === 'function' && element.getClientRects().length));
+}
+/**
+ * Gets whether an element's
+ * @param {?} element
+ * @return {?}
+ */
+function isNativeFormElement(element) {
+    let /** @type {?} */ nodeName = element.nodeName.toLowerCase();
+    return nodeName === 'input' ||
+        nodeName === 'select' ||
+        nodeName === 'button' ||
+        nodeName === 'textarea';
+}
+/**
+ * Gets whether an element is an `<input type="hidden">`.
+ * @param {?} element
+ * @return {?}
+ */
+function isHiddenInput(element) {
+    return isInputElement(element) && element.type == 'hidden';
+}
+/**
+ * Gets whether an element is an anchor that has an href attribute.
+ * @param {?} element
+ * @return {?}
+ */
+function isAnchorWithHref(element) {
+    return isAnchorElement(element) && element.hasAttribute('href');
+}
+/**
+ * Gets whether an element is an input element.
+ * @param {?} element
+ * @return {?}
+ */
+function isInputElement(element) {
+    return element.nodeName.toLowerCase() == 'input';
+}
+/**
+ * Gets whether an element is an anchor element.
+ * @param {?} element
+ * @return {?}
+ */
+function isAnchorElement(element) {
+    return element.nodeName.toLowerCase() == 'a';
+}
+/**
+ * Gets whether an element has a valid tabindex.
+ * @param {?} element
+ * @return {?}
+ */
+function hasValidTabIndex(element) {
+    if (!element.hasAttribute('tabindex') || element.tabIndex === undefined) {
+        return false;
+    }
+    let /** @type {?} */ tabIndex = element.getAttribute('tabindex');
+    // IE11 parses tabindex="" as the value "-32768"
+    if (tabIndex == '-32768') {
+        return false;
+    }
+    return !!(tabIndex && !isNaN(parseInt(tabIndex, 10)));
+}
+/**
+ * Returns the parsed tabindex from the element attributes instead of returning the
+ * evaluated tabindex from the browsers defaults.
+ * @param {?} element
+ * @return {?}
+ */
+function getTabIndexValue(element) {
+    if (!hasValidTabIndex(element)) {
+        return null;
+    }
+    // See browser issue in Gecko https://bugzilla.mozilla.org/show_bug.cgi?id=1128054
+    const /** @type {?} */ tabIndex = parseInt(element.getAttribute('tabindex') || '', 10);
+    return isNaN(tabIndex) ? -1 : tabIndex;
+}
+/**
+ * Checks whether the specified element is potentially tabbable on iOS
+ * @param {?} element
+ * @return {?}
+ */
+function isPotentiallyTabbableIOS(element) {
+    let /** @type {?} */ nodeName = element.nodeName.toLowerCase();
+    let /** @type {?} */ inputType = nodeName === 'input' && (/** @type {?} */ (element)).type;
+    return inputType === 'text'
+        || inputType === 'password'
+        || nodeName === 'select'
+        || nodeName === 'textarea';
+}
+/**
+ * Gets whether an element is potentially focusable without taking current visible/disabled state
+ * into account.
+ * @param {?} element
+ * @return {?}
+ */
+function isPotentiallyFocusable(element) {
+    // Inputs are potentially focusable *unless* they're type="hidden".
+    if (isHiddenInput(element)) {
+        return false;
+    }
+    return isNativeFormElement(element) ||
+        isAnchorWithHref(element) ||
+        element.hasAttribute('contenteditable') ||
+        hasValidTabIndex(element);
+}
+/**
+ * Gets the parent window of a DOM node with regards of being inside of an iframe.
+ * @param {?} node
+ * @return {?}
+ */
+function getWindow(node) {
+    return node.ownerDocument.defaultView || window;
+}
+
+/**
+ * @fileoverview added by tsickle
+ * @suppress {checkTypes} checked by tsc
+ */
+
+/**
+ * Class that allows for trapping focus within a DOM element.
+ *
+ * This class currently uses a relatively simple approach to focus trapping.
+ * It assumes that the tab order is the same as DOM order, which is not necessarily true.
+ * Things like `tabIndex > 0`, flex `order`, and shadow roots can cause to two to misalign.
+ */
+class FocusTrap {
+    /**
+     * @param {?} _element
+     * @param {?} _checker
+     * @param {?} _ngZone
+     * @param {?} _document
+     * @param {?=} deferAnchors
+     */
+    constructor(_element, _checker, _ngZone, _document, deferAnchors = false) {
+        this._element = _element;
+        this._checker = _checker;
+        this._ngZone = _ngZone;
+        this._document = _document;
+        this._enabled = true;
+        if (!deferAnchors) {
+            this.attachAnchors();
+        }
+    }
+    /**
+     * Whether the focus trap is active.
+     * @return {?}
+     */
+    get enabled() { return this._enabled; }
+    /**
+     * @param {?} val
+     * @return {?}
+     */
+    set enabled(val) {
+        this._enabled = val;
+        if (this._startAnchor && this._endAnchor) {
+            this._startAnchor.tabIndex = this._endAnchor.tabIndex = this._enabled ? 0 : -1;
+        }
+    }
+    /**
+     * Destroys the focus trap by cleaning up the anchors.
+     * @return {?}
+     */
+    destroy() {
+        if (this._startAnchor && this._startAnchor.parentNode) {
+            this._startAnchor.parentNode.removeChild(this._startAnchor);
+        }
+        if (this._endAnchor && this._endAnchor.parentNode) {
+            this._endAnchor.parentNode.removeChild(this._endAnchor);
+        }
+        this._startAnchor = this._endAnchor = null;
+    }
+    /**
+     * Inserts the anchors into the DOM. This is usually done automatically
+     * in the constructor, but can be deferred for cases like directives with `*ngIf`.
+     * @return {?}
+     */
+    attachAnchors() {
+        if (!this._startAnchor) {
+            this._startAnchor = this._createAnchor();
+        }
+        if (!this._endAnchor) {
+            this._endAnchor = this._createAnchor();
+        }
+        this._ngZone.runOutsideAngular(() => {
+            /** @type {?} */ ((this._startAnchor)).addEventListener('focus', () => {
+                this.focusLastTabbableElement();
+            }); /** @type {?} */
+            ((this._endAnchor)).addEventListener('focus', () => {
+                this.focusFirstTabbableElement();
+            });
+            if (this._element.parentNode) {
+                this._element.parentNode.insertBefore(/** @type {?} */ ((this._startAnchor)), this._element);
+                this._element.parentNode.insertBefore(/** @type {?} */ ((this._endAnchor)), this._element.nextSibling);
+            }
+        });
+    }
+    /**
+     * Waits for the zone to stabilize, then either focuses the first element that the
+     * user specified, or the first tabbable element.
+     * @return {?} Returns a promise that resolves with a boolean, depending
+     * on whether focus was moved successfuly.
+     */
+    focusInitialElementWhenReady() {
+        return new Promise(resolve => {
+            this._executeOnStable(() => resolve(this.focusInitialElement()));
+        });
+    }
+    /**
+     * Waits for the zone to stabilize, then focuses
+     * the first tabbable element within the focus trap region.
+     * @return {?} Returns a promise that resolves with a boolean, depending
+     * on whether focus was moved successfuly.
+     */
+    focusFirstTabbableElementWhenReady() {
+        return new Promise(resolve => {
+            this._executeOnStable(() => resolve(this.focusFirstTabbableElement()));
+        });
+    }
+    /**
+     * Waits for the zone to stabilize, then focuses
+     * the last tabbable element within the focus trap region.
+     * @return {?} Returns a promise that resolves with a boolean, depending
+     * on whether focus was moved successfuly.
+     */
+    focusLastTabbableElementWhenReady() {
+        return new Promise(resolve => {
+            this._executeOnStable(() => resolve(this.focusLastTabbableElement()));
+        });
+    }
+    /**
+     * Get the specified boundary element of the trapped region.
+     * @param {?} bound The boundary to get (start or end of trapped region).
+     * @return {?} The boundary element.
+     */
+    _getRegionBoundary(bound) {
+        // Contains the deprecated version of selector, for temporary backwards comparability.
+        let /** @type {?} */ markers = /** @type {?} */ (this._element.querySelectorAll(`[cdk-focus-region-${bound}], ` +
+            `[cdkFocusRegion${bound}], ` +
+            `[cdk-focus-${bound}]`));
+        for (let /** @type {?} */ i = 0; i < markers.length; i++) {
+            if (markers[i].hasAttribute(`cdk-focus-${bound}`)) {
+                console.warn(`Found use of deprecated attribute 'cdk-focus-${bound}',` +
+                    ` use 'cdkFocusRegion${bound}' instead.`, markers[i]);
+            }
+            else if (markers[i].hasAttribute(`cdk-focus-region-${bound}`)) {
+                console.warn(`Found use of deprecated attribute 'cdk-focus-region-${bound}',` +
+                    ` use 'cdkFocusRegion${bound}' instead.`, markers[i]);
+            }
+        }
+        if (bound == 'start') {
+            return markers.length ? markers[0] : this._getFirstTabbableElement(this._element);
+        }
+        return markers.length ?
+            markers[markers.length - 1] : this._getLastTabbableElement(this._element);
+    }
+    /**
+     * Focuses the element that should be focused when the focus trap is initialized.
+     * @return {?} Whether focus was moved successfuly.
+     */
+    focusInitialElement() {
+        // Contains the deprecated version of selector, for temporary backwards comparability.
+        const /** @type {?} */ redirectToElement = /** @type {?} */ (this._element.querySelector(`[cdk-focus-initial], ` +
+            `[cdkFocusInitial]`));
+        if (this._element.hasAttribute(`cdk-focus-initial`)) {
+            console.warn(`Found use of deprecated attribute 'cdk-focus-initial',` +
+                ` use 'cdkFocusInitial' instead.`, this._element);
+        }
+        if (redirectToElement) {
+            redirectToElement.focus();
+            return true;
+        }
+        return this.focusFirstTabbableElement();
+    }
+    /**
+     * Focuses the first tabbable element within the focus trap region.
+     * @return {?} Whether focus was moved successfuly.
+     */
+    focusFirstTabbableElement() {
+        const /** @type {?} */ redirectToElement = this._getRegionBoundary('start');
+        if (redirectToElement) {
+            redirectToElement.focus();
+        }
+        return !!redirectToElement;
+    }
+    /**
+     * Focuses the last tabbable element within the focus trap region.
+     * @return {?} Whether focus was moved successfuly.
+     */
+    focusLastTabbableElement() {
+        const /** @type {?} */ redirectToElement = this._getRegionBoundary('end');
+        if (redirectToElement) {
+            redirectToElement.focus();
+        }
+        return !!redirectToElement;
+    }
+    /**
+     * Get the first tabbable element from a DOM subtree (inclusive).
+     * @param {?} root
+     * @return {?}
+     */
+    _getFirstTabbableElement(root) {
+        if (this._checker.isFocusable(root) && this._checker.isTabbable(root)) {
+            return root;
+        }
+        // Iterate in DOM order. Note that IE doesn't have `children` for SVG so we fall
+        // back to `childNodes` which includes text nodes, comments etc.
+        let /** @type {?} */ children = root.children || root.childNodes;
+        for (let /** @type {?} */ i = 0; i < children.length; i++) {
+            let /** @type {?} */ tabbableChild = children[i].nodeType === this._document.ELEMENT_NODE ?
+                this._getFirstTabbableElement(/** @type {?} */ (children[i])) :
+                null;
+            if (tabbableChild) {
+                return tabbableChild;
+            }
+        }
+        return null;
+    }
+    /**
+     * Get the last tabbable element from a DOM subtree (inclusive).
+     * @param {?} root
+     * @return {?}
+     */
+    _getLastTabbableElement(root) {
+        if (this._checker.isFocusable(root) && this._checker.isTabbable(root)) {
+            return root;
+        }
+        // Iterate in reverse DOM order.
+        let /** @type {?} */ children = root.children || root.childNodes;
+        for (let /** @type {?} */ i = children.length - 1; i >= 0; i--) {
+            let /** @type {?} */ tabbableChild = children[i].nodeType === this._document.ELEMENT_NODE ?
+                this._getLastTabbableElement(/** @type {?} */ (children[i])) :
+                null;
+            if (tabbableChild) {
+                return tabbableChild;
+            }
+        }
+        return null;
+    }
+    /**
+     * Creates an anchor element.
+     * @return {?}
+     */
+    _createAnchor() {
+        const /** @type {?} */ anchor = this._document.createElement('div');
+        anchor.tabIndex = this._enabled ? 0 : -1;
+        anchor.classList.add('cdk-visually-hidden');
+        anchor.classList.add('cdk-focus-trap-anchor');
+        return anchor;
+    }
+    /**
+     * Executes a function when the zone is stable.
+     * @param {?} fn
+     * @return {?}
+     */
+    _executeOnStable(fn) {
+        if (this._ngZone.isStable) {
+            fn();
+        }
+        else {
+            this._ngZone.onStable.asObservable().pipe(take(1)).subscribe(fn);
+        }
+    }
+}
+/**
+ * Factory that allows easy instantiation of focus traps.
+ */
+class FocusTrapFactory {
+    /**
+     * @param {?} _checker
+     * @param {?} _ngZone
+     * @param {?} _document
+     */
+    constructor(_checker, _ngZone, _document) {
+        this._checker = _checker;
+        this._ngZone = _ngZone;
+        this._document = _document;
+    }
+    /**
+     * Creates a focus-trapped region around the given element.
+     * @param {?} element The element around which focus will be trapped.
+     * @param {?=} deferCaptureElements Defers the creation of focus-capturing elements to be done
+     *     manually by the user.
+     * @return {?} The created focus trap instance.
+     */
+    create(element, deferCaptureElements = false) {
+        return new FocusTrap(element, this._checker, this._ngZone, this._document, deferCaptureElements);
+    }
+}
+FocusTrapFactory.decorators = [
+    { type: Injectable },
+];
+/** @nocollapse */
+FocusTrapFactory.ctorParameters = () => [
+    { type: InteractivityChecker, },
+    { type: NgZone, },
+    { type: undefined, decorators: [{ type: Inject, args: [DOCUMENT,] },] },
+];
+/**
+ * Directive for trapping focus within a region.
+ * \@docs-private
+ * @deprecated
+ * \@deletion-target 6.0.0
+ */
+class FocusTrapDeprecatedDirective {
+    /**
+     * @param {?} _elementRef
+     * @param {?} _focusTrapFactory
+     */
+    constructor(_elementRef, _focusTrapFactory) {
+        this._elementRef = _elementRef;
+        this._focusTrapFactory = _focusTrapFactory;
+        this.focusTrap = this._focusTrapFactory.create(this._elementRef.nativeElement, true);
+    }
+    /**
+     * Whether the focus trap is active.
+     * @return {?}
+     */
+    get disabled() { return !this.focusTrap.enabled; }
+    /**
+     * @param {?} val
+     * @return {?}
+     */
+    set disabled(val) {
+        this.focusTrap.enabled = !coerceBooleanProperty(val);
+    }
+    /**
+     * @return {?}
+     */
+    ngOnDestroy() {
+        this.focusTrap.destroy();
+    }
+    /**
+     * @return {?}
+     */
+    ngAfterContentInit() {
+        this.focusTrap.attachAnchors();
+    }
+}
+FocusTrapDeprecatedDirective.decorators = [
+    { type: Directive, args: [{
+                selector: 'cdk-focus-trap',
+            },] },
+];
+/** @nocollapse */
+FocusTrapDeprecatedDirective.ctorParameters = () => [
+    { type: ElementRef, },
+    { type: FocusTrapFactory, },
+];
+FocusTrapDeprecatedDirective.propDecorators = {
+    "disabled": [{ type: Input },],
+};
+/**
+ * Directive for trapping focus within a region.
+ */
+class CdkTrapFocus {
+    /**
+     * @param {?} _elementRef
+     * @param {?} _focusTrapFactory
+     * @param {?} _document
+     */
+    constructor(_elementRef, _focusTrapFactory, _document) {
+        this._elementRef = _elementRef;
+        this._focusTrapFactory = _focusTrapFactory;
+        /**
+         * Previously focused element to restore focus to upon destroy when using autoCapture.
+         */
+        this._previouslyFocusedElement = null;
+        this._document = _document;
+        this.focusTrap = this._focusTrapFactory.create(this._elementRef.nativeElement, true);
+    }
+    /**
+     * Whether the focus trap is active.
+     * @return {?}
+     */
+    get enabled() { return this.focusTrap.enabled; }
+    /**
+     * @param {?} value
+     * @return {?}
+     */
+    set enabled(value) { this.focusTrap.enabled = coerceBooleanProperty(value); }
+    /**
+     * Whether the directive should automatially move focus into the trapped region upon
+     * initialization and return focus to the previous activeElement upon destruction.
+     * @return {?}
+     */
+    get autoCapture() { return this._autoCapture; }
+    /**
+     * @param {?} value
+     * @return {?}
+     */
+    set autoCapture(value) { this._autoCapture = coerceBooleanProperty(value); }
+    /**
+     * @return {?}
+     */
+    ngOnDestroy() {
+        this.focusTrap.destroy();
+        // If we stored a previously focused element when using autoCapture, return focus to that
+        // element now that the trapped region is being destroyed.
+        if (this._previouslyFocusedElement) {
+            this._previouslyFocusedElement.focus();
+            this._previouslyFocusedElement = null;
+        }
+    }
+    /**
+     * @return {?}
+     */
+    ngAfterContentInit() {
+        this.focusTrap.attachAnchors();
+        if (this.autoCapture) {
+            this._previouslyFocusedElement = /** @type {?} */ (this._document.activeElement);
+            this.focusTrap.focusInitialElementWhenReady();
+        }
+    }
+}
+CdkTrapFocus.decorators = [
+    { type: Directive, args: [{
+                selector: '[cdkTrapFocus]',
+                exportAs: 'cdkTrapFocus',
+            },] },
+];
+/** @nocollapse */
+CdkTrapFocus.ctorParameters = () => [
+    { type: ElementRef, },
+    { type: FocusTrapFactory, },
+    { type: undefined, decorators: [{ type: Inject, args: [DOCUMENT,] },] },
+];
+CdkTrapFocus.propDecorators = {
+    "enabled": [{ type: Input, args: ['cdkTrapFocus',] },],
+    "autoCapture": [{ type: Input, args: ['cdkTrapFocusAutoCapture',] },],
+};
+
+/**
+ * @fileoverview added by tsickle
+ * @suppress {checkTypes} checked by tsc
+ */
+
+/**
+ * IDs are deliminated by an empty space, as per the spec.
+ */
+const ID_DELIMINATOR = ' ';
+/**
+ * Adds the given ID to the specified ARIA attribute on an element.
+ * Used for attributes such as aria-labelledby, aria-owns, etc.
+ * @param {?} el
+ * @param {?} attr
+ * @param {?} id
+ * @return {?}
+ */
+function addAriaReferencedId(el, attr, id) {
+    const /** @type {?} */ ids = getAriaReferenceIds(el, attr);
+    if (ids.some(existingId => existingId.trim() == id.trim())) {
+        return;
+    }
+    ids.push(id.trim());
+    el.setAttribute(attr, ids.join(ID_DELIMINATOR));
+}
+/**
+ * Removes the given ID from the specified ARIA attribute on an element.
+ * Used for attributes such as aria-labelledby, aria-owns, etc.
+ * @param {?} el
+ * @param {?} attr
+ * @param {?} id
+ * @return {?}
+ */
+function removeAriaReferencedId(el, attr, id) {
+    const /** @type {?} */ ids = getAriaReferenceIds(el, attr);
+    const /** @type {?} */ filteredIds = ids.filter(val => val != id.trim());
+    el.setAttribute(attr, filteredIds.join(ID_DELIMINATOR));
+}
+/**
+ * Gets the list of IDs referenced by the given ARIA attribute on an element.
+ * Used for attributes such as aria-labelledby, aria-owns, etc.
+ * @param {?} el
+ * @param {?} attr
+ * @return {?}
+ */
+function getAriaReferenceIds(el, attr) {
+    // Get string array of all individual ids (whitespace deliminated) in the attribute value
+    return (el.getAttribute(attr) || '').match(/\S+/g) || [];
+}
+
+/**
+ * @fileoverview added by tsickle
+ * @suppress {checkTypes} checked by tsc
+ */
+
+/**
+ * Interface used to register message elements and keep a count of how many registrations have
+ * the same message and the reference to the message element used for the `aria-describedby`.
+ * @record
+ */
+
+/**
+ * ID used for the body container where all messages are appended.
+ */
+const MESSAGES_CONTAINER_ID = 'cdk-describedby-message-container';
+/**
+ * ID prefix used for each created message element.
+ */
+const CDK_DESCRIBEDBY_ID_PREFIX = 'cdk-describedby-message';
+/**
+ * Attribute given to each host element that is described by a message element.
+ */
+const CDK_DESCRIBEDBY_HOST_ATTRIBUTE = 'cdk-describedby-host';
+/**
+ * Global incremental identifier for each registered message element.
+ */
+let nextId = 0;
+/**
+ * Global map of all registered message elements that have been placed into the document.
+ */
+const messageRegistry = new Map();
+/**
+ * Container for all registered messages.
+ */
+let messagesContainer = null;
+/**
+ * Utility that creates visually hidden elements with a message content. Useful for elements that
+ * want to use aria-describedby to further describe themselves without adding additional visual
+ * content.
+ * \@docs-private
+ */
+class AriaDescriber {
+    /**
+     * @param {?} _document
+     */
+    constructor(_document) {
+        this._document = _document;
+    }
+    /**
+     * Adds to the host element an aria-describedby reference to a hidden element that contains
+     * the message. If the same message has already been registered, then it will reuse the created
+     * message element.
+     * @param {?} hostElement
+     * @param {?} message
+     * @return {?}
+     */
+    describe(hostElement, message) {
+        if (hostElement.nodeType !== this._document.ELEMENT_NODE || !message.trim()) {
+            return;
+        }
+        if (!messageRegistry.has(message)) {
+            this._createMessageElement(message);
+        }
+        if (!this._isElementDescribedByMessage(hostElement, message)) {
+            this._addMessageReference(hostElement, message);
+        }
+    }
+    /**
+     * Removes the host element's aria-describedby reference to the message element.
+     * @param {?} hostElement
+     * @param {?} message
+     * @return {?}
+     */
+    removeDescription(hostElement, message) {
+        if (hostElement.nodeType !== this._document.ELEMENT_NODE || !message.trim()) {
+            return;
+        }
+        if (this._isElementDescribedByMessage(hostElement, message)) {
+            this._removeMessageReference(hostElement, message);
+        }
+        const /** @type {?} */ registeredMessage = messageRegistry.get(message);
+        if (registeredMessage && registeredMessage.referenceCount === 0) {
+            this._deleteMessageElement(message);
+        }
+        if (messagesContainer && messagesContainer.childNodes.length === 0) {
+            this._deleteMessagesContainer();
+        }
+    }
+    /**
+     * Unregisters all created message elements and removes the message container.
+     * @return {?}
+     */
+    ngOnDestroy() {
+        const /** @type {?} */ describedElements = this._document.querySelectorAll(`[${CDK_DESCRIBEDBY_HOST_ATTRIBUTE}]`);
+        for (let /** @type {?} */ i = 0; i < describedElements.length; i++) {
+            this._removeCdkDescribedByReferenceIds(describedElements[i]);
+            describedElements[i].removeAttribute(CDK_DESCRIBEDBY_HOST_ATTRIBUTE);
+        }
+        if (messagesContainer) {
+            this._deleteMessagesContainer();
+        }
+        messageRegistry.clear();
+    }
+    /**
+     * Creates a new element in the visually hidden message container element with the message
+     * as its content and adds it to the message registry.
+     * @param {?} message
+     * @return {?}
+     */
+    _createMessageElement(message) {
+        const /** @type {?} */ messageElement = this._document.createElement('div');
+        messageElement.setAttribute('id', `${CDK_DESCRIBEDBY_ID_PREFIX}-${nextId++}`);
+        messageElement.appendChild(/** @type {?} */ ((this._document.createTextNode(message))));
+        if (!messagesContainer) {
+            this._createMessagesContainer();
+        } /** @type {?} */
+        ((messagesContainer)).appendChild(messageElement);
+        messageRegistry.set(message, { messageElement, referenceCount: 0 });
+    }
+    /**
+     * Deletes the message element from the global messages container.
+     * @param {?} message
+     * @return {?}
+     */
+    _deleteMessageElement(message) {
+        const /** @type {?} */ registeredMessage = messageRegistry.get(message);
+        const /** @type {?} */ messageElement = registeredMessage && registeredMessage.messageElement;
+        if (messagesContainer && messageElement) {
+            messagesContainer.removeChild(messageElement);
+        }
+        messageRegistry.delete(message);
+    }
+    /**
+     * Creates the global container for all aria-describedby messages.
+     * @return {?}
+     */
+    _createMessagesContainer() {
+        messagesContainer = this._document.createElement('div');
+        messagesContainer.setAttribute('id', MESSAGES_CONTAINER_ID);
+        messagesContainer.setAttribute('aria-hidden', 'true');
+        messagesContainer.style.display = 'none';
+        this._document.body.appendChild(messagesContainer);
+    }
+    /**
+     * Deletes the global messages container.
+     * @return {?}
+     */
+    _deleteMessagesContainer() {
+        if (messagesContainer && messagesContainer.parentNode) {
+            messagesContainer.parentNode.removeChild(messagesContainer);
+            messagesContainer = null;
+        }
+    }
+    /**
+     * Removes all cdk-describedby messages that are hosted through the element.
+     * @param {?} element
+     * @return {?}
+     */
+    _removeCdkDescribedByReferenceIds(element) {
+        // Remove all aria-describedby reference IDs that are prefixed by CDK_DESCRIBEDBY_ID_PREFIX
+        const /** @type {?} */ originalReferenceIds = getAriaReferenceIds(element, 'aria-describedby')
+            .filter(id => id.indexOf(CDK_DESCRIBEDBY_ID_PREFIX) != 0);
+        element.setAttribute('aria-describedby', originalReferenceIds.join(' '));
+    }
+    /**
+     * Adds a message reference to the element using aria-describedby and increments the registered
+     * message's reference count.
+     * @param {?} element
+     * @param {?} message
+     * @return {?}
+     */
+    _addMessageReference(element, message) {
+        const /** @type {?} */ registeredMessage = /** @type {?} */ ((messageRegistry.get(message)));
+        // Add the aria-describedby reference and set the
+        // describedby_host attribute to mark the element.
+        addAriaReferencedId(element, 'aria-describedby', registeredMessage.messageElement.id);
+        element.setAttribute(CDK_DESCRIBEDBY_HOST_ATTRIBUTE, '');
+        registeredMessage.referenceCount++;
+    }
+    /**
+     * Removes a message reference from the element using aria-describedby
+     * and decrements the registered message's reference count.
+     * @param {?} element
+     * @param {?} message
+     * @return {?}
+     */
+    _removeMessageReference(element, message) {
+        const /** @type {?} */ registeredMessage = /** @type {?} */ ((messageRegistry.get(message)));
+        registeredMessage.referenceCount--;
+        removeAriaReferencedId(element, 'aria-describedby', registeredMessage.messageElement.id);
+        element.removeAttribute(CDK_DESCRIBEDBY_HOST_ATTRIBUTE);
+    }
+    /**
+     * Returns true if the element has been described by the provided message ID.
+     * @param {?} element
+     * @param {?} message
+     * @return {?}
+     */
+    _isElementDescribedByMessage(element, message) {
+        const /** @type {?} */ referenceIds = getAriaReferenceIds(element, 'aria-describedby');
+        const /** @type {?} */ registeredMessage = messageRegistry.get(message);
+        const /** @type {?} */ messageId = registeredMessage && registeredMessage.messageElement.id;
+        return !!messageId && referenceIds.indexOf(messageId) != -1;
+    }
+}
+AriaDescriber.decorators = [
+    { type: Injectable },
+];
+/** @nocollapse */
+AriaDescriber.ctorParameters = () => [
+    { type: undefined, decorators: [{ type: Inject, args: [DOCUMENT,] },] },
+];
+/**
+ * \@docs-private
+ * @param {?} parentDispatcher
+ * @param {?} _document
+ * @return {?}
+ */
+function ARIA_DESCRIBER_PROVIDER_FACTORY(parentDispatcher, _document) {
+    return parentDispatcher || new AriaDescriber(_document);
+}
+/**
+ * \@docs-private
+ */
+const ARIA_DESCRIBER_PROVIDER = {
+    // If there is already an AriaDescriber available, use that. Otherwise, provide a new one.
+    provide: AriaDescriber,
+    deps: [
+        [new Optional(), new SkipSelf(), AriaDescriber],
+        /** @type {?} */ (DOCUMENT)
+    ],
+    useFactory: ARIA_DESCRIBER_PROVIDER_FACTORY
+};
+
+/**
+ * @fileoverview added by tsickle
+ * @suppress {checkTypes} checked by tsc
+ */
+
+/**
+ * This interface is for items that can be passed to a ListKeyManager.
+ * @record
+ */
+
+/**
+ * This class manages keyboard events for selectable lists. If you pass it a query list
+ * of items, it will set the active item correctly when arrow events occur.
+ */
+class ListKeyManager {
+    /**
+     * @param {?} _items
+     */
+    constructor(_items) {
+        this._items = _items;
+        this._activeItemIndex = -1;
+        this._wrap = false;
+        this._letterKeyStream = new Subject();
+        this._typeaheadSubscription = Subscription.EMPTY;
+        this._vertical = true;
+        this._pressedLetters = [];
+        /**
+         * Stream that emits any time the TAB key is pressed, so components can react
+         * when focus is shifted off of the list.
+         */
+        this.tabOut = new Subject();
+        /**
+         * Stream that emits whenever the active item of the list manager changes.
+         */
+        this.change = new Subject();
+        _items.changes.subscribe((newItems) => {
+            if (this._activeItem) {
+                const /** @type {?} */ itemArray = newItems.toArray();
+                const /** @type {?} */ newIndex = itemArray.indexOf(this._activeItem);
+                if (newIndex > -1 && newIndex !== this._activeItemIndex) {
+                    this._activeItemIndex = newIndex;
+                }
+            }
+        });
+    }
+    /**
+     * Turns on wrapping mode, which ensures that the active item will wrap to
+     * the other end of list when there are no more items in the given direction.
+     * @return {?}
+     */
+    withWrap() {
+        this._wrap = true;
+        return this;
+    }
+    /**
+     * Configures whether the key manager should be able to move the selection vertically.
+     * @param {?=} enabled Whether vertical selection should be enabled.
+     * @return {?}
+     */
+    withVerticalOrientation(enabled = true) {
+        this._vertical = enabled;
+        return this;
+    }
+    /**
+     * Configures the key manager to move the selection horizontally.
+     * Passing in `null` will disable horizontal movement.
+     * @param {?} direction Direction in which the selection can be moved.
+     * @return {?}
+     */
+    withHorizontalOrientation(direction) {
+        this._horizontal = direction;
+        return this;
+    }
+    /**
+     * Turns on typeahead mode which allows users to set the active item by typing.
+     * @param {?=} debounceInterval Time to wait after the last keystroke before setting the active item.
+     * @return {?}
+     */
+    withTypeAhead(debounceInterval = 200) {
+        if (this._items.length && this._items.some(item => typeof item.getLabel !== 'function')) {
+            throw Error('ListKeyManager items in typeahead mode must implement the `getLabel` method.');
+        }
+        this._typeaheadSubscription.unsubscribe();
+        // Debounce the presses of non-navigational keys, collect the ones that correspond to letters
+        // and convert those letters back into a string. Afterwards find the first item that starts
+        // with that string and select it.
+        this._typeaheadSubscription = this._letterKeyStream.pipe(tap(keyCode => this._pressedLetters.push(keyCode)), debounceTime(debounceInterval), filter(() => this._pressedLetters.length > 0), map(() => this._pressedLetters.join(''))).subscribe(inputString => {
+            const /** @type {?} */ items = this._items.toArray();
+            // Start at 1 because we want to start searching at the item immediately
+            // following the current active item.
+            for (let /** @type {?} */ i = 1; i < items.length + 1; i++) {
+                const /** @type {?} */ index = (this._activeItemIndex + i) % items.length;
+                const /** @type {?} */ item = items[index];
+                if (!item.disabled && /** @type {?} */ ((item.getLabel))().toUpperCase().trim().indexOf(inputString) === 0) {
+                    this.setActiveItem(index);
+                    break;
+                }
+            }
+            this._pressedLetters = [];
+        });
+        return this;
+    }
+    /**
+     * Sets the active item to the item at the index specified.
+     * @param {?} index The index of the item to be set as active.
+     * @return {?}
+     */
+    setActiveItem(index) {
+        const /** @type {?} */ previousIndex = this._activeItemIndex;
+        this._activeItemIndex = index;
+        this._activeItem = this._items.toArray()[index];
+        if (this._activeItemIndex !== previousIndex) {
+            this.change.next(index);
+        }
+    }
+    /**
+     * Sets the active item depending on the key event passed in.
+     * @param {?} event Keyboard event to be used for determining which element should be active.
+     * @return {?}
+     */
+    onKeydown(event) {
+        const /** @type {?} */ keyCode = event.keyCode;
+        switch (keyCode) {
+            case TAB:
+                this.tabOut.next();
+                return;
+            case DOWN_ARROW:
+                if (this._vertical) {
+                    this.setNextItemActive();
+                    break;
+                }
+            case UP_ARROW:
+                if (this._vertical) {
+                    this.setPreviousItemActive();
+                    break;
+                }
+            case RIGHT_ARROW:
+                if (this._horizontal === 'ltr') {
+                    this.setNextItemActive();
+                    break;
+                }
+                else if (this._horizontal === 'rtl') {
+                    this.setPreviousItemActive();
+                    break;
+                }
+            case LEFT_ARROW:
+                if (this._horizontal === 'ltr') {
+                    this.setPreviousItemActive();
+                    break;
+                }
+                else if (this._horizontal === 'rtl') {
+                    this.setNextItemActive();
+                    break;
+                }
+            default:
+                // Attempt to use the `event.key` which also maps it to the user's keyboard language,
+                // otherwise fall back to resolving alphanumeric characters via the keyCode.
+                if (event.key && event.key.length === 1) {
+                    this._letterKeyStream.next(event.key.toLocaleUpperCase());
+                }
+                else if ((keyCode >= A && keyCode <= Z) || (keyCode >= ZERO && keyCode <= NINE)) {
+                    this._letterKeyStream.next(String.fromCharCode(keyCode));
+                }
+                // Note that we return here, in order to avoid preventing
+                // the default action of non-navigational keys.
+                return;
+        }
+        this._pressedLetters = [];
+        event.preventDefault();
+    }
+    /**
+     * Index of the currently active item.
+     * @return {?}
+     */
+    get activeItemIndex() {
+        return this._activeItemIndex;
+    }
+    /**
+     * The active item.
+     * @return {?}
+     */
+    get activeItem() {
+        return this._activeItem;
+    }
+    /**
+     * Sets the active item to the first enabled item in the list.
+     * @return {?}
+     */
+    setFirstItemActive() {
+        this._setActiveItemByIndex(0, 1);
+    }
+    /**
+     * Sets the active item to the last enabled item in the list.
+     * @return {?}
+     */
+    setLastItemActive() {
+        this._setActiveItemByIndex(this._items.length - 1, -1);
+    }
+    /**
+     * Sets the active item to the next enabled item in the list.
+     * @return {?}
+     */
+    setNextItemActive() {
+        this._activeItemIndex < 0 ? this.setFirstItemActive() : this._setActiveItemByDelta(1);
+    }
+    /**
+     * Sets the active item to a previous enabled item in the list.
+     * @return {?}
+     */
+    setPreviousItemActive() {
+        this._activeItemIndex < 0 && this._wrap ? this.setLastItemActive()
+            : this._setActiveItemByDelta(-1);
+    }
+    /**
+     * Allows setting of the activeItemIndex without any other effects.
+     * @param {?} index The new activeItemIndex.
+     * @return {?}
+     */
+    updateActiveItemIndex(index) {
+        this._activeItemIndex = index;
+    }
+    /**
+     * This method sets the active item, given a list of items and the delta between the
+     * currently active item and the new active item. It will calculate differently
+     * depending on whether wrap mode is turned on.
+     * @param {?} delta
+     * @param {?=} items
+     * @return {?}
+     */
+    _setActiveItemByDelta(delta, items = this._items.toArray()) {
+        this._wrap ? this._setActiveInWrapMode(delta, items)
+            : this._setActiveInDefaultMode(delta, items);
+    }
+    /**
+     * Sets the active item properly given "wrap" mode. In other words, it will continue to move
+     * down the list until it finds an item that is not disabled, and it will wrap if it
+     * encounters either end of the list.
+     * @param {?} delta
+     * @param {?} items
+     * @return {?}
+     */
+    _setActiveInWrapMode(delta, items) {
+        // when active item would leave menu, wrap to beginning or end
+        this._activeItemIndex =
+            (this._activeItemIndex + delta + items.length) % items.length;
+        // skip all disabled menu items recursively until an enabled one is reached
+        if (items[this._activeItemIndex].disabled) {
+            this._setActiveInWrapMode(delta, items);
+        }
+        else {
+            this.setActiveItem(this._activeItemIndex);
+        }
+    }
+    /**
+     * Sets the active item properly given the default mode. In other words, it will
+     * continue to move down the list until it finds an item that is not disabled. If
+     * it encounters either end of the list, it will stop and not wrap.
+     * @param {?} delta
+     * @param {?} items
+     * @return {?}
+     */
+    _setActiveInDefaultMode(delta, items) {
+        this._setActiveItemByIndex(this._activeItemIndex + delta, delta, items);
+    }
+    /**
+     * Sets the active item to the first enabled item starting at the index specified. If the
+     * item is disabled, it will move in the fallbackDelta direction until it either
+     * finds an enabled item or encounters the end of the list.
+     * @param {?} index
+     * @param {?} fallbackDelta
+     * @param {?=} items
+     * @return {?}
+     */
+    _setActiveItemByIndex(index, fallbackDelta, items = this._items.toArray()) {
+        if (!items[index]) {
+            return;
+        }
+        while (items[index].disabled) {
+            index += fallbackDelta;
+            if (!items[index]) {
+                return;
+            }
+        }
+        this.setActiveItem(index);
+    }
+}
+
+/**
+ * @fileoverview added by tsickle
+ * @suppress {checkTypes} checked by tsc
+ */
+
+/**
+ * This is the interface for highlightable items (used by the ActiveDescendantKeyManager).
+ * Each item must know how to style itself as active or inactive and whether or not it is
+ * currently disabled.
+ * @record
+ */
+
+class ActiveDescendantKeyManager extends ListKeyManager {
+    /**
+     * This method sets the active item to the item at the specified index.
+     * It also adds active styles to the newly active item and removes active
+     * styles from the previously active item.
+     * @param {?} index
+     * @return {?}
+     */
+    setActiveItem(index) {
+        if (this.activeItem) {
+            this.activeItem.setInactiveStyles();
+        }
+        super.setActiveItem(index);
+        if (this.activeItem) {
+            this.activeItem.setActiveStyles();
+        }
+    }
+}
+
+/**
+ * @fileoverview added by tsickle
+ * @suppress {checkTypes} checked by tsc
+ */
+
+/**
+ * This is the interface for focusable items (used by the FocusKeyManager).
+ * Each item must know how to focus itself, whether or not it is currently disabled
+ * and be able to supply it's label.
+ * @record
+ */
+
+class FocusKeyManager extends ListKeyManager {
+    constructor() {
+        super(...arguments);
+        this._origin = 'program';
+    }
+    /**
+     * Sets the focus origin that will be passed in to the items for any subsequent `focus` calls.
+     * @param {?} origin Focus origin to be used when focusing items.
+     * @return {?}
+     */
+    setFocusOrigin(origin) {
+        this._origin = origin;
+        return this;
+    }
+    /**
+     * This method sets the active item to the item at the specified index.
+     * It also adds focuses the newly active item.
+     * @param {?} index
+     * @return {?}
+     */
+    setActiveItem(index) {
+        super.setActiveItem(index);
+        if (this.activeItem) {
+            this.activeItem.focus(this._origin);
+        }
+    }
+}
+
+/**
+ * @fileoverview added by tsickle
+ * @suppress {checkTypes} checked by tsc
+ */
+
+const LIVE_ANNOUNCER_ELEMENT_TOKEN = new InjectionToken('liveAnnouncerElement');
+class LiveAnnouncer {
+    /**
+     * @param {?} elementToken
+     * @param {?} _document
+     */
+    constructor(elementToken, _document) {
+        this._document = _document;
+        // We inject the live element as `any` because the constructor signature cannot reference
+        // browser globals (HTMLElement) on non-browser environments, since having a class decorator
+        // causes TypeScript to preserve the constructor signature types.
+        this._liveElement = elementToken || this._createLiveElement();
+    }
+    /**
+     * Announces a message to screenreaders.
+     * @param {?} message Message to be announced to the screenreader
+     * @param {?=} politeness The politeness of the announcer element
+     * @return {?}
+     */
+    announce(message, politeness = 'polite') {
+        this._liveElement.textContent = '';
+        // TODO: ensure changing the politeness works on all environments we support.
+        this._liveElement.setAttribute('aria-live', politeness);
+        // This 100ms timeout is necessary for some browser + screen-reader combinations:
+        // - Both JAWS and NVDA over IE11 will not announce anything without a non-zero timeout.
+        // - With Chrome and IE11 with NVDA or JAWS, a repeated (identical) message won't be read a
+        //   second time without clearing and then using a non-zero delay.
+        // (using JAWS 17 at time of this writing).
+        setTimeout(() => this._liveElement.textContent = message, 100);
+    }
+    /**
+     * @return {?}
+     */
+    ngOnDestroy() {
+        if (this._liveElement && this._liveElement.parentNode) {
+            this._liveElement.parentNode.removeChild(this._liveElement);
+        }
+    }
+    /**
+     * @return {?}
+     */
+    _createLiveElement() {
+        let /** @type {?} */ liveEl = this._document.createElement('div');
+        liveEl.classList.add('cdk-visually-hidden');
+        liveEl.setAttribute('aria-atomic', 'true');
+        liveEl.setAttribute('aria-live', 'polite');
+        this._document.body.appendChild(liveEl);
+        return liveEl;
+    }
+}
+LiveAnnouncer.decorators = [
+    { type: Injectable },
+];
+/** @nocollapse */
+LiveAnnouncer.ctorParameters = () => [
+    { type: undefined, decorators: [{ type: Optional }, { type: Inject, args: [LIVE_ANNOUNCER_ELEMENT_TOKEN,] },] },
+    { type: undefined, decorators: [{ type: Inject, args: [DOCUMENT,] },] },
+];
+/**
+ * \@docs-private
+ * @param {?} parentDispatcher
+ * @param {?} liveElement
+ * @param {?} _document
+ * @return {?}
+ */
+function LIVE_ANNOUNCER_PROVIDER_FACTORY(parentDispatcher, liveElement, _document) {
+    return parentDispatcher || new LiveAnnouncer(liveElement, _document);
+}
+/**
+ * \@docs-private
+ */
+const LIVE_ANNOUNCER_PROVIDER = {
+    // If there is already a LiveAnnouncer available, use that. Otherwise, provide a new one.
+    provide: LiveAnnouncer,
+    deps: [
+        [new Optional(), new SkipSelf(), LiveAnnouncer],
+        [new Optional(), new Inject(LIVE_ANNOUNCER_ELEMENT_TOKEN)],
+        DOCUMENT,
+    ],
+    useFactory: LIVE_ANNOUNCER_PROVIDER_FACTORY
+};
+
+/**
+ * @fileoverview added by tsickle
+ * @suppress {checkTypes} checked by tsc
+ */
+
+// This is the value used by AngularJS Material. Through trial and error (on iPhone 6S) they found
+// that a value of around 650ms seems appropriate.
+const TOUCH_BUFFER_MS = 650;
+/**
+ * Monitors mouse and keyboard events to determine the cause of focus events.
+ */
+class FocusMonitor {
+    /**
+     * @param {?} _ngZone
+     * @param {?} _platform
+     */
+    constructor(_ngZone, _platform) {
+        this._ngZone = _ngZone;
+        this._platform = _platform;
+        /**
+         * The focus origin that the next focus event is a result of.
+         */
+        this._origin = null;
+        /**
+         * Whether the window has just been focused.
+         */
+        this._windowFocused = false;
+        /**
+         * Map of elements being monitored to their info.
+         */
+        this._elementInfo = new Map();
+        /**
+         * A map of global objects to lists of current listeners.
+         */
+        this._unregisterGlobalListeners = () => { };
+        /**
+         * The number of elements currently being monitored.
+         */
+        this._monitoredElementCount = 0;
+    }
+    /**
+     * @param {?} element
+     * @param {?=} renderer
+     * @param {?=} checkChildren
+     * @return {?}
+     */
+    monitor(element, renderer, checkChildren) {
+        // TODO(mmalerba): clean up after deprecated signature is removed.
+        if (!(renderer instanceof Renderer2)) {
+            checkChildren = renderer;
+        }
+        checkChildren = !!checkChildren;
+        // Do nothing if we're not on the browser platform.
+        if (!this._platform.isBrowser) {
+            return of(null);
+        }
+        // Check if we're already monitoring this element.
+        if (this._elementInfo.has(element)) {
+            let /** @type {?} */ cachedInfo = this._elementInfo.get(element); /** @type {?} */
+            ((cachedInfo)).checkChildren = checkChildren;
+            return /** @type {?} */ ((cachedInfo)).subject.asObservable();
+        }
+        // Create monitored element info.
+        let /** @type {?} */ info = {
+            unlisten: () => { },
+            checkChildren: checkChildren,
+            subject: new Subject()
+        };
+        this._elementInfo.set(element, info);
+        this._incrementMonitoredElementCount();
+        // Start listening. We need to listen in capture phase since focus events don't bubble.
+        let /** @type {?} */ focusListener = (event) => this._onFocus(event, element);
+        let /** @type {?} */ blurListener = (event) => this._onBlur(event, element);
+        this._ngZone.runOutsideAngular(() => {
+            element.addEventListener('focus', focusListener, true);
+            element.addEventListener('blur', blurListener, true);
+        });
+        // Create an unlisten function for later.
+        info.unlisten = () => {
+            element.removeEventListener('focus', focusListener, true);
+            element.removeEventListener('blur', blurListener, true);
+        };
+        return info.subject.asObservable();
+    }
+    /**
+     * Stops monitoring an element and removes all focus classes.
+     * @param {?} element The element to stop monitoring.
+     * @return {?}
+     */
+    stopMonitoring(element) {
+        const /** @type {?} */ elementInfo = this._elementInfo.get(element);
+        if (elementInfo) {
+            elementInfo.unlisten();
+            elementInfo.subject.complete();
+            this._setClasses(element);
+            this._elementInfo.delete(element);
+            this._decrementMonitoredElementCount();
+        }
+    }
+    /**
+     * Focuses the element via the specified focus origin.
+     * @param {?} element The element to focus.
+     * @param {?} origin The focus origin.
+     * @return {?}
+     */
+    focusVia(element, origin) {
+        this._setOriginForCurrentEventQueue(origin);
+        element.focus();
+    }
+    /**
+     * @return {?}
+     */
+    ngOnDestroy() {
+        this._elementInfo.forEach((_info, element) => this.stopMonitoring(element));
+    }
+    /**
+     * Register necessary event listeners on the document and window.
+     * @return {?}
+     */
+    _registerGlobalListeners() {
+        // Do nothing if we're not on the browser platform.
+        if (!this._platform.isBrowser) {
+            return;
+        }
+        // On keydown record the origin and clear any touch event that may be in progress.
+        let /** @type {?} */ documentKeydownListener = () => {
+            this._lastTouchTarget = null;
+            this._setOriginForCurrentEventQueue('keyboard');
+        };
+        // On mousedown record the origin only if there is not touch target, since a mousedown can
+        // happen as a result of a touch event.
+        let /** @type {?} */ documentMousedownListener = () => {
+            if (!this._lastTouchTarget) {
+                this._setOriginForCurrentEventQueue('mouse');
+            }
+        };
+        // When the touchstart event fires the focus event is not yet in the event queue. This means
+        // we can't rely on the trick used above (setting timeout of 0ms). Instead we wait 650ms to
+        // see if a focus happens.
+        let /** @type {?} */ documentTouchstartListener = (event) => {
+            if (this._touchTimeoutId != null) {
+                clearTimeout(this._touchTimeoutId);
+            }
+            this._lastTouchTarget = event.target;
+            this._touchTimeoutId = setTimeout(() => this._lastTouchTarget = null, TOUCH_BUFFER_MS);
+        };
+        // Make a note of when the window regains focus, so we can restore the origin info for the
+        // focused element.
+        let /** @type {?} */ windowFocusListener = () => {
+            this._windowFocused = true;
+            this._windowFocusTimeoutId = setTimeout(() => this._windowFocused = false, 0);
+        };
+        // Note: we listen to events in the capture phase so we can detect them even if the user stops
+        // propagation.
+        this._ngZone.runOutsideAngular(() => {
+            document.addEventListener('keydown', documentKeydownListener, true);
+            document.addEventListener('mousedown', documentMousedownListener, true);
+            document.addEventListener('touchstart', documentTouchstartListener, supportsPassiveEventListeners() ? (/** @type {?} */ ({ passive: true, capture: true })) : true);
+            window.addEventListener('focus', windowFocusListener);
+        });
+        this._unregisterGlobalListeners = () => {
+            document.removeEventListener('keydown', documentKeydownListener, true);
+            document.removeEventListener('mousedown', documentMousedownListener, true);
+            document.removeEventListener('touchstart', documentTouchstartListener, supportsPassiveEventListeners() ? (/** @type {?} */ ({ passive: true, capture: true })) : true);
+            window.removeEventListener('focus', windowFocusListener);
+            // Clear timeouts for all potentially pending timeouts to prevent the leaks.
+            clearTimeout(this._windowFocusTimeoutId);
+            clearTimeout(this._touchTimeoutId);
+            clearTimeout(this._originTimeoutId);
+        };
+    }
+    /**
+     * @param {?} element
+     * @param {?} className
+     * @param {?} shouldSet
+     * @return {?}
+     */
+    _toggleClass(element, className, shouldSet) {
+        if (shouldSet) {
+            element.classList.add(className);
+        }
+        else {
+            element.classList.remove(className);
+        }
+    }
+    /**
+     * Sets the focus classes on the element based on the given focus origin.
+     * @param {?} element The element to update the classes on.
+     * @param {?=} origin The focus origin.
+     * @return {?}
+     */
+    _setClasses(element, origin) {
+        const /** @type {?} */ elementInfo = this._elementInfo.get(element);
+        if (elementInfo) {
+            this._toggleClass(element, 'cdk-focused', !!origin);
+            this._toggleClass(element, 'cdk-touch-focused', origin === 'touch');
+            this._toggleClass(element, 'cdk-keyboard-focused', origin === 'keyboard');
+            this._toggleClass(element, 'cdk-mouse-focused', origin === 'mouse');
+            this._toggleClass(element, 'cdk-program-focused', origin === 'program');
+        }
+    }
+    /**
+     * Sets the origin and schedules an async function to clear it at the end of the event queue.
+     * @param {?} origin The origin to set.
+     * @return {?}
+     */
+    _setOriginForCurrentEventQueue(origin) {
+        this._origin = origin;
+        this._originTimeoutId = setTimeout(() => this._origin = null, 0);
+    }
+    /**
+     * Checks whether the given focus event was caused by a touchstart event.
+     * @param {?} event The focus event to check.
+     * @return {?} Whether the event was caused by a touch.
+     */
+    _wasCausedByTouch(event) {
+        // Note(mmalerba): This implementation is not quite perfect, there is a small edge case.
+        // Consider the following dom structure:
+        //
+        // <div #parent tabindex="0" cdkFocusClasses>
+        //   <div #child (click)="#parent.focus()"></div>
+        // </div>
+        //
+        // If the user touches the #child element and the #parent is programmatically focused as a
+        // result, this code will still consider it to have been caused by the touch event and will
+        // apply the cdk-touch-focused class rather than the cdk-program-focused class. This is a
+        // relatively small edge-case that can be worked around by using
+        // focusVia(parentEl, 'program') to focus the parent element.
+        //
+        // If we decide that we absolutely must handle this case correctly, we can do so by listening
+        // for the first focus event after the touchstart, and then the first blur event after that
+        // focus event. When that blur event fires we know that whatever follows is not a result of the
+        // touchstart.
+        let /** @type {?} */ focusTarget = event.target;
+        return this._lastTouchTarget instanceof Node && focusTarget instanceof Node &&
+            (focusTarget === this._lastTouchTarget || focusTarget.contains(this._lastTouchTarget));
+    }
+    /**
+     * Handles focus events on a registered element.
+     * @param {?} event The focus event.
+     * @param {?} element The monitored element.
+     * @return {?}
+     */
+    _onFocus(event, element) {
+        // NOTE(mmalerba): We currently set the classes based on the focus origin of the most recent
+        // focus event affecting the monitored element. If we want to use the origin of the first event
+        // instead we should check for the cdk-focused class here and return if the element already has
+        // it. (This only matters for elements that have includesChildren = true).
+        // If we are not counting child-element-focus as focused, make sure that the event target is the
+        // monitored element itself.
+        const /** @type {?} */ elementInfo = this._elementInfo.get(element);
+        if (!elementInfo || (!elementInfo.checkChildren && element !== event.target)) {
+            return;
+        }
+        // If we couldn't detect a cause for the focus event, it's due to one of three reasons:
+        // 1) The window has just regained focus, in which case we want to restore the focused state of
+        //    the element from before the window blurred.
+        // 2) It was caused by a touch event, in which case we mark the origin as 'touch'.
+        // 3) The element was programmatically focused, in which case we should mark the origin as
+        //    'program'.
+        if (!this._origin) {
+            if (this._windowFocused && this._lastFocusOrigin) {
+                this._origin = this._lastFocusOrigin;
+            }
+            else if (this._wasCausedByTouch(event)) {
+                this._origin = 'touch';
+            }
+            else {
+                this._origin = 'program';
+            }
+        }
+        this._setClasses(element, this._origin);
+        elementInfo.subject.next(this._origin);
+        this._lastFocusOrigin = this._origin;
+        this._origin = null;
+    }
+    /**
+     * Handles blur events on a registered element.
+     * @param {?} event The blur event.
+     * @param {?} element The monitored element.
+     * @return {?}
+     */
+    _onBlur(event, element) {
+        // If we are counting child-element-focus as focused, make sure that we aren't just blurring in
+        // order to focus another child of the monitored element.
+        const /** @type {?} */ elementInfo = this._elementInfo.get(element);
+        if (!elementInfo || (elementInfo.checkChildren && event.relatedTarget instanceof Node &&
+            element.contains(event.relatedTarget))) {
+            return;
+        }
+        this._setClasses(element);
+        elementInfo.subject.next(null);
+    }
+    /**
+     * @return {?}
+     */
+    _incrementMonitoredElementCount() {
+        // Register global listeners when first element is monitored.
+        if (++this._monitoredElementCount == 1) {
+            this._registerGlobalListeners();
+        }
+    }
+    /**
+     * @return {?}
+     */
+    _decrementMonitoredElementCount() {
+        // Unregister global listeners when last element is unmonitored.
+        if (!--this._monitoredElementCount) {
+            this._unregisterGlobalListeners();
+            this._unregisterGlobalListeners = () => { };
+        }
+    }
+}
+FocusMonitor.decorators = [
+    { type: Injectable },
+];
+/** @nocollapse */
+FocusMonitor.ctorParameters = () => [
+    { type: NgZone, },
+    { type: Platform, },
+];
+/**
+ * Directive that determines how a particular element was focused (via keyboard, mouse, touch, or
+ * programmatically) and adds corresponding classes to the element.
+ *
+ * There are two variants of this directive:
+ * 1) cdkMonitorElementFocus: does not consider an element to be focused if one of its children is
+ *    focused.
+ * 2) cdkMonitorSubtreeFocus: considers an element focused if it or any of its children are focused.
+ */
+class CdkMonitorFocus {
+    /**
+     * @param {?} _elementRef
+     * @param {?} _focusMonitor
+     */
+    constructor(_elementRef, _focusMonitor) {
+        this._elementRef = _elementRef;
+        this._focusMonitor = _focusMonitor;
+        this.cdkFocusChange = new EventEmitter();
+        this._monitorSubscription = this._focusMonitor.monitor(this._elementRef.nativeElement, this._elementRef.nativeElement.hasAttribute('cdkMonitorSubtreeFocus'))
+            .subscribe(origin => this.cdkFocusChange.emit(origin));
+    }
+    /**
+     * @return {?}
+     */
+    ngOnDestroy() {
+        this._focusMonitor.stopMonitoring(this._elementRef.nativeElement);
+        this._monitorSubscription.unsubscribe();
+    }
+}
+CdkMonitorFocus.decorators = [
+    { type: Directive, args: [{
+                selector: '[cdkMonitorElementFocus], [cdkMonitorSubtreeFocus]',
+            },] },
+];
+/** @nocollapse */
+CdkMonitorFocus.ctorParameters = () => [
+    { type: ElementRef, },
+    { type: FocusMonitor, },
+];
+CdkMonitorFocus.propDecorators = {
+    "cdkFocusChange": [{ type: Output },],
+};
+/**
+ * \@docs-private
+ * @param {?} parentDispatcher
+ * @param {?} ngZone
+ * @param {?} platform
+ * @return {?}
+ */
+function FOCUS_MONITOR_PROVIDER_FACTORY(parentDispatcher, ngZone, platform) {
+    return parentDispatcher || new FocusMonitor(ngZone, platform);
+}
+/**
+ * \@docs-private
+ */
+const FOCUS_MONITOR_PROVIDER = {
+    // If there is already a FocusMonitor available, use that. Otherwise, provide a new one.
+    provide: FocusMonitor,
+    deps: [[new Optional(), new SkipSelf(), FocusMonitor], NgZone, Platform],
+    useFactory: FOCUS_MONITOR_PROVIDER_FACTORY
+};
+
+/**
+ * @fileoverview added by tsickle
+ * @suppress {checkTypes} checked by tsc
+ */
+
+/**
+ * Screenreaders will often fire fake mousedown events when a focusable element
+ * is activated using the keyboard. We can typically distinguish between these faked
+ * mousedown events and real mousedown events using the "buttons" property. While
+ * real mousedowns will indicate the mouse button that was pressed (e.g. "1" for
+ * the left mouse button), faked mousedowns will usually set the property value to 0.
+ * @param {?} event
+ * @return {?}
+ */
+function isFakeMousedownFromScreenReader(event) {
+    return event.buttons === 0;
+}
+
+/**
+ * @fileoverview added by tsickle
+ * @suppress {checkTypes} checked by tsc
+ */
+
+class A11yModule {
+}
+A11yModule.decorators = [
+    { type: NgModule, args: [{
+                imports: [CommonModule, PlatformModule],
+                declarations: [CdkTrapFocus, FocusTrapDeprecatedDirective, CdkMonitorFocus],
+                exports: [CdkTrapFocus, FocusTrapDeprecatedDirective, CdkMonitorFocus],
+                providers: [
+                    InteractivityChecker,
+                    FocusTrapFactory,
+                    AriaDescriber,
+                    LIVE_ANNOUNCER_PROVIDER,
+                    ARIA_DESCRIBER_PROVIDER,
+                    FOCUS_MONITOR_PROVIDER,
+                ]
+            },] },
+];
+/** @nocollapse */
+A11yModule.ctorParameters = () => [];
+
+/**
+ * @fileoverview added by tsickle
+ * @suppress {checkTypes} checked by tsc
+ */
+
+/**
+ * @fileoverview added by tsickle
+ * @suppress {checkTypes} checked by tsc
+ */
+/**
+ * Generated bundle index. Do not edit.
+ */
+
+export { CdkTrapFocus as FocusTrapDirective, MESSAGES_CONTAINER_ID, CDK_DESCRIBEDBY_ID_PREFIX, CDK_DESCRIBEDBY_HOST_ATTRIBUTE, AriaDescriber, ARIA_DESCRIBER_PROVIDER_FACTORY, ARIA_DESCRIBER_PROVIDER, ActiveDescendantKeyManager, FocusKeyManager, ListKeyManager, FocusTrap, FocusTrapFactory, FocusTrapDeprecatedDirective, CdkTrapFocus, InteractivityChecker, LIVE_ANNOUNCER_ELEMENT_TOKEN, LiveAnnouncer, LIVE_ANNOUNCER_PROVIDER_FACTORY, LIVE_ANNOUNCER_PROVIDER, TOUCH_BUFFER_MS, FocusMonitor, CdkMonitorFocus, FOCUS_MONITOR_PROVIDER_FACTORY, FOCUS_MONITOR_PROVIDER, isFakeMousedownFromScreenReader, A11yModule };
+//# sourceMappingURL=a11y.js.map


[57/59] [abbrv] nifi-fds git commit: remove node_modules/.bin

Posted by sc...@apache.org.
remove node_modules/.bin


Project: http://git-wip-us.apache.org/repos/asf/nifi-fds/repo
Commit: http://git-wip-us.apache.org/repos/asf/nifi-fds/commit/370b7b5d
Tree: http://git-wip-us.apache.org/repos/asf/nifi-fds/tree/370b7b5d
Diff: http://git-wip-us.apache.org/repos/asf/nifi-fds/diff/370b7b5d

Branch: refs/heads/gh-pages
Commit: 370b7b5d68e73c49e39e929cbfc42ea21fa0a113
Parents: 57aefda
Author: Scott Aslan <sc...@gmail.com>
Authored: Tue Jun 5 17:52:52 2018 -0400
Committer: Scott Aslan <sc...@gmail.com>
Committed: Tue Jun 5 17:52:52 2018 -0400

----------------------------------------------------------------------
 .gitignore                          | 1 +
 node_modules/.bin/blocking-proxy    | 1 -
 node_modules/.bin/cake              | 1 -
 node_modules/.bin/coffee            | 1 -
 node_modules/.bin/dateformat        | 1 -
 node_modules/.bin/detect-libc       | 1 -
 node_modules/.bin/ecstatic          | 1 -
 node_modules/.bin/escodegen         | 1 -
 node_modules/.bin/esgenerate        | 1 -
 node_modules/.bin/esparse           | 1 -
 node_modules/.bin/esvalidate        | 1 -
 node_modules/.bin/grunt             | 1 -
 node_modules/.bin/handlebars        | 1 -
 node_modules/.bin/he                | 1 -
 node_modules/.bin/hs                | 1 -
 node_modules/.bin/http-server       | 1 -
 node_modules/.bin/in-install        | 1 -
 node_modules/.bin/in-publish        | 1 -
 node_modules/.bin/istanbul          | 1 -
 node_modules/.bin/jasmine           | 1 -
 node_modules/.bin/js-yaml           | 1 -
 node_modules/.bin/karma             | 1 -
 node_modules/.bin/mime              | 1 -
 node_modules/.bin/mkdirp            | 1 -
 node_modules/.bin/node-gyp          | 1 -
 node_modules/.bin/node-sass         | 1 -
 node_modules/.bin/nopt              | 1 -
 node_modules/.bin/not-in-install    | 1 -
 node_modules/.bin/not-in-publish    | 1 -
 node_modules/.bin/opener            | 1 -
 node_modules/.bin/prebuild-install  | 1 -
 node_modules/.bin/protractor        | 1 -
 node_modules/.bin/rc                | 1 -
 node_modules/.bin/rimraf            | 1 -
 node_modules/.bin/sassgraph         | 1 -
 node_modules/.bin/semver            | 1 -
 node_modules/.bin/sshpk-conv        | 1 -
 node_modules/.bin/sshpk-sign        | 1 -
 node_modules/.bin/sshpk-verify      | 1 -
 node_modules/.bin/strip-indent      | 1 -
 node_modules/.bin/uglifyjs          | 1 -
 node_modules/.bin/uuid              | 1 -
 node_modules/.bin/webdriver-manager | 1 -
 node_modules/.bin/which             | 1 -
 44 files changed, 1 insertion(+), 43 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/370b7b5d/.gitignore
----------------------------------------------------------------------
diff --git a/.gitignore b/.gitignore
index ef34551..b3d76d6 100644
--- a/.gitignore
+++ b/.gitignore
@@ -3,6 +3,7 @@ node_modules/protractor*
 node_modules/grunt*
 node_modules/jasmine*
 node_modules/webdriver*
+node_modules/.bin/
 .github/
 demo-app/gh-pages*
 demo-app/index.html

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/370b7b5d/node_modules/.bin/blocking-proxy
----------------------------------------------------------------------
diff --git a/node_modules/.bin/blocking-proxy b/node_modules/.bin/blocking-proxy
deleted file mode 120000
index 2b0fa22..0000000
--- a/node_modules/.bin/blocking-proxy
+++ /dev/null
@@ -1 +0,0 @@
-../blocking-proxy/built/lib/bin.js
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/370b7b5d/node_modules/.bin/cake
----------------------------------------------------------------------
diff --git a/node_modules/.bin/cake b/node_modules/.bin/cake
deleted file mode 120000
index 373ed19..0000000
--- a/node_modules/.bin/cake
+++ /dev/null
@@ -1 +0,0 @@
-../coffeescript/bin/cake
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/370b7b5d/node_modules/.bin/coffee
----------------------------------------------------------------------
diff --git a/node_modules/.bin/coffee b/node_modules/.bin/coffee
deleted file mode 120000
index 52c50e8..0000000
--- a/node_modules/.bin/coffee
+++ /dev/null
@@ -1 +0,0 @@
-../coffeescript/bin/coffee
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/370b7b5d/node_modules/.bin/dateformat
----------------------------------------------------------------------
diff --git a/node_modules/.bin/dateformat b/node_modules/.bin/dateformat
deleted file mode 120000
index bb9cf7b..0000000
--- a/node_modules/.bin/dateformat
+++ /dev/null
@@ -1 +0,0 @@
-../dateformat/bin/cli.js
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/370b7b5d/node_modules/.bin/detect-libc
----------------------------------------------------------------------
diff --git a/node_modules/.bin/detect-libc b/node_modules/.bin/detect-libc
deleted file mode 120000
index b4c4b76..0000000
--- a/node_modules/.bin/detect-libc
+++ /dev/null
@@ -1 +0,0 @@
-../detect-libc/bin/detect-libc.js
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/370b7b5d/node_modules/.bin/ecstatic
----------------------------------------------------------------------
diff --git a/node_modules/.bin/ecstatic b/node_modules/.bin/ecstatic
deleted file mode 120000
index 5a8a58a..0000000
--- a/node_modules/.bin/ecstatic
+++ /dev/null
@@ -1 +0,0 @@
-../ecstatic/lib/ecstatic.js
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/370b7b5d/node_modules/.bin/escodegen
----------------------------------------------------------------------
diff --git a/node_modules/.bin/escodegen b/node_modules/.bin/escodegen
deleted file mode 120000
index 01a7c32..0000000
--- a/node_modules/.bin/escodegen
+++ /dev/null
@@ -1 +0,0 @@
-../escodegen/bin/escodegen.js
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/370b7b5d/node_modules/.bin/esgenerate
----------------------------------------------------------------------
diff --git a/node_modules/.bin/esgenerate b/node_modules/.bin/esgenerate
deleted file mode 120000
index 7d0293e..0000000
--- a/node_modules/.bin/esgenerate
+++ /dev/null
@@ -1 +0,0 @@
-../escodegen/bin/esgenerate.js
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/370b7b5d/node_modules/.bin/esparse
----------------------------------------------------------------------
diff --git a/node_modules/.bin/esparse b/node_modules/.bin/esparse
deleted file mode 120000
index 7423b18..0000000
--- a/node_modules/.bin/esparse
+++ /dev/null
@@ -1 +0,0 @@
-../esprima/bin/esparse.js
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/370b7b5d/node_modules/.bin/esvalidate
----------------------------------------------------------------------
diff --git a/node_modules/.bin/esvalidate b/node_modules/.bin/esvalidate
deleted file mode 120000
index 16069ef..0000000
--- a/node_modules/.bin/esvalidate
+++ /dev/null
@@ -1 +0,0 @@
-../esprima/bin/esvalidate.js
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/370b7b5d/node_modules/.bin/grunt
----------------------------------------------------------------------
diff --git a/node_modules/.bin/grunt b/node_modules/.bin/grunt
deleted file mode 120000
index 47724d2..0000000
--- a/node_modules/.bin/grunt
+++ /dev/null
@@ -1 +0,0 @@
-../grunt/bin/grunt
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/370b7b5d/node_modules/.bin/handlebars
----------------------------------------------------------------------
diff --git a/node_modules/.bin/handlebars b/node_modules/.bin/handlebars
deleted file mode 120000
index fb7d090..0000000
--- a/node_modules/.bin/handlebars
+++ /dev/null
@@ -1 +0,0 @@
-../handlebars/bin/handlebars
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/370b7b5d/node_modules/.bin/he
----------------------------------------------------------------------
diff --git a/node_modules/.bin/he b/node_modules/.bin/he
deleted file mode 120000
index 2a8eb5e..0000000
--- a/node_modules/.bin/he
+++ /dev/null
@@ -1 +0,0 @@
-../he/bin/he
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/370b7b5d/node_modules/.bin/hs
----------------------------------------------------------------------
diff --git a/node_modules/.bin/hs b/node_modules/.bin/hs
deleted file mode 120000
index cb3b666..0000000
--- a/node_modules/.bin/hs
+++ /dev/null
@@ -1 +0,0 @@
-../http-server/bin/http-server
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/370b7b5d/node_modules/.bin/http-server
----------------------------------------------------------------------
diff --git a/node_modules/.bin/http-server b/node_modules/.bin/http-server
deleted file mode 120000
index cb3b666..0000000
--- a/node_modules/.bin/http-server
+++ /dev/null
@@ -1 +0,0 @@
-../http-server/bin/http-server
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/370b7b5d/node_modules/.bin/in-install
----------------------------------------------------------------------
diff --git a/node_modules/.bin/in-install b/node_modules/.bin/in-install
deleted file mode 120000
index 08c9689..0000000
--- a/node_modules/.bin/in-install
+++ /dev/null
@@ -1 +0,0 @@
-../in-publish/in-install.js
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/370b7b5d/node_modules/.bin/in-publish
----------------------------------------------------------------------
diff --git a/node_modules/.bin/in-publish b/node_modules/.bin/in-publish
deleted file mode 120000
index ae9e779..0000000
--- a/node_modules/.bin/in-publish
+++ /dev/null
@@ -1 +0,0 @@
-../in-publish/in-publish.js
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/370b7b5d/node_modules/.bin/istanbul
----------------------------------------------------------------------
diff --git a/node_modules/.bin/istanbul b/node_modules/.bin/istanbul
deleted file mode 120000
index c129fe5..0000000
--- a/node_modules/.bin/istanbul
+++ /dev/null
@@ -1 +0,0 @@
-../istanbul/lib/cli.js
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/370b7b5d/node_modules/.bin/jasmine
----------------------------------------------------------------------
diff --git a/node_modules/.bin/jasmine b/node_modules/.bin/jasmine
deleted file mode 120000
index d2c1bff..0000000
--- a/node_modules/.bin/jasmine
+++ /dev/null
@@ -1 +0,0 @@
-../jasmine/bin/jasmine.js
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/370b7b5d/node_modules/.bin/js-yaml
----------------------------------------------------------------------
diff --git a/node_modules/.bin/js-yaml b/node_modules/.bin/js-yaml
deleted file mode 120000
index 9dbd010..0000000
--- a/node_modules/.bin/js-yaml
+++ /dev/null
@@ -1 +0,0 @@
-../js-yaml/bin/js-yaml.js
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/370b7b5d/node_modules/.bin/karma
----------------------------------------------------------------------
diff --git a/node_modules/.bin/karma b/node_modules/.bin/karma
deleted file mode 120000
index 0dfd162..0000000
--- a/node_modules/.bin/karma
+++ /dev/null
@@ -1 +0,0 @@
-../karma-cli/bin/karma
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/370b7b5d/node_modules/.bin/mime
----------------------------------------------------------------------
diff --git a/node_modules/.bin/mime b/node_modules/.bin/mime
deleted file mode 120000
index fbb7ee0..0000000
--- a/node_modules/.bin/mime
+++ /dev/null
@@ -1 +0,0 @@
-../mime/cli.js
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/370b7b5d/node_modules/.bin/mkdirp
----------------------------------------------------------------------
diff --git a/node_modules/.bin/mkdirp b/node_modules/.bin/mkdirp
deleted file mode 120000
index 017896c..0000000
--- a/node_modules/.bin/mkdirp
+++ /dev/null
@@ -1 +0,0 @@
-../mkdirp/bin/cmd.js
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/370b7b5d/node_modules/.bin/node-gyp
----------------------------------------------------------------------
diff --git a/node_modules/.bin/node-gyp b/node_modules/.bin/node-gyp
deleted file mode 120000
index 9b31a4f..0000000
--- a/node_modules/.bin/node-gyp
+++ /dev/null
@@ -1 +0,0 @@
-../node-gyp/bin/node-gyp.js
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/370b7b5d/node_modules/.bin/node-sass
----------------------------------------------------------------------
diff --git a/node_modules/.bin/node-sass b/node_modules/.bin/node-sass
deleted file mode 120000
index a4b0134..0000000
--- a/node_modules/.bin/node-sass
+++ /dev/null
@@ -1 +0,0 @@
-../node-sass/bin/node-sass
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/370b7b5d/node_modules/.bin/nopt
----------------------------------------------------------------------
diff --git a/node_modules/.bin/nopt b/node_modules/.bin/nopt
deleted file mode 120000
index 6b6566e..0000000
--- a/node_modules/.bin/nopt
+++ /dev/null
@@ -1 +0,0 @@
-../nopt/bin/nopt.js
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/370b7b5d/node_modules/.bin/not-in-install
----------------------------------------------------------------------
diff --git a/node_modules/.bin/not-in-install b/node_modules/.bin/not-in-install
deleted file mode 120000
index dbfcf38..0000000
--- a/node_modules/.bin/not-in-install
+++ /dev/null
@@ -1 +0,0 @@
-../in-publish/not-in-install.js
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/370b7b5d/node_modules/.bin/not-in-publish
----------------------------------------------------------------------
diff --git a/node_modules/.bin/not-in-publish b/node_modules/.bin/not-in-publish
deleted file mode 120000
index 5cc2922..0000000
--- a/node_modules/.bin/not-in-publish
+++ /dev/null
@@ -1 +0,0 @@
-../in-publish/not-in-publish.js
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/370b7b5d/node_modules/.bin/opener
----------------------------------------------------------------------
diff --git a/node_modules/.bin/opener b/node_modules/.bin/opener
deleted file mode 120000
index 120b591..0000000
--- a/node_modules/.bin/opener
+++ /dev/null
@@ -1 +0,0 @@
-../opener/opener.js
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/370b7b5d/node_modules/.bin/prebuild-install
----------------------------------------------------------------------
diff --git a/node_modules/.bin/prebuild-install b/node_modules/.bin/prebuild-install
deleted file mode 120000
index 12a458d..0000000
--- a/node_modules/.bin/prebuild-install
+++ /dev/null
@@ -1 +0,0 @@
-../prebuild-install/bin.js
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/370b7b5d/node_modules/.bin/protractor
----------------------------------------------------------------------
diff --git a/node_modules/.bin/protractor b/node_modules/.bin/protractor
deleted file mode 120000
index 58967e8..0000000
--- a/node_modules/.bin/protractor
+++ /dev/null
@@ -1 +0,0 @@
-../protractor/bin/protractor
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/370b7b5d/node_modules/.bin/rc
----------------------------------------------------------------------
diff --git a/node_modules/.bin/rc b/node_modules/.bin/rc
deleted file mode 120000
index 48b3cda..0000000
--- a/node_modules/.bin/rc
+++ /dev/null
@@ -1 +0,0 @@
-../rc/cli.js
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/370b7b5d/node_modules/.bin/rimraf
----------------------------------------------------------------------
diff --git a/node_modules/.bin/rimraf b/node_modules/.bin/rimraf
deleted file mode 120000
index 4cd49a4..0000000
--- a/node_modules/.bin/rimraf
+++ /dev/null
@@ -1 +0,0 @@
-../rimraf/bin.js
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/370b7b5d/node_modules/.bin/sassgraph
----------------------------------------------------------------------
diff --git a/node_modules/.bin/sassgraph b/node_modules/.bin/sassgraph
deleted file mode 120000
index 901ada9..0000000
--- a/node_modules/.bin/sassgraph
+++ /dev/null
@@ -1 +0,0 @@
-../sass-graph/bin/sassgraph
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/370b7b5d/node_modules/.bin/semver
----------------------------------------------------------------------
diff --git a/node_modules/.bin/semver b/node_modules/.bin/semver
deleted file mode 120000
index 317eb29..0000000
--- a/node_modules/.bin/semver
+++ /dev/null
@@ -1 +0,0 @@
-../semver/bin/semver
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/370b7b5d/node_modules/.bin/sshpk-conv
----------------------------------------------------------------------
diff --git a/node_modules/.bin/sshpk-conv b/node_modules/.bin/sshpk-conv
deleted file mode 120000
index a2a295c..0000000
--- a/node_modules/.bin/sshpk-conv
+++ /dev/null
@@ -1 +0,0 @@
-../sshpk/bin/sshpk-conv
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/370b7b5d/node_modules/.bin/sshpk-sign
----------------------------------------------------------------------
diff --git a/node_modules/.bin/sshpk-sign b/node_modules/.bin/sshpk-sign
deleted file mode 120000
index 766b9b3..0000000
--- a/node_modules/.bin/sshpk-sign
+++ /dev/null
@@ -1 +0,0 @@
-../sshpk/bin/sshpk-sign
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/370b7b5d/node_modules/.bin/sshpk-verify
----------------------------------------------------------------------
diff --git a/node_modules/.bin/sshpk-verify b/node_modules/.bin/sshpk-verify
deleted file mode 120000
index bfd7e3a..0000000
--- a/node_modules/.bin/sshpk-verify
+++ /dev/null
@@ -1 +0,0 @@
-../sshpk/bin/sshpk-verify
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/370b7b5d/node_modules/.bin/strip-indent
----------------------------------------------------------------------
diff --git a/node_modules/.bin/strip-indent b/node_modules/.bin/strip-indent
deleted file mode 120000
index dddee7e..0000000
--- a/node_modules/.bin/strip-indent
+++ /dev/null
@@ -1 +0,0 @@
-../strip-indent/cli.js
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/370b7b5d/node_modules/.bin/uglifyjs
----------------------------------------------------------------------
diff --git a/node_modules/.bin/uglifyjs b/node_modules/.bin/uglifyjs
deleted file mode 120000
index fef3468..0000000
--- a/node_modules/.bin/uglifyjs
+++ /dev/null
@@ -1 +0,0 @@
-../uglify-js/bin/uglifyjs
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/370b7b5d/node_modules/.bin/uuid
----------------------------------------------------------------------
diff --git a/node_modules/.bin/uuid b/node_modules/.bin/uuid
deleted file mode 120000
index b3e45bc..0000000
--- a/node_modules/.bin/uuid
+++ /dev/null
@@ -1 +0,0 @@
-../uuid/bin/uuid
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/370b7b5d/node_modules/.bin/webdriver-manager
----------------------------------------------------------------------
diff --git a/node_modules/.bin/webdriver-manager b/node_modules/.bin/webdriver-manager
deleted file mode 120000
index bc2ec1a..0000000
--- a/node_modules/.bin/webdriver-manager
+++ /dev/null
@@ -1 +0,0 @@
-../protractor/bin/webdriver-manager
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/370b7b5d/node_modules/.bin/which
----------------------------------------------------------------------
diff --git a/node_modules/.bin/which b/node_modules/.bin/which
deleted file mode 120000
index f62471c..0000000
--- a/node_modules/.bin/which
+++ /dev/null
@@ -1 +0,0 @@
-../which/bin/which
\ No newline at end of file


[44/59] [abbrv] [partial] nifi-fds git commit: update gh-pages

Posted by sc...@apache.org.
http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/eec354e6/node_modules/@angular/animations/bundles/animations-browser-testing.umd.js.map
----------------------------------------------------------------------
diff --git a/node_modules/@angular/animations/bundles/animations-browser-testing.umd.js.map b/node_modules/@angular/animations/bundles/animations-browser-testing.umd.js.map
new file mode 100644
index 0000000..ddb6023
--- /dev/null
+++ b/node_modules/@angular/animations/bundles/animations-browser-testing.umd.js.map
@@ -0,0 +1 @@
+{"version":3,"file":"animations-browser-testing.umd.js","sources":["../../../../node_modules/tslib/tslib.es6.js","../../../packages/animations/esm5/browser/src/render/shared.js","../../../packages/animations/esm5/browser/src/util.js","../../../packages/animations/esm5/browser/testing/src/mock_animation_driver.js"],"sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apa
 che Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = Object.setPrototypeOf ||\r\n    ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n    function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n\r\nexport function __extends(d, b) {\r\n    extendStatics(d, b);\r\n    function __() { this.constructor = d; }\r\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = Object.assign || function __assign(t) {\r\n    for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n        s = arguments[i];\r\n        for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n    }\r\n    return t;\r\n}\r\n\r\nexport function __rest(s, e) {\r\n    var t = {};\r
 \n    for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n        t[p] = s[p];\r\n    if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n        for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) if (e.indexOf(p[i]) < 0)\r\n            t[p[i]] = s[p[i]];\r\n    return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n    var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n    if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n    else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n    return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n    return fu
 nction (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n    if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n    return new (P || (P = Promise))(function (resolve, reject) {\r\n        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n        function rejected(value) { try { step(generator.throw(value)); } catch (e) { reject(e); } }\r\n        function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }\r\n        step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n    });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n    var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; re
 turn t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n    return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n    function verb(n) { return function (v) { return step([n, v]); }; }\r\n    function step(op) {\r\n        if (f) throw new TypeError(\"Generator is already executing.\");\r\n        while (_) try {\r\n            if (f = 1, y && (t = y[op[0] & 2 ? \"return\" : op[0] ? \"throw\" : \"next\"]) && !(t = t.call(y, op[1])).done) return t;\r\n            if (y = 0, t) op = [0, t.value];\r\n            switch (op[0]) {\r\n                case 0: case 1: t = op; break;\r\n                case 4: _.label++; return { value: op[1], done: false };\r\n                case 5: _.label++; y = op[1]; op = [0]; continue;\r\n                case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n                default:\r\n                    if (!(t = _.trys, t = t.length > 0 && t[t.lengt
 h - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n                    if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n                    if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n                    if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n                    if (t[2]) _.ops.pop();\r\n                    _.trys.pop(); continue;\r\n            }\r\n            op = body.call(thisArg, _);\r\n        } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n        if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n    }\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n    for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n    var m = typeof Symbol === \"function\" && o[Symbol.iterator], i = 0;\r\n    if (m) return m.call(o);\r\n    return {\r\n        next: fun
 ction () {\r\n            if (o && i >= o.length) o = void 0;\r\n            return { value: o && o[i++], done: !o };\r\n        }\r\n    };\r\n}\r\n\r\nexport function __read(o, n) {\r\n    var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n    if (!m) return o;\r\n    var i = m.call(o), r, ar = [], e;\r\n    try {\r\n        while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n    }\r\n    catch (error) { e = { error: error }; }\r\n    finally {\r\n        try {\r\n            if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n        }\r\n        finally { if (e) throw e.error; }\r\n    }\r\n    return ar;\r\n}\r\n\r\nexport function __spread() {\r\n    for (var ar = [], i = 0; i < arguments.length; i++)\r\n        ar = ar.concat(__read(arguments[i]));\r\n    return ar;\r\n}\r\n\r\nexport function __await(v) {\r\n    return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisAr
 g, _arguments, generator) {\r\n    if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n    var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n    return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n    function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n    function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n    function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r);  }\r\n    function fulfill(value) { resume(\"next\", value); }\r\n    function reject(value) { resume(\"throw\", value); }\r\n    function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n    var i, p;\r\n    return i = {}, verb(\
 "next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n    function verb(n, f) { if (o[n]) i[n] = function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; }; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n    if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n    var m = o[Symbol.asyncIterator];\r\n    return m ? m.call(o) : typeof __values === \"function\" ? __values(o) : o[Symbol.iterator]();\r\n}","/**\n * @fileoverview added by tsickle\n * @suppress {checkTypes} checked by tsc\n */\nimport { AUTO_STYLE, NoopAnimationPlayer, ɵAnimationGroupPlayer, ɵPRE_STYLE as PRE_STYLE } from '@angular/animations';\n/**\n * @param {?} players\n * @return {?}\n */\nexport function optimizeGroupPlayer(players) {\n    switch (players.length) {\n        case 0:\n            return new NoopAnimationPlayer();\n        case 1:\n         
    return players[0];\n        default:\n            return new ɵAnimationGroupPlayer(players);\n    }\n}\n/**\n * @param {?} driver\n * @param {?} normalizer\n * @param {?} element\n * @param {?} keyframes\n * @param {?=} preStyles\n * @param {?=} postStyles\n * @return {?}\n */\nexport function normalizeKeyframes(driver, normalizer, element, keyframes, preStyles, postStyles) {\n    if (preStyles === void 0) { preStyles = {}; }\n    if (postStyles === void 0) { postStyles = {}; }\n    var /** @type {?} */ errors = [];\n    var /** @type {?} */ normalizedKeyframes = [];\n    var /** @type {?} */ previousOffset = -1;\n    var /** @type {?} */ previousKeyframe = null;\n    keyframes.forEach(function (kf) {\n        var /** @type {?} */ offset = /** @type {?} */ (kf['offset']);\n        var /** @type {?} */ isSameOffset = offset == previousOffset;\n        var /** @type {?} */ normalizedKeyframe = (isSameOffset && previousKeyframe) || {};\n        Object.keys(kf).forEach(function (pro
 p) {\n            var /** @type {?} */ normalizedProp = prop;\n            var /** @type {?} */ normalizedValue = kf[prop];\n            if (prop !== 'offset') {\n                normalizedProp = normalizer.normalizePropertyName(normalizedProp, errors);\n                switch (normalizedValue) {\n                    case PRE_STYLE:\n                        normalizedValue = preStyles[prop];\n                        break;\n                    case AUTO_STYLE:\n                        normalizedValue = postStyles[prop];\n                        break;\n                    default:\n                        normalizedValue =\n                            normalizer.normalizeStyleValue(prop, normalizedProp, normalizedValue, errors);\n                        break;\n                }\n            }\n            normalizedKeyframe[normalizedProp] = normalizedValue;\n        });\n        if (!isSameOffset) {\n            normalizedKeyframes.push(normalizedKeyframe);\n        }\n        pre
 viousKeyframe = normalizedKeyframe;\n        previousOffset = offset;\n    });\n    if (errors.length) {\n        var /** @type {?} */ LINE_START = '\\n - ';\n        throw new Error(\"Unable to animate due to the following errors:\" + LINE_START + errors.join(LINE_START));\n    }\n    return normalizedKeyframes;\n}\n/**\n * @param {?} player\n * @param {?} eventName\n * @param {?} event\n * @param {?} callback\n * @return {?}\n */\nexport function listenOnPlayer(player, eventName, event, callback) {\n    switch (eventName) {\n        case 'start':\n            player.onStart(function () { return callback(event && copyAnimationEvent(event, 'start', player.totalTime)); });\n            break;\n        case 'done':\n            player.onDone(function () { return callback(event && copyAnimationEvent(event, 'done', player.totalTime)); });\n            break;\n        case 'destroy':\n            player.onDestroy(function () { return callback(event && copyAnimationEvent(event, 'destroy',
  player.totalTime)); });\n            break;\n    }\n}\n/**\n * @param {?} e\n * @param {?=} phaseName\n * @param {?=} totalTime\n * @return {?}\n */\nexport function copyAnimationEvent(e, phaseName, totalTime) {\n    var /** @type {?} */ event = makeAnimationEvent(e.element, e.triggerName, e.fromState, e.toState, phaseName || e.phaseName, totalTime == undefined ? e.totalTime : totalTime);\n    var /** @type {?} */ data = (/** @type {?} */ (e))['_data'];\n    if (data != null) {\n        (/** @type {?} */ (event))['_data'] = data;\n    }\n    return event;\n}\n/**\n * @param {?} element\n * @param {?} triggerName\n * @param {?} fromState\n * @param {?} toState\n * @param {?=} phaseName\n * @param {?=} totalTime\n * @return {?}\n */\nexport function makeAnimationEvent(element, triggerName, fromState, toState, phaseName, totalTime) {\n    if (phaseName === void 0) { phaseName = ''; }\n    if (totalTime === void 0) { totalTime = 0; }\n    return { element: element, triggerName: trigger
 Name, fromState: fromState, toState: toState, phaseName: phaseName, totalTime: totalTime };\n}\n/**\n * @param {?} map\n * @param {?} key\n * @param {?} defaultValue\n * @return {?}\n */\nexport function getOrSetAsInMap(map, key, defaultValue) {\n    var /** @type {?} */ value;\n    if (map instanceof Map) {\n        value = map.get(key);\n        if (!value) {\n            map.set(key, value = defaultValue);\n        }\n    }\n    else {\n        value = map[key];\n        if (!value) {\n            value = map[key] = defaultValue;\n        }\n    }\n    return value;\n}\n/**\n * @param {?} command\n * @return {?}\n */\nexport function parseTimelineCommand(command) {\n    var /** @type {?} */ separatorPos = command.indexOf(':');\n    var /** @type {?} */ id = command.substring(1, separatorPos);\n    var /** @type {?} */ action = command.substr(separatorPos + 1);\n    return [id, action];\n}\nvar /** @type {?} */ _contains = function (elm1, elm2) { return false; };\nvar ɵ0 = _conta
 ins;\nvar /** @type {?} */ _matches = function (element, selector) {\n    return false;\n};\nvar ɵ1 = _matches;\nvar /** @type {?} */ _query = function (element, selector, multi) {\n    return [];\n};\nvar ɵ2 = _query;\nif (typeof Element != 'undefined') {\n    // this is well supported in all browsers\n    _contains = function (elm1, elm2) { return /** @type {?} */ (elm1.contains(elm2)); };\n    if (Element.prototype.matches) {\n        _matches = function (element, selector) { return element.matches(selector); };\n    }\n    else {\n        var /** @type {?} */ proto = /** @type {?} */ (Element.prototype);\n        var /** @type {?} */ fn_1 = proto.matchesSelector || proto.mozMatchesSelector || proto.msMatchesSelector ||\n            proto.oMatchesSelector || proto.webkitMatchesSelector;\n        if (fn_1) {\n            _matches = function (element, selector) { return fn_1.apply(element, [selector]); };\n        }\n    }\n    _query = function (element, selector, multi) {\n    
     var /** @type {?} */ results = [];\n        if (multi) {\n            results.push.apply(results, element.querySelectorAll(selector));\n        }\n        else {\n            var /** @type {?} */ elm = element.querySelector(selector);\n            if (elm) {\n                results.push(elm);\n            }\n        }\n        return results;\n    };\n}\n/**\n * @param {?} prop\n * @return {?}\n */\nfunction containsVendorPrefix(prop) {\n    // Webkit is the only real popular vendor prefix nowadays\n    // cc: http://shouldiprefix.com/\n    return prop.substring(1, 6) == 'ebkit'; // webkit or Webkit\n}\nvar /** @type {?} */ _CACHED_BODY = null;\nvar /** @type {?} */ _IS_WEBKIT = false;\n/**\n * @param {?} prop\n * @return {?}\n */\nexport function validateStyleProperty(prop) {\n    if (!_CACHED_BODY) {\n        _CACHED_BODY = getBodyNode() || {};\n        _IS_WEBKIT = /** @type {?} */ ((_CACHED_BODY)).style ? ('WebkitAppearance' in /** @type {?} */ ((_CACHED_BODY)).style) : fal
 se;\n    }\n    var /** @type {?} */ result = true;\n    if (/** @type {?} */ ((_CACHED_BODY)).style && !containsVendorPrefix(prop)) {\n        result = prop in /** @type {?} */ ((_CACHED_BODY)).style;\n        if (!result && _IS_WEBKIT) {\n            var /** @type {?} */ camelProp = 'Webkit' + prop.charAt(0).toUpperCase() + prop.substr(1);\n            result = camelProp in /** @type {?} */ ((_CACHED_BODY)).style;\n        }\n    }\n    return result;\n}\n/**\n * @return {?}\n */\nexport function getBodyNode() {\n    if (typeof document != 'undefined') {\n        return document.body;\n    }\n    return null;\n}\nexport var /** @type {?} */ matchesElement = _matches;\nexport var /** @type {?} */ containsElement = _contains;\nexport var /** @type {?} */ invokeQuery = _query;\nexport { ɵ0, ɵ1, ɵ2 };\n//# sourceMappingURL=shared.js.map","/**\n * @fileoverview added by tsickle\n * @suppress {checkTypes} checked by tsc\n */\nimport { sequence } from '@angular/animations';\nexport va
 r /** @type {?} */ ONE_SECOND = 1000;\nexport var /** @type {?} */ SUBSTITUTION_EXPR_START = '{{';\nexport var /** @type {?} */ SUBSTITUTION_EXPR_END = '}}';\nexport var /** @type {?} */ ENTER_CLASSNAME = 'ng-enter';\nexport var /** @type {?} */ LEAVE_CLASSNAME = 'ng-leave';\nexport var /** @type {?} */ ENTER_SELECTOR = '.ng-enter';\nexport var /** @type {?} */ LEAVE_SELECTOR = '.ng-leave';\nexport var /** @type {?} */ NG_TRIGGER_CLASSNAME = 'ng-trigger';\nexport var /** @type {?} */ NG_TRIGGER_SELECTOR = '.ng-trigger';\nexport var /** @type {?} */ NG_ANIMATING_CLASSNAME = 'ng-animating';\nexport var /** @type {?} */ NG_ANIMATING_SELECTOR = '.ng-animating';\n/**\n * @param {?} value\n * @return {?}\n */\nexport function resolveTimingValue(value) {\n    if (typeof value == 'number')\n        return value;\n    var /** @type {?} */ matches = (/** @type {?} */ (value)).match(/^(-?[\\.\\d]+)(m?s)/);\n    if (!matches || matches.length < 2)\n        return 0;\n    return _convertTimeValu
 eToMS(parseFloat(matches[1]), matches[2]);\n}\n/**\n * @param {?} value\n * @param {?} unit\n * @return {?}\n */\nfunction _convertTimeValueToMS(value, unit) {\n    switch (unit) {\n        case 's':\n            return value * ONE_SECOND;\n        default:\n            // ms or something else\n            return value;\n    }\n}\n/**\n * @param {?} timings\n * @param {?} errors\n * @param {?=} allowNegativeValues\n * @return {?}\n */\nexport function resolveTiming(timings, errors, allowNegativeValues) {\n    return timings.hasOwnProperty('duration') ? /** @type {?} */ (timings) :\n        parseTimeExpression(/** @type {?} */ (timings), errors, allowNegativeValues);\n}\n/**\n * @param {?} exp\n * @param {?} errors\n * @param {?=} allowNegativeValues\n * @return {?}\n */\nfunction parseTimeExpression(exp, errors, allowNegativeValues) {\n    var /** @type {?} */ regex = /^(-?[\\.\\d]+)(m?s)(?:\\s+(-?[\\.\\d]+)(m?s))?(?:\\s+([-a-z]+(?:\\(.+?\\))?))?$/i;\n    var /** @type {?} */ durati
 on;\n    var /** @type {?} */ delay = 0;\n    var /** @type {?} */ easing = '';\n    if (typeof exp === 'string') {\n        var /** @type {?} */ matches = exp.match(regex);\n        if (matches === null) {\n            errors.push(\"The provided timing value \\\"\" + exp + \"\\\" is invalid.\");\n            return { duration: 0, delay: 0, easing: '' };\n        }\n        duration = _convertTimeValueToMS(parseFloat(matches[1]), matches[2]);\n        var /** @type {?} */ delayMatch = matches[3];\n        if (delayMatch != null) {\n            delay = _convertTimeValueToMS(Math.floor(parseFloat(delayMatch)), matches[4]);\n        }\n        var /** @type {?} */ easingVal = matches[5];\n        if (easingVal) {\n            easing = easingVal;\n        }\n    }\n    else {\n        duration = /** @type {?} */ (exp);\n    }\n    if (!allowNegativeValues) {\n        var /** @type {?} */ containsErrors = false;\n        var /** @type {?} */ startIndex = errors.length;\n        if (durat
 ion < 0) {\n            errors.push(\"Duration values below 0 are not allowed for this animation step.\");\n            containsErrors = true;\n        }\n        if (delay < 0) {\n            errors.push(\"Delay values below 0 are not allowed for this animation step.\");\n            containsErrors = true;\n        }\n        if (containsErrors) {\n            errors.splice(startIndex, 0, \"The provided timing value \\\"\" + exp + \"\\\" is invalid.\");\n        }\n    }\n    return { duration: duration, delay: delay, easing: easing };\n}\n/**\n * @param {?} obj\n * @param {?=} destination\n * @return {?}\n */\nexport function copyObj(obj, destination) {\n    if (destination === void 0) { destination = {}; }\n    Object.keys(obj).forEach(function (prop) { destination[prop] = obj[prop]; });\n    return destination;\n}\n/**\n * @param {?} styles\n * @return {?}\n */\nexport function normalizeStyles(styles) {\n    var /** @type {?} */ normalizedStyles = {};\n    if (Array.isArray(styl
 es)) {\n        styles.forEach(function (data) { return copyStyles(data, false, normalizedStyles); });\n    }\n    else {\n        copyStyles(styles, false, normalizedStyles);\n    }\n    return normalizedStyles;\n}\n/**\n * @param {?} styles\n * @param {?} readPrototype\n * @param {?=} destination\n * @return {?}\n */\nexport function copyStyles(styles, readPrototype, destination) {\n    if (destination === void 0) { destination = {}; }\n    if (readPrototype) {\n        // we make use of a for-in loop so that the\n        // prototypically inherited properties are\n        // revealed from the backFill map\n        for (var /** @type {?} */ prop in styles) {\n            destination[prop] = styles[prop];\n        }\n    }\n    else {\n        copyObj(styles, destination);\n    }\n    return destination;\n}\n/**\n * @param {?} element\n * @param {?} styles\n * @return {?}\n */\nexport function setStyles(element, styles) {\n    if (element['style']) {\n        Object.keys(styles).fo
 rEach(function (prop) {\n            var /** @type {?} */ camelProp = dashCaseToCamelCase(prop);\n            element.style[camelProp] = styles[prop];\n        });\n    }\n}\n/**\n * @param {?} element\n * @param {?} styles\n * @return {?}\n */\nexport function eraseStyles(element, styles) {\n    if (element['style']) {\n        Object.keys(styles).forEach(function (prop) {\n            var /** @type {?} */ camelProp = dashCaseToCamelCase(prop);\n            element.style[camelProp] = '';\n        });\n    }\n}\n/**\n * @param {?} steps\n * @return {?}\n */\nexport function normalizeAnimationEntry(steps) {\n    if (Array.isArray(steps)) {\n        if (steps.length == 1)\n            return steps[0];\n        return sequence(steps);\n    }\n    return /** @type {?} */ (steps);\n}\n/**\n * @param {?} value\n * @param {?} options\n * @param {?} errors\n * @return {?}\n */\nexport function validateStyleParams(value, options, errors) {\n    var /** @type {?} */ params = options.params ||
  {};\n    var /** @type {?} */ matches = extractStyleParams(value);\n    if (matches.length) {\n        matches.forEach(function (varName) {\n            if (!params.hasOwnProperty(varName)) {\n                errors.push(\"Unable to resolve the local animation param \" + varName + \" in the given list of values\");\n            }\n        });\n    }\n}\nvar /** @type {?} */ PARAM_REGEX = new RegExp(SUBSTITUTION_EXPR_START + \"\\\\s*(.+?)\\\\s*\" + SUBSTITUTION_EXPR_END, 'g');\n/**\n * @param {?} value\n * @return {?}\n */\nexport function extractStyleParams(value) {\n    var /** @type {?} */ params = [];\n    if (typeof value === 'string') {\n        var /** @type {?} */ val = value.toString();\n        var /** @type {?} */ match = void 0;\n        while (match = PARAM_REGEX.exec(val)) {\n            params.push(/** @type {?} */ (match[1]));\n        }\n        PARAM_REGEX.lastIndex = 0;\n    }\n    return params;\n}\n/**\n * @param {?} value\n * @param {?} params\n * @param {?} er
 rors\n * @return {?}\n */\nexport function interpolateParams(value, params, errors) {\n    var /** @type {?} */ original = value.toString();\n    var /** @type {?} */ str = original.replace(PARAM_REGEX, function (_, varName) {\n        var /** @type {?} */ localVal = params[varName];\n        // this means that the value was never overidden by the data passed in by the user\n        if (!params.hasOwnProperty(varName)) {\n            errors.push(\"Please provide a value for the animation param \" + varName);\n            localVal = '';\n        }\n        return localVal.toString();\n    });\n    // we do this to assert that numeric values stay as they are\n    return str == original ? value : str;\n}\n/**\n * @param {?} iterator\n * @return {?}\n */\nexport function iteratorToArray(iterator) {\n    var /** @type {?} */ arr = [];\n    var /** @type {?} */ item = iterator.next();\n    while (!item.done) {\n        arr.push(item.value);\n        item = iterator.next();\n    }\n    ret
 urn arr;\n}\n/**\n * @param {?} source\n * @param {?} destination\n * @return {?}\n */\nexport function mergeAnimationOptions(source, destination) {\n    if (source.params) {\n        var /** @type {?} */ p0_1 = source.params;\n        if (!destination.params) {\n            destination.params = {};\n        }\n        var /** @type {?} */ p1_1 = destination.params;\n        Object.keys(p0_1).forEach(function (param) {\n            if (!p1_1.hasOwnProperty(param)) {\n                p1_1[param] = p0_1[param];\n            }\n        });\n    }\n    return destination;\n}\nvar /** @type {?} */ DASH_CASE_REGEXP = /-+([a-z0-9])/g;\n/**\n * @param {?} input\n * @return {?}\n */\nexport function dashCaseToCamelCase(input) {\n    return input.replace(DASH_CASE_REGEXP, function () {\n        var m = [];\n        for (var _i = 0; _i < arguments.length; _i++) {\n            m[_i] = arguments[_i];\n        }\n        return m[1].toUpperCase();\n    });\n}\n/**\n * @param {?} duration\n * @par
 am {?} delay\n * @return {?}\n */\nexport function allowPreviousPlayerStylesMerge(duration, delay) {\n    return duration === 0 || delay === 0;\n}\n/**\n * @param {?} visitor\n * @param {?} node\n * @param {?} context\n * @return {?}\n */\nexport function visitDslNode(visitor, node, context) {\n    switch (node.type) {\n        case 7 /* Trigger */:\n            return visitor.visitTrigger(node, context);\n        case 0 /* State */:\n            return visitor.visitState(node, context);\n        case 1 /* Transition */:\n            return visitor.visitTransition(node, context);\n        case 2 /* Sequence */:\n            return visitor.visitSequence(node, context);\n        case 3 /* Group */:\n            return visitor.visitGroup(node, context);\n        case 4 /* Animate */:\n            return visitor.visitAnimate(node, context);\n        case 5 /* Keyframes */:\n            return visitor.visitKeyframes(node, context);\n        case 6 /* Style */:\n            return visitor
 .visitStyle(node, context);\n        case 8 /* Reference */:\n            return visitor.visitReference(node, context);\n        case 9 /* AnimateChild */:\n            return visitor.visitAnimateChild(node, context);\n        case 10 /* AnimateRef */:\n            return visitor.visitAnimateRef(node, context);\n        case 11 /* Query */:\n            return visitor.visitQuery(node, context);\n        case 12 /* Stagger */:\n            return visitor.visitStagger(node, context);\n        default:\n            throw new Error(\"Unable to resolve animation metadata node #\" + node.type);\n    }\n}\n//# sourceMappingURL=util.js.map","/**\n * @fileoverview added by tsickle\n * @suppress {checkTypes} checked by tsc\n */\nimport * as tslib_1 from \"tslib\";\nimport { AUTO_STYLE, NoopAnimationPlayer } from '@angular/animations';\nimport { containsElement, invokeQuery, matchesElement, validateStyleProperty } from '../../src/render/shared';\nimport { allowPreviousPlayerStylesMerge } from 
 '../../src/util';\n/**\n * \\@experimental Animation support is experimental.\n */\nvar MockAnimationDriver = /** @class */ (function () {\n    function MockAnimationDriver() {\n    }\n    /**\n     * @param {?} prop\n     * @return {?}\n     */\n    MockAnimationDriver.prototype.validateStyleProperty = /**\n     * @param {?} prop\n     * @return {?}\n     */\n    function (prop) { return validateStyleProperty(prop); };\n    /**\n     * @param {?} element\n     * @param {?} selector\n     * @return {?}\n     */\n    MockAnimationDriver.prototype.matchesElement = /**\n     * @param {?} element\n     * @param {?} selector\n     * @return {?}\n     */\n    function (element, selector) {\n        return matchesElement(element, selector);\n    };\n    /**\n     * @param {?} elm1\n     * @param {?} elm2\n     * @return {?}\n     */\n    MockAnimationDriver.prototype.containsElement = /**\n     * @param {?} elm1\n     * @param {?} elm2\n     * @return {?}\n     */\n    function (elm1, elm2
 ) { return containsElement(elm1, elm2); };\n    /**\n     * @param {?} element\n     * @param {?} selector\n     * @param {?} multi\n     * @return {?}\n     */\n    MockAnimationDriver.prototype.query = /**\n     * @param {?} element\n     * @param {?} selector\n     * @param {?} multi\n     * @return {?}\n     */\n    function (element, selector, multi) {\n        return invokeQuery(element, selector, multi);\n    };\n    /**\n     * @param {?} element\n     * @param {?} prop\n     * @param {?=} defaultValue\n     * @return {?}\n     */\n    MockAnimationDriver.prototype.computeStyle = /**\n     * @param {?} element\n     * @param {?} prop\n     * @param {?=} defaultValue\n     * @return {?}\n     */\n    function (element, prop, defaultValue) {\n        return defaultValue || '';\n    };\n    /**\n     * @param {?} element\n     * @param {?} keyframes\n     * @param {?} duration\n     * @param {?} delay\n     * @param {?} easing\n     * @param {?=} previousPlayers\n     * @return
  {?}\n     */\n    MockAnimationDriver.prototype.animate = /**\n     * @param {?} element\n     * @param {?} keyframes\n     * @param {?} duration\n     * @param {?} delay\n     * @param {?} easing\n     * @param {?=} previousPlayers\n     * @return {?}\n     */\n    function (element, keyframes, duration, delay, easing, previousPlayers) {\n        if (previousPlayers === void 0) { previousPlayers = []; }\n        var /** @type {?} */ player = new MockAnimationPlayer(element, keyframes, duration, delay, easing, previousPlayers);\n        MockAnimationDriver.log.push(/** @type {?} */ (player));\n        return player;\n    };\n    MockAnimationDriver.log = [];\n    return MockAnimationDriver;\n}());\nexport { MockAnimationDriver };\nfunction MockAnimationDriver_tsickle_Closure_declarations() {\n    /** @type {?} */\n    MockAnimationDriver.log;\n}\n/**\n * \\@experimental Animation support is experimental.\n */\nvar /**\n * \\@experimental Animation support is experimental.\n */\nMoc
 kAnimationPlayer = /** @class */ (function (_super) {\n    tslib_1.__extends(MockAnimationPlayer, _super);\n    function MockAnimationPlayer(element, keyframes, duration, delay, easing, previousPlayers) {\n        var _this = _super.call(this) || this;\n        _this.element = element;\n        _this.keyframes = keyframes;\n        _this.duration = duration;\n        _this.delay = delay;\n        _this.easing = easing;\n        _this.previousPlayers = previousPlayers;\n        _this.__finished = false;\n        _this.__started = false;\n        _this.previousStyles = {};\n        _this._onInitFns = [];\n        _this.currentSnapshot = {};\n        if (allowPreviousPlayerStylesMerge(duration, delay)) {\n            previousPlayers.forEach(function (player) {\n                if (player instanceof MockAnimationPlayer) {\n                    var /** @type {?} */ styles_1 = player.currentSnapshot;\n                    Object.keys(styles_1).forEach(function (prop) { return _this.previous
 Styles[prop] = styles_1[prop]; });\n                }\n            });\n        }\n        _this.totalTime = delay + duration;\n        return _this;\n    }\n    /* @internal */\n    /**\n     * @param {?} fn\n     * @return {?}\n     */\n    MockAnimationPlayer.prototype.onInit = /**\n     * @param {?} fn\n     * @return {?}\n     */\n    function (fn) { this._onInitFns.push(fn); };\n    /* @internal */\n    /**\n     * @return {?}\n     */\n    MockAnimationPlayer.prototype.init = /**\n     * @return {?}\n     */\n    function () {\n        _super.prototype.init.call(this);\n        this._onInitFns.forEach(function (fn) { return fn(); });\n        this._onInitFns = [];\n    };\n    /**\n     * @return {?}\n     */\n    MockAnimationPlayer.prototype.finish = /**\n     * @return {?}\n     */\n    function () {\n        _super.prototype.finish.call(this);\n        this.__finished = true;\n    };\n    /**\n     * @return {?}\n     */\n    MockAnimationPlayer.prototype.destroy = /**\n 
     * @return {?}\n     */\n    function () {\n        _super.prototype.destroy.call(this);\n        this.__finished = true;\n    };\n    /* @internal */\n    /**\n     * @return {?}\n     */\n    MockAnimationPlayer.prototype.triggerMicrotask = /**\n     * @return {?}\n     */\n    function () { };\n    /**\n     * @return {?}\n     */\n    MockAnimationPlayer.prototype.play = /**\n     * @return {?}\n     */\n    function () {\n        _super.prototype.play.call(this);\n        this.__started = true;\n    };\n    /**\n     * @return {?}\n     */\n    MockAnimationPlayer.prototype.hasStarted = /**\n     * @return {?}\n     */\n    function () { return this.__started; };\n    /**\n     * @return {?}\n     */\n    MockAnimationPlayer.prototype.beforeDestroy = /**\n     * @return {?}\n     */\n    function () {\n        var _this = this;\n        var /** @type {?} */ captures = {};\n        Object.keys(this.previousStyles).forEach(function (prop) {\n            captures[prop] = _this.
 previousStyles[prop];\n        });\n        if (this.hasStarted()) {\n            // when assembling the captured styles, it's important that\n            // we build the keyframe styles in the following order:\n            // {other styles within keyframes, ... previousStyles }\n            this.keyframes.forEach(function (kf) {\n                Object.keys(kf).forEach(function (prop) {\n                    if (prop != 'offset') {\n                        captures[prop] = _this.__finished ? kf[prop] : AUTO_STYLE;\n                    }\n                });\n            });\n        }\n        this.currentSnapshot = captures;\n    };\n    return MockAnimationPlayer;\n}(NoopAnimationPlayer));\n/**\n * \\@experimental Animation support is experimental.\n */\nexport { MockAnimationPlayer };\nfunction MockAnimationPlayer_tsickle_Closure_declarations() {\n    /** @type {?} */\n    MockAnimationPlayer.prototype.__finished;\n    /** @type {?} */\n    MockAnimationPlayer.prototype.__started
 ;\n    /** @type {?} */\n    MockAnimationPlayer.prototype.previousStyles;\n    /** @type {?} */\n    MockAnimationPlayer.prototype._onInitFns;\n    /** @type {?} */\n    MockAnimationPlayer.prototype.currentSnapshot;\n    /** @type {?} */\n    MockAnimationPlayer.prototype.element;\n    /** @type {?} */\n    MockAnimationPlayer.prototype.keyframes;\n    /** @type {?} */\n    MockAnimationPlayer.prototype.duration;\n    /** @type {?} */\n    MockAnimationPlayer.prototype.delay;\n    /** @type {?} */\n    MockAnimationPlayer.prototype.easing;\n    /** @type {?} */\n    MockAnimationPlayer.prototype.previousPlayers;\n}\n//# sourceMappingURL=mock_animation_driver.js.map"],"names":["tslib_1.__extends","AUTO_STYLE","NoopAnimationPlayer"],"mappings":"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"}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/eec354e6/node_modules/@angular/animations/bundles/animations-browser-testing.umd.min.js
----------------------------------------------------------------------
diff --git a/node_modules/@angular/animations/bundles/animations-browser-testing.umd.min.js b/node_modules/@angular/animations/bundles/animations-browser-testing.umd.min.js
new file mode 100644
index 0000000..f26ad59
--- /dev/null
+++ b/node_modules/@angular/animations/bundles/animations-browser-testing.umd.min.js
@@ -0,0 +1,7 @@
+/**
+ * @license Angular v5.2.0
+ * (c) 2010-2018 Google, Inc. https://angular.io/
+ * License: MIT
+ */
+!function(global,factory){"object"==typeof exports&&"undefined"!=typeof module?factory(exports,require("@angular/animations")):"function"==typeof define&&define.amd?define("@angular/animations/browser/testing",["exports","@angular/animations"],factory):factory((global.ng=global.ng||{},global.ng.animations=global.ng.animations||{},global.ng.animations.browser=global.ng.animations.browser||{},global.ng.animations.browser.testing={}),global.ng.animations)}(this,function(exports,_angular_animations){"use strict";function __extends(d,b){function __(){this.constructor=d}extendStatics(d,b),d.prototype=null===b?Object.create(b):(__.prototype=b.prototype,new __)}function containsVendorPrefix(prop){return"ebkit"==prop.substring(1,6)}function validateStyleProperty(prop){_CACHED_BODY||(_CACHED_BODY=getBodyNode()||{},_IS_WEBKIT=!!_CACHED_BODY.style&&"WebkitAppearance"in _CACHED_BODY.style);var result=!0;if(_CACHED_BODY.style&&!containsVendorPrefix(prop)&&!(result=prop in _CACHED_BODY.style)&&_IS
 _WEBKIT){result="Webkit"+prop.charAt(0).toUpperCase()+prop.substr(1)in _CACHED_BODY.style}return result}function getBodyNode(){return"undefined"!=typeof document?document.body:null}function allowPreviousPlayerStylesMerge(duration,delay){return 0===duration||0===delay}var extendStatics=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(d,b){d.__proto__=b}||function(d,b){for(var p in b)b.hasOwnProperty(p)&&(d[p]=b[p])},_contains=function(elm1,elm2){return!1},_matches=function(element,selector){return!1},_query=function(element,selector,multi){return[]};if("undefined"!=typeof Element){if(_contains=function(elm1,elm2){return elm1.contains(elm2)},Element.prototype.matches)_matches=function(element,selector){return element.matches(selector)};else{var proto=Element.prototype,fn_1=proto.matchesSelector||proto.mozMatchesSelector||proto.msMatchesSelector||proto.oMatchesSelector||proto.webkitMatchesSelector;fn_1&&(_matches=function(element,selector){return fn_1.apply(element,[sele
 ctor])})}_query=function(element,selector,multi){var results=[];if(multi)results.push.apply(results,element.querySelectorAll(selector));else{var elm=element.querySelector(selector);elm&&results.push(elm)}return results}}var _CACHED_BODY=null,_IS_WEBKIT=!1,matchesElement=_matches,containsElement=_contains,invokeQuery=_query,MockAnimationDriver=function(){function MockAnimationDriver(){}return MockAnimationDriver.prototype.validateStyleProperty=function(prop){return validateStyleProperty(prop)},MockAnimationDriver.prototype.matchesElement=function(element,selector){return matchesElement(element,selector)},MockAnimationDriver.prototype.containsElement=function(elm1,elm2){return containsElement(elm1,elm2)},MockAnimationDriver.prototype.query=function(element,selector,multi){return invokeQuery(element,selector,multi)},MockAnimationDriver.prototype.computeStyle=function(element,prop,defaultValue){return defaultValue||""},MockAnimationDriver.prototype.animate=function(element,keyframes,dur
 ation,delay,easing,previousPlayers){void 0===previousPlayers&&(previousPlayers=[]);var player=new MockAnimationPlayer(element,keyframes,duration,delay,easing,previousPlayers);return MockAnimationDriver.log.push(player),player},MockAnimationDriver.log=[],MockAnimationDriver}(),MockAnimationPlayer=function(_super){function MockAnimationPlayer(element,keyframes,duration,delay,easing,previousPlayers){var _this=_super.call(this)||this;return _this.element=element,_this.keyframes=keyframes,_this.duration=duration,_this.delay=delay,_this.easing=easing,_this.previousPlayers=previousPlayers,_this.__finished=!1,_this.__started=!1,_this.previousStyles={},_this._onInitFns=[],_this.currentSnapshot={},allowPreviousPlayerStylesMerge(duration,delay)&&previousPlayers.forEach(function(player){if(player instanceof MockAnimationPlayer){var styles_1=player.currentSnapshot;Object.keys(styles_1).forEach(function(prop){return _this.previousStyles[prop]=styles_1[prop]})}}),_this.totalTime=delay+duration,_th
 is}return __extends(MockAnimationPlayer,_super),MockAnimationPlayer.prototype.onInit=function(fn){this._onInitFns.push(fn)},MockAnimationPlayer.prototype.init=function(){_super.prototype.init.call(this),this._onInitFns.forEach(function(fn){return fn()}),this._onInitFns=[]},MockAnimationPlayer.prototype.finish=function(){_super.prototype.finish.call(this),this.__finished=!0},MockAnimationPlayer.prototype.destroy=function(){_super.prototype.destroy.call(this),this.__finished=!0},MockAnimationPlayer.prototype.triggerMicrotask=function(){},MockAnimationPlayer.prototype.play=function(){_super.prototype.play.call(this),this.__started=!0},MockAnimationPlayer.prototype.hasStarted=function(){return this.__started},MockAnimationPlayer.prototype.beforeDestroy=function(){var _this=this,captures={};Object.keys(this.previousStyles).forEach(function(prop){captures[prop]=_this.previousStyles[prop]}),this.hasStarted()&&this.keyframes.forEach(function(kf){Object.keys(kf).forEach(function(prop){"offse
 t"!=prop&&(captures[prop]=_this.__finished?kf[prop]:_angular_animations.AUTO_STYLE)})}),this.currentSnapshot=captures},MockAnimationPlayer}(_angular_animations.NoopAnimationPlayer);exports.MockAnimationDriver=MockAnimationDriver,exports.MockAnimationPlayer=MockAnimationPlayer,Object.defineProperty(exports,"__esModule",{value:!0})});
+//# sourceMappingURL=animations-browser-testing.umd.min.js.map
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/eec354e6/node_modules/@angular/animations/bundles/animations-browser-testing.umd.min.js.map
----------------------------------------------------------------------
diff --git a/node_modules/@angular/animations/bundles/animations-browser-testing.umd.min.js.map b/node_modules/@angular/animations/bundles/animations-browser-testing.umd.min.js.map
new file mode 100644
index 0000000..b9aff9c
--- /dev/null
+++ b/node_modules/@angular/animations/bundles/animations-browser-testing.umd.min.js.map
@@ -0,0 +1 @@
+{"version":3,"sources":["animations-browser-testing.umd.js"],"names":["global","factory","exports","module","require","define","amd","ng","animations","browser","testing","this","_angular_animations","__extends","d","b","__","constructor","extendStatics","prototype","Object","create","containsVendorPrefix","prop","substring","validateStyleProperty","_CACHED_BODY","getBodyNode","_IS_WEBKIT","style","result","charAt","toUpperCase","substr","document","body","allowPreviousPlayerStylesMerge","duration","delay","setPrototypeOf","__proto__","Array","p","hasOwnProperty","_contains","elm1","elm2","_matches","element","selector","_query","multi","Element","contains","matches","proto","fn_1","matchesSelector","mozMatchesSelector","msMatchesSelector","oMatchesSelector","webkitMatchesSelector","apply","results","push","querySelectorAll","elm","querySelector","matchesElement","containsElement","invokeQuery","MockAnimationDriver","query","computeStyle","defaultValue","animate","keyframes","easing
 ","previousPlayers","player","MockAnimationPlayer","log","_super","_this","call","__finished","__started","previousStyles","_onInitFns","currentSnapshot","forEach","styles_1","keys","totalTime","onInit","fn","init","finish","destroy","triggerMicrotask","play","hasStarted","beforeDestroy","captures","kf","AUTO_STYLE","NoopAnimationPlayer","defineProperty","value"],"mappings":"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","file":"animations-browser-testing.umd.min.js","sourcesContent":["/**\n * @license Angular v5.2.0\n * (c) 2010-2018 Google, Inc. https://angular.io/\n * License: MIT\n */\n(function (global, factory) {\n\ttypeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/animations')) :\n\ttypeof define === 'function' && define.amd ? define('@angular/animations/browser/testing', ['exports', '@angular/animations'], factory) :\n\t(factory((global.ng = global.ng || {}, global.ng.animations = global.ng.animations || {}, global.ng.animations.browser = global.ng.animations.browser || {}, global.ng.animations.browser.testing = {}),global.ng.animations));\n}(this, (function (exports,_angular_animations) { 'use strict';\n\n/*! ***********************************
 ******************************************\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = Object.setPrototypeOf ||\r\n    ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n    funct
 ion (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n\r\nfunction __extends(d, b) {\r\n    extendStatics(d, b);\r\n    function __() { this.constructor = d; }\r\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\n\n/**\n * @license Angular v5.2.0\n * (c) 2010-2018 Google, Inc. https://angular.io/\n * License: MIT\n */\n/**\n * @fileoverview added by tsickle\n * @suppress {checkTypes} checked by tsc\n */\n/**\n * @param {?} players\n * @return {?}\n */\n\n/**\n * @param {?} driver\n * @param {?} normalizer\n * @param {?} element\n * @param {?} keyframes\n * @param {?=} preStyles\n * @param {?=} postStyles\n * @return {?}\n */\n\n/**\n * @param {?} player\n * @param {?} eventName\n * @param {?} event\n * @param {?} callback\n * @return {?}\n */\n\n/**\n * @param {?} e\n * @param {?=} phaseName\n * @param {?=} totalTime\n * @return {?}\n */\n\n/**\n * @param {?} element\n * @param {?} triggerName\n * @param {?} fromState
 \n * @param {?} toState\n * @param {?=} phaseName\n * @param {?=} totalTime\n * @return {?}\n */\n\n/**\n * @param {?} map\n * @param {?} key\n * @param {?} defaultValue\n * @return {?}\n */\n\n/**\n * @param {?} command\n * @return {?}\n */\n\nvar _contains = function (elm1, elm2) { return false; };\nvar _matches = function (element, selector) {\n    return false;\n};\nvar _query = function (element, selector, multi) {\n    return [];\n};\nif (typeof Element != 'undefined') {\n    // this is well supported in all browsers\n    _contains = function (elm1, elm2) { return /** @type {?} */ (elm1.contains(elm2)); };\n    if (Element.prototype.matches) {\n        _matches = function (element, selector) { return element.matches(selector); };\n    }\n    else {\n        var /** @type {?} */ proto = /** @type {?} */ (Element.prototype);\n        var /** @type {?} */ fn_1 = proto.matchesSelector || proto.mozMatchesSelector || proto.msMatchesSelector ||\n            proto.oMatchesSelector || 
 proto.webkitMatchesSelector;\n        if (fn_1) {\n            _matches = function (element, selector) { return fn_1.apply(element, [selector]); };\n        }\n    }\n    _query = function (element, selector, multi) {\n        var /** @type {?} */ results = [];\n        if (multi) {\n            results.push.apply(results, element.querySelectorAll(selector));\n        }\n        else {\n            var /** @type {?} */ elm = element.querySelector(selector);\n            if (elm) {\n                results.push(elm);\n            }\n        }\n        return results;\n    };\n}\n/**\n * @param {?} prop\n * @return {?}\n */\nfunction containsVendorPrefix(prop) {\n    // Webkit is the only real popular vendor prefix nowadays\n    // cc: http://shouldiprefix.com/\n    return prop.substring(1, 6) == 'ebkit'; // webkit or Webkit\n}\nvar _CACHED_BODY = null;\nvar _IS_WEBKIT = false;\n/**\n * @param {?} prop\n * @return {?}\n */\nfunction validateStyleProperty(prop) {\n    if (!_CACHED_BODY
 ) {\n        _CACHED_BODY = getBodyNode() || {};\n        _IS_WEBKIT = /** @type {?} */ ((_CACHED_BODY)).style ? ('WebkitAppearance' in /** @type {?} */ ((_CACHED_BODY)).style) : false;\n    }\n    var /** @type {?} */ result = true;\n    if (/** @type {?} */ ((_CACHED_BODY)).style && !containsVendorPrefix(prop)) {\n        result = prop in /** @type {?} */ ((_CACHED_BODY)).style;\n        if (!result && _IS_WEBKIT) {\n            var /** @type {?} */ camelProp = 'Webkit' + prop.charAt(0).toUpperCase() + prop.substr(1);\n            result = camelProp in /** @type {?} */ ((_CACHED_BODY)).style;\n        }\n    }\n    return result;\n}\n/**\n * @return {?}\n */\nfunction getBodyNode() {\n    if (typeof document != 'undefined') {\n        return document.body;\n    }\n    return null;\n}\nvar matchesElement = _matches;\nvar containsElement = _contains;\nvar invokeQuery = _query;\n\n/**\n * @fileoverview added by tsickle\n * @suppress {checkTypes} checked by tsc\n */\n\n\n\n\n\n\n\n\n\
 n\n\n/**\n * @param {?} value\n * @return {?}\n */\n\n/**\n * @param {?} timings\n * @param {?} errors\n * @param {?=} allowNegativeValues\n * @return {?}\n */\n\n/**\n * @param {?} obj\n * @param {?=} destination\n * @return {?}\n */\n\n/**\n * @param {?} styles\n * @return {?}\n */\n\n/**\n * @param {?} styles\n * @param {?} readPrototype\n * @param {?=} destination\n * @return {?}\n */\n\n/**\n * @param {?} element\n * @param {?} styles\n * @return {?}\n */\n\n/**\n * @param {?} element\n * @param {?} styles\n * @return {?}\n */\n\n/**\n * @param {?} steps\n * @return {?}\n */\n\n/**\n * @param {?} value\n * @param {?} options\n * @param {?} errors\n * @return {?}\n */\n\n/**\n * @param {?} value\n * @return {?}\n */\n\n/**\n * @param {?} value\n * @param {?} params\n * @param {?} errors\n * @return {?}\n */\n\n/**\n * @param {?} iterator\n * @return {?}\n */\n\n/**\n * @param {?} source\n * @param {?} destination\n * @return {?}\n */\n\n/**\n * @param {?} input\n * @return {?}\n
  */\n\n/**\n * @param {?} duration\n * @param {?} delay\n * @return {?}\n */\nfunction allowPreviousPlayerStylesMerge(duration, delay) {\n    return duration === 0 || delay === 0;\n}\n/**\n * @param {?} visitor\n * @param {?} node\n * @param {?} context\n * @return {?}\n */\n\n/**\n * @fileoverview added by tsickle\n * @suppress {checkTypes} checked by tsc\n */\n/**\n * \\@experimental Animation support is experimental.\n */\nvar MockAnimationDriver = /** @class */ (function () {\n    function MockAnimationDriver() {\n    }\n    /**\n     * @param {?} prop\n     * @return {?}\n     */\n    MockAnimationDriver.prototype.validateStyleProperty = /**\n     * @param {?} prop\n     * @return {?}\n     */\n    function (prop) { return validateStyleProperty(prop); };\n    /**\n     * @param {?} element\n     * @param {?} selector\n     * @return {?}\n     */\n    MockAnimationDriver.prototype.matchesElement = /**\n     * @param {?} element\n     * @param {?} selector\n     * @return {?}\n  
    */\n    function (element, selector) {\n        return matchesElement(element, selector);\n    };\n    /**\n     * @param {?} elm1\n     * @param {?} elm2\n     * @return {?}\n     */\n    MockAnimationDriver.prototype.containsElement = /**\n     * @param {?} elm1\n     * @param {?} elm2\n     * @return {?}\n     */\n    function (elm1, elm2) { return containsElement(elm1, elm2); };\n    /**\n     * @param {?} element\n     * @param {?} selector\n     * @param {?} multi\n     * @return {?}\n     */\n    MockAnimationDriver.prototype.query = /**\n     * @param {?} element\n     * @param {?} selector\n     * @param {?} multi\n     * @return {?}\n     */\n    function (element, selector, multi) {\n        return invokeQuery(element, selector, multi);\n    };\n    /**\n     * @param {?} element\n     * @param {?} prop\n     * @param {?=} defaultValue\n     * @return {?}\n     */\n    MockAnimationDriver.prototype.computeStyle = /**\n     * @param {?} element\n     * @param {?} prop\n
      * @param {?=} defaultValue\n     * @return {?}\n     */\n    function (element, prop, defaultValue) {\n        return defaultValue || '';\n    };\n    /**\n     * @param {?} element\n     * @param {?} keyframes\n     * @param {?} duration\n     * @param {?} delay\n     * @param {?} easing\n     * @param {?=} previousPlayers\n     * @return {?}\n     */\n    MockAnimationDriver.prototype.animate = /**\n     * @param {?} element\n     * @param {?} keyframes\n     * @param {?} duration\n     * @param {?} delay\n     * @param {?} easing\n     * @param {?=} previousPlayers\n     * @return {?}\n     */\n    function (element, keyframes, duration, delay, easing, previousPlayers) {\n        if (previousPlayers === void 0) { previousPlayers = []; }\n        var /** @type {?} */ player = new MockAnimationPlayer(element, keyframes, duration, delay, easing, previousPlayers);\n        MockAnimationDriver.log.push(/** @type {?} */ (player));\n        return player;\n    };\n    MockAnimation
 Driver.log = [];\n    return MockAnimationDriver;\n}());\n/**\n * \\@experimental Animation support is experimental.\n */\nvar MockAnimationPlayer = /** @class */ (function (_super) {\n    __extends(MockAnimationPlayer, _super);\n    function MockAnimationPlayer(element, keyframes, duration, delay, easing, previousPlayers) {\n        var _this = _super.call(this) || this;\n        _this.element = element;\n        _this.keyframes = keyframes;\n        _this.duration = duration;\n        _this.delay = delay;\n        _this.easing = easing;\n        _this.previousPlayers = previousPlayers;\n        _this.__finished = false;\n        _this.__started = false;\n        _this.previousStyles = {};\n        _this._onInitFns = [];\n        _this.currentSnapshot = {};\n        if (allowPreviousPlayerStylesMerge(duration, delay)) {\n            previousPlayers.forEach(function (player) {\n                if (player instanceof MockAnimationPlayer) {\n                    var /** @type {?} */ sty
 les_1 = player.currentSnapshot;\n                    Object.keys(styles_1).forEach(function (prop) { return _this.previousStyles[prop] = styles_1[prop]; });\n                }\n            });\n        }\n        _this.totalTime = delay + duration;\n        return _this;\n    }\n    /* @internal */\n    /**\n     * @param {?} fn\n     * @return {?}\n     */\n    MockAnimationPlayer.prototype.onInit = /**\n     * @param {?} fn\n     * @return {?}\n     */\n    function (fn) { this._onInitFns.push(fn); };\n    /* @internal */\n    /**\n     * @return {?}\n     */\n    MockAnimationPlayer.prototype.init = /**\n     * @return {?}\n     */\n    function () {\n        _super.prototype.init.call(this);\n        this._onInitFns.forEach(function (fn) { return fn(); });\n        this._onInitFns = [];\n    };\n    /**\n     * @return {?}\n     */\n    MockAnimationPlayer.prototype.finish = /**\n     * @return {?}\n     */\n    function () {\n        _super.prototype.finish.call(this);\n       
  this.__finished = true;\n    };\n    /**\n     * @return {?}\n     */\n    MockAnimationPlayer.prototype.destroy = /**\n     * @return {?}\n     */\n    function () {\n        _super.prototype.destroy.call(this);\n        this.__finished = true;\n    };\n    /* @internal */\n    /**\n     * @return {?}\n     */\n    MockAnimationPlayer.prototype.triggerMicrotask = /**\n     * @return {?}\n     */\n    function () { };\n    /**\n     * @return {?}\n     */\n    MockAnimationPlayer.prototype.play = /**\n     * @return {?}\n     */\n    function () {\n        _super.prototype.play.call(this);\n        this.__started = true;\n    };\n    /**\n     * @return {?}\n     */\n    MockAnimationPlayer.prototype.hasStarted = /**\n     * @return {?}\n     */\n    function () { return this.__started; };\n    /**\n     * @return {?}\n     */\n    MockAnimationPlayer.prototype.beforeDestroy = /**\n     * @return {?}\n     */\n    function () {\n        var _this = this;\n        var /** @type {?} 
 */ captures = {};\n        Object.keys(this.previousStyles).forEach(function (prop) {\n            captures[prop] = _this.previousStyles[prop];\n        });\n        if (this.hasStarted()) {\n            // when assembling the captured styles, it's important that\n            // we build the keyframe styles in the following order:\n            // {other styles within keyframes, ... previousStyles }\n            this.keyframes.forEach(function (kf) {\n                Object.keys(kf).forEach(function (prop) {\n                    if (prop != 'offset') {\n                        captures[prop] = _this.__finished ? kf[prop] : _angular_animations.AUTO_STYLE;\n                    }\n                });\n            });\n        }\n        this.currentSnapshot = captures;\n    };\n    return MockAnimationPlayer;\n}(_angular_animations.NoopAnimationPlayer));\n\nexports.MockAnimationDriver = MockAnimationDriver;\nexports.MockAnimationPlayer = MockAnimationPlayer;\n\nObject.defineProperty(exp
 orts, '__esModule', { value: true });\n\n})));\n//# sourceMappingURL=animations-browser-testing.umd.js.map\n"]}
\ No newline at end of file


[52/59] [abbrv] nifi-fds git commit: remove .bin node_module

Posted by sc...@apache.org.
remove .bin node_module


Project: http://git-wip-us.apache.org/repos/asf/nifi-fds/repo
Commit: http://git-wip-us.apache.org/repos/asf/nifi-fds/commit/fac2a48f
Tree: http://git-wip-us.apache.org/repos/asf/nifi-fds/tree/fac2a48f
Diff: http://git-wip-us.apache.org/repos/asf/nifi-fds/diff/fac2a48f

Branch: refs/heads/gh-pages
Commit: fac2a48f7eea9886747602a26e80edae0448baa9
Parents: eec354e
Author: Scott Aslan <sc...@gmail.com>
Authored: Tue Jun 5 17:11:11 2018 -0400
Committer: Scott Aslan <sc...@gmail.com>
Committed: Tue Jun 5 17:11:11 2018 -0400

----------------------------------------------------------------------
 node_modules/.bin/blocking-proxy    | 1 -
 node_modules/.bin/cake              | 1 -
 node_modules/.bin/coffee            | 1 -
 node_modules/.bin/dateformat        | 1 -
 node_modules/.bin/detect-libc       | 1 -
 node_modules/.bin/ecstatic          | 1 -
 node_modules/.bin/escodegen         | 1 -
 node_modules/.bin/esgenerate        | 1 -
 node_modules/.bin/esparse           | 1 -
 node_modules/.bin/esvalidate        | 1 -
 node_modules/.bin/grunt             | 1 -
 node_modules/.bin/handlebars        | 1 -
 node_modules/.bin/he                | 1 -
 node_modules/.bin/hs                | 1 -
 node_modules/.bin/http-server       | 1 -
 node_modules/.bin/in-install        | 1 -
 node_modules/.bin/in-publish        | 1 -
 node_modules/.bin/istanbul          | 1 -
 node_modules/.bin/jasmine           | 1 -
 node_modules/.bin/js-yaml           | 1 -
 node_modules/.bin/karma             | 1 -
 node_modules/.bin/mime              | 1 -
 node_modules/.bin/mkdirp            | 1 -
 node_modules/.bin/node-gyp          | 1 -
 node_modules/.bin/node-sass         | 1 -
 node_modules/.bin/nopt              | 1 -
 node_modules/.bin/not-in-install    | 1 -
 node_modules/.bin/not-in-publish    | 1 -
 node_modules/.bin/opener            | 1 -
 node_modules/.bin/prebuild-install  | 1 -
 node_modules/.bin/protractor        | 1 -
 node_modules/.bin/rc                | 1 -
 node_modules/.bin/rimraf            | 1 -
 node_modules/.bin/sassgraph         | 1 -
 node_modules/.bin/semver            | 1 -
 node_modules/.bin/sshpk-conv        | 1 -
 node_modules/.bin/sshpk-sign        | 1 -
 node_modules/.bin/sshpk-verify      | 1 -
 node_modules/.bin/strip-indent      | 1 -
 node_modules/.bin/uglifyjs          | 1 -
 node_modules/.bin/uuid              | 1 -
 node_modules/.bin/webdriver-manager | 1 -
 node_modules/.bin/which             | 1 -
 43 files changed, 43 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/fac2a48f/node_modules/.bin/blocking-proxy
----------------------------------------------------------------------
diff --git a/node_modules/.bin/blocking-proxy b/node_modules/.bin/blocking-proxy
deleted file mode 120000
index 2b0fa22..0000000
--- a/node_modules/.bin/blocking-proxy
+++ /dev/null
@@ -1 +0,0 @@
-../blocking-proxy/built/lib/bin.js
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/fac2a48f/node_modules/.bin/cake
----------------------------------------------------------------------
diff --git a/node_modules/.bin/cake b/node_modules/.bin/cake
deleted file mode 120000
index 373ed19..0000000
--- a/node_modules/.bin/cake
+++ /dev/null
@@ -1 +0,0 @@
-../coffeescript/bin/cake
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/fac2a48f/node_modules/.bin/coffee
----------------------------------------------------------------------
diff --git a/node_modules/.bin/coffee b/node_modules/.bin/coffee
deleted file mode 120000
index 52c50e8..0000000
--- a/node_modules/.bin/coffee
+++ /dev/null
@@ -1 +0,0 @@
-../coffeescript/bin/coffee
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/fac2a48f/node_modules/.bin/dateformat
----------------------------------------------------------------------
diff --git a/node_modules/.bin/dateformat b/node_modules/.bin/dateformat
deleted file mode 120000
index bb9cf7b..0000000
--- a/node_modules/.bin/dateformat
+++ /dev/null
@@ -1 +0,0 @@
-../dateformat/bin/cli.js
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/fac2a48f/node_modules/.bin/detect-libc
----------------------------------------------------------------------
diff --git a/node_modules/.bin/detect-libc b/node_modules/.bin/detect-libc
deleted file mode 120000
index b4c4b76..0000000
--- a/node_modules/.bin/detect-libc
+++ /dev/null
@@ -1 +0,0 @@
-../detect-libc/bin/detect-libc.js
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/fac2a48f/node_modules/.bin/ecstatic
----------------------------------------------------------------------
diff --git a/node_modules/.bin/ecstatic b/node_modules/.bin/ecstatic
deleted file mode 120000
index 5a8a58a..0000000
--- a/node_modules/.bin/ecstatic
+++ /dev/null
@@ -1 +0,0 @@
-../ecstatic/lib/ecstatic.js
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/fac2a48f/node_modules/.bin/escodegen
----------------------------------------------------------------------
diff --git a/node_modules/.bin/escodegen b/node_modules/.bin/escodegen
deleted file mode 120000
index 01a7c32..0000000
--- a/node_modules/.bin/escodegen
+++ /dev/null
@@ -1 +0,0 @@
-../escodegen/bin/escodegen.js
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/fac2a48f/node_modules/.bin/esgenerate
----------------------------------------------------------------------
diff --git a/node_modules/.bin/esgenerate b/node_modules/.bin/esgenerate
deleted file mode 120000
index 7d0293e..0000000
--- a/node_modules/.bin/esgenerate
+++ /dev/null
@@ -1 +0,0 @@
-../escodegen/bin/esgenerate.js
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/fac2a48f/node_modules/.bin/esparse
----------------------------------------------------------------------
diff --git a/node_modules/.bin/esparse b/node_modules/.bin/esparse
deleted file mode 120000
index 7423b18..0000000
--- a/node_modules/.bin/esparse
+++ /dev/null
@@ -1 +0,0 @@
-../esprima/bin/esparse.js
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/fac2a48f/node_modules/.bin/esvalidate
----------------------------------------------------------------------
diff --git a/node_modules/.bin/esvalidate b/node_modules/.bin/esvalidate
deleted file mode 120000
index 16069ef..0000000
--- a/node_modules/.bin/esvalidate
+++ /dev/null
@@ -1 +0,0 @@
-../esprima/bin/esvalidate.js
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/fac2a48f/node_modules/.bin/grunt
----------------------------------------------------------------------
diff --git a/node_modules/.bin/grunt b/node_modules/.bin/grunt
deleted file mode 120000
index 47724d2..0000000
--- a/node_modules/.bin/grunt
+++ /dev/null
@@ -1 +0,0 @@
-../grunt/bin/grunt
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/fac2a48f/node_modules/.bin/handlebars
----------------------------------------------------------------------
diff --git a/node_modules/.bin/handlebars b/node_modules/.bin/handlebars
deleted file mode 120000
index fb7d090..0000000
--- a/node_modules/.bin/handlebars
+++ /dev/null
@@ -1 +0,0 @@
-../handlebars/bin/handlebars
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/fac2a48f/node_modules/.bin/he
----------------------------------------------------------------------
diff --git a/node_modules/.bin/he b/node_modules/.bin/he
deleted file mode 120000
index 2a8eb5e..0000000
--- a/node_modules/.bin/he
+++ /dev/null
@@ -1 +0,0 @@
-../he/bin/he
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/fac2a48f/node_modules/.bin/hs
----------------------------------------------------------------------
diff --git a/node_modules/.bin/hs b/node_modules/.bin/hs
deleted file mode 120000
index cb3b666..0000000
--- a/node_modules/.bin/hs
+++ /dev/null
@@ -1 +0,0 @@
-../http-server/bin/http-server
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/fac2a48f/node_modules/.bin/http-server
----------------------------------------------------------------------
diff --git a/node_modules/.bin/http-server b/node_modules/.bin/http-server
deleted file mode 120000
index cb3b666..0000000
--- a/node_modules/.bin/http-server
+++ /dev/null
@@ -1 +0,0 @@
-../http-server/bin/http-server
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/fac2a48f/node_modules/.bin/in-install
----------------------------------------------------------------------
diff --git a/node_modules/.bin/in-install b/node_modules/.bin/in-install
deleted file mode 120000
index 08c9689..0000000
--- a/node_modules/.bin/in-install
+++ /dev/null
@@ -1 +0,0 @@
-../in-publish/in-install.js
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/fac2a48f/node_modules/.bin/in-publish
----------------------------------------------------------------------
diff --git a/node_modules/.bin/in-publish b/node_modules/.bin/in-publish
deleted file mode 120000
index ae9e779..0000000
--- a/node_modules/.bin/in-publish
+++ /dev/null
@@ -1 +0,0 @@
-../in-publish/in-publish.js
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/fac2a48f/node_modules/.bin/istanbul
----------------------------------------------------------------------
diff --git a/node_modules/.bin/istanbul b/node_modules/.bin/istanbul
deleted file mode 120000
index c129fe5..0000000
--- a/node_modules/.bin/istanbul
+++ /dev/null
@@ -1 +0,0 @@
-../istanbul/lib/cli.js
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/fac2a48f/node_modules/.bin/jasmine
----------------------------------------------------------------------
diff --git a/node_modules/.bin/jasmine b/node_modules/.bin/jasmine
deleted file mode 120000
index d2c1bff..0000000
--- a/node_modules/.bin/jasmine
+++ /dev/null
@@ -1 +0,0 @@
-../jasmine/bin/jasmine.js
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/fac2a48f/node_modules/.bin/js-yaml
----------------------------------------------------------------------
diff --git a/node_modules/.bin/js-yaml b/node_modules/.bin/js-yaml
deleted file mode 120000
index 9dbd010..0000000
--- a/node_modules/.bin/js-yaml
+++ /dev/null
@@ -1 +0,0 @@
-../js-yaml/bin/js-yaml.js
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/fac2a48f/node_modules/.bin/karma
----------------------------------------------------------------------
diff --git a/node_modules/.bin/karma b/node_modules/.bin/karma
deleted file mode 120000
index 0dfd162..0000000
--- a/node_modules/.bin/karma
+++ /dev/null
@@ -1 +0,0 @@
-../karma-cli/bin/karma
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/fac2a48f/node_modules/.bin/mime
----------------------------------------------------------------------
diff --git a/node_modules/.bin/mime b/node_modules/.bin/mime
deleted file mode 120000
index fbb7ee0..0000000
--- a/node_modules/.bin/mime
+++ /dev/null
@@ -1 +0,0 @@
-../mime/cli.js
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/fac2a48f/node_modules/.bin/mkdirp
----------------------------------------------------------------------
diff --git a/node_modules/.bin/mkdirp b/node_modules/.bin/mkdirp
deleted file mode 120000
index 017896c..0000000
--- a/node_modules/.bin/mkdirp
+++ /dev/null
@@ -1 +0,0 @@
-../mkdirp/bin/cmd.js
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/fac2a48f/node_modules/.bin/node-gyp
----------------------------------------------------------------------
diff --git a/node_modules/.bin/node-gyp b/node_modules/.bin/node-gyp
deleted file mode 120000
index 9b31a4f..0000000
--- a/node_modules/.bin/node-gyp
+++ /dev/null
@@ -1 +0,0 @@
-../node-gyp/bin/node-gyp.js
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/fac2a48f/node_modules/.bin/node-sass
----------------------------------------------------------------------
diff --git a/node_modules/.bin/node-sass b/node_modules/.bin/node-sass
deleted file mode 120000
index a4b0134..0000000
--- a/node_modules/.bin/node-sass
+++ /dev/null
@@ -1 +0,0 @@
-../node-sass/bin/node-sass
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/fac2a48f/node_modules/.bin/nopt
----------------------------------------------------------------------
diff --git a/node_modules/.bin/nopt b/node_modules/.bin/nopt
deleted file mode 120000
index 6b6566e..0000000
--- a/node_modules/.bin/nopt
+++ /dev/null
@@ -1 +0,0 @@
-../nopt/bin/nopt.js
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/fac2a48f/node_modules/.bin/not-in-install
----------------------------------------------------------------------
diff --git a/node_modules/.bin/not-in-install b/node_modules/.bin/not-in-install
deleted file mode 120000
index dbfcf38..0000000
--- a/node_modules/.bin/not-in-install
+++ /dev/null
@@ -1 +0,0 @@
-../in-publish/not-in-install.js
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/fac2a48f/node_modules/.bin/not-in-publish
----------------------------------------------------------------------
diff --git a/node_modules/.bin/not-in-publish b/node_modules/.bin/not-in-publish
deleted file mode 120000
index 5cc2922..0000000
--- a/node_modules/.bin/not-in-publish
+++ /dev/null
@@ -1 +0,0 @@
-../in-publish/not-in-publish.js
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/fac2a48f/node_modules/.bin/opener
----------------------------------------------------------------------
diff --git a/node_modules/.bin/opener b/node_modules/.bin/opener
deleted file mode 120000
index 120b591..0000000
--- a/node_modules/.bin/opener
+++ /dev/null
@@ -1 +0,0 @@
-../opener/opener.js
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/fac2a48f/node_modules/.bin/prebuild-install
----------------------------------------------------------------------
diff --git a/node_modules/.bin/prebuild-install b/node_modules/.bin/prebuild-install
deleted file mode 120000
index 12a458d..0000000
--- a/node_modules/.bin/prebuild-install
+++ /dev/null
@@ -1 +0,0 @@
-../prebuild-install/bin.js
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/fac2a48f/node_modules/.bin/protractor
----------------------------------------------------------------------
diff --git a/node_modules/.bin/protractor b/node_modules/.bin/protractor
deleted file mode 120000
index 58967e8..0000000
--- a/node_modules/.bin/protractor
+++ /dev/null
@@ -1 +0,0 @@
-../protractor/bin/protractor
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/fac2a48f/node_modules/.bin/rc
----------------------------------------------------------------------
diff --git a/node_modules/.bin/rc b/node_modules/.bin/rc
deleted file mode 120000
index 48b3cda..0000000
--- a/node_modules/.bin/rc
+++ /dev/null
@@ -1 +0,0 @@
-../rc/cli.js
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/fac2a48f/node_modules/.bin/rimraf
----------------------------------------------------------------------
diff --git a/node_modules/.bin/rimraf b/node_modules/.bin/rimraf
deleted file mode 120000
index 4cd49a4..0000000
--- a/node_modules/.bin/rimraf
+++ /dev/null
@@ -1 +0,0 @@
-../rimraf/bin.js
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/fac2a48f/node_modules/.bin/sassgraph
----------------------------------------------------------------------
diff --git a/node_modules/.bin/sassgraph b/node_modules/.bin/sassgraph
deleted file mode 120000
index 901ada9..0000000
--- a/node_modules/.bin/sassgraph
+++ /dev/null
@@ -1 +0,0 @@
-../sass-graph/bin/sassgraph
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/fac2a48f/node_modules/.bin/semver
----------------------------------------------------------------------
diff --git a/node_modules/.bin/semver b/node_modules/.bin/semver
deleted file mode 120000
index 317eb29..0000000
--- a/node_modules/.bin/semver
+++ /dev/null
@@ -1 +0,0 @@
-../semver/bin/semver
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/fac2a48f/node_modules/.bin/sshpk-conv
----------------------------------------------------------------------
diff --git a/node_modules/.bin/sshpk-conv b/node_modules/.bin/sshpk-conv
deleted file mode 120000
index a2a295c..0000000
--- a/node_modules/.bin/sshpk-conv
+++ /dev/null
@@ -1 +0,0 @@
-../sshpk/bin/sshpk-conv
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/fac2a48f/node_modules/.bin/sshpk-sign
----------------------------------------------------------------------
diff --git a/node_modules/.bin/sshpk-sign b/node_modules/.bin/sshpk-sign
deleted file mode 120000
index 766b9b3..0000000
--- a/node_modules/.bin/sshpk-sign
+++ /dev/null
@@ -1 +0,0 @@
-../sshpk/bin/sshpk-sign
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/fac2a48f/node_modules/.bin/sshpk-verify
----------------------------------------------------------------------
diff --git a/node_modules/.bin/sshpk-verify b/node_modules/.bin/sshpk-verify
deleted file mode 120000
index bfd7e3a..0000000
--- a/node_modules/.bin/sshpk-verify
+++ /dev/null
@@ -1 +0,0 @@
-../sshpk/bin/sshpk-verify
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/fac2a48f/node_modules/.bin/strip-indent
----------------------------------------------------------------------
diff --git a/node_modules/.bin/strip-indent b/node_modules/.bin/strip-indent
deleted file mode 120000
index dddee7e..0000000
--- a/node_modules/.bin/strip-indent
+++ /dev/null
@@ -1 +0,0 @@
-../strip-indent/cli.js
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/fac2a48f/node_modules/.bin/uglifyjs
----------------------------------------------------------------------
diff --git a/node_modules/.bin/uglifyjs b/node_modules/.bin/uglifyjs
deleted file mode 120000
index fef3468..0000000
--- a/node_modules/.bin/uglifyjs
+++ /dev/null
@@ -1 +0,0 @@
-../uglify-js/bin/uglifyjs
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/fac2a48f/node_modules/.bin/uuid
----------------------------------------------------------------------
diff --git a/node_modules/.bin/uuid b/node_modules/.bin/uuid
deleted file mode 120000
index b3e45bc..0000000
--- a/node_modules/.bin/uuid
+++ /dev/null
@@ -1 +0,0 @@
-../uuid/bin/uuid
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/fac2a48f/node_modules/.bin/webdriver-manager
----------------------------------------------------------------------
diff --git a/node_modules/.bin/webdriver-manager b/node_modules/.bin/webdriver-manager
deleted file mode 120000
index bc2ec1a..0000000
--- a/node_modules/.bin/webdriver-manager
+++ /dev/null
@@ -1 +0,0 @@
-../protractor/bin/webdriver-manager
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/fac2a48f/node_modules/.bin/which
----------------------------------------------------------------------
diff --git a/node_modules/.bin/which b/node_modules/.bin/which
deleted file mode 120000
index f62471c..0000000
--- a/node_modules/.bin/which
+++ /dev/null
@@ -1 +0,0 @@
-../which/bin/which
\ No newline at end of file


[13/59] [abbrv] [partial] nifi-fds git commit: update gh-pages

Posted by sc...@apache.org.
http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/eec354e6/node_modules/@angular/cdk/bundles/cdk-portal.umd.js.map
----------------------------------------------------------------------
diff --git a/node_modules/@angular/cdk/bundles/cdk-portal.umd.js.map b/node_modules/@angular/cdk/bundles/cdk-portal.umd.js.map
new file mode 100644
index 0000000..3efc390
--- /dev/null
+++ b/node_modules/@angular/cdk/bundles/cdk-portal.umd.js.map
@@ -0,0 +1 @@
+{"version":3,"file":"cdk-portal.umd.js","sources":["../../src/cdk/portal/portal-injector.ts","../../src/cdk/portal/portal-directives.ts","../../src/cdk/portal/dom-portal-outlet.ts","../../src/cdk/portal/portal.ts","../../src/cdk/portal/portal-errors.ts","../../node_modules/tslib/tslib.es6.js"],"sourcesContent":["/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {Injector} from '@angular/core';\n\n/**\n * Custom injector to be used when providing custom\n * injection tokens to components inside a portal.\n * @docs-private\n */\nexport class PortalInjector implements Injector {\n  constructor(\n    private _parentInjector: Injector,\n    private _customTokens: WeakMap<any, any>) { }\n\n  get(token: any, notFoundValue?: any): any {\n    const value = this._customTokens.get(token);\n\n    if (typeof value !== 'undefined')
  {\n      return value;\n    }\n\n    return this._parentInjector.get<any>(token, notFoundValue);\n  }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {\n  NgModule,\n  ComponentRef,\n  Directive,\n  EmbeddedViewRef,\n  TemplateRef,\n  ComponentFactoryResolver,\n  ViewContainerRef,\n  OnDestroy,\n  OnInit,\n  Input,\n  EventEmitter,\n  Output,\n} from '@angular/core';\nimport {Portal, TemplatePortal, ComponentPortal, BasePortalOutlet} from './portal';\n\n\n/**\n * Directive version of a `TemplatePortal`. Because the directive *is* a TemplatePortal,\n * the directive instance itself can be attached to a host, enabling declarative use of portals.\n */\n@Directive({\n  selector: '[cdk-portal], [cdkPortal], [portal]',\n  exportAs: 'cdkPortal',\n})\nexport class CdkPortal extends TemplatePortal {\n  constructor(te
 mplateRef: TemplateRef<any>, viewContainerRef: ViewContainerRef) {\n    super(templateRef, viewContainerRef);\n  }\n}\n\n/**\n * Possible attached references to the CdkPortalOutlet.\n */\nexport type CdkPortalOutletAttachedRef = ComponentRef<any> | EmbeddedViewRef<any> | null;\n\n\n/**\n * Directive version of a PortalOutlet. Because the directive *is* a PortalOutlet, portals can be\n * directly attached to it, enabling declarative use.\n *\n * Usage:\n * `<ng-template [cdkPortalOutlet]=\"greeting\"></ng-template>`\n */\n@Directive({\n  selector: '[cdkPortalOutlet], [cdkPortalHost], [portalHost]',\n  exportAs: 'cdkPortalOutlet, cdkPortalHost',\n  inputs: ['portal: cdkPortalOutlet']\n})\nexport class CdkPortalOutlet extends BasePortalOutlet implements OnInit, OnDestroy {\n  /** Whether the portal component is initialized. */\n  private _isInitialized = false;\n\n  /** Reference to the currently-attached component/view ref. */\n  private _attachedRef: CdkPortalOutletAttachedRef;\n\n  
 constructor(\n      private _componentFactoryResolver: ComponentFactoryResolver,\n      private _viewContainerRef: ViewContainerRef) {\n    super();\n  }\n\n  /**\n   * @deprecated\n   * @deletion-target 6.0.0\n   */\n  @Input('portalHost')\n  get _deprecatedPortal() { return this.portal; }\n  set _deprecatedPortal(v) { this.portal = v; }\n\n  /**\n   * @deprecated\n   * @deletion-target 6.0.0\n   */\n  @Input('cdkPortalHost')\n  get _deprecatedPortalHost() { return this.portal; }\n  set _deprecatedPortalHost(v) { this.portal = v; }\n\n  /** Portal associated with the Portal outlet. */\n  get portal(): Portal<any> | null {\n    return this._attachedPortal;\n  }\n\n  set portal(portal: Portal<any> | null) {\n    // Ignore the cases where the `portal` is set to a falsy value before the lifecycle hooks have\n    // run. This handles the cases where the user might do something like `<div cdkPortalOutlet>`\n    // and attach a portal programmatically in the parent component. When Angular
  does the first CD\n    // round, it will fire the setter with empty string, causing the user's content to be cleared.\n    if (this.hasAttached() && !portal && !this._isInitialized) {\n      return;\n    }\n\n    if (this.hasAttached()) {\n      super.detach();\n    }\n\n    if (portal) {\n      super.attach(portal);\n    }\n\n    this._attachedPortal = portal;\n  }\n\n  @Output('attached') attached: EventEmitter<CdkPortalOutletAttachedRef> =\n      new EventEmitter<CdkPortalOutletAttachedRef>();\n\n  /** Component or view reference that is attached to the portal. */\n  get attachedRef(): CdkPortalOutletAttachedRef {\n    return this._attachedRef;\n  }\n\n  ngOnInit() {\n    this._isInitialized = true;\n  }\n\n  ngOnDestroy() {\n    super.dispose();\n    this._attachedPortal = null;\n    this._attachedRef = null;\n  }\n\n  /**\n   * Attach the given ComponentPortal to this PortalOutlet using the ComponentFactoryResolver.\n   *\n   * @param portal Portal to be attached to the portal
  outlet.\n   * @returns Reference to the created component.\n   */\n  attachComponentPortal<T>(portal: ComponentPortal<T>): ComponentRef<T> {\n    portal.setAttachedHost(this);\n\n    // If the portal specifies an origin, use that as the logical location of the component\n    // in the application tree. Otherwise use the location of this PortalOutlet.\n    const viewContainerRef = portal.viewContainerRef != null ?\n        portal.viewContainerRef :\n        this._viewContainerRef;\n\n    const componentFactory =\n        this._componentFactoryResolver.resolveComponentFactory(portal.component);\n    const ref = viewContainerRef.createComponent(\n        componentFactory, viewContainerRef.length,\n        portal.injector || viewContainerRef.parentInjector);\n\n    super.setDisposeFn(() => ref.destroy());\n    this._attachedPortal = portal;\n    this._attachedRef = ref;\n    this.attached.emit(ref);\n\n    return ref;\n  }\n\n  /**\n   * Attach the given TemplatePortal to this PortlHos
 t as an embedded View.\n   * @param portal Portal to be attached.\n   * @returns Reference to the created embedded view.\n   */\n  attachTemplatePortal<C>(portal: TemplatePortal<C>): EmbeddedViewRef<C> {\n    portal.setAttachedHost(this);\n    const viewRef = this._viewContainerRef.createEmbeddedView(portal.templateRef, portal.context);\n    super.setDisposeFn(() => this._viewContainerRef.clear());\n\n    this._attachedPortal = portal;\n    this._attachedRef = viewRef;\n    this.attached.emit(viewRef);\n\n    return viewRef;\n  }\n}\n\n\n@NgModule({\n  exports: [CdkPortal, CdkPortalOutlet],\n  declarations: [CdkPortal, CdkPortalOutlet],\n})\nexport class PortalModule {}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {\n  ComponentFactoryResolver,\n  ComponentRef,\n  EmbeddedViewRef,\n  ApplicationRef,\n  Inject
 or,\n} from '@angular/core';\nimport {BasePortalOutlet, ComponentPortal, TemplatePortal} from './portal';\n\n\n/**\n * A PortalOutlet for attaching portals to an arbitrary DOM element outside of the Angular\n * application context.\n */\nexport class DomPortalOutlet extends BasePortalOutlet {\n  constructor(\n      /** Element into which the content is projected. */\n      public outletElement: Element,\n      private _componentFactoryResolver: ComponentFactoryResolver,\n      private _appRef: ApplicationRef,\n      private _defaultInjector: Injector) {\n    super();\n  }\n\n  /**\n   * Attach the given ComponentPortal to DOM element using the ComponentFactoryResolver.\n   * @param portal Portal to be attached\n   * @returns Reference to the created component.\n   */\n  attachComponentPortal<T>(portal: ComponentPortal<T>): ComponentRef<T> {\n    let componentFactory = this._componentFactoryResolver.resolveComponentFactory(portal.component);\n    let componentRef: ComponentRef<T>;\n\
 n    // If the portal specifies a ViewContainerRef, we will use that as the attachment point\n    // for the component (in terms of Angular's component tree, not rendering).\n    // When the ViewContainerRef is missing, we use the factory to create the component directly\n    // and then manually attach the view to the application.\n    if (portal.viewContainerRef) {\n      componentRef = portal.viewContainerRef.createComponent(\n          componentFactory,\n          portal.viewContainerRef.length,\n          portal.injector || portal.viewContainerRef.parentInjector);\n\n      this.setDisposeFn(() => componentRef.destroy());\n    } else {\n      componentRef = componentFactory.create(portal.injector || this._defaultInjector);\n      this._appRef.attachView(componentRef.hostView);\n      this.setDisposeFn(() => {\n        this._appRef.detachView(componentRef.hostView);\n        componentRef.destroy();\n      });\n    }\n    // At this point the component has been instantiated, so we
  move it to the location in the DOM\n    // where we want it to be rendered.\n    this.outletElement.appendChild(this._getComponentRootNode(componentRef));\n\n    return componentRef;\n  }\n\n  /**\n   * Attaches a template portal to the DOM as an embedded view.\n   * @param portal Portal to be attached.\n   * @returns Reference to the created embedded view.\n   */\n  attachTemplatePortal<C>(portal: TemplatePortal<C>): EmbeddedViewRef<C> {\n    let viewContainer = portal.viewContainerRef;\n    let viewRef = viewContainer.createEmbeddedView(portal.templateRef, portal.context);\n    viewRef.detectChanges();\n\n    // The method `createEmbeddedView` will add the view as a child of the viewContainer.\n    // But for the DomPortalOutlet the view can be added everywhere in the DOM\n    // (e.g Overlay Container) To move the view to the specified host element. We just\n    // re-append the existing root nodes.\n    viewRef.rootNodes.forEach(rootNode => this.outletElement.appendChild(rootNo
 de));\n\n    this.setDisposeFn((() => {\n      let index = viewContainer.indexOf(viewRef);\n      if (index !== -1) {\n        viewContainer.remove(index);\n      }\n    }));\n\n    // TODO(jelbourn): Return locals from view.\n    return viewRef;\n  }\n\n  /**\n   * Clears out a portal from the DOM.\n   */\n  dispose(): void {\n    super.dispose();\n    if (this.outletElement.parentNode != null) {\n      this.outletElement.parentNode.removeChild(this.outletElement);\n    }\n  }\n\n  /** Gets the root HTMLElement for an instantiated component. */\n  private _getComponentRootNode(componentRef: ComponentRef<any>): HTMLElement {\n    return (componentRef.hostView as EmbeddedViewRef<any>).rootNodes[0] as HTMLElement;\n  }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {\n    TemplateRef,\n    ViewContainerRef,\n 
    ElementRef,\n    ComponentRef,\n    EmbeddedViewRef,\n    Injector\n} from '@angular/core';\nimport {\n    throwNullPortalOutletError,\n    throwPortalAlreadyAttachedError,\n    throwNoPortalAttachedError,\n    throwNullPortalError,\n    throwPortalOutletAlreadyDisposedError,\n    throwUnknownPortalTypeError\n} from './portal-errors';\n\n/** Interface that can be used to generically type a class. */\nexport interface ComponentType<T> {\n  new (...args: any[]): T;\n}\n\n/**\n * A `Portal` is something that you want to render somewhere else.\n * It can be attach to / detached from a `PortalOutlet`.\n */\nexport abstract class Portal<T> {\n  private _attachedHost: PortalOutlet | null;\n\n  /** Attach this portal to a host. */\n  attach(host: PortalOutlet): T {\n    if (host == null) {\n      throwNullPortalOutletError();\n    }\n\n    if (host.hasAttached()) {\n      throwPortalAlreadyAttachedError();\n    }\n\n    this._attachedHost = host;\n    return <T> host.attach(this);\n  }\n
 \n  /** Detach this portal from its host */\n  detach(): void {\n    let host = this._attachedHost;\n\n    if (host == null) {\n      throwNoPortalAttachedError();\n    } else {\n      this._attachedHost = null;\n      host.detach();\n    }\n  }\n\n  /** Whether this portal is attached to a host. */\n  get isAttached(): boolean {\n    return this._attachedHost != null;\n  }\n\n  /**\n   * Sets the PortalOutlet reference without performing `attach()`. This is used directly by\n   * the PortalOutlet when it is performing an `attach()` or `detach()`.\n   */\n  setAttachedHost(host: PortalOutlet | null) {\n    this._attachedHost = host;\n  }\n}\n\n\n/**\n * A `ComponentPortal` is a portal that instantiates some Component upon attachment.\n */\nexport class ComponentPortal<T> extends Portal<ComponentRef<T>> {\n  /** The type of the component that will be instantiated for attachment. */\n  component: ComponentType<T>;\n\n  /**\n   * [Optional] Where the attached component should live in A
 ngular's *logical* component tree.\n   * This is different from where the component *renders*, which is determined by the PortalOutlet.\n   * The origin is necessary when the host is outside of the Angular application context.\n   */\n  viewContainerRef?: ViewContainerRef | null;\n\n  /** [Optional] Injector used for the instantiation of the component. */\n  injector?: Injector | null;\n\n  constructor(\n      component: ComponentType<T>,\n      viewContainerRef?: ViewContainerRef | null,\n      injector?: Injector | null) {\n    super();\n    this.component = component;\n    this.viewContainerRef = viewContainerRef;\n    this.injector = injector;\n  }\n}\n\n/**\n * A `TemplatePortal` is a portal that represents some embedded template (TemplateRef).\n */\nexport class TemplatePortal<C = any> extends Portal<C> {\n  /** The embedded template that will be used to instantiate an embedded View in the host. */\n  templateRef: TemplateRef<C>;\n\n  /** Reference to the ViewContainer into wh
 ich the template will be stamped out. */\n  viewContainerRef: ViewContainerRef;\n\n  /** Contextual data to be passed in to the embedded view. */\n  context: C | undefined;\n\n  constructor(template: TemplateRef<C>, viewContainerRef: ViewContainerRef, context?: C) {\n    super();\n    this.templateRef = template;\n    this.viewContainerRef = viewContainerRef;\n    this.context = context;\n  }\n\n  get origin(): ElementRef {\n    return this.templateRef.elementRef;\n  }\n\n  /**\n   * Attach the the portal to the provided `PortalOutlet`.\n   * When a context is provided it will override the `context` property of the `TemplatePortal`\n   * instance.\n   */\n  attach(host: PortalOutlet, context: C | undefined = this.context): C {\n    this.context = context;\n    return super.attach(host);\n  }\n\n  detach(): void {\n    this.context = undefined;\n    return super.detach();\n  }\n}\n\n\n/** A `PortalOutlet` is an space that can contain a single `Portal`. */\nexport interface PortalOutl
 et {\n  /** Attaches a portal to this outlet. */\n  attach(portal: Portal<any>): any;\n\n  /** Detaches the currently attached portal from this outlet. */\n  detach(): any;\n\n  /** Performs cleanup before the outlet is destroyed. */\n  dispose(): void;\n\n  /** Whether there is currently a portal attached to this outlet. */\n  hasAttached(): boolean;\n}\n\n\n/**\n * Partial implementation of PortalOutlet that handles attaching\n * ComponentPortal and TemplatePortal.\n */\nexport abstract class BasePortalOutlet implements PortalOutlet {\n  /** The portal currently attached to the host. */\n  protected _attachedPortal: Portal<any> | null;\n\n  /** A function that will permanently dispose this host. */\n  private _disposeFn: (() => void) | null;\n\n  /** Whether this host has already been permanently disposed. */\n  private _isDisposed: boolean = false;\n\n  /** Whether this host has an attached portal. */\n  hasAttached(): boolean {\n    return !!this._attachedPortal;\n  }\n\n  attac
 h<T>(portal: ComponentPortal<T>): ComponentRef<T>;\n  attach<T>(portal: TemplatePortal<T>): EmbeddedViewRef<T>;\n  attach(portal: any): any;\n\n  /** Attaches a portal. */\n  attach(portal: Portal<any>): any {\n    if (!portal) {\n      throwNullPortalError();\n    }\n\n    if (this.hasAttached()) {\n      throwPortalAlreadyAttachedError();\n    }\n\n    if (this._isDisposed) {\n      throwPortalOutletAlreadyDisposedError();\n    }\n\n    if (portal instanceof ComponentPortal) {\n      this._attachedPortal = portal;\n      return this.attachComponentPortal(portal);\n    } else if (portal instanceof TemplatePortal) {\n      this._attachedPortal = portal;\n      return this.attachTemplatePortal(portal);\n    }\n\n    throwUnknownPortalTypeError();\n  }\n\n  abstract attachComponentPortal<T>(portal: ComponentPortal<T>): ComponentRef<T>;\n\n  abstract attachTemplatePortal<C>(portal: TemplatePortal<C>): EmbeddedViewRef<C>;\n\n  /** Detaches a previously attached portal. */\n  detach(): v
 oid {\n    if (this._attachedPortal) {\n      this._attachedPortal.setAttachedHost(null);\n      this._attachedPortal = null;\n    }\n\n    this._invokeDisposeFn();\n  }\n\n  /** Permanently dispose of this portal host. */\n  dispose(): void {\n    if (this.hasAttached()) {\n      this.detach();\n    }\n\n    this._invokeDisposeFn();\n    this._isDisposed = true;\n  }\n\n  /** @docs-private */\n  setDisposeFn(fn: () => void) {\n    this._disposeFn = fn;\n  }\n\n  private _invokeDisposeFn() {\n    if (this._disposeFn) {\n      this._disposeFn();\n      this._disposeFn = null;\n    }\n  }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * Throws an exception when attempting to attach a null portal to a host.\n * @docs-private\n */\nexport function throwNullPortalError() {\n  throw Error('Must provide a portal to 
 attach');\n}\n\n/**\n * Throws an exception when attempting to attach a portal to a host that is already attached.\n * @docs-private\n */\nexport function throwPortalAlreadyAttachedError() {\n  throw Error('Host already has a portal attached');\n}\n\n/**\n * Throws an exception when attempting to attach a portal to an already-disposed host.\n * @docs-private\n */\nexport function throwPortalOutletAlreadyDisposedError() {\n  throw Error('This PortalOutlet has already been disposed');\n}\n\n/**\n * Throws an exception when attempting to attach an unknown portal type.\n * @docs-private\n */\nexport function throwUnknownPortalTypeError() {\n  throw Error('Attempting to attach an unknown Portal type. BasePortalOutlet accepts either ' +\n              'a ComponentPortal or a TemplatePortal.');\n}\n\n/**\n * Throws an exception when attempting to attach a portal to a null host.\n * @docs-private\n */\nexport function throwNullPortalOutletError() {\n  throw Error('Attempting to attach a por
 tal to a null PortalOutlet');\n}\n\n/**\n * Throws an exception when attempting to detach a portal that is not attached.\n * @docs-private\n */\nexport function throwNoPortalAttachedError() {\n  throw Error('Attempting to detach a portal that is not attached to a host');\n}\n","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing 
 permissions\r\nand limitations under the License.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = Object.setPrototypeOf ||\r\n    ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n    function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n\r\nexport function __extends(d, b) {\r\n    extendStatics(d, b);\r\n    function __() { this.constructor = d; }\r\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = Object.assign || function __assign(t) {\r\n    for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n        s = arguments[i];\r\n        for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n    }\r\n    return t;\r\n}\r\n\r\nexport function __rest(s, e) {\r\n    var t = {};\r\n    for (var p in s) if (Object.prototype.hasOwnProper
 ty.call(s, p) && e.indexOf(p) < 0)\r\n        t[p] = s[p];\r\n    if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n        for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) if (e.indexOf(p[i]) < 0)\r\n            t[p[i]] = s[p[i]];\r\n    return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n    var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n    if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n    else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n    return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n    return function (target, key) { decorator(target, key, paramIndex
 ); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n    if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n    return new (P || (P = Promise))(function (resolve, reject) {\r\n        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n        function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n        function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }\r\n        step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n    });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n    var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n 
    return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n    function verb(n) { return function (v) { return step([n, v]); }; }\r\n    function step(op) {\r\n        if (f) throw new TypeError(\"Generator is already executing.\");\r\n        while (_) try {\r\n            if (f = 1, y && (t = y[op[0] & 2 ? \"return\" : op[0] ? \"throw\" : \"next\"]) && !(t = t.call(y, op[1])).done) return t;\r\n            if (y = 0, t) op = [0, t.value];\r\n            switch (op[0]) {\r\n                case 0: case 1: t = op; break;\r\n                case 4: _.label++; return { value: op[1], done: false };\r\n                case 5: _.label++; y = op[1]; op = [0]; continue;\r\n                case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n                default:\r\n                    if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; c
 ontinue; }\r\n                    if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n                    if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n                    if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n                    if (t[2]) _.ops.pop();\r\n                    _.trys.pop(); continue;\r\n            }\r\n            op = body.call(thisArg, _);\r\n        } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n        if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n    }\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n    for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n    var m = typeof Symbol === \"function\" && o[Symbol.iterator], i = 0;\r\n    if (m) return m.call(o);\r\n    return {\r\n        next: function () {\r\n            if (o && i >= o.length) o
  = void 0;\r\n            return { value: o && o[i++], done: !o };\r\n        }\r\n    };\r\n}\r\n\r\nexport function __read(o, n) {\r\n    var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n    if (!m) return o;\r\n    var i = m.call(o), r, ar = [], e;\r\n    try {\r\n        while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n    }\r\n    catch (error) { e = { error: error }; }\r\n    finally {\r\n        try {\r\n            if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n        }\r\n        finally { if (e) throw e.error; }\r\n    }\r\n    return ar;\r\n}\r\n\r\nexport function __spread() {\r\n    for (var ar = [], i = 0; i < arguments.length; i++)\r\n        ar = ar.concat(__read(arguments[i]));\r\n    return ar;\r\n}\r\n\r\nexport function __await(v) {\r\n    return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n    if (!Symbol.asyn
 cIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n    var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n    return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n    function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n    function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n    function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r);  }\r\n    function fulfill(value) { resume(\"next\", value); }\r\n    function reject(value) { resume(\"throw\", value); }\r\n    function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n    var i, p;\r\n    return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }
 ), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n    function verb(n, f) { if (o[n]) i[n] = function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; }; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n    if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n    var m = o[Symbol.asyncIterator];\r\n    return m ? m.call(o) : typeof __values === \"function\" ? __values(o) : o[Symbol.iterator]();\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n    if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n    return cooked;\r\n};\r\n"],"names":["NgModule","Output","Input","ViewContainerRef","ComponentFactoryResolver","Directive","EventEmitter","tslib_1.__extends","TemplateRef"],"mappings":"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"}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/eec354e6/node_modules/@angular/cdk/bundles/cdk-portal.umd.min.js
----------------------------------------------------------------------
diff --git a/node_modules/@angular/cdk/bundles/cdk-portal.umd.min.js b/node_modules/@angular/cdk/bundles/cdk-portal.umd.min.js
new file mode 100644
index 0000000..5f1b8de
--- /dev/null
+++ b/node_modules/@angular/cdk/bundles/cdk-portal.umd.min.js
@@ -0,0 +1,9 @@
+/**
+ * @license
+ * Copyright Google LLC All Rights Reserved.
+ *
+ * Use of this source code is governed by an MIT-style license that can be
+ * found in the LICENSE file at https://angular.io/license
+ */
+!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports,require("@angular/core")):"function"==typeof define&&define.amd?define(["exports","@angular/core"],e):e((t.ng=t.ng||{},t.ng.cdk=t.ng.cdk||{},t.ng.cdk.portal=t.ng.cdk.portal||{}),t.ng.core)}(this,function(t,e){"use strict";function o(t,e){function o(){this.constructor=t}p(t,e),t.prototype=null===e?Object.create(e):(o.prototype=e.prototype,new o)}function n(){throw Error("Must provide a portal to attach")}function r(){throw Error("Host already has a portal attached")}function a(){throw Error("This PortalOutlet has already been disposed")}function i(){throw Error("Attempting to attach an unknown Portal type. BasePortalOutlet accepts either a ComponentPortal or a TemplatePortal.")}function c(){throw Error("Attempting to attach a portal to a null PortalOutlet")}function s(){throw Error("Attempting to detach a portal that is not attached to a host")}var p=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&fu
 nction(t,e){t.__proto__=e}||function(t,e){for(var o in e)e.hasOwnProperty(o)&&(t[o]=e[o])},l=function(){function t(){}return t.prototype.attach=function(t){return null==t&&c(),t.hasAttached()&&r(),this._attachedHost=t,t.attach(this)},t.prototype.detach=function(){var t=this._attachedHost;null==t?s():(this._attachedHost=null,t.detach())},Object.defineProperty(t.prototype,"isAttached",{get:function(){return null!=this._attachedHost},enumerable:!0,configurable:!0}),t.prototype.setAttachedHost=function(t){this._attachedHost=t},t}(),h=function(t){function e(e,o,n){var r=t.call(this)||this;return r.component=e,r.viewContainerRef=o,r.injector=n,r}return o(e,t),e}(l),u=function(t){function e(e,o,n){var r=t.call(this)||this;return r.templateRef=e,r.viewContainerRef=o,r.context=n,r}return o(e,t),Object.defineProperty(e.prototype,"origin",{get:function(){return this.templateRef.elementRef},enumerable:!0,configurable:!0}),e.prototype.attach=function(e,o){return void 0===o&&(o=this.context),this
 .context=o,t.prototype.attach.call(this,e)},e.prototype.detach=function(){return this.context=void 0,t.prototype.detach.call(this)},e}(l),d=function(){function t(){this._isDisposed=!1}return t.prototype.hasAttached=function(){return!!this._attachedPortal},t.prototype.attach=function(t){return t||n(),this.hasAttached()&&r(),this._isDisposed&&a(),t instanceof h?(this._attachedPortal=t,this.attachComponentPortal(t)):t instanceof u?(this._attachedPortal=t,this.attachTemplatePortal(t)):void i()},t.prototype.detach=function(){this._attachedPortal&&(this._attachedPortal.setAttachedHost(null),this._attachedPortal=null),this._invokeDisposeFn()},t.prototype.dispose=function(){this.hasAttached()&&this.detach(),this._invokeDisposeFn(),this._isDisposed=!0},t.prototype.setDisposeFn=function(t){this._disposeFn=t},t.prototype._invokeDisposeFn=function(){this._disposeFn&&(this._disposeFn(),this._disposeFn=null)},t}(),f=function(t){function e(e,o,n,r){var a=t.call(this)||this;return a.outletElement=e
 ,a._componentFactoryResolver=o,a._appRef=n,a._defaultInjector=r,a}return o(e,t),e.prototype.attachComponentPortal=function(t){var e,o=this,n=this._componentFactoryResolver.resolveComponentFactory(t.component);return t.viewContainerRef?(e=t.viewContainerRef.createComponent(n,t.viewContainerRef.length,t.injector||t.viewContainerRef.parentInjector),this.setDisposeFn(function(){return e.destroy()})):(e=n.create(t.injector||this._defaultInjector),this._appRef.attachView(e.hostView),this.setDisposeFn(function(){o._appRef.detachView(e.hostView),e.destroy()})),this.outletElement.appendChild(this._getComponentRootNode(e)),e},e.prototype.attachTemplatePortal=function(t){var e=this,o=t.viewContainerRef,n=o.createEmbeddedView(t.templateRef,t.context);return n.detectChanges(),n.rootNodes.forEach(function(t){return e.outletElement.appendChild(t)}),this.setDisposeFn(function(){var t=o.indexOf(n);-1!==t&&o.remove(t)}),n},e.prototype.dispose=function(){t.prototype.dispose.call(this),null!=this.outle
 tElement.parentNode&&this.outletElement.parentNode.removeChild(this.outletElement)},e.prototype._getComponentRootNode=function(t){return t.hostView.rootNodes[0]},e}(d),y=function(t){function n(e,o){return t.call(this,e,o)||this}return o(n,t),n.decorators=[{type:e.Directive,args:[{selector:"[cdk-portal], [cdkPortal], [portal]",exportAs:"cdkPortal"}]}],n.ctorParameters=function(){return[{type:e.TemplateRef},{type:e.ViewContainerRef}]},n}(u),_=function(t){function n(o,n){var r=t.call(this)||this;return r._componentFactoryResolver=o,r._viewContainerRef=n,r._isInitialized=!1,r.attached=new e.EventEmitter,r}return o(n,t),Object.defineProperty(n.prototype,"_deprecatedPortal",{get:function(){return this.portal},set:function(t){this.portal=t},enumerable:!0,configurable:!0}),Object.defineProperty(n.prototype,"_deprecatedPortalHost",{get:function(){return this.portal},set:function(t){this.portal=t},enumerable:!0,configurable:!0}),Object.defineProperty(n.prototype,"portal",{get:function(){retur
 n this._attachedPortal},set:function(e){(!this.hasAttached()||e||this._isInitialized)&&(this.hasAttached()&&t.prototype.detach.call(this),e&&t.prototype.attach.call(this,e),this._attachedPortal=e)},enumerable:!0,configurable:!0}),Object.defineProperty(n.prototype,"attachedRef",{get:function(){return this._attachedRef},enumerable:!0,configurable:!0}),n.prototype.ngOnInit=function(){this._isInitialized=!0},n.prototype.ngOnDestroy=function(){t.prototype.dispose.call(this),this._attachedPortal=null,this._attachedRef=null},n.prototype.attachComponentPortal=function(e){e.setAttachedHost(this);var o=null!=e.viewContainerRef?e.viewContainerRef:this._viewContainerRef,n=this._componentFactoryResolver.resolveComponentFactory(e.component),r=o.createComponent(n,o.length,e.injector||o.parentInjector);return t.prototype.setDisposeFn.call(this,function(){return r.destroy()}),this._attachedPortal=e,this._attachedRef=r,this.attached.emit(r),r},n.prototype.attachTemplatePortal=function(e){var o=this;e
 .setAttachedHost(this);var n=this._viewContainerRef.createEmbeddedView(e.templateRef,e.context);return t.prototype.setDisposeFn.call(this,function(){return o._viewContainerRef.clear()}),this._attachedPortal=e,this._attachedRef=n,this.attached.emit(n),n},n.decorators=[{type:e.Directive,args:[{selector:"[cdkPortalOutlet], [cdkPortalHost], [portalHost]",exportAs:"cdkPortalOutlet, cdkPortalHost",inputs:["portal: cdkPortalOutlet"]}]}],n.ctorParameters=function(){return[{type:e.ComponentFactoryResolver},{type:e.ViewContainerRef}]},n.propDecorators={_deprecatedPortal:[{type:e.Input,args:["portalHost"]}],_deprecatedPortalHost:[{type:e.Input,args:["cdkPortalHost"]}],attached:[{type:e.Output,args:["attached"]}]},n}(d),m=function(){function t(){}return t.decorators=[{type:e.NgModule,args:[{exports:[y,_],declarations:[y,_]}]}],t.ctorParameters=function(){return[]},t}(),P=function(){function t(t,e){this._parentInjector=t,this._customTokens=e}return t.prototype.get=function(t,e){var o=this._custo
 mTokens.get(t);return void 0!==o?o:this._parentInjector.get(t,e)},t}();t.DomPortalHost=f,t.PortalHostDirective=_,t.TemplatePortalDirective=y,t.BasePortalHost=d,t.Portal=l,t.ComponentPortal=h,t.TemplatePortal=u,t.BasePortalOutlet=d,t.DomPortalOutlet=f,t.CdkPortal=y,t.CdkPortalOutlet=_,t.PortalModule=m,t.PortalInjector=P,Object.defineProperty(t,"__esModule",{value:!0})});
+//# sourceMappingURL=cdk-portal.umd.min.js.map

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/eec354e6/node_modules/@angular/cdk/bundles/cdk-portal.umd.min.js.map
----------------------------------------------------------------------
diff --git a/node_modules/@angular/cdk/bundles/cdk-portal.umd.min.js.map b/node_modules/@angular/cdk/bundles/cdk-portal.umd.min.js.map
new file mode 100644
index 0000000..34943a3
--- /dev/null
+++ b/node_modules/@angular/cdk/bundles/cdk-portal.umd.min.js.map
@@ -0,0 +1 @@
+{"version":3,"file":"cdk-portal.umd.min.js","sources":["../../node_modules/tslib/tslib.es6.js","../../src/cdk/portal/portal-errors.ts","../../src/cdk/portal/portal.ts","../../src/cdk/portal/dom-portal-outlet.ts","../../src/cdk/portal/portal-directives.ts","../../src/cdk/portal/portal-injector.ts"],"sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 L
 icense for specific language governing permissions\r\nand limitations under the License.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = Object.setPrototypeOf ||\r\n    ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n    function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n\r\nexport function __extends(d, b) {\r\n    extendStatics(d, b);\r\n    function __() { this.constructor = d; }\r\n    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = Object.assign || function __assign(t) {\r\n    for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n        s = arguments[i];\r\n        for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n    }\r\n    return t;\r\n}\r\n\r\nexport function __rest(s, e) {\r\n    var t = {};\r\n    for (var p 
 in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n        t[p] = s[p];\r\n    if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n        for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) if (e.indexOf(p[i]) < 0)\r\n            t[p[i]] = s[p[i]];\r\n    return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n    var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n    if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n    else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n    return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n    return function (target, k
 ey) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n    if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n    return new (P || (P = Promise))(function (resolve, reject) {\r\n        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n        function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n        function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }\r\n        step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n    });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n    var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }
 , trys: [], ops: [] }, f, y, t, g;\r\n    return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n    function verb(n) { return function (v) { return step([n, v]); }; }\r\n    function step(op) {\r\n        if (f) throw new TypeError(\"Generator is already executing.\");\r\n        while (_) try {\r\n            if (f = 1, y && (t = y[op[0] & 2 ? \"return\" : op[0] ? \"throw\" : \"next\"]) && !(t = t.call(y, op[1])).done) return t;\r\n            if (y = 0, t) op = [0, t.value];\r\n            switch (op[0]) {\r\n                case 0: case 1: t = op; break;\r\n                case 4: _.label++; return { value: op[1], done: false };\r\n                case 5: _.label++; y = op[1]; op = [0]; continue;\r\n                case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n                default:\r\n                    if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (
 op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n                    if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n                    if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n                    if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n                    if (t[2]) _.ops.pop();\r\n                    _.trys.pop(); continue;\r\n            }\r\n            op = body.call(thisArg, _);\r\n        } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n        if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n    }\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n    for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n    var m = typeof Symbol === \"function\" && o[Symbol.iterator], i = 0;\r\n    if (m) return m.call(o);\r\n    return {\r\n        next: function () {\r
 \n            if (o && i >= o.length) o = void 0;\r\n            return { value: o && o[i++], done: !o };\r\n        }\r\n    };\r\n}\r\n\r\nexport function __read(o, n) {\r\n    var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n    if (!m) return o;\r\n    var i = m.call(o), r, ar = [], e;\r\n    try {\r\n        while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n    }\r\n    catch (error) { e = { error: error }; }\r\n    finally {\r\n        try {\r\n            if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n        }\r\n        finally { if (e) throw e.error; }\r\n    }\r\n    return ar;\r\n}\r\n\r\nexport function __spread() {\r\n    for (var ar = [], i = 0; i < arguments.length; i++)\r\n        ar = ar.concat(__read(arguments[i]));\r\n    return ar;\r\n}\r\n\r\nexport function __await(v) {\r\n    return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _argument
 s, generator) {\r\n    if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n    var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n    return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n    function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n    function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n    function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r);  }\r\n    function fulfill(value) { resume(\"next\", value); }\r\n    function reject(value) { resume(\"throw\", value); }\r\n    function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n    var i, p;\r\n    return i = {}, verb(\"next\"), ve
 rb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n    function verb(n, f) { if (o[n]) i[n] = function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; }; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n    if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n    var m = o[Symbol.asyncIterator];\r\n    return m ? m.call(o) : typeof __values === \"function\" ? __values(o) : o[Symbol.iterator]();\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n    if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n    return cooked;\r\n};\r\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * Throws a
 n exception when attempting to attach a null portal to a host.\n * @docs-private\n */\nexport function throwNullPortalError() {\n  throw Error('Must provide a portal to attach');\n}\n\n/**\n * Throws an exception when attempting to attach a portal to a host that is already attached.\n * @docs-private\n */\nexport function throwPortalAlreadyAttachedError() {\n  throw Error('Host already has a portal attached');\n}\n\n/**\n * Throws an exception when attempting to attach a portal to an already-disposed host.\n * @docs-private\n */\nexport function throwPortalOutletAlreadyDisposedError() {\n  throw Error('This PortalOutlet has already been disposed');\n}\n\n/**\n * Throws an exception when attempting to attach an unknown portal type.\n * @docs-private\n */\nexport function throwUnknownPortalTypeError() {\n  throw Error('Attempting to attach an unknown Portal type. BasePortalOutlet accepts either ' +\n              'a ComponentPortal or a TemplatePortal.');\n}\n\n/**\n * Throws an excep
 tion when attempting to attach a portal to a null host.\n * @docs-private\n */\nexport function throwNullPortalOutletError() {\n  throw Error('Attempting to attach a portal to a null PortalOutlet');\n}\n\n/**\n * Throws an exception when attempting to detach a portal that is not attached.\n * @docs-private\n */\nexport function throwNoPortalAttachedError() {\n  throw Error('Attempting to detach a portal that is not attached to a host');\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {\n    TemplateRef,\n    ViewContainerRef,\n    ElementRef,\n    ComponentRef,\n    EmbeddedViewRef,\n    Injector\n} from '@angular/core';\nimport {\n    throwNullPortalOutletError,\n    throwPortalAlreadyAttachedError,\n    throwNoPortalAttachedError,\n    throwNullPortalError,\n    throwPortalOutletAlreadyDisposedError,\n    t
 hrowUnknownPortalTypeError\n} from './portal-errors';\n\n/** Interface that can be used to generically type a class. */\nexport interface ComponentType<T> {\n  new (...args: any[]): T;\n}\n\n/**\n * A `Portal` is something that you want to render somewhere else.\n * It can be attach to / detached from a `PortalOutlet`.\n */\nexport abstract class Portal<T> {\n  private _attachedHost: PortalOutlet | null;\n\n  /** Attach this portal to a host. */\n  attach(host: PortalOutlet): T {\n    if (host == null) {\n      throwNullPortalOutletError();\n    }\n\n    if (host.hasAttached()) {\n      throwPortalAlreadyAttachedError();\n    }\n\n    this._attachedHost = host;\n    return <T> host.attach(this);\n  }\n\n  /** Detach this portal from its host */\n  detach(): void {\n    let host = this._attachedHost;\n\n    if (host == null) {\n      throwNoPortalAttachedError();\n    } else {\n      this._attachedHost = null;\n      host.detach();\n    }\n  }\n\n  /** Whether this portal is attached
  to a host. */\n  get isAttached(): boolean {\n    return this._attachedHost != null;\n  }\n\n  /**\n   * Sets the PortalOutlet reference without performing `attach()`. This is used directly by\n   * the PortalOutlet when it is performing an `attach()` or `detach()`.\n   */\n  setAttachedHost(host: PortalOutlet | null) {\n    this._attachedHost = host;\n  }\n}\n\n\n/**\n * A `ComponentPortal` is a portal that instantiates some Component upon attachment.\n */\nexport class ComponentPortal<T> extends Portal<ComponentRef<T>> {\n  /** The type of the component that will be instantiated for attachment. */\n  component: ComponentType<T>;\n\n  /**\n   * [Optional] Where the attached component should live in Angular's *logical* component tree.\n   * This is different from where the component *renders*, which is determined by the PortalOutlet.\n   * The origin is necessary when the host is outside of the Angular application context.\n   */\n  viewContainerRef?: ViewContainerRef | null;\n\n  
 /** [Optional] Injector used for the instantiation of the component. */\n  injector?: Injector | null;\n\n  constructor(\n      component: ComponentType<T>,\n      viewContainerRef?: ViewContainerRef | null,\n      injector?: Injector | null) {\n    super();\n    this.component = component;\n    this.viewContainerRef = viewContainerRef;\n    this.injector = injector;\n  }\n}\n\n/**\n * A `TemplatePortal` is a portal that represents some embedded template (TemplateRef).\n */\nexport class TemplatePortal<C = any> extends Portal<C> {\n  /** The embedded template that will be used to instantiate an embedded View in the host. */\n  templateRef: TemplateRef<C>;\n\n  /** Reference to the ViewContainer into which the template will be stamped out. */\n  viewContainerRef: ViewContainerRef;\n\n  /** Contextual data to be passed in to the embedded view. */\n  context: C | undefined;\n\n  constructor(template: TemplateRef<C>, viewContainerRef: ViewContainerRef, context?: C) {\n    super();\n    
 this.templateRef = template;\n    this.viewContainerRef = viewContainerRef;\n    this.context = context;\n  }\n\n  get origin(): ElementRef {\n    return this.templateRef.elementRef;\n  }\n\n  /**\n   * Attach the the portal to the provided `PortalOutlet`.\n   * When a context is provided it will override the `context` property of the `TemplatePortal`\n   * instance.\n   */\n  attach(host: PortalOutlet, context: C | undefined = this.context): C {\n    this.context = context;\n    return super.attach(host);\n  }\n\n  detach(): void {\n    this.context = undefined;\n    return super.detach();\n  }\n}\n\n\n/** A `PortalOutlet` is an space that can contain a single `Portal`. */\nexport interface PortalOutlet {\n  /** Attaches a portal to this outlet. */\n  attach(portal: Portal<any>): any;\n\n  /** Detaches the currently attached portal from this outlet. */\n  detach(): any;\n\n  /** Performs cleanup before the outlet is destroyed. */\n  dispose(): void;\n\n  /** Whether there is curren
 tly a portal attached to this outlet. */\n  hasAttached(): boolean;\n}\n\n\n/**\n * Partial implementation of PortalOutlet that handles attaching\n * ComponentPortal and TemplatePortal.\n */\nexport abstract class BasePortalOutlet implements PortalOutlet {\n  /** The portal currently attached to the host. */\n  protected _attachedPortal: Portal<any> | null;\n\n  /** A function that will permanently dispose this host. */\n  private _disposeFn: (() => void) | null;\n\n  /** Whether this host has already been permanently disposed. */\n  private _isDisposed: boolean = false;\n\n  /** Whether this host has an attached portal. */\n  hasAttached(): boolean {\n    return !!this._attachedPortal;\n  }\n\n  attach<T>(portal: ComponentPortal<T>): ComponentRef<T>;\n  attach<T>(portal: TemplatePortal<T>): EmbeddedViewRef<T>;\n  attach(portal: any): any;\n\n  /** Attaches a portal. */\n  attach(portal: Portal<any>): any {\n    if (!portal) {\n      throwNullPortalError();\n    }\n\n    if (this.ha
 sAttached()) {\n      throwPortalAlreadyAttachedError();\n    }\n\n    if (this._isDisposed) {\n      throwPortalOutletAlreadyDisposedError();\n    }\n\n    if (portal instanceof ComponentPortal) {\n      this._attachedPortal = portal;\n      return this.attachComponentPortal(portal);\n    } else if (portal instanceof TemplatePortal) {\n      this._attachedPortal = portal;\n      return this.attachTemplatePortal(portal);\n    }\n\n    throwUnknownPortalTypeError();\n  }\n\n  abstract attachComponentPortal<T>(portal: ComponentPortal<T>): ComponentRef<T>;\n\n  abstract attachTemplatePortal<C>(portal: TemplatePortal<C>): EmbeddedViewRef<C>;\n\n  /** Detaches a previously attached portal. */\n  detach(): void {\n    if (this._attachedPortal) {\n      this._attachedPortal.setAttachedHost(null);\n      this._attachedPortal = null;\n    }\n\n    this._invokeDisposeFn();\n  }\n\n  /** Permanently dispose of this portal host. */\n  dispose(): void {\n    if (this.hasAttached()) {\n      this
 .detach();\n    }\n\n    this._invokeDisposeFn();\n    this._isDisposed = true;\n  }\n\n  /** @docs-private */\n  setDisposeFn(fn: () => void) {\n    this._disposeFn = fn;\n  }\n\n  private _invokeDisposeFn() {\n    if (this._disposeFn) {\n      this._disposeFn();\n      this._disposeFn = null;\n    }\n  }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {\n  ComponentFactoryResolver,\n  ComponentRef,\n  EmbeddedViewRef,\n  ApplicationRef,\n  Injector,\n} from '@angular/core';\nimport {BasePortalOutlet, ComponentPortal, TemplatePortal} from './portal';\n\n\n/**\n * A PortalOutlet for attaching portals to an arbitrary DOM element outside of the Angular\n * application context.\n */\nexport class DomPortalOutlet extends BasePortalOutlet {\n  constructor(\n      /** Element into which the content is projected. */
 \n      public outletElement: Element,\n      private _componentFactoryResolver: ComponentFactoryResolver,\n      private _appRef: ApplicationRef,\n      private _defaultInjector: Injector) {\n    super();\n  }\n\n  /**\n   * Attach the given ComponentPortal to DOM element using the ComponentFactoryResolver.\n   * @param portal Portal to be attached\n   * @returns Reference to the created component.\n   */\n  attachComponentPortal<T>(portal: ComponentPortal<T>): ComponentRef<T> {\n    let componentFactory = this._componentFactoryResolver.resolveComponentFactory(portal.component);\n    let componentRef: ComponentRef<T>;\n\n    // If the portal specifies a ViewContainerRef, we will use that as the attachment point\n    // for the component (in terms of Angular's component tree, not rendering).\n    // When the ViewContainerRef is missing, we use the factory to create the component directly\n    // and then manually attach the view to the application.\n    if (portal.viewContainerRef) 
 {\n      componentRef = portal.viewContainerRef.createComponent(\n          componentFactory,\n          portal.viewContainerRef.length,\n          portal.injector || portal.viewContainerRef.parentInjector);\n\n      this.setDisposeFn(() => componentRef.destroy());\n    } else {\n      componentRef = componentFactory.create(portal.injector || this._defaultInjector);\n      this._appRef.attachView(componentRef.hostView);\n      this.setDisposeFn(() => {\n        this._appRef.detachView(componentRef.hostView);\n        componentRef.destroy();\n      });\n    }\n    // At this point the component has been instantiated, so we move it to the location in the DOM\n    // where we want it to be rendered.\n    this.outletElement.appendChild(this._getComponentRootNode(componentRef));\n\n    return componentRef;\n  }\n\n  /**\n   * Attaches a template portal to the DOM as an embedded view.\n   * @param portal Portal to be attached.\n   * @returns Reference to the created embedded view.\n   */\
 n  attachTemplatePortal<C>(portal: TemplatePortal<C>): EmbeddedViewRef<C> {\n    let viewContainer = portal.viewContainerRef;\n    let viewRef = viewContainer.createEmbeddedView(portal.templateRef, portal.context);\n    viewRef.detectChanges();\n\n    // The method `createEmbeddedView` will add the view as a child of the viewContainer.\n    // But for the DomPortalOutlet the view can be added everywhere in the DOM\n    // (e.g Overlay Container) To move the view to the specified host element. We just\n    // re-append the existing root nodes.\n    viewRef.rootNodes.forEach(rootNode => this.outletElement.appendChild(rootNode));\n\n    this.setDisposeFn((() => {\n      let index = viewContainer.indexOf(viewRef);\n      if (index !== -1) {\n        viewContainer.remove(index);\n      }\n    }));\n\n    // TODO(jelbourn): Return locals from view.\n    return viewRef;\n  }\n\n  /**\n   * Clears out a portal from the DOM.\n   */\n  dispose(): void {\n    super.dispose();\n    if (this.out
 letElement.parentNode != null) {\n      this.outletElement.parentNode.removeChild(this.outletElement);\n    }\n  }\n\n  /** Gets the root HTMLElement for an instantiated component. */\n  private _getComponentRootNode(componentRef: ComponentRef<any>): HTMLElement {\n    return (componentRef.hostView as EmbeddedViewRef<any>).rootNodes[0] as HTMLElement;\n  }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {\n  NgModule,\n  ComponentRef,\n  Directive,\n  EmbeddedViewRef,\n  TemplateRef,\n  ComponentFactoryResolver,\n  ViewContainerRef,\n  OnDestroy,\n  OnInit,\n  Input,\n  EventEmitter,\n  Output,\n} from '@angular/core';\nimport {Portal, TemplatePortal, ComponentPortal, BasePortalOutlet} from './portal';\n\n\n/**\n * Directive version of a `TemplatePortal`. Because the directive *is* a TemplatePortal,\n * the d
 irective instance itself can be attached to a host, enabling declarative use of portals.\n */\n@Directive({\n  selector: '[cdk-portal], [cdkPortal], [portal]',\n  exportAs: 'cdkPortal',\n})\nexport class CdkPortal extends TemplatePortal {\n  constructor(templateRef: TemplateRef<any>, viewContainerRef: ViewContainerRef) {\n    super(templateRef, viewContainerRef);\n  }\n}\n\n/**\n * Possible attached references to the CdkPortalOutlet.\n */\nexport type CdkPortalOutletAttachedRef = ComponentRef<any> | EmbeddedViewRef<any> | null;\n\n\n/**\n * Directive version of a PortalOutlet. Because the directive *is* a PortalOutlet, portals can be\n * directly attached to it, enabling declarative use.\n *\n * Usage:\n * `<ng-template [cdkPortalOutlet]=\"greeting\"></ng-template>`\n */\n@Directive({\n  selector: '[cdkPortalOutlet], [cdkPortalHost], [portalHost]',\n  exportAs: 'cdkPortalOutlet, cdkPortalHost',\n  inputs: ['portal: cdkPortalOutlet']\n})\nexport class CdkPortalOutlet extends BasePort
 alOutlet implements OnInit, OnDestroy {\n  /** Whether the portal component is initialized. */\n  private _isInitialized = false;\n\n  /** Reference to the currently-attached component/view ref. */\n  private _attachedRef: CdkPortalOutletAttachedRef;\n\n  constructor(\n      private _componentFactoryResolver: ComponentFactoryResolver,\n      private _viewContainerRef: ViewContainerRef) {\n    super();\n  }\n\n  /**\n   * @deprecated\n   * @deletion-target 6.0.0\n   */\n  @Input('portalHost')\n  get _deprecatedPortal() { return this.portal; }\n  set _deprecatedPortal(v) { this.portal = v; }\n\n  /**\n   * @deprecated\n   * @deletion-target 6.0.0\n   */\n  @Input('cdkPortalHost')\n  get _deprecatedPortalHost() { return this.portal; }\n  set _deprecatedPortalHost(v) { this.portal = v; }\n\n  /** Portal associated with the Portal outlet. */\n  get portal(): Portal<any> | null {\n    return this._attachedPortal;\n  }\n\n  set portal(portal: Portal<any> | null) {\n    // Ignore the cases 
 where the `portal` is set to a falsy value before the lifecycle hooks have\n    // run. This handles the cases where the user might do something like `<div cdkPortalOutlet>`\n    // and attach a portal programmatically in the parent component. When Angular does the first CD\n    // round, it will fire the setter with empty string, causing the user's content to be cleared.\n    if (this.hasAttached() && !portal && !this._isInitialized) {\n      return;\n    }\n\n    if (this.hasAttached()) {\n      super.detach();\n    }\n\n    if (portal) {\n      super.attach(portal);\n    }\n\n    this._attachedPortal = portal;\n  }\n\n  @Output('attached') attached: EventEmitter<CdkPortalOutletAttachedRef> =\n      new EventEmitter<CdkPortalOutletAttachedRef>();\n\n  /** Component or view reference that is attached to the portal. */\n  get attachedRef(): CdkPortalOutletAttachedRef {\n    return this._attachedRef;\n  }\n\n  ngOnInit() {\n    this._isInitialized = true;\n  }\n\n  ngOnDestroy() {\n 
    super.dispose();\n    this._attachedPortal = null;\n    this._attachedRef = null;\n  }\n\n  /**\n   * Attach the given ComponentPortal to this PortalOutlet using the ComponentFactoryResolver.\n   *\n   * @param portal Portal to be attached to the portal outlet.\n   * @returns Reference to the created component.\n   */\n  attachComponentPortal<T>(portal: ComponentPortal<T>): ComponentRef<T> {\n    portal.setAttachedHost(this);\n\n    // If the portal specifies an origin, use that as the logical location of the component\n    // in the application tree. Otherwise use the location of this PortalOutlet.\n    const viewContainerRef = portal.viewContainerRef != null ?\n        portal.viewContainerRef :\n        this._viewContainerRef;\n\n    const componentFactory =\n        this._componentFactoryResolver.resolveComponentFactory(portal.component);\n    const ref = viewContainerRef.createComponent(\n        componentFactory, viewContainerRef.length,\n        portal.injector || viewConta
 inerRef.parentInjector);\n\n    super.setDisposeFn(() => ref.destroy());\n    this._attachedPortal = portal;\n    this._attachedRef = ref;\n    this.attached.emit(ref);\n\n    return ref;\n  }\n\n  /**\n   * Attach the given TemplatePortal to this PortlHost as an embedded View.\n   * @param portal Portal to be attached.\n   * @returns Reference to the created embedded view.\n   */\n  attachTemplatePortal<C>(portal: TemplatePortal<C>): EmbeddedViewRef<C> {\n    portal.setAttachedHost(this);\n    const viewRef = this._viewContainerRef.createEmbeddedView(portal.templateRef, portal.context);\n    super.setDisposeFn(() => this._viewContainerRef.clear());\n\n    this._attachedPortal = portal;\n    this._attachedRef = viewRef;\n    this.attached.emit(viewRef);\n\n    return viewRef;\n  }\n}\n\n\n@NgModule({\n  exports: [CdkPortal, CdkPortalOutlet],\n  declarations: [CdkPortal, CdkPortalOutlet],\n})\nexport class PortalModule {}\n","/**\n * @license\n * Copyright Google LLC All Rights Reser
 ved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {Injector} from '@angular/core';\n\n/**\n * Custom injector to be used when providing custom\n * injection tokens to components inside a portal.\n * @docs-private\n */\nexport class PortalInjector implements Injector {\n  constructor(\n    private _parentInjector: Injector,\n    private _customTokens: WeakMap<any, any>) { }\n\n  get(token: any, notFoundValue?: any): any {\n    const value = this._customTokens.get(token);\n\n    if (typeof value !== 'undefined') {\n      return value;\n    }\n\n    return this._parentInjector.get<any>(token, notFoundValue);\n  }\n}\n"],"names":["__extends","d","b","__","this","constructor","extendStatics","prototype","Object","create","throwNullPortalError","Error","throwPortalAlreadyAttachedError","throwPortalOutletAlreadyDisposedError","throwUnknownPortalTypeError","throwNullPortalOutletErro
 r","throwNoPortalAttachedError","setPrototypeOf","__proto__","Array","p","hasOwnProperty","Portal","attach","host","hasAttached","_attachedHost","detach","defineProperty","setAttachedHost","ComponentPortal","_super","component","viewContainerRef","injector","_this","call","tslib_1.__extends","TemplatePortal","template","context","templateRef","elementRef","undefined","BasePortalOutlet","_isDisposed","_attachedPortal","portal","attachComponentPortal","attachTemplatePortal","_invokeDisposeFn","dispose","setDisposeFn","fn","_disposeFn","DomPortalOutlet","outletElement","_componentFactoryResolver","_appRef","_defaultInjector","componentRef","componentFactory","resolveComponentFactory","createComponent","length","parentInjector","destroy","attachView","hostView","detachView","appendChild","_getComponentRootNode","viewContainer","viewRef","createEmbeddedView","detectChanges","rootNodes","forEach","rootNode","index","indexOf","remove","parentNode","removeChild","CdkPortal","type","Directiv
 e","args","selector","exportAs","TemplateRef","ViewContainerRef","CdkPortalOutlet","_viewContainerRef","_isInitialized","attached","EventEmitter","v","_attachedRef","ngOnInit","ngOnDestroy","ref","emit","clear","inputs","ComponentFactoryResolver","_deprecatedPortal","Input","_deprecatedPortalHost","Output","PortalModule","NgModule","exports","declarations","PortalInjector","_parentInjector","_customTokens","get","token","notFoundValue","value"],"mappings":"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
 GFpH,KAAK+G,gBAAgBE,IAASC,EAAOC,IA3BhDL"}
\ No newline at end of file


[18/59] [abbrv] [partial] nifi-fds git commit: update gh-pages

Posted by sc...@apache.org.
http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/eec354e6/node_modules/@angular/cdk/bundles/cdk-overlay.umd.js
----------------------------------------------------------------------
diff --git a/node_modules/@angular/cdk/bundles/cdk-overlay.umd.js b/node_modules/@angular/cdk/bundles/cdk-overlay.umd.js
new file mode 100644
index 0000000..8f56f3a
--- /dev/null
+++ b/node_modules/@angular/cdk/bundles/cdk-overlay.umd.js
@@ -0,0 +1,3096 @@
+/**
+ * @license
+ * Copyright Google LLC All Rights Reserved.
+ *
+ * Use of this source code is governed by an MIT-style license that can be
+ * found in the LICENSE file at https://angular.io/license
+ */
+(function (global, factory) {
+	typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/core'), require('@angular/cdk/scrolling'), require('@angular/common'), require('@angular/cdk/bidi'), require('@angular/cdk/portal'), require('rxjs/operators/take'), require('rxjs/Subject'), require('rxjs/Subscription'), require('rxjs/operators/filter'), require('rxjs/observable/fromEvent'), require('@angular/cdk/coercion'), require('@angular/cdk/keycodes')) :
+	typeof define === 'function' && define.amd ? define(['exports', '@angular/core', '@angular/cdk/scrolling', '@angular/common', '@angular/cdk/bidi', '@angular/cdk/portal', 'rxjs/operators/take', 'rxjs/Subject', 'rxjs/Subscription', 'rxjs/operators/filter', 'rxjs/observable/fromEvent', '@angular/cdk/coercion', '@angular/cdk/keycodes'], factory) :
+	(factory((global.ng = global.ng || {}, global.ng.cdk = global.ng.cdk || {}, global.ng.cdk.overlay = global.ng.cdk.overlay || {}),global.ng.core,global.ng.cdk.scrolling,global.ng.common,global.ng.cdk.bidi,global.ng.cdk.portal,global.Rx.operators,global.Rx,global.Rx,global.Rx.operators,global.Rx.Observable,global.ng.cdk.coercion,global.ng.cdk.keycodes));
+}(this, (function (exports,_angular_core,_angular_cdk_scrolling,_angular_common,_angular_cdk_bidi,_angular_cdk_portal,rxjs_operators_take,rxjs_Subject,rxjs_Subscription,rxjs_operators_filter,rxjs_observable_fromEvent,_angular_cdk_coercion,_angular_cdk_keycodes) { 'use strict';
+
+/*! *****************************************************************************
+Copyright (c) Microsoft Corporation. All rights reserved.
+Licensed under the Apache License, Version 2.0 (the "License"); you may not use
+this file except in compliance with the License. You may obtain a copy of the
+License at http://www.apache.org/licenses/LICENSE-2.0
+
+THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED
+WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,
+MERCHANTABLITY OR NON-INFRINGEMENT.
+
+See the Apache Version 2.0 License for specific language governing permissions
+and limitations under the License.
+***************************************************************************** */
+/* global Reflect, Promise */
+
+var extendStatics = Object.setPrototypeOf ||
+    ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
+    function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
+
+function __extends(d, b) {
+    extendStatics(d, b);
+    function __() { this.constructor = d; }
+    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
+}
+
+var __assign = Object.assign || function __assign(t) {
+    for (var s, i = 1, n = arguments.length; i < n; i++) {
+        s = arguments[i];
+        for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];
+    }
+    return t;
+};
+
+/**
+ * @fileoverview added by tsickle
+ * @suppress {checkTypes} checked by tsc
+ */
+
+/**
+ * Scroll strategy that doesn't do anything.
+ */
+var NoopScrollStrategy = /** @class */ (function () {
+    function NoopScrollStrategy() {
+    }
+    /** Does nothing, as this scroll strategy is a no-op. */
+    /**
+     * Does nothing, as this scroll strategy is a no-op.
+     * @return {?}
+     */
+    NoopScrollStrategy.prototype.enable = /**
+     * Does nothing, as this scroll strategy is a no-op.
+     * @return {?}
+     */
+    function () { };
+    /** Does nothing, as this scroll strategy is a no-op. */
+    /**
+     * Does nothing, as this scroll strategy is a no-op.
+     * @return {?}
+     */
+    NoopScrollStrategy.prototype.disable = /**
+     * Does nothing, as this scroll strategy is a no-op.
+     * @return {?}
+     */
+    function () { };
+    /** Does nothing, as this scroll strategy is a no-op. */
+    /**
+     * Does nothing, as this scroll strategy is a no-op.
+     * @return {?}
+     */
+    NoopScrollStrategy.prototype.attach = /**
+     * Does nothing, as this scroll strategy is a no-op.
+     * @return {?}
+     */
+    function () { };
+    return NoopScrollStrategy;
+}());
+
+/**
+ * @fileoverview added by tsickle
+ * @suppress {checkTypes} checked by tsc
+ */
+
+/**
+ * Initial configuration used when creating an overlay.
+ */
+var OverlayConfig = /** @class */ (function () {
+    function OverlayConfig(config) {
+        var _this = this;
+        /**
+         * Strategy to be used when handling scroll events while the overlay is open.
+         */
+        this.scrollStrategy = new NoopScrollStrategy();
+        /**
+         * Custom class to add to the overlay pane.
+         */
+        this.panelClass = '';
+        /**
+         * Whether the overlay has a backdrop.
+         */
+        this.hasBackdrop = false;
+        /**
+         * Custom class to add to the backdrop
+         */
+        this.backdropClass = 'cdk-overlay-dark-backdrop';
+        /**
+         * The direction of the text in the overlay panel.
+         */
+        this.direction = 'ltr';
+        if (config) {
+            Object.keys(config)
+                .filter(function (key) { return typeof config[key] !== 'undefined'; })
+                .forEach(function (key) { return _this[key] = config[key]; });
+        }
+    }
+    return OverlayConfig;
+}());
+
+/**
+ * @fileoverview added by tsickle
+ * @suppress {checkTypes} checked by tsc
+ */
+
+/** Horizontal dimension of a connection point on the perimeter of the origin or overlay element. */
+/**
+ * A connection point on the origin element.
+ * @record
+ */
+
+/**
+ * A connection point on the overlay element.
+ * @record
+ */
+
+/**
+ * The points of the origin element and the overlay element to connect.
+ */
+var ConnectionPositionPair = /** @class */ (function () {
+    function ConnectionPositionPair(origin, overlay, offsetX, offsetY) {
+        this.offsetX = offsetX;
+        this.offsetY = offsetY;
+        this.originX = origin.originX;
+        this.originY = origin.originY;
+        this.overlayX = overlay.overlayX;
+        this.overlayY = overlay.overlayY;
+    }
+    return ConnectionPositionPair;
+}());
+/**
+ * Set of properties regarding the position of the origin and overlay relative to the viewport
+ * with respect to the containing Scrollable elements.
+ *
+ * The overlay and origin are clipped if any part of their bounding client rectangle exceeds the
+ * bounds of any one of the strategy's Scrollable's bounding client rectangle.
+ *
+ * The overlay and origin are outside view if there is no overlap between their bounding client
+ * rectangle and any one of the strategy's Scrollable's bounding client rectangle.
+ *
+ *       -----------                    -----------
+ *       | outside |                    | clipped |
+ *       |  view   |              --------------------------
+ *       |         |              |     |         |        |
+ *       ----------               |     -----------        |
+ *  --------------------------    |                        |
+ *  |                        |    |      Scrollable        |
+ *  |                        |    |                        |
+ *  |                        |     --------------------------
+ *  |      Scrollable        |
+ *  |                        |
+ *  --------------------------
+ *
+ *  \@docs-private
+ */
+var ScrollingVisibility = /** @class */ (function () {
+    function ScrollingVisibility() {
+    }
+    return ScrollingVisibility;
+}());
+/**
+ * The change event emitted by the strategy when a fallback position is used.
+ */
+var ConnectedOverlayPositionChange = /** @class */ (function () {
+    function ConnectedOverlayPositionChange(connectionPair, /** @docs-private */
+        scrollableViewProperties) {
+        this.connectionPair = connectionPair;
+        this.scrollableViewProperties = scrollableViewProperties;
+    }
+    /** @nocollapse */
+    ConnectedOverlayPositionChange.ctorParameters = function () { return [
+        { type: ConnectionPositionPair, },
+        { type: ScrollingVisibility, decorators: [{ type: _angular_core.Optional },] },
+    ]; };
+    return ConnectedOverlayPositionChange;
+}());
+
+/**
+ * @fileoverview added by tsickle
+ * @suppress {checkTypes} checked by tsc
+ */
+
+/**
+ * Describes a strategy that will be used by an overlay to handle scroll events while it is open.
+ * @record
+ */
+
+/**
+ * Returns an error to be thrown when attempting to attach an already-attached scroll strategy.
+ * @return {?}
+ */
+function getMatScrollStrategyAlreadyAttachedError() {
+    return Error("Scroll strategy has already been attached.");
+}
+
+/**
+ * @fileoverview added by tsickle
+ * @suppress {checkTypes} checked by tsc
+ */
+/**
+ * Config options for the CloseScrollStrategy.
+ * @record
+ */
+
+/**
+ * Strategy that will close the overlay as soon as the user starts scrolling.
+ */
+var CloseScrollStrategy = /** @class */ (function () {
+    function CloseScrollStrategy(_scrollDispatcher, _ngZone, _viewportRuler, _config) {
+        var _this = this;
+        this._scrollDispatcher = _scrollDispatcher;
+        this._ngZone = _ngZone;
+        this._viewportRuler = _viewportRuler;
+        this._config = _config;
+        this._scrollSubscription = null;
+        /**
+         * Detaches the overlay ref and disables the scroll strategy.
+         */
+        this._detach = function () {
+            _this.disable();
+            if (_this._overlayRef.hasAttached()) {
+                _this._ngZone.run(function () { return _this._overlayRef.detach(); });
+            }
+        };
+    }
+    /** Attaches this scroll strategy to an overlay. */
+    /**
+     * Attaches this scroll strategy to an overlay.
+     * @param {?} overlayRef
+     * @return {?}
+     */
+    CloseScrollStrategy.prototype.attach = /**
+     * Attaches this scroll strategy to an overlay.
+     * @param {?} overlayRef
+     * @return {?}
+     */
+    function (overlayRef) {
+        if (this._overlayRef) {
+            throw getMatScrollStrategyAlreadyAttachedError();
+        }
+        this._overlayRef = overlayRef;
+    };
+    /** Enables the closing of the attached overlay on scroll. */
+    /**
+     * Enables the closing of the attached overlay on scroll.
+     * @return {?}
+     */
+    CloseScrollStrategy.prototype.enable = /**
+     * Enables the closing of the attached overlay on scroll.
+     * @return {?}
+     */
+    function () {
+        var _this = this;
+        if (this._scrollSubscription) {
+            return;
+        }
+        var /** @type {?} */ stream = this._scrollDispatcher.scrolled(0);
+        if (this._config && this._config.threshold && this._config.threshold > 1) {
+            this._initialScrollPosition = this._viewportRuler.getViewportScrollPosition().top;
+            this._scrollSubscription = stream.subscribe(function () {
+                var /** @type {?} */ scrollPosition = _this._viewportRuler.getViewportScrollPosition().top;
+                if (Math.abs(scrollPosition - _this._initialScrollPosition) > /** @type {?} */ ((/** @type {?} */ ((_this._config)).threshold))) {
+                    _this._detach();
+                }
+                else {
+                    _this._overlayRef.updatePosition();
+                }
+            });
+        }
+        else {
+            this._scrollSubscription = stream.subscribe(this._detach);
+        }
+    };
+    /** Disables the closing the attached overlay on scroll. */
+    /**
+     * Disables the closing the attached overlay on scroll.
+     * @return {?}
+     */
+    CloseScrollStrategy.prototype.disable = /**
+     * Disables the closing the attached overlay on scroll.
+     * @return {?}
+     */
+    function () {
+        if (this._scrollSubscription) {
+            this._scrollSubscription.unsubscribe();
+            this._scrollSubscription = null;
+        }
+    };
+    return CloseScrollStrategy;
+}());
+
+/**
+ * @fileoverview added by tsickle
+ * @suppress {checkTypes} checked by tsc
+ */
+
+/**
+ * Strategy that will prevent the user from scrolling while the overlay is visible.
+ */
+var BlockScrollStrategy = /** @class */ (function () {
+    function BlockScrollStrategy(_viewportRuler, document) {
+        this._viewportRuler = _viewportRuler;
+        this._previousHTMLStyles = { top: '', left: '' };
+        this._isEnabled = false;
+        this._document = document;
+    }
+    /** Attaches this scroll strategy to an overlay. */
+    /**
+     * Attaches this scroll strategy to an overlay.
+     * @return {?}
+     */
+    BlockScrollStrategy.prototype.attach = /**
+     * Attaches this scroll strategy to an overlay.
+     * @return {?}
+     */
+    function () { };
+    /** Blocks page-level scroll while the attached overlay is open. */
+    /**
+     * Blocks page-level scroll while the attached overlay is open.
+     * @return {?}
+     */
+    BlockScrollStrategy.prototype.enable = /**
+     * Blocks page-level scroll while the attached overlay is open.
+     * @return {?}
+     */
+    function () {
+        if (this._canBeEnabled()) {
+            var /** @type {?} */ root = this._document.documentElement;
+            this._previousScrollPosition = this._viewportRuler.getViewportScrollPosition();
+            // Cache the previous inline styles in case the user had set them.
+            this._previousHTMLStyles.left = root.style.left || '';
+            this._previousHTMLStyles.top = root.style.top || '';
+            // Note: we're using the `html` node, instead of the `body`, because the `body` may
+            // have the user agent margin, whereas the `html` is guaranteed not to have one.
+            root.style.left = -this._previousScrollPosition.left + "px";
+            root.style.top = -this._previousScrollPosition.top + "px";
+            root.classList.add('cdk-global-scrollblock');
+            this._isEnabled = true;
+        }
+    };
+    /** Unblocks page-level scroll while the attached overlay is open. */
+    /**
+     * Unblocks page-level scroll while the attached overlay is open.
+     * @return {?}
+     */
+    BlockScrollStrategy.prototype.disable = /**
+     * Unblocks page-level scroll while the attached overlay is open.
+     * @return {?}
+     */
+    function () {
+        if (this._isEnabled) {
+            var /** @type {?} */ html = this._document.documentElement;
+            var /** @type {?} */ body = this._document.body;
+            var /** @type {?} */ previousHtmlScrollBehavior = html.style['scrollBehavior'] || '';
+            var /** @type {?} */ previousBodyScrollBehavior = body.style['scrollBehavior'] || '';
+            this._isEnabled = false;
+            html.style.left = this._previousHTMLStyles.left;
+            html.style.top = this._previousHTMLStyles.top;
+            html.classList.remove('cdk-global-scrollblock');
+            // Disable user-defined smooth scrolling temporarily while we restore the scroll position.
+            // See https://developer.mozilla.org/en-US/docs/Web/CSS/scroll-behavior
+            html.style['scrollBehavior'] = body.style['scrollBehavior'] = 'auto';
+            window.scroll(this._previousScrollPosition.left, this._previousScrollPosition.top);
+            html.style['scrollBehavior'] = previousHtmlScrollBehavior;
+            body.style['scrollBehavior'] = previousBodyScrollBehavior;
+        }
+    };
+    /**
+     * @return {?}
+     */
+    BlockScrollStrategy.prototype._canBeEnabled = /**
+     * @return {?}
+     */
+    function () {
+        // Since the scroll strategies can't be singletons, we have to use a global CSS class
+        // (`cdk-global-scrollblock`) to make sure that we don't try to disable global
+        // scrolling multiple times.
+        var /** @type {?} */ html = this._document.documentElement;
+        if (html.classList.contains('cdk-global-scrollblock') || this._isEnabled) {
+            return false;
+        }
+        var /** @type {?} */ body = this._document.body;
+        var /** @type {?} */ viewport = this._viewportRuler.getViewportSize();
+        return body.scrollHeight > viewport.height || body.scrollWidth > viewport.width;
+    };
+    return BlockScrollStrategy;
+}());
+
+/**
+ * @fileoverview added by tsickle
+ * @suppress {checkTypes} checked by tsc
+ */
+
+// TODO(jelbourn): move this to live with the rest of the scrolling code
+// TODO(jelbourn): someday replace this with IntersectionObservers
+/**
+ * Gets whether an element is scrolled outside of view by any of its parent scrolling containers.
+ * \@docs-private
+ * @param {?} element Dimensions of the element (from getBoundingClientRect)
+ * @param {?} scrollContainers Dimensions of element's scrolling containers (from getBoundingClientRect)
+ * @return {?} Whether the element is scrolled out of view
+ */
+function isElementScrolledOutsideView(element, scrollContainers) {
+    return scrollContainers.some(function (containerBounds) {
+        var /** @type {?} */ outsideAbove = element.bottom < containerBounds.top;
+        var /** @type {?} */ outsideBelow = element.top > containerBounds.bottom;
+        var /** @type {?} */ outsideLeft = element.right < containerBounds.left;
+        var /** @type {?} */ outsideRight = element.left > containerBounds.right;
+        return outsideAbove || outsideBelow || outsideLeft || outsideRight;
+    });
+}
+/**
+ * Gets whether an element is clipped by any of its scrolling containers.
+ * \@docs-private
+ * @param {?} element Dimensions of the element (from getBoundingClientRect)
+ * @param {?} scrollContainers Dimensions of element's scrolling containers (from getBoundingClientRect)
+ * @return {?} Whether the element is clipped
+ */
+function isElementClippedByScrolling(element, scrollContainers) {
+    return scrollContainers.some(function (scrollContainerRect) {
+        var /** @type {?} */ clippedAbove = element.top < scrollContainerRect.top;
+        var /** @type {?} */ clippedBelow = element.bottom > scrollContainerRect.bottom;
+        var /** @type {?} */ clippedLeft = element.left < scrollContainerRect.left;
+        var /** @type {?} */ clippedRight = element.right > scrollContainerRect.right;
+        return clippedAbove || clippedBelow || clippedLeft || clippedRight;
+    });
+}
+
+/**
+ * @fileoverview added by tsickle
+ * @suppress {checkTypes} checked by tsc
+ */
+
+/**
+ * Config options for the RepositionScrollStrategy.
+ * @record
+ */
+
+/**
+ * Strategy that will update the element position as the user is scrolling.
+ */
+var RepositionScrollStrategy = /** @class */ (function () {
+    function RepositionScrollStrategy(_scrollDispatcher, _viewportRuler, _ngZone, _config) {
+        this._scrollDispatcher = _scrollDispatcher;
+        this._viewportRuler = _viewportRuler;
+        this._ngZone = _ngZone;
+        this._config = _config;
+        this._scrollSubscription = null;
+    }
+    /** Attaches this scroll strategy to an overlay. */
+    /**
+     * Attaches this scroll strategy to an overlay.
+     * @param {?} overlayRef
+     * @return {?}
+     */
+    RepositionScrollStrategy.prototype.attach = /**
+     * Attaches this scroll strategy to an overlay.
+     * @param {?} overlayRef
+     * @return {?}
+     */
+    function (overlayRef) {
+        if (this._overlayRef) {
+            throw getMatScrollStrategyAlreadyAttachedError();
+        }
+        this._overlayRef = overlayRef;
+    };
+    /** Enables repositioning of the attached overlay on scroll. */
+    /**
+     * Enables repositioning of the attached overlay on scroll.
+     * @return {?}
+     */
+    RepositionScrollStrategy.prototype.enable = /**
+     * Enables repositioning of the attached overlay on scroll.
+     * @return {?}
+     */
+    function () {
+        var _this = this;
+        if (!this._scrollSubscription) {
+            var /** @type {?} */ throttle = this._config ? this._config.scrollThrottle : 0;
+            this._scrollSubscription = this._scrollDispatcher.scrolled(throttle).subscribe(function () {
+                _this._overlayRef.updatePosition();
+                // TODO(crisbeto): make `close` on by default once all components can handle it.
+                if (_this._config && _this._config.autoClose) {
+                    var /** @type {?} */ overlayRect = _this._overlayRef.overlayElement.getBoundingClientRect();
+                    var _a = _this._viewportRuler.getViewportSize(), width = _a.width, height = _a.height;
+                    // TODO(crisbeto): include all ancestor scroll containers here once
+                    // we have a way of exposing the trigger element to the scroll strategy.
+                    var /** @type {?} */ parentRects = [{ width: width, height: height, bottom: height, right: width, top: 0, left: 0 }];
+                    if (isElementScrolledOutsideView(overlayRect, parentRects)) {
+                        _this.disable();
+                        _this._ngZone.run(function () { return _this._overlayRef.detach(); });
+                    }
+                }
+            });
+        }
+    };
+    /** Disables repositioning of the attached overlay on scroll. */
+    /**
+     * Disables repositioning of the attached overlay on scroll.
+     * @return {?}
+     */
+    RepositionScrollStrategy.prototype.disable = /**
+     * Disables repositioning of the attached overlay on scroll.
+     * @return {?}
+     */
+    function () {
+        if (this._scrollSubscription) {
+            this._scrollSubscription.unsubscribe();
+            this._scrollSubscription = null;
+        }
+    };
+    return RepositionScrollStrategy;
+}());
+
+/**
+ * @fileoverview added by tsickle
+ * @suppress {checkTypes} checked by tsc
+ */
+
+/**
+ * Options for how an overlay will handle scrolling.
+ *
+ * Users can provide a custom value for `ScrollStrategyOptions` to replace the default
+ * behaviors. This class primarily acts as a factory for ScrollStrategy instances.
+ */
+var ScrollStrategyOptions = /** @class */ (function () {
+    function ScrollStrategyOptions(_scrollDispatcher, _viewportRuler, _ngZone, document) {
+        var _this = this;
+        this._scrollDispatcher = _scrollDispatcher;
+        this._viewportRuler = _viewportRuler;
+        this._ngZone = _ngZone;
+        /**
+         * Do nothing on scroll.
+         */
+        this.noop = function () { return new NoopScrollStrategy(); };
+        /**
+         * Close the overlay as soon as the user scrolls.
+         * @param config Configuration to be used inside the scroll strategy.
+         */
+        this.close = function (config) {
+            return new CloseScrollStrategy(_this._scrollDispatcher, _this._ngZone, _this._viewportRuler, config);
+        };
+        /**
+         * Block scrolling.
+         */
+        this.block = function () { return new BlockScrollStrategy(_this._viewportRuler, _this._document); };
+        /**
+         * Update the overlay's position on scroll.
+         * @param config Configuration to be used inside the scroll strategy.
+         * Allows debouncing the reposition calls.
+         */
+        this.reposition = function (config) {
+            return new RepositionScrollStrategy(_this._scrollDispatcher, _this._viewportRuler, _this._ngZone, config);
+        };
+        this._document = document;
+    }
+    ScrollStrategyOptions.decorators = [
+        { type: _angular_core.Injectable },
+    ];
+    /** @nocollapse */
+    ScrollStrategyOptions.ctorParameters = function () { return [
+        { type: _angular_cdk_scrolling.ScrollDispatcher, },
+        { type: _angular_cdk_scrolling.ViewportRuler, },
+        { type: _angular_core.NgZone, },
+        { type: undefined, decorators: [{ type: _angular_core.Inject, args: [_angular_common.DOCUMENT,] },] },
+    ]; };
+    return ScrollStrategyOptions;
+}());
+
+/**
+ * @fileoverview added by tsickle
+ * @suppress {checkTypes} checked by tsc
+ */
+
+/**
+ * @fileoverview added by tsickle
+ * @suppress {checkTypes} checked by tsc
+ */
+
+/**
+ * Reference to an overlay that has been created with the Overlay service.
+ * Used to manipulate or dispose of said overlay.
+ */
+var OverlayRef = /** @class */ (function () {
+    function OverlayRef(_portalOutlet, _pane, _config, _ngZone, _keyboardDispatcher, _document) {
+        this._portalOutlet = _portalOutlet;
+        this._pane = _pane;
+        this._config = _config;
+        this._ngZone = _ngZone;
+        this._keyboardDispatcher = _keyboardDispatcher;
+        this._document = _document;
+        this._backdropElement = null;
+        this._backdropClick = new rxjs_Subject.Subject();
+        this._attachments = new rxjs_Subject.Subject();
+        this._detachments = new rxjs_Subject.Subject();
+        /**
+         * Stream of keydown events dispatched to this overlay.
+         */
+        this._keydownEvents = new rxjs_Subject.Subject();
+        if (_config.scrollStrategy) {
+            _config.scrollStrategy.attach(this);
+        }
+    }
+    Object.defineProperty(OverlayRef.prototype, "overlayElement", {
+        /** The overlay's HTML element */
+        get: /**
+         * The overlay's HTML element
+         * @return {?}
+         */
+        function () {
+            return this._pane;
+        },
+        enumerable: true,
+        configurable: true
+    });
+    Object.defineProperty(OverlayRef.prototype, "backdropElement", {
+        /** The overlay's backdrop HTML element. */
+        get: /**
+         * The overlay's backdrop HTML element.
+         * @return {?}
+         */
+        function () {
+            return this._backdropElement;
+        },
+        enumerable: true,
+        configurable: true
+    });
+    /**
+     * Attaches content, given via a Portal, to the overlay.
+     * If the overlay is configured to have a backdrop, it will be created.
+     *
+     * @param portal Portal instance to which to attach the overlay.
+     * @returns The portal attachment result.
+     */
+    /**
+     * Attaches content, given via a Portal, to the overlay.
+     * If the overlay is configured to have a backdrop, it will be created.
+     *
+     * @param {?} portal Portal instance to which to attach the overlay.
+     * @return {?} The portal attachment result.
+     */
+    OverlayRef.prototype.attach = /**
+     * Attaches content, given via a Portal, to the overlay.
+     * If the overlay is configured to have a backdrop, it will be created.
+     *
+     * @param {?} portal Portal instance to which to attach the overlay.
+     * @return {?} The portal attachment result.
+     */
+    function (portal) {
+        var _this = this;
+        var /** @type {?} */ attachResult = this._portalOutlet.attach(portal);
+        if (this._config.positionStrategy) {
+            this._config.positionStrategy.attach(this);
+        }
+        // Update the pane element with the given configuration.
+        this._updateStackingOrder();
+        this._updateElementSize();
+        this._updateElementDirection();
+        if (this._config.scrollStrategy) {
+            this._config.scrollStrategy.enable();
+        }
+        // Update the position once the zone is stable so that the overlay will be fully rendered
+        // before attempting to position it, as the position may depend on the size of the rendered
+        // content.
+        this._ngZone.onStable.asObservable().pipe(rxjs_operators_take.take(1)).subscribe(function () {
+            // The overlay could've been detached before the zone has stabilized.
+            if (_this.hasAttached()) {
+                _this.updatePosition();
+            }
+        });
+        // Enable pointer events for the overlay pane element.
+        this._togglePointerEvents(true);
+        if (this._config.hasBackdrop) {
+            this._attachBackdrop();
+        }
+        if (this._config.panelClass) {
+            // We can't do a spread here, because IE doesn't support setting multiple classes.
+            if (Array.isArray(this._config.panelClass)) {
+                this._config.panelClass.forEach(function (cls) { return _this._pane.classList.add(cls); });
+            }
+            else {
+                this._pane.classList.add(this._config.panelClass);
+            }
+        }
+        // Only emit the `attachments` event once all other setup is done.
+        this._attachments.next();
+        // Track this overlay by the keyboard dispatcher
+        this._keyboardDispatcher.add(this);
+        return attachResult;
+    };
+    /**
+     * Detaches an overlay from a portal.
+     * @returns The portal detachment result.
+     */
+    /**
+     * Detaches an overlay from a portal.
+     * @return {?} The portal detachment result.
+     */
+    OverlayRef.prototype.detach = /**
+     * Detaches an overlay from a portal.
+     * @return {?} The portal detachment result.
+     */
+    function () {
+        if (!this.hasAttached()) {
+            return;
+        }
+        this.detachBackdrop();
+        // When the overlay is detached, the pane element should disable pointer events.
+        // This is necessary because otherwise the pane element will cover the page and disable
+        // pointer events therefore. Depends on the position strategy and the applied pane boundaries.
+        this._togglePointerEvents(false);
+        if (this._config.positionStrategy && this._config.positionStrategy.detach) {
+            this._config.positionStrategy.detach();
+        }
+        if (this._config.scrollStrategy) {
+            this._config.scrollStrategy.disable();
+        }
+        var /** @type {?} */ detachmentResult = this._portalOutlet.detach();
+        // Only emit after everything is detached.
+        this._detachments.next();
+        // Remove this overlay from keyboard dispatcher tracking
+        this._keyboardDispatcher.remove(this);
+        return detachmentResult;
+    };
+    /** Cleans up the overlay from the DOM. */
+    /**
+     * Cleans up the overlay from the DOM.
+     * @return {?}
+     */
+    OverlayRef.prototype.dispose = /**
+     * Cleans up the overlay from the DOM.
+     * @return {?}
+     */
+    function () {
+        var /** @type {?} */ isAttached = this.hasAttached();
+        if (this._config.positionStrategy) {
+            this._config.positionStrategy.dispose();
+        }
+        if (this._config.scrollStrategy) {
+            this._config.scrollStrategy.disable();
+        }
+        this.detachBackdrop();
+        this._keyboardDispatcher.remove(this);
+        this._portalOutlet.dispose();
+        this._attachments.complete();
+        this._backdropClick.complete();
+        this._keydownEvents.complete();
+        if (isAttached) {
+            this._detachments.next();
+        }
+        this._detachments.complete();
+    };
+    /** Whether the overlay has attached content. */
+    /**
+     * Whether the overlay has attached content.
+     * @return {?}
+     */
+    OverlayRef.prototype.hasAttached = /**
+     * Whether the overlay has attached content.
+     * @return {?}
+     */
+    function () {
+        return this._portalOutlet.hasAttached();
+    };
+    /** Gets an observable that emits when the backdrop has been clicked. */
+    /**
+     * Gets an observable that emits when the backdrop has been clicked.
+     * @return {?}
+     */
+    OverlayRef.prototype.backdropClick = /**
+     * Gets an observable that emits when the backdrop has been clicked.
+     * @return {?}
+     */
+    function () {
+        return this._backdropClick.asObservable();
+    };
+    /** Gets an observable that emits when the overlay has been attached. */
+    /**
+     * Gets an observable that emits when the overlay has been attached.
+     * @return {?}
+     */
+    OverlayRef.prototype.attachments = /**
+     * Gets an observable that emits when the overlay has been attached.
+     * @return {?}
+     */
+    function () {
+        return this._attachments.asObservable();
+    };
+    /** Gets an observable that emits when the overlay has been detached. */
+    /**
+     * Gets an observable that emits when the overlay has been detached.
+     * @return {?}
+     */
+    OverlayRef.prototype.detachments = /**
+     * Gets an observable that emits when the overlay has been detached.
+     * @return {?}
+     */
+    function () {
+        return this._detachments.asObservable();
+    };
+    /** Gets an observable of keydown events targeted to this overlay. */
+    /**
+     * Gets an observable of keydown events targeted to this overlay.
+     * @return {?}
+     */
+    OverlayRef.prototype.keydownEvents = /**
+     * Gets an observable of keydown events targeted to this overlay.
+     * @return {?}
+     */
+    function () {
+        return this._keydownEvents.asObservable();
+    };
+    /** Gets the the current overlay configuration, which is immutable. */
+    /**
+     * Gets the the current overlay configuration, which is immutable.
+     * @return {?}
+     */
+    OverlayRef.prototype.getConfig = /**
+     * Gets the the current overlay configuration, which is immutable.
+     * @return {?}
+     */
+    function () {
+        return this._config;
+    };
+    /** Updates the position of the overlay based on the position strategy. */
+    /**
+     * Updates the position of the overlay based on the position strategy.
+     * @return {?}
+     */
+    OverlayRef.prototype.updatePosition = /**
+     * Updates the position of the overlay based on the position strategy.
+     * @return {?}
+     */
+    function () {
+        if (this._config.positionStrategy) {
+            this._config.positionStrategy.apply();
+        }
+    };
+    /** Update the size properties of the overlay. */
+    /**
+     * Update the size properties of the overlay.
+     * @param {?} sizeConfig
+     * @return {?}
+     */
+    OverlayRef.prototype.updateSize = /**
+     * Update the size properties of the overlay.
+     * @param {?} sizeConfig
+     * @return {?}
+     */
+    function (sizeConfig) {
+        this._config = __assign({}, this._config, sizeConfig);
+        this._updateElementSize();
+    };
+    /** Sets the LTR/RTL direction for the overlay. */
+    /**
+     * Sets the LTR/RTL direction for the overlay.
+     * @param {?} dir
+     * @return {?}
+     */
+    OverlayRef.prototype.setDirection = /**
+     * Sets the LTR/RTL direction for the overlay.
+     * @param {?} dir
+     * @return {?}
+     */
+    function (dir) {
+        this._config = __assign({}, this._config, { direction: dir });
+        this._updateElementDirection();
+    };
+    /**
+     * Updates the text direction of the overlay panel.
+     * @return {?}
+     */
+    OverlayRef.prototype._updateElementDirection = /**
+     * Updates the text direction of the overlay panel.
+     * @return {?}
+     */
+    function () {
+        this._pane.setAttribute('dir', /** @type {?} */ ((this._config.direction)));
+    };
+    /**
+     * Updates the size of the overlay element based on the overlay config.
+     * @return {?}
+     */
+    OverlayRef.prototype._updateElementSize = /**
+     * Updates the size of the overlay element based on the overlay config.
+     * @return {?}
+     */
+    function () {
+        if (this._config.width || this._config.width === 0) {
+            this._pane.style.width = formatCssUnit(this._config.width);
+        }
+        if (this._config.height || this._config.height === 0) {
+            this._pane.style.height = formatCssUnit(this._config.height);
+        }
+        if (this._config.minWidth || this._config.minWidth === 0) {
+            this._pane.style.minWidth = formatCssUnit(this._config.minWidth);
+        }
+        if (this._config.minHeight || this._config.minHeight === 0) {
+            this._pane.style.minHeight = formatCssUnit(this._config.minHeight);
+        }
+        if (this._config.maxWidth || this._config.maxWidth === 0) {
+            this._pane.style.maxWidth = formatCssUnit(this._config.maxWidth);
+        }
+        if (this._config.maxHeight || this._config.maxHeight === 0) {
+            this._pane.style.maxHeight = formatCssUnit(this._config.maxHeight);
+        }
+    };
+    /**
+     * Toggles the pointer events for the overlay pane element.
+     * @param {?} enablePointer
+     * @return {?}
+     */
+    OverlayRef.prototype._togglePointerEvents = /**
+     * Toggles the pointer events for the overlay pane element.
+     * @param {?} enablePointer
+     * @return {?}
+     */
+    function (enablePointer) {
+        this._pane.style.pointerEvents = enablePointer ? 'auto' : 'none';
+    };
+    /**
+     * Attaches a backdrop for this overlay.
+     * @return {?}
+     */
+    OverlayRef.prototype._attachBackdrop = /**
+     * Attaches a backdrop for this overlay.
+     * @return {?}
+     */
+    function () {
+        var _this = this;
+        var /** @type {?} */ showingClass = 'cdk-overlay-backdrop-showing';
+        this._backdropElement = this._document.createElement('div');
+        this._backdropElement.classList.add('cdk-overlay-backdrop');
+        if (this._config.backdropClass) {
+            this._backdropElement.classList.add(this._config.backdropClass);
+        } /** @type {?} */
+        ((
+        // Insert the backdrop before the pane in the DOM order,
+        // in order to handle stacked overlays properly.
+        this._pane.parentElement)).insertBefore(this._backdropElement, this._pane);
+        // Forward backdrop clicks such that the consumer of the overlay can perform whatever
+        // action desired when such a click occurs (usually closing the overlay).
+        this._backdropElement.addEventListener('click', function (event) { return _this._backdropClick.next(event); });
+        // Add class to fade-in the backdrop after one frame.
+        if (typeof requestAnimationFrame !== 'undefined') {
+            this._ngZone.runOutsideAngular(function () {
+                requestAnimationFrame(function () {
+                    if (_this._backdropElement) {
+                        _this._backdropElement.classList.add(showingClass);
+                    }
+                });
+            });
+        }
+        else {
+            this._backdropElement.classList.add(showingClass);
+        }
+    };
+    /**
+     * Updates the stacking order of the element, moving it to the top if necessary.
+     * This is required in cases where one overlay was detached, while another one,
+     * that should be behind it, was destroyed. The next time both of them are opened,
+     * the stacking will be wrong, because the detached element's pane will still be
+     * in its original DOM position.
+     * @return {?}
+     */
+    OverlayRef.prototype._updateStackingOrder = /**
+     * Updates the stacking order of the element, moving it to the top if necessary.
+     * This is required in cases where one overlay was detached, while another one,
+     * that should be behind it, was destroyed. The next time both of them are opened,
+     * the stacking will be wrong, because the detached element's pane will still be
+     * in its original DOM position.
+     * @return {?}
+     */
+    function () {
+        if (this._pane.nextSibling) {
+            /** @type {?} */ ((this._pane.parentNode)).appendChild(this._pane);
+        }
+    };
+    /** Detaches the backdrop (if any) associated with the overlay. */
+    /**
+     * Detaches the backdrop (if any) associated with the overlay.
+     * @return {?}
+     */
+    OverlayRef.prototype.detachBackdrop = /**
+     * Detaches the backdrop (if any) associated with the overlay.
+     * @return {?}
+     */
+    function () {
+        var _this = this;
+        var /** @type {?} */ backdropToDetach = this._backdropElement;
+        if (backdropToDetach) {
+            var /** @type {?} */ finishDetach_1 = function () {
+                // It may not be attached to anything in certain cases (e.g. unit tests).
+                if (backdropToDetach && backdropToDetach.parentNode) {
+                    backdropToDetach.parentNode.removeChild(backdropToDetach);
+                }
+                // It is possible that a new portal has been attached to this overlay since we started
+                // removing the backdrop. If that is the case, only clear the backdrop reference if it
+                // is still the same instance that we started to remove.
+                if (_this._backdropElement == backdropToDetach) {
+                    _this._backdropElement = null;
+                }
+            };
+            backdropToDetach.classList.remove('cdk-overlay-backdrop-showing');
+            if (this._config.backdropClass) {
+                backdropToDetach.classList.remove(this._config.backdropClass);
+            }
+            backdropToDetach.addEventListener('transitionend', finishDetach_1);
+            // If the backdrop doesn't have a transition, the `transitionend` event won't fire.
+            // In this case we make it unclickable and we try to remove it after a delay.
+            backdropToDetach.style.pointerEvents = 'none';
+            // Run this outside the Angular zone because there's nothing that Angular cares about.
+            // If it were to run inside the Angular zone, every test that used Overlay would have to be
+            // either async or fakeAsync.
+            this._ngZone.runOutsideAngular(function () {
+                setTimeout(finishDetach_1, 500);
+            });
+        }
+    };
+    return OverlayRef;
+}());
+/**
+ * @param {?} value
+ * @return {?}
+ */
+function formatCssUnit(value) {
+    return typeof value === 'string' ? /** @type {?} */ (value) : value + "px";
+}
+/**
+ * Size properties for an overlay.
+ * @record
+ */
+
+/**
+ * @fileoverview added by tsickle
+ * @suppress {checkTypes} checked by tsc
+ */
+
+/**
+ * A strategy for positioning overlays. Using this strategy, an overlay is given an
+ * implicit position relative some origin element. The relative position is defined in terms of
+ * a point on the origin element that is connected to a point on the overlay element. For example,
+ * a basic dropdown is connecting the bottom-left corner of the origin to the top-left corner
+ * of the overlay.
+ */
+var ConnectedPositionStrategy = /** @class */ (function () {
+    function ConnectedPositionStrategy(originPos, overlayPos, _connectedTo, _viewportRuler, _document) {
+        this._connectedTo = _connectedTo;
+        this._viewportRuler = _viewportRuler;
+        this._document = _document;
+        /**
+         * Layout direction of the position strategy.
+         */
+        this._dir = 'ltr';
+        /**
+         * The offset in pixels for the overlay connection point on the x-axis
+         */
+        this._offsetX = 0;
+        /**
+         * The offset in pixels for the overlay connection point on the y-axis
+         */
+        this._offsetY = 0;
+        /**
+         * The Scrollable containers used to check scrollable view properties on position change.
+         */
+        this.scrollables = [];
+        /**
+         * Subscription to viewport resize events.
+         */
+        this._resizeSubscription = rxjs_Subscription.Subscription.EMPTY;
+        /**
+         * Ordered list of preferred positions, from most to least desirable.
+         */
+        this._preferredPositions = [];
+        /**
+         * Whether the position strategy is applied currently.
+         */
+        this._applied = false;
+        /**
+         * Whether the overlay position is locked.
+         */
+        this._positionLocked = false;
+        this._onPositionChange = new rxjs_Subject.Subject();
+        this._origin = this._connectedTo.nativeElement;
+        this.withFallbackPosition(originPos, overlayPos);
+    }
+    Object.defineProperty(ConnectedPositionStrategy.prototype, "_isRtl", {
+        /** Whether the we're dealing with an RTL context */
+        get: /**
+         * Whether the we're dealing with an RTL context
+         * @return {?}
+         */
+        function () {
+            return this._dir === 'rtl';
+        },
+        enumerable: true,
+        configurable: true
+    });
+    Object.defineProperty(ConnectedPositionStrategy.prototype, "onPositionChange", {
+        /** Emits an event when the connection point changes. */
+        get: /**
+         * Emits an event when the connection point changes.
+         * @return {?}
+         */
+        function () {
+            return this._onPositionChange.asObservable();
+        },
+        enumerable: true,
+        configurable: true
+    });
+    Object.defineProperty(ConnectedPositionStrategy.prototype, "positions", {
+        /** Ordered list of preferred positions, from most to least desirable. */
+        get: /**
+         * Ordered list of preferred positions, from most to least desirable.
+         * @return {?}
+         */
+        function () {
+            return this._preferredPositions;
+        },
+        enumerable: true,
+        configurable: true
+    });
+    /** Attach this position strategy to an overlay. */
+    /**
+     * Attach this position strategy to an overlay.
+     * @param {?} overlayRef
+     * @return {?}
+     */
+    ConnectedPositionStrategy.prototype.attach = /**
+     * Attach this position strategy to an overlay.
+     * @param {?} overlayRef
+     * @return {?}
+     */
+    function (overlayRef) {
+        var _this = this;
+        this._overlayRef = overlayRef;
+        this._pane = overlayRef.overlayElement;
+        this._resizeSubscription.unsubscribe();
+        this._resizeSubscription = this._viewportRuler.change().subscribe(function () { return _this.apply(); });
+    };
+    /** Disposes all resources used by the position strategy. */
+    /**
+     * Disposes all resources used by the position strategy.
+     * @return {?}
+     */
+    ConnectedPositionStrategy.prototype.dispose = /**
+     * Disposes all resources used by the position strategy.
+     * @return {?}
+     */
+    function () {
+        this._applied = false;
+        this._resizeSubscription.unsubscribe();
+        this._onPositionChange.complete();
+    };
+    /** @docs-private */
+    /**
+     * \@docs-private
+     * @return {?}
+     */
+    ConnectedPositionStrategy.prototype.detach = /**
+     * \@docs-private
+     * @return {?}
+     */
+    function () {
+        this._applied = false;
+        this._resizeSubscription.unsubscribe();
+    };
+    /**
+     * Updates the position of the overlay element, using whichever preferred position relative
+     * to the origin fits on-screen.
+     * @docs-private
+     */
+    /**
+     * Updates the position of the overlay element, using whichever preferred position relative
+     * to the origin fits on-screen.
+     * \@docs-private
+     * @return {?}
+     */
+    ConnectedPositionStrategy.prototype.apply = /**
+     * Updates the position of the overlay element, using whichever preferred position relative
+     * to the origin fits on-screen.
+     * \@docs-private
+     * @return {?}
+     */
+    function () {
+        // If the position has been applied already (e.g. when the overlay was opened) and the
+        // consumer opted into locking in the position, re-use the  old position, in order to
+        // prevent the overlay from jumping around.
+        if (this._applied && this._positionLocked && this._lastConnectedPosition) {
+            this.recalculateLastPosition();
+            return;
+        }
+        this._applied = true;
+        // We need the bounding rects for the origin and the overlay to determine how to position
+        // the overlay relative to the origin.
+        var /** @type {?} */ element = this._pane;
+        var /** @type {?} */ originRect = this._origin.getBoundingClientRect();
+        var /** @type {?} */ overlayRect = element.getBoundingClientRect();
+        // We use the viewport size to determine whether a position would go off-screen.
+        var /** @type {?} */ viewportSize = this._viewportRuler.getViewportSize();
+        // Fallback point if none of the fallbacks fit into the viewport.
+        var /** @type {?} */ fallbackPoint;
+        var /** @type {?} */ fallbackPosition;
+        // We want to place the overlay in the first of the preferred positions such that the
+        // overlay fits on-screen.
+        for (var _i = 0, _a = this._preferredPositions; _i < _a.length; _i++) {
+            var pos = _a[_i];
+            // Get the (x, y) point of connection on the origin, and then use that to get the
+            // (top, left) coordinate for the overlay at `pos`.
+            var /** @type {?} */ originPoint = this._getOriginConnectionPoint(originRect, pos);
+            var /** @type {?} */ overlayPoint = this._getOverlayPoint(originPoint, overlayRect, viewportSize, pos);
+            // If the overlay in the calculated position fits on-screen, put it there and we're done.
+            if (overlayPoint.fitsInViewport) {
+                this._setElementPosition(element, overlayRect, overlayPoint, pos);
+                // Save the last connected position in case the position needs to be re-calculated.
+                this._lastConnectedPosition = pos;
+                return;
+            }
+            else if (!fallbackPoint || fallbackPoint.visibleArea < overlayPoint.visibleArea) {
+                fallbackPoint = overlayPoint;
+                fallbackPosition = pos;
+            }
+        }
+        // If none of the preferred positions were in the viewport, take the one
+        // with the largest visible area.
+        this._setElementPosition(element, overlayRect, /** @type {?} */ ((fallbackPoint)), /** @type {?} */ ((fallbackPosition)));
+    };
+    /**
+     * Re-positions the overlay element with the trigger in its last calculated position,
+     * even if a position higher in the "preferred positions" list would now fit. This
+     * allows one to re-align the panel without changing the orientation of the panel.
+     */
+    /**
+     * Re-positions the overlay element with the trigger in its last calculated position,
+     * even if a position higher in the "preferred positions" list would now fit. This
+     * allows one to re-align the panel without changing the orientation of the panel.
+     * @return {?}
+     */
+    ConnectedPositionStrategy.prototype.recalculateLastPosition = /**
+     * Re-positions the overlay element with the trigger in its last calculated position,
+     * even if a position higher in the "preferred positions" list would now fit. This
+     * allows one to re-align the panel without changing the orientation of the panel.
+     * @return {?}
+     */
+    function () {
+        // If the overlay has never been positioned before, do nothing.
+        if (!this._lastConnectedPosition) {
+            return;
+        }
+        var /** @type {?} */ originRect = this._origin.getBoundingClientRect();
+        var /** @type {?} */ overlayRect = this._pane.getBoundingClientRect();
+        var /** @type {?} */ viewportSize = this._viewportRuler.getViewportSize();
+        var /** @type {?} */ lastPosition = this._lastConnectedPosition || this._preferredPositions[0];
+        var /** @type {?} */ originPoint = this._getOriginConnectionPoint(originRect, lastPosition);
+        var /** @type {?} */ overlayPoint = this._getOverlayPoint(originPoint, overlayRect, viewportSize, lastPosition);
+        this._setElementPosition(this._pane, overlayRect, overlayPoint, lastPosition);
+    };
+    /**
+     * Sets the list of Scrollable containers that host the origin element so that
+     * on reposition we can evaluate if it or the overlay has been clipped or outside view. Every
+     * Scrollable must be an ancestor element of the strategy's origin element.
+     */
+    /**
+     * Sets the list of Scrollable containers that host the origin element so that
+     * on reposition we can evaluate if it or the overlay has been clipped or outside view. Every
+     * Scrollable must be an ancestor element of the strategy's origin element.
+     * @param {?} scrollables
+     * @return {?}
+     */
+    ConnectedPositionStrategy.prototype.withScrollableContainers = /**
+     * Sets the list of Scrollable containers that host the origin element so that
+     * on reposition we can evaluate if it or the overlay has been clipped or outside view. Every
+     * Scrollable must be an ancestor element of the strategy's origin element.
+     * @param {?} scrollables
+     * @return {?}
+     */
+    function (scrollables) {
+        this.scrollables = scrollables;
+    };
+    /**
+     * Adds a new preferred fallback position.
+     * @param originPos
+     * @param overlayPos
+     */
+    /**
+     * Adds a new preferred fallback position.
+     * @param {?} originPos
+     * @param {?} overlayPos
+     * @param {?=} offsetX
+     * @param {?=} offsetY
+     * @return {?}
+     */
+    ConnectedPositionStrategy.prototype.withFallbackPosition = /**
+     * Adds a new preferred fallback position.
+     * @param {?} originPos
+     * @param {?} overlayPos
+     * @param {?=} offsetX
+     * @param {?=} offsetY
+     * @return {?}
+     */
+    function (originPos, overlayPos, offsetX, offsetY) {
+        var /** @type {?} */ position = new ConnectionPositionPair(originPos, overlayPos, offsetX, offsetY);
+        this._preferredPositions.push(position);
+        return this;
+    };
+    /**
+     * Sets the layout direction so the overlay's position can be adjusted to match.
+     * @param dir New layout direction.
+     */
+    /**
+     * Sets the layout direction so the overlay's position can be adjusted to match.
+     * @param {?} dir New layout direction.
+     * @return {?}
+     */
+    ConnectedPositionStrategy.prototype.withDirection = /**
+     * Sets the layout direction so the overlay's position can be adjusted to match.
+     * @param {?} dir New layout direction.
+     * @return {?}
+     */
+    function (dir) {
+        this._dir = dir;
+        return this;
+    };
+    /**
+     * Sets an offset for the overlay's connection point on the x-axis
+     * @param offset New offset in the X axis.
+     */
+    /**
+     * Sets an offset for the overlay's connection point on the x-axis
+     * @param {?} offset New offset in the X axis.
+     * @return {?}
+     */
+    ConnectedPositionStrategy.prototype.withOffsetX = /**
+     * Sets an offset for the overlay's connection point on the x-axis
+     * @param {?} offset New offset in the X axis.
+     * @return {?}
+     */
+    function (offset) {
+        this._offsetX = offset;
+        return this;
+    };
+    /**
+     * Sets an offset for the overlay's connection point on the y-axis
+     * @param  offset New offset in the Y axis.
+     */
+    /**
+     * Sets an offset for the overlay's connection point on the y-axis
+     * @param {?} offset New offset in the Y axis.
+     * @return {?}
+     */
+    ConnectedPositionStrategy.prototype.withOffsetY = /**
+     * Sets an offset for the overlay's connection point on the y-axis
+     * @param {?} offset New offset in the Y axis.
+     * @return {?}
+     */
+    function (offset) {
+        this._offsetY = offset;
+        return this;
+    };
+    /**
+     * Sets whether the overlay's position should be locked in after it is positioned
+     * initially. When an overlay is locked in, it won't attempt to reposition itself
+     * when the position is re-applied (e.g. when the user scrolls away).
+     * @param isLocked Whether the overlay should locked in.
+     */
+    /**
+     * Sets whether the overlay's position should be locked in after it is positioned
+     * initially. When an overlay is locked in, it won't attempt to reposition itself
+     * when the position is re-applied (e.g. when the user scrolls away).
+     * @param {?} isLocked Whether the overlay should locked in.
+     * @return {?}
+     */
+    ConnectedPositionStrategy.prototype.withLockedPosition = /**
+     * Sets whether the overlay's position should be locked in after it is positioned
+     * initially. When an overlay is locked in, it won't attempt to reposition itself
+     * when the position is re-applied (e.g. when the user scrolls away).
+     * @param {?} isLocked Whether the overlay should locked in.
+     * @return {?}
+     */
+    function (isLocked) {
+        this._positionLocked = isLocked;
+        return this;
+    };
+    /**
+     * Overwrites the current set of positions with an array of new ones.
+     * @param positions Position pairs to be set on the strategy.
+     */
+    /**
+     * Overwrites the current set of positions with an array of new ones.
+     * @param {?} positions Position pairs to be set on the strategy.
+     * @return {?}
+     */
+    ConnectedPositionStrategy.prototype.withPositions = /**
+     * Overwrites the current set of positions with an array of new ones.
+     * @param {?} positions Position pairs to be set on the strategy.
+     * @return {?}
+     */
+    function (positions) {
+        this._preferredPositions = positions.slice();
+        return this;
+    };
+    /**
+     * Sets the origin element, relative to which to position the overlay.
+     * @param origin Reference to the new origin element.
+     */
+    /**
+     * Sets the origin element, relative to which to position the overlay.
+     * @param {?} origin Reference to the new origin element.
+     * @return {?}
+     */
+    ConnectedPositionStrategy.prototype.setOrigin = /**
+     * Sets the origin element, relative to which to position the overlay.
+     * @param {?} origin Reference to the new origin element.
+     * @return {?}
+     */
+    function (origin) {
+        this._origin = origin.nativeElement;
+        return this;
+    };
+    /**
+     * Gets the horizontal (x) "start" dimension based on whether the overlay is in an RTL context.
+     * @param {?} rect
+     * @return {?}
+     */
+    ConnectedPositionStrategy.prototype._getStartX = /**
+     * Gets the horizontal (x) "start" dimension based on whether the overlay is in an RTL context.
+     * @param {?} rect
+     * @return {?}
+     */
+    function (rect) {
+        return this._isRtl ? rect.right : rect.left;
+    };
+    /**
+     * Gets the horizontal (x) "end" dimension based on whether the overlay is in an RTL context.
+     * @param {?} rect
+     * @return {?}
+     */
+    ConnectedPositionStrategy.prototype._getEndX = /**
+     * Gets the horizontal (x) "end" dimension based on whether the overlay is in an RTL context.
+     * @param {?} rect
+     * @return {?}
+     */
+    function (rect) {
+        return this._isRtl ? rect.left : rect.right;
+    };
+    /**
+     * Gets the (x, y) coordinate of a connection point on the origin based on a relative position.
+     * @param {?} originRect
+     * @param {?} pos
+     * @return {?}
+     */
+    ConnectedPositionStrategy.prototype._getOriginConnectionPoint = /**
+     * Gets the (x, y) coordinate of a connection point on the origin based on a relative position.
+     * @param {?} originRect
+     * @param {?} pos
+     * @return {?}
+     */
+    function (originRect, pos) {
+        var /** @type {?} */ originStartX = this._getStartX(originRect);
+        var /** @type {?} */ originEndX = this._getEndX(originRect);
+        var /** @type {?} */ x;
+        if (pos.originX == 'center') {
+            x = originStartX + (originRect.width / 2);
+        }
+        else {
+            x = pos.originX == 'start' ? originStartX : originEndX;
+        }
+        var /** @type {?} */ y;
+        if (pos.originY == 'center') {
+            y = originRect.top + (originRect.height / 2);
+        }
+        else {
+            y = pos.originY == 'top' ? originRect.top : originRect.bottom;
+        }
+        return { x: x, y: y };
+    };
+    /**
+     * Gets the (x, y) coordinate of the top-left corner of the overlay given a given position and
+     * origin point to which the overlay should be connected, as well as how much of the element
+     * would be inside the viewport at that position.
+     * @param {?} originPoint
+     * @param {?} overlayRect
+     * @param {?} viewportSize
+     * @param {?} pos
+     * @return {?}
+     */
+    ConnectedPositionStrategy.prototype._getOverlayPoint = /**
+     * Gets the (x, y) coordinate of the top-left corner of the overlay given a given position and
+     * origin point to which the overlay should be connected, as well as how much of the element
+     * would be inside the viewport at that position.
+     * @param {?} originPoint
+     * @param {?} overlayRect
+     * @param {?} viewportSize
+     * @param {?} pos
+     * @return {?}
+     */
+    function (originPoint, overlayRect, viewportSize, pos) {
+        // Calculate the (overlayStartX, overlayStartY), the start of the potential overlay position
+        // relative to the origin point.
+        var /** @type {?} */ overlayStartX;
+        if (pos.overlayX == 'center') {
+            overlayStartX = -overlayRect.width / 2;
+        }
+        else if (pos.overlayX === 'start') {
+            overlayStartX = this._isRtl ? -overlayRect.width : 0;
+        }
+        else {
+            overlayStartX = this._isRtl ? 0 : -overlayRect.width;
+        }
+        var /** @type {?} */ overlayStartY;
+        if (pos.overlayY == 'center') {
+            overlayStartY = -overlayRect.height / 2;
+        }
+        else {
+            overlayStartY = pos.overlayY == 'top' ? 0 : -overlayRect.height;
+        }
+        // The (x, y) offsets of the overlay based on the current position.
+        var /** @type {?} */ offsetX = typeof pos.offsetX === 'undefined' ? this._offsetX : pos.offsetX;
+        var /** @type {?} */ offsetY = typeof pos.offsetY === 'undefined' ? this._offsetY : pos.offsetY;
+        // The (x, y) coordinates of the overlay.
+        var /** @type {?} */ x = originPoint.x + overlayStartX + offsetX;
+        var /** @type {?} */ y = originPoint.y + overlayStartY + offsetY;
+        // How much the overlay would overflow at this position, on each side.
+        var /** @type {?} */ leftOverflow = 0 - x;
+        var /** @type {?} */ rightOverflow = (x + overlayRect.width) - viewportSize.width;
+        var /** @type {?} */ topOverflow = 0 - y;
+        var /** @type {?} */ bottomOverflow = (y + overlayRect.height) - viewportSize.height;
+        // Visible parts of the element on each axis.
+        var /** @type {?} */ visibleWidth = this._subtractOverflows(overlayRect.width, leftOverflow, rightOverflow);
+        var /** @type {?} */ visibleHeight = this._subtractOverflows(overlayRect.height, topOverflow, bottomOverflow);
+        // The area of the element that's within the viewport.
+        var /** @type {?} */ visibleArea = visibleWidth * visibleHeight;
+        var /** @type {?} */ fitsInViewport = (overlayRect.width * overlayRect.height) === visibleArea;
+        return { x: x, y: y, fitsInViewport: fitsInViewport, visibleArea: visibleArea };
+    };
+    /**
+     * Gets the view properties of the trigger and overlay, including whether they are clipped
+     * or completely outside the view of any of the strategy's scrollables.
+     * @param {?} overlay
+     * @return {?}
+     */
+    ConnectedPositionStrategy.prototype._getScrollVisibility = /**
+     * Gets the view properties of the trigger and overlay, including whether they are clipped
+     * or completely outside the view of any of the strategy's scrollables.
+     * @param {?} overlay
+     * @return {?}
+     */
+    function (overlay) {
+        var /** @type {?} */ originBounds = this._origin.getBoundingClientRect();
+        var /** @type {?} */ overlayBounds = overlay.getBoundingClientRect();
+        var /** @type {?} */ scrollContainerBounds = this.scrollables.map(function (s) { return s.getElementRef().nativeElement.getBoundingClientRect(); });
+        return {
+            isOriginClipped: isElementClippedByScrolling(originBounds, scrollContainerBounds),
+            isOriginOutsideView: isElementScrolledOutsideView(originBounds, scrollContainerBounds),
+            isOverlayClipped: isElementClippedByScrolling(overlayBounds, scrollContainerBounds),
+            isOverlayOutsideView: isElementScrolledOutsideView(overlayBounds, scrollContainerBounds),
+        };
+    };
+    /**
+     * Physically positions the overlay element to the given coordinate.
+     * @param {?} element
+     * @param {?} overlayRect
+     * @param {?} overlayPoint
+     * @param {?} pos
+     * @return {?}
+     */
+    ConnectedPositionStrategy.prototype._setElementPosition = /**
+     * Physically positions the overlay element to the given coordinate.
+     * @param {?} element
+     * @param {?} overlayRect
+     * @param {?} overlayPoint
+     * @param {?} pos
+     * @return {?}
+     */
+    function (element, overlayRect, overlayPoint, pos) {
+        // We want to set either `top` or `bottom` based on whether the overlay wants to appear above
+        // or below the origin and the direction in which the element will expand.
+        var /** @type {?} */ verticalStyleProperty = pos.overlayY === 'bottom' ? 'bottom' : 'top';
+        // When using `bottom`, we adjust the y position such that it is the distance
+        // from the bottom of the viewport rather than the top.
+        var /** @type {?} */ y = verticalStyleProperty === 'top' ?
+            overlayPoint.y :
+            this._document.documentElement.clientHeight - (overlayPoint.y + overlayRect.height);
+        // We want to set either `left` or `right` based on whether the overlay wants to appear "before"
+        // or "after" the origin, which determines the direction in which the element will expand.
+        // For the horizontal axis, the meaning of "before" and "after" change based on whether the
+        // page is in RTL or LTR.
+        var /** @type {?} */ horizontalStyleProperty;
+        if (this._dir === 'rtl') {
+            horizontalStyleProperty = pos.overlayX === 'end' ? 'left' : 'right';
+        }
+        else {
+            horizontalStyleProperty = pos.overlayX === 'end' ? 'right' : 'left';
+        }
+        // When we're setting `right`, we adjust the x position such that it is the distance
+        // from the right edge of the viewport rather than the left edge.
+        var /** @type {?} */ x = horizontalStyleProperty === 'left' ?
+            overlayPoint.x :
+            this._document.documentElement.clientWidth - (overlayPoint.x + overlayRect.width);
+        // Reset any existing styles. This is necessary in case the preferred position has
+        // changed since the last `apply`.
+        ['top', 'bottom', 'left', 'right'].forEach(function (p) { return element.style[p] = null; });
+        element.style[verticalStyleProperty] = y + "px";
+        element.style[horizontalStyleProperty] = x + "px";
+        // Notify that the position has been changed along with its change properties.
+        var /** @type {?} */ scrollableViewProperties = this._getScrollVisibility(element);
+        var /** @type {?} */ positionChange = new ConnectedOverlayPositionChange(pos, scrollableViewProperties);
+        this._onPositionChange.next(positionChange);
+    };
+    /**
+     * Subtracts the amount that an element is overflowing on an axis from it's length.
+     * @param {?} length
+     * @param {...?} overflows
+     * @return {?}
+     */
+    ConnectedPositionStrategy.prototype._subtractOverflows = /**
+     * Subtracts the amount that an element is overflowing on an axis from it's length.
+     * @param {?} length
+     * @param {...?} overflows
+     * @return {?}
+     */
+    function (length) {
+        var overflows = [];
+        for (var _i = 1; _i < arguments.length; _i++) {
+            overflows[_i - 1] = arguments[_i];
+        }
+        return overflows.reduce(function (currentValue, currentOverflow) {
+            return currentValue - Math.max(currentOverflow, 0);
+        }, length);
+    };
+    return ConnectedPositionStrategy;
+}());
+
+/**
+ * @fileoverview added by tsickle
+ * @suppress {checkTypes} checked by tsc
+ */
+
+/**
+ * A strategy for positioning overlays. Using this strategy, an overlay is given an
+ * explicit position relative to the browser's viewport. We use flexbox, instead of
+ * transforms, in order to avoid issues with subpixel rendering which can cause the
+ * element to become blurry.
+ */
+var GlobalPositionStrategy = /** @class */ (function () {
+    function GlobalPositionStrategy(_document) {
+        this._document = _document;
+        this._cssPosition = 'static';
+        this._topOffset = '';
+        this._bottomOffset = '';
+        this._leftOffset = '';
+        this._rightOffset = '';
+        this._alignItems = '';
+        this._justifyContent = '';
+        this._width = '';
+        this._height = '';
+        /**
+         * A lazily-created wrapper for the overlay element that is used as a flex container.
+         */
+        this._wrapper = null;
+    }
+    /**
+     * @param {?} overlayRef
+     * @return {?}
+     */
+    GlobalPositionStrategy.prototype.attach = /**
+     * @param {?} overlayRef
+     * @return {?}
+     */
+    function (overlayRef) {
+        this._overlayRef = overlayRef;
+    };
+    /**
+     * Sets the top position of the overlay. Clears any previously set vertical position.
+     * @param value New top offset.
+     */
+    /**
+     * Sets the top position of the overlay. Clears any previously set vertical position.
+     * @param {?=} value New top offset.
+     * @return {?}
+     */
+    GlobalPositionStrategy.prototype.top = /**
+     * Sets the top position of the overlay. Clears any previously set vertical position.
+     * @param {?=} value New top offset.
+     * @return {?}
+     */
+    function (value) {
+        if (value === void 0) { value = ''; }
+        this._bottomOffset = '';
+        this._topOffset = value;
+        this._alignItems = 'flex-start';
+        return this;
+    };
+    /**
+     * Sets the left position of the overlay. Clears any previously set horizontal position.
+     * @param value New left offset.
+     */
+    /**
+     * Sets the left position of the overlay. Clears any previously set horizontal position.
+     * @param {?=} value New left offset.
+     * @return {?}
+     */
+    GlobalPositionStrategy.prototype.left = /**
+     * Sets the left position of the overlay. Clears any previously set horizontal position.
+     * @param {?=} value New left offset.
+     * @return {?}
+     */
+    function (value) {
+        if (value === void 0) { value = ''; }
+        this._rightOffset = '';
+        this._leftOffset = value;
+        this._justifyContent = 'flex-start';
+        return this;
+    };
+    /**
+     * Sets the bottom position of the overlay. Clears any previously set vertical position.
+     * @param value New bottom offset.
+     */
+    /**
+     * Sets the bottom position of the overlay. Clears any previously set vertical position.
+     * @param {?=} value New bottom offset.
+     * @return {?}
+     */
+    GlobalPositionStrategy.prototype.bottom = /**
+     * Sets the bottom position of the overlay. Clears any previously set vertical position.
+     * @param {?=} value New bottom offset.
+     * @return {?}
+     */
+    function (value) {
+        if (value === void 0) { value = ''; }
+        this._topOffset = '';
+        this._bottomOffset = value;
+        this._alignItems = 'flex-end';
+        return this;
+    };
+    /**
+     * Sets the right position of the overlay. Clears any previously set horizontal position.
+     * @param value New right offset.
+     */
+    /**
+     * Sets the right position of the overlay. Clears any previously set horizontal position.
+     * @param {?=} value New right offset.
+     * @return {?}
+     */
+    GlobalPositionStrategy.prototype.right = /**
+     * Sets the right position of the overlay. Clears any previously set horizontal position.
+     * @param {?=} value New right offset.
+     * @return {?}
+     */
+    function (value) {
+        if (value === void 0) { value = ''; }
+        this._leftOffset = '';
+        this._rightOffset = value;
+        this._justifyContent = 'flex-end';
+        return this;
+    };
+    /**
+     * Sets the overlay width and clears any previously set width.
+     * @param value New width for the overlay
+     */
+    /**
+     * Sets the overlay width and clears any previously set width.
+     * @param {?=} value New width for the overlay
+     * @return {?}
+     */
+    GlobalPositionStrategy.prototype.width = /**
+     * Sets the overlay width and clears any previously set width.
+     * @param {?=} value New width for the overlay
+     * @return {?}
+     */
+    function (value) {
+        if (value === void 0) { value = ''; }
+        this._width = value;
+        // When the width is 100%, we should reset the `left` and the offset,
+        // in order to ensure that the element is flush against the viewport edge.
+        if (value === '100%') {
+            this.left('0px');
+        }
+        return this;
+    };
+    /**
+     * Sets the overlay height and clears any previously set height.
+     * @param value New height for the overlay
+     */
+    /**
+     * Sets the overlay height and clears any previously set height.
+     * @param {?=} value New height for the overlay
+     * @return {?}
+     */
+    GlobalPositionStrategy.prototype.height = /**
+     * Sets the overlay height and clears any previously set height.
+     * @param {?=} value New height for the overlay
+     * @return {?}
+     */
+    function (value) {
+        if (value === void 0) { value = ''; }
+        this._height = value;
+        // When the height is 100%, we should reset the `top` and the offset,
+        // in order to ensure that the element is flush against the viewport edge.
+        if (value === '100%') {
+            this.top('0px');
+        }
+        return this;
+    };
+    /**
+     * Centers the overlay horizontally with an optional offset.
+     * Clears any previously set horizontal position.
+     *
+     * @param offset Overlay offset from the horizontal center.
+     */
+    /**
+     * Centers the overlay horizontally with an optional offset.
+     * Clears any previously set horizontal position.
+     *
+     * @param {?=} offset Overlay offset from the horizontal center.
+     * @return {?}
+     */
+    GlobalPositionStrategy.prototype.centerHorizontally = /**
+     * Centers the overlay horizontally with an optional offset.
+     * Clears any previously set horizontal position.
+     *
+     * @param {?=} offset Overlay offset from the horizontal center.
+     * @return {?}
+     */
+    function (offset) {
+        if (offset === void 0) { offset = ''; }
+        this.left(offset);
+        this._justifyContent = 'center';
+        return this;
+    };
+    /**
+     * Centers the overlay vertically with an optional offset.
+     * Clears any previously set vertical position.
+     *
+     * @param offset Overlay offset from the vertical center.
+     */
+    /**
+     * Centers the overlay vertically with an optional offset.
+     * Clears any previously set vertical position.
+     *
+     * @param {?=} offset Overlay offset from the vertical center.
+     * @return {?}
+     */
+    GlobalPositionStrategy.prototype.centerVertically = /**
+     * Centers the overlay vertically with an optional offset.
+     * Clears any previously set vertical position.
+     *
+     * @param {?=} offset Overlay offset from the vertical center.
+     * @return {?}
+     */
+    function (offset) {
+        if (offset === void 0) { offset = ''; }
+        this.top(offset);
+        this._alignItems = 'center';
+        return this;
+    };
+    /**
+     * Apply the position to the element.
+     * @docs-private
+     *
+     * @returns Resolved when the styles have been applied.
+     */
+    /**
+     * Apply the position to the element.
+     * \@docs-private
+     *
+     * @return {?} Resolved when the styles have been applied.
+     */
+    GlobalPositionStrategy.prototype.apply = /**
+     * Apply the position to the element.
+     * \@docs-private
+     *
+     * @return {?} Resolved when the styles have been applied.
+     */
+    function () {
+        // Since the overlay ref applies the strategy asynchronously, it could
+        // have been disposed before it ends up being applied. If that is the
+        // case, we shouldn't do anything.
+        if (!this._overlayRef.hasAttached()) {
+            return;
+        }
+        var /** @type {?} */ element = this._overlayRef.overlayElement;
+        if (!this._wrapper && element.parentNode) {
+            this._wrapper = this._document.createElement('div'); /** @type {?} */
+            ((this._wrapper)).classList.add('cdk-global-overlay-wrapper');
+            element.parentNode.insertBefore(/** @type {?} */ ((this._wrapper)), element); /** @type {?} */
+            ((this._wrapper)).appendChild(element);
+        }
+        var /** @type {?} */ styles = element.style;
+        var /** @type {?} */ parentStyles = (/** @type {?} */ (element.parentNode)).style;
+        styles.position = this._cssPosition;
+        styles.marginTop = this._topOffset;
+        styles.marginLeft = this._leftOffset;
+        styles.marginBottom = this._bottomOffset;
+        styles.marginRight = this._rightOffset;
+        styles.width = this._width;
+        styles.height = this._height;
+        parentStyles.justifyContent = this._justifyContent;
+        parentStyles.alignItems = this._alignItems;
+    };
+    /** Removes the wrapper element from the DOM. */
+    /**
+     * Removes the wrapper element from the DOM.
+     * @return {?}
+     */
+    GlobalPositionStrategy.prototype.dispose = /**
+     * Removes the wrapper element from the DOM.
+     * @return {?}
+     */
+    function () {
+        if (this._wrapper && this._wrapper.parentNode) {
+            this._wrapper.parentNode.removeChild(this._wrapper);
+            this._wrapper = null;
+        }
+    };
+    return GlobalPositionStrategy;
+}());
+
+/**
+ * @fileoverview added by tsickle
+ * @suppress {checkTypes} checked by tsc
+ */
+
+/**
+ * Builder for overlay position strategy.
+ */
+var OverlayPositionBuilder = /** @class */ (function () {
+    function OverlayPositionBuilder(_viewportRuler, _document) {
+        this._viewportRuler = _viewportRuler;
+        this._document = _document;
+    }
+    /**
+     * Creates a global position strategy.
+     */
+    /**
+     * Creates a global position strategy.
+     * @return {?}
+     */
+    OverlayPositionBuilder.prototype.global = /**
+     * Creates a global position strategy.
+     * @return {?}
+     */
+    function () {
+        return new GlobalPositionStrategy(this._document);
+    };
+    /**
+     * Creates a relative position strategy.
+     * @param elementRef
+     * @param originPos
+     * @param overlayPos
+     */
+    /**
+     * Creates a relative position strategy.
+     * @param {?} elementRef
+     * @param {?} originPos
+     * @param {?} overlayPos
+     * @return {?}
+     */
+    OverlayPositionBuilder.prototype.connectedTo = /**
+     * Creates a relative position strategy.
+     * @param {?} elementRef
+     * @param {?} originPos
+     * @param {?} overlayPos
+     * @return {?}
+     */
+    function (elementRef, originPos, overlayPos) {
+        return new ConnectedPositionStrategy(originPos, overlayPos, elementRef, this._viewportRuler, this._document);
+    };
+    OverlayPositionBuilder.decorators = [
+        { type: _angular_core.Injectable },
+    ];
+    /** @nocollapse */
+    OverlayPositionBuilder.ctorParameters = function () { return [
+        { type: _angular_cdk_scrolling.ViewportRuler, },
+        { type: undefined, decorators: [{ type: _angular_core.Inject, args: [_angular_common.DOCUMENT,] },] },
+    ]; };
+    return OverlayPositionBuilder;
+}());
+
+/**
+ * @fileoverview added by tsickle
+ * @suppress {checkTypes} checked by tsc
+ */
+
+/**
+ * Service for dispatching keyboard events that land on the body to appropriate overlay ref,
+ * if any. It maintains a list of attached overlays to determine best suited overlay based
+ * on event target and order of overlay opens.
+ */
+var OverlayKeyboardDispatcher = /** @class */ (function () {
+    function OverlayKeyboardDispatcher(_document) {
+        this._document = _document;
+        /**
+         * Currently attached overlays in the order they were attached.
+         */
+        this._attachedOverlays = [];
+    }
+    /**
+     * @return {?}
+     */
+    OverlayKeyboardDispatcher.prototype.ngOnDestroy = /**
+     * @return {?}
+     */
+    function () {
+        this._unsubscribeFromKeydownEvents();
+    };
+    /** Add a new overlay to the list of attached overlay refs. */
+    /**
+     * Add a new overlay to the list of attached overlay refs.
+     * @param {?} overlayRef
+     * @return {?}
+     */
+    OverlayKeyboardDispatcher.prototype.add = /**
+     * Add a new overlay to the list of attached overlay refs.
+     * @param {?} overlayRef
+     * @return {?}
+     */
+    function (overlayRef) {
+        // Lazily start dispatcher once first overlay is added
+        if (!this._keydownEventSubscription) {
+            this._subscribeToKeydownEvents();
+        }
+        this._attachedOverlays.push(overlayRef);
+    };
+    /** Remove an overlay from the list of attached overlay refs. */
+    /**
+     * Remove an overlay from the list of attached overlay refs.
+     * @param {?} overlayRef
+     * @return {?}
+     */
+    OverlayKeyboardDispatcher.prototype.remove = /**
+     * Remove an overlay from the list of attached overlay refs.
+     * @param {?} overlayRef
+     * @return {?}
+     */
+    function (overlayRef) {
+        var /** @type {?} */ index = this._attachedOverlays.indexOf(overlayRef);
+        if (index > -1) {
+            this._attachedOverlays.splice(index, 1);
+        }
+        // Remove the global listener once there are no more overlays.
+        if (this._attachedOverlays.length === 0) {
+            this._unsubscribeFromKeydownEvents();
+        }
+    };
+    /**
+     * Subscribe to keydown events that land on the body and dispatch those
+     * events to the appropriate overlay.
+     * @return {?}
+     */
+    OverlayKeyboardDispatcher.prototype._subscribeToKeydownEvents = /**
+     * Subscribe to keydown events that land on the body and dispatch those
+     * events to the appropriate overlay.
+     * @return {?}
+     */
+    function () {
+        var _this = this;
+        var /** @type {?} */ bodyKeydownEvents = rxjs_observable_fromEvent.fromEvent(this._document.body, 'keydown', true);
+        this._keydownEventSubscription = bodyKeydownEvents.pipe(rxjs_operators_filter.filter(function () { return !!_this._attachedOverlays.length; })).subscribe(function (event) {
+            // Dispatch keydown event to the correct overlay.
+            // Dispatch keydown event to the correct overlay.
+            _this._selectOverlayFromEvent(event)._keydownEvents.next(event);
+        });
+    };
+    /**
+     * Removes the global keydown subscription.
+     * @return {?}
+     */
+    OverlayKeyboardDispatcher.prototype._unsubscribeFromKeydownEvents = /**
+     * Removes the global keydown subscription.
+     * @return {?}
+     */
+    function () {
+        if (this._keydownEventSubscription) {
+            this._keydownEventSubscription.unsubscribe();
+            this._keydownEventSubscription = null;
+        }
+    };
+    /**
+     * Select the appropriate overlay from a keydown event.
+     * @param {?} event
+     * @return {?}
+     */
+    OverlayKeyboardDispatcher.prototype._selectOverlayFromEvent = /**
+     * Select the appropriate overlay from a keydown event.
+     * @param {?} event
+     * @return {?}
+     */
+    function (event) {
+        // Check if any overlays contain the event
+        var /** @type {?} */ targetedOverlay = this._attachedOverlays.find(function (overlay) {
+            return overlay.overlayElement === event.target ||
+                overlay.overlayElement.contains(/** @type {?} */ (event.target));
+        });
+        // Use the overlay if it exists, otherwise choose the most recently attached one
+        return targetedOverlay || this._attachedOverlays[this._attachedOverlays.length - 1];
+    };
+    OverlayKeyboardDispatcher.decorators = [
+        { type: _angular_core.Injectable },
+    ];
+    /** @nocollapse */
+    OverlayKeyboardDispatcher.ctorParameters = function () { return [
+        { type: undefined, decorators: [{ type: _angular_core.Inject, args: [_angular_common.DOCUMENT,] },] },
+    ]; };
+    return OverlayKeyboardDispatcher;
+}());
+/**
+ * \@docs-private
+ * @param {?} dispatcher
+ * @param {?} _document
+ * @return {?}
+ */
+function OVERLAY_KEYBOARD_DISPATCHER_PROVIDER_FACTORY(dispatcher, _document) {
+    return dispatcher || new OverlayKeyboardDispatcher(_document);
+}
+/**
+ * \@docs-private
+ */
+var OVERLAY_KEYBOARD_DISPATCHER_PROVIDER = {
+    // If there is already an OverlayKeyboardDispatcher available, use that.
+    // Otherwise, provide a new one.
+    provide: OverlayKeyboardDispatcher,
+    deps: [
+        [new _angular_core.Optional(), new _angular_core.SkipSelf(), OverlayKeyboardDispatcher],
+        /** @type {?} */ (
+        // Coerce to `InjectionToken` so that the `deps` match the "shape"
+        // of the type expected by Angular
+        _angular_common.DOCUMENT)
+    ],
+    useFactory: OVERLAY_KEYBOARD_DISPATCHER_PROVIDER_FACTORY
+};
+
+/**
+ * @fileoverview added by tsickle
+ * @suppress {checkTypes} checked by tsc
+ */
+
+/**
+ * Container inside which all overlays will render.
+ */
+var OverlayContainer = /** @class */ (function () {
+    function OverlayContainer(_document) {
+        this._document = _document;
+    }
+    /**
+     * @return {?}
+     */
+    OverlayContainer.prototype.ngOnDestroy = /**
+     * @return {?}
+     */
+    function () {
+        if (this._containerElement && this._containerElement.parentNode) {
+            this._containerElement.parentNode.removeChild(this._containerElement);
+        }
+    };
+    /**
+     * This method returns the overlay container element. It will lazily
+     * create the element the first time  it is called to facilitate using
+     * the container in non-browser environments.
+     * @returns the container element
+     */
+    /**
+     * This method returns the overlay container element. It will lazily
+     * create the element the first time  it is called to facilitate using
+     * the container in non-browser environments.
+     * @return {?} the container element
+     */
+    OverlayContainer.prototype.getContainerElement = /**
+     * This method returns the overlay container element. It will lazily
+     * create the element the first time  it is called to facilitate using
+     * the container in non-browser environments.
+     * @return {?} the container element
+     */
+    function () {
+        if (!this._containerElement) {
+            this._createContainer();
+        }
+        return this._containerElement;
+    };
+    /**
+     * Create the overlay container element, which is simply a div
+     * with the 'cdk-overlay-container' class on the document body.
+     */
+    /**
+     * Create the overlay container element, which is simply a div
+     * with the 'cdk-overlay-container' class on the document body.
+     * @return {?}
+     */
+    OverlayContainer.prototype._createContainer = /**
+     * Create the overlay container element, which is simply a div
+     * with the 'cdk-overlay-container' class on the document body.
+     * @return {?}
+     */
+    function () {
+        var /** @type {?} */ container = this._document.createElement('div');
+        container.classList.add('cdk-overlay-container');
+        this._document.body.appendChild(container);
+        this._containerElement = container;
+    };
+    OverlayContainer.decorators = [
+        { type: _angular_core.Injectable },
+    ];
+    /** @nocollapse */
+    OverlayContainer.ctorParameters = function () { return [
+        { type: undefined, decorators: [{ type: _angular_core.Inject, args: [_angular_common.DOCUMENT,] },] },
+    ]; };
+    return OverlayContainer;
+}());
+/**
+ * \@docs-private
+ * @param {?} parentContainer
+ * @param {

<TRUNCATED>

[47/59] [abbrv] [partial] nifi-fds git commit: update gh-pages

Posted by sc...@apache.org.
http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/eec354e6/demo-app/css/fds-demo.min.css
----------------------------------------------------------------------
diff --git a/demo-app/css/fds-demo.min.css b/demo-app/css/fds-demo.min.css
new file mode 100644
index 0000000..4e1166e
--- /dev/null
+++ b/demo-app/css/fds-demo.min.css
@@ -0,0 +1,3 @@
+@-moz-document url-prefix(){[layout-fill]{margin:0;width:100%;min-height:100%;height:100%}}body{background:#EEEFF0;background-size:40%}#fds-app-container{margin:0;width:100%;height:100%}#fds-toolbar{min-width:1045px;background-color:#FFFFFF;position:absolute;z-index:1000;background:#2C3E44}#fds-toolbar .mat-icon-button{color:#eee;font-size:20px;margin:0}#fds-toolbar .mat-select-value-text,#fds-toolbar .mat-select-arrow{color:white}#fds-toolbar span,#fds-toolbar .link{color:#eee;font-weight:lighter}#fds-perspectives-container{position:absolute;top:64px;left:0px;right:0px;bottom:0px;min-height:370px;min-width:1045px;overflow:auto;background:#EEEFF0;background-size:40%}#loading-spinner{position:absolute;top:calc(50% - 50px);left:calc(50% - 50px);z-index:2}mat-sidenav{width:40%;min-width:418px}.sidenav-content{position:absolute;bottom:60px;top:80px;right:0px;left:0px;overflow:auto}.fa-rotate-45{-webkit-transform:rotate(45deg);-moz-transform:rotate(45deg);-ms-transform:rotate(45deg);-o-t
 ransform:rotate(45deg);transform:rotate(45deg)}.capitalize{text-transform:capitalize}.uppercase{text-transform:uppercase}.ellipsis{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block !important}.info{color:#1291c1}.authorized{color:#D14A50}.suspended{color:#429929}.nonconfigurable{background:#b2b8c1}.selected-nonconfigurable{background:repeating-linear-gradient(-45deg, #eee, #eee 10px, #fff 10px, #fff 20px) !important}.fds-button-container{position:absolute;bottom:0px;height:64px;left:0px;right:0px;border-top:1px solid #ccc}.fds-button-container .done-button{float:right;margin-right:15px;margin-top:15px}.td-expansion-content{background:#F8F9F9}.mat-elevation-z0{box-shadow:0px 0px 0px 0px rgba(0,0,0,0.2),0px 0px 0px 0px rgba(0,0,0,0.14),0px 0px 0px 0px rgba(0,0,0,0.12)}.mat-elevation-z1{box-shadow:0px 2px 1px -1px rgba(0,0,0,0.2),0px 1px 1px 0px rgba(0,0,0,0.14),0px 1px 3px 0px rgba(0,0,0,0.12)}.mat-elevation-z2{box-shadow:0px 3px 1px -2px rgba(0,0,0,0.2),0px 2px 
 2px 0px rgba(0,0,0,0.14),0px 1px 5px 0px rgba(0,0,0,0.12)}.mat-elevation-z3{box-shadow:0px 3px 3px -2px rgba(0,0,0,0.2),0px 3px 4px 0px rgba(0,0,0,0.14),0px 1px 8px 0px rgba(0,0,0,0.12)}.mat-elevation-z4{box-shadow:0px 2px 4px -1px rgba(0,0,0,0.2),0px 4px 5px 0px rgba(0,0,0,0.14),0px 1px 10px 0px rgba(0,0,0,0.12)}.mat-elevation-z5{box-shadow:0px 3px 5px -1px rgba(0,0,0,0.2),0px 5px 8px 0px rgba(0,0,0,0.14),0px 1px 14px 0px rgba(0,0,0,0.12)}.mat-elevation-z6{box-shadow:0px 3px 5px -1px rgba(0,0,0,0.2),0px 6px 10px 0px rgba(0,0,0,0.14),0px 1px 18px 0px rgba(0,0,0,0.12)}.mat-elevation-z7{box-shadow:0px 4px 5px -2px rgba(0,0,0,0.2),0px 7px 10px 1px rgba(0,0,0,0.14),0px 2px 16px 1px rgba(0,0,0,0.12)}.mat-elevation-z8{box-shadow:0px 5px 5px -3px rgba(0,0,0,0.2),0px 8px 10px 1px rgba(0,0,0,0.14),0px 3px 14px 2px rgba(0,0,0,0.12)}.mat-elevation-z9{box-shadow:0px 5px 6px -3px rgba(0,0,0,0.2),0px 9px 12px 1px rgba(0,0,0,0.14),0px 3px 16px 2px rgba(0,0,0,0.12)}.mat-elevation-z10{box-shadow:0px
  6px 6px -3px rgba(0,0,0,0.2),0px 10px 14px 1px rgba(0,0,0,0.14),0px 4px 18px 3px rgba(0,0,0,0.12)}.mat-elevation-z11{box-shadow:0px 6px 7px -4px rgba(0,0,0,0.2),0px 11px 15px 1px rgba(0,0,0,0.14),0px 4px 20px 3px rgba(0,0,0,0.12)}.mat-elevation-z12{box-shadow:0px 7px 8px -4px rgba(0,0,0,0.2),0px 12px 17px 2px rgba(0,0,0,0.14),0px 5px 22px 4px rgba(0,0,0,0.12)}.mat-elevation-z13{box-shadow:0px 7px 8px -4px rgba(0,0,0,0.2),0px 13px 19px 2px rgba(0,0,0,0.14),0px 5px 24px 4px rgba(0,0,0,0.12)}.mat-elevation-z14{box-shadow:0px 7px 9px -4px rgba(0,0,0,0.2),0px 14px 21px 2px rgba(0,0,0,0.14),0px 5px 26px 4px rgba(0,0,0,0.12)}.mat-elevation-z15{box-shadow:0px 8px 9px -5px rgba(0,0,0,0.2),0px 15px 22px 2px rgba(0,0,0,0.14),0px 6px 28px 5px rgba(0,0,0,0.12)}.mat-elevation-z16{box-shadow:0px 8px 10px -5px rgba(0,0,0,0.2),0px 16px 24px 2px rgba(0,0,0,0.14),0px 6px 30px 5px rgba(0,0,0,0.12)}.mat-elevation-z17{box-shadow:0px 8px 11px -5px rgba(0,0,0,0.2),0px 17px 26px 2px rgba(0,0,0,0.14),0px 6p
 x 32px 5px rgba(0,0,0,0.12)}.mat-elevation-z18{box-shadow:0px 9px 11px -5px rgba(0,0,0,0.2),0px 18px 28px 2px rgba(0,0,0,0.14),0px 7px 34px 6px rgba(0,0,0,0.12)}.mat-elevation-z19{box-shadow:0px 9px 12px -6px rgba(0,0,0,0.2),0px 19px 29px 2px rgba(0,0,0,0.14),0px 7px 36px 6px rgba(0,0,0,0.12)}.mat-elevation-z20{box-shadow:0px 10px 13px -6px rgba(0,0,0,0.2),0px 20px 31px 3px rgba(0,0,0,0.14),0px 8px 38px 7px rgba(0,0,0,0.12)}.mat-elevation-z21{box-shadow:0px 10px 13px -6px rgba(0,0,0,0.2),0px 21px 33px 3px rgba(0,0,0,0.14),0px 8px 40px 7px rgba(0,0,0,0.12)}.mat-elevation-z22{box-shadow:0px 10px 14px -6px rgba(0,0,0,0.2),0px 22px 35px 3px rgba(0,0,0,0.14),0px 8px 42px 7px rgba(0,0,0,0.12)}.mat-elevation-z23{box-shadow:0px 11px 14px -7px rgba(0,0,0,0.2),0px 23px 36px 3px rgba(0,0,0,0.14),0px 9px 44px 8px rgba(0,0,0,0.12)}.mat-elevation-z24{box-shadow:0px 11px 15px -7px rgba(0,0,0,0.2),0px 24px 38px 3px rgba(0,0,0,0.14),0px 9px 46px 8px rgba(0,0,0,0.12)}.mat-h1,.mat-headline,.mat-typogr
 aphy h1{font:400 24px/32px Roboto, "Helvetica Neue", sans-serif;margin:0 0 16px}.mat-h2,.mat-title,.mat-typography h2{font:500 20px/32px Roboto, "Helvetica Neue", sans-serif;margin:0 0 16px}.mat-h3,.mat-subheading-2,.mat-typography h3{font:400 16px/28px Roboto, "Helvetica Neue", sans-serif;margin:0 0 16px}.mat-h4,.mat-subheading-1,.mat-typography h4{font:400 15px/24px Roboto, "Helvetica Neue", sans-serif;margin:0 0 16px}.mat-h5,.mat-typography h5{font:400 11.62px/20px Roboto, "Helvetica Neue", sans-serif;margin:0 0 12px}.mat-h6,.mat-typography h6{font:400 9.38px/20px Roboto, "Helvetica Neue", sans-serif;margin:0 0 12px}.mat-body-strong,.mat-body-2{font:500 14px/24px Roboto, "Helvetica Neue", sans-serif}.mat-body,.mat-body-1,.mat-typography{font:400 14px/20px Roboto, "Helvetica Neue", sans-serif}.mat-body p,.mat-body-1 p,.mat-typography p{margin:0 0 12px}.mat-small,.mat-caption{font:400 12px/20px Roboto, "Helvetica Neue", sans-serif}.mat-display-4,.mat-typography .mat-display-4{font:
 300 112px/112px Roboto, "Helvetica Neue", sans-serif;margin:0 0 56px;letter-spacing:-0.05em}.mat-display-3,.mat-typography .mat-display-3{font:400 56px/56px Roboto, "Helvetica Neue", sans-serif;margin:0 0 64px;letter-spacing:-0.02em}.mat-display-2,.mat-typography .mat-display-2{font:400 45px/48px Roboto, "Helvetica Neue", sans-serif;margin:0 0 64px;letter-spacing:-0.005em}.mat-display-1,.mat-typography .mat-display-1{font:400 34px/40px Roboto, "Helvetica Neue", sans-serif;margin:0 0 64px}.mat-button,.mat-raised-button,.mat-icon-button,.mat-stroked-button,.mat-flat-button,.mat-fab,.mat-mini-fab{font-family:Roboto, "Helvetica Neue", sans-serif;font-size:14px;font-weight:500}.mat-button-toggle{font-family:Roboto, "Helvetica Neue", sans-serif}.mat-card{font-family:Roboto, "Helvetica Neue", sans-serif}.mat-card-title{font-size:24px;font-weight:400}.mat-card-subtitle,.mat-card-content,.mat-card-header .mat-card-title{font-size:14px}.mat-checkbox{font-family:Roboto, "Helvetica Neue", sans-
 serif}.mat-checkbox-layout .mat-checkbox-label{line-height:24px}.mat-chip{font-size:13px;line-height:18px}.mat-chip .mat-chip-remove.mat-icon{font-size:18px}.mat-table{font-family:Roboto, "Helvetica Neue", sans-serif}.mat-header-cell{font-size:12px;font-weight:500}.mat-cell{font-size:14px}.mat-calendar{font-family:Roboto, "Helvetica Neue", sans-serif}.mat-calendar-body{font-size:13px}.mat-calendar-body-label,.mat-calendar-period-button{font-size:14px;font-weight:500}.mat-calendar-table-header th{font-size:11px;font-weight:400}.mat-dialog-title{font:500 20px/32px Roboto, "Helvetica Neue", sans-serif}.mat-expansion-panel-header{font-family:Roboto, "Helvetica Neue", sans-serif;font-size:15px;font-weight:400}.mat-expansion-panel-content{font:400 14px/20px Roboto, "Helvetica Neue", sans-serif}.mat-form-field{font-size:inherit;font-weight:400;line-height:1.125;font-family:Roboto, "Helvetica Neue", sans-serif}.mat-form-field-wrapper{padding-bottom:1.25em}.mat-form-field-prefix .mat-icon,.m
 at-form-field-suffix .mat-icon{font-size:150%;line-height:1.125}.mat-form-field-prefix .mat-icon-button,.mat-form-field-suffix .mat-icon-button{height:1.5em;width:1.5em}.mat-form-field-prefix .mat-icon-button .mat-icon,.mat-form-field-suffix .mat-icon-button .mat-icon{height:1.125em;line-height:1.125}.mat-form-field-infix{padding:.4375em 0;border-top:.84375em solid transparent}.mat-form-field-can-float.mat-form-field-should-float .mat-form-field-label,.mat-form-field-can-float .mat-input-server:focus+.mat-form-field-label-wrapper .mat-form-field-label{transform:translateY(-1.28125em) scale(.75) perspective(100px) translateZ(0.001px);-ms-transform:translateY(-1.28125em) scale(.75);width:133.333333333%}.mat-form-field-can-float .mat-form-field-autofill-control:-webkit-autofill+.mat-form-field-label-wrapper .mat-form-field-label{transform:translateY(-1.28125em) scale(.75) perspective(100px) translateZ(0.00101px);-ms-transform:translateY(-1.28124em) scale(.75);width:133.333343333%}.mat-
 form-field-can-float .mat-input-server[label]:not(:label-shown)+.mat-form-field-label-wrapper .mat-form-field-label{transform:translateY(-1.28125em) scale(.75) perspective(100px) translateZ(0.00102px);-ms-transform:translateY(-1.28123em) scale(.75);width:133.333353333%}.mat-form-field-label-wrapper{top:-.84375em;padding-top:.84375em}.mat-form-field-label{top:1.28125em}.mat-form-field-underline{bottom:1.25em}.mat-form-field-subscript-wrapper{font-size:75%;margin-top:.5416666667em;top:calc(100% - 1.6666666667em)}.mat-grid-tile-header,.mat-grid-tile-footer{font-size:14px}.mat-grid-tile-header .mat-line,.mat-grid-tile-footer .mat-line{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;box-sizing:border-box}.mat-grid-tile-header .mat-line:nth-child(n+2),.mat-grid-tile-footer .mat-line:nth-child(n+2){font-size:12px}input.mat-input-element{margin-top:-.0625em}.mat-menu-item{font-family:Roboto, "Helvetica Neue", sans-serif;font-size:16px;font-weight:400}.mat-paginator,.
 mat-paginator-page-size .mat-select-trigger{font-family:Roboto, "Helvetica Neue", sans-serif;font-size:12px}.mat-radio-button{font-family:Roboto, "Helvetica Neue", sans-serif}.mat-select{font-family:Roboto, "Helvetica Neue", sans-serif}.mat-select-trigger{height:1.125em}.mat-slide-toggle-content{font:400 14px/20px Roboto, "Helvetica Neue", sans-serif}.mat-slider-thumb-label-text{font-family:Roboto, "Helvetica Neue", sans-serif;font-size:12px;font-weight:500}.mat-stepper-vertical,.mat-stepper-horizontal{font-family:Roboto, "Helvetica Neue", sans-serif}.mat-step-label{font-size:14px;font-weight:400}.mat-step-label-selected{font-size:14px;font-weight:500}.mat-tab-group{font-family:Roboto, "Helvetica Neue", sans-serif}.mat-tab-label,.mat-tab-link{font-family:Roboto, "Helvetica Neue", sans-serif;font-size:14px;font-weight:500}.mat-toolbar,.mat-toolbar h1,.mat-toolbar h2,.mat-toolbar h3,.mat-toolbar h4,.mat-toolbar h5,.mat-toolbar h6{font:500 20px/32px Roboto, "Helvetica Neue", sans-serif
 ;margin:0}.mat-tooltip{font-family:Roboto, "Helvetica Neue", sans-serif;font-size:10px;padding-top:6px;padding-bottom:6px}.mat-tooltip-handset{font-size:14px;padding-top:9px;padding-bottom:9px}.mat-list-item{font-family:Roboto, "Helvetica Neue", sans-serif}.mat-list-option{font-family:Roboto, "Helvetica Neue", sans-serif}.mat-list .mat-list-item,.mat-nav-list .mat-list-item,.mat-selection-list .mat-list-item{font-size:16px}.mat-list .mat-list-item .mat-line,.mat-nav-list .mat-list-item .mat-line,.mat-selection-list .mat-list-item .mat-line{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;box-sizing:border-box}.mat-list .mat-list-item .mat-line:nth-child(n+2),.mat-nav-list .mat-list-item .mat-line:nth-child(n+2),.mat-selection-list .mat-list-item .mat-line:nth-child(n+2){font-size:14px}.mat-list .mat-list-option,.mat-nav-list .mat-list-option,.mat-selection-list .mat-list-option{font-size:16px}.mat-list .mat-list-option .mat-line,.mat-nav-list .mat-list-option 
 .mat-line,.mat-selection-list .mat-list-option .mat-line{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;box-sizing:border-box}.mat-list .mat-list-option .mat-line:nth-child(n+2),.mat-nav-list .mat-list-option .mat-line:nth-child(n+2),.mat-selection-list .mat-list-option .mat-line:nth-child(n+2){font-size:14px}.mat-list .mat-subheader,.mat-nav-list .mat-subheader,.mat-selection-list .mat-subheader{font-family:Roboto, "Helvetica Neue", sans-serif;font-size:14px;font-weight:500}.mat-list[dense] .mat-list-item,.mat-nav-list[dense] .mat-list-item,.mat-selection-list[dense] .mat-list-item{font-size:12px}.mat-list[dense] .mat-list-item .mat-line,.mat-nav-list[dense] .mat-list-item .mat-line,.mat-selection-list[dense] .mat-list-item .mat-line{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;box-sizing:border-box}.mat-list[dense] .mat-list-item .mat-line:nth-child(n+2),.mat-nav-list[dense] .mat-list-item .mat-line:nth-child(n+2),.mat-selection-
 list[dense] .mat-list-item .mat-line:nth-child(n+2){font-size:12px}.mat-list[dense] .mat-list-option,.mat-nav-list[dense] .mat-list-option,.mat-selection-list[dense] .mat-list-option{font-size:12px}.mat-list[dense] .mat-list-option .mat-line,.mat-nav-list[dense] .mat-list-option .mat-line,.mat-selection-list[dense] .mat-list-option .mat-line{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;box-sizing:border-box}.mat-list[dense] .mat-list-option .mat-line:nth-child(n+2),.mat-nav-list[dense] .mat-list-option .mat-line:nth-child(n+2),.mat-selection-list[dense] .mat-list-option .mat-line:nth-child(n+2){font-size:12px}.mat-list[dense] .mat-subheader,.mat-nav-list[dense] .mat-subheader,.mat-selection-list[dense] .mat-subheader{font-family:Roboto, "Helvetica Neue", sans-serif;font-size:12px;font-weight:500}.mat-option{font-family:Roboto, "Helvetica Neue", sans-serif;font-size:16px}.mat-optgroup-label{font:500 14px/24px Roboto, "Helvetica Neue", sans-serif}.mat-simple
 -snackbar{font-family:Roboto, "Helvetica Neue", sans-serif;font-size:14px}.mat-simple-snackbar-action{line-height:1;font-family:inherit;font-size:inherit;font-weight:500}.mat-ripple{overflow:hidden}@media screen and (-ms-high-contrast: active){.mat-ripple{display:none}}.mat-ripple.mat-ripple-unbounded{overflow:visible}.mat-ripple-element{position:absolute;border-radius:50%;pointer-events:none;transition:opacity,transform 0ms cubic-bezier(0, 0, 0.2, 1);transform:scale(0)}.cdk-visually-hidden{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;outline:0;-webkit-appearance:none;-moz-appearance:none}.cdk-overlay-container,.cdk-global-overlay-wrapper{pointer-events:none;top:0;left:0;height:100%;width:100%}.cdk-overlay-container{position:fixed;z-index:1000}.cdk-global-overlay-wrapper{display:flex;position:absolute;z-index:1000}.cdk-overlay-pane{position:absolute;pointer-events:auto;box-sizing:border-box;z-index:1000}.cdk-overlay-backdro
 p{position:absolute;top:0;bottom:0;left:0;right:0;z-index:1000;pointer-events:auto;-webkit-tap-highlight-color:transparent;transition:opacity 400ms cubic-bezier(0.25, 0.8, 0.25, 1);opacity:0}.cdk-overlay-backdrop.cdk-overlay-backdrop-showing{opacity:1}.cdk-overlay-dark-backdrop{background:rgba(0,0,0,0.288)}.cdk-overlay-transparent-backdrop,.cdk-overlay-transparent-backdrop.cdk-overlay-backdrop-showing{opacity:0}.cdk-global-scrollblock{position:fixed;width:100%;overflow-y:scroll}.mat-ripple-element{background-color:rgba(0,0,0,0.1)}.mat-option{color:rgba(0,0,0,0.87)}.mat-option:hover:not(.mat-option-disabled),.mat-option:focus:not(.mat-option-disabled){background:rgba(0,0,0,0.04)}.mat-primary .mat-option.mat-selected:not(.mat-option-disabled){color:#9e737d}.mat-accent .mat-option.mat-selected:not(.mat-option-disabled){color:#d0dbe0}.mat-warn .mat-option.mat-selected:not(.mat-option-disabled){color:#ef6162}.mat-option.mat-selected:not(.mat-option-multiple):not(.mat-option-disabled){bac
 kground:rgba(0,0,0,0.04)}.mat-option.mat-active{background:rgba(0,0,0,0.04);color:rgba(0,0,0,0.87)}.mat-option.mat-option-disabled{color:rgba(0,0,0,0.38)}.mat-optgroup-label{color:rgba(0,0,0,0.54)}.mat-optgroup-disabled .mat-optgroup-label{color:rgba(0,0,0,0.38)}.mat-pseudo-checkbox{color:rgba(0,0,0,0.54)}.mat-pseudo-checkbox::after{color:#fafafa}.mat-pseudo-checkbox-checked,.mat-pseudo-checkbox-indeterminate,.mat-accent .mat-pseudo-checkbox-checked,.mat-accent .mat-pseudo-checkbox-indeterminate{background:#d0dbe0}.mat-primary .mat-pseudo-checkbox-checked,.mat-primary .mat-pseudo-checkbox-indeterminate{background:#9e737d}.mat-warn .mat-pseudo-checkbox-checked,.mat-warn .mat-pseudo-checkbox-indeterminate{background:#ef6162}.mat-pseudo-checkbox-checked.mat-pseudo-checkbox-disabled,.mat-pseudo-checkbox-indeterminate.mat-pseudo-checkbox-disabled{background:#b0b0b0}.mat-app-background{background-color:#fafafa;color:rgba(0,0,0,0.87)}.mat-theme-loaded-marker{display:none}.mat-autocomplete-
 panel{background:#fff;color:rgba(0,0,0,0.87)}.mat-autocomplete-panel .mat-option.mat-selected:not(.mat-active):not(:hover){background:#fff}.mat-autocomplete-panel .mat-option.mat-selected:not(.mat-active):not(:hover):not(.mat-option-disabled){color:rgba(0,0,0,0.87)}.mat-button,.mat-icon-button,.mat-stroked-button{background:transparent}.mat-button.mat-primary .mat-button-focus-overlay,.mat-icon-button.mat-primary .mat-button-focus-overlay,.mat-stroked-button.mat-primary .mat-button-focus-overlay{background-color:rgba(158,115,125,0.12)}.mat-button.mat-accent .mat-button-focus-overlay,.mat-icon-button.mat-accent .mat-button-focus-overlay,.mat-stroked-button.mat-accent .mat-button-focus-overlay{background-color:rgba(208,219,224,0.12)}.mat-button.mat-warn .mat-button-focus-overlay,.mat-icon-button.mat-warn .mat-button-focus-overlay,.mat-stroked-button.mat-warn .mat-button-focus-overlay{background-color:rgba(239,97,98,0.12)}.mat-button[disabled] .mat-button-focus-overlay,.mat-icon-button
 [disabled] .mat-button-focus-overlay,.mat-stroked-button[disabled] .mat-button-focus-overlay{background-color:transparent}.mat-button.mat-primary,.mat-icon-button.mat-primary,.mat-stroked-button.mat-primary{color:#9e737d}.mat-button.mat-accent,.mat-icon-button.mat-accent,.mat-stroked-button.mat-accent{color:#d0dbe0}.mat-button.mat-warn,.mat-icon-button.mat-warn,.mat-stroked-button.mat-warn{color:#ef6162}.mat-button.mat-primary[disabled],.mat-button.mat-accent[disabled],.mat-button.mat-warn[disabled],.mat-button[disabled][disabled],.mat-icon-button.mat-primary[disabled],.mat-icon-button.mat-accent[disabled],.mat-icon-button.mat-warn[disabled],.mat-icon-button[disabled][disabled],.mat-stroked-button.mat-primary[disabled],.mat-stroked-button.mat-accent[disabled],.mat-stroked-button.mat-warn[disabled],.mat-stroked-button[disabled][disabled]{color:rgba(0,0,0,0.26)}.mat-raised-button,.mat-fab,.mat-mini-fab{color:rgba(0,0,0,0.87);background-color:#fff}.mat-raised-button.mat-primary,.mat-fa
 b.mat-primary,.mat-mini-fab.mat-primary{color:rgba(255,255,255,0.87)}.mat-raised-button.mat-accent,.mat-fab.mat-accent,.mat-mini-fab.mat-accent{color:rgba(255,255,255,0.87)}.mat-raised-button.mat-warn,.mat-fab.mat-warn,.mat-mini-fab.mat-warn{color:rgba(255,255,255,0.87)}.mat-raised-button.mat-primary[disabled],.mat-raised-button.mat-accent[disabled],.mat-raised-button.mat-warn[disabled],.mat-raised-button[disabled][disabled],.mat-fab.mat-primary[disabled],.mat-fab.mat-accent[disabled],.mat-fab.mat-warn[disabled],.mat-fab[disabled][disabled],.mat-mini-fab.mat-primary[disabled],.mat-mini-fab.mat-accent[disabled],.mat-mini-fab.mat-warn[disabled],.mat-mini-fab[disabled][disabled]{color:rgba(0,0,0,0.26)}.mat-raised-button.mat-primary,.mat-fab.mat-primary,.mat-mini-fab.mat-primary{background-color:#9e737d}.mat-raised-button.mat-accent,.mat-fab.mat-accent,.mat-mini-fab.mat-accent{background-color:#d0dbe0}.mat-raised-button.mat-warn,.mat-fab.mat-warn,.mat-mini-fab.mat-warn{background-color:
 #ef6162}.mat-raised-button.mat-primary[disabled],.mat-raised-button.mat-accent[disabled],.mat-raised-button.mat-warn[disabled],.mat-raised-button[disabled][disabled],.mat-fab.mat-primary[disabled],.mat-fab.mat-accent[disabled],.mat-fab.mat-warn[disabled],.mat-fab[disabled][disabled],.mat-mini-fab.mat-primary[disabled],.mat-mini-fab.mat-accent[disabled],.mat-mini-fab.mat-warn[disabled],.mat-mini-fab[disabled][disabled]{background-color:rgba(0,0,0,0.12)}.mat-raised-button.mat-primary .mat-ripple-element,.mat-fab.mat-primary .mat-ripple-element,.mat-mini-fab.mat-primary .mat-ripple-element{background-color:rgba(255,255,255,0.2)}.mat-raised-button.mat-accent .mat-ripple-element,.mat-fab.mat-accent .mat-ripple-element,.mat-mini-fab.mat-accent .mat-ripple-element{background-color:rgba(255,255,255,0.2)}.mat-raised-button.mat-warn .mat-ripple-element,.mat-fab.mat-warn .mat-ripple-element,.mat-mini-fab.mat-warn .mat-ripple-element{background-color:rgba(255,255,255,0.2)}.mat-button.mat-primar
 y .mat-ripple-element{background-color:rgba(158,115,125,0.1)}.mat-button.mat-accent .mat-ripple-element{background-color:rgba(208,219,224,0.1)}.mat-button.mat-warn .mat-ripple-element{background-color:rgba(239,97,98,0.1)}.mat-flat-button{color:rgba(0,0,0,0.87);background-color:#fff}.mat-flat-button.mat-primary{color:rgba(255,255,255,0.87)}.mat-flat-button.mat-accent{color:rgba(255,255,255,0.87)}.mat-flat-button.mat-warn{color:rgba(255,255,255,0.87)}.mat-flat-button.mat-primary[disabled],.mat-flat-button.mat-accent[disabled],.mat-flat-button.mat-warn[disabled],.mat-flat-button[disabled][disabled]{color:rgba(0,0,0,0.26)}.mat-flat-button.mat-primary{background-color:#9e737d}.mat-flat-button.mat-accent{background-color:#d0dbe0}.mat-flat-button.mat-warn{background-color:#ef6162}.mat-flat-button.mat-primary[disabled],.mat-flat-button.mat-accent[disabled],.mat-flat-button.mat-warn[disabled],.mat-flat-button[disabled][disabled]{background-color:rgba(0,0,0,0.12)}.mat-flat-button.mat-primary 
 .mat-ripple-element{background-color:rgba(255,255,255,0.2)}.mat-flat-button.mat-accent .mat-ripple-element{background-color:rgba(255,255,255,0.2)}.mat-flat-button.mat-warn .mat-ripple-element{background-color:rgba(255,255,255,0.2)}.mat-icon-button.mat-primary .mat-ripple-element{background-color:rgba(158,115,125,0.2)}.mat-icon-button.mat-accent .mat-ripple-element{background-color:rgba(208,219,224,0.2)}.mat-icon-button.mat-warn .mat-ripple-element{background-color:rgba(239,97,98,0.2)}.mat-button-toggle{color:rgba(0,0,0,0.38)}.mat-button-toggle.cdk-focused .mat-button-toggle-focus-overlay{background-color:rgba(0,0,0,0.12)}.mat-button-toggle-checked{background-color:#e0e0e0;color:rgba(0,0,0,0.54)}.mat-button-toggle-disabled{background-color:#eee;color:rgba(0,0,0,0.26)}.mat-button-toggle-disabled.mat-button-toggle-checked{background-color:#bdbdbd}.mat-card{background:#fff;color:rgba(0,0,0,0.87)}.mat-card-subtitle{color:rgba(0,0,0,0.54)}.mat-checkbox-frame{border-color:rgba(0,0,0,0.54)}
 .mat-checkbox-checkmark{fill:#fafafa}.mat-checkbox-checkmark-path{stroke:#fafafa !important}.mat-checkbox-mixedmark{background-color:#fafafa}.mat-checkbox-indeterminate.mat-primary .mat-checkbox-background,.mat-checkbox-checked.mat-primary .mat-checkbox-background{background-color:#9e737d}.mat-checkbox-indeterminate.mat-accent .mat-checkbox-background,.mat-checkbox-checked.mat-accent .mat-checkbox-background{background-color:#d0dbe0}.mat-checkbox-indeterminate.mat-warn .mat-checkbox-background,.mat-checkbox-checked.mat-warn .mat-checkbox-background{background-color:#ef6162}.mat-checkbox-disabled.mat-checkbox-checked .mat-checkbox-background,.mat-checkbox-disabled.mat-checkbox-indeterminate .mat-checkbox-background{background-color:#b0b0b0}.mat-checkbox-disabled:not(.mat-checkbox-checked) .mat-checkbox-frame{border-color:#b0b0b0}.mat-checkbox-disabled .mat-checkbox-label{color:#b0b0b0}.mat-checkbox:not(.mat-checkbox-disabled).mat-primary .mat-checkbox-ripple .mat-ripple-element{backg
 round-color:rgba(158,115,125,0.26)}.mat-checkbox:not(.mat-checkbox-disabled).mat-accent .mat-checkbox-ripple .mat-ripple-element{background-color:rgba(208,219,224,0.26)}.mat-checkbox:not(.mat-checkbox-disabled).mat-warn .mat-checkbox-ripple .mat-ripple-element{background-color:rgba(239,97,98,0.26)}.mat-chip:not(.mat-basic-chip){background-color:#e0e0e0;color:rgba(0,0,0,0.87)}.mat-chip:not(.mat-basic-chip) .mat-chip-remove{color:rgba(0,0,0,0.87);opacity:0.4}.mat-chip:not(.mat-basic-chip) .mat-chip-remove:hover{opacity:0.54}.mat-chip.mat-chip-selected.mat-primary{background-color:#9e737d;color:rgba(255,255,255,0.87)}.mat-chip.mat-chip-selected.mat-primary .mat-chip-remove{color:rgba(255,255,255,0.87);opacity:0.4}.mat-chip.mat-chip-selected.mat-primary .mat-chip-remove:hover{opacity:0.54}.mat-chip.mat-chip-selected.mat-warn{background-color:#ef6162;color:rgba(255,255,255,0.87)}.mat-chip.mat-chip-selected.mat-warn .mat-chip-remove{color:rgba(255,255,255,0.87);opacity:0.4}.mat-chip.mat-c
 hip-selected.mat-warn .mat-chip-remove:hover{opacity:0.54}.mat-chip.mat-chip-selected.mat-accent{background-color:#d0dbe0;color:rgba(255,255,255,0.87)}.mat-chip.mat-chip-selected.mat-accent .mat-chip-remove{color:rgba(255,255,255,0.87);opacity:0.4}.mat-chip.mat-chip-selected.mat-accent .mat-chip-remove:hover{opacity:0.54}.mat-table{background:#fff}.mat-row,.mat-header-row{border-bottom-color:rgba(0,0,0,0.12)}.mat-header-cell{color:rgba(0,0,0,0.54)}.mat-cell{color:rgba(0,0,0,0.87)}.mat-datepicker-content{background-color:#fff;color:rgba(0,0,0,0.87)}.mat-calendar-arrow{border-top-color:rgba(0,0,0,0.54)}.mat-calendar-next-button,.mat-calendar-previous-button{color:rgba(0,0,0,0.54)}.mat-calendar-table-header{color:rgba(0,0,0,0.38)}.mat-calendar-table-header-divider::after{background:rgba(0,0,0,0.12)}.mat-calendar-body-label{color:rgba(0,0,0,0.54)}.mat-calendar-body-cell-content{color:rgba(0,0,0,0.87);border-color:transparent}.mat-calendar-body-disabled>.mat-calendar-body-cell-content:no
 t(.mat-calendar-body-selected){color:rgba(0,0,0,0.38)}:not(.mat-calendar-body-disabled):hover>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected),.cdk-keyboard-focused .mat-calendar-body-active>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected),.cdk-program-focused .mat-calendar-body-active>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected){background-color:rgba(0,0,0,0.04)}.mat-calendar-body-selected{background-color:#9e737d;color:rgba(255,255,255,0.87)}.mat-calendar-body-disabled>.mat-calendar-body-selected{background-color:rgba(158,115,125,0.4)}.mat-calendar-body-today:not(.mat-calendar-body-selected){border-color:rgba(0,0,0,0.38)}.mat-calendar-body-today.mat-calendar-body-selected{box-shadow:inset 0 0 0 1px rgba(255,255,255,0.87)}.mat-calendar-body-disabled>.mat-calendar-body-today:not(.mat-calendar-body-selected){border-color:rgba(0,0,0,0.18)}.mat-datepicker-toggle-active{color:#9e737d}.mat-dialog-container{background:#fff;color:rgba(0,0
 ,0,0.87)}.mat-divider{border-top-color:rgba(0,0,0,0.12)}.mat-divider-vertical{border-right-color:rgba(0,0,0,0.12)}.mat-expansion-panel{background:#fff;color:rgba(0,0,0,0.87)}.mat-action-row{border-top-color:rgba(0,0,0,0.12)}.mat-expansion-panel:not(.mat-expanded) .mat-expansion-panel-header:not([aria-disabled='true']).cdk-keyboard-focused,.mat-expansion-panel:not(.mat-expanded) .mat-expansion-panel-header:not([aria-disabled='true']).cdk-program-focused,.mat-expansion-panel:not(.mat-expanded) .mat-expansion-panel-header:not([aria-disabled='true']):hover{background:rgba(0,0,0,0.04)}.mat-expansion-panel-header-title{color:rgba(0,0,0,0.87)}.mat-expansion-panel-header-description,.mat-expansion-indicator::after{color:rgba(0,0,0,0.54)}.mat-expansion-panel-header[aria-disabled='true']{color:rgba(0,0,0,0.26)}.mat-expansion-panel-header[aria-disabled='true'] .mat-expansion-panel-header-title,.mat-expansion-panel-header[aria-disabled='true'] .mat-expansion-panel-header-description{color:inher
 it}.mat-form-field-label{color:rgba(0,0,0,0.54)}.mat-hint{color:rgba(0,0,0,0.54)}.mat-focused .mat-form-field-label{color:#9e737d}.mat-focused .mat-form-field-label.mat-accent{color:#d0dbe0}.mat-focused .mat-form-field-label.mat-warn{color:#ef6162}.mat-focused .mat-form-field-required-marker{color:#d0dbe0}.mat-form-field-underline{background-color:rgba(0,0,0,0.42)}.mat-form-field-disabled .mat-form-field-underline{background-image:linear-gradient(to right, rgba(0,0,0,0.42) 0%, rgba(0,0,0,0.42) 33%, transparent 0%);background-size:4px 1px;background-repeat:repeat-x}.mat-form-field-ripple{background-color:#9e737d}.mat-form-field-ripple.mat-accent{background-color:#d0dbe0}.mat-form-field-ripple.mat-warn{background-color:#ef6162}.mat-form-field-invalid .mat-form-field-label{color:#ef6162}.mat-form-field-invalid .mat-form-field-label.mat-accent,.mat-form-field-invalid .mat-form-field-label .mat-form-field-required-marker{color:#ef6162}.mat-form-field-invalid .mat-form-field-ripple{backgr
 ound-color:#ef6162}.mat-error{color:#ef6162}.mat-icon.mat-primary{color:#9e737d}.mat-icon.mat-accent{color:#d0dbe0}.mat-icon.mat-warn{color:#ef6162}.mat-input-element:disabled{color:rgba(0,0,0,0.38)}.mat-input-element{caret-color:#9e737d}.mat-input-element::placeholder{color:rgba(0,0,0,0.42)}.mat-input-element::-moz-placeholder{color:rgba(0,0,0,0.42)}.mat-input-element::-webkit-input-placeholder{color:rgba(0,0,0,0.42)}.mat-input-element:-ms-input-placeholder{color:rgba(0,0,0,0.42)}.mat-accent .mat-input-element{caret-color:#d0dbe0}.mat-warn .mat-input-element,.mat-form-field-invalid .mat-input-element{caret-color:#ef6162}.mat-list .mat-list-item,.mat-nav-list .mat-list-item,.mat-selection-list .mat-list-item{color:rgba(0,0,0,0.87)}.mat-list .mat-list-option,.mat-nav-list .mat-list-option,.mat-selection-list .mat-list-option{color:rgba(0,0,0,0.87)}.mat-list .mat-subheader,.mat-nav-list .mat-subheader,.mat-selection-list .mat-subheader{color:rgba(0,0,0,0.54)}.mat-list-item-disabled{ba
 ckground-color:#eee}.mat-nav-list .mat-list-item{outline:none}.mat-nav-list .mat-list-item:hover,.mat-nav-list .mat-list-item.mat-list-item-focus{background:rgba(0,0,0,0.04)}.mat-list-option{outline:none}.mat-list-option:hover,.mat-list-option.mat-list-item-focus{background:rgba(0,0,0,0.04)}.mat-menu-panel{background:#fff}.mat-menu-item{background:transparent;color:rgba(0,0,0,0.87)}.mat-menu-item[disabled]{color:rgba(0,0,0,0.38)}.mat-menu-item .mat-icon:not([color]),.mat-menu-item-submenu-trigger::after{color:rgba(0,0,0,0.54)}.mat-menu-item:hover:not([disabled]),.mat-menu-item.cdk-program-focused:not([disabled]),.mat-menu-item.cdk-keyboard-focused:not([disabled]),.mat-menu-item-highlighted:not([disabled]){background:rgba(0,0,0,0.04)}.mat-paginator{background:#fff}.mat-paginator,.mat-paginator-page-size .mat-select-trigger{color:rgba(0,0,0,0.54)}.mat-paginator-decrement,.mat-paginator-increment{border-top:2px solid rgba(0,0,0,0.54);border-right:2px solid rgba(0,0,0,0.54)}.mat-paginat
 or-first,.mat-paginator-last{border-top:2px solid rgba(0,0,0,0.54)}.mat-icon-button[disabled] .mat-paginator-decrement,.mat-icon-button[disabled] .mat-paginator-increment,.mat-icon-button[disabled] .mat-paginator-first,.mat-icon-button[disabled] .mat-paginator-last{border-color:rgba(0,0,0,0.38)}.mat-progress-bar-background{fill:#915d69}.mat-progress-bar-buffer{background-color:#915d69}.mat-progress-bar-fill::after{background-color:#9e737d}.mat-progress-bar.mat-accent .mat-progress-bar-background{fill:#ccc}.mat-progress-bar.mat-accent .mat-progress-bar-buffer{background-color:#ccc}.mat-progress-bar.mat-accent .mat-progress-bar-fill::after{background-color:#d0dbe0}.mat-progress-bar.mat-warn .mat-progress-bar-background{fill:#d14a50}.mat-progress-bar.mat-warn .mat-progress-bar-buffer{background-color:#d14a50}.mat-progress-bar.mat-warn .mat-progress-bar-fill::after{background-color:#ef6162}.mat-progress-spinner circle,.mat-spinner circle{stroke:#9e737d}.mat-progress-spinner.mat-accent c
 ircle,.mat-spinner.mat-accent circle{stroke:#d0dbe0}.mat-progress-spinner.mat-warn circle,.mat-spinner.mat-warn circle{stroke:#ef6162}.mat-radio-outer-circle{border-color:rgba(0,0,0,0.54)}.mat-radio-disabled .mat-radio-outer-circle{border-color:rgba(0,0,0,0.38)}.mat-radio-disabled .mat-radio-ripple .mat-ripple-element,.mat-radio-disabled .mat-radio-inner-circle{background-color:rgba(0,0,0,0.38)}.mat-radio-disabled .mat-radio-label-content{color:rgba(0,0,0,0.38)}.mat-radio-button.mat-primary.mat-radio-checked .mat-radio-outer-circle{border-color:#9e737d}.mat-radio-button.mat-primary .mat-radio-inner-circle{background-color:#9e737d}.mat-radio-button.mat-primary .mat-radio-ripple .mat-ripple-element{background-color:rgba(158,115,125,0.26)}.mat-radio-button.mat-accent.mat-radio-checked .mat-radio-outer-circle{border-color:#d0dbe0}.mat-radio-button.mat-accent .mat-radio-inner-circle{background-color:#d0dbe0}.mat-radio-button.mat-accent .mat-radio-ripple .mat-ripple-element{background-col
 or:rgba(208,219,224,0.26)}.mat-radio-button.mat-warn.mat-radio-checked .mat-radio-outer-circle{border-color:#ef6162}.mat-radio-button.mat-warn .mat-radio-inner-circle{background-color:#ef6162}.mat-radio-button.mat-warn .mat-radio-ripple .mat-ripple-element{background-color:rgba(239,97,98,0.26)}.mat-select-content,.mat-select-panel-done-animating{background:#fff}.mat-select-value{color:rgba(0,0,0,0.87)}.mat-select-placeholder{color:rgba(0,0,0,0.42)}.mat-select-disabled .mat-select-value{color:rgba(0,0,0,0.38)}.mat-select-arrow{color:rgba(0,0,0,0.54)}.mat-select-panel .mat-option.mat-selected:not(.mat-option-multiple){background:rgba(0,0,0,0.12)}.mat-form-field.mat-focused.mat-primary .mat-select-arrow{color:#9e737d}.mat-form-field.mat-focused.mat-accent .mat-select-arrow{color:#d0dbe0}.mat-form-field.mat-focused.mat-warn .mat-select-arrow{color:#ef6162}.mat-form-field .mat-select.mat-select-invalid .mat-select-arrow{color:#ef6162}.mat-form-field .mat-select.mat-select-disabled .mat-s
 elect-arrow{color:rgba(0,0,0,0.38)}.mat-drawer-container{background-color:#fafafa;color:rgba(0,0,0,0.87)}.mat-drawer{background-color:#fff;color:rgba(0,0,0,0.87)}.mat-drawer.mat-drawer-push{background-color:#fff}.mat-drawer-backdrop.mat-drawer-shown{background-color:rgba(0,0,0,0.6)}.mat-slide-toggle.mat-checked:not(.mat-disabled) .mat-slide-toggle-thumb{background-color:#d0dbe0}.mat-slide-toggle.mat-checked:not(.mat-disabled) .mat-slide-toggle-bar{background-color:rgba(208,219,224,0.5)}.mat-slide-toggle:not(.mat-checked) .mat-ripple-element{background-color:rgba(0,0,0,0.06)}.mat-slide-toggle .mat-ripple-element{background-color:rgba(208,219,224,0.12)}.mat-slide-toggle.mat-primary.mat-checked:not(.mat-disabled) .mat-slide-toggle-thumb{background-color:#9e737d}.mat-slide-toggle.mat-primary.mat-checked:not(.mat-disabled) .mat-slide-toggle-bar{background-color:rgba(158,115,125,0.5)}.mat-slide-toggle.mat-primary:not(.mat-checked) .mat-ripple-element{background-color:rgba(0,0,0,0.06)}.mat
 -slide-toggle.mat-primary .mat-ripple-element{background-color:rgba(158,115,125,0.12)}.mat-slide-toggle.mat-warn.mat-checked:not(.mat-disabled) .mat-slide-toggle-thumb{background-color:#ef6162}.mat-slide-toggle.mat-warn.mat-checked:not(.mat-disabled) .mat-slide-toggle-bar{background-color:rgba(239,97,98,0.5)}.mat-slide-toggle.mat-warn:not(.mat-checked) .mat-ripple-element{background-color:rgba(0,0,0,0.06)}.mat-slide-toggle.mat-warn .mat-ripple-element{background-color:rgba(239,97,98,0.12)}.mat-disabled .mat-slide-toggle-thumb{background-color:#bdbdbd}.mat-disabled .mat-slide-toggle-bar{background-color:rgba(0,0,0,0.1)}.mat-slide-toggle-thumb{background-color:#fafafa}.mat-slide-toggle-bar{background-color:rgba(0,0,0,0.38)}.mat-slider-track-background{background-color:rgba(0,0,0,0.26)}.mat-primary .mat-slider-track-fill,.mat-primary .mat-slider-thumb,.mat-primary .mat-slider-thumb-label{background-color:#9e737d}.mat-primary .mat-slider-thumb-label-text{color:rgba(255,255,255,0.87)}.ma
 t-accent .mat-slider-track-fill,.mat-accent .mat-slider-thumb,.mat-accent .mat-slider-thumb-label{background-color:#d0dbe0}.mat-accent .mat-slider-thumb-label-text{color:rgba(255,255,255,0.87)}.mat-warn .mat-slider-track-fill,.mat-warn .mat-slider-thumb,.mat-warn .mat-slider-thumb-label{background-color:#ef6162}.mat-warn .mat-slider-thumb-label-text{color:rgba(255,255,255,0.87)}.mat-slider-focus-ring{background-color:rgba(208,219,224,0.2)}.mat-slider:hover .mat-slider-track-background,.cdk-focused .mat-slider-track-background{background-color:rgba(0,0,0,0.38)}.mat-slider-disabled .mat-slider-track-background,.mat-slider-disabled .mat-slider-track-fill,.mat-slider-disabled .mat-slider-thumb{background-color:rgba(0,0,0,0.26)}.mat-slider-disabled:hover .mat-slider-track-background{background-color:rgba(0,0,0,0.26)}.mat-slider-min-value .mat-slider-focus-ring{background-color:rgba(0,0,0,0.12)}.mat-slider-min-value.mat-slider-thumb-label-showing .mat-slider-thumb,.mat-slider-min-value.ma
 t-slider-thumb-label-showing .mat-slider-thumb-label{background-color:rgba(0,0,0,0.87)}.mat-slider-min-value.mat-slider-thumb-label-showing.cdk-focused .mat-slider-thumb,.mat-slider-min-value.mat-slider-thumb-label-showing.cdk-focused .mat-slider-thumb-label{background-color:rgba(0,0,0,0.26)}.mat-slider-min-value:not(.mat-slider-thumb-label-showing) .mat-slider-thumb{border-color:rgba(0,0,0,0.26);background-color:transparent}.mat-slider-min-value:not(.mat-slider-thumb-label-showing):hover .mat-slider-thumb,.mat-slider-min-value:not(.mat-slider-thumb-label-showing).cdk-focused .mat-slider-thumb{border-color:rgba(0,0,0,0.38)}.mat-slider-min-value:not(.mat-slider-thumb-label-showing):hover.mat-slider-disabled .mat-slider-thumb,.mat-slider-min-value:not(.mat-slider-thumb-label-showing).cdk-focused.mat-slider-disabled .mat-slider-thumb{border-color:rgba(0,0,0,0.26)}.mat-slider-has-ticks .mat-slider-wrapper::after{border-color:rgba(0,0,0,0.7)}.mat-slider-horizontal .mat-slider-ticks{backg
 round-image:repeating-linear-gradient(to right, rgba(0,0,0,0.7), rgba(0,0,0,0.7) 2px, transparent 0, transparent);background-image:-moz-repeating-linear-gradient(0.0001deg, rgba(0,0,0,0.7), rgba(0,0,0,0.7) 2px, transparent 0, transparent)}.mat-slider-vertical .mat-slider-ticks{background-image:repeating-linear-gradient(to bottom, rgba(0,0,0,0.7), rgba(0,0,0,0.7) 2px, transparent 0, transparent)}.mat-step-header.cdk-keyboard-focused,.mat-step-header.cdk-program-focused,.mat-step-header:hover{background-color:rgba(0,0,0,0.04)}.mat-step-header .mat-step-label,.mat-step-header .mat-step-optional{color:rgba(0,0,0,0.38)}.mat-step-header .mat-step-icon{background-color:#9e737d;color:rgba(255,255,255,0.87)}.mat-step-header .mat-step-icon-not-touched{background-color:rgba(0,0,0,0.38);color:rgba(255,255,255,0.87)}.mat-step-header .mat-step-label.mat-step-label-active{color:rgba(0,0,0,0.87)}.mat-stepper-horizontal,.mat-stepper-vertical{background-color:#fff}.mat-stepper-vertical-line::before{b
 order-left-color:rgba(0,0,0,0.12)}.mat-stepper-horizontal-line{border-top-color:rgba(0,0,0,0.12)}.mat-tab-nav-bar,.mat-tab-header{border-bottom:1px solid rgba(0,0,0,0.12)}.mat-tab-group-inverted-header .mat-tab-nav-bar,.mat-tab-group-inverted-header .mat-tab-header{border-top:1px solid rgba(0,0,0,0.12);border-bottom:none}.mat-tab-label,.mat-tab-link{color:rgba(0,0,0,0.87)}.mat-tab-label.mat-tab-disabled,.mat-tab-link.mat-tab-disabled{color:rgba(0,0,0,0.38)}.mat-tab-header-pagination-chevron{border-color:rgba(0,0,0,0.87)}.mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron{border-color:rgba(0,0,0,0.38)}.mat-tab-group[class*='mat-background-'] .mat-tab-header,.mat-tab-nav-bar[class*='mat-background-']{border-bottom:none;border-top:none}.mat-tab-group.mat-primary .mat-tab-label:not(.mat-tab-disabled):focus,.mat-tab-group.mat-primary .mat-tab-link:not(.mat-tab-disabled):focus,.mat-tab-nav-bar.mat-primary .mat-tab-label:not(.mat-tab-disabled):focus,.mat-tab-nav-bar.mat-
 primary .mat-tab-link:not(.mat-tab-disabled):focus{background-color:rgba(145,93,105,0.3)}.mat-tab-group.mat-primary .mat-ink-bar,.mat-tab-nav-bar.mat-primary .mat-ink-bar{background-color:#9e737d}.mat-tab-group.mat-primary.mat-background-primary .mat-ink-bar,.mat-tab-nav-bar.mat-primary.mat-background-primary .mat-ink-bar{background-color:rgba(255,255,255,0.87)}.mat-tab-group.mat-accent .mat-tab-label:not(.mat-tab-disabled):focus,.mat-tab-group.mat-accent .mat-tab-link:not(.mat-tab-disabled):focus,.mat-tab-nav-bar.mat-accent .mat-tab-label:not(.mat-tab-disabled):focus,.mat-tab-nav-bar.mat-accent .mat-tab-link:not(.mat-tab-disabled):focus{background-color:rgba(204,204,204,0.3)}.mat-tab-group.mat-accent .mat-ink-bar,.mat-tab-nav-bar.mat-accent .mat-ink-bar{background-color:#d0dbe0}.mat-tab-group.mat-accent.mat-background-accent .mat-ink-bar,.mat-tab-nav-bar.mat-accent.mat-background-accent .mat-ink-bar{background-color:rgba(255,255,255,0.87)}.mat-tab-group.mat-warn .mat-tab-label:not(
 .mat-tab-disabled):focus,.mat-tab-group.mat-warn .mat-tab-link:not(.mat-tab-disabled):focus,.mat-tab-nav-bar.mat-warn .mat-tab-label:not(.mat-tab-disabled):focus,.mat-tab-nav-bar.mat-warn .mat-tab-link:not(.mat-tab-disabled):focus{background-color:rgba(209,74,80,0.3)}.mat-tab-group.mat-warn .mat-ink-bar,.mat-tab-nav-bar.mat-warn .mat-ink-bar{background-color:#ef6162}.mat-tab-group.mat-warn.mat-background-warn .mat-ink-bar,.mat-tab-nav-bar.mat-warn.mat-background-warn .mat-ink-bar{background-color:rgba(255,255,255,0.87)}.mat-tab-group.mat-background-primary .mat-tab-label:not(.mat-tab-disabled):focus,.mat-tab-group.mat-background-primary .mat-tab-link:not(.mat-tab-disabled):focus,.mat-tab-nav-bar.mat-background-primary .mat-tab-label:not(.mat-tab-disabled):focus,.mat-tab-nav-bar.mat-background-primary .mat-tab-link:not(.mat-tab-disabled):focus{background-color:rgba(145,93,105,0.3)}.mat-tab-group.mat-background-primary .mat-tab-header,.mat-tab-group.mat-background-primary .mat-tab-lin
 ks,.mat-tab-nav-bar.mat-background-primary .mat-tab-header,.mat-tab-nav-bar.mat-background-primary .mat-tab-links{background-color:#9e737d}.mat-tab-group.mat-background-primary .mat-tab-label,.mat-tab-group.mat-background-primary .mat-tab-link,.mat-tab-nav-bar.mat-background-primary .mat-tab-label,.mat-tab-nav-bar.mat-background-primary .mat-tab-link{color:rgba(255,255,255,0.87)}.mat-tab-group.mat-background-primary .mat-tab-label.mat-tab-disabled,.mat-tab-group.mat-background-primary .mat-tab-link.mat-tab-disabled,.mat-tab-nav-bar.mat-background-primary .mat-tab-label.mat-tab-disabled,.mat-tab-nav-bar.mat-background-primary .mat-tab-link.mat-tab-disabled{color:rgba(255,255,255,0.4)}.mat-tab-group.mat-background-primary .mat-tab-header-pagination-chevron,.mat-tab-nav-bar.mat-background-primary .mat-tab-header-pagination-chevron{border-color:rgba(255,255,255,0.87)}.mat-tab-group.mat-background-primary .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.mat-tab-nav
 -bar.mat-background-primary .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron{border-color:rgba(255,255,255,0.4)}.mat-tab-group.mat-background-primary .mat-ripple-element,.mat-tab-nav-bar.mat-background-primary .mat-ripple-element{background-color:rgba(255,255,255,0.12)}.mat-tab-group.mat-background-accent .mat-tab-label:not(.mat-tab-disabled):focus,.mat-tab-group.mat-background-accent .mat-tab-link:not(.mat-tab-disabled):focus,.mat-tab-nav-bar.mat-background-accent .mat-tab-label:not(.mat-tab-disabled):focus,.mat-tab-nav-bar.mat-background-accent .mat-tab-link:not(.mat-tab-disabled):focus{background-color:rgba(204,204,204,0.3)}.mat-tab-group.mat-background-accent .mat-tab-header,.mat-tab-group.mat-background-accent .mat-tab-links,.mat-tab-nav-bar.mat-background-accent .mat-tab-header,.mat-tab-nav-bar.mat-background-accent .mat-tab-links{background-color:#d0dbe0}.mat-tab-group.mat-background-accent .mat-tab-label,.mat-tab-group.mat-background-accent .mat-tab-lin
 k,.mat-tab-nav-bar.mat-background-accent .mat-tab-label,.mat-tab-nav-bar.mat-background-accent .mat-tab-link{color:rgba(255,255,255,0.87)}.mat-tab-group.mat-background-accent .mat-tab-label.mat-tab-disabled,.mat-tab-group.mat-background-accent .mat-tab-link.mat-tab-disabled,.mat-tab-nav-bar.mat-background-accent .mat-tab-label.mat-tab-disabled,.mat-tab-nav-bar.mat-background-accent .mat-tab-link.mat-tab-disabled{color:rgba(255,255,255,0.4)}.mat-tab-group.mat-background-accent .mat-tab-header-pagination-chevron,.mat-tab-nav-bar.mat-background-accent .mat-tab-header-pagination-chevron{border-color:rgba(255,255,255,0.87)}.mat-tab-group.mat-background-accent .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.mat-tab-nav-bar.mat-background-accent .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron{border-color:rgba(255,255,255,0.4)}.mat-tab-group.mat-background-accent .mat-ripple-element,.mat-tab-nav-bar.mat-background-accent .mat-ripple-element{ba
 ckground-color:rgba(255,255,255,0.12)}.mat-tab-group.mat-background-warn .mat-tab-label:not(.mat-tab-disabled):focus,.mat-tab-group.mat-background-warn .mat-tab-link:not(.mat-tab-disabled):focus,.mat-tab-nav-bar.mat-background-warn .mat-tab-label:not(.mat-tab-disabled):focus,.mat-tab-nav-bar.mat-background-warn .mat-tab-link:not(.mat-tab-disabled):focus{background-color:rgba(209,74,80,0.3)}.mat-tab-group.mat-background-warn .mat-tab-header,.mat-tab-group.mat-background-warn .mat-tab-links,.mat-tab-nav-bar.mat-background-warn .mat-tab-header,.mat-tab-nav-bar.mat-background-warn .mat-tab-links{background-color:#ef6162}.mat-tab-group.mat-background-warn .mat-tab-label,.mat-tab-group.mat-background-warn .mat-tab-link,.mat-tab-nav-bar.mat-background-warn .mat-tab-label,.mat-tab-nav-bar.mat-background-warn .mat-tab-link{color:rgba(255,255,255,0.87)}.mat-tab-group.mat-background-warn .mat-tab-label.mat-tab-disabled,.mat-tab-group.mat-background-warn .mat-tab-link.mat-tab-disabled,.mat-tab-
 nav-bar.mat-background-warn .mat-tab-label.mat-tab-disabled,.mat-tab-nav-bar.mat-background-warn .mat-tab-link.mat-tab-disabled{color:rgba(255,255,255,0.4)}.mat-tab-group.mat-background-warn .mat-tab-header-pagination-chevron,.mat-tab-nav-bar.mat-background-warn .mat-tab-header-pagination-chevron{border-color:rgba(255,255,255,0.87)}.mat-tab-group.mat-background-warn .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron,.mat-tab-nav-bar.mat-background-warn .mat-tab-header-pagination-disabled .mat-tab-header-pagination-chevron{border-color:rgba(255,255,255,0.4)}.mat-tab-group.mat-background-warn .mat-ripple-element,.mat-tab-nav-bar.mat-background-warn .mat-ripple-element{background-color:rgba(255,255,255,0.12)}.mat-toolbar{background:#f5f5f5;color:rgba(0,0,0,0.87)}.mat-toolbar.mat-primary{background:#9e737d;color:rgba(255,255,255,0.87)}.mat-toolbar.mat-accent{background:#d0dbe0;color:rgba(255,255,255,0.87)}.mat-toolbar.mat-warn{background:#ef6162;color:rgba(255,255,25
 5,0.87)}.mat-tooltip{background:rgba(97,97,97,0.9)}.mat-snack-bar-container{background:#323232;color:#fff}.mat-simple-snackbar-action{color:#d0dbe0}body{font-family:Roboto, "Helvetica Neue", sans-serif}.td-chip-content{font-family:Roboto, "Helvetica Neue", sans-serif;font-size:12px}.td-data-table-cell{font-family:Roboto, "Helvetica Neue", sans-serif;font-size:14px;font-weight:400;line-height:20px}.td-data-table-column{font-family:Roboto, "Helvetica Neue", sans-serif;font-size:12px;font-weight:600}.td-dialog-title{font-family:Roboto, "Helvetica Neue", sans-serif;font-size:20px;font-weight:500}.td-dialog-message{font-family:Roboto, "Helvetica Neue", sans-serif;font-size:16px;font-weight:400;line-height:28px}.td-expansion-label{font-family:Roboto, "Helvetica Neue", sans-serif;font-size:16px;font-weight:400}.td-expansion-sublabel{font-family:Roboto, "Helvetica Neue", sans-serif;font-size:14px;font-weight:400}.td-key{font-family:Roboto, "Helvetica Neue", sans-serif;font-size:14px}.td-mes
 sage-label{font-family:Roboto, "Helvetica Neue", sans-serif;font-size:14px;font-weight:600;line-height:24px}.td-message-sublabel{font-family:Roboto, "Helvetica Neue", sans-serif;font-size:14px}.td-paging-bar{font-family:Roboto, "Helvetica Neue", sans-serif;font-size:12px}.td-step-label{font-family:Roboto, "Helvetica Neue", sans-serif;font-size:14px;font-weight:500}.td-step-sublabel{font-family:Roboto, "Helvetica Neue", sans-serif;font-size:14px;line-height:20px}td-navigation-drawer .td-navigation-drawer-title{font-family:Roboto, "Helvetica Neue", sans-serif;font-size:16px}td-navigation-drawer .td-navigation-drawer-name{font-family:Roboto, "Helvetica Neue", sans-serif;font-size:14px;font-weight:500;line-height:20px}td-navigation-drawer .td-navigation-drawer-menu-toggle{font-family:Roboto, "Helvetica Neue", sans-serif;font-size:14px;font-weight:400;line-height:24px}mat-list-item mat-icon,.mat-list-item-content mat-icon{color:rgba(0,0,0,0.54)}mat-list-item mat-icon[matListAvatar],.mat-
 list-item-content mat-icon[matListAvatar]{background-color:rgba(0,0,0,0.04)}.mat-list-text p{color:rgba(0,0,0,0.38)}.mat-drawer-container{background-color:#e0e0e0}[mat-icon-button].td-layout-menu-button{margin-left:0}::ng-deep [dir='rtl'] [mat-icon-button].td-layout-menu-button{margin-right:0;margin-left:6px}td-layout-nav mat-toolbar,td-layout-nav-list mat-toolbar,td-layout-manage-list mat-toolbar,td-layout-card-over mat-toolbar,td-navigation-drawer mat-toolbar,td-layout mat-toolbar{box-shadow:0px 2px 1px -1px rgba(0,0,0,0.2),0px 1px 1px 0px rgba(0,0,0,0.14),0px 1px 3px 0px rgba(0,0,0,0.12);z-index:1}.mat-drawer-side.td-layout-sidenav{box-shadow:0px 3px 1px -2px rgba(0,0,0,0.2),0px 2px 2px 0px rgba(0,0,0,0.14),0px 1px 5px 0px rgba(0,0,0,0.12)}.td-layout-footer{background:#f5f5f5;color:rgba(0,0,0,0.87);box-shadow:0px 3px 1px -2px rgba(0,0,0,0.2),0px 2px 2px 0px rgba(0,0,0,0.14),0px 1px 5px 0px rgba(0,0,0,0.12)}.td-layout-footer.mat-primary{background:#9e737d}.td-layout-footer.mat-pri
 mary,.td-layout-footer.mat-primary mat-icon{color:rgba(255,255,255,0.87)}.td-layout-footer.mat-accent{background:#d0dbe0}.td-layout-footer.mat-accent,.td-layout-footer.mat-accent mat-icon{color:rgba(255,255,255,0.87)}.td-layout-footer.mat-warn{background:#ef6162}.td-layout-footer.mat-warn,.td-layout-footer.mat-warn mat-icon{color:rgba(255,255,255,0.87)}td-steps .td-steps-header{box-shadow:0px 2px 1px -1px rgba(0,0,0,0.2),0px 1px 1px 0px rgba(0,0,0,0.14),0px 1px 3px 0px rgba(0,0,0,0.12)}td-steps .td-step-content,td-steps .td-step-summary,td-steps .td-step-actions{margin:16px}td-steps .td-horizontal-line{border-bottom-color:rgba(0,0,0,0.12)}td-steps .td-vertical-line{border-left-color:rgba(0,0,0,0.12)}td-steps .td-step-header:focus:not(.mat-disabled),td-steps .td-step-header:hover:not(.mat-disabled){background:rgba(0,0,0,0.04)}td-steps .td-step-header .td-step-label-wrapper .td-step-sublabel{color:rgba(0,0,0,0.54)}td-steps .td-step-header .td-step-label-wrapper.mat-inactive,td-steps .
 td-step-header .td-step-label-wrapper.mat-inactive *{color:rgba(0,0,0,0.38)}td-steps .td-step-header .td-step-label-wrapper.mat-warn,td-steps .td-step-header .td-step-label-wrapper.mat-warn *{color:#ef6162}td-steps .td-step-header .mat-complete{color:#d0dbe0}td-steps .td-circle{color:#fff}td-steps .td-circle.mat-active{background-color:#d0dbe0}td-steps .td-circle.mat-inactive{background-color:rgba(0,0,0,0.38)}td-steps .td-circle mat-icon{fill:rgba(0,0,0,0.87)}td-steps .td-triangle{color:#ef6162}td-steps .td-edit-icon{color:rgba(0,0,0,0.54)}.td-expansion-panel-group .td-expansion-panel{transition:120ms ease-in}.td-expansion-panel-group .td-expansion-panel:not(:last-of-type).td-expanded{margin-bottom:16px}.td-expansion-panel-group .td-expansion-panel:not(:first-of-type).td-expanded{margin-top:16px}.td-expansion-panel{box-shadow:0px 2px 1px -1px rgba(0,0,0,0.2),0px 1px 1px 0px rgba(0,0,0,0.14),0px 1px 3px 0px rgba(0,0,0,0.12);background-color:#fff}.td-expansion-panel .td-expansion-pane
 l-header:focus:not(.mat-disabled),.td-expansion-panel .td-expansion-panel-header:hover:not(.mat-disabled){background:rgba(0,0,0,0.04)}.td-expansion-panel .td-expansion-panel-header .td-expansion-panel-header-content mat-icon.td-expand-icon{color:rgba(0,0,0,0.54)}.td-expansion-panel .td-expansion-panel-header .td-expansion-panel-header-content.mat-disabled,.td-expansion-panel .td-expansion-panel-header .td-expansion-panel-header-content.mat-disabled *{color:rgba(0,0,0,0.38)}.td-expansion-panel mat-icon.td-expand-icon{color:rgba(0,0,0,0.54)}.td-expansion-panel .td-expansion-label,.td-expansion-panel .td-expansion-label *,.td-expansion-panel .td-expansion-sublabel,.td-expansion-panel .td-expansion-sublabel *{vertical-align:middle}.td-expansion-panel .td-expansion-sublabel{color:rgba(0,0,0,0.54)}td-chips .mat-basic-chip{background:#e0e0e0;color:rgba(0,0,0,0.87)}td-chips .mat-basic-chip:focus:not(.td-chip-disabled) mat-icon:hover{color:rgba(0,0,0,0.54)}td-chips .mat-basic-chip:focus:not(
 .td-chip-disabled).mat-primary{background:#9e737d}td-chips .mat-basic-chip:focus:not(.td-chip-disabled).mat-primary,td-chips .mat-basic-chip:focus:not(.td-chip-disabled).mat-primary mat-icon{color:rgba(255,255,255,0.87)}td-chips .mat-basic-chip:focus:not(.td-chip-disabled).mat-accent{background:#d0dbe0}td-chips .mat-basic-chip:focus:not(.td-chip-disabled).mat-accent,td-chips .mat-basic-chip:focus:not(.td-chip-disabled).mat-accent mat-icon{color:rgba(255,255,255,0.87)}td-chips .mat-basic-chip:focus:not(.td-chip-disabled).mat-warn{background:#ef6162}td-chips .mat-basic-chip:focus:not(.td-chip-disabled).mat-warn,td-chips .mat-basic-chip:focus:not(.td-chip-disabled).mat-warn mat-icon{color:rgba(255,255,255,0.87)}td-chips .mat-basic-chip mat-icon.td-chip-removal{color:rgba(0,0,0,0.38)}td-chips .mat-basic-chip mat-icon.td-chip-removal:hover{color:rgba(0,0,0,0.54)}td-chips.mat-primary .mat-form-field-underline .mat-form-field-ripple{background-color:#9e737d}td-chips.mat-accent .mat-form-fi
 eld-underline .mat-form-field-ripple{background-color:#d0dbe0}td-chips.mat-warn .mat-form-field-underline .mat-form-field-ripple{background-color:#ef6162}td-file-upload .td-file-upload-cancel mat-icon{background-color:#fafafa}td-file-input .drop-zone{transition:background 400ms cubic-bezier(0.25, 0.8, 0.25, 1),box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1);box-shadow:0px 5px 5px -3px rgba(0,0,0,0.2),0px 8px 10px 1px rgba(0,0,0,0.14),0px 3px 14px 2px rgba(0,0,0,0.12)}.td-dialog-message{color:rgba(0,0,0,0.54)}.td-json-formatter-wrapper .function::after,.td-json-formatter-wrapper .date::after,.td-json-formatter-wrapper .td-object-name::after,.td-json-formatter-wrapper .td-array-length::after{content:'\200E'}.td-json-formatter-wrapper .td-key.td-key-node:focus,.td-json-formatter-wrapper .td-key.td-key-node:hover{background-color:rgba(0,0,0,0.04)}.td-json-formatter-wrapper .td-key.td-key-node .td-node-icon{color:rgba(0,0,0,0.54)}.td-json-formatter-wrapper .key{color:#9e737d}.td-json-forma
 tter-wrapper .value .string{color:#ef6162}.td-json-formatter-wrapper .value .number{color:#d0dbe0}.td-json-formatter-wrapper .value .boolean{color:#d0dbe0}.td-json-formatter-wrapper .value .null,.td-json-formatter-wrapper .value .undefined{color:rgba(0,0,0,0.38)}.td-json-formatter-wrapper .value .function{color:#9e737d}.td-json-formatter-wrapper .value .date{color:rgba(0,0,0,0.87)}td-paging-bar,td-paging-bar mat-select .mat-select-value{color:rgba(0,0,0,0.54)}.td-loading-wrapper.td-overlay .td-loading{background:rgba(255,255,255,0.8)}.td-data-table-scrollable{border-top:1px solid rgba(0,0,0,0.12)}table[td-data-table] .td-data-table-column-row,table[td-data-table] .td-data-table-row{border-bottom-color:rgba(0,0,0,0.12)}table[td-data-table] .mat-checkbox-cell,table[td-data-table] .mat-checkbox-column{color:rgba(0,0,0,0.54)}table[td-data-table] .mat-checkbox-cell mat-pseudo-checkbox.mat-pseudo-checkbox-checked,table[td-data-table] .mat-checkbox-column mat-pseudo-checkbox.mat-pseudo-che
 ckbox-checked{background-color:#d0dbe0}table[td-data-table] .td-data-table-cell mat-form-field .mat-form-field-underline{display:none}table[td-data-table] .td-data-table-column{color:rgba(0,0,0,0.54)}table[td-data-table] .td-data-table-column *{vertical-align:middle}table[td-data-table] .td-data-table-column mat-icon.td-data-table-sort-icon{color:rgba(0,0,0,0.38)}table[td-data-table] .td-data-table-column.mat-active,table[td-data-table] .td-data-table-column.mat-active mat-icon{color:#000}table[td-data-table].mat-selectable tbody>tr.td-data-table-row.td-selected{background-color:#f5f5f5}table[td-data-table].mat-selectable tbody>tr.td-data-table-row:focus{background-color:rgba(0,0,0,0.04)}table[td-data-table].mat-clickable tbody>tr.td-data-table-row:hover{background-color:rgba(0,0,0,0.04)}.mat-selected-title{background-color:rgba(208,219,224,0.12);color:#d0dbe0}.td-notification-count{box-shadow:0px 2px 1px -1px rgba(0,0,0,0.2),0px 1px 1px 0px rgba(0,0,0,0.14),0px 1px 3px 0px rgba(0,0
 ,0,0.12)}.td-notification-count.mat-warn{background-color:#ef6162;color:rgba(255,255,255,0.87)}.td-notification-count.mat-primary{background-color:#9e737d;color:rgba(255,255,255,0.87)}.td-notification-count.mat-accent{background-color:#d0dbe0;color:rgba(255,255,255,0.87)}.td-message.mat-primary{color:#9e737d;background-color:rgba(158,115,125,0.15)}.td-message.mat-accent{color:#d0dbe0;background-color:rgba(208,219,224,0.15)}.td-message.mat-warn{color:#ef6162;background-color:rgba(239,97,98,0.15)}body[fds] .mat-raised-button{height:34px;font-family:"Roboto",sans-serif;font-weight:lighter;font-size:14px;text-transform:uppercase;line-height:normal;box-shadow:0px 0px 0px 0px rgba(0,0,0,0.2),0px 0px 0px 0px rgba(0,0,0,0.14),0px 0px 0px 0px rgba(0,0,0,0.12)}body[fds] .mat-raised-button.cdk-focused:focus{box-shadow:0px 0px 2px 0px #1391c1}body[fds] .mat-raised-button[disabled]{opacity:.6;cursor:not-allowed}body[fds] .mat-button-toggle-disabled .mat-button-toggle-label-content{cursor:not-all
 owed}body[fds] .mat-button-focus-overlay{background-color:transparent}body[fds] .mat-raised-button.mat-fds-primary{border:1px solid #9E737D;background-color:#9E737D;color:#fff}body[fds] .mat-raised-button.mat-fds-primary:hover{background-color:#915D69;color:#fff}body[fds] .mat-raised-button.mat-fds-primary.mat-button-focus{color:#fff;background-color:#9E737D}body[fds] .mat-raised-button.mat-fds-primary[disabled]{color:#D1E8D1;background-color:#9E737D;color:#D1E8D1}body[fds] .mat-raised-button.mat-fds-secondary{color:#915D69;border:1px solid #9E737D}body[fds] .mat-raised-button.mat-fds-secondary:hover:not([disabled]){color:#fff;background-color:#915D69;border:1px solid #915D69}body[fds] .mat-raised-button.mat-fds-secondary.mat-button-focus{color:#915D69;background-color:#fff;border:1px solid #9E737D}body[fds] .mat-raised-button.mat-fds-secondary[disabled]{color:#D1E8D1;background-color:#9E737D}body[fds] .mat-raised-button.mat-fds-regular{color:#666;background-color:#fff;border:1px so
 lid #CFD3D7}body[fds] .mat-raised-button.mat-fds-regular:hover{color:#fff;background-color:#808793;border:1px solid #808793}body[fds] .mat-raised-button.mat-fds-regular.mat-button-focus{color:#333;background-color:#fff;border:1px solid #CFD3D7}body[fds] .mat-raised-button.mat-fds-regular[disabled]{color:#D1E8D1;background-color:#808793;border:1px solid #808793}body[fds] .mat-raised-button.mat-fds-warn{border:1px solid #EF6162;background-color:#EF6162;color:#fff}body[fds] .mat-raised-button.mat-fds-warn:hover{color:#fff;background-color:#D14A50;border:1px solid #EF6162}body[fds] .mat-raised-button.mat-fds-warn.mat-button-focus{color:#fff;background-color:#EF6162;border:1px solid #CFD3D7}body[fds] .mat-raised-button.mat-fds-warn[disabled]{color:#D1E8D1;background-color:#EF6162;border:1px solid #EF6162}body[fds] .mat-raised-button.mat-fds-critical{color:#fff;background-color:#E98A40;border:1px solid #E98A40}body[fds] .mat-raised-button.mat-fds-critical:hover{color:#fff;background-color
 :#D3702D;border:1px solid #D3702D}body[fds] .mat-raised-button.mat-fds-critical.mat-button-focus{color:#fff;background-color:#D3702D;border:1px solid #CFD3D7}body[fds] .mat-raised-button.mat-fds-critical[disabled]{color:#D1E8D1;background-color:#E98A40;border:1px solid #E98A40}.fds-primary-dropdown-button-menu .cdk-focused{color:#fff;background-color:#9E737D}body[fds] td-expansion-panel:not(:last-of-type) .td-expanded{margin-bottom:0px}body[fds] .td-expansion-panel-header-content{height:80px !important;padding:0px 30px !important;border-bottom:1px solid #ddd}body[fds] .td-expansion-content form{padding:15px 10px 20px 20px}body[fds] .md-subhead{font-size:18px;color:#999}body[fds] td-expansion-panel .td-expansion-panel-header .td-expansion-panel-header-content mat-icon.td-expand-icon{font-size:28px;color:#6B8791;font-weight:bold}body[fds] td-expansion-panel .td-expansion-panel-header:hover:not(.mat-disabled){background:#F3FAFF}body[fds] td-expansion-panel .td-expansion-panel-header:fo
 cus{background:#FFFFFF}body[fds] td-expansion-panel .td-expansion-panel-header:focus .td-expansion-panel-header-content{border-bottom:1px solid #9E737D}body[fds] .mat-menu-panel{border-radius:2px}body[fds] .mat-menu-item{font-size:14px;color:#333;min-width:200px;text-transform:none;height:24px;line-height:24px}body[fds] .regular-button-menu .mat-menu-item:hover{color:#ffffff;background-color:#808793}body[fds] .mat-menu-item[disabled]{color:rgba(0,0,0,0.38);background-color:#ffffff;cursor:not-allowed}body[fds] .mat-menu-item .mat-icon{font-size:14px}body[fds] .mat-menu-item .fa{font-size:14px;width:1em;height:1em}body[fds] .mat-menu-item[disabled] .mat-icon{color:rgba(0,0,0,0.38)}body[fds] .mat-menu-item[disabled] .fa{color:rgba(0,0,0,0.38)}body[fds] .mat-menu-item:hover:not([disabled]) .mat-icon{color:#ffffff}body[fds] .mat-menu-item:hover:not([disabled]) .fa{color:#ffffff}body[fds] .mat-menu-item:hover:not([disabled]),body[fds] .mat-menu-item:focus:not([disabled]){color:#ffffff;bac
 kground-color:#808793}body[fds] .fds-primary-dropdown-button-menu .mat-menu-item:hover:not([disabled]),body[fds] .fds-primary-dropdown-button-menu .mat-menu-item:focus:not([disabled]){color:#FFFFFF;background-color:#915D69}.mat-raised-button .mat-button-wrapper i{padding-left:10px}body[fds] .mat-option{font-size:14px;color:#333;text-transform:none;height:24px;line-height:24px}body[fds] .mat-autocomplete-panel.mat-autocomplete-panel-below{top:0}body[fds] .regular-button-menu .mat-option:hover{color:#ffffff;background-color:#808793}body[fds] .mat-option:hover:not([disabled]),body[fds] .mat-option:focus:not([disabled]){color:#ffffff;background-color:#808793}body[fds] .mat-select-underline{display:none}
+
+/*# sourceMappingURL=fds-demo.min.css.map */
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/eec354e6/demo-app/css/fds-demo.min.css.gz
----------------------------------------------------------------------
diff --git a/demo-app/css/fds-demo.min.css.gz b/demo-app/css/fds-demo.min.css.gz
new file mode 100644
index 0000000..283e178
Binary files /dev/null and b/demo-app/css/fds-demo.min.css.gz differ


[55/59] [abbrv] nifi-fds git commit: remove files and update README

Posted by sc...@apache.org.
remove files and update README


Project: http://git-wip-us.apache.org/repos/asf/nifi-fds/repo
Commit: http://git-wip-us.apache.org/repos/asf/nifi-fds/commit/0856a5c8
Tree: http://git-wip-us.apache.org/repos/asf/nifi-fds/tree/0856a5c8
Diff: http://git-wip-us.apache.org/repos/asf/nifi-fds/diff/0856a5c8

Branch: refs/heads/gh-pages
Commit: 0856a5c8c2c5fff58e3f436bf03ed0ddccd89e73
Parents: 877eecf
Author: Scott Aslan <sc...@gmail.com>
Authored: Tue Jun 5 17:41:59 2018 -0400
Committer: Scott Aslan <sc...@gmail.com>
Committed: Tue Jun 5 17:41:59 2018 -0400

----------------------------------------------------------------------
 .gitignore          |  1 +
 README.md           | 13 ++++++++-----
 demo-app/index.html | 37 -------------------------------------
 3 files changed, 9 insertions(+), 42 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/0856a5c8/.gitignore
----------------------------------------------------------------------
diff --git a/.gitignore b/.gitignore
index 45ff9c3..ef34551 100644
--- a/.gitignore
+++ b/.gitignore
@@ -5,6 +5,7 @@ node_modules/jasmine*
 node_modules/webdriver*
 .github/
 demo-app/gh-pages*
+demo-app/index.html
 scripts/
 src/
 test/

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/0856a5c8/README.md
----------------------------------------------------------------------
diff --git a/README.md b/README.md
index 6ddaea3..0d609e6 100644
--- a/README.md
+++ b/README.md
@@ -56,12 +56,14 @@ AppModule.annotations = [
 ...
 ```
 
-#### Theming
-The Apache NiFi Flow Design System provides a themeable UI/UX component platform. To customize the core FDS components create a simple Sass file that defines your palettes and passes them to mixins that output the corresponding styles. A typical theme file will look something like this:
+#### Style and Theming
+The Apache NiFi Flow Design System comes with a base CSS file `node_modules/@nifi-fds/core/common/styles/css/flow-design-system.min.css` (includes icons). This file must be included in the head of the HTML document before the theme file.
+
+
+NiFi FDS is also a themeable UI/UX component platform. To customize the core FDS components create a simple Sass file that defines your palettes and passes them to mixins that output the corresponding styles. A typical theme file will look something like this:
 
 ```javascript
 @import '../../node_modules/@nifi-fds/core/common/styles/globalVars';
-@import '../../node_modules/@nifi-fds/core/common/styles/flow-design-system';
 @import '../../node_modules/@nifi-fds/core/theming/all-theme';
 
 //Change these
@@ -89,10 +91,11 @@ $fds-theme: mat-light-theme($fds-primary, $fds-accent, $fds-warn);
 @include fds-theme($fds-theme);
 ```
 
-You don't have to use Sass to style the rest of your application but you will need to compile this one. Angular CLI, grunt-sass, gulp-sass, and node-sass are all great options; the output of which will be a CSS file that must be included in the head of the HTML document:
+You don't have to use Sass to style the rest of your application but you will need to compile this one. Angular CLI, grunt-sass, gulp-sass, and node-sass are all great options; the output of which will be a CSS file that must be included in the head of the HTML document after the base NiFi FDS CSS styles:
 
 ```javascript
-<link rel="stylesheet" href='node_modules/@nifi-fds/core/common/styles/css/fds-demo.min.css'/>
+<link rel="stylesheet" href='node_modules/@nifi-fds/core/common/styles/css/flow-design-system.min.css'/>
+<link rel="stylesheet" href='demo-app/css/fds-demo.min.css'/>
 ```
 
 NOTE: The theme file may be concatenated and minified with the rest of the application's CSS.

http://git-wip-us.apache.org/repos/asf/nifi-fds/blob/0856a5c8/demo-app/index.html
----------------------------------------------------------------------
diff --git a/demo-app/index.html b/demo-app/index.html
deleted file mode 100644
index ce269ea..0000000
--- a/demo-app/index.html
+++ /dev/null
@@ -1,37 +0,0 @@
-<!--
- Licensed to the Apache Software Foundation (ASF) under one or more
-  contributor license agreements.  See the NOTICE file distributed with
-  this work for additional information regarding copyright ownership.
-  The ASF licenses this file to You under the Apache License, Version 2.0
-  (the 'License'); you may not use this file except in compliance with
-  the License.  You may obtain a copy of the License at
-      http://www.apache.org/licenses/LICENSE-2.0
-  Unless required by applicable law or agreed to in writing, software
-  distributed under the License is distributed on an 'AS IS' BASIS,
-  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  See the License for the specific language governing permissions and
-  limitations under the License.
--->
-<!DOCTYPE html>
-<html>
-<head>
-    <title>Apache NiFi Flow Design System Demo</title>
-    <base href='/'>
-    <meta charset='UTF-8'>
-    <meta name='viewport' content='width=device-width, initial-scale=1'>
-    <meta http-equiv='Content-Type' content='text/html; charset=UTF-8'/>
-    <link rel="stylesheet" href="node_modules/@covalent/core/common/platform.css">
-    <link rel="stylesheet" href='demo-app/css/fds-demo.min.css'/>
-    <link rel='stylesheet' href='node_modules/font-awesome/css/font-awesome.css'/>
-</head>
-<body>
-<fds-app></fds-app>
-</body>
-<script src="node_modules/systemjs/dist/system.src.js"></script>
-<script src="demo-app/systemjs.config.js?"></script>
-<script>
-    System.import('demo-app/fds-bootstrap.js').catch(function (err) {
-        console.error(err);
-    });
-</script>
-</html>