@ieeesa-npm/presentation 0.31.6 → 0.33.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -77,6 +77,11 @@ export class BreadcrumbComponent {
77
77
  }
78
78
  const routeData = child.snapshot.data;
79
79
  const label = child.snapshot.data[BreadcrumbComponent.ROUTE_DATA_BREADCRUMB];
80
+ // Capture query params from the route snapshot so breadcrumb links preserve them
81
+ const snapshotQueryParams = child.snapshot.queryParams ?? {};
82
+ const queryParams = Object.keys(snapshotQueryParams).length > 0
83
+ ? snapshotQueryParams
84
+ : undefined;
80
85
  if (routeData['breadcrumbData'] &&
81
86
  routeData['breadcrumbData'].breadcrumb &&
82
87
  label) {
@@ -84,11 +89,11 @@ export class BreadcrumbComponent {
84
89
  breadcrumbs.push({
85
90
  label: newLabel,
86
91
  url: url,
87
- params: routeData['breadcrumbData'].queryParam,
92
+ params: routeData['breadcrumbData'].queryParam ?? queryParams,
88
93
  });
89
94
  }
90
95
  else if (label) {
91
- breadcrumbs.push({ label, url });
96
+ breadcrumbs.push({ label, url, params: queryParams });
92
97
  }
93
98
  return this.createBreadcrumbs(child, url, breadcrumbs);
94
99
  }
@@ -121,4 +126,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
121
126
  }], breadcrumbInitialRouteLabel: [{
122
127
  type: Input
123
128
  }] } });
124
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJlYWRjcnVtYi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wcmVzZW50YXRpb24vc3JjL2xpYi9jb21wb25lbnRzL2JyZWFkY3J1bWIvYnJlYWRjcnVtYi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wcmVzZW50YXRpb24vc3JjL2xpYi9jb21wb25lbnRzL2JyZWFkY3J1bWIvYnJlYWRjcnVtYi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBYSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMvRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvQixPQUFPLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ25ELE9BQU8sRUFHTCxhQUFhLEVBRWIsWUFBWSxHQUNiLE1BQU0saUJBQWlCLENBQUM7QUFDekIsT0FBTyxLQUFLLFdBQVcsTUFBTSw2QkFBNkIsQ0FBQzs7OztBQUczRDs7O0dBR0c7QUFTSCxNQUFNLE9BQU8sbUJBQW1CO2FBb0JkLDBCQUFxQixHQUFHLFlBQVksQUFBZixDQUFnQjtJQUNyRCwwQ0FBMEM7SUFDMUM7SUFDRSwwQ0FBMEM7SUFDbkMsY0FBOEI7SUFDckMsMENBQTBDO0lBQ2xDLE1BQWM7UUFGZixtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFFN0IsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQXpCeEIsOERBQThEO1FBQzlELG9CQUFlLEdBQVEsV0FBVyxDQUFDO1FBQ25DOzs7OztXQUtHO1FBQ00sMkJBQXNCLEdBQUcsR0FBRyxDQUFDO1FBQ3RDOzs7OztXQUtHO1FBQ00sZ0NBQTJCLEdBQ2xDLElBQUksQ0FBQyxlQUFlLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBRSxPQUFPLENBQUM7UUFFbkQsYUFBUSxHQUFxQixJQUFJLE9BQU8sRUFBVyxDQUFDO1FBU2xELElBQUksQ0FBQyxXQUFXLEdBQUcsRUFBRSxDQUFDO1FBQ3RCLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUN0QixDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsWUFBWTtRQUNWLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTTthQUNmLElBQUksQ0FDSCxNQUFNLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLEtBQUssWUFBWSxhQUFhLENBQUMsRUFDakQsU0FBUyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FDekI7YUFDQSxTQUFTLENBQUMsR0FBRyxFQUFFO1lBQ2QsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN0RSxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFRDs7Ozs7Ozs7T0FRRztJQUNILGlCQUFpQixDQUNmLEtBQXFCLEVBQ3JCLEdBQUcsR0FBRyxFQUFFLEVBQ1IsY0FBNEIsRUFBRTtJQUNoQyw4REFBOEQ7O1FBRTVELE1BQU0sUUFBUSxHQUFxQixLQUFLLENBQUMsUUFBUSxDQUFDO1FBRWxELElBQUksUUFBUSxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUU7WUFDekIsT0FBTyxXQUFXLENBQUM7U0FDcEI7UUFFRCxLQUFLLE1BQU0sS0FBSyxJQUFJLFFBQVEsRUFBRTtZQUM1QixNQUFNLFFBQVEsR0FBVyxLQUFLLENBQUMsUUFBUSxDQUFDLEdBQUc7aUJBQ3hDLEdBQUcsQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQztpQkFDOUIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ2IsSUFBSSxRQUFRLEtBQUssRUFBRSxFQUFFO2dCQUNuQixHQUFHLElBQUksSUFBSSxRQUFRLEVBQUUsQ0FBQzthQUN2QjtZQUVELE1BQU0sU0FBUyxHQUFTLEtBQUssQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDO1lBQzVDLE1BQU0sS0FBSyxHQUNULEtBQUssQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLHFCQUFxQixDQUFDLENBQUM7WUFDakUsSUFDRSxTQUFTLENBQUMsZ0JBQWdCLENBQUM7Z0JBQzNCLFNBQVMsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLFVBQVU7Z0JBQ3RDLEtBQUssRUFDTDtnQkFDQSxNQUFNLFFBQVEsR0FBRyxTQUFTLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxVQUFVLENBQUM7Z0JBQ3hELFdBQVcsQ0FBQyxJQUFJLENBQUM7b0JBQ2YsS0FBSyxFQUFFLFFBQVE7b0JBQ2YsR0FBRyxFQUFFLEdBQUc7b0JBQ1IsTUFBTSxFQUFFLFNBQVMsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLFVBQVU7aUJBQy9DLENBQUMsQ0FBQzthQUNKO2lCQUFNLElBQUksS0FBSyxFQUFFO2dCQUNoQixXQUFXLENBQUMsSUFBSSxDQUFDLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUM7YUFDbEM7WUFDRCxPQUFPLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxLQUFLLEVBQUUsR0FBRyxFQUFFLFdBQVcsQ0FBQyxDQUFDO1NBQ3hEO0lBQ0gsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0gsU0FBUyxDQUFDLEtBQWE7UUFDckIsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsV0FBVztRQUNULElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3pCLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDOUIsQ0FBQzsrR0FsSFUsbUJBQW1CO21HQUFuQixtQkFBbUIsdU1DMUJoQyxtMUJBOEJBLDhrU0RUWSxZQUFZLCtQQUFFLFlBQVk7OzRGQUt6QixtQkFBbUI7a0JBUi9CLFNBQVM7K0JBQ0UsbUJBQW1CLGNBQ2pCLElBQUksV0FDUCxDQUFDLFlBQVksRUFBRSxZQUFZLENBQUMsaUJBR3RCLGlCQUFpQixDQUFDLElBQUk7MEhBVzVCLHNCQUFzQjtzQkFBOUIsS0FBSztnQkFPRywyQkFBMkI7c0JBQW5DLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPbkRlc3Ryb3ksIFZpZXdFbmNhcHN1bGF0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgZmlsdGVyLCB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7XHJcbiAgQWN0aXZhdGVkUm91dGUsXHJcbiAgRGF0YSxcclxuICBOYXZpZ2F0aW9uRW5kLFxyXG4gIFJvdXRlcixcclxuICBSb3V0ZXJNb2R1bGUsXHJcbn0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuaW1wb3J0ICogYXMgc2NyZWVuVGV4dHMgZnJvbSAnLi4vLi4vYXNzZXRzL2NvbnN0YW50cy5qc29uJztcclxuaW1wb3J0IHsgQnJlYWRjcnVtYiB9IGZyb20gJy4uLy4uL21vZGVscy9icmVhZGNydW1iLm1vZGVsJztcclxuXHJcbi8qKlxyXG4gKiBSZXVzYWJsZSBicmVhZGNydW1iIGNvbXBvbmVudCBmb3IgZGlzcGxheWluZyBhbmQgbmF2aWdhdGluZyB0aHJvdWdoIGEgaGllcmFyY2h5IG9mIHBhZ2VzLlxyXG4gKiBAY2xhc3MgQnJlYWRjcnVtYkNvbXBvbmVudFxyXG4gKi9cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdpZWVlc2EtYnJlYWRjcnVtYicsXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBSb3V0ZXJNb2R1bGVdLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9icmVhZGNydW1iLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9icmVhZGNydW1iLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcclxufSlcclxuZXhwb3J0IGNsYXNzIEJyZWFkY3J1bWJDb21wb25lbnQgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xyXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XHJcbiAgYnJlYWRjcnVtYlRleHRzOiBhbnkgPSBzY3JlZW5UZXh0cztcclxuICAvKipcclxuICAgKiBJbml0aWFsIHJvdXRlIGZvciB0aGUgYnJlYWRjcnVtYiBjb21wb25lbnQuXHJcbiAgICogQHR5cGUge3N0cmluZ31cclxuICAgKiBAZGVmYXVsdCAnLydcclxuICAgKiBAbWVtYmVyb2YgQnJlYWRjcnVtYkNvbXBvbmVudFxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIGJyZWFkY3J1bWJJbml0aWFsUm91dGUgPSAnLyc7XHJcbiAgLyoqXHJcbiAgICogSW5pdGlhbCBsYWJlbCBmb3IgdGhlIGJyZWFkY3J1bWIgY29tcG9uZW50LlxyXG4gICAqIEB0eXBlIHtzdHJpbmd9XHJcbiAgICogQGRlZmF1bHQgYnJlYWRjcnVtYlRleHRzPy5icmVhZGNydW1iPy5sYWJlbD8uaW5pdGlhbFxyXG4gICAqIEBtZW1iZXJvZiBCcmVhZGNydW1iQ29tcG9uZW50XHJcbiAgICovXHJcbiAgQElucHV0KCkgYnJlYWRjcnVtYkluaXRpYWxSb3V0ZUxhYmVsID1cclxuICAgIHRoaXMuYnJlYWRjcnVtYlRleHRzPy5icmVhZGNydW1iPy5sYWJlbD8uaW5pdGlhbDtcclxuICBicmVhZGNydW1icyE6IEJyZWFkY3J1bWJbXTtcclxuICBkZXN0cm95JDogU3ViamVjdDxib29sZWFuPiA9IG5ldyBTdWJqZWN0PGJvb2xlYW4+KCk7XHJcbiAgc3RhdGljIHJlYWRvbmx5IFJPVVRFX0RBVEFfQlJFQURDUlVNQiA9ICdicmVhZGNydW1iJztcclxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tdW51c2VkLXZhcnNcclxuICBjb25zdHJ1Y3RvcihcclxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby11bnVzZWQtdmFyc1xyXG4gICAgcHVibGljIGFjdGl2YXRlZFJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSxcclxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby11bnVzZWQtdmFyc1xyXG4gICAgcHJpdmF0ZSByb3V0ZXI6IFJvdXRlclxyXG4gICkge1xyXG4gICAgdGhpcy5icmVhZGNydW1icyA9IFtdO1xyXG4gICAgdGhpcy5zZXRSb3V0ZURhdGEoKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFNldHMgdXAgdGhlIHN1YnNjcmlwdGlvbiB0byByb3V0ZXIgZXZlbnRzIHRvIHVwZGF0ZSBicmVhZGNydW1icy5cclxuICAgKiBAbWVtYmVyb2YgQnJlYWRjcnVtYkNvbXBvbmVudFxyXG4gICAqL1xyXG4gIHNldFJvdXRlRGF0YSgpIHtcclxuICAgIHRoaXMucm91dGVyLmV2ZW50c1xyXG4gICAgICAucGlwZShcclxuICAgICAgICBmaWx0ZXIoKGV2ZW50KSA9PiBldmVudCBpbnN0YW5jZW9mIE5hdmlnYXRpb25FbmQpLFxyXG4gICAgICAgIHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKVxyXG4gICAgICApXHJcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICAgIHRoaXMuYnJlYWRjcnVtYnMgPSB0aGlzLmNyZWF0ZUJyZWFkY3J1bWJzKHRoaXMuYWN0aXZhdGVkUm91dGUucm9vdCk7XHJcbiAgICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICpcclxuICAgKiBSZWN1cnNpdmVseSBnZXRzIHRoZSBicmVhZGNydW1iIGl0ZW1zIGZvciB0aGUgZ2l2ZW4gcm91dGUuXHJcbiAgICogQHBhcmFtIHtBY3RpdmF0ZWRSb3V0ZX0gcm91dGUgLSBUaGUgYWN0aXZhdGVkIHJvdXRlLlxyXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBbdXJsPScnXSAtIFRoZSBjdXJyZW50IFVSTC5cclxuICAgKiBAcGFyYW0ge0JyZWFkY3J1bWJbXX0gW2JyZWFkY3J1bWJzPVtdXSAtIFRoZSBjdXJyZW50IGJyZWFkY3J1bWIgaXRlbXMuXHJcbiAgICogQHJldHVybiB7QnJlYWRjcnVtYltdfSAtIFRoZSBhcnJheSBvZiBicmVhZGNydW1iIGl0ZW1zLlxyXG4gICAqIEBtZW1iZXJvZiBCcmVhZGNydW1iQ29tcG9uZW50XHJcbiAgICovXHJcbiAgY3JlYXRlQnJlYWRjcnVtYnMoXHJcbiAgICByb3V0ZTogQWN0aXZhdGVkUm91dGUsXHJcbiAgICB1cmwgPSAnJyxcclxuICAgIGJyZWFkY3J1bWJzOiBCcmVhZGNydW1iW10gPSBbXVxyXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XHJcbiAgKTogYW55IHtcclxuICAgIGNvbnN0IGNoaWxkcmVuOiBBY3RpdmF0ZWRSb3V0ZVtdID0gcm91dGUuY2hpbGRyZW47XHJcblxyXG4gICAgaWYgKGNoaWxkcmVuLmxlbmd0aCA9PT0gMCkge1xyXG4gICAgICByZXR1cm4gYnJlYWRjcnVtYnM7XHJcbiAgICB9XHJcblxyXG4gICAgZm9yIChjb25zdCBjaGlsZCBvZiBjaGlsZHJlbikge1xyXG4gICAgICBjb25zdCByb3V0ZVVSTDogc3RyaW5nID0gY2hpbGQuc25hcHNob3QudXJsXHJcbiAgICAgICAgLm1hcCgoc2VnbWVudCkgPT4gc2VnbWVudC5wYXRoKVxyXG4gICAgICAgIC5qb2luKCcvJyk7XHJcbiAgICAgIGlmIChyb3V0ZVVSTCAhPT0gJycpIHtcclxuICAgICAgICB1cmwgKz0gYC8ke3JvdXRlVVJMfWA7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGNvbnN0IHJvdXRlRGF0YTogRGF0YSA9IGNoaWxkLnNuYXBzaG90LmRhdGE7XHJcbiAgICAgIGNvbnN0IGxhYmVsID1cclxuICAgICAgICBjaGlsZC5zbmFwc2hvdC5kYXRhW0JyZWFkY3J1bWJDb21wb25lbnQuUk9VVEVfREFUQV9CUkVBRENSVU1CXTtcclxuICAgICAgaWYgKFxyXG4gICAgICAgIHJvdXRlRGF0YVsnYnJlYWRjcnVtYkRhdGEnXSAmJlxyXG4gICAgICAgIHJvdXRlRGF0YVsnYnJlYWRjcnVtYkRhdGEnXS5icmVhZGNydW1iICYmXHJcbiAgICAgICAgbGFiZWxcclxuICAgICAgKSB7XHJcbiAgICAgICAgY29uc3QgbmV3TGFiZWwgPSByb3V0ZURhdGFbJ2JyZWFkY3J1bWJEYXRhJ10uYnJlYWRjcnVtYjtcclxuICAgICAgICBicmVhZGNydW1icy5wdXNoKHtcclxuICAgICAgICAgIGxhYmVsOiBuZXdMYWJlbCxcclxuICAgICAgICAgIHVybDogdXJsLFxyXG4gICAgICAgICAgcGFyYW1zOiByb3V0ZURhdGFbJ2JyZWFkY3J1bWJEYXRhJ10ucXVlcnlQYXJhbSxcclxuICAgICAgICB9KTtcclxuICAgICAgfSBlbHNlIGlmIChsYWJlbCkge1xyXG4gICAgICAgIGJyZWFkY3J1bWJzLnB1c2goeyBsYWJlbCwgdXJsIH0pO1xyXG4gICAgICB9XHJcbiAgICAgIHJldHVybiB0aGlzLmNyZWF0ZUJyZWFkY3J1bWJzKGNoaWxkLCB1cmwsIGJyZWFkY3J1bWJzKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFRha2VzIHRoZSBpbmRleCBhbmQgdGhlIGN1cnJlbnQgaXRlbSBhcyBhcmd1bWVudHMgYW5kIG5lZWRzIHRvIHJldHVybiB0aGUgdW5pcXVlIGlkZW50aWZpZXIgZm9yIHRoaXMgaXRlbS5cclxuICAgKiBAcGFyYW0ge251bWJlcn0gaW5kZXhcclxuICAgKiBAcmV0dXJuIHtudW1iZXJ9XHJcbiAgICogQG1lbWJlcm9mIEJyZWFkY3J1bWJDb21wb25lbnRcclxuICAgKi9cclxuICB0cmFja0J5Rm4oaW5kZXg6IG51bWJlcik6IG51bWJlciB7XHJcbiAgICByZXR1cm4gaW5kZXg7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBOZ09uRGVzdHJveSBwZXJmb3JtcyBuZWNlc3NhcnkgY2xlYW51cCB0YXNrcywgc3VjaCBhcyB1bnN1YnNjcmliaW5nIGZyb20gc3Vic2NyaXB0aW9uIHdoZW4gdGhlIGNvbXBvbmVudCBpcyBiZWluZyBkZXN0cm95ZWQuXHJcbiAgICogQG1lbWJlcm9mIEJyZWFkY3J1bWJDb21wb25lbnRcclxuICAgKi9cclxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIHRoaXMuZGVzdHJveSQubmV4dCh0cnVlKTtcclxuICAgIHRoaXMuZGVzdHJveSQudW5zdWJzY3JpYmUoKTtcclxuICB9XHJcbn1cclxuIiwiPHVsIGNsYXNzPVwiaWVlZXNhLWJyZWFkY3J1bWIgYnJlYWRjcnVtYlwiPlxyXG4gIDxsaT5cclxuICAgIDxhXHJcbiAgICAgIFtyb3V0ZXJMaW5rXT1cImJyZWFkY3J1bWJJbml0aWFsUm91dGVcIlxyXG4gICAgICBjbGFzcz1cImllZWVzYS1ib2R5LXNtLTE0IHRleHQtZGVjb3JhdGlvbi1ub25lXCJcclxuICAgICAgPnt7IGJyZWFkY3J1bWJJbml0aWFsUm91dGVMYWJlbCB9fVxyXG4gICAgPC9hPlxyXG4gIDwvbGk+XHJcblxyXG4gIDxsaVxyXG4gICAgKm5nRm9yPVwiXHJcbiAgICAgIGxldCBicmVhZGNydW1iIG9mIGJyZWFkY3J1bWJzO1xyXG4gICAgICBsZXQgbGFzdCA9IGxhc3Q7XHJcbiAgICAgIGxldCBpID0gaW5kZXg7XHJcbiAgICAgIHRyYWNrQnk6IHRyYWNrQnlGblxyXG4gICAgXCJcclxuICA+XHJcbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIWxhc3Q7IGVsc2UgZGlzYWJsZUxpbmtcIj5cclxuICAgICAgPGFcclxuICAgICAgICBbcm91dGVyTGlua109XCJbYnJlYWRjcnVtYj8udXJsXVwiXHJcbiAgICAgICAgW3F1ZXJ5UGFyYW1zXT1cImJyZWFkY3J1bWI/LnBhcmFtc1wiXHJcbiAgICAgICAgY2xhc3M9XCJpZWVlc2EtYm9keS1zbS0xNCB0ZXh0LWRlY29yYXRpb24tbm9uZVwiXHJcbiAgICAgICAgPnt7IGJyZWFkY3J1bWIubGFiZWwgfX08L2FcclxuICAgICAgPlxyXG4gICAgPC9uZy1jb250YWluZXI+XHJcbiAgICA8bmctdGVtcGxhdGUgI2Rpc2FibGVMaW5rPlxyXG4gICAgICA8c3BhbiBjbGFzcz1cImllZWVzYS1ib2R5LXNtLTE0XCI+e3sgYnJlYWRjcnVtYi5sYWJlbCB9fTwvc3Bhbj5cclxuICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgPC9saT5cclxuPC91bD5cclxuIl19
129
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJlYWRjcnVtYi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wcmVzZW50YXRpb24vc3JjL2xpYi9jb21wb25lbnRzL2JyZWFkY3J1bWIvYnJlYWRjcnVtYi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wcmVzZW50YXRpb24vc3JjL2xpYi9jb21wb25lbnRzL2JyZWFkY3J1bWIvYnJlYWRjcnVtYi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBYSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMvRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvQixPQUFPLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ25ELE9BQU8sRUFHTCxhQUFhLEVBRWIsWUFBWSxHQUNiLE1BQU0saUJBQWlCLENBQUM7QUFDekIsT0FBTyxLQUFLLFdBQVcsTUFBTSw2QkFBNkIsQ0FBQzs7OztBQUczRDs7O0dBR0c7QUFTSCxNQUFNLE9BQU8sbUJBQW1CO2FBb0JkLDBCQUFxQixHQUFHLFlBQVksQUFBZixDQUFnQjtJQUNyRCwwQ0FBMEM7SUFDMUM7SUFDRSwwQ0FBMEM7SUFDbkMsY0FBOEI7SUFDckMsMENBQTBDO0lBQ2xDLE1BQWM7UUFGZixtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFFN0IsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQXpCeEIsOERBQThEO1FBQzlELG9CQUFlLEdBQVEsV0FBVyxDQUFDO1FBQ25DOzs7OztXQUtHO1FBQ00sMkJBQXNCLEdBQUcsR0FBRyxDQUFDO1FBQ3RDOzs7OztXQUtHO1FBQ00sZ0NBQTJCLEdBQ2xDLElBQUksQ0FBQyxl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QUNILFdBQVc7UUFDVCxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN6QixJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQzlCLENBQUM7K0dBdkhVLG1CQUFtQjttR0FBbkIsbUJBQW1CLHVNQzFCaEMsbTFCQThCQSw4a1NEVFksWUFBWSwrUEFBRSxZQUFZOzs0RkFLekIsbUJBQW1CO2tCQVIvQixTQUFTOytCQUNFLG1CQUFtQixjQUNqQixJQUFJLFdBQ1AsQ0FBQyxZQUFZLEVBQUUsWUFBWSxDQUFDLGlCQUd0QixpQkFBaUIsQ0FBQyxJQUFJOzBIQVc1QixzQkFBc0I7c0JBQTlCLEtBQUs7Z0JBT0csMkJBQTJCO3NCQUFuQyxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT25EZXN0cm95LCBWaWV3RW5jYXBzdWxhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IGZpbHRlciwgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQge1xyXG4gIEFjdGl2YXRlZFJvdXRlLFxyXG4gIERhdGEsXHJcbiAgTmF2aWdhdGlvbkVuZCxcclxuICBSb3V0ZXIsXHJcbiAgUm91dGVyTW9kdWxlLFxyXG59IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcbmltcG9ydCAqIGFzIHNjcmVlblRleHRzIGZyb20gJy4uLy4uL2Fzc2V0cy9jb25zdGFudHMuanNvbic7XHJcbmltcG9ydCB7IEJyZWFkY3J1bWIgfSBmcm9tICcuLi8uLi9tb2RlbHMvYnJlYWRjcnVtYi5tb2RlbCc7XHJcblxyXG4vKipcclxuICogUmV1c2FibGUgYnJlYWRjcnVtYiBjb21wb25lbnQgZm9yIGRpc3BsYXlpbmcgYW5kIG5hdmlnYXRpbmcgdGhyb3VnaCBhIGhpZXJhcmNoeSBvZiBwYWdlcy5cclxuICogQGNsYXNzIEJyZWFkY3J1bWJDb21wb25lbnRcclxuICovXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnaWVlZXNhLWJyZWFkY3J1bWInLFxyXG4gIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgUm91dGVyTW9kdWxlXSxcclxuICB0ZW1wbGF0ZVVybDogJy4vYnJlYWRjcnVtYi5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vYnJlYWRjcnVtYi5jb21wb25lbnQuc2NzcyddLFxyXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBCcmVhZGNydW1iQ29tcG9uZW50IGltcGxlbWVudHMgT25EZXN0cm95IHtcclxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxyXG4gIGJyZWFkY3J1bWJUZXh0czogYW55ID0gc2NyZWVuVGV4dHM7XHJcbiAgLyoqXHJcbiAgICogSW5pdGlhbCByb3V0ZSBmb3IgdGhlIGJyZWFkY3J1bWIgY29tcG9uZW50LlxyXG4gICAqIEB0eXBlIHtzdHJpbmd9XHJcbiAgICogQGRlZmF1bHQgJy8nXHJcbiAgICogQG1lbWJlcm9mIEJyZWFkY3J1bWJDb21wb25lbnRcclxuICAgKi9cclxuICBASW5wdXQoKSBicmVhZGNydW1iSW5pdGlhbFJvdXRlID0gJy8nO1xyXG4gIC8qKlxyXG4gICAqIEluaXRpYWwgbGFiZWwgZm9yIHRoZSBicmVhZGNydW1iIGNvbXBvbmVudC5cclxuICAgKiBAdHlwZSB7c3RyaW5nfVxyXG4gICAqIEBkZWZhdWx0IGJyZWFkY3J1bWJUZXh0cz8uYnJlYWRjcnVtYj8ubGFiZWw/LmluaXRpYWxcclxuICAgKiBAbWVtYmVyb2YgQnJlYWRjcnVtYkNvbXBvbmVudFxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIGJyZWFkY3J1bWJJbml0aWFsUm91dGVMYWJlbCA9XHJcbiAgICB0aGlzLmJyZWFkY3J1bWJUZXh0cz8uYnJlYWRjcnVtYj8ubGFiZWw/LmluaXRpYWw7XHJcbiAgYnJlYWRjcnVtYnMhOiBCcmVhZGNydW1iW107XHJcbiAgZGVzdHJveSQ6IFN1YmplY3Q8Ym9vbGVhbj4gPSBuZXcgU3ViamVjdDxib29sZWFuPigpO1xyXG4gIHN0YXRpYyByZWFkb25seSBST1VURV9EQVRBX0JSRUFEQ1JVTUIgPSAnYnJlYWRjcnVtYic7XHJcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXVudXNlZC12YXJzXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tdW51c2VkLXZhcnNcclxuICAgIHB1YmxpYyBhY3RpdmF0ZWRSb3V0ZTogQWN0aXZhdGVkUm91dGUsXHJcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tdW51c2VkLXZhcnNcclxuICAgIHByaXZhdGUgcm91dGVyOiBSb3V0ZXJcclxuICApIHtcclxuICAgIHRoaXMuYnJlYWRjcnVtYnMgPSBbXTtcclxuICAgIHRoaXMuc2V0Um91dGVEYXRhKCk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBTZXRzIHVwIHRoZSBzdWJzY3JpcHRpb24gdG8gcm91dGVyIGV2ZW50cyB0byB1cGRhdGUgYnJlYWRjcnVtYnMuXHJcbiAgICogQG1lbWJlcm9mIEJyZWFkY3J1bWJDb21wb25lbnRcclxuICAgKi9cclxuICBzZXRSb3V0ZURhdGEoKSB7XHJcbiAgICB0aGlzLnJvdXRlci5ldmVudHNcclxuICAgICAgLnBpcGUoXHJcbiAgICAgICAgZmlsdGVyKChldmVudCkgPT4gZXZlbnQgaW5zdGFuY2VvZiBOYXZpZ2F0aW9uRW5kKSxcclxuICAgICAgICB0YWtlVW50aWwodGhpcy5kZXN0cm95JClcclxuICAgICAgKVxyXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgICB0aGlzLmJyZWFkY3J1bWJzID0gdGhpcy5jcmVhdGVCcmVhZGNydW1icyh0aGlzLmFjdGl2YXRlZFJvdXRlLnJvb3QpO1xyXG4gICAgICB9KTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqXHJcbiAgICogUmVjdXJzaXZlbHkgZ2V0cyB0aGUgYnJlYWRjcnVtYiBpdGVtcyBmb3IgdGhlIGdpdmVuIHJvdXRlLlxyXG4gICAqIEBwYXJhbSB7QWN0aXZhdGVkUm91dGV9IHJvdXRlIC0gVGhlIGFjdGl2YXRlZCByb3V0ZS5cclxuICAgKiBAcGFyYW0ge3N0cmluZ30gW3VybD0nJ10gLSBUaGUgY3VycmVudCBVUkwuXHJcbiAgICogQHBhcmFtIHtCcmVhZGNydW1iW119IFticmVhZGNydW1icz1bXV0gLSBUaGUgY3VycmVudCBicmVhZGNydW1iIGl0ZW1zLlxyXG4gICAqIEByZXR1cm4ge0JyZWFkY3J1bWJbXX0gLSBUaGUgYXJyYXkgb2YgYnJlYWRjcnVtYiBpdGVtcy5cclxuICAgKiBAbWVtYmVyb2YgQnJlYWRjcnVtYkNvbXBvbmVudFxyXG4gICAqL1xyXG4gIGNyZWF0ZUJyZWFkY3J1bWJzKFxyXG4gICAgcm91dGU6IEFjdGl2YXRlZFJvdXRlLFxyXG4gICAgdXJsID0gJycsXHJcbiAgICBicmVhZGNydW1iczogQnJlYWRjcnVtYltdID0gW11cclxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxyXG4gICk6IGFueSB7XHJcbiAgICBjb25zdCBjaGlsZHJlbjogQWN0aXZhdGVkUm91dGVbXSA9IHJvdXRlLmNoaWxkcmVuO1xyXG5cclxuICAgIGlmIChjaGlsZHJlbi5sZW5ndGggPT09IDApIHtcclxuICAgICAgcmV0dXJuIGJyZWFkY3J1bWJzO1xyXG4gICAgfVxyXG5cclxuICAgIGZvciAoY29uc3QgY2hpbGQgb2YgY2hpbGRyZW4pIHtcclxuICAgICAgY29uc3Qgcm91dGVVUkw6IHN0cmluZyA9IGNoaWxkLnNuYXBzaG90LnVybFxyXG4gICAgICAgIC5tYXAoKHNlZ21lbnQpID0+IHNlZ21lbnQucGF0aClcclxuICAgICAgICAuam9pbignLycpO1xyXG4gICAgICBpZiAocm91dGVVUkwgIT09ICcnKSB7XHJcbiAgICAgICAgdXJsICs9IGAvJHtyb3V0ZVVSTH1gO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBjb25zdCByb3V0ZURhdGE6IERhdGEgPSBjaGlsZC5zbmFwc2hvdC5kYXRhO1xyXG4gICAgICBjb25zdCBsYWJlbCA9XHJcbiAgICAgICAgY2hpbGQuc25hcHNob3QuZGF0YVtCcmVhZGNydW1iQ29tcG9uZW50LlJPVVRFX0RBVEFfQlJFQURDUlVNQl07XHJcbiAgICAgIC8vIENhcHR1cmUgcXVlcnkgcGFyYW1zIGZyb20gdGhlIHJvdXRlIHNuYXBzaG90IHNvIGJyZWFkY3J1bWIgbGlua3MgcHJlc2VydmUgdGhlbVxyXG4gICAgICBjb25zdCBzbmFwc2hvdFF1ZXJ5UGFyYW1zID0gY2hpbGQuc25hcHNob3QucXVlcnlQYXJhbXMgPz8ge307XHJcbiAgICAgIGNvbnN0IHF1ZXJ5UGFyYW1zID0gT2JqZWN0LmtleXMoc25hcHNob3RRdWVyeVBhcmFtcykubGVuZ3RoID4gMFxyXG4gICAgICAgID8gc25hcHNob3RRdWVyeVBhcmFtc1xyXG4gICAgICAgIDogdW5kZWZpbmVkO1xyXG4gICAgICBpZiAoXHJcbiAgICAgICAgcm91dGVEYXRhWydicmVhZGNydW1iRGF0YSddICYmXHJcbiAgICAgICAgcm91dGVEYXRhWydicmVhZGNydW1iRGF0YSddLmJyZWFkY3J1bWIgJiZcclxuICAgICAgICBsYWJlbFxyXG4gICAgICApIHtcclxuICAgICAgICBjb25zdCBuZXdMYWJlbCA9IHJvdXRlRGF0YVsnYnJlYWRjcnVtYkRhdGEnXS5icmVhZGNydW1iO1xyXG4gICAgICAgIGJyZWFkY3J1bWJzLnB1c2goe1xyXG4gICAgICAgICAgbGFiZWw6IG5ld0xhYmVsLFxyXG4gICAgICAgICAgdXJsOiB1cmwsXHJcbiAgICAgICAgICBwYXJhbXM6IHJvdXRlRGF0YVsnYnJlYWRjcnVtYkRhdGEnXS5xdWVyeVBhcmFtID8/IHF1ZXJ5UGFyYW1zLFxyXG4gICAgICAgIH0pO1xyXG4gICAgICB9IGVsc2UgaWYgKGxhYmVsKSB7XHJcbiAgICAgICAgYnJlYWRjcnVtYnMucHVzaCh7IGxhYmVsLCB1cmwsIHBhcmFtczogcXVlcnlQYXJhbXMgfSk7XHJcbiAgICAgIH1cclxuICAgICAgcmV0dXJuIHRoaXMuY3JlYXRlQnJlYWRjcnVtYnMoY2hpbGQsIHVybCwgYnJlYWRjcnVtYnMpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogVGFrZXMgdGhlIGluZGV4IGFuZCB0aGUgY3VycmVudCBpdGVtIGFzIGFyZ3VtZW50cyBhbmQgbmVlZHMgdG8gcmV0dXJuIHRoZSB1bmlxdWUgaWRlbnRpZmllciBmb3IgdGhpcyBpdGVtLlxyXG4gICAqIEBwYXJhbSB7bnVtYmVyfSBpbmRleFxyXG4gICAqIEByZXR1cm4ge251bWJlcn1cclxuICAgKiBAbWVtYmVyb2YgQnJlYWRjcnVtYkNvbXBvbmVudFxyXG4gICAqL1xyXG4gIHRyYWNrQnlGbihpbmRleDogbnVtYmVyKTogbnVtYmVyIHtcclxuICAgIHJldHVybiBpbmRleDtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIE5nT25EZXN0cm95IHBlcmZvcm1zIG5lY2Vzc2FyeSBjbGVhbnVwIHRhc2tzLCBzdWNoIGFzIHVuc3Vic2NyaWJpbmcgZnJvbSBzdWJzY3JpcHRpb24gd2hlbiB0aGUgY29tcG9uZW50IGlzIGJlaW5nIGRlc3Ryb3llZC5cclxuICAgKiBAbWVtYmVyb2YgQnJlYWRjcnVtYkNvbXBvbmVudFxyXG4gICAqL1xyXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgdGhpcy5kZXN0cm95JC5uZXh0KHRydWUpO1xyXG4gICAgdGhpcy5kZXN0cm95JC51bnN1YnNjcmliZSgpO1xyXG4gIH1cclxufVxyXG4iLCI8dWwgY2xhc3M9XCJpZWVlc2EtYnJlYWRjcnVtYiBicmVhZGNydW1iXCI+XHJcbiAgPGxpPlxyXG4gICAgPGFcclxuICAgICAgW3JvdXRlckxpbmtdPVwiYnJlYWRjcnVtYkluaXRpYWxSb3V0ZVwiXHJcbiAgICAgIGNsYXNzPVwiaWVlZXNhLWJvZHktc20tMTQgdGV4dC1kZWNvcmF0aW9uLW5vbmVcIlxyXG4gICAgICA+e3sgYnJlYWRjcnVtYkluaXRpYWxSb3V0ZUxhYmVsIH19XHJcbiAgICA8L2E+XHJcbiAgPC9saT5cclxuXHJcbiAgPGxpXHJcbiAgICAqbmdGb3I9XCJcclxuICAgICAgbGV0IGJyZWFkY3J1bWIgb2YgYnJlYWRjcnVtYnM7XHJcbiAgICAgIGxldCBsYXN0ID0gbGFzdDtcclxuICAgICAgbGV0IGkgPSBpbmRleDtcclxuICAgICAgdHJhY2tCeTogdHJhY2tCeUZuXHJcbiAgICBcIlxyXG4gID5cclxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhbGFzdDsgZWxzZSBkaXNhYmxlTGlua1wiPlxyXG4gICAgICA8YVxyXG4gICAgICAgIFtyb3V0ZXJMaW5rXT1cIlticmVhZGNydW1iPy51cmxdXCJcclxuICAgICAgICBbcXVlcnlQYXJhbXNdPVwiYnJlYWRjcnVtYj8ucGFyYW1zXCJcclxuICAgICAgICBjbGFzcz1cImllZWVzYS1ib2R5LXNtLTE0IHRleHQtZGVjb3JhdGlvbi1ub25lXCJcclxuICAgICAgICA+e3sgYnJlYWRjcnVtYi5sYWJlbCB9fTwvYVxyXG4gICAgICA+XHJcbiAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgIDxuZy10ZW1wbGF0ZSAjZGlzYWJsZUxpbms+XHJcbiAgICAgIDxzcGFuIGNsYXNzPVwiaWVlZXNhLWJvZHktc20tMTRcIj57eyBicmVhZGNydW1iLmxhYmVsIH19PC9zcGFuPlxyXG4gICAgPC9uZy10ZW1wbGF0ZT5cclxuICA8L2xpPlxyXG48L3VsPlxyXG4iXX0=
@@ -0,0 +1,69 @@
1
+ import { CommonModule } from '@angular/common';
2
+ import { Component, EventEmitter, Input, Output, ViewEncapsulation, } from '@angular/core';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "@angular/common";
5
+ /**
6
+ * StepperComponent is a reusable horizontal stepper for multi-step workflows.
7
+ * Displays numbered step indicators and emits step change events.
8
+ * @export
9
+ * @class StepperComponent
10
+ */
11
+ export class StepperComponent {
12
+ constructor() {
13
+ this.steps = [];
14
+ this.activeStepIndex = 0;
15
+ this.stepChange = new EventEmitter();
16
+ }
17
+ /**
18
+ * Returns only the visible steps.
19
+ * @readonly
20
+ * @type {StepConfig[]}
21
+ * @memberof StepperComponent
22
+ */
23
+ get visibleSteps() {
24
+ return this.steps.filter((step) => step.isVisible);
25
+ }
26
+ /**
27
+ * Navigates to a step if it's not disabled.
28
+ * Emits stepChange to let the parent update activeStepIndex (parent is source of truth).
29
+ * @param {number} index - index within visible steps
30
+ * @memberof StepperComponent
31
+ */
32
+ goToStep(index) {
33
+ const step = this.visibleSteps[index];
34
+ if (step && !step.isDisabled) {
35
+ this.stepChange.emit(index);
36
+ }
37
+ }
38
+ /**
39
+ * Moves to the next step.
40
+ * @memberof StepperComponent
41
+ */
42
+ nextStep() {
43
+ if (this.activeStepIndex < this.visibleSteps.length - 1) {
44
+ this.goToStep(this.activeStepIndex + 1);
45
+ }
46
+ }
47
+ /**
48
+ * Moves to the previous step.
49
+ * @memberof StepperComponent
50
+ */
51
+ previousStep() {
52
+ if (this.activeStepIndex > 0) {
53
+ this.goToStep(this.activeStepIndex - 1);
54
+ }
55
+ }
56
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: StepperComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
57
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: StepperComponent, isStandalone: true, selector: "ieeesa-stepper", inputs: { steps: "steps", activeStepIndex: "activeStepIndex" }, outputs: { stepChange: "stepChange" }, ngImport: i0, template: "<div class=\"ieeesa-stepper\">\r\n <div class=\"ieeesa-stepper__header\">\r\n <ng-container *ngFor=\"let step of visibleSteps; let i = index; let last = last\">\r\n <div\r\n class=\"ieeesa-stepper__step\"\r\n [class.ieeesa-stepper__step--active]=\"i === activeStepIndex\"\r\n [class.ieeesa-stepper__step--completed]=\"step.isCompleted\"\r\n [class.ieeesa-stepper__step--disabled]=\"step.isDisabled\"\r\n [attr.aria-label]=\"step.label\"\r\n [attr.aria-disabled]=\"step.isDisabled\"\r\n role=\"tab\"\r\n [attr.aria-selected]=\"i === activeStepIndex\"\r\n [attr.tabindex]=\"step.isDisabled ? -1 : 0\"\r\n (click)=\"goToStep(i)\"\r\n (keydown.enter)=\"goToStep(i)\"\r\n (keydown.space)=\"goToStep(i); $event.preventDefault()\"\r\n >\r\n <span class=\"ieeesa-stepper__step-number\">{{ i + 1 }}</span>\r\n <span class=\"ieeesa-stepper__step-label\">{{ step.label }}</span>\r\n </div>\r\n <div *ngIf=\"!last\" class=\"ieeesa-stepper__connector\"></div>\r\n </ng-container>\r\n </div>\r\n <div class=\"ieeesa-stepper__content\">\r\n <ng-content></ng-content>\r\n </div>\r\n</div>\r\n", styles: [".ieeesa-stepper{width:100%}.ieeesa-stepper__header{display:flex;align-items:center;justify-content:space-between;border-bottom:3px solid #DCE2E8;margin-bottom:24px}.ieeesa-stepper__step{display:flex;align-items:center;gap:8px;padding:12px 24px;position:relative;cursor:default;transition:all .2s}.ieeesa-stepper__step--active .ieeesa-stepper__step-number{background-color:#00629b;color:#fff}.ieeesa-stepper__step--active .ieeesa-stepper__step-label{color:#00629b;font-weight:600}.ieeesa-stepper__step--active:after{content:\"\";position:absolute;bottom:-1px;left:0;right:0;height:3px;background-color:#00629b}.ieeesa-stepper__step--completed .ieeesa-stepper__step-number{background-color:#00629b;color:#fff}.ieeesa-stepper__step--completed .ieeesa-stepper__step-label{color:#333}.ieeesa-stepper__step--disabled{cursor:default;opacity:.6}.ieeesa-stepper__step--disabled .ieeesa-stepper__step-number{background-color:#e0e0e0;color:#687385}.ieeesa-stepper__step--disabled .ieeesa-stepper__step-label{color:#687385}.ieeesa-stepper__step-number{display:flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:50%;background-color:#e0e0e0;color:#687385;font-size:13px;font-weight:600;flex-shrink:0}.ieeesa-stepper__step-label{font-size:14px;font-weight:500;color:#666;white-space:nowrap}.ieeesa-stepper__connector{flex:1;min-width:40px}.ieeesa-stepper__content{padding:0}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], encapsulation: i0.ViewEncapsulation.None }); }
58
+ }
59
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: StepperComponent, decorators: [{
60
+ type: Component,
61
+ args: [{ selector: 'ieeesa-stepper', standalone: true, imports: [CommonModule], encapsulation: ViewEncapsulation.None, template: "<div class=\"ieeesa-stepper\">\r\n <div class=\"ieeesa-stepper__header\">\r\n <ng-container *ngFor=\"let step of visibleSteps; let i = index; let last = last\">\r\n <div\r\n class=\"ieeesa-stepper__step\"\r\n [class.ieeesa-stepper__step--active]=\"i === activeStepIndex\"\r\n [class.ieeesa-stepper__step--completed]=\"step.isCompleted\"\r\n [class.ieeesa-stepper__step--disabled]=\"step.isDisabled\"\r\n [attr.aria-label]=\"step.label\"\r\n [attr.aria-disabled]=\"step.isDisabled\"\r\n role=\"tab\"\r\n [attr.aria-selected]=\"i === activeStepIndex\"\r\n [attr.tabindex]=\"step.isDisabled ? -1 : 0\"\r\n (click)=\"goToStep(i)\"\r\n (keydown.enter)=\"goToStep(i)\"\r\n (keydown.space)=\"goToStep(i); $event.preventDefault()\"\r\n >\r\n <span class=\"ieeesa-stepper__step-number\">{{ i + 1 }}</span>\r\n <span class=\"ieeesa-stepper__step-label\">{{ step.label }}</span>\r\n </div>\r\n <div *ngIf=\"!last\" class=\"ieeesa-stepper__connector\"></div>\r\n </ng-container>\r\n </div>\r\n <div class=\"ieeesa-stepper__content\">\r\n <ng-content></ng-content>\r\n </div>\r\n</div>\r\n", styles: [".ieeesa-stepper{width:100%}.ieeesa-stepper__header{display:flex;align-items:center;justify-content:space-between;border-bottom:3px solid #DCE2E8;margin-bottom:24px}.ieeesa-stepper__step{display:flex;align-items:center;gap:8px;padding:12px 24px;position:relative;cursor:default;transition:all .2s}.ieeesa-stepper__step--active .ieeesa-stepper__step-number{background-color:#00629b;color:#fff}.ieeesa-stepper__step--active .ieeesa-stepper__step-label{color:#00629b;font-weight:600}.ieeesa-stepper__step--active:after{content:\"\";position:absolute;bottom:-1px;left:0;right:0;height:3px;background-color:#00629b}.ieeesa-stepper__step--completed .ieeesa-stepper__step-number{background-color:#00629b;color:#fff}.ieeesa-stepper__step--completed .ieeesa-stepper__step-label{color:#333}.ieeesa-stepper__step--disabled{cursor:default;opacity:.6}.ieeesa-stepper__step--disabled .ieeesa-stepper__step-number{background-color:#e0e0e0;color:#687385}.ieeesa-stepper__step--disabled .ieeesa-stepper__step-label{color:#687385}.ieeesa-stepper__step-number{display:flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:50%;background-color:#e0e0e0;color:#687385;font-size:13px;font-weight:600;flex-shrink:0}.ieeesa-stepper__step-label{font-size:14px;font-weight:500;color:#666;white-space:nowrap}.ieeesa-stepper__connector{flex:1;min-width:40px}.ieeesa-stepper__content{padding:0}\n"] }]
62
+ }], propDecorators: { steps: [{
63
+ type: Input
64
+ }], activeStepIndex: [{
65
+ type: Input
66
+ }], stepChange: [{
67
+ type: Output
68
+ }] } });
69
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RlcHBlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wcmVzZW50YXRpb24vc3JjL2xpYi9jb21wb25lbnRzL3N0ZXBwZXIvc3RlcHBlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wcmVzZW50YXRpb24vc3JjL2xpYi9jb21wb25lbnRzL3N0ZXBwZXIvc3RlcHBlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUNMLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUNMLE1BQU0sRUFDTixpQkFBaUIsR0FDbEIsTUFBTSxlQUFlLENBQUM7OztBQVV2Qjs7Ozs7R0FLRztBQVNILE1BQU0sT0FBTyxnQkFBZ0I7SUFSN0I7UUFTVyxVQUFLLEdBQWlCLEVBQUUsQ0FBQztRQUN6QixvQkFBZSxHQUFHLENBQUMsQ0FBQztRQUNuQixlQUFVLEdBQUcsSUFBSSxZQUFZLEVBQVUsQ0FBQztLQTRDbkQ7SUExQ0M7Ozs7O09BS0c7SUFDSCxJQUFJLFlBQVk7UUFDZCxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDckQsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0gsUUFBUSxDQUFDLEtBQWE7UUFDcEIsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN0QyxJQUFJLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUU7WUFDNUIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDN0I7SUFDSCxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsUUFBUTtRQUNOLElBQUksSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUU7WUFDdkQsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsZUFBZSxHQUFHLENBQUMsQ0FBQyxDQUFDO1NBQ3pDO0lBQ0gsQ0FBQztJQUVEOzs7T0FHRztJQUNILFlBQVk7UUFDVixJQUFJLElBQUksQ0FBQyxlQUFlLEdBQUcsQ0FBQyxFQUFFO1lBQzVCLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLGVBQWUsR0FBRyxDQUFDLENBQUMsQ0FBQztTQUN6QztJQUNILENBQUM7K0dBOUNVLGdCQUFnQjttR0FBaEIsZ0JBQWdCLGlMQy9CN0IseXJDQTJCQSw0NkNERFksWUFBWTs7NEZBS1gsZ0JBQWdCO2tCQVI1QixTQUFTOytCQUNFLGdCQUFnQixjQUNkLElBQUksV0FDUCxDQUFDLFlBQVksQ0FBQyxpQkFHUixpQkFBaUIsQ0FBQyxJQUFJOzhCQUc1QixLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csZUFBZTtzQkFBdkIsS0FBSztnQkFDSSxVQUFVO3NCQUFuQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHtcclxuICBDb21wb25lbnQsXHJcbiAgRXZlbnRFbWl0dGVyLFxyXG4gIElucHV0LFxyXG4gIE91dHB1dCxcclxuICBWaWV3RW5jYXBzdWxhdGlvbixcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgU3RlcENvbmZpZyB7XHJcbiAgaWQ6IG51bWJlcjtcclxuICBsYWJlbDogc3RyaW5nO1xyXG4gIGlzVmlzaWJsZTogYm9vbGVhbjtcclxuICBpc0NvbXBsZXRlZDogYm9vbGVhbjtcclxuICBpc0Rpc2FibGVkOiBib29sZWFuO1xyXG59XHJcblxyXG4vKipcclxuICogU3RlcHBlckNvbXBvbmVudCBpcyBhIHJldXNhYmxlIGhvcml6b250YWwgc3RlcHBlciBmb3IgbXVsdGktc3RlcCB3b3JrZmxvd3MuXHJcbiAqIERpc3BsYXlzIG51bWJlcmVkIHN0ZXAgaW5kaWNhdG9ycyBhbmQgZW1pdHMgc3RlcCBjaGFuZ2UgZXZlbnRzLlxyXG4gKiBAZXhwb3J0XHJcbiAqIEBjbGFzcyBTdGVwcGVyQ29tcG9uZW50XHJcbiAqL1xyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2llZWVzYS1zdGVwcGVyJyxcclxuICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGVdLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9zdGVwcGVyLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9zdGVwcGVyLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcclxufSlcclxuZXhwb3J0IGNsYXNzIFN0ZXBwZXJDb21wb25lbnQge1xyXG4gIEBJbnB1dCgpIHN0ZXBzOiBTdGVwQ29uZmlnW10gPSBbXTtcclxuICBASW5wdXQoKSBhY3RpdmVTdGVwSW5kZXggPSAwO1xyXG4gIEBPdXRwdXQoKSBzdGVwQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxudW1iZXI+KCk7XHJcblxyXG4gIC8qKlxyXG4gICAqIFJldHVybnMgb25seSB0aGUgdmlzaWJsZSBzdGVwcy5cclxuICAgKiBAcmVhZG9ubHlcclxuICAgKiBAdHlwZSB7U3RlcENvbmZpZ1tdfVxyXG4gICAqIEBtZW1iZXJvZiBTdGVwcGVyQ29tcG9uZW50XHJcbiAgICovXHJcbiAgZ2V0IHZpc2libGVTdGVwcygpOiBTdGVwQ29uZmlnW10ge1xyXG4gICAgcmV0dXJuIHRoaXMuc3RlcHMuZmlsdGVyKChzdGVwKSA9PiBzdGVwLmlzVmlzaWJsZSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBOYXZpZ2F0ZXMgdG8gYSBzdGVwIGlmIGl0J3Mgbm90IGRpc2FibGVkLlxyXG4gICAqIEVtaXRzIHN0ZXBDaGFuZ2UgdG8gbGV0IHRoZSBwYXJlbnQgdXBkYXRlIGFjdGl2ZVN0ZXBJbmRleCAocGFyZW50IGlzIHNvdXJjZSBvZiB0cnV0aCkuXHJcbiAgICogQHBhcmFtIHtudW1iZXJ9IGluZGV4IC0gaW5kZXggd2l0aGluIHZpc2libGUgc3RlcHNcclxuICAgKiBAbWVtYmVyb2YgU3RlcHBlckNvbXBvbmVudFxyXG4gICAqL1xyXG4gIGdvVG9TdGVwKGluZGV4OiBudW1iZXIpOiB2b2lkIHtcclxuICAgIGNvbnN0IHN0ZXAgPSB0aGlzLnZpc2libGVTdGVwc1tpbmRleF07XHJcbiAgICBpZiAoc3RlcCAmJiAhc3RlcC5pc0Rpc2FibGVkKSB7XHJcbiAgICAgIHRoaXMuc3RlcENoYW5nZS5lbWl0KGluZGV4KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIE1vdmVzIHRvIHRoZSBuZXh0IHN0ZXAuXHJcbiAgICogQG1lbWJlcm9mIFN0ZXBwZXJDb21wb25lbnRcclxuICAgKi9cclxuICBuZXh0U3RlcCgpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLmFjdGl2ZVN0ZXBJbmRleCA8IHRoaXMudmlzaWJsZVN0ZXBzLmxlbmd0aCAtIDEpIHtcclxuICAgICAgdGhpcy5nb1RvU3RlcCh0aGlzLmFjdGl2ZVN0ZXBJbmRleCArIDEpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogTW92ZXMgdG8gdGhlIHByZXZpb3VzIHN0ZXAuXHJcbiAgICogQG1lbWJlcm9mIFN0ZXBwZXJDb21wb25lbnRcclxuICAgKi9cclxuICBwcmV2aW91c1N0ZXAoKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5hY3RpdmVTdGVwSW5kZXggPiAwKSB7XHJcbiAgICAgIHRoaXMuZ29Ub1N0ZXAodGhpcy5hY3RpdmVTdGVwSW5kZXggLSAxKTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cImllZWVzYS1zdGVwcGVyXCI+XHJcbiAgPGRpdiBjbGFzcz1cImllZWVzYS1zdGVwcGVyX19oZWFkZXJcIj5cclxuICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IHN0ZXAgb2YgdmlzaWJsZVN0ZXBzOyBsZXQgaSA9IGluZGV4OyBsZXQgbGFzdCA9IGxhc3RcIj5cclxuICAgICAgPGRpdlxyXG4gICAgICAgIGNsYXNzPVwiaWVlZXNhLXN0ZXBwZXJfX3N0ZXBcIlxyXG4gICAgICAgIFtjbGFzcy5pZWVlc2Etc3RlcHBlcl9fc3RlcC0tYWN0aXZlXT1cImkgPT09IGFjdGl2ZVN0ZXBJbmRleFwiXHJcbiAgICAgICAgW2NsYXNzLmllZWVzYS1zdGVwcGVyX19zdGVwLS1jb21wbGV0ZWRdPVwic3RlcC5pc0NvbXBsZXRlZFwiXHJcbiAgICAgICAgW2NsYXNzLmllZWVzYS1zdGVwcGVyX19zdGVwLS1kaXNhYmxlZF09XCJzdGVwLmlzRGlzYWJsZWRcIlxyXG4gICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwic3RlcC5sYWJlbFwiXHJcbiAgICAgICAgW2F0dHIuYXJpYS1kaXNhYmxlZF09XCJzdGVwLmlzRGlzYWJsZWRcIlxyXG4gICAgICAgIHJvbGU9XCJ0YWJcIlxyXG4gICAgICAgIFthdHRyLmFyaWEtc2VsZWN0ZWRdPVwiaSA9PT0gYWN0aXZlU3RlcEluZGV4XCJcclxuICAgICAgICBbYXR0ci50YWJpbmRleF09XCJzdGVwLmlzRGlzYWJsZWQgPyAtMSA6IDBcIlxyXG4gICAgICAgIChjbGljayk9XCJnb1RvU3RlcChpKVwiXHJcbiAgICAgICAgKGtleWRvd24uZW50ZXIpPVwiZ29Ub1N0ZXAoaSlcIlxyXG4gICAgICAgIChrZXlkb3duLnNwYWNlKT1cImdvVG9TdGVwKGkpOyAkZXZlbnQucHJldmVudERlZmF1bHQoKVwiXHJcbiAgICAgID5cclxuICAgICAgICA8c3BhbiBjbGFzcz1cImllZWVzYS1zdGVwcGVyX19zdGVwLW51bWJlclwiPnt7IGkgKyAxIH19PC9zcGFuPlxyXG4gICAgICAgIDxzcGFuIGNsYXNzPVwiaWVlZXNhLXN0ZXBwZXJfX3N0ZXAtbGFiZWxcIj57eyBzdGVwLmxhYmVsIH19PC9zcGFuPlxyXG4gICAgICA8L2Rpdj5cclxuICAgICAgPGRpdiAqbmdJZj1cIiFsYXN0XCIgY2xhc3M9XCJpZWVlc2Etc3RlcHBlcl9fY29ubmVjdG9yXCI+PC9kaXY+XHJcbiAgICA8L25nLWNvbnRhaW5lcj5cclxuICA8L2Rpdj5cclxuICA8ZGl2IGNsYXNzPVwiaWVlZXNhLXN0ZXBwZXJfX2NvbnRlbnRcIj5cclxuICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cclxuICA8L2Rpdj5cclxuPC9kaXY+XHJcbiJdfQ==
@@ -18,6 +18,7 @@ export class TextAreaComponent {
18
18
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
19
19
  this.constants = constantsInfo;
20
20
  this.supportTextLinkClick = new EventEmitter();
21
+ this.inputValueChange = new EventEmitter();
21
22
  }
22
23
  /**
23
24
  * Initializes the leftCharCount and remainingCharsLeftMessage
@@ -54,6 +55,7 @@ export class TextAreaComponent {
54
55
  count = this.config.maxRangeLimit - validRangesCount;
55
56
  }
56
57
  this.leftCharCount = count > 0 ? count : 0;
58
+ this.inputValueChange.emit(event.target?.value);
57
59
  }
58
60
  /**
59
61
  * Emits supportTextLinkClick event on click of form support text link
@@ -64,7 +66,7 @@ export class TextAreaComponent {
64
66
  this.supportTextLinkClick.emit(event);
65
67
  }
66
68
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TextAreaComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
67
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TextAreaComponent, isStandalone: true, selector: "ieeesa-text-area", inputs: { remainingCharsLeftMessage: "remainingCharsLeftMessage" }, outputs: { supportTextLinkClick: "supportTextLinkClick" }, ngImport: i0, template: "<div\r\n class=\"ieeesa-text-area-field\"\r\n [formGroup]=\"group\"\r\n [ngClass]=\"\r\n config.isLabelAlignedLeft\r\n ? 'ieeesa-text-area-field__label-left'\r\n : 'ieeesa-text-area-field__label-top'\r\n \"\r\n>\r\n <mat-label class=\"ieeesa-body-sm-14 ieeesa-text-area-field__label\">\r\n <span\r\n class=\"d-flex justify-content-between\"\r\n *ngIf=\"config?.maxCharCount || config?.maxRangeLimit\"\r\n >\r\n <span class=\"ieeesa-text-area-field__label-text\">\r\n {{ config.label }}\r\n </span>\r\n <span>\r\n <span class=\"ieeesa-text-area-field__left-char-count\">{{\r\n leftCharCount\r\n }}</span\r\n ><span class=\"ieeesa-text-area-field__left-char-text\">{{\r\n remainingCharsLeftMessage\r\n }}</span>\r\n </span>\r\n </span>\r\n <ng-container *ngIf=\"!config?.maxCharCount && !config?.maxRangeLimit\">\r\n {{ config.label }}\r\n </ng-container>\r\n </mat-label>\r\n <mat-form-field appearance=\"fill\">\r\n <textarea\r\n [name]=\"config.name ?? ''\"\r\n cdkTextareaAutosize\r\n matInput\r\n [attr.aria-label]=\"config.ariaLabel ?? ''\"\r\n [attr.aria-multiline]=\"config?.ariaMultiline ?? true\"\r\n [aria-describedby]=\"config.ariaDescribedById ?? ''\"\r\n [placeholder]=\"config.placeholder ?? ''\"\r\n [formControlName]=\"config.controlName\"\r\n [maxlength]=\"config.maxLength ?? constants.textarea.maxLengthDefault\"\r\n [readonly]=\"config.isReadonly\"\r\n (input)=\"onChange($event)\"\r\n class=\"ieeesa-text-area-field__content ieeesa-body-lg-18 {{\r\n config.controlName\r\n }}\"\r\n [ngClass]=\"\r\n config.isResize\r\n ? 'ieeesa-text-area-field__resize'\r\n : 'ieeesa-text-area-field__no-resize'\r\n \"\r\n >\r\n {{ config.value }}</textarea\r\n >\r\n </mat-form-field>\r\n <ieeesa-form-error [formGroup]=\"group\" [config]=\"config\"> </ieeesa-form-error>\r\n <ieeesa-form-support-text\r\n [formGroup]=\"group\"\r\n [config]=\"config\"\r\n (supportTextLinkClick)=\"onSupportTextLinkClick($event)\"\r\n ></ieeesa-form-support-text>\r\n</div>\r\n", styles: [".ieeesa-subtitle{text-align:left;font-family:Calibri Regular;font-size:1.5625rem;letter-spacing:0;color:#000;opacity:1}.ieeesa-body{text-align:left;font-family:Calibri Regular;font-size:1.25rem;letter-spacing:0;color:#000;opacity:1}.ieeesa-display-lg-57{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:3.5625rem;line-height:64px;color:#000;letter-spacing:0}.ieeesa-display-md-45{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2.813rem;line-height:52px;color:#000;letter-spacing:0}.ieeesa-display-md-47{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2.9375rem;line-height:52px;color:#000;letter-spacing:0}.ieeesa-display-sm-38{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2.375rem;line-height:44px;color:#000;letter-spacing:0}.ieeesa-headline-lg-32{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2rem;line-height:40px;color:#000;letter-spacing:0}.ieeesa-headline-lg-34{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2.125rem;line-height:40px;color:#000;letter-spacing:0}.ieeesa-headline-md-30{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.875rem;line-height:36px;color:#000;letter-spacing:0}.ieeesa-headline-sm-24{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.5rem;line-height:32px;color:#00629b;letter-spacing:0}.ieeesa-headline-sm-26{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.625rem;line-height:32px;color:#000;letter-spacing:0}.ieeesa-title-lg-bold-24{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1.5rem;line-height:28px;color:#000;letter-spacing:0}.ieeesa-title-lg-24{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.5rem;line-height:28px;color:#000;letter-spacing:0}.ieeesa-title-md-18{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.125rem;line-height:24px;color:#000;letter-spacing:.009375em}.ieeesa-title-sm-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-title-sm-16{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1rem;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-label-lg-bold-16{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1rem;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-label-lg-16{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1rem;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-btn-label-lg-bold-16{font-family:Calibri Regular;font-style:normal;font-weight:700;font-size:1rem;line-height:20px;color:#00629b;letter-spacing:.00625em}.ieeesa-label-md-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:16px;color:#000;letter-spacing:.03125em}.ieeesa-label-sm-13{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.8125rem;line-height:16px;color:#000;letter-spacing:.03125em}.ieeesa-body-lg-bold-16{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1rem;line-height:24px;color:#000;letter-spacing:.03125em}.ieeesa-body-lg-bold-18{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1.125rem;line-height:24px;color:#000;letter-spacing:.03125em}.ieeesa-body-lg-18{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.125rem;line-height:24px;color:#000;letter-spacing:.03125em}.ieeesa-body-md-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:20px;color:#1c1b1f;letter-spacing:.015625em}.ieeesa-body-md-16{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1rem;line-height:20px;color:#000;letter-spacing:.015625em}.ieeesa-body-sm-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:16px;color:#000;letter-spacing:.025em}.ieeesa-body-sm-12{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.75rem;line-height:16px;color:#000;letter-spacing:.025em}.ieeesa-body-color-sm-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:18px;color:#49454f;letter-spacing:.025em}.ieeesa-body-sm-bold-14{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:.875rem;line-height:16px;color:#000;letter-spacing:.025em}.ieeesa-title-inter-lg-bold-24{font-family:Inter Bold;font-style:normal;font-weight:700;font-size:1.5rem;line-height:29px;color:#000;letter-spacing:0}.mat-mdc-button.mat-mdc-button-base.mat-primary-button,.mat-mdc-button.mat-mdc-button-base.mat-secondary-button,.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button,.mat-mdc-button.mat-mdc-button-base.mat-text-button{min-width:103px;width:auto;min-height:40px;height:auto;border-radius:3px;text-align:center;padding:.625em 1.5em;border:none;font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1rem;line-height:20px;color:#000;letter-spacing:.00625em}.mat-mdc-button.mat-mdc-button-base>.mat-icon{margin-right:11px}.mat-mdc-button.mat-mdc-button-base.mat-primary-button{background-color:#00629b;color:#fff}.mat-mdc-button.mat-mdc-button-base.mat-primary-button:focus{background:#1f75a7}.mat-mdc-button.mat-mdc-button-base.mat-primary-button:hover{background-color:#003e65}.mat-mdc-button.mat-mdc-button-base.mat-primary-button:active{background-color:#00629b}.mat-mdc-button.mat-mdc-button-base.mat-primary-button:disabled{background-color:#1c1b1f1f}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button{color:#fff;background:#a7a8aa;box-shadow:0 1px 2px #0000004d,0 2px 6px 2px #00000026}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button:hover{background:#a7a8aa}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button:focus{background:#f0f5f9}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button:active{background:#1d192b1f}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button:disabled{background:#1c1b1f1f;color:#1c1b1f;opacity:.38}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button{background-color:#fff;border:1px solid #00629b;color:#00629b}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button:hover{background-color:#6750a414}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button:focus{background-color:#f0f5f9}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button:active{background:#6750a41f}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button:disabled{border:1px solid rgba(28,27,31,.12);color:#1c1b1f;opacity:.38}.mat-mdc-button.mat-mdc-button-base.mat-text-button{color:#00629b}.mat-mdc-button.mat-mdc-button-base.mat-text-button:hover,.mat-mdc-button.mat-mdc-button-base.mat-text-button:active{background:#6750a414}.mat-mdc-button.mat-mdc-button-base.mat-text-button:disabled{color:#1c1b1f;opacity:.38}.ieeesa-text-button{color:#cac4d0;background:none;border:none}.ieeesa-view-more-or-less-button{border:none;background:none;text-decoration:underline;color:#00629b}.flex-align-center{display:flex;align-items:center;justify-content:center}.mat-button-toggle-checked{background-color:#a7a8aa}.mat-button-toggle-checked .mat-button-toggle-label-content:before{font-family:\"Font Awesome 5 Free\";font-weight:900;content:\"\\f00c\";padding-right:.5625em}.mat-button-toggle-group .mat-button-toggle-label-content{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1rem;line-height:20px;color:#1c1b1f;letter-spacing:.00625em}.no-bg-color-btn{color:#00629b;border-radius:3px;border:1px solid #00629b;min-height:40px;height:auto}@media (max-width: 768px){.mat-button-toggle-group .mat-button-toggle-label-content{max-width:8ch;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;position:relative}}.cdk-overlay-pane .mat-mdc-tooltip .mdc-tooltip__surface{color:#525252;padding:6px 12px;font-family:Calibri Regular;font-size:1rem;border:1px solid #cac4d0;background:#fff;box-shadow:0 4px 8px #00000040;max-width:unset!important}.cdk-overlay-pane .mat-mdc-option .mdc-list-item__primary-text{font-family:Calibri Regular!important}.cdk-overlay-pane.ieeesa-modal-confirm-dialog,.cdk-overlay-pane.ieeesa-modal-dialog,.cdk-overlay-pane.ieeesa-alert-dialog{width:100%;min-width:312px}.mat-mdc-form-field{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1rem;line-height:24px;color:#49454f;letter-spacing:.03125em}.ieeesa-cancel-modal-confirm-dialog{width:25vw!important}.ieeesa-cancel-modal-confirm-dialog .ieeesa-confirmation{padding:1.5em 1.5em 1em}.ieeesa-cancel-modal-confirm-dialog .ieeesa-confirmation .mat-mdc-dialog-content{text-align:center;padding:0 0 1em!important}.mat-mdc-button,.mat-mdc-outlined-button{--mat-mdc-button-persistent-ripple-color: unset}@media (max-width: 768px){.ieeesa-cancel-modal-confirm-dialog{width:90vw!important}}.ieeesa-wrapper-border{border:1px solid #b2b7be;border-top:none;padding:1.5em;border-radius:0 0 4px 4px}.ieeesa-text-area-field .mat-mdc-form-field-subscript-wrapper{display:none}.ieeesa-text-area-field__label-left{display:flex}.ieeesa-text-area-field__label-top{display:block}.ieeesa-text-area-field__content{width:100%;border:none;border-radius:4px 4px 0 0;font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1rem;line-height:24px;color:#49454f;letter-spacing:.03125em}.ieeesa-text-area-field .mdc-text-field--filled:not(.mdc-text-field--disabled) .mdc-text-field__input{color:#1c1b1f}.ieeesa-text-area-field__no-resize{resize:none}.ieeesa-text-area-field__resize{resize:auto}.ieeesa-text-area-field__left-char-count{font-weight:700;color:#63666a}.ieeesa-text-area-field__left-char-text{color:#63666a}.ieeesa-text-area-field ::placeholder{color:#63666a!important;font-size:1rem}.ieeesa-text-area-field .ieeesa-body-sm-14{font-size:.75rem;color:#49454f}.ieeesa-text-area-field .mat-mdc-form-field{width:-webkit-fill-available;width:-moz-available}.ieeesa-text-area-field .mat-mdc-form-field .mat-mdc-form-field-infix{min-height:40px}.ieeesa-text-area-field .mdc-text-field--no-label:not(.mdc-text-field--outlined):not(.mdc-text-field--textarea) .mat-mdc-form-field-infix{padding-top:5px;padding-bottom:5px}.ieeesa-text-area-field .mat-mdc-text-field-wrapper{background:#fff!important;border-top:1px solid #878b8f;border-right:1px solid #878b8f;border-left:1px solid #878b8f;border-radius:4px}.ieeesa-text-area-field .mat-mdc-form-field-focus-overlay{background:#fff}.ieeesa-text-area-field:has(.mdc-text-field) .mdc-text-field--filled .mdc-line-ripple:before,.ieeesa-text-area-field:has(.mdc-text-field) .mdc-text-field--filled:not(.mdc-text-field--invalid):not(.mdc-text-field--disabled):not(.mdc-text-field--focused):hover .mdc-line-ripple:before{border-bottom-color:#878b8f}.ieeesa-text-area-field .mdc-text-field--filled.mdc-text-field--invalid:not(.mdc-text-field--disabled):not(.mdc-text-field--focused):hover .mdc-line-ripple:before{border-bottom:2px solid #ba0c2f}.ieeesa-text-area-field:has(.mdc-text-field--focused) .mdc-text-field--filled{border-top:2px solid #00629b;border-right:2px solid #00629b;border-left:2px solid #00629b}.ieeesa-text-area-field:has(.mdc-text-field--focused) .mdc-text-field--filled .mdc-line-ripple:after{border-bottom:2px solid #00629b}.ieeesa-text-area-field:has(.mdc-text-field--invalid .mdc-line-ripple--active) .ieeesa-text-area-field__label{color:#ba0c2f!important}.ieeesa-text-area-field:has(.mdc-text-field--invalid) .ieeesa-text-area-field__label{color:#ba0c2f!important}.ieeesa-text-area-field:has(.mdc-text-field--invalid) .mdc-text-field--filled{border-top:2px solid #ba0c2f;border-right:2px solid #ba0c2f;border-left:2px solid #ba0c2f}.ieeesa-text-area-field:has(.mdc-text-field--invalid) .mdc-text-field--filled .mdc-line-ripple:after,.ieeesa-text-area-field:has(.mdc-text-field--invalid) .mdc-text-field--filled .mdc-line-ripple:before{border-bottom:2px solid #ba0c2f}.ieeesa-text-area-field:has(.mdc-line-ripple--active) .ieeesa-text-area-field__label{color:#00629b!important}.ieeesa-text-area-field:has(.mdc-line-ripple--active) .mat-mdc-form-field-focus-overlay{background-color:#fff}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { kind: "directive", type: i2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: FormErrorComponent, selector: "ieeesa-form-error", inputs: ["formGroup", "config", "submitResponse"] }, { kind: "ngmodule", type: MatFormFieldModule }, { kind: "component", type: i3.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i3.MatLabel, selector: "mat-label" }, { kind: "ngmodule", type: MatInputModule }, { kind: "directive", type: i4.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "directive", type: i5.CdkTextareaAutosize, selector: "textarea[cdkTextareaAutosize]", inputs: ["cdkAutosizeMinRows", "cdkAutosizeMaxRows", "cdkTextareaAutosize", "placeholder"], exportAs: ["cdkTextareaAutosize"] }, { kind: "ngmodule", type: TextFieldModule }, { kind: "component", type: FormSupportTextComponent, selector: "ieeesa-form-support-text", inputs: ["formGroup", "config"], outputs: ["supportTextLinkClick"] }], encapsulation: i0.ViewEncapsulation.None }); }
69
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TextAreaComponent, isStandalone: true, selector: "ieeesa-text-area", inputs: { remainingCharsLeftMessage: "remainingCharsLeftMessage" }, outputs: { supportTextLinkClick: "supportTextLinkClick", inputValueChange: "inputValueChange" }, ngImport: i0, template: "<div\r\n class=\"ieeesa-text-area-field\"\r\n [formGroup]=\"group\"\r\n [ngClass]=\"\r\n config.isLabelAlignedLeft\r\n ? 'ieeesa-text-area-field__label-left'\r\n : 'ieeesa-text-area-field__label-top'\r\n \"\r\n>\r\n <mat-label class=\"ieeesa-body-sm-14 ieeesa-text-area-field__label\">\r\n <span\r\n class=\"d-flex justify-content-between\"\r\n *ngIf=\"config?.maxCharCount || config?.maxRangeLimit\"\r\n >\r\n <span class=\"ieeesa-text-area-field__label-text\">\r\n {{ config.label }}\r\n </span>\r\n <span>\r\n <span class=\"ieeesa-text-area-field__left-char-count\">{{\r\n leftCharCount\r\n }}</span\r\n ><span class=\"ieeesa-text-area-field__left-char-text\">{{\r\n remainingCharsLeftMessage\r\n }}</span>\r\n </span>\r\n </span>\r\n <ng-container *ngIf=\"!config?.maxCharCount && !config?.maxRangeLimit\">\r\n {{ config.label }}\r\n </ng-container>\r\n </mat-label>\r\n <mat-form-field appearance=\"fill\">\r\n <textarea\r\n [name]=\"config.name ?? ''\"\r\n cdkTextareaAutosize\r\n matInput\r\n [attr.aria-label]=\"config.ariaLabel ?? ''\"\r\n [attr.aria-multiline]=\"config?.ariaMultiline ?? true\"\r\n [aria-describedby]=\"config.ariaDescribedById ?? ''\"\r\n [placeholder]=\"config.placeholder ?? ''\"\r\n [formControlName]=\"config.controlName\"\r\n [maxlength]=\"config.maxLength ?? constants.textarea.maxLengthDefault\"\r\n [readonly]=\"config.isReadonly\"\r\n (input)=\"onChange($event)\"\r\n class=\"ieeesa-text-area-field__content ieeesa-body-lg-18 {{\r\n config.controlName\r\n }}\"\r\n [ngClass]=\"\r\n config.isResize\r\n ? 'ieeesa-text-area-field__resize'\r\n : 'ieeesa-text-area-field__no-resize'\r\n \"\r\n >\r\n {{ config.value }}</textarea\r\n >\r\n </mat-form-field>\r\n <ieeesa-form-error [formGroup]=\"group\" [config]=\"config\"> </ieeesa-form-error>\r\n <ieeesa-form-support-text\r\n [formGroup]=\"group\"\r\n [config]=\"config\"\r\n (supportTextLinkClick)=\"onSupportTextLinkClick($event)\"\r\n ></ieeesa-form-support-text>\r\n</div>\r\n", styles: [".ieeesa-subtitle{text-align:left;font-family:Calibri Regular;font-size:1.5625rem;letter-spacing:0;color:#000;opacity:1}.ieeesa-body{text-align:left;font-family:Calibri Regular;font-size:1.25rem;letter-spacing:0;color:#000;opacity:1}.ieeesa-display-lg-57{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:3.5625rem;line-height:64px;color:#000;letter-spacing:0}.ieeesa-display-md-45{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2.813rem;line-height:52px;color:#000;letter-spacing:0}.ieeesa-display-md-47{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2.9375rem;line-height:52px;color:#000;letter-spacing:0}.ieeesa-display-sm-38{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2.375rem;line-height:44px;color:#000;letter-spacing:0}.ieeesa-headline-lg-32{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2rem;line-height:40px;color:#000;letter-spacing:0}.ieeesa-headline-lg-34{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2.125rem;line-height:40px;color:#000;letter-spacing:0}.ieeesa-headline-md-30{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.875rem;line-height:36px;color:#000;letter-spacing:0}.ieeesa-headline-sm-24{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.5rem;line-height:32px;color:#00629b;letter-spacing:0}.ieeesa-headline-sm-26{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.625rem;line-height:32px;color:#000;letter-spacing:0}.ieeesa-title-lg-bold-24{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1.5rem;line-height:28px;color:#000;letter-spacing:0}.ieeesa-title-lg-24{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.5rem;line-height:28px;color:#000;letter-spacing:0}.ieeesa-title-md-18{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.125rem;line-height:24px;color:#000;letter-spacing:.009375em}.ieeesa-title-sm-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-title-sm-16{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1rem;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-label-lg-bold-16{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1rem;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-label-lg-16{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1rem;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-btn-label-lg-bold-16{font-family:Calibri Regular;font-style:normal;font-weight:700;font-size:1rem;line-height:20px;color:#00629b;letter-spacing:.00625em}.ieeesa-label-md-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:16px;color:#000;letter-spacing:.03125em}.ieeesa-label-sm-13{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.8125rem;line-height:16px;color:#000;letter-spacing:.03125em}.ieeesa-body-lg-bold-16{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1rem;line-height:24px;color:#000;letter-spacing:.03125em}.ieeesa-body-lg-bold-18{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1.125rem;line-height:24px;color:#000;letter-spacing:.03125em}.ieeesa-body-lg-18{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.125rem;line-height:24px;color:#000;letter-spacing:.03125em}.ieeesa-body-md-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:20px;color:#1c1b1f;letter-spacing:.015625em}.ieeesa-body-md-16{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1rem;line-height:20px;color:#000;letter-spacing:.015625em}.ieeesa-body-sm-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:16px;color:#000;letter-spacing:.025em}.ieeesa-body-sm-12{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.75rem;line-height:16px;color:#000;letter-spacing:.025em}.ieeesa-body-color-sm-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:18px;color:#49454f;letter-spacing:.025em}.ieeesa-body-sm-bold-14{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:.875rem;line-height:16px;color:#000;letter-spacing:.025em}.ieeesa-title-inter-lg-bold-24{font-family:Inter Bold;font-style:normal;font-weight:700;font-size:1.5rem;line-height:29px;color:#000;letter-spacing:0}.mat-mdc-button.mat-mdc-button-base.mat-primary-button,.mat-mdc-button.mat-mdc-button-base.mat-secondary-button,.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button,.mat-mdc-button.mat-mdc-button-base.mat-text-button{min-width:103px;width:auto;min-height:40px;height:auto;border-radius:3px;text-align:center;padding:.625em 1.5em;border:none;font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1rem;line-height:20px;color:#000;letter-spacing:.00625em}.mat-mdc-button.mat-mdc-button-base>.mat-icon{margin-right:11px}.mat-mdc-button.mat-mdc-button-base.mat-primary-button{background-color:#00629b;color:#fff}.mat-mdc-button.mat-mdc-button-base.mat-primary-button:focus{background:#1f75a7}.mat-mdc-button.mat-mdc-button-base.mat-primary-button:hover{background-color:#003e65}.mat-mdc-button.mat-mdc-button-base.mat-primary-button:active{background-color:#00629b}.mat-mdc-button.mat-mdc-button-base.mat-primary-button:disabled{background-color:#1c1b1f1f}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button{color:#fff;background:#a7a8aa;box-shadow:0 1px 2px #0000004d,0 2px 6px 2px #00000026}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button:hover{background:#a7a8aa}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button:focus{background:#f0f5f9}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button:active{background:#1d192b1f}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button:disabled{background:#1c1b1f1f;color:#1c1b1f;opacity:.38}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button{background-color:#fff;border:1px solid #00629b;color:#00629b}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button:hover{background-color:#6750a414}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button:focus{background-color:#f0f5f9}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button:active{background:#6750a41f}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button:disabled{border:1px solid rgba(28,27,31,.12);color:#1c1b1f;opacity:.38}.mat-mdc-button.mat-mdc-button-base.mat-text-button{color:#00629b}.mat-mdc-button.mat-mdc-button-base.mat-text-button:hover,.mat-mdc-button.mat-mdc-button-base.mat-text-button:active{background:#6750a414}.mat-mdc-button.mat-mdc-button-base.mat-text-button:disabled{color:#1c1b1f;opacity:.38}.ieeesa-text-button{color:#cac4d0;background:none;border:none}.ieeesa-view-more-or-less-button{border:none;background:none;text-decoration:underline;color:#00629b}.flex-align-center{display:flex;align-items:center;justify-content:center}.mat-button-toggle-checked{background-color:#a7a8aa}.mat-button-toggle-checked .mat-button-toggle-label-content:before{font-family:\"Font Awesome 5 Free\";font-weight:900;content:\"\\f00c\";padding-right:.5625em}.mat-button-toggle-group .mat-button-toggle-label-content{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1rem;line-height:20px;color:#1c1b1f;letter-spacing:.00625em}.no-bg-color-btn{color:#00629b;border-radius:3px;border:1px solid #00629b;min-height:40px;height:auto}@media (max-width: 768px){.mat-button-toggle-group .mat-button-toggle-label-content{max-width:8ch;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;position:relative}}.cdk-overlay-pane .mat-mdc-tooltip .mdc-tooltip__surface{color:#525252;padding:6px 12px;font-family:Calibri Regular;font-size:1rem;border:1px solid #cac4d0;background:#fff;box-shadow:0 4px 8px #00000040;max-width:unset!important}.cdk-overlay-pane .mat-mdc-option .mdc-list-item__primary-text{font-family:Calibri Regular!important}.cdk-overlay-pane.ieeesa-modal-confirm-dialog,.cdk-overlay-pane.ieeesa-modal-dialog,.cdk-overlay-pane.ieeesa-alert-dialog{width:100%;min-width:312px}.mat-mdc-form-field{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1rem;line-height:24px;color:#49454f;letter-spacing:.03125em}.ieeesa-cancel-modal-confirm-dialog{width:25vw!important}.ieeesa-cancel-modal-confirm-dialog .ieeesa-confirmation{padding:1.5em 1.5em 1em}.ieeesa-cancel-modal-confirm-dialog .ieeesa-confirmation .mat-mdc-dialog-content{text-align:center;padding:0 0 1em!important}.mat-mdc-button,.mat-mdc-outlined-button{--mat-mdc-button-persistent-ripple-color: unset}@media (max-width: 768px){.ieeesa-cancel-modal-confirm-dialog{width:90vw!important}}.ieeesa-wrapper-border{border:1px solid #b2b7be;border-top:none;padding:1.5em;border-radius:0 0 4px 4px}.ieeesa-text-area-field .mat-mdc-form-field-subscript-wrapper{display:none}.ieeesa-text-area-field__label-left{display:flex}.ieeesa-text-area-field__label-top{display:block}.ieeesa-text-area-field__content{width:100%;border:none;border-radius:4px 4px 0 0;font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1rem;line-height:24px;color:#49454f;letter-spacing:.03125em}.ieeesa-text-area-field .mdc-text-field--filled:not(.mdc-text-field--disabled) .mdc-text-field__input{color:#1c1b1f}.ieeesa-text-area-field__no-resize{resize:none}.ieeesa-text-area-field__resize{resize:auto}.ieeesa-text-area-field__left-char-count{font-weight:700;color:#63666a}.ieeesa-text-area-field__left-char-text{color:#63666a}.ieeesa-text-area-field ::placeholder{color:#63666a!important;font-size:1rem}.ieeesa-text-area-field .ieeesa-body-sm-14{font-size:.75rem;color:#49454f}.ieeesa-text-area-field .mat-mdc-form-field{width:-webkit-fill-available;width:-moz-available}.ieeesa-text-area-field .mat-mdc-form-field .mat-mdc-form-field-infix{min-height:40px}.ieeesa-text-area-field .mdc-text-field--no-label:not(.mdc-text-field--outlined):not(.mdc-text-field--textarea) .mat-mdc-form-field-infix{padding-top:5px;padding-bottom:5px}.ieeesa-text-area-field .mat-mdc-text-field-wrapper{background:#fff!important;border-top:1px solid #878b8f;border-right:1px solid #878b8f;border-left:1px solid #878b8f;border-radius:4px}.ieeesa-text-area-field .mat-mdc-form-field-focus-overlay{background:#fff}.ieeesa-text-area-field:has(.mdc-text-field) .mdc-text-field--filled .mdc-line-ripple:before,.ieeesa-text-area-field:has(.mdc-text-field) .mdc-text-field--filled:not(.mdc-text-field--invalid):not(.mdc-text-field--disabled):not(.mdc-text-field--focused):hover .mdc-line-ripple:before{border-bottom-color:#878b8f}.ieeesa-text-area-field .mdc-text-field--filled.mdc-text-field--invalid:not(.mdc-text-field--disabled):not(.mdc-text-field--focused):hover .mdc-line-ripple:before{border-bottom:2px solid #ba0c2f}.ieeesa-text-area-field:has(.mdc-text-field--focused) .mdc-text-field--filled{border-top:2px solid #00629b;border-right:2px solid #00629b;border-left:2px solid #00629b}.ieeesa-text-area-field:has(.mdc-text-field--focused) .mdc-text-field--filled .mdc-line-ripple:after{border-bottom:2px solid #00629b}.ieeesa-text-area-field:has(.mdc-text-field--invalid .mdc-line-ripple--active) .ieeesa-text-area-field__label{color:#ba0c2f!important}.ieeesa-text-area-field:has(.mdc-text-field--invalid) .ieeesa-text-area-field__label{color:#ba0c2f!important}.ieeesa-text-area-field:has(.mdc-text-field--invalid) .mdc-text-field--filled{border-top:2px solid #ba0c2f;border-right:2px solid #ba0c2f;border-left:2px solid #ba0c2f}.ieeesa-text-area-field:has(.mdc-text-field--invalid) .mdc-text-field--filled .mdc-line-ripple:after,.ieeesa-text-area-field:has(.mdc-text-field--invalid) .mdc-text-field--filled .mdc-line-ripple:before{border-bottom:2px solid #ba0c2f}.ieeesa-text-area-field:has(.mdc-line-ripple--active) .ieeesa-text-area-field__label{color:#00629b!important}.ieeesa-text-area-field:has(.mdc-line-ripple--active) .mat-mdc-form-field-focus-overlay{background-color:#fff}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { kind: "directive", type: i2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: FormErrorComponent, selector: "ieeesa-form-error", inputs: ["formGroup", "config", "submitResponse"] }, { kind: "ngmodule", type: MatFormFieldModule }, { kind: "component", type: i3.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i3.MatLabel, selector: "mat-label" }, { kind: "ngmodule", type: MatInputModule }, { kind: "directive", type: i4.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "directive", type: i5.CdkTextareaAutosize, selector: "textarea[cdkTextareaAutosize]", inputs: ["cdkAutosizeMinRows", "cdkAutosizeMaxRows", "cdkTextareaAutosize", "placeholder"], exportAs: ["cdkTextareaAutosize"] }, { kind: "ngmodule", type: TextFieldModule }, { kind: "component", type: FormSupportTextComponent, selector: "ieeesa-form-support-text", inputs: ["formGroup", "config"], outputs: ["supportTextLinkClick"] }], encapsulation: i0.ViewEncapsulation.None }); }
68
70
  }
69
71
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TextAreaComponent, decorators: [{
70
72
  type: Component,
@@ -81,5 +83,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
81
83
  type: Input
82
84
  }], supportTextLinkClick: [{
83
85
  type: Output
86
+ }], inputValueChange: [{
87
+ type: Output
84
88
  }] } });
85
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dC1hcmVhLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ByZXNlbnRhdGlvbi9zcmMvbGliL2NvbXBvbmVudHMvdGV4dC1hcmVhL3RleHQtYXJlYS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wcmVzZW50YXRpb24vc3JjL2xpYi9jb21wb25lbnRzL3RleHQtYXJlYS90ZXh0LWFyZWEuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUVMLE1BQU0sRUFDTixpQkFBaUIsR0FDbEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBYSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUd6RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxrREFBa0QsQ0FBQztBQUN0RixPQUFPLEtBQUssYUFBYSxNQUFNLDZCQUE2QixDQUFDO0FBQzdELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxrREFBa0QsQ0FBQzs7Ozs7OztBQW1CNUYsTUFBTSxPQUFPLGlCQUFpQjtJQWhCOUI7UUFvQkUsOERBQThEO1FBQzlELGNBQVMsR0FBUSxhQUFhLENBQUM7UUFFckIseUJBQW9CLEdBQUcsSUFBSSxZQUFZLEVBQXFCLENBQUM7S0FpRHhFO0lBaERDOzs7T0FHRztJQUNILFFBQVE7UUFDTixJQUFJLENBQUMseUJBQXlCO1lBQzVCLElBQUksQ0FBQyx5QkFBeUI7Z0JBQzlCLElBQUksQ0FBQyxNQUFNLEVBQUUseUJBQXlCO2dCQUN0QyxJQUFJLENBQUMsU0FBUyxFQUFFLFFBQVEsRUFBRSxjQUFjLENBQUM7UUFDM0MsSUFBSSxDQUFDLGFBQWE7WUFDaEIsSUFBSSxDQUFDLE1BQU0sRUFBRSxZQUFZLElBQUksSUFBSSxDQUFDLE1BQU0sRUFBRSxhQUFhLElBQUksQ0FBQyxDQUFDO1FBQy9ELElBQUksSUFBSSxDQUFDLE1BQU0sRUFBRSxLQUFLLElBQUksSUFBSSxDQUFDLE1BQU0sRUFBRSxZQUFZLEVBQUU7WUFDbkQsSUFBSSxDQUFDLGFBQWE7Z0JBQ2hCLElBQUksQ0FBQyxNQUFNLEVBQUUsWUFBWSxHQUFHLElBQUksQ0FBQyxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sQ0FBQztTQUMxRDtJQUNILENBQUM7SUFFRDs7O09BR0c7SUFDSCxRQUFRLENBQUMsS0FBWTtRQUNuQixJQUFJLEtBQUssR0FBRyxDQUFDLENBQUM7UUFDZCxJQUFJLElBQUksQ0FBQyxNQUFNLEVBQUUsWUFBWSxFQUFFO1lBQzdCLEtBQUs7Z0JBQ0gsSUFBSSxDQUFDLE1BQU0sRUFBRSxZQUFZO29CQUN4QixLQUFLLENBQUMsTUFBMkIsRUFBRSxLQUFLLEVBQUUsTUFBTSxDQUFDO1NBQ3JEO2FBQU0sSUFDTCxJQUFJLENBQUMsTUFBTSxFQUFFLGFBQWE7WUFDMUIsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLEdBQUcsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLFdBQVcsQ0FBQyxFQUFFLEtBQUs7Z0JBQzlDLEtBQUssQ0FBQyxNQUEyQixFQUFFLEtBQUssS0FBSyxFQUFFLENBQUMsRUFDbkQ7WUFDQSxNQUFNLFdBQVcsR0FBSSxLQUFLLENBQUMsTUFBMkIsRUFBRSxLQUFLLEVBQUUsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQzFFLE1BQU0sZ0JBQWdCLEdBQVcsV0FBVyxFQUFFLE1BQU0sQ0FDbEQsQ0FBQyxLQUFhLEVBQUUsRUFBRSxDQUFDLEtBQUssS0FBSyxFQUFFLENBQ2hDLEVBQUUsTUFBTSxDQUFDO1lBQ1YsS0FBSyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsYUFBYSxHQUFHLGdCQUFnQixDQUFDO1NBQ3REO1FBQ0QsSUFBSSxDQUFDLGFBQWEsR0FBRyxLQUFLLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUM3QyxDQUFDO0lBQ0Q7Ozs7T0FJRztJQUNILHNCQUFzQixDQUFDLEtBQXdCO1FBQzdDLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDeEMsQ0FBQzsrR0F2RFUsaUJBQWlCO21HQUFqQixpQkFBaUIsMk1DcEM5Qiw0cUVBOERBLGk0WER0Q0ksWUFBWSxnT0FDWixtQkFBbUIsdWdDQUNuQixrQkFBa0IsZ0hBQ2xCLGtCQUFrQiwwU0FDbEIsY0FBYyx5a0JBQ2QsZUFBZSwrQkFDZix3QkFBd0I7OzRGQU1mLGlCQUFpQjtrQkFoQjdCLFNBQVM7K0JBQ0Usa0JBQWtCLGNBQ2hCLElBQUksV0FDUDt3QkFDUCxZQUFZO3dCQUNaLG1CQUFtQjt3QkFDbkIsa0JBQWtCO3dCQUNsQixrQkFBa0I7d0JBQ2xCLGNBQWM7d0JBQ2QsZUFBZTt3QkFDZix3QkFBd0I7cUJBQ3pCLGlCQUdjLGlCQUFpQixDQUFDLElBQUk7OEJBSzVCLHlCQUF5QjtzQkFBakMsS0FBSztnQkFJSSxvQkFBb0I7c0JBQTdCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIENvbXBvbmVudCxcclxuICBFdmVudEVtaXR0ZXIsXHJcbiAgSW5wdXQsXHJcbiAgT25Jbml0LFxyXG4gIE91dHB1dCxcclxuICBWaWV3RW5jYXBzdWxhdGlvbixcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgRm9ybUdyb3VwLCBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBNYXRGb3JtRmllbGRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9mb3JtLWZpZWxkJztcclxuaW1wb3J0IHsgTWF0SW5wdXRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pbnB1dCc7XHJcbmltcG9ydCB7IEZpZWxkQ29uZmlnIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2ZpZWxkLWNvbmZpZy5tb2RlbCc7XHJcbmltcG9ydCB7IEZvcm1GaWVsZCB9IGZyb20gJy4uLy4uL21vZGVscy9mb3JtLWZpZWxkLm1vZGVsJztcclxuaW1wb3J0IHsgRm9ybUVycm9yQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vY29tcG9uZW50cy9mb3JtLWVycm9yL2Zvcm0tZXJyb3IuY29tcG9uZW50JztcclxuaW1wb3J0ICogYXMgY29uc3RhbnRzSW5mbyBmcm9tICcuLi8uLi9hc3NldHMvY29uc3RhbnRzLmpzb24nO1xyXG5pbXBvcnQgeyBUZXh0RmllbGRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jZGsvdGV4dC1maWVsZCc7XHJcbmltcG9ydCB7IEZvcm1TdXBwb3J0VGV4dENvbXBvbmVudCB9IGZyb20gJy4uL2Zvcm0tc3VwcG9ydC10ZXh0L2Zvcm0tc3VwcG9ydC10ZXh0LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IExpbmtFdmVudEVtaXRUeXBlIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2V2ZW50LWVtaXQtdHlwZS5tb2RlbCc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2llZWVzYS10ZXh0LWFyZWEnLFxyXG4gIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgaW1wb3J0czogW1xyXG4gICAgQ29tbW9uTW9kdWxlLFxyXG4gICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcclxuICAgIEZvcm1FcnJvckNvbXBvbmVudCxcclxuICAgIE1hdEZvcm1GaWVsZE1vZHVsZSxcclxuICAgIE1hdElucHV0TW9kdWxlLFxyXG4gICAgVGV4dEZpZWxkTW9kdWxlLFxyXG4gICAgRm9ybVN1cHBvcnRUZXh0Q29tcG9uZW50LFxyXG4gIF0sXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3RleHQtYXJlYS5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vdGV4dC1hcmVhLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcclxufSlcclxuZXhwb3J0IGNsYXNzIFRleHRBcmVhQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBGb3JtRmllbGQge1xyXG4gIGNvbmZpZyE6IEZpZWxkQ29uZmlnO1xyXG4gIGdyb3VwITogRm9ybUdyb3VwO1xyXG4gIEBJbnB1dCgpIHJlbWFpbmluZ0NoYXJzTGVmdE1lc3NhZ2UhOiBzdHJpbmc7XHJcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcclxuICBjb25zdGFudHM6IGFueSA9IGNvbnN0YW50c0luZm87XHJcbiAgbGVmdENoYXJDb3VudCE6IG51bWJlcjtcclxuICBAT3V0cHV0KCkgc3VwcG9ydFRleHRMaW5rQ2xpY2sgPSBuZXcgRXZlbnRFbWl0dGVyPExpbmtFdmVudEVtaXRUeXBlPigpO1xyXG4gIC8qKlxyXG4gICAqIEluaXRpYWxpemVzIHRoZSBsZWZ0Q2hhckNvdW50IGFuZCByZW1haW5pbmdDaGFyc0xlZnRNZXNzYWdlXHJcbiAgICogQG1lbWJlcm9mIFRleHRBcmVhQ29tcG9uZW50XHJcbiAgICovXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLnJlbWFpbmluZ0NoYXJzTGVmdE1lc3NhZ2UgPVxyXG4gICAgICB0aGlzLnJlbWFpbmluZ0NoYXJzTGVmdE1lc3NhZ2UgPz9cclxuICAgICAgdGhpcy5jb25maWc/LnJlbWFpbmluZ0NoYXJzTGVmdE1lc3NhZ2UgPz9cclxuICAgICAgdGhpcy5jb25zdGFudHM/LnRleHRhcmVhPy5sZWZ0Q2hhcmFjdGVycztcclxuICAgIHRoaXMubGVmdENoYXJDb3VudCA9XHJcbiAgICAgIHRoaXMuY29uZmlnPy5tYXhDaGFyQ291bnQgPz8gdGhpcy5jb25maWc/Lm1heFJhbmdlTGltaXQgPz8gMDtcclxuICAgIGlmICh0aGlzLmNvbmZpZz8udmFsdWUgJiYgdGhpcy5jb25maWc/Lm1heENoYXJDb3VudCkge1xyXG4gICAgICB0aGlzLmxlZnRDaGFyQ291bnQgPVxyXG4gICAgICAgIHRoaXMuY29uZmlnPy5tYXhDaGFyQ291bnQgLSB0aGlzLmNvbmZpZz8udmFsdWU/Lmxlbmd0aDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIENhbGN1bGF0ZXMgdGhlIHJlbWFpbmluZyBjaGFyYWN0ZXJzIGNvdW50IG9uIGNoYW5nZSBvZiBmb3JtIGNvbnRyb2wgdmFsdWUgYW5kIHNldHMgdGhlIHJlbWFpbmluZyBjb3VudC5cclxuICAgKiBAbWVtYmVyb2YgVGV4dEFyZWFDb21wb25lbnRcclxuICAgKi9cclxuICBvbkNoYW5nZShldmVudDogRXZlbnQpOiB2b2lkIHtcclxuICAgIGxldCBjb3VudCA9IDA7XHJcbiAgICBpZiAodGhpcy5jb25maWc/Lm1heENoYXJDb3VudCkge1xyXG4gICAgICBjb3VudCA9XHJcbiAgICAgICAgdGhpcy5jb25maWc/Lm1heENoYXJDb3VudCAtXHJcbiAgICAgICAgKGV2ZW50LnRhcmdldCBhcyBIVE1MSW5wdXRFbGVtZW50KT8udmFsdWU/Lmxlbmd0aDtcclxuICAgIH0gZWxzZSBpZiAoXHJcbiAgICAgIHRoaXMuY29uZmlnPy5tYXhSYW5nZUxpbWl0ICYmXHJcbiAgICAgICh0aGlzLmdyb3VwPy5nZXQodGhpcy5jb25maWc/LmNvbnRyb2xOYW1lKT8udmFsaWQgfHxcclxuICAgICAgICAoZXZlbnQudGFyZ2V0IGFzIEhUTUxJbnB1dEVsZW1lbnQpPy52YWx1ZSA9PT0gJycpXHJcbiAgICApIHtcclxuICAgICAgY29uc3QgaW5wdXRSYW5nZXMgPSAoZXZlbnQudGFyZ2V0IGFzIEhUTUxJbnB1dEVsZW1lbnQpPy52YWx1ZT8uc3BsaXQoJywnKTtcclxuICAgICAgY29uc3QgdmFsaWRSYW5nZXNDb3VudDogbnVtYmVyID0gaW5wdXRSYW5nZXM/LmZpbHRlcihcclxuICAgICAgICAoaW5wdXQ6IHN0cmluZykgPT4gaW5wdXQgIT09ICcnXHJcbiAgICAgICk/Lmxlbmd0aDtcclxuICAgICAgY291bnQgPSB0aGlzLmNvbmZpZy5tYXhSYW5nZUxpbWl0IC0gdmFsaWRSYW5nZXNDb3VudDtcclxuICAgIH1cclxuICAgIHRoaXMubGVmdENoYXJDb3VudCA9IGNvdW50ID4gMCA/IGNvdW50IDogMDtcclxuICB9XHJcbiAgLyoqXHJcbiAgICogRW1pdHMgc3VwcG9ydFRleHRMaW5rQ2xpY2sgZXZlbnQgb24gY2xpY2sgb2YgZm9ybSBzdXBwb3J0IHRleHQgbGlua1xyXG4gICAqIEBwYXJhbSB7TGlua0V2ZW50RW1pdFR5cGV9IGV2ZW50XHJcbiAgICogQG1lbWJlcm9mIFRleHRBcmVhQ29tcG9uZW50XHJcbiAgICovXHJcbiAgb25TdXBwb3J0VGV4dExpbmtDbGljayhldmVudDogTGlua0V2ZW50RW1pdFR5cGUpIHtcclxuICAgIHRoaXMuc3VwcG9ydFRleHRMaW5rQ2xpY2suZW1pdChldmVudCk7XHJcbiAgfVxyXG59XHJcbiIsIjxkaXZcclxuICBjbGFzcz1cImllZWVzYS10ZXh0LWFyZWEtZmllbGRcIlxyXG4gIFtmb3JtR3JvdXBdPVwiZ3JvdXBcIlxyXG4gIFtuZ0NsYXNzXT1cIlxyXG4gICAgY29uZmlnLmlzTGFiZWxBbGlnbmVkTGVmdFxyXG4gICAgICA/ICdpZWVlc2EtdGV4dC1hcmVhLWZpZWxkX19sYWJlbC1sZWZ0J1xyXG4gICAgICA6ICdpZWVlc2EtdGV4dC1hcmVhLWZpZWxkX19sYWJlbC10b3AnXHJcbiAgXCJcclxuPlxyXG4gIDxtYXQtbGFiZWwgY2xhc3M9XCJpZWVlc2EtYm9keS1zbS0xNCBpZWVlc2EtdGV4dC1hcmVhLWZpZWxkX19sYWJlbFwiPlxyXG4gICAgPHNwYW5cclxuICAgICAgY2xhc3M9XCJkLWZsZXgganVzdGlmeS1jb250ZW50LWJldHdlZW5cIlxyXG4gICAgICAqbmdJZj1cImNvbmZpZz8ubWF4Q2hhckNvdW50IHx8IGNvbmZpZz8ubWF4UmFuZ2VMaW1pdFwiXHJcbiAgICA+XHJcbiAgICAgIDxzcGFuIGNsYXNzPVwiaWVlZXNhLXRleHQtYXJlYS1maWVsZF9fbGFiZWwtdGV4dFwiPlxyXG4gICAgICAgIHt7IGNvbmZpZy5sYWJlbCB9fVxyXG4gICAgICA8L3NwYW4+XHJcbiAgICAgIDxzcGFuPlxyXG4gICAgICAgIDxzcGFuIGNsYXNzPVwiaWVlZXNhLXRleHQtYXJlYS1maWVsZF9fbGVmdC1jaGFyLWNvdW50XCI+e3tcclxuICAgICAgICAgIGxlZnRDaGFyQ291bnRcclxuICAgICAgICB9fTwvc3BhblxyXG4gICAgICAgID48c3BhbiBjbGFzcz1cImllZWVzYS10ZXh0LWFyZWEtZmllbGRfX2xlZnQtY2hhci10ZXh0XCI+e3tcclxuICAgICAgICAgIHJlbWFpbmluZ0NoYXJzTGVmdE1lc3NhZ2VcclxuICAgICAgICB9fTwvc3Bhbj5cclxuICAgICAgPC9zcGFuPlxyXG4gICAgPC9zcGFuPlxyXG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFjb25maWc/Lm1heENoYXJDb3VudCAmJiAhY29uZmlnPy5tYXhSYW5nZUxpbWl0XCI+XHJcbiAgICAgIHt7IGNvbmZpZy5sYWJlbCB9fVxyXG4gICAgPC9uZy1jb250YWluZXI+XHJcbiAgPC9tYXQtbGFiZWw+XHJcbiAgPG1hdC1mb3JtLWZpZWxkIGFwcGVhcmFuY2U9XCJmaWxsXCI+XHJcbiAgICA8dGV4dGFyZWFcclxuICAgICAgW25hbWVdPVwiY29uZmlnLm5hbWUgPz8gJydcIlxyXG4gICAgICBjZGtUZXh0YXJlYUF1dG9zaXplXHJcbiAgICAgIG1hdElucHV0XHJcbiAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiY29uZmlnLmFyaWFMYWJlbCA/PyAnJ1wiXHJcbiAgICAgIFthdHRyLmFyaWEtbXVsdGlsaW5lXT1cImNvbmZpZz8uYXJpYU11bHRpbGluZSA/PyB0cnVlXCJcclxuICAgICAgW2FyaWEtZGVzY3JpYmVkYnldPVwiY29uZmlnLmFyaWFEZXNjcmliZWRCeUlkID8/ICcnXCJcclxuICAgICAgW3BsYWNlaG9sZGVyXT1cImNvbmZpZy5wbGFjZWhvbGRlciA/PyAnJ1wiXHJcbiAgICAgIFtmb3JtQ29udHJvbE5hbWVdPVwiY29uZmlnLmNvbnRyb2xOYW1lXCJcclxuICAgICAgW21heGxlbmd0aF09XCJjb25maWcubWF4TGVuZ3RoID8/IGNvbnN0YW50cy50ZXh0YXJlYS5tYXhMZW5ndGhEZWZhdWx0XCJcclxuICAgICAgW3JlYWRvbmx5XT1cImNvbmZpZy5pc1JlYWRvbmx5XCJcclxuICAgICAgKGlucHV0KT1cIm9uQ2hhbmdlKCRldmVudClcIlxyXG4gICAgICBjbGFzcz1cImllZWVzYS10ZXh0LWFyZWEtZmllbGRfX2NvbnRlbnQgaWVlZXNhLWJvZHktbGctMTgge3tcclxuICAgICAgICBjb25maWcuY29udHJvbE5hbWVcclxuICAgICAgfX1cIlxyXG4gICAgICBbbmdDbGFzc109XCJcclxuICAgICAgICBjb25maWcuaXNSZXNpemVcclxuICAgICAgICAgID8gJ2llZWVzYS10ZXh0LWFyZWEtZmllbGRfX3Jlc2l6ZSdcclxuICAgICAgICAgIDogJ2llZWVzYS10ZXh0LWFyZWEtZmllbGRfX25vLXJlc2l6ZSdcclxuICAgICAgXCJcclxuICAgID5cclxuICB7eyBjb25maWcudmFsdWUgfX08L3RleHRhcmVhXHJcbiAgICA+XHJcbiAgPC9tYXQtZm9ybS1maWVsZD5cclxuICA8aWVlZXNhLWZvcm0tZXJyb3IgW2Zvcm1Hcm91cF09XCJncm91cFwiIFtjb25maWddPVwiY29uZmlnXCI+IDwvaWVlZXNhLWZvcm0tZXJyb3I+XHJcbiAgPGllZWVzYS1mb3JtLXN1cHBvcnQtdGV4dFxyXG4gICAgW2Zvcm1Hcm91cF09XCJncm91cFwiXHJcbiAgICBbY29uZmlnXT1cImNvbmZpZ1wiXHJcbiAgICAoc3VwcG9ydFRleHRMaW5rQ2xpY2spPVwib25TdXBwb3J0VGV4dExpbmtDbGljaygkZXZlbnQpXCJcclxuICA+PC9pZWVlc2EtZm9ybS1zdXBwb3J0LXRleHQ+XHJcbjwvZGl2PlxyXG4iXX0=
89
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dC1hcmVhLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ByZXNlbnRhdGlvbi9zcmMvbGliL2NvbXBvbmVudHMvdGV4dC1hcmVhL3RleHQtYXJlYS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wcmVzZW50YXRpb24vc3JjL2xpYi9jb21wb25lbnRzL3RleHQtYXJlYS90ZXh0LWFyZWEuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUVMLE1BQU0sRUFDTixpQkFBaUIsR0FDbEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBYSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUd6RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxrREFBa0QsQ0FBQztBQUN0RixPQUFPLEtBQUssYUFBYSxNQUFNLDZCQUE2QixDQUFDO0FBQzdELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxrREFBa0QsQ0FBQzs7Ozs7OztBQW1CNUYsTUFBTSxPQUFPLGlCQUFpQjtJQWhCOUI7UUFvQkUsOERBQThEO1FBQzlELGNBQVMsR0FBUSxhQUFhLENBQUM7UUFFckIseUJBQW9CLEdBQUcsSUFBSSxZQUFZLEVBQXFCLENBQUM7UUFDN0QscUJBQWdCLEdBQUcsSUFBSSxZQUFZLEVBQVUsQ0FBQztLQWtEekQ7SUFqREM7OztPQUdHO0lBQ0gsUUFBUTtRQUNOLElBQUksQ0FBQyx5QkFBeUI7WUFDNUIsSUFBSSxDQUFDLHlCQUF5QjtnQkFDOUIsSUFBSSxDQUFDLE1BQU0sRUFBRSx5QkFBeUI7Z0JBQ3RDLElBQUksQ0FBQyxTQUFTLEVBQUUsUUFBUSxFQUFFLGNBQWMsQ0FBQztRQUMzQyxJQUFJLENBQUMsYUFBYTtZQUNoQixJQUFJLENBQUMsTUFBTSxFQUFFLFlBQVksSUFBSSxJQUFJLENBQUMsTUFBTSxFQUFFLGFBQWEsSUFBSSxDQUFDLENBQUM7UUFDL0QsSUFBSSxJQUFJLENBQUMsTUFBTSxFQUFFLEtBQUssSUFBSSxJQUFJLENBQUMsTUFBTSxFQUFFLFlBQVksRUFBRTtZQUNuRCxJQUFJLENBQUMsYUFBYTtnQkFDaEIsSUFBSSxDQUFDLE1BQU0sRUFBRSxZQUFZLEdBQUcsSUFBSSxDQUFDLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxDQUFDO1NBQzFEO0lBQ0gsQ0FBQztJQUVEOzs7T0FHRztJQUNILFFBQVEsQ0FBQyxLQUFZO1FBQ25CLElBQUksS0FBSyxHQUFHLENBQUMsQ0FBQztRQUNkLElBQUksSUFBSSxDQUFDLE1BQU0sRUFBRSxZQUFZLEVBQUU7WUFDN0IsS0FBSztnQkFDSCxJQUFJLENBQUMsTUFBTSxFQUFFLFlBQVk7b0JBQ3hCLEtBQUssQ0FBQyxNQUEyQixFQUFFLEtBQUssRUFBRSxNQUFNLENBQUM7U0FDckQ7YUFBTSxJQUNMLElBQUksQ0FBQyxNQUFNLEVBQUUsYUFBYTtZQUMxQixDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsR0FBRyxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsV0FBVyxDQUFDLEVBQUUsS0FBSztnQkFDOUMsS0FBSyxDQUFDLE1BQTJCLEVBQUUsS0FBSyxLQUFLLEVBQUUsQ0FBQyxFQUNuRDtZQUNBLE1BQU0sV0FBVyxHQUFJLEtBQUssQ0FBQyxNQUEyQixFQUFFLEtBQUssRUFBRSxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDMUUsTUFBTSxnQkFBZ0IsR0FBVyxXQUFXLEVBQUUsTUFBTSxDQUNsRCxDQUFDLEtBQWEsRUFBRSxFQUFFLENBQUMsS0FBSyxLQUFLLEVBQUUsQ0FDaEMsRUFBRSxNQUFNLENBQUM7WUFDVixLQUFLLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxhQUFhLEdBQUcsZ0JBQWdCLENBQUM7U0FDdEQ7UUFDRCxJQUFJLENBQUMsYUFBYSxHQUFHLEtBQUssR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzNDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUUsS0FBSyxDQUFDLE1BQTJCLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDeEUsQ0FBQztJQUNEOzs7O09BSUc7SUFDSCxzQkFBc0IsQ0FBQyxLQUF3QjtRQUM3QyxJQUFJLENBQUMsb0JBQW9CLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3hDLENBQUM7K0dBekRVLGlCQUFpQjttR0FBakIsaUJBQWlCLGlQQ3BDOUIsNHFFQThEQSxpNFhEdENJLFlBQVksZ09BQ1osbUJBQW1CLHVnQ0FDbkIsa0JBQWtCLGdIQUNsQixrQkFBa0IsMFNBQ2xCLGNBQWMseWtCQUNkLGVBQWUsK0JBQ2Ysd0JBQXdCOzs0RkFNZixpQkFBaUI7a0JBaEI3QixTQUFTOytCQUNFLGtCQUFrQixjQUNoQixJQUFJLFdBQ1A7d0JBQ1AsWUFBWTt3QkFDWixtQkFBbUI7d0JBQ25CLGtCQUFrQjt3QkFDbEIsa0JBQWtCO3dCQUNsQixjQUFjO3dCQUNkLGVBQWU7d0JBQ2Ysd0JBQXdCO3FCQUN6QixpQkFHYyxpQkFBaUIsQ0FBQyxJQUFJOzhCQUs1Qix5QkFBeUI7c0JBQWpDLEtBQUs7Z0JBSUksb0JBQW9CO3NCQUE3QixNQUFNO2dCQUNHLGdCQUFnQjtzQkFBekIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQ29tcG9uZW50LFxyXG4gIEV2ZW50RW1pdHRlcixcclxuICBJbnB1dCxcclxuICBPbkluaXQsXHJcbiAgT3V0cHV0LFxyXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBGb3JtR3JvdXAsIFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IE1hdEZvcm1GaWVsZE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2Zvcm0tZmllbGQnO1xyXG5pbXBvcnQgeyBNYXRJbnB1dE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2lucHV0JztcclxuaW1wb3J0IHsgRmllbGRDb25maWcgfSBmcm9tICcuLi8uLi9tb2RlbHMvZmllbGQtY29uZmlnLm1vZGVsJztcclxuaW1wb3J0IHsgRm9ybUZpZWxkIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2Zvcm0tZmllbGQubW9kZWwnO1xyXG5pbXBvcnQgeyBGb3JtRXJyb3JDb21wb25lbnQgfSBmcm9tICcuLi8uLi9jb21wb25lbnRzL2Zvcm0tZXJyb3IvZm9ybS1lcnJvci5jb21wb25lbnQnO1xyXG5pbXBvcnQgKiBhcyBjb25zdGFudHNJbmZvIGZyb20gJy4uLy4uL2Fzc2V0cy9jb25zdGFudHMuanNvbic7XHJcbmltcG9ydCB7IFRleHRGaWVsZE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay90ZXh0LWZpZWxkJztcclxuaW1wb3J0IHsgRm9ybVN1cHBvcnRUZXh0Q29tcG9uZW50IH0gZnJvbSAnLi4vZm9ybS1zdXBwb3J0LXRleHQvZm9ybS1zdXBwb3J0LXRleHQuY29tcG9uZW50JztcclxuaW1wb3J0IHsgTGlua0V2ZW50RW1pdFR5cGUgfSBmcm9tICcuLi8uLi9tb2RlbHMvZXZlbnQtZW1pdC10eXBlLm1vZGVsJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnaWVlZXNhLXRleHQtYXJlYScsXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICBpbXBvcnRzOiBbXHJcbiAgICBDb21tb25Nb2R1bGUsXHJcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxyXG4gICAgRm9ybUVycm9yQ29tcG9uZW50LFxyXG4gICAgTWF0Rm9ybUZpZWxkTW9kdWxlLFxyXG4gICAgTWF0SW5wdXRNb2R1bGUsXHJcbiAgICBUZXh0RmllbGRNb2R1bGUsXHJcbiAgICBGb3JtU3VwcG9ydFRleHRDb21wb25lbnQsXHJcbiAgXSxcclxuICB0ZW1wbGF0ZVVybDogJy4vdGV4dC1hcmVhLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi90ZXh0LWFyZWEuY29tcG9uZW50LnNjc3MnXSxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgVGV4dEFyZWFDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIEZvcm1GaWVsZCB7XHJcbiAgY29uZmlnITogRmllbGRDb25maWc7XHJcbiAgZ3JvdXAhOiBGb3JtR3JvdXA7XHJcbiAgQElucHV0KCkgcmVtYWluaW5nQ2hhcnNMZWZ0TWVzc2FnZSE6IHN0cmluZztcclxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxyXG4gIGNvbnN0YW50czogYW55ID0gY29uc3RhbnRzSW5mbztcclxuICBsZWZ0Q2hhckNvdW50ITogbnVtYmVyO1xyXG4gIEBPdXRwdXQoKSBzdXBwb3J0VGV4dExpbmtDbGljayA9IG5ldyBFdmVudEVtaXR0ZXI8TGlua0V2ZW50RW1pdFR5cGU+KCk7XHJcbiAgQE91dHB1dCgpIGlucHV0VmFsdWVDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcclxuICAvKipcclxuICAgKiBJbml0aWFsaXplcyB0aGUgbGVmdENoYXJDb3VudCBhbmQgcmVtYWluaW5nQ2hhcnNMZWZ0TWVzc2FnZVxyXG4gICAqIEBtZW1iZXJvZiBUZXh0QXJlYUNvbXBvbmVudFxyXG4gICAqL1xyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5yZW1haW5pbmdDaGFyc0xlZnRNZXNzYWdlID1cclxuICAgICAgdGhpcy5yZW1haW5pbmdDaGFyc0xlZnRNZXNzYWdlID8/XHJcbiAgICAgIHRoaXMuY29uZmlnPy5yZW1haW5pbmdDaGFyc0xlZnRNZXNzYWdlID8/XHJcbiAgICAgIHRoaXMuY29uc3RhbnRzPy50ZXh0YXJlYT8ubGVmdENoYXJhY3RlcnM7XHJcbiAgICB0aGlzLmxlZnRDaGFyQ291bnQgPVxyXG4gICAgICB0aGlzLmNvbmZpZz8ubWF4Q2hhckNvdW50ID8/IHRoaXMuY29uZmlnPy5tYXhSYW5nZUxpbWl0ID8/IDA7XHJcbiAgICBpZiAodGhpcy5jb25maWc/LnZhbHVlICYmIHRoaXMuY29uZmlnPy5tYXhDaGFyQ291bnQpIHtcclxuICAgICAgdGhpcy5sZWZ0Q2hhckNvdW50ID1cclxuICAgICAgICB0aGlzLmNvbmZpZz8ubWF4Q2hhckNvdW50IC0gdGhpcy5jb25maWc/LnZhbHVlPy5sZW5ndGg7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBDYWxjdWxhdGVzIHRoZSByZW1haW5pbmcgY2hhcmFjdGVycyBjb3VudCBvbiBjaGFuZ2Ugb2YgZm9ybSBjb250cm9sIHZhbHVlIGFuZCBzZXRzIHRoZSByZW1haW5pbmcgY291bnQuXHJcbiAgICogQG1lbWJlcm9mIFRleHRBcmVhQ29tcG9uZW50XHJcbiAgICovXHJcbiAgb25DaGFuZ2UoZXZlbnQ6IEV2ZW50KTogdm9pZCB7XHJcbiAgICBsZXQgY291bnQgPSAwO1xyXG4gICAgaWYgKHRoaXMuY29uZmlnPy5tYXhDaGFyQ291bnQpIHtcclxuICAgICAgY291bnQgPVxyXG4gICAgICAgIHRoaXMuY29uZmlnPy5tYXhDaGFyQ291bnQgLVxyXG4gICAgICAgIChldmVudC50YXJnZXQgYXMgSFRNTElucHV0RWxlbWVudCk/LnZhbHVlPy5sZW5ndGg7XHJcbiAgICB9IGVsc2UgaWYgKFxyXG4gICAgICB0aGlzLmNvbmZpZz8ubWF4UmFuZ2VMaW1pdCAmJlxyXG4gICAgICAodGhpcy5ncm91cD8uZ2V0KHRoaXMuY29uZmlnPy5jb250cm9sTmFtZSk/LnZhbGlkIHx8XHJcbiAgICAgICAgKGV2ZW50LnRhcmdldCBhcyBIVE1MSW5wdXRFbGVtZW50KT8udmFsdWUgPT09ICcnKVxyXG4gICAgKSB7XHJcbiAgICAgIGNvbnN0IGlucHV0UmFuZ2VzID0gKGV2ZW50LnRhcmdldCBhcyBIVE1MSW5wdXRFbGVtZW50KT8udmFsdWU/LnNwbGl0KCcsJyk7XHJcbiAgICAgIGNvbnN0IHZhbGlkUmFuZ2VzQ291bnQ6IG51bWJlciA9IGlucHV0UmFuZ2VzPy5maWx0ZXIoXHJcbiAgICAgICAgKGlucHV0OiBzdHJpbmcpID0+IGlucHV0ICE9PSAnJ1xyXG4gICAgICApPy5sZW5ndGg7XHJcbiAgICAgIGNvdW50ID0gdGhpcy5jb25maWcubWF4UmFuZ2VMaW1pdCAtIHZhbGlkUmFuZ2VzQ291bnQ7XHJcbiAgICB9XHJcbiAgICB0aGlzLmxlZnRDaGFyQ291bnQgPSBjb3VudCA+IDAgPyBjb3VudCA6IDA7XHJcbiAgICB0aGlzLmlucHV0VmFsdWVDaGFuZ2UuZW1pdCgoZXZlbnQudGFyZ2V0IGFzIEhUTUxJbnB1dEVsZW1lbnQpPy52YWx1ZSk7XHJcbiAgfVxyXG4gIC8qKlxyXG4gICAqIEVtaXRzIHN1cHBvcnRUZXh0TGlua0NsaWNrIGV2ZW50IG9uIGNsaWNrIG9mIGZvcm0gc3VwcG9ydCB0ZXh0IGxpbmtcclxuICAgKiBAcGFyYW0ge0xpbmtFdmVudEVtaXRUeXBlfSBldmVudFxyXG4gICAqIEBtZW1iZXJvZiBUZXh0QXJlYUNvbXBvbmVudFxyXG4gICAqL1xyXG4gIG9uU3VwcG9ydFRleHRMaW5rQ2xpY2soZXZlbnQ6IExpbmtFdmVudEVtaXRUeXBlKSB7XHJcbiAgICB0aGlzLnN1cHBvcnRUZXh0TGlua0NsaWNrLmVtaXQoZXZlbnQpO1xyXG4gIH1cclxufVxyXG4iLCI8ZGl2XHJcbiAgY2xhc3M9XCJpZWVlc2EtdGV4dC1hcmVhLWZpZWxkXCJcclxuICBbZm9ybUdyb3VwXT1cImdyb3VwXCJcclxuICBbbmdDbGFzc109XCJcclxuICAgIGNvbmZpZy5pc0xhYmVsQWxpZ25lZExlZnRcclxuICAgICAgPyAnaWVlZXNhLXRleHQtYXJlYS1maWVsZF9fbGFiZWwtbGVmdCdcclxuICAgICAgOiAnaWVlZXNhLXRleHQtYXJlYS1maWVsZF9fbGFiZWwtdG9wJ1xyXG4gIFwiXHJcbj5cclxuICA8bWF0LWxhYmVsIGNsYXNzPVwiaWVlZXNhLWJvZHktc20tMTQgaWVlZXNhLXRleHQtYXJlYS1maWVsZF9fbGFiZWxcIj5cclxuICAgIDxzcGFuXHJcbiAgICAgIGNsYXNzPVwiZC1mbGV4IGp1c3RpZnktY29udGVudC1iZXR3ZWVuXCJcclxuICAgICAgKm5nSWY9XCJjb25maWc/Lm1heENoYXJDb3VudCB8fCBjb25maWc/Lm1heFJhbmdlTGltaXRcIlxyXG4gICAgPlxyXG4gICAgICA8c3BhbiBjbGFzcz1cImllZWVzYS10ZXh0LWFyZWEtZmllbGRfX2xhYmVsLXRleHRcIj5cclxuICAgICAgICB7eyBjb25maWcubGFiZWwgfX1cclxuICAgICAgPC9zcGFuPlxyXG4gICAgICA8c3Bhbj5cclxuICAgICAgICA8c3BhbiBjbGFzcz1cImllZWVzYS10ZXh0LWFyZWEtZmllbGRfX2xlZnQtY2hhci1jb3VudFwiPnt7XHJcbiAgICAgICAgICBsZWZ0Q2hhckNvdW50XHJcbiAgICAgICAgfX08L3NwYW5cclxuICAgICAgICA+PHNwYW4gY2xhc3M9XCJpZWVlc2EtdGV4dC1hcmVhLWZpZWxkX19sZWZ0LWNoYXItdGV4dFwiPnt7XHJcbiAgICAgICAgICByZW1haW5pbmdDaGFyc0xlZnRNZXNzYWdlXHJcbiAgICAgICAgfX08L3NwYW4+XHJcbiAgICAgIDwvc3Bhbj5cclxuICAgIDwvc3Bhbj5cclxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhY29uZmlnPy5tYXhDaGFyQ291bnQgJiYgIWNvbmZpZz8ubWF4UmFuZ2VMaW1pdFwiPlxyXG4gICAgICB7eyBjb25maWcubGFiZWwgfX1cclxuICAgIDwvbmctY29udGFpbmVyPlxyXG4gIDwvbWF0LWxhYmVsPlxyXG4gIDxtYXQtZm9ybS1maWVsZCBhcHBlYXJhbmNlPVwiZmlsbFwiPlxyXG4gICAgPHRleHRhcmVhXHJcbiAgICAgIFtuYW1lXT1cImNvbmZpZy5uYW1lID8/ICcnXCJcclxuICAgICAgY2RrVGV4dGFyZWFBdXRvc2l6ZVxyXG4gICAgICBtYXRJbnB1dFxyXG4gICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cImNvbmZpZy5hcmlhTGFiZWwgPz8gJydcIlxyXG4gICAgICBbYXR0ci5hcmlhLW11bHRpbGluZV09XCJjb25maWc/LmFyaWFNdWx0aWxpbmUgPz8gdHJ1ZVwiXHJcbiAgICAgIFthcmlhLWRlc2NyaWJlZGJ5XT1cImNvbmZpZy5hcmlhRGVzY3JpYmVkQnlJZCA/PyAnJ1wiXHJcbiAgICAgIFtwbGFjZWhvbGRlcl09XCJjb25maWcucGxhY2Vob2xkZXIgPz8gJydcIlxyXG4gICAgICBbZm9ybUNvbnRyb2xOYW1lXT1cImNvbmZpZy5jb250cm9sTmFtZVwiXHJcbiAgICAgIFttYXhsZW5ndGhdPVwiY29uZmlnLm1heExlbmd0aCA/PyBjb25zdGFudHMudGV4dGFyZWEubWF4TGVuZ3RoRGVmYXVsdFwiXHJcbiAgICAgIFtyZWFkb25seV09XCJjb25maWcuaXNSZWFkb25seVwiXHJcbiAgICAgIChpbnB1dCk9XCJvbkNoYW5nZSgkZXZlbnQpXCJcclxuICAgICAgY2xhc3M9XCJpZWVlc2EtdGV4dC1hcmVhLWZpZWxkX19jb250ZW50IGllZWVzYS1ib2R5LWxnLTE4IHt7XHJcbiAgICAgICAgY29uZmlnLmNvbnRyb2xOYW1lXHJcbiAgICAgIH19XCJcclxuICAgICAgW25nQ2xhc3NdPVwiXHJcbiAgICAgICAgY29uZmlnLmlzUmVzaXplXHJcbiAgICAgICAgICA/ICdpZWVlc2EtdGV4dC1hcmVhLWZpZWxkX19yZXNpemUnXHJcbiAgICAgICAgICA6ICdpZWVlc2EtdGV4dC1hcmVhLWZpZWxkX19uby1yZXNpemUnXHJcbiAgICAgIFwiXHJcbiAgICA+XHJcbiAge3sgY29uZmlnLnZhbHVlIH19PC90ZXh0YXJlYVxyXG4gICAgPlxyXG4gIDwvbWF0LWZvcm0tZmllbGQ+XHJcbiAgPGllZWVzYS1mb3JtLWVycm9yIFtmb3JtR3JvdXBdPVwiZ3JvdXBcIiBbY29uZmlnXT1cImNvbmZpZ1wiPiA8L2llZWVzYS1mb3JtLWVycm9yPlxyXG4gIDxpZWVlc2EtZm9ybS1zdXBwb3J0LXRleHRcclxuICAgIFtmb3JtR3JvdXBdPVwiZ3JvdXBcIlxyXG4gICAgW2NvbmZpZ109XCJjb25maWdcIlxyXG4gICAgKHN1cHBvcnRUZXh0TGlua0NsaWNrKT1cIm9uU3VwcG9ydFRleHRMaW5rQ2xpY2soJGV2ZW50KVwiXHJcbiAgPjwvaWVlZXNhLWZvcm0tc3VwcG9ydC10ZXh0PlxyXG48L2Rpdj5cclxuIl19
@@ -288,6 +288,11 @@ export class DynamicFormFieldDirective {
288
288
  ?.subscribe((event) => {
289
289
  this.supportTextLinkClick.emit(event);
290
290
  });
291
+ this.component?.instance?.inputValueChange
292
+ ?.pipe(takeUntil(this.destroy$))
293
+ ?.subscribe((event) => {
294
+ this.formInputValue.emit(event);
295
+ });
291
296
  }
292
297
  else if (this.config.type === FormControlType.SLIDE_TOGGLE) {
293
298
  this.component.instance.slideToggleChange
@@ -402,4 +407,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
402
407
  }], formRichTextEditorContentChange: [{
403
408
  type: Output
404
409
  }] } });
405
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1mb3JtLWZpZWxkLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ByZXNlbnRhdGlvbi9zcmMvbGliL2RpcmVjdGl2ZXMvZHluYW1pYy1mb3JtLWZpZWxkL2R5bmFtaWMtZm9ybS1maWVsZC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUdMLE1BQU0sR0FHUCxNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUcxQyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDeEUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sc0RBQXNELENBQUM7QUFDN0YsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sOENBQThDLENBQUM7QUFDakYsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sb0RBQW9ELENBQUM7QUFDekYsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQ3hFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUMzRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMENBQTBDLENBQUM7QUFDM0UsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZ0RBQWdELENBQUM7QUFDbkYsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBRXhFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDBEQUEwRCxDQUFDO0FBQ2pHLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLG9EQUFvRCxDQUFDO0FBSXpGLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHNEQUFzRCxDQUFDO0FBRTVGLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFN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LGNBQWM7c0JBRmpCLEtBQUs7Z0JBcUJGLGNBQWM7c0JBRmpCLEtBQUs7Z0JBYUksZUFBZTtzQkFBeEIsTUFBTTtnQkFDRyxvQkFBb0I7c0JBQTdCLE1BQU07Z0JBQ0csZ0JBQWdCO3NCQUF6QixNQUFNO2dCQUNHLGdCQUFnQjtzQkFBekIsTUFBTTtnQkFDRyxxQkFBcUI7c0JBQTlCLE1BQU07Z0JBSUcsZ0JBQWdCO3NCQUF6QixNQUFNO2dCQUlHLHNCQUFzQjtzQkFBL0IsTUFBTTtnQkFDRyw0QkFBNEI7c0JBQXJDLE1BQU07Z0JBQ0csMEJBQTBCO3NCQUFuQyxNQUFNO2dCQUNHLHFCQUFxQjtzQkFBOUIsTUFBTTtnQkFDRyxjQUFjO3NCQUF2QixNQUFNO2dCQUNHLFlBQVk7c0JBQXJCLE1BQU07Z0JBQ0csb0JBQW9CO3NCQUE3QixNQUFNO2dCQUNHLHFCQUFxQjtzQkFBOUIsTUFBTTtnQkFDRyxvQkFBb0I7c0JBQTdCLE1BQU07Z0JBQ0cscUJBQXFCO3NCQUE5QixNQUFNO2dCQUNHLGNBQWM7c0JBQXZCLE1BQU07Z0JBQ0csdUJBQXVCO3NCQUFoQyxNQUFNO2dCQUNHLGNBQWM7c0JBQXZCLE1BQU07Z0JBQ0csaUNBQWlDO3NCQUExQyxNQUFNO2dCQUNHLHVDQUF1QztzQkFBaEQsTUFBTTtnQkFFRyxzQ0FBc0M7c0JBQS9DLE1BQU07Z0JBR0csK0JBQStCO3NCQUF4QyxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBDb21wb25lbnRSZWYsXHJcbiAgRGlyZWN0aXZlLFxyXG4gIEV2ZW50RW1pdHRlcixcclxuICBJbnB1dCxcclxuICBPbkRlc3Ryb3ksXHJcbiAgT25Jbml0LFxyXG4gIE91dHB1dCxcclxuICBUeXBlLFxyXG4gIFZpZXdDb250YWluZXJSZWYsXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEZvcm1Hcm91cCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgU3ViamVjdCwgdGFrZVVudGlsIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IEZpZWxkQ29uZmlnIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2ZpZWxkLWNvbmZpZy5tb2RlbCc7XHJcbmltcG9ydCB7IEZvcm1GaWVsZCB9IGZyb20gJy4uLy4uL21vZGVscy9mb3JtLWZpZWxkLm1vZGVsJztcclxuaW1wb3J0IHsgSW5wdXRDb21wb25lbnQgfSBmcm9tICcuLi8uLi9jb21wb25lbnRzL2lucHV0L2lucHV0LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEF1dG9jb21wbGV0ZUNvbXBvbmVudCB9IGZyb20gJy4uLy4uL2NvbXBvbmVudHMvYXV0b2NvbXBsZXRlL2F1dG9jb21wbGV0ZS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBDaGVja2JveENvbXBvbmVudCB9IGZyb20gJy4uLy4uL2NvbXBvbmVudHMvY2hlY2tib3gvY2hlY2tib3guY29tcG9uZW50JztcclxuaW1wb3J0IHsgRGF0ZVBpY2tlckNvbXBvbmVudCB9IGZyb20gJy4uLy4uL2NvbXBvbmVudHMvZGF0ZS1waWNrZXIvZGF0ZS1waWNrZXIuY29tcG9uZW50JztcclxuaW1wb3J0IHsgUmFkaW9Db21wb25lbnQgfSBmcm9tICcuLi8uLi9jb21wb25lbnRzL3JhZGlvL3JhZGlvLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFNlYXJjaENvbXBvbmVudCB9IGZyb20gJy4uLy4uL2NvbXBvbmVudHMvc2VhcmNoL3NlYXJjaC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBTZWxlY3RDb21wb25lbnQgfSBmcm9tICcuLi8uLi9jb21wb25lbnRzL3NlbGVjdC9zZWxlY3QuY29tcG9uZW50JztcclxuaW1wb3J0IHsgVGV4dEFyZWFDb21wb25lbnQgfSBmcm9tICcuLi8uLi9jb21wb25lbnRzL3RleHQtYXJlYS90ZXh0LWFyZWEuY29tcG9uZW50JztcclxuaW1wb3J0IHsgRm9ybUNvbnRyb2xUeXBlIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2Zvcm0tY29udHJvbC10eXBlcy5tb2RlbCc7XHJcbmltcG9ydCB7IENoZWNrYm94T3B0aW9uIH0gZnJvbSAnQGllZWVzYS1ucG0vbW9kZWxzJztcclxuaW1wb3J0IHsgQWRkRm9ybUdyb3VwQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vY29tcG9uZW50cy9hZGQtZm9ybS1ncm91cC9hZGQtZm9ybS1ncm91cC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBUaW1lUGlja2VyQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vY29tcG9uZW50cy90aW1lLXBpY2tlci90aW1lLXBpY2tlci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBTZWxlY3RlZERhdGUgfSBmcm9tICcuLi8uLi9tb2RlbHMvc2VsZWN0ZWQtZGF0ZS5tb2RlbCc7XHJcbmltcG9ydCB7IFNlbGVjdGVkVGltZSB9IGZyb20gJy4uLy4uL21vZGVscy9zZWxlY3RlZC10aW1lLm1vZGVsJztcclxuaW1wb3J0IHsgTGlua0V2ZW50RW1pdFR5cGUgfSBmcm9tICcuLi8uLi9tb2RlbHMvZXZlbnQtZW1pdC10eXBlLm1vZGVsJztcclxuaW1wb3J0IHsgU2xpZGVUb2dnbGVDb21wb25lbnQgfSBmcm9tICcuLi8uLi9jb21wb25lbnRzL3NsaWRlLXRvZ2dsZS9zbGlkZS10b2dnbGUuY29tcG9uZW50JztcclxuaW1wb3J0IHsgU2xpZGVUb2dnbGVPcHRpb24gfSBmcm9tICcuLi8uLi9tb2RlbHMvc2xpZGUtdG9nZ2xlLW9wdGlvbnMubW9kZWwnO1xyXG5pbXBvcnQgeyBGaWxlVXBsb2FkQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vY29tcG9uZW50cy9maWxlLXVwbG9hZC9maWxlLXVwbG9hZC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBTZWxlY3RPcGVuZWRTdGF0ZSB9IGZyb20gJy4uLy4uL21vZGVscy9zZWxlY3Qtb3BlbmVkLXN0YXRlLm1vZGVsJztcclxuaW1wb3J0IHsgQ29sb3JQaWNrZXJDb21wb25lbnQgfSBmcm9tICcuLi8uLi9jb21wb25lbnRzL2NvbG9yLXBpY2tlci9jb2xvci1waWNrZXIuY29tcG9uZW50JztcclxuaW1wb3J0IHsgUmFkaW9PcHRpb24gfSBmcm9tICcuLi8uLi9tb2RlbHMvcmFkaW8tb3B0aW9uLm1vZGVsJztcclxuaW1wb3J0IHsgSWNvbkJ1dHRvbiB9IGZyb20gJ0BpZWVlc2EtbnBtL21vZGVscyc7XHJcbmltcG9ydCB7IE11bHRpU2VsZWN0QXV0b2NvbXBsZXRlQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vY29tcG9uZW50cy9tdWx0aS1zZWxlY3QtYXV0b2NvbXBsZXRlL211bHRpLXNlbGVjdC1hdXRvY29tcGxldGUuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQXV0b0NvbXBsZXRlT3B0aW9uIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2F1dG9jb21wbGV0ZS1vcHRpb24ubW9kZWwnO1xyXG5pbXBvcnQgeyBSaWNoVGV4dEVkaXRvckNvbXBvbmVudCB9IGZyb20gJy4uLy4uL2NvbXBvbmVudHMvcmljaC10ZXh0LWVkaXRvci9yaWNoLXRleHQtZWRpdG9yLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEZpbGVVcGxvYWRTdGF0dXMgfSBmcm9tICcuLi8uLi9tb2RlbHMvZmlsZS11cGxvYWQtc3RhdHVzLm1vZGVsJztcclxuaW1wb3J0IHsgRmlsZURvd25sb2FkQW5kRGVsZXRlQ29uZmlnIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2ZpbGUtZG93bmxvYWQtY29uZmlnLm1vZGVsJztcclxuXHJcbmNvbnN0IGNvbXBvbmVudHM6IHsgW3R5cGU6IHN0cmluZ106IFR5cGU8Rm9ybUZpZWxkPiB9ID0ge1xyXG4gIFtGb3JtQ29udHJvbFR5cGUuSU5QVVRdOiBJbnB1dENvbXBvbmVudCxcclxuICBbRm9ybUNvbnRyb2xUeXBlLlRFWFRfQVJFQV06IFRleHRBcmVhQ29tcG9uZW50LFxyXG4gIFtGb3JtQ29udHJvbFR5cGUuU0VMRUNUXTogU2VsZWN0Q29tcG9uZW50LFxyXG4gIFtGb3JtQ29udHJvbFR5cGUuU0VBUkNIXTogU2VhcmNoQ29tcG9uZW50LFxyXG4gIFtGb3JtQ29udHJvbFR5cGUuREFURV06IERhdGVQaWNrZXJDb21wb25lbnQsXHJcbiAgW0Zvcm1Db250cm9sVHlwZS5DSEVDS0JPWF06IENoZWNrYm94Q29tcG9uZW50LFxyXG4gIFtGb3JtQ29udHJvbFR5cGUuUkFESU9dOiBSYWRpb0NvbXBvbmVudCxcclxuICBbRm9ybUNvbnRyb2xUeXBlLkFVVE9fQ09NUExFVEVdOiBBdXRvY29tcGxldGVDb21wb25lbnQsXHJcbiAgW0Zvcm1Db250cm9sVHlwZS5BRERfRk9STV9HUk9VUF06IEFkZEZvcm1Hcm91cENvbXBvbmVudCxcclxuICBbRm9ybUNvbnRyb2xUeXBlLlRJTUVfUElDS0VSXTogVGltZVBpY2tlckNvbXBvbmVudCxcclxuICBbRm9ybUNvbnRyb2xUeXBlLlNMSURFX1RPR0dMRV06IFNsaWRlVG9nZ2xlQ29tcG9uZW50LFxyXG4gIFtGb3JtQ29udHJvbFR5cGUuQ09MT1JfUElDS0VSXTogQ29sb3JQaWNrZXJDb21wb25lbnQsXHJcbiAgW0Zvcm1Db250cm9sVHlwZS5GSUxFX1VQTE9BRF06IEZpbGVVcGxvYWRDb21wb25lbnQsXHJcbiAgW0Zvcm1Db250cm9sVHlwZS5NVUxUSV9TRUxFQ1RfQVVUT19DT01QTEVURV06XHJcbiAgICBNdWx0aVNlbGVjdEF1dG9jb21wbGV0ZUNvbXBvbmVudCxcclxuICBbRm9ybUNvbnRyb2xUeXBlLlJJQ0hfVEVYVF9FRElUT1JdOiBSaWNoVGV4dEVkaXRvckNvbXBvbmVudCxcclxufTtcclxuXHJcbi8qKlxyXG4gKiBQcm92aWRlcyB0aGUgaW1wbGVtZW50YXRpb24gb2YgRHluYW1pY0Zvcm1GaWVsZERpcmVjdGl2ZSB3aGljaCBob3N0cyBhbmQgY3JlYXRlcyB0aGUgZm9ybSBmaWVsZHMgY29tcG9uZW50cyBkeW5hbWljYWxseS5cclxuICogQGV4cG9ydFxyXG4gKiBAY2xhc3MgRHluYW1pY0Zvcm1GaWVsZERpcmVjdGl2ZVxyXG4gKiBAaW1wbGVtZW50cyB7Rm9ybUZpZWxkfVxyXG4gKiBAaW1wbGVtZW50cyB7T25Jbml0fVxyXG4gKiBAaW1wbGVtZW50cyB7T25EZXN0cm95fVxyXG4gKi9cclxuQERpcmVjdGl2ZSh7XHJcbiAgc2VsZWN0b3I6ICdbaWVlZXNhRHluYW1pY0Zvcm1GaWVsZF0nLFxyXG4gIHN0YW5kYWxvbmU6IHRydWUsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBEeW5hbWljRm9ybUZpZWxkRGlyZWN0aXZlIGltcGxlbWVudHMgRm9ybUZpZWxkLCBPbkluaXQsIE9uRGVzdHJveSB7XHJcbiAgZGVzdHJveSQ6IFN1YmplY3Q8Ym9vbGVhbj4gPSBuZXcgU3ViamVjdDxib29sZWFuPigpO1xyXG4gIHByaXZhdGUgX2NvbmZpZyE6IEZpZWxkQ29uZmlnO1xyXG4gIHByaXZhdGUgX2dyb3VwITogRm9ybUdyb3VwO1xyXG4gIC8qKlxyXG4gICAqIFNldHMgdGhlIGZvcm0gZmllbGQgY29uZmlndXJhdGlvblxyXG4gICAqIEBtZW1iZXJvZiBEeW5hbWljRm9ybUZpZWxkRGlyZWN0aXZlXHJcbiAgICovXHJcbiAgQElucHV0KClcclxuICBzZXQgY29uZmlnKHZhbHVlOiBGaWVsZENvbmZpZykge1xyXG4gICAgdGhpcy5fY29uZmlnID0gdmFsdWU7XHJcbiAgICBpZiAodGhpcy5jb21wb25lbnQpIHtcclxuICAgICAgdGhpcy5sb2FkQ29tcG9uZW50KCk7XHJcbiAgICB9XHJcbiAgfVxyXG4gIGdldCBjb25maWcoKTogRmllbGRDb25maWcge1xyXG4gICAgcmV0dXJuIHRoaXMuX2NvbmZpZztcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFNldHMgdGhlIGZvcm0gZ3JvdXBcclxuICAgKiBAbWVtYmVyb2YgRHluYW1pY0Zvcm1GaWVsZERpcmVjdGl2ZVxyXG4gICAqL1xyXG4gIEBJbnB1dCgpXHJcbiAgc2V0IGdyb3VwKHZhbHVlOiBGb3JtR3JvdXApIHtcclxuICAgIGlmICh0aGlzLmNvbXBvbmVudD8uaW5zdGFuY2UpIHtcclxuICAgICAgdGhpcy5jb21wb25lbnQuaW5zdGFuY2UuZ3JvdXAgPSB2YWx1ZTtcclxuICAgIH1cclxuICAgIHRoaXMuX2dyb3VwID0gdmFsdWU7XHJcbiAgfVxyXG4gIGdldCBncm91cCgpOiBGb3JtR3JvdXAge1xyXG4gICAgcmV0dXJuIHRoaXMuX2dyb3VwO1xyXG4gIH1cclxuICBwcml2YXRlIF9maWxlVXBsb2FkU3RhdHVzITogRmlsZVVwbG9hZFN0YXR1cztcclxuXHJcbiAgQElucHV0KCkgZ2V0IGZpbGVVcGxvYWRTdGF0dXMoKTogRmlsZVVwbG9hZFN0YXR1cyB7XHJcbiAgICByZXR1cm4gdGhpcy5fZmlsZVVwbG9hZFN0YXR1cztcclxuICB9XHJcbiAgc2V0IGZpbGVVcGxvYWRTdGF0dXModmFsdWU6IEZpbGVVcGxvYWRTdGF0dXMpIHtcclxuICAgIGlmICh0aGlzLmNvbXBvbmVudD8uaW5zdGFuY2UpIHtcclxuICAgICAgdGhpcy5jb21wb25lbnQuaW5zdGFuY2UuZmlsZVVwbG9hZFN0YXR1cyA9IHZhbHVlO1xyXG4gICAgfVxyXG4gICAgdGhpcy5fZmlsZVVwbG9hZFN0YXR1cyA9IHZhbHVlO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfZmlsZURvd25sb2FkQW5kRGVsZXRlQ29uZmlnITogRmlsZURvd25sb2FkQW5kRGVsZXRlQ29uZmlnO1xyXG4gIEBJbnB1dCgpXHJcbiAgc2V0IGZpbGVEb3dubG9hZEFuZERlbGV0ZUNvbmZpZyh2YWx1ZTogRmlsZURvd25sb2FkQW5kRGVsZXRlQ29uZmlnKSB7XHJcbiAgICBpZiAodGhpcy5jb21wb25lbnQ/Lmluc3RhbmNlKSB7XHJcbiAgICAgIHRoaXMuY29tcG9uZW50Lmluc3RhbmNlLmZpbGVVcGxvYWRTdGF0dXMgPSB2YWx1ZTtcclxuICAgIH1cclxuICAgIHRoaXMuX2ZpbGVEb3dubG9hZEFuZERlbGV0ZUNvbmZpZyA9IHZhbHVlO1xyXG4gIH1cclxuICBnZXQgZmlsZURvd25sb2FkQW5kRGVsZXRlQ29uZmlnKCk6IEZpbGVEb3dubG9hZEFuZERlbGV0ZUNvbmZpZyB7XHJcbiAgICByZXR1cm4gdGhpcy5fZmlsZURvd25sb2FkQW5kRGVsZXRlQ29uZmlnO1xyXG4gIH1cclxuXHJcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcclxuICBwcml2YXRlIF9zdWJtaXRSZXNwb25zZSE6IGFueTtcclxuICAvKipcclxuICAgKiBTZXRzIHRoZSBzdWJtaXQgcmVzcG9uc2Ugb2YgZm9ybSBzdWJtaXQgZXZlbnRcclxuICAgKiBAbWVtYmVyb2YgRHluYW1pY0Zvcm1GaWVsZERpcmVjdGl2ZVxyXG4gICAqL1xyXG4gIEBJbnB1dCgpXHJcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcclxuICBzZXQgc3VibWl0UmVzcG9uc2UodmFsdWU6IGFueSkge1xyXG4gICAgaWYgKHRoaXMuY29tcG9uZW50Py5pbnN0YW5jZSkge1xyXG4gICAgICB0aGlzLmNvbXBvbmVudC5pbnN0YW5jZS5zdWJtaXRSZXNwb25zZSA9IHZhbHVlO1xyXG4gICAgfVxyXG4gICAgdGhpcy5fc3VibWl0UmVzcG9uc2UgPSB2YWx1ZTtcclxuICB9XHJcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcclxuICBnZXQgc3VibWl0UmVzcG9uc2UoKTogYW55IHtcclxuICAgIHJldHVybiB0aGlzLl9zdWJtaXRSZXNwb25zZTtcclxuICB9XHJcblxyXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XHJcbiAgcHJpdmF0ZSBfc2VhcmNoUmVzcG9uc2UhOiBhbnk7XHJcbiAgLyoqXHJcbiAgICogU2V0cyB0aGUgZm9ybSBzZWFyY2ggcmVzcG9uc2Ugb2YgZm9ybSBzZWFyY2ggYXBwbHkuXHJcbiAgICogQG1lbWJlcm9mIER5bmFtaWNGb3JtRmllbGREaXJlY3RpdmVcclxuICAgKi9cclxuICBASW5wdXQoKVxyXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XHJcbiAgc2V0IHNlYXJjaFJlc3BvbnNlKHZhbHVlOiBhbnkpIHtcclxuICAgIGlmICh0aGlzLmNvbXBvbmVudD8uaW5zdGFuY2UpIHtcclxuICAgICAgdGhpcy5jb21wb25lbnQuaW5zdGFuY2Uuc2VhcmNoUmVzcG9uc2UgPSB2YWx1ZTtcclxuICAgIH1cclxuICAgIHRoaXMuX3NlYXJjaFJlc3BvbnNlID0gdmFsdWU7XHJcbiAgfVxyXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XHJcbiAgZ2V0IHNlYXJjaFJlc3BvbnNlKCk6IGFueSB7XHJcbiAgICByZXR1cm4gdGhpcy5fc2VhcmNoUmVzcG9uc2U7XHJcbiAgfVxyXG5cclxuICBAT3V0cHV0KCkgZm9ybVNlYXJjaEFwcGx5ID0gbmV3IEV2ZW50RW1pdHRlcjxFdmVudD4oKTtcclxuICBAT3V0cHV0KCkgZm9ybURyb3Bkb3duU2VsZWN0ZWQgPSBuZXcgRXZlbnRFbWl0dGVyPEV2ZW50PigpO1xyXG4gIEBPdXRwdXQoKSBmb3JtRGF0ZVNlbGVjdGVkID0gbmV3IEV2ZW50RW1pdHRlcjxTZWxlY3RlZERhdGU+KCk7XHJcbiAgQE91dHB1dCgpIGZvcm1UaW1lU2VsZWN0ZWQgPSBuZXcgRXZlbnRFbWl0dGVyPFNlbGVjdGVkVGltZT4oKTtcclxuICBAT3V0cHV0KCkgZm9ybVNlbGVjdGVkRGF0ZVJhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjx7XHJcbiAgICBzdGFydERhdGU6IHN0cmluZztcclxuICAgIGVuZERhdGU6IHN0cmluZztcclxuICB9PigpO1xyXG4gIEBPdXRwdXQoKSBmb3JtU2VsZWN0U2VhcmNoID0gbmV3IEV2ZW50RW1pdHRlcjx7XHJcbiAgICBzZWFyY2hFdmVudDogRXZlbnQ7XHJcbiAgICBjb250cm9sTmFtZTogc3RyaW5nO1xyXG4gIH0+KCk7XHJcbiAgQE91dHB1dCgpIGZvcm1BdXRvQ29tcGxldGVTZWFyY2ggPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcclxuICBAT3V0cHV0KCkgYXV0b0NvbXBsZXRlQ2xlYXJTZWFyY2hWYWx1ZSA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xyXG4gIEBPdXRwdXQoKSBhdXRvQ29tcGxldGVPcHRpb25TZWxlY3RlZCA9IG5ldyBFdmVudEVtaXR0ZXI8RXZlbnQ+KCk7XHJcbiAgQE91dHB1dCgpIGZvcm1DaGVja2JveFNlbGVjdGlvbiA9IG5ldyBFdmVudEVtaXR0ZXI8Q2hlY2tib3hPcHRpb24+KCk7XHJcbiAgQE91dHB1dCgpIGZvcm1JbnB1dFZhbHVlID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmcgfCBudW1iZXI+KCk7XHJcbiAgQE91dHB1dCgpIGFkZEZvcm1Hcm91cCA9IG5ldyBFdmVudEVtaXR0ZXI8RXZlbnQ+KCk7XHJcbiAgQE91dHB1dCgpIHN1cHBvcnRUZXh0TGlua0NsaWNrID0gbmV3IEV2ZW50RW1pdHRlcjxMaW5rRXZlbnRFbWl0VHlwZT4oKTtcclxuICBAT3V0cHV0KCkgZm9ybVNsaWRlVG9nZ2xlQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxTbGlkZVRvZ2dsZU9wdGlvbj4oKTtcclxuICBAT3V0cHV0KCkgZHJvcGRvd25PcGVuZWRDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPFNlbGVjdE9wZW5lZFN0YXRlPigpO1xyXG4gIEBPdXRwdXQoKSBmb3JtQ29sb3JQaWNrZXJDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcclxuICBAT3V0cHV0KCkgZm9ybUZpbGVVcGxvYWQgPSBuZXcgRXZlbnRFbWl0dGVyPEZpbGUgfCBGaWxlTGlzdD4oKTtcclxuICBAT3V0cHV0KCkgZm9ybVJhZGlvT3B0aW9uU2VsZWN0ZWQgPSBuZXcgRXZlbnRFbWl0dGVyPFJhZGlvT3B0aW9uPigpO1xyXG4gIEBPdXRwdXQoKSBjdGFCdXR0b25DbGljayA9IG5ldyBFdmVudEVtaXR0ZXI8SWNvbkJ1dHRvbj4oKTtcclxuICBAT3V0cHV0KCkgZm9ybU11bHRpU2VsZWN0QXV0b0NvbXBsZXRlU2VhcmNoID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XHJcbiAgQE91dHB1dCgpIG11bHRpU2VsZWN0QXV0b0NvbXBsZXRlQ2xlYXJTZWFyY2hWYWx1ZSA9XHJcbiAgICBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcclxuICBAT3V0cHV0KCkgbXVsdGlTZWxlY3RBdXRvQ29tcGxldGVPcHRpb25zU2VsZWN0ZWQgPSBuZXcgRXZlbnRFbWl0dGVyPFxyXG4gICAgQXV0b0NvbXBsZXRlT3B0aW9uW11cclxuICA+KCk7XHJcbiAgQE91dHB1dCgpIGZvcm1SaWNoVGV4dEVkaXRvckNvbnRlbnRDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcclxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxyXG4gIGNvbXBvbmVudCE6IENvbXBvbmVudFJlZjxhbnk+O1xyXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby11bnVzZWQtdmFycywgbm8tZW1wdHktZnVuY3Rpb25cclxuICBjb25zdHJ1Y3RvcihwdWJsaWMgY29udGFpbmVyOiBWaWV3Q29udGFpbmVyUmVmKSB7fVxyXG5cclxuICAvKipcclxuICAgKiBJbXBsZW1lbnRhdGlvbiBvZiBuZ09uSW5pdCBsaWZlY3ljbGUgaG9vayBtZXRob2QgdG8gY2FsbCBsb2FkQ29tcG9uZW50cyBtZXRob2QuXHJcbiAgICogQG1lbWJlcm9mIER5bmFtaWNGb3JtRmllbGREaXJlY3RpdmVcclxuICAgKi9cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMubG9hZENvbXBvbmVudCgpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQ3JlYXRlcyB0aGUgY29tcG9uZW50IGR5bmFtaWNhbGx5IGFuZCBpbml0aWFsaXplcyB0aGUgaW5zdGFuY2UgcHJvcGVydGllcyBvZiBjcmVhdGVkIGNvbXBvbmVudCwgYWxzbyBoYW5kbGVzIHRoZSBjcmVhdGVkIGNvbXBvbmVudCBldmVudHMuXHJcbiAgICogQG1lbWJlcm9mIER5bmFtaWNGb3JtRmllbGREaXJlY3RpdmVcclxuICAgKi9cclxuICBsb2FkQ29tcG9uZW50KCk6IHZvaWQge1xyXG4gICAgaWYgKCFjb21wb25lbnRzW3RoaXMuY29uZmlnPy50eXBlXSkge1xyXG4gICAgICBjb25zdCBzdXBwb3J0ZWRUeXBlcyA9IE9iamVjdC5rZXlzKGNvbXBvbmVudHMpLmpvaW4oJywgJyk7XHJcbiAgICAgIHRocm93IG5ldyBFcnJvcihcclxuICAgICAgICBgVHJ5aW5nIHRvIHVzZSBhbiB1bnN1cHBvcnRlZCB0eXBlICgke3RoaXMuY29uZmlnLnR5cGV9KS5cclxuICAgICAgICAgICAgU3VwcG9ydGVkIHR5cGVzOiAke3N1cHBvcnRlZFR5cGVzfWBcclxuICAgICAgKTtcclxuICAgIH1cclxuICAgIHRoaXMuY29tcG9uZW50ID0gdGhpcy5jb250YWluZXIuY3JlYXRlQ29tcG9uZW50KFxyXG4gICAgICBjb21wb25lbnRzW3RoaXMuY29uZmlnPy50eXBlXVxyXG4gICAgKTtcclxuICAgIGlmICh0aGlzLmNvbXBvbmVudD8uaW5zdGFuY2UpIHtcclxuICAgICAgdGhpcy5jb21wb25lbnQuaW5zdGFuY2UuY29uZmlnID0gdGhpcy5jb25maWc7XHJcbiAgICAgIHRoaXMuY29tcG9uZW50Lmluc3RhbmNlLmdyb3VwID0gdGhpcy5ncm91cDtcclxuICAgICAgdGhpcy5jb21wb25lbnQuaW5zdGFuY2Uuc3VibWl0UmVzcG9uc2UgPSB0aGlzLnN1Ym1pdFJlc3BvbnNlO1xyXG4gICAgICB0aGlzLmNvbXBvbmVudC5pbnN0YW5jZS5zZWFyY2hSZXNwb25zZSA9IHRoaXMuc2VhcmNoUmVzcG9uc2U7XHJcbiAgICAgIGlmICh0aGlzLmNvbmZpZy50eXBlID09PSBGb3JtQ29udHJvbFR5cGUuRklMRV9VUExPQUQpIHtcclxuICAgICAgICB0aGlzLmNvbXBvbmVudC5pbnN0YW5jZS5maWxlVXBsb2FkU3RhdHVzID0gdGhpcy5maWxlVXBsb2FkU3RhdHVzO1xyXG4gICAgICAgIHRoaXMuY29tcG9uZW50Lmluc3RhbmNlLmZpbGVEb3dubG9hZEFuZERlbGV0ZUNvbmZpZyA9IHRoaXMuZmlsZURvd25sb2FkQW5kRGVsZXRlQ29uZmlnO1xyXG4gICAgICB9XHJcbiAgICAgIGlmICh0aGlzLmNvbmZpZy50eXBlID09PSBGb3JtQ29udHJvbFR5cGUuU0VBUkNIKSB7XHJcbiAgICAgICAgdGhpcy5jb21wb25lbnQuaW5zdGFuY2Uuc2VhcmNoVmFsdWVcclxuICAgICAgICAgID8ucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpXHJcbiAgICAgICAgICA/LnN1YnNjcmliZSgoZXZlbnQ6IEV2ZW50KSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMuZm9ybVNlYXJjaEFwcGx5LmVtaXQoZXZlbnQpO1xyXG4gICAgICAgICAgfSk7XHJcbiAgICAgIH0gZWxzZSBpZiAodGhpcy5jb25maWcudHlwZSA9PT0gRm9ybUNvbnRyb2xUeXBlLkNIRUNLQk9YKSB7XHJcbiAgICAgICAgdGhpcy5jb21wb25lbnQuaW5zdGFuY2UuY2hlY2tib3hTZWxlY3Rpb25cclxuICAgICAgICAgID8ucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpXHJcbiAgICAgICAgICA/LnN1YnNjcmliZSgoZXZlbnQ6IENoZWNrYm94T3B0aW9uKSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMuZm9ybUNoZWNrYm94U2VsZWN0aW9uLmVtaXQoZXZlbnQpO1xyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgdGhpcy5jb21wb25lbnQuaW5zdGFuY2UuY3RhQnV0dG9uQ2xpY2tcclxuICAgICAgICAgID8ucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpXHJcbiAgICAgICAgICA/LnN1YnNjcmliZSgoZXZlbnQ6IEljb25CdXR0b24pID0+IHtcclxuICAgICAgICAgICAgdGhpcy5jdGFCdXR0b25DbGljay5lbWl0KGV2ZW50KTtcclxuICAgICAgICAgIH0pO1xyXG4gICAgICB9IGVsc2UgaWYgKHRoaXMuY29uZmlnLnR5cGUgPT09IEZvcm1Db250cm9sVHlwZS5TRUxFQ1QpIHtcclxuICAgICAgICB0aGlzLmNvbXBvbmVudC5pbnN0YW5jZS5vcHRpb25TZWxlY3RlZFxyXG4gICAgICAgICAgPy5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcclxuICAgICAgICAgID8uc3Vic2NyaWJlKChldmVudDogRXZlbnQpID0+IHtcclxuICAgICAgICAgICAgdGhpcy5mb3JtRHJvcGRvd25TZWxlY3RlZC5lbWl0KGV2ZW50KTtcclxuICAgICAgICAgIH0pO1xyXG4gICAgICAgIHRoaXMuY29tcG9uZW50Lmluc3RhbmNlLm9wdGlvblNlYXJjaGVkXHJcbiAgICAgICAgICA/LnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKVxyXG4gICAgICAgICAgPy5zdWJzY3JpYmUoKGV2ZW50OiBFdmVudCkgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLmZvcm1TZWxlY3RTZWFyY2guZW1pdCh7XHJcbiAgICAgICAgICAgICAgc2VhcmNoRXZlbnQ6IGV2ZW50LFxyXG4gICAgICAgICAgICAgIGNvbnRyb2xOYW1lOiB0aGlzLmNvbmZpZy5jb250cm9sTmFtZSxcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICB0aGlzLmNvbXBvbmVudC5pbnN0YW5jZS5kcm9wZG93bk9wZW5lZENoYW5nZVxyXG4gICAgICAgICAgPy5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcclxuICAgICAgICAgID8uc3Vic2NyaWJlKChldmVudDogU2VsZWN0T3BlbmVkU3RhdGUpID0+IHtcclxuICAgICAgICAgICAgdGhpcy5kcm9wZG93bk9wZW5lZENoYW5nZS5lbWl0KGV2ZW50KTtcclxuICAgICAgICAgIH0pO1xyXG4gICAgICB9IGVsc2UgaWYgKHRoaXMuY29uZmlnLnR5cGUgPT09IEZvcm1Db250cm9sVHlwZS5EQVRFKSB7XHJcbiAgICAgICAgdGhpcy5jb21wb25lbnQuaW5zdGFuY2Uuc2VsZWN0ZWREYXRlXHJcbiAgICAgICAgICA/LnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKVxyXG4gICAgICAgICAgPy5zdWJzY3JpYmUoKGV2ZW50OiBzdHJpbmcpID0+IHtcclxuICAgICAgICAgICAgdGhpcy5mb3JtRGF0ZVNlbGVjdGVkLmVtaXQoe1xyXG4gICAgICAgICAgICAgIGRhdGU6IGV2ZW50LFxyXG4gICAgICAgICAgICAgIGNvbnRyb2xOYW1lOiB0aGlzLmNvbmZpZy5jb250cm9sTmFtZSxcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICB0aGlzLmNvbXBvbmVudC5pbnN0YW5jZS5zZWxlY3RlZERhdGVSYW5nZVxyXG4gICAgICAgICAgPy5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcclxuICAgICAgICAgID8uc3Vic2NyaWJlKChldmVudDogeyBzdGFydERhdGU6IHN0cmluZzsgZW5kRGF0ZTogc3RyaW5nIH0pID0+IHtcclxuICAgICAgICAgICAgdGhpcy5mb3JtU2VsZWN0ZWREYXRlUmFuZ2UuZW1pdChldmVudCk7XHJcbiAgICAgICAgICB9KTtcclxuICAgICAgfSBlbHNlIGlmICh0aGlzLmNvbmZpZy50eXBlID09PSBGb3JtQ29udHJvbFR5cGUuQVVUT19DT01QTEVURSkge1xyXG4gICAgICAgIHRoaXMuY29tcG9uZW50Lmluc3RhbmNlLmF1dG9Db21wbGV0ZVNlYXJjaFZhbHVlXHJcbiAgICAgICAgICA/LnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKVxyXG4gICAgICAgICAgPy5zdWJzY3JpYmUoKGV2ZW50OiBzdHJpbmcpID0+IHtcclxuICAgICAgICAgICAgdGhpcy5mb3JtQXV0b0NvbXBsZXRlU2VhcmNoLmVtaXQoZXZlbnQpO1xyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgdGhpcy5jb21wb25lbnQuaW5zdGFuY2UuYXV0b0NvbXBsZXRlQ2xlYXJTZWFyY2hWYWx1ZVxyXG4gICAgICAgICAgPy5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcclxuICAgICAgICAgID8uc3Vic2NyaWJlKChldmVudDogc3RyaW5nKSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMuYXV0b0NvbXBsZXRlQ2xlYXJTZWFyY2hWYWx1ZS5lbWl0KGV2ZW50KTtcclxuICAgICAgICAgIH0pO1xyXG4gICAgICAgIHRoaXMuY29tcG9uZW50Lmluc3RhbmNlLmF1dG9Db21wbGV0ZU9wdGlvblNlbGVjdGVkXHJcbiAgICAgICAgICA/LnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKVxyXG4gICAgICAgICAgPy5zdWJzY3JpYmUoKGV2ZW50OiBFdmVudCkgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLmF1dG9Db21wbGV0ZU9wdGlvblNlbGVjdGVkLmVtaXQoZXZlbnQpO1xyXG4gICAgICAgICAgfSk7XHJcbiAgICAgIH0gZWxzZSBpZiAoXHJcbiAgICAgICAgdGhpcy5jb25maWcudHlwZSA9PT0gRm9ybUNvbnRyb2xUeXBlLk1VTFRJX1NFTEVDVF9BVVRPX0NPTVBMRVRFXHJcbiAgICAgICkge1xyXG4gICAgICAgIHRoaXMuY29tcG9uZW50Lmluc3RhbmNlLm11bHRpU2VsZWN0QXV0b0NvbXBsZXRlU2VhcmNoVmFsdWVcclxuICAgICAgICAgID8ucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpXHJcbiAgICAgICAgICA/LnN1YnNjcmliZSgoZXZlbnQ6IHN0cmluZykgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLmZvcm1NdWx0aVNlbGVjdEF1dG9Db21wbGV0ZVNlYXJjaC5lbWl0KGV2ZW50KTtcclxuICAgICAgICAgIH0pO1xyXG4gICAgICAgIHRoaXMuY29tcG9uZW50Lmluc3RhbmNlLm11bHRpU2VsZWN0QXV0b0NvbXBsZXRlQ2xlYXJTZWFyY2hWYWx1ZVxyXG4gICAgICAgICAgPy5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcclxuICAgICAgICAgID8uc3Vic2NyaWJlKChldmVudDogc3RyaW5nKSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMubXVsdGlTZWxlY3RBdXRvQ29tcGxldGVDbGVhclNlYXJjaFZhbHVlLmVtaXQoZXZlbnQpO1xyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgdGhpcy5jb21wb25lbnQuaW5zdGFuY2UubXVsdGlTZWxlY3RBdXRvQ29tcGxldGVPcHRpb25zU2VsZWN0ZWRcclxuICAgICAgICAgID8ucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpXHJcbiAgICAgICAgICA/LnN1YnNjcmliZSgoZXZlbnQ6IEF1dG9Db21wbGV0ZU9wdGlvbltdKSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMubXVsdGlTZWxlY3RBdXRvQ29tcGxldGVPcHRpb25zU2VsZWN0ZWQuZW1pdChldmVudCk7XHJcbiAgICAgICAgICB9KTtcclxuICAgICAgfSBlbHNlIGlmICh0aGlzLmNvbmZpZy50eXBlID09PSBGb3JtQ29udHJvbFR5cGUuVElNRV9QSUNLRVIpIHtcclxuICAgICAgICB0aGlzLmNvbXBvbmVudC5pbnN0YW5jZS5mb3JtVGltZVNlbGVjdGVkXHJcbiAgICAgICAgICA/LnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKVxyXG4gICAgICAgICAgPy5zdWJzY3JpYmUoKGV2ZW50OiBzdHJpbmcpID0+IHtcclxuICAgICAgICAgICAgdGhpcy5mb3JtVGltZVNlbGVjdGVkLmVtaXQoe1xyXG4gICAgICAgICAgICAgIHRpbWU6IGV2ZW50LFxyXG4gICAgICAgICAgICAgIGNvbnRyb2xOYW1lOiB0aGlzLmNvbXBvbmVudC5pbnN0YW5jZS5jb25maWcuY29udHJvbE5hbWUsXHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgfSk7XHJcbiAgICAgIH0gZWxzZSBpZiAodGhpcy5jb25maWcudHlwZSA9PT0gRm9ybUNvbnRyb2xUeXBlLklOUFVUKSB7XHJcbiAgICAgICAgdGhpcy5jb21wb25lbnQuaW5zdGFuY2UuaW5wdXRWYWx1ZUNoYW5nZVxyXG4gICAgICAgICAgPy5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcclxuICAgICAgICAgID8uc3Vic2NyaWJlKChldmVudDogc3RyaW5nIHwgbnVtYmVyKSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMuZm9ybUlucHV0VmFsdWUuZW1pdChldmVudCk7XHJcbiAgICAgICAgICB9KTtcclxuICAgICAgfSBlbHNlIGlmICh0aGlzLmNvbmZpZy50eXBlID09PSBGb3JtQ29udHJvbFR5cGUuQUREX0ZPUk1fR1JPVVApIHtcclxuICAgICAgICB0aGlzLmNvbXBvbmVudC5pbnN0YW5jZS5hZGRGb3JtR3JvdXBcclxuICAgICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcclxuICAgICAgICAgIC5zdWJzY3JpYmUoKGV2ZW50OiBFdmVudCkgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLmFkZEZvcm1Hcm91cC5lbWl0KGV2ZW50KTtcclxuICAgICAgICAgIH0pO1xyXG4gICAgICB9IGVsc2UgaWYgKHRoaXMuY29uZmlnLnR5cGUgPT09IEZvcm1Db250cm9sVHlwZS5URVhUX0FSRUEpIHtcclxuICAgICAgICB0aGlzLmNvbXBvbmVudD8uaW5zdGFuY2U/LnN1cHBvcnRUZXh0TGlua0NsaWNrXHJcbiAgICAgICAgICA/LnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKVxyXG4gICAgICAgICAgPy5zdWJzY3JpYmUoKGV2ZW50OiBMaW5rRXZlbnRFbWl0VHlwZSkgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLnN1cHBvcnRUZXh0TGlua0NsaWNrLmVtaXQoZXZlbnQpO1xyXG4gICAgICAgICAgfSk7XHJcbiAgICAgIH0gZWxzZSBpZiAodGhpcy5jb25maWcudHlwZSA9PT0gRm9ybUNvbnRyb2xUeXBlLlNMSURFX1RPR0dMRSkge1xyXG4gICAgICAgIHRoaXMuY29tcG9uZW50Lmluc3RhbmNlLnNsaWRlVG9nZ2xlQ2hhbmdlXHJcbiAgICAgICAgICA/LnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKVxyXG4gICAgICAgICAgPy5zdWJzY3JpYmUoKGV2ZW50OiBTbGlkZVRvZ2dsZU9wdGlvbikgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLmZvcm1TbGlkZVRvZ2dsZUNoYW5nZS5lbWl0KGV2ZW50KTtcclxuICAgICAgICAgIH0pO1xyXG4gICAgICB9IGVsc2UgaWYgKHRoaXMuY29uZmlnLnR5cGUgPT09IEZvcm1Db250cm9sVHlwZS5DT0xPUl9QSUNLRVIpIHtcclxuICAgICAgICB0aGlzLmNvbXBvbmVudC5pbnN0YW5jZS5jb2xvclBpY2tlckNoYW5nZVxyXG4gICAgICAgICAgPy5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcclxuICAgICAgICAgID8uc3Vic2NyaWJlKChldmVudDogc3RyaW5nKSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMuZm9ybUNvbG9yUGlja2VyQ2hhbmdlLmVtaXQoZXZlbnQpO1xyXG4gICAgICAgICAgfSk7XHJcbiAgICAgIH0gZWxzZSBpZiAodGhpcy5jb25maWcudHlwZSA9PT0gRm9ybUNvbnRyb2xUeXBlLkZJTEVfVVBMT0FEKSB7XHJcbiAgICAgICAgdGhpcy5jb21wb25lbnQuaW5zdGFuY2UudXBsb2FkU2VsZWN0ZWRGaWxlc1xyXG4gICAgICAgICAgPy5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcclxuICAgICAgICAgID8uc3Vic2NyaWJlKChldmVudDogRmlsZSB8IEZpbGVMaXN0KSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMuZm9ybUZpbGVVcGxvYWQuZW1pdChldmVudCk7XHJcbiAgICAgICAgICB9KTtcclxuICAgICAgfSBlbHNlIGlmICh0aGlzLmNvbmZpZy50eXBlID09PSBGb3JtQ29udHJvbFR5cGUuUkFESU8pIHtcclxuICAgICAgICB0aGlzLmNvbXBvbmVudC5pbnN0YW5jZS5zZWxlY3RlZFJhZGlvT3B0aW9uXHJcbiAgICAgICAgICA/LnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKVxyXG4gICAgICAgICAgPy5zdWJzY3JpYmUoKGV2ZW50OiBSYWRpb09wdGlvbikgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLmZvcm1SYWRpb09wdGlvblNlbGVjdGVkLmVtaXQoZXZlbnQpO1xyXG4gICAgICAgICAgfSk7XHJcbiAgICAgIH0gZWxzZSBpZiAodGhpcy5jb25maWcudHlwZSA9PT0gRm9ybUNvbnRyb2xUeXBlLlJJQ0hfVEVYVF9FRElUT1IpIHtcclxuICAgICAgICB0aGlzLmNvbXBvbmVudC5pbnN0YW5jZS5yaWNoVGV4dEVkaXRvckNvbnRlbnRDaGFuZ2VcclxuICAgICAgICAgID8ucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpXHJcbiAgICAgICAgICA/LnN1YnNjcmliZSgoZXZlbnQ6IHN0cmluZykgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLmZvcm1SaWNoVGV4dEVkaXRvckNvbnRlbnRDaGFuZ2UuZW1pdChldmVudCk7XHJcbiAgICAgICAgICB9KTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogSW1wbGVtZW50YXRpb24gb2YgbmdPbkRlc3Ryb3kgbGlmZWN5Y2xlIGhvb2sgbWV0aG9kIHRvIHVuc3Vic2NyaWJlIHRoZSBvcGVuIG9ic2VydmFibGUgc3Vic2NyaXB0aW9ucy5cclxuICAgKiBAbWVtYmVyb2YgRHluYW1pY0Zvcm1GaWVsZERpcmVjdGl2ZVxyXG4gICAqL1xyXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgdGhpcy5kZXN0cm95JC5uZXh0KHRydWUpO1xyXG4gICAgdGhpcy5kZXN0cm95JC51bnN1YnNjcmliZSgpO1xyXG4gIH1cclxufVxyXG4iXX0=
410
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1mb3JtLWZpZWxkLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ByZXNlbnRhdGlvbi9zcmMvbGliL2RpcmVjdGl2ZXMvZHluYW1pYy1mb3JtLWZpZWxkL2R5bmFtaWMtZm9ybS1maWVsZC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUdMLE1BQU0sR0FHUCxNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUcxQyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDeEUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sc0RBQXNELENBQUM7QUFDN0YsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sOENBQThDLENBQUM7QUFDakYsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sb0RBQW9ELENBQUM7QUFDekYsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQ3hFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUMzRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMENBQTBDLENBQUM7QUFDM0UsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZ0RBQWdELENBQUM7QUFDbkYsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBRXhFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDBEQUEwRCxDQUFDO0FBQ2pHLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLG9EQUFvRCxDQUFDO0FBSXpGLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHNEQUFzRCxDQUFDO0FBRTVGLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFN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QzsrR0FqVVUseUJBQXlCO21HQUF6Qix5QkFBeUI7OzRGQUF6Qix5QkFBeUI7a0JBSnJDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLDBCQUEwQjtvQkFDcEMsVUFBVSxFQUFFLElBQUk7aUJBQ2pCO3VHQVVLLE1BQU07c0JBRFQsS0FBSztnQkFnQkYsS0FBSztzQkFEUixLQUFLO2dCQVlPLGdCQUFnQjtzQkFBNUIsS0FBSztnQkFZRiwyQkFBMkI7c0JBRDlCLEtBQUs7Z0JBbUJGLGNBQWM7c0JBRmpCLEtBQUs7Z0JBcUJGLGNBQWM7c0JBRmpCLEtBQUs7Z0JBYUksZUFBZTtzQkFBeEIsTUFBTTtnQkFDRyxvQkFBb0I7c0JBQTdCLE1BQU07Z0JBQ0csZ0JBQWdCO3NCQUF6QixNQUFNO2dCQUNHLGdCQUFnQjtzQkFBekIsTUFBTTtnQkFDRyxxQkFBcUI7c0JBQTlCLE1BQU07Z0JBSUcsZ0JBQWdCO3NCQUF6QixNQUFNO2dCQUlHLHNCQUFzQjtzQkFBL0IsTUFBTTtnQkFDRyw0QkFBNEI7c0JBQXJDLE1BQU07Z0JBQ0csMEJBQTBCO3NCQUFuQyxNQUFNO2dCQUNHLHFCQUFxQjtzQkFBOUIsTUFBTTtnQkFDRyxjQUFjO3NCQUF2QixNQUFNO2dCQUNHLFlBQVk7c0JBQXJCLE1BQU07Z0JBQ0csb0JBQW9CO3NCQUE3QixNQUFNO2dCQUNHLHFCQUFxQjtzQkFBOUIsTUFBTTtnQkFDRyxvQkFBb0I7c0JBQTdCLE1BQU07Z0JBQ0cscUJBQXFCO3NCQUE5QixNQUFNO2dCQUNHLGNBQWM7c0JBQXZCLE1BQU07Z0JBQ0csdUJBQXVCO3NCQUFoQyxNQUFNO2dCQUNHLGNBQWM7c0JBQXZCLE1BQU07Z0JBQ0csaUNBQWlDO3NCQUExQyxNQUFNO2dCQUNHLHVDQUF1QztzQkFBaEQsTUFBTTtnQkFFRyxzQ0FBc0M7c0JBQS9DLE1BQU07Z0JBR0csK0JBQStCO3NCQUF4QyxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBDb21wb25lbnRSZWYsXHJcbiAgRGlyZWN0aXZlLFxyXG4gIEV2ZW50RW1pdHRlcixcclxuICBJbnB1dCxcclxuICBPbkRlc3Ryb3ksXHJcbiAgT25Jbml0LFxyXG4gIE91dHB1dCxcclxuICBUeXBlLFxyXG4gIFZpZXdDb250YWluZXJSZWYsXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEZvcm1Hcm91cCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgU3ViamVjdCwgdGFrZVVudGlsIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IEZpZWxkQ29uZmlnIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2ZpZWxkLWNvbmZpZy5tb2RlbCc7XHJcbmltcG9ydCB7IEZvcm1GaWVsZCB9IGZyb20gJy4uLy4uL21vZGVscy9mb3JtLWZpZWxkLm1vZGVsJztcclxuaW1wb3J0IHsgSW5wdXRDb21wb25lbnQgfSBmcm9tICcuLi8uLi9jb21wb25lbnRzL2lucHV0L2lucHV0LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEF1dG9jb21wbGV0ZUNvbXBvbmVudCB9IGZyb20gJy4uLy4uL2NvbXBvbmVudHMvYXV0b2NvbXBsZXRlL2F1dG9jb21wbGV0ZS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBDaGVja2JveENvbXBvbmVudCB9IGZyb20gJy4uLy4uL2NvbXBvbmVudHMvY2hlY2tib3gvY2hlY2tib3guY29tcG9uZW50JztcclxuaW1wb3J0IHsgRGF0ZVBpY2tlckNvbXBvbmVudCB9IGZyb20gJy4uLy4uL2NvbXBvbmVudHMvZGF0ZS1waWNrZXIvZGF0ZS1waWNrZXIuY29tcG9uZW50JztcclxuaW1wb3J0IHsgUmFkaW9Db21wb25lbnQgfSBmcm9tICcuLi8uLi9jb21wb25lbnRzL3JhZGlvL3JhZGlvLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFNlYXJjaENvbXBvbmVudCB9IGZyb20gJy4uLy4uL2NvbXBvbmVudHMvc2VhcmNoL3NlYXJjaC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBTZWxlY3RDb21wb25lbnQgfSBmcm9tICcuLi8uLi9jb21wb25lbnRzL3NlbGVjdC9zZWxlY3QuY29tcG9uZW50JztcclxuaW1wb3J0IHsgVGV4dEFyZWFDb21wb25lbnQgfSBmcm9tICcuLi8uLi9jb21wb25lbnRzL3RleHQtYXJlYS90ZXh0LWFyZWEuY29tcG9uZW50JztcclxuaW1wb3J0IHsgRm9ybUNvbnRyb2xUeXBlIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2Zvcm0tY29udHJvbC10eXBlcy5tb2RlbCc7XHJcbmltcG9ydCB7IENoZWNrYm94T3B0aW9uIH0gZnJvbSAnQGllZWVzYS1ucG0vbW9kZWxzJztcclxuaW1wb3J0IHsgQWRkRm9ybUdyb3VwQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vY29tcG9uZW50cy9hZGQtZm9ybS1ncm91cC9hZGQtZm9ybS1ncm91cC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBUaW1lUGlja2VyQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vY29tcG9uZW50cy90aW1lLXBpY2tlci90aW1lLXBpY2tlci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBTZWxlY3RlZERhdGUgfSBmcm9tICcuLi8uLi9tb2RlbHMvc2VsZWN0ZWQtZGF0ZS5tb2RlbCc7XHJcbmltcG9ydCB7IFNlbGVjdGVkVGltZSB9IGZyb20gJy4uLy4uL21vZGVscy9zZWxlY3RlZC10aW1lLm1vZGVsJztcclxuaW1wb3J0IHsgTGlua0V2ZW50RW1pdFR5cGUgfSBmcm9tICcuLi8uLi9tb2RlbHMvZXZlbnQtZW1pdC10eXBlLm1vZGVsJztcclxuaW1wb3J0IHsgU2xpZGVUb2dnbGVDb21wb25lbnQgfSBmcm9tICcuLi8uLi9jb21wb25lbnRzL3NsaWRlLXRvZ2dsZS9zbGlkZS10b2dnbGUuY29tcG9uZW50JztcclxuaW1wb3J0IHsgU2xpZGVUb2dnbGVPcHRpb24gfSBmcm9tICcuLi8uLi9tb2RlbHMvc2xpZGUtdG9nZ2xlLW9wdGlvbnMubW9kZWwnO1xyXG5pbXBvcnQgeyBGaWxlVXBsb2FkQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vY29tcG9uZW50cy9maWxlLXVwbG9hZC9maWxlLXVwbG9hZC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBTZWxlY3RPcGVuZWRTdGF0ZSB9IGZyb20gJy4uLy4uL21vZGVscy9zZWxlY3Qtb3BlbmVkLXN0YXRlLm1vZGVsJztcclxuaW1wb3J0IHsgQ29sb3JQaWNrZXJDb21wb25lbnQgfSBmcm9tICcuLi8uLi9jb21wb25lbnRzL2NvbG9yLXBpY2tlci9jb2xvci1waWNrZXIuY29tcG9uZW50JztcclxuaW1wb3J0IHsgUmFkaW9PcHRpb24gfSBmcm9tICcuLi8uLi9tb2RlbHMvcmFkaW8tb3B0aW9uLm1vZGVsJztcclxuaW1wb3J0IHsgSWNvbkJ1dHRvbiB9IGZyb20gJ0BpZWVlc2EtbnBtL21vZGVscyc7XHJcbmltcG9ydCB7IE11bHRpU2VsZWN0QXV0b2NvbXBsZXRlQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vY29tcG9uZW50cy9tdWx0aS1zZWxlY3QtYXV0b2NvbXBsZXRlL211bHRpLXNlbGVjdC1hdXRvY29tcGxldGUuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQXV0b0NvbXBsZXRlT3B0aW9uIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2F1dG9jb21wbGV0ZS1vcHRpb24ubW9kZWwnO1xyXG5pbXBvcnQgeyBSaWNoVGV4dEVkaXRvckNvbXBvbmVudCB9IGZyb20gJy4uLy4uL2NvbXBvbmVudHMvcmljaC10ZXh0LWVkaXRvci9yaWNoLXRleHQtZWRpdG9yLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEZpbGVVcGxvYWRTdGF0dXMgfSBmcm9tICcuLi8uLi9tb2RlbHMvZmlsZS11cGxvYWQtc3RhdHVzLm1vZGVsJztcclxuaW1wb3J0IHsgRmlsZURvd25sb2FkQW5kRGVsZXRlQ29uZmlnIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2ZpbGUtZG93bmxvYWQtY29uZmlnLm1vZGVsJztcclxuXHJcbmNvbnN0IGNvbXBvbmVudHM6IHsgW3R5cGU6IHN0cmluZ106IFR5cGU8Rm9ybUZpZWxkPiB9ID0ge1xyXG4gIFtGb3JtQ29udHJvbFR5cGUuSU5QVVRdOiBJbnB1dENvbXBvbmVudCxcclxuICBbRm9ybUNvbnRyb2xUeXBlLlRFWFRfQVJFQV06IFRleHRBcmVhQ29tcG9uZW50LFxyXG4gIFtGb3JtQ29udHJvbFR5cGUuU0VMRUNUXTogU2VsZWN0Q29tcG9uZW50LFxyXG4gIFtGb3JtQ29udHJvbFR5cGUuU0VBUkNIXTogU2VhcmNoQ29tcG9uZW50LFxyXG4gIFtGb3JtQ29udHJvbFR5cGUuREFURV06IERhdGVQaWNrZXJDb21wb25lbnQsXHJcbiAgW0Zvcm1Db250cm9sVHlwZS5DSEVDS0JPWF06IENoZWNrYm94Q29tcG9uZW50LFxyXG4gIFtGb3JtQ29udHJvbFR5cGUuUkFESU9dOiBSYWRpb0NvbXBvbmVudCxcclxuICBbRm9ybUNvbnRyb2xUeXBlLkFVVE9fQ09NUExFVEVdOiBBdXRvY29tcGxldGVDb21wb25lbnQsXHJcbiAgW0Zvcm1Db250cm9sVHlwZS5BRERfRk9STV9HUk9VUF06IEFkZEZvcm1Hcm91cENvbXBvbmVudCxcclxuICBbRm9ybUNvbnRyb2xUeXBlLlRJTUVfUElDS0VSXTogVGltZVBpY2tlckNvbXBvbmVudCxcclxuICBbRm9ybUNvbnRyb2xUeXBlLlNMSURFX1RPR0dMRV06IFNsaWRlVG9nZ2xlQ29tcG9uZW50LFxyXG4gIFtGb3JtQ29udHJvbFR5cGUuQ09MT1JfUElDS0VSXTogQ29sb3JQaWNrZXJDb21wb25lbnQsXHJcbiAgW0Zvcm1Db250cm9sVHlwZS5GSUxFX1VQTE9BRF06IEZpbGVVcGxvYWRDb21wb25lbnQsXHJcbiAgW0Zvcm1Db250cm9sVHlwZS5NVUxUSV9TRUxFQ1RfQVVUT19DT01QTEVURV06XHJcbiAgICBNdWx0aVNlbGVjdEF1dG9jb21wbGV0ZUNvbXBvbmVudCxcclxuICBbRm9ybUNvbnRyb2xUeXBlLlJJQ0hfVEVYVF9FRElUT1JdOiBSaWNoVGV4dEVkaXRvckNvbXBvbmVudCxcclxufTtcclxuXHJcbi8qKlxyXG4gKiBQcm92aWRlcyB0aGUgaW1wbGVtZW50YXRpb24gb2YgRHluYW1pY0Zvcm1GaWVsZERpcmVjdGl2ZSB3aGljaCBob3N0cyBhbmQgY3JlYXRlcyB0aGUgZm9ybSBmaWVsZHMgY29tcG9uZW50cyBkeW5hbWljYWxseS5cclxuICogQGV4cG9ydFxyXG4gKiBAY2xhc3MgRHluYW1pY0Zvcm1GaWVsZERpcmVjdGl2ZVxyXG4gKiBAaW1wbGVtZW50cyB7Rm9ybUZpZWxkfVxyXG4gKiBAaW1wbGVtZW50cyB7T25Jbml0fVxyXG4gKiBAaW1wbGVtZW50cyB7T25EZXN0cm95fVxyXG4gKi9cclxuQERpcmVjdGl2ZSh7XHJcbiAgc2VsZWN0b3I6ICdbaWVlZXNhRHluYW1pY0Zvcm1GaWVsZF0nLFxyXG4gIHN0YW5kYWxvbmU6IHRydWUsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBEeW5hbWljRm9ybUZpZWxkRGlyZWN0aXZlIGltcGxlbWVudHMgRm9ybUZpZWxkLCBPbkluaXQsIE9uRGVzdHJveSB7XHJcbiAgZGVzdHJveSQ6IFN1YmplY3Q8Ym9vbGVhbj4gPSBuZXcgU3ViamVjdDxib29sZWFuPigpO1xyXG4gIHByaXZhdGUgX2NvbmZpZyE6IEZpZWxkQ29uZmlnO1xyXG4gIHByaXZhdGUgX2dyb3VwITogRm9ybUdyb3VwO1xyXG4gIC8qKlxyXG4gICAqIFNldHMgdGhlIGZvcm0gZmllbGQgY29uZmlndXJhdGlvblxyXG4gICAqIEBtZW1iZXJvZiBEeW5hbWljRm9ybUZpZWxkRGlyZWN0aXZlXHJcbiAgICovXHJcbiAgQElucHV0KClcclxuICBzZXQgY29uZmlnKHZhbHVlOiBGaWVsZENvbmZpZykge1xyXG4gICAgdGhpcy5fY29uZmlnID0gdmFsdWU7XHJcbiAgICBpZiAodGhpcy5jb21wb25lbnQpIHtcclxuICAgICAgdGhpcy5sb2FkQ29tcG9uZW50KCk7XHJcbiAgICB9XHJcbiAgfVxyXG4gIGdldCBjb25maWcoKTogRmllbGRDb25maWcge1xyXG4gICAgcmV0dXJuIHRoaXMuX2NvbmZpZztcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFNldHMgdGhlIGZvcm0gZ3JvdXBcclxuICAgKiBAbWVtYmVyb2YgRHluYW1pY0Zvcm1GaWVsZERpcmVjdGl2ZVxyXG4gICAqL1xyXG4gIEBJbnB1dCgpXHJcbiAgc2V0IGdyb3VwKHZhbHVlOiBGb3JtR3JvdXApIHtcclxuICAgIGlmICh0aGlzLmNvbXBvbmVudD8uaW5zdGFuY2UpIHtcclxuICAgICAgdGhpcy5jb21wb25lbnQuaW5zdGFuY2UuZ3JvdXAgPSB2YWx1ZTtcclxuICAgIH1cclxuICAgIHRoaXMuX2dyb3VwID0gdmFsdWU7XHJcbiAgfVxyXG4gIGdldCBncm91cCgpOiBGb3JtR3JvdXAge1xyXG4gICAgcmV0dXJuIHRoaXMuX2dyb3VwO1xyXG4gIH1cclxuICBwcml2YXRlIF9maWxlVXBsb2FkU3RhdHVzITogRmlsZVVwbG9hZFN0YXR1cztcclxuXHJcbiAgQElucHV0KCkgZ2V0IGZpbGVVcGxvYWRTdGF0dXMoKTogRmlsZVVwbG9hZFN0YXR1cyB7XHJcbiAgICByZXR1cm4gdGhpcy5fZmlsZVVwbG9hZFN0YXR1cztcclxuICB9XHJcbiAgc2V0IGZpbGVVcGxvYWRTdGF0dXModmFsdWU6IEZpbGVVcGxvYWRTdGF0dXMpIHtcclxuICAgIGlmICh0aGlzLmNvbXBvbmVudD8uaW5zdGFuY2UpIHtcclxuICAgICAgdGhpcy5jb21wb25lbnQuaW5zdGFuY2UuZmlsZVVwbG9hZFN0YXR1cyA9IHZhbHVlO1xyXG4gICAgfVxyXG4gICAgdGhpcy5fZmlsZVVwbG9hZFN0YXR1cyA9IHZhbHVlO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfZmlsZURvd25sb2FkQW5kRGVsZXRlQ29uZmlnITogRmlsZURvd25sb2FkQW5kRGVsZXRlQ29uZmlnO1xyXG4gIEBJbnB1dCgpXHJcbiAgc2V0IGZpbGVEb3dubG9hZEFuZERlbGV0ZUNvbmZpZyh2YWx1ZTogRmlsZURvd25sb2FkQW5kRGVsZXRlQ29uZmlnKSB7XHJcbiAgICBpZiAodGhpcy5jb21wb25lbnQ/Lmluc3RhbmNlKSB7XHJcbiAgICAgIHRoaXMuY29tcG9uZW50Lmluc3RhbmNlLmZpbGVVcGxvYWRTdGF0dXMgPSB2YWx1ZTtcclxuICAgIH1cclxuICAgIHRoaXMuX2ZpbGVEb3dubG9hZEFuZERlbGV0ZUNvbmZpZyA9IHZhbHVlO1xyXG4gIH1cclxuICBnZXQgZmlsZURvd25sb2FkQW5kRGVsZXRlQ29uZmlnKCk6IEZpbGVEb3dubG9hZEFuZERlbGV0ZUNvbmZpZyB7XHJcbiAgICByZXR1cm4gdGhpcy5fZmlsZURvd25sb2FkQW5kRGVsZXRlQ29uZmlnO1xyXG4gIH1cclxuXHJcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcclxuICBwcml2YXRlIF9zdWJtaXRSZXNwb25zZSE6IGFueTtcclxuICAvKipcclxuICAgKiBTZXRzIHRoZSBzdWJtaXQgcmVzcG9uc2Ugb2YgZm9ybSBzdWJtaXQgZXZlbnRcclxuICAgKiBAbWVtYmVyb2YgRHluYW1pY0Zvcm1GaWVsZERpcmVjdGl2ZVxyXG4gICAqL1xyXG4gIEBJbnB1dCgpXHJcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcclxuICBzZXQgc3VibWl0UmVzcG9uc2UodmFsdWU6IGFueSkge1xyXG4gICAgaWYgKHRoaXMuY29tcG9uZW50Py5pbnN0YW5jZSkge1xyXG4gICAgICB0aGlzLmNvbXBvbmVudC5pbnN0YW5jZS5zdWJtaXRSZXNwb25zZSA9IHZhbHVlO1xyXG4gICAgfVxyXG4gICAgdGhpcy5fc3VibWl0UmVzcG9uc2UgPSB2YWx1ZTtcclxuICB9XHJcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcclxuICBnZXQgc3VibWl0UmVzcG9uc2UoKTogYW55IHtcclxuICAgIHJldHVybiB0aGlzLl9zdWJtaXRSZXNwb25zZTtcclxuICB9XHJcblxyXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XHJcbiAgcHJpdmF0ZSBfc2VhcmNoUmVzcG9uc2UhOiBhbnk7XHJcbiAgLyoqXHJcbiAgICogU2V0cyB0aGUgZm9ybSBzZWFyY2ggcmVzcG9uc2Ugb2YgZm9ybSBzZWFyY2ggYXBwbHkuXHJcbiAgICogQG1lbWJlcm9mIER5bmFtaWNGb3JtRmllbGREaXJlY3RpdmVcclxuICAgKi9cclxuICBASW5wdXQoKVxyXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XHJcbiAgc2V0IHNlYXJjaFJlc3BvbnNlKHZhbHVlOiBhbnkpIHtcclxuICAgIGlmICh0aGlzLmNvbXBvbmVudD8uaW5zdGFuY2UpIHtcclxuICAgICAgdGhpcy5jb21wb25lbnQuaW5zdGFuY2Uuc2VhcmNoUmVzcG9uc2UgPSB2YWx1ZTtcclxuICAgIH1cclxuICAgIHRoaXMuX3NlYXJjaFJlc3BvbnNlID0gdmFsdWU7XHJcbiAgfVxyXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XHJcbiAgZ2V0IHNlYXJjaFJlc3BvbnNlKCk6IGFueSB7XHJcbiAgICByZXR1cm4gdGhpcy5fc2VhcmNoUmVzcG9uc2U7XHJcbiAgfVxyXG5cclxuICBAT3V0cHV0KCkgZm9ybVNlYXJjaEFwcGx5ID0gbmV3IEV2ZW50RW1pdHRlcjxFdmVudD4oKTtcclxuICBAT3V0cHV0KCkgZm9ybURyb3Bkb3duU2VsZWN0ZWQgPSBuZXcgRXZlbnRFbWl0dGVyPEV2ZW50PigpO1xyXG4gIEBPdXRwdXQoKSBmb3JtRGF0ZVNlbGVjdGVkID0gbmV3IEV2ZW50RW1pdHRlcjxTZWxlY3RlZERhdGU+KCk7XHJcbiAgQE91dHB1dCgpIGZvcm1UaW1lU2VsZWN0ZWQgPSBuZXcgRXZlbnRFbWl0dGVyPFNlbGVjdGVkVGltZT4oKTtcclxuICBAT3V0cHV0KCkgZm9ybVNlbGVjdGVkRGF0ZVJhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjx7XHJcbiAgICBzdGFydERhdGU6IHN0cmluZztcclxuICAgIGVuZERhdGU6IHN0cmluZztcclxuICB9PigpO1xyXG4gIEBPdXRwdXQoKSBmb3JtU2VsZWN0U2VhcmNoID0gbmV3IEV2ZW50RW1pdHRlcjx7XHJcbiAgICBzZWFyY2hFdmVudDogRXZlbnQ7XHJcbiAgICBjb250cm9sTmFtZTogc3RyaW5nO1xyXG4gIH0+KCk7XHJcbiAgQE91dHB1dCgpIGZvcm1BdXRvQ29tcGxldGVTZWFyY2ggPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcclxuICBAT3V0cHV0KCkgYXV0b0NvbXBsZXRlQ2xlYXJTZWFyY2hWYWx1ZSA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xyXG4gIEBPdXRwdXQoKSBhdXRvQ29tcGxldGVPcHRpb25TZWxlY3RlZCA9IG5ldyBFdmVudEVtaXR0ZXI8RXZlbnQ+KCk7XHJcbiAgQE91dHB1dCgpIGZvcm1DaGVja2JveFNlbGVjdGlvbiA9IG5ldyBFdmVudEVtaXR0ZXI8Q2hlY2tib3hPcHRpb24+KCk7XHJcbiAgQE91dHB1dCgpIGZvcm1JbnB1dFZhbHVlID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmcgfCBudW1iZXI+KCk7XHJcbiAgQE91dHB1dCgpIGFkZEZvcm1Hcm91cCA9IG5ldyBFdmVudEVtaXR0ZXI8RXZlbnQ+KCk7XHJcbiAgQE91dHB1dCgpIHN1cHBvcnRUZXh0TGlua0NsaWNrID0gbmV3IEV2ZW50RW1pdHRlcjxMaW5rRXZlbnRFbWl0VHlwZT4oKTtcclxuICBAT3V0cHV0KCkgZm9ybVNsaWRlVG9nZ2xlQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxTbGlkZVRvZ2dsZU9wdGlvbj4oKTtcclxuICBAT3V0cHV0KCkgZHJvcGRvd25PcGVuZWRDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPFNlbGVjdE9wZW5lZFN0YXRlPigpO1xyXG4gIEBPdXRwdXQoKSBmb3JtQ29sb3JQaWNrZXJDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcclxuICBAT3V0cHV0KCkgZm9ybUZpbGVVcGxvYWQgPSBuZXcgRXZlbnRFbWl0dGVyPEZpbGUgfCBGaWxlTGlzdD4oKTtcclxuICBAT3V0cHV0KCkgZm9ybVJhZGlvT3B0aW9uU2VsZWN0ZWQgPSBuZXcgRXZlbnRFbWl0dGVyPFJhZGlvT3B0aW9uPigpO1xyXG4gIEBPdXRwdXQoKSBjdGFCdXR0b25DbGljayA9IG5ldyBFdmVudEVtaXR0ZXI8SWNvbkJ1dHRvbj4oKTtcclxuICBAT3V0cHV0KCkgZm9ybU11bHRpU2VsZWN0QXV0b0NvbXBsZXRlU2VhcmNoID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XHJcbiAgQE91dHB1dCgpIG11bHRpU2VsZWN0QXV0b0NvbXBsZXRlQ2xlYXJTZWFyY2hWYWx1ZSA9XHJcbiAgICBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcclxuICBAT3V0cHV0KCkgbXVsdGlTZWxlY3RBdXRvQ29tcGxldGVPcHRpb25zU2VsZWN0ZWQgPSBuZXcgRXZlbnRFbWl0dGVyPFxyXG4gICAgQXV0b0NvbXBsZXRlT3B0aW9uW11cclxuICA+KCk7XHJcbiAgQE91dHB1dCgpIGZvcm1SaWNoVGV4dEVkaXRvckNvbnRlbnRDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcclxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxyXG4gIGNvbXBvbmVudCE6IENvbXBvbmVudFJlZjxhbnk+O1xyXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby11bnVzZWQtdmFycywgbm8tZW1wdHktZnVuY3Rpb25cclxuICBjb25zdHJ1Y3RvcihwdWJsaWMgY29udGFpbmVyOiBWaWV3Q29udGFpbmVyUmVmKSB7fVxyXG5cclxuICAvKipcclxuICAgKiBJbXBsZW1lbnRhdGlvbiBvZiBuZ09uSW5pdCBsaWZlY3ljbGUgaG9vayBtZXRob2QgdG8gY2FsbCBsb2FkQ29tcG9uZW50cyBtZXRob2QuXHJcbiAgICogQG1lbWJlcm9mIER5bmFtaWNGb3JtRmllbGREaXJlY3RpdmVcclxuICAgKi9cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMubG9hZENvbXBvbmVudCgpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQ3JlYXRlcyB0aGUgY29tcG9uZW50IGR5bmFtaWNhbGx5IGFuZCBpbml0aWFsaXplcyB0aGUgaW5zdGFuY2UgcHJvcGVydGllcyBvZiBjcmVhdGVkIGNvbXBvbmVudCwgYWxzbyBoYW5kbGVzIHRoZSBjcmVhdGVkIGNvbXBvbmVudCBldmVudHMuXHJcbiAgICogQG1lbWJlcm9mIER5bmFtaWNGb3JtRmllbGREaXJlY3RpdmVcclxuICAgKi9cclxuICBsb2FkQ29tcG9uZW50KCk6IHZvaWQge1xyXG4gICAgaWYgKCFjb21wb25lbnRzW3RoaXMuY29uZmlnPy50eXBlXSkge1xyXG4gICAgICBjb25zdCBzdXBwb3J0ZWRUeXBlcyA9IE9iamVjdC5rZXlzKGNvbXBvbmVudHMpLmpvaW4oJywgJyk7XHJcbiAgICAgIHRocm93IG5ldyBFcnJvcihcclxuICAgICAgICBgVHJ5aW5nIHRvIHVzZSBhbiB1bnN1cHBvcnRlZCB0eXBlICgke3RoaXMuY29uZmlnLnR5cGV9KS5cclxuICAgICAgICAgICAgU3VwcG9ydGVkIHR5cGVzOiAke3N1cHBvcnRlZFR5cGVzfWBcclxuICAgICAgKTtcclxuICAgIH1cclxuICAgIHRoaXMuY29tcG9uZW50ID0gdGhpcy5jb250YWluZXIuY3JlYXRlQ29tcG9uZW50KFxyXG4gICAgICBjb21wb25lbnRzW3RoaXMuY29uZmlnPy50eXBlXVxyXG4gICAgKTtcclxuICAgIGlmICh0aGlzLmNvbXBvbmVudD8uaW5zdGFuY2UpIHtcclxuICAgICAgdGhpcy5jb21wb25lbnQuaW5zdGFuY2UuY29uZmlnID0gdGhpcy5jb25maWc7XHJcbiAgICAgIHRoaXMuY29tcG9uZW50Lmluc3RhbmNlLmdyb3VwID0gdGhpcy5ncm91cDtcclxuICAgICAgdGhpcy5jb21wb25lbnQuaW5zdGFuY2Uuc3VibWl0UmVzcG9uc2UgPSB0aGlzLnN1Ym1pdFJlc3BvbnNlO1xyXG4gICAgICB0aGlzLmNvbXBvbmVudC5pbnN0YW5jZS5zZWFyY2hSZXNwb25zZSA9IHRoaXMuc2VhcmNoUmVzcG9uc2U7XHJcbiAgICAgIGlmICh0aGlzLmNvbmZpZy50eXBlID09PSBGb3JtQ29udHJvbFR5cGUuRklMRV9VUExPQUQpIHtcclxuICAgICAgICB0aGlzLmNvbXBvbmVudC5pbnN0YW5jZS5maWxlVXBsb2FkU3RhdHVzID0gdGhpcy5maWxlVXBsb2FkU3RhdHVzO1xyXG4gICAgICAgIHRoaXMuY29tcG9uZW50Lmluc3RhbmNlLmZpbGVEb3dubG9hZEFuZERlbGV0ZUNvbmZpZyA9IHRoaXMuZmlsZURvd25sb2FkQW5kRGVsZXRlQ29uZmlnO1xyXG4gICAgICB9XHJcbiAgICAgIGlmICh0aGlzLmNvbmZpZy50eXBlID09PSBGb3JtQ29udHJvbFR5cGUuU0VBUkNIKSB7XHJcbiAgICAgICAgdGhpcy5jb21wb25lbnQuaW5zdGFuY2Uuc2VhcmNoVmFsdWVcclxuICAgICAgICAgID8ucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpXHJcbiAgICAgICAgICA/LnN1YnNjcmliZSgoZXZlbnQ6IEV2ZW50KSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMuZm9ybVNlYXJjaEFwcGx5LmVtaXQoZXZlbnQpO1xyXG4gICAgICAgICAgfSk7XHJcbiAgICAgIH0gZWxzZSBpZiAodGhpcy5jb25maWcudHlwZSA9PT0gRm9ybUNvbnRyb2xUeXBlLkNIRUNLQk9YKSB7XHJcbiAgICAgICAgdGhpcy5jb21wb25lbnQuaW5zdGFuY2UuY2hlY2tib3hTZWxlY3Rpb25cclxuICAgICAgICAgID8ucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpXHJcbiAgICAgICAgICA/LnN1YnNjcmliZSgoZXZlbnQ6IENoZWNrYm94T3B0aW9uKSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMuZm9ybUNoZWNrYm94U2VsZWN0aW9uLmVtaXQoZXZlbnQpO1xyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgdGhpcy5jb21wb25lbnQuaW5zdGFuY2UuY3RhQnV0dG9uQ2xpY2tcclxuICAgICAgICAgID8ucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpXHJcbiAgICAgICAgICA/LnN1YnNjcmliZSgoZXZlbnQ6IEljb25CdXR0b24pID0+IHtcclxuICAgICAgICAgICAgdGhpcy5jdGFCdXR0b25DbGljay5lbWl0KGV2ZW50KTtcclxuICAgICAgICAgIH0pO1xyXG4gICAgICB9IGVsc2UgaWYgKHRoaXMuY29uZmlnLnR5cGUgPT09IEZvcm1Db250cm9sVHlwZS5TRUxFQ1QpIHtcclxuICAgICAgICB0aGlzLmNvbXBvbmVudC5pbnN0YW5jZS5vcHRpb25TZWxlY3RlZFxyXG4gICAgICAgICAgPy5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcclxuICAgICAgICAgID8uc3Vic2NyaWJlKChldmVudDogRXZlbnQpID0+IHtcclxuICAgICAgICAgICAgdGhpcy5mb3JtRHJvcGRvd25TZWxlY3RlZC5lbWl0KGV2ZW50KTtcclxuICAgICAgICAgIH0pO1xyXG4gICAgICAgIHRoaXMuY29tcG9uZW50Lmluc3RhbmNlLm9wdGlvblNlYXJjaGVkXHJcbiAgICAgICAgICA/LnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKVxyXG4gICAgICAgICAgPy5zdWJzY3JpYmUoKGV2ZW50OiBFdmVudCkgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLmZvcm1TZWxlY3RTZWFyY2guZW1pdCh7XHJcbiAgICAgICAgICAgICAgc2VhcmNoRXZlbnQ6IGV2ZW50LFxyXG4gICAgICAgICAgICAgIGNvbnRyb2xOYW1lOiB0aGlzLmNvbmZpZy5jb250cm9sTmFtZSxcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICB0aGlzLmNvbXBvbmVudC5pbnN0YW5jZS5kcm9wZG93bk9wZW5lZENoYW5nZVxyXG4gICAgICAgICAgPy5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcclxuICAgICAgICAgID8uc3Vic2NyaWJlKChldmVudDogU2VsZWN0T3BlbmVkU3RhdGUpID0+IHtcclxuICAgICAgICAgICAgdGhpcy5kcm9wZG93bk9wZW5lZENoYW5nZS5lbWl0KGV2ZW50KTtcclxuICAgICAgICAgIH0pO1xyXG4gICAgICB9IGVsc2UgaWYgKHRoaXMuY29uZmlnLnR5cGUgPT09IEZvcm1Db250cm9sVHlwZS5EQVRFKSB7XHJcbiAgICAgICAgdGhpcy5jb21wb25lbnQuaW5zdGFuY2Uuc2VsZWN0ZWREYXRlXHJcbiAgICAgICAgICA/LnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKVxyXG4gICAgICAgICAgPy5zdWJzY3JpYmUoKGV2ZW50OiBzdHJpbmcpID0+IHtcclxuICAgICAgICAgICAgdGhpcy5mb3JtRGF0ZVNlbGVjdGVkLmVtaXQoe1xyXG4gICAgICAgICAgICAgIGRhdGU6IGV2ZW50LFxyXG4gICAgICAgICAgICAgIGNvbnRyb2xOYW1lOiB0aGlzLmNvbmZpZy5jb250cm9sTmFtZSxcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICB0aGlzLmNvbXBvbmVudC5pbnN0YW5jZS5zZWxlY3RlZERhdGVSYW5nZVxyXG4gICAgICAgICAgPy5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcclxuICAgICAgICAgID8uc3Vic2NyaWJlKChldmVudDogeyBzdGFydERhdGU6IHN0cmluZzsgZW5kRGF0ZTogc3RyaW5nIH0pID0+IHtcclxuICAgICAgICAgICAgdGhpcy5mb3JtU2VsZWN0ZWREYXRlUmFuZ2UuZW1pdChldmVudCk7XHJcbiAgICAgICAgICB9KTtcclxuICAgICAgfSBlbHNlIGlmICh0aGlzLmNvbmZpZy50eXBlID09PSBGb3JtQ29udHJvbFR5cGUuQVVUT19DT01QTEVURSkge1xyXG4gICAgICAgIHRoaXMuY29tcG9uZW50Lmluc3RhbmNlLmF1dG9Db21wbGV0ZVNlYXJjaFZhbHVlXHJcbiAgICAgICAgICA/LnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKVxyXG4gICAgICAgICAgPy5zdWJzY3JpYmUoKGV2ZW50OiBzdHJpbmcpID0+IHtcclxuICAgICAgICAgICAgdGhpcy5mb3JtQXV0b0NvbXBsZXRlU2VhcmNoLmVtaXQoZXZlbnQpO1xyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgdGhpcy5jb21wb25lbnQuaW5zdGFuY2UuYXV0b0NvbXBsZXRlQ2xlYXJTZWFyY2hWYWx1ZVxyXG4gICAgICAgICAgPy5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcclxuICAgICAgICAgID8uc3Vic2NyaWJlKChldmVudDogc3RyaW5nKSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMuYXV0b0NvbXBsZXRlQ2xlYXJTZWFyY2hWYWx1ZS5lbWl0KGV2ZW50KTtcclxuICAgICAgICAgIH0pO1xyXG4gICAgICAgIHRoaXMuY29tcG9uZW50Lmluc3RhbmNlLmF1dG9Db21wbGV0ZU9wdGlvblNlbGVjdGVkXHJcbiAgICAgICAgICA/LnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKVxyXG4gICAgICAgICAgPy5zdWJzY3JpYmUoKGV2ZW50OiBFdmVudCkgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLmF1dG9Db21wbGV0ZU9wdGlvblNlbGVjdGVkLmVtaXQoZXZlbnQpO1xyXG4gICAgICAgICAgfSk7XHJcbiAgICAgIH0gZWxzZSBpZiAoXHJcbiAgICAgICAgdGhpcy5jb25maWcudHlwZSA9PT0gRm9ybUNvbnRyb2xUeXBlLk1VTFRJX1NFTEVDVF9BVVRPX0NPTVBMRVRFXHJcbiAgICAgICkge1xyXG4gICAgICAgIHRoaXMuY29tcG9uZW50Lmluc3RhbmNlLm11bHRpU2VsZWN0QXV0b0NvbXBsZXRlU2VhcmNoVmFsdWVcclxuICAgICAgICAgID8ucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpXHJcbiAgICAgICAgICA/LnN1YnNjcmliZSgoZXZlbnQ6IHN0cmluZykgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLmZvcm1NdWx0aVNlbGVjdEF1dG9Db21wbGV0ZVNlYXJjaC5lbWl0KGV2ZW50KTtcclxuICAgICAgICAgIH0pO1xyXG4gICAgICAgIHRoaXMuY29tcG9uZW50Lmluc3RhbmNlLm11bHRpU2VsZWN0QXV0b0NvbXBsZXRlQ2xlYXJTZWFyY2hWYWx1ZVxyXG4gICAgICAgICAgPy5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcclxuICAgICAgICAgID8uc3Vic2NyaWJlKChldmVudDogc3RyaW5nKSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMubXVsdGlTZWxlY3RBdXRvQ29tcGxldGVDbGVhclNlYXJjaFZhbHVlLmVtaXQoZXZlbnQpO1xyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgdGhpcy5jb21wb25lbnQuaW5zdGFuY2UubXVsdGlTZWxlY3RBdXRvQ29tcGxldGVPcHRpb25zU2VsZWN0ZWRcclxuICAgICAgICAgID8ucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpXHJcbiAgICAgICAgICA/LnN1YnNjcmliZSgoZXZlbnQ6IEF1dG9Db21wbGV0ZU9wdGlvbltdKSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMubXVsdGlTZWxlY3RBdXRvQ29tcGxldGVPcHRpb25zU2VsZWN0ZWQuZW1pdChldmVudCk7XHJcbiAgICAgICAgICB9KTtcclxuICAgICAgfSBlbHNlIGlmICh0aGlzLmNvbmZpZy50eXBlID09PSBGb3JtQ29udHJvbFR5cGUuVElNRV9QSUNLRVIpIHtcclxuICAgICAgICB0aGlzLmNvbXBvbmVudC5pbnN0YW5jZS5mb3JtVGltZVNlbGVjdGVkXHJcbiAgICAgICAgICA/LnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKVxyXG4gICAgICAgICAgPy5zdWJzY3JpYmUoKGV2ZW50OiBzdHJpbmcpID0+IHtcclxuICAgICAgICAgICAgdGhpcy5mb3JtVGltZVNlbGVjdGVkLmVtaXQoe1xyXG4gICAgICAgICAgICAgIHRpbWU6IGV2ZW50LFxyXG4gICAgICAgICAgICAgIGNvbnRyb2xOYW1lOiB0aGlzLmNvbXBvbmVudC5pbnN0YW5jZS5jb25maWcuY29udHJvbE5hbWUsXHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgfSk7XHJcbiAgICAgIH0gZWxzZSBpZiAodGhpcy5jb25maWcudHlwZSA9PT0gRm9ybUNvbnRyb2xUeXBlLklOUFVUKSB7XHJcbiAgICAgICAgdGhpcy5jb21wb25lbnQuaW5zdGFuY2UuaW5wdXRWYWx1ZUNoYW5nZVxyXG4gICAgICAgICAgPy5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcclxuICAgICAgICAgID8uc3Vic2NyaWJlKChldmVudDogc3RyaW5nIHwgbnVtYmVyKSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMuZm9ybUlucHV0VmFsdWUuZW1pdChldmVudCk7XHJcbiAgICAgICAgICB9KTtcclxuICAgICAgfSBlbHNlIGlmICh0aGlzLmNvbmZpZy50eXBlID09PSBGb3JtQ29udHJvbFR5cGUuQUREX0ZPUk1fR1JPVVApIHtcclxuICAgICAgICB0aGlzLmNvbXBvbmVudC5pbnN0YW5jZS5hZGRGb3JtR3JvdXBcclxuICAgICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcclxuICAgICAgICAgIC5zdWJzY3JpYmUoKGV2ZW50OiBFdmVudCkgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLmFkZEZvcm1Hcm91cC5lbWl0KGV2ZW50KTtcclxuICAgICAgICAgIH0pO1xyXG4gICAgICB9IGVsc2UgaWYgKHRoaXMuY29uZmlnLnR5cGUgPT09IEZvcm1Db250cm9sVHlwZS5URVhUX0FSRUEpIHtcclxuICAgICAgICB0aGlzLmNvbXBvbmVudD8uaW5zdGFuY2U/LnN1cHBvcnRUZXh0TGlua0NsaWNrXHJcbiAgICAgICAgICA/LnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKVxyXG4gICAgICAgICAgPy5zdWJzY3JpYmUoKGV2ZW50OiBMaW5rRXZlbnRFbWl0VHlwZSkgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLnN1cHBvcnRUZXh0TGlua0NsaWNrLmVtaXQoZXZlbnQpO1xyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgdGhpcy5jb21wb25lbnQ/Lmluc3RhbmNlPy5pbnB1dFZhbHVlQ2hhbmdlXHJcbiAgICAgICAgICA/LnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKVxyXG4gICAgICAgICAgPy5zdWJzY3JpYmUoKGV2ZW50OiBzdHJpbmcpID0+IHtcclxuICAgICAgICAgICAgdGhpcy5mb3JtSW5wdXRWYWx1ZS5lbWl0KGV2ZW50KTtcclxuICAgICAgICAgIH0pO1xyXG4gICAgICB9IGVsc2UgaWYgKHRoaXMuY29uZmlnLnR5cGUgPT09IEZvcm1Db250cm9sVHlwZS5TTElERV9UT0dHTEUpIHtcclxuICAgICAgICB0aGlzLmNvbXBvbmVudC5pbnN0YW5jZS5zbGlkZVRvZ2dsZUNoYW5nZVxyXG4gICAgICAgICAgPy5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcclxuICAgICAgICAgID8uc3Vic2NyaWJlKChldmVudDogU2xpZGVUb2dnbGVPcHRpb24pID0+IHtcclxuICAgICAgICAgICAgdGhpcy5mb3JtU2xpZGVUb2dnbGVDaGFuZ2UuZW1pdChldmVudCk7XHJcbiAgICAgICAgICB9KTtcclxuICAgICAgfSBlbHNlIGlmICh0aGlzLmNvbmZpZy50eXBlID09PSBGb3JtQ29udHJvbFR5cGUuQ09MT1JfUElDS0VSKSB7XHJcbiAgICAgICAgdGhpcy5jb21wb25lbnQuaW5zdGFuY2UuY29sb3JQaWNrZXJDaGFuZ2VcclxuICAgICAgICAgID8ucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpXHJcbiAgICAgICAgICA/LnN1YnNjcmliZSgoZXZlbnQ6IHN0cmluZykgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLmZvcm1Db2xvclBpY2tlckNoYW5nZS5lbWl0KGV2ZW50KTtcclxuICAgICAgICAgIH0pO1xyXG4gICAgICB9IGVsc2UgaWYgKHRoaXMuY29uZmlnLnR5cGUgPT09IEZvcm1Db250cm9sVHlwZS5GSUxFX1VQTE9BRCkge1xyXG4gICAgICAgIHRoaXMuY29tcG9uZW50Lmluc3RhbmNlLnVwbG9hZFNlbGVjdGVkRmlsZXNcclxuICAgICAgICAgID8ucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpXHJcbiAgICAgICAgICA/LnN1YnNjcmliZSgoZXZlbnQ6IEZpbGUgfCBGaWxlTGlzdCkgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLmZvcm1GaWxlVXBsb2FkLmVtaXQoZXZlbnQpO1xyXG4gICAgICAgICAgfSk7XHJcbiAgICAgIH0gZWxzZSBpZiAodGhpcy5jb25maWcudHlwZSA9PT0gRm9ybUNvbnRyb2xUeXBlLlJBRElPKSB7XHJcbiAgICAgICAgdGhpcy5jb21wb25lbnQuaW5zdGFuY2Uuc2VsZWN0ZWRSYWRpb09wdGlvblxyXG4gICAgICAgICAgPy5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcclxuICAgICAgICAgID8uc3Vic2NyaWJlKChldmVudDogUmFkaW9PcHRpb24pID0+IHtcclxuICAgICAgICAgICAgdGhpcy5mb3JtUmFkaW9PcHRpb25TZWxlY3RlZC5lbWl0KGV2ZW50KTtcclxuICAgICAgICAgIH0pO1xyXG4gICAgICB9IGVsc2UgaWYgKHRoaXMuY29uZmlnLnR5cGUgPT09IEZvcm1Db250cm9sVHlwZS5SSUNIX1RFWFRfRURJVE9SKSB7XHJcbiAgICAgICAgdGhpcy5jb21wb25lbnQuaW5zdGFuY2UucmljaFRleHRFZGl0b3JDb250ZW50Q2hhbmdlXHJcbiAgICAgICAgICA/LnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKVxyXG4gICAgICAgICAgPy5zdWJzY3JpYmUoKGV2ZW50OiBzdHJpbmcpID0+IHtcclxuICAgICAgICAgICAgdGhpcy5mb3JtUmljaFRleHRFZGl0b3JDb250ZW50Q2hhbmdlLmVtaXQoZXZlbnQpO1xyXG4gICAgICAgICAgfSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEltcGxlbWVudGF0aW9uIG9mIG5nT25EZXN0cm95IGxpZmVjeWNsZSBob29rIG1ldGhvZCB0byB1bnN1YnNjcmliZSB0aGUgb3BlbiBvYnNlcnZhYmxlIHN1YnNjcmlwdGlvbnMuXHJcbiAgICogQG1lbWJlcm9mIER5bmFtaWNGb3JtRmllbGREaXJlY3RpdmVcclxuICAgKi9cclxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIHRoaXMuZGVzdHJveSQubmV4dCh0cnVlKTtcclxuICAgIHRoaXMuZGVzdHJveSQudW5zdWJzY3JpYmUoKTtcclxuICB9XHJcbn1cclxuIl19