@datarailsshared/datarailsshared 1.6.151 → 1.6.153

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.
@@ -178,6 +178,9 @@ export class DrSelectComponent {
178
178
  setDisabledState(isDisabled) {
179
179
  this.disabled = isDisabled;
180
180
  }
181
+ openDropdown() {
182
+ this.ngSelect.open();
183
+ }
181
184
  close() {
182
185
  this.ngSelect.close();
183
186
  }
@@ -426,4 +429,4 @@ export class DrSelectComponent {
426
429
  type: HostBinding,
427
430
  args: ['class.textView']
428
431
  }] }); })();
429
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHItc2VsZWN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2RhdGFyYWlsc3NoYXJlZC9zcmMvbGliL2RyLWlucHV0cy9kci1zZWxlY3QvZHItc2VsZWN0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2RhdGFyYWlsc3NoYXJlZC9zcmMvbGliL2RyLWlucHV0cy9kci1zZWxlY3QvZHItc2VsZWN0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCxTQUFTLEVBQ1QsWUFBWSxFQUNaLFVBQVUsRUFDVixZQUFZLEVBQ1osV0FBVyxFQUNYLEtBQUssRUFFTCxNQUFNLEVBQ04sU0FBUyxFQUNULFdBQVcsRUFDWCxTQUFTLEdBQ1osTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUF3QixpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3pFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDOzs7Ozs7Ozs7Ozs7OztJQ29CakQsMkJBQWtIOzs7O0lBQXBHLCtEQUF5QyxpRUFBQTs7O0lBRDNELG9GQUVjOzs7O0lBS1YsbUNBSWtCO0lBRGQsa05BQWlCLGVBQUEsOEJBQTBDLEVBQUUsQ0FBQyxDQUFBLElBQUM7SUFFbkUsaUJBQVc7Ozs7SUFIUCx3Q0FBc0M7OztJQU45QyxvRkFVYzs7O0lBRVYsMkJBQTJHOzs7O0lBQTdGLHdEQUFrQyxpRUFBQTs7O0lBRHBELG9GQUVjOzs7O0lBRVYsMkJBQ2U7Ozs7O0lBREQsNkRBQXVDLDZFQUFBOzs7SUFEekQsb0ZBR2M7Ozs7SUFFViwyQkFBMEg7Ozs7O0lBQTVHLHlEQUFtQyw0RUFBQTs7O0lBRHJELHFGQUVjOzs7SUFFViwrQkFBa0QsVUFBQTtJQUN6QyxZQUFlO0lBQUEsaUJBQU07SUFDMUIsK0JBQXNEO0lBQUEsWUFBdUI7SUFBQSxpQkFBTSxFQUFBOzs7SUFEOUUsZUFBZTtJQUFmLG1DQUFlO0lBQ2tDLGVBQXVCO0lBQXZCLG9FQUF1Qjs7O0lBSHJGLHFGQUtjOzs7O0lBRVYsMkJBRWtIOzs7OztJQUQ5RywrREFBeUMsc0ZBQUE7OztJQUZqRCxxRkFJYzs7O0lBRVYsWUFDSjs7OztJQURJLDBEQUNKOzs7SUFGQSxxRkFFYzs7O0lBRVYsMEJBTXNDOzs7SUFIbEMsMkNBQXFCLDJCQUFBLDBCQUFBLDRCQUFBOzs7SUFIekIsa0ZBTXNDOzs7SUFMakMscUNBQWE7OztJQVExQix3QkFBMEU7O0FEaEUxRSxNQUFNLHNCQUFzQixHQUFHLENBQUMsZ0JBQWdCLEVBQUUsdUJBQXVCLEVBQUUsaUJBQWlCLEVBQUUsd0JBQXdCLENBQUMsQ0FBQztBQXNCeEgsTUFBTSxPQUFPLGlCQUFpQjtJQXFDMUIsSUFBYSxRQUFRLENBQUMsR0FBWTtRQUM5QixJQUFJLENBQUMsVUFBVSxHQUFHLEdBQUcsQ0FBQztJQUMxQixDQUFDO0lBa0JELFlBQ1ksVUFBbUMsRUFDbkMsUUFBbUI7UUFEbkIsZUFBVSxHQUFWLFVBQVUsQ0FBeUI7UUFDbkMsYUFBUSxHQUFSLFFBQVEsQ0FBVztRQXhEL0IsU0FBSSxHQUE4QixRQUFRLENBQUM7UUFFbEMsaUNBQTRCLEdBQUcsS0FBSyxDQUFDO1FBRXJDLFVBQUssR0FBc0MsRUFBRSxDQUFDO1FBRTlDLGFBQVEsR0FBRyxNQUFNLENBQUM7UUFPbEIsb0NBQStCLEdBQUcsRUFBRSxDQUFDO1FBU3JDLGdCQUFXLEdBQVcsWUFBWSxDQUFDO1FBRW5DLGFBQVEsR0FBRyxLQUFLLENBQUM7UUFDakIsWUFBTyxHQUFHLElBQUksQ0FBQztRQUNmLDBCQUFxQixHQUFHLEtBQUssQ0FBQztRQUVmLFdBQU0sR0FBRyxJQUFJLENBQUM7UUFDN0IsY0FBUyxHQUF1QyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUM7UUFHM0Qsa0JBQWEsR0FBRyxJQUFJLENBQUM7UUFRckIsbUJBQWMsR0FBRyxLQUFLLENBQUM7UUFDdkIsd0JBQW1CLEdBQUcsS0FBSyxDQUFDO1FBRTNCLFdBQU0sR0FBc0IsSUFBSSxZQUFZLEVBQU8sQ0FBQztRQUNwRCxTQUFJLEdBQXNCLElBQUksWUFBWSxFQUFPLENBQUM7UUFDbEQsWUFBTyxHQUFzQixJQUFJLFlBQVksRUFBTyxDQUFDO1FBT2hDLGVBQVUsR0FBRyxLQUFLLENBQUM7UUFDbEQsb0JBQWUsR0FBdUIsSUFBSSxDQUFDO1FBWTNDLGFBQVEsR0FBNkIsR0FBRyxFQUFFLEdBQUUsQ0FBQyxDQUFDO1FBQzlDLGNBQVMsR0FBZSxHQUFHLEVBQUUsR0FBRSxDQUFDLENBQUM7UUFSN0IsS0FBSyxNQUFNLElBQUksSUFBSSxzQkFBc0IsRUFBRTtZQUN2QyxJQUFJLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsRUFBRTtnQkFDOUIsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7YUFDN0M7U0FDSjtJQUNMLENBQUM7SUFLRCxVQUFVLENBQUMsS0FBVTtRQUNqQixJQUFJLENBQUMsWUFBWSxHQUFHLEtBQUssQ0FBQztRQUMxQixJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUVqQyxJQUFJLElBQUksQ0FBQyxJQUFJLEtBQUssY0FBYyxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQ3JFLElBQUksQ0FBQyxRQUFRLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQztTQUNuQztJQUNMLENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxFQUFPO1FBQ3BCLElBQUksQ0FBQyxRQUFRLEdBQUcsRUFBRSxDQUFDO1FBRW5CLElBQUksRUFBRSxJQUFJLElBQUksQ0FBQyxZQUFZLEVBQUU7WUFDekIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7U0FDcEM7SUFDTCxDQUFDO0lBRUQsaUJBQWlCLENBQUMsRUFBTztRQUNyQixJQUFJLENBQUMsU0FBUyxHQUFHLEVBQUUsQ0FBQztJQUN4QixDQUFDO0lBRUQsZ0JBQWdCLENBQUMsVUFBbUI7UUFDaEMsSUFBSSxDQUFDLFFBQVEsR0FBRyxVQUFVLENBQUM7SUFDL0IsQ0FBQztJQUVELEtBQUs7UUFDRCxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQzFCLENBQUM7SUFFRCxjQUFjO1FBQ1YsVUFBVSxDQUFDLEdBQUcsRUFBRTtZQUNaLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztZQUN0QixNQUFNLFlBQVksR0FBRyxFQUFFLENBQUM7WUFDeEIsSUFBSSxJQUFJLENBQUMsVUFBVSxFQUFFO2dCQUNqQixZQUFZLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO2FBQ2pDO1lBQ0QsSUFBSSxPQUFPLElBQUksQ0FBQyxhQUFhLEtBQUssUUFBUSxFQUFFO2dCQUN4QyxZQUFZLENBQUMsSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQzthQUN2RDtZQUNELElBQUksSUFBSSxDQUFDLDBCQUEwQixJQUFJLENBQUMsSUFBSSxDQUFDLG9CQUFvQixFQUFFO2dCQUMvRCxZQUFZLENBQUMsSUFBSSxDQUFDLGdDQUFnQyxDQUFDLENBQUM7YUFDdkQ7WUFDRCxNQUFNLFFBQVEsR0FBRyxRQUFRLENBQUMsYUFBYSxDQUFDLG9CQUFvQixDQUFDLENBQUM7WUFDOUQsSUFBSSxRQUFRLEVBQUU7Z0JBQ1YsUUFBUSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsR0FBRyxZQUFZLENBQUMsQ0FBQzthQUMzQztRQUNMLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUNWLENBQUM7SUFFRCxlQUFlLENBQUMsWUFBaUI7UUFDN0IsSUFBSSxJQUFJLENBQUMsNEJBQTRCLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRTtZQUNwRCxJQUFJLENBQUMsUUFBUSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUM7U0FDbkM7UUFFRCxJQUFJLENBQUMsUUFBUSxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQzVCLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQ25DLENBQUM7SUFFRCxhQUFhLENBQUMsQ0FBQztRQUNYLElBQUksSUFBSSxDQUFDLG1CQUFtQixJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUU7WUFDM0MsQ0FBQyxDQUFDLGNBQWMsRUFBRSxDQUFDO1NBQ3RCO0lBQ0wsQ0FBQztJQUVELE9BQU8sQ0FBQyxLQUFVO1FBQ2QsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDekIsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQ3RCLElBQUksSUFBSSxDQUFDLElBQUksS0FBSyxjQUFjLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxTQUFTLEVBQUUsZ0JBQWdCLEVBQUUsS0FBSyxFQUFFO1lBQ2xGLElBQUksQ0FBQyxRQUFRLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLGdCQUFnQixDQUFDLEtBQUssQ0FBQztZQUMxRSxJQUFJLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsQ0FBQztTQUM1RDthQUFNLElBQUksSUFBSSxDQUFDLDBCQUEwQixFQUFFO1lBQ3hDLElBQUksQ0FBQyxRQUFRLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQztZQUNoQyxJQUFJLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUM7U0FDeEM7SUFDTCxDQUFDO0lBRUQsY0FBYztRQUNWLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsV0FBVyxDQUFDLENBQUM7UUFDbkQsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUMxRCxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsZUFBZSxFQUFFLGlCQUFpQixDQUFDLENBQUM7UUFDaEUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUM7SUFDbkUsQ0FBQztJQUVELGNBQWM7UUFDVixJQUFJLElBQUksQ0FBQyxlQUFlLEVBQUU7WUFDdEIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxXQUFXLENBQUMsQ0FBQztZQUN0RCxJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQztZQUMvRCxJQUFJLENBQUMsZUFBZSxHQUFHLElBQUksQ0FBQztTQUMvQjtJQUNMLENBQUM7SUFFTyxjQUFjO1FBQ2xCLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUM7SUFDekMsQ0FBQztJQUVPLGlCQUFpQixDQUFDLEdBQUcsVUFBb0I7UUFDN0MsT0FBTyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUMsU0FBUyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUM7SUFDekYsQ0FBQztJQUVELFdBQVc7UUFDUCxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDdEIsSUFBSSxDQUFDLFFBQVEsRUFBRSxLQUFLLEVBQUUsQ0FBQztJQUMzQixDQUFDO3FHQTdLUSxpQkFBaUI7bUdBQWpCLGlCQUFpQjs7Ozs7Ozs7Ozs7Ozs7MkJBaURmLGlCQUFpQixLQUFVLGlCQUFpQjs7Ozs7Ozs7cW1DQXpENUM7Z0JBQ1A7b0JBQ0ksT0FBTyxFQUFFLGlCQUFpQjtvQkFDMUIsV0FBVyxFQUFFLGlCQUFpQjtvQkFDOUIsS0FBSyxFQUFFLElBQUk7aUJBQ2Q7YUFDSjtZQ3JDTCx1Q0FnQ3FCO1lBL0JqQixvSkFBMEIsc0dBd0JYLHlCQUFxQixJQXhCVixzRkF5QmhCLHFDQUE2QixJQXpCYixpRkEwQmxCLHFCQUFpQixTQUFFLG9CQUFnQixJQTFCakIsMEZBMkJqQixtQkFBZSxJQTNCRTtZQWdDMUIsNkRBRWM7WUFDZCw2REFVYztZQUNkLDZEQUVjO1lBQ2QsNkRBR2M7WUFDZCw2REFFYztZQUNkLDZEQUtjO1lBQ2QsNkRBSWM7WUFDZCw2REFFYztZQUNkLG9GQVFjO1lBQ2xCLGlCQUFZO1lBQ1osZ0VBQTBFOzs7WUFuRHRFLGlFQUFvRCxxRUFBQTtZQTdCcEQsMENBQTBCLG9CQUFBLDRCQUFBLDRCQUFBLDBCQUFBLHNCQUFBLDBCQUFBLDRCQUFBLDhCQUFBLGtDQUFBLGdDQUFBLHdCQUFBLGdDQUFBLDBCQUFBLG9DQUFBLDBCQUFBLHNCQUFBLDBDQUFBLDRCQUFBLDBCQUFBLG9IQUFBLHdCQUFBLHdDQUFBO1lBc0IxQiwwQ0FBNEI7WUFVZCxlQUEwQjtZQUExQiwrQ0FBMEI7WUFLbkMsZUFBNkc7WUFBN0csMEtBQTZHO1lBU3BHLGVBQW1CO1lBQW5CLHdDQUFtQjtZQUduQixlQUF3QjtZQUF4Qiw2Q0FBd0I7WUFJeEIsZUFBb0I7WUFBcEIseUNBQW9CO1lBR3BCLGVBQTJCO1lBQTNCLGdEQUEyQjtZQU0zQixlQUEwQjtZQUExQiwrQ0FBMEI7WUFLMUIsZUFBYTtZQUFiLGtDQUFhO1lBYTNCLGVBQTZCO1lBQTdCLGtEQUE2Qjs7O3VGRDFDcEIsaUJBQWlCO2NBWjdCLFNBQVM7MkJBQ0ksV0FBVyxhQUdWO29CQUNQO3dCQUNJLE9BQU8sRUFBRSxpQkFBaUI7d0JBQzFCLFdBQVcsbUJBQW1CO3dCQUM5QixLQUFLLEVBQUUsSUFBSTtxQkFDZDtpQkFDSjtxRkFLRCxJQUFJO2tCQUZILEtBQUs7O2tCQUNMLFdBQVc7bUJBQUMsT0FBTztZQUdYLDRCQUE0QjtrQkFBcEMsS0FBSztZQUNHLFNBQVM7a0JBQWpCLEtBQUs7WUFDRyxLQUFLO2tCQUFiLEtBQUs7WUFDRyxNQUFNO2tCQUFkLEtBQUs7WUFDRyxRQUFRO2tCQUFoQixLQUFLO1lBQ0csU0FBUztrQkFBakIsS0FBSztZQUNHLFNBQVM7a0JBQWpCLEtBQUs7WUFDRyxTQUFTO2tCQUFqQixLQUFLO1lBRUcsVUFBVTtrQkFBbEIsS0FBSztZQUNHLDBCQUEwQjtrQkFBbEMsS0FBSztZQUNHLCtCQUErQjtrQkFBdkMsS0FBSztZQUVHLFFBQVE7a0JBQWhCLEtBQUs7WUFDRyxRQUFRO2tCQUFoQixLQUFLO1lBQ0csdUJBQXVCO2tCQUEvQixLQUFLO1lBQ0csWUFBWTtrQkFBcEIsS0FBSztZQUNHLGdCQUFnQjtrQkFBeEIsS0FBSztZQUNHLFdBQVc7a0JBQW5CLEtBQUs7WUFDRyxPQUFPO2tCQUFmLEtBQUs7WUFDRyxXQUFXO2tCQUFuQixLQUFLO1lBQ0csUUFBUTtrQkFBaEIsS0FBSztZQUNHLFFBQVE7a0JBQWhCLEtBQUs7WUFDRyxPQUFPO2tCQUFmLEtBQUs7WUFDRyxxQkFBcUI7a0JBQTdCLEtBQUs7WUFDRyxFQUFFO2tCQUFWLEtBQUs7WUFDa0IsTUFBTTtrQkFBN0IsV0FBVzttQkFBQyxTQUFTO1lBQ2IsU0FBUztrQkFBakIsS0FBSztZQUNHLFlBQVk7a0JBQXBCLEtBQUs7WUFDRyxhQUFhO2tCQUFyQixLQUFLO1lBQ0csYUFBYTtrQkFBckIsS0FBSztZQUVPLFFBQVE7a0JBQXBCLEtBQUs7WUFJRyxTQUFTO2tCQUFqQixLQUFLO1lBQ0csTUFBTTtrQkFBZCxLQUFLO1lBQ0csY0FBYztrQkFBdEIsS0FBSztZQUNHLG1CQUFtQjtrQkFBM0IsS0FBSztZQUVJLE1BQU07a0JBQWYsTUFBTTtZQUNHLElBQUk7a0JBQWIsTUFBTTtZQUNHLE9BQU87a0JBQWhCLE1BQU07WUFDcUUsUUFBUTtrQkFBbkYsU0FBUzttQkFBQyxpQkFBaUIsRUFBRSxFQUFFLElBQUksRUFBRSxpQkFBaUIsRUFBRTtZQUMxQixhQUFhO2tCQUEzQyxZQUFZO21CQUFDLGVBQWU7WUFDTyxrQkFBa0I7a0JBQXJELFlBQVk7bUJBQUMsb0JBQW9CO1lBQ0YsY0FBYztrQkFBN0MsWUFBWTttQkFBQyxnQkFBZ0I7WUFDUSxvQkFBb0I7a0JBQXpELFlBQVk7bUJBQUMsc0JBQXNCO1lBQ0Usb0JBQW9CO2tCQUF6RCxZQUFZO21CQUFDLHNCQUFzQjtZQUNMLFVBQVU7a0JBQXhDLFdBQVc7bUJBQUMsZ0JBQWdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBDb21wb25lbnQsXG4gICAgQ29udGVudENoaWxkLFxuICAgIEVsZW1lbnRSZWYsXG4gICAgRXZlbnRFbWl0dGVyLFxuICAgIEhvc3RCaW5kaW5nLFxuICAgIElucHV0LFxuICAgIE9uRGVzdHJveSxcbiAgICBPdXRwdXQsXG4gICAgUmVuZGVyZXIyLFxuICAgIFRlbXBsYXRlUmVmLFxuICAgIFZpZXdDaGlsZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb250cm9sVmFsdWVBY2Nlc3NvciwgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBOZ1NlbGVjdENvbXBvbmVudCB9IGZyb20gJ0BuZy1zZWxlY3Qvbmctc2VsZWN0JztcbmltcG9ydCB7IEl0ZW1zTGlzdCB9IGZyb20gJ0BuZy1zZWxlY3Qvbmctc2VsZWN0L2xpYi9pdGVtcy1saXN0JztcblxuY29uc3QgU0VMRUNUX0hPU1RfQVRUUklCVVRFUyA9IFsnbm8tbGVmdC1ib3JkZXInLCAnbm8tbGVmdC1ib3JkZXItcmFkaXVzJywgJ25vLXJpZ2h0LWJvcmRlcicsICduby1yaWdodC1ib3JkZXItcmFkaXVzJ107XG5cbmludGVyZmFjZSBJTmdTZWxlY3RDb21wb25lbnRBY2Nlc3NvciB7XG4gICAgY2xvc2U6ICgpID0+IHZvaWQ7XG4gICAgd3JpdGVWYWx1ZTogKHZhbHVlOiBhbnkpID0+IHZvaWQ7XG4gICAgYmx1cjogKCkgPT4gdm9pZDtcbiAgICBpdGVtc0xpc3Q6IEl0ZW1zTGlzdDtcbiAgICBzZWFyY2hUZXJtOiBzdHJpbmc7XG59XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnZHItc2VsZWN0JyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vZHItc2VsZWN0LmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9kci1zZWxlY3QuY29tcG9uZW50LnNjc3MnXSxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAge1xuICAgICAgICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgICAgICAgICB1c2VFeGlzdGluZzogRHJTZWxlY3RDb21wb25lbnQsXG4gICAgICAgICAgICBtdWx0aTogdHJ1ZSxcbiAgICAgICAgfSxcbiAgICBdLFxufSlcbmV4cG9ydCBjbGFzcyBEclNlbGVjdENvbXBvbmVudCBpbXBsZW1lbnRzIENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBPbkRlc3Ryb3kge1xuICAgIEBJbnB1dCgpXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcycpXG4gICAgdHlwZTogJ3NlbGVjdCcgfCAnc2VhcmNoLWlucHV0JyA9ICdzZWxlY3QnO1xuXG4gICAgQElucHV0KCkgY2xlYXJJbnB1dFRleHRBZnRlclNlbGVjdGlvbiA9IGZhbHNlO1xuICAgIEBJbnB1dCgpIGNsYXNzTmFtZTogc3RyaW5nO1xuICAgIEBJbnB1dCgpIGl0ZW1zOiBBcnJheTxhbnk+IHwgUmVhZG9ubHk8QXJyYXk8YW55Pj4gPSBbXTtcbiAgICBASW5wdXQoKSBhZGRUYWc6IGJvb2xlYW4gfCAoKHRlcm06IHN0cmluZykgPT4gYW55IHwgUHJvbWlzZTxhbnk+KTtcbiAgICBASW5wdXQoKSBhcHBlbmRUbyA9ICdib2R5JztcbiAgICBASW5wdXQoKSBiaW5kTGFiZWw6IHN0cmluZztcbiAgICBASW5wdXQoKSBiaW5kVmFsdWU6IHN0cmluZztcbiAgICBASW5wdXQoKSBjbGVhcmFibGU6IGJvb2xlYW47XG5cbiAgICBASW5wdXQoKSBzZWFyY2hhYmxlOiBib29sZWFuO1xuICAgIEBJbnB1dCgpIGlzRGlzcGxheWluZ1NlYXJjaEluSGVhZGVyOiBib29sZWFuO1xuICAgIEBJbnB1dCgpIG1pbkl0ZW1zVG9EaXNwbGF5U2VhcmNoSW5IZWFkZXIgPSAxMTtcblxuICAgIEBJbnB1dCgpIHNlYXJjaEZuOiAodGVybTogc3RyaW5nLCBpdGVtOiBhbnkpID0+IGJvb2xlYW47XG4gICAgQElucHV0KCkgbXVsdGlwbGU6IGJvb2xlYW47XG4gICAgQElucHV0KCkgbXVsdGlwbGVIZWlnaHRJbmNyZWFzZWQ/OiBib29sZWFuO1xuICAgIEBJbnB1dCgpIGhpZGVTZWxlY3RlZDogYm9vbGVhbjtcbiAgICBASW5wdXQoKSBtYXhTZWxlY3RlZEl0ZW1zOiBudW1iZXI7XG4gICAgQElucHV0KCkgcGxhY2Vob2xkZXI6IHN0cmluZztcbiAgICBASW5wdXQoKSBsb2FkaW5nOiBib29sZWFuO1xuICAgIEBJbnB1dCgpIGxvYWRpbmdUZXh0OiBzdHJpbmcgPSAnTG9hZGluZy4uLic7XG4gICAgQElucHV0KCkgcmVhZG9ubHk6IGJvb2xlYW47XG4gICAgQElucHV0KCkgZGlzYWJsZWQgPSBmYWxzZTtcbiAgICBASW5wdXQoKSBncm91cEJ5ID0gbnVsbDtcbiAgICBASW5wdXQoKSBvcHRpb25XaXRoRGVzY3JpcHRpb24gPSBmYWxzZTtcbiAgICBASW5wdXQoKSBpZD86IHN0cmluZztcbiAgICBASG9zdEJpbmRpbmcoJ2F0dHIuaWQnKSBob3N0SWQgPSBudWxsO1xuICAgIEBJbnB1dCgpIGtleURvd25GbjogKCRldmVudDogS2V5Ym9hcmRFdmVudCkgPT4gYm9vbGVhbiA9ICgpID0+IHRydWU7XG4gICAgQElucHV0KCkgc2VsZWN0ZWRJdGVtOiBhbnk7XG4gICAgQElucHV0KCkgZHJvcGRvd25DbGFzczogc3RyaW5nO1xuICAgIEBJbnB1dCgpIGNsb3NlT25TZWxlY3QgPSB0cnVlO1xuXG4gICAgQElucHV0KCkgc2V0IHRleHRWaWV3KHZhbDogYm9vbGVhbikge1xuICAgICAgICB0aGlzLmFzVGV4dFZpZXcgPSB2YWw7XG4gICAgfVxuXG4gICAgQElucHV0KCkgYXV0b2ZvY3VzOiBib29sZWFuO1xuICAgIEBJbnB1dCgpIGlzT3BlbjogYm9vbGVhbjtcbiAgICBASW5wdXQoKSBub1ZhbHVlUGFkZGluZyA9IGZhbHNlO1xuICAgIEBJbnB1dCgpIHNlbGVjdE9uVGFiS2V5UHJlc3MgPSBmYWxzZTtcblxuICAgIEBPdXRwdXQoKSBjaGFuZ2U6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gICAgQE91dHB1dCgpIG9wZW46IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gICAgQE91dHB1dCgpIGNsb3NlVXA6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gICAgQFZpZXdDaGlsZChOZ1NlbGVjdENvbXBvbmVudCwgeyByZWFkOiBOZ1NlbGVjdENvbXBvbmVudCB9KSBwcml2YXRlIHJlYWRvbmx5IG5nU2VsZWN0OiBJTmdTZWxlY3RDb21wb25lbnRBY2Nlc3NvcjtcbiAgICBAQ29udGVudENoaWxkKCdsYWJlbFRlbXBsYXRlJykgbGFiZWxUZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PjtcbiAgICBAQ29udGVudENoaWxkKCdtdWx0aUxhYmVsVGVtcGxhdGUnKSBtdWx0aUxhYmVsVGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT47XG4gICAgQENvbnRlbnRDaGlsZCgnb3B0aW9uVGVtcGxhdGUnKSBvcHRpb25UZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PjtcbiAgICBAQ29udGVudENoaWxkKCdvcHRpb25IZWFkZXJUZW1wbGF0ZScpIG9wdGlvbkhlYWRlclRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+O1xuICAgIEBDb250ZW50Q2hpbGQoJ29wdGlvbkZvb3RlclRlbXBsYXRlJykgb3B0aW9uRm9vdGVyVGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT47XG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy50ZXh0VmlldycpIGFzVGV4dFZpZXcgPSBmYWxzZTtcbiAgICBiYWNrZHJvcEVsZW1lbnQ6IEhUTUxFbGVtZW50IHwgbnVsbCA9IG51bGw7XG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgZWxlbWVudFJlZjogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4sXG4gICAgICAgIHByaXZhdGUgcmVuZGVyZXI6IFJlbmRlcmVyMixcbiAgICApIHtcbiAgICAgICAgZm9yIChjb25zdCBhdHRyIG9mIFNFTEVDVF9IT1NUX0FUVFJJQlVURVMpIHtcbiAgICAgICAgICAgIGlmICh0aGlzLmhhc0hvc3RBdHRyaWJ1dGVzKGF0dHIpKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5nZXRIb3N0RWxlbWVudCgpLmNsYXNzTGlzdC5hZGQoYXR0cik7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBvbkNoYW5nZTogKHZhbHVlOiBib29sZWFuKSA9PiB2b2lkID0gKCkgPT4ge307XG4gICAgb25Ub3VjaGVkOiAoKSA9PiB2b2lkID0gKCkgPT4ge307XG5cbiAgICB3cml0ZVZhbHVlKHZhbHVlOiBhbnkpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5zZWxlY3RlZEl0ZW0gPSB2YWx1ZTtcbiAgICAgICAgdGhpcy5vbkNoYW5nZSh0aGlzLnNlbGVjdGVkSXRlbSk7XG5cbiAgICAgICAgaWYgKHRoaXMudHlwZSA9PT0gJ3NlYXJjaC1pbnB1dCcgJiYgIXRoaXMuc2VsZWN0ZWRJdGVtICYmIHRoaXMubmdTZWxlY3QpIHtcbiAgICAgICAgICAgIHRoaXMubmdTZWxlY3Quc2VhcmNoVGVybSA9IG51bGw7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICByZWdpc3Rlck9uQ2hhbmdlKGZuOiBhbnkpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5vbkNoYW5nZSA9IGZuO1xuXG4gICAgICAgIGlmIChmbiAmJiB0aGlzLnNlbGVjdGVkSXRlbSkge1xuICAgICAgICAgICAgdGhpcy5vbkNoYW5nZSh0aGlzLnNlbGVjdGVkSXRlbSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICByZWdpc3Rlck9uVG91Y2hlZChmbjogYW55KTogdm9pZCB7XG4gICAgICAgIHRoaXMub25Ub3VjaGVkID0gZm47XG4gICAgfVxuXG4gICAgc2V0RGlzYWJsZWRTdGF0ZShpc0Rpc2FibGVkOiBib29sZWFuKSB7XG4gICAgICAgIHRoaXMuZGlzYWJsZWQgPSBpc0Rpc2FibGVkO1xuICAgIH1cblxuICAgIGNsb3NlKCk6IHZvaWQge1xuICAgICAgICB0aGlzLm5nU2VsZWN0LmNsb3NlKCk7XG4gICAgfVxuXG4gICAgb25Ecm9wZG93bk9wZW4oKTogdm9pZCB7XG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5jcmVhdGVCYWNrZHJvcCgpO1xuICAgICAgICAgICAgY29uc3QgY2xhc3Nlc1RvQWRkID0gW107XG4gICAgICAgICAgICBpZiAodGhpcy5hc1RleHRWaWV3KSB7XG4gICAgICAgICAgICAgICAgY2xhc3Nlc1RvQWRkLnB1c2goJ3RleHRWaWV3Jyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAodHlwZW9mIHRoaXMuZHJvcGRvd25DbGFzcyA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgICAgICAgICBjbGFzc2VzVG9BZGQucHVzaCguLi50aGlzLmRyb3Bkb3duQ2xhc3Muc3BsaXQoJyAnKSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAodGhpcy5pc0Rpc3BsYXlpbmdTZWFyY2hJbkhlYWRlciAmJiAhdGhpcy5vcHRpb25IZWFkZXJUZW1wbGF0ZSkge1xuICAgICAgICAgICAgICAgIGNsYXNzZXNUb0FkZC5wdXNoKCduZy1kcm9wZG93bi1wYW5lbC0td2l0aC1zZWFyY2gnKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNvbnN0IGRyb3Bkb3duID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcignLm5nLWRyb3Bkb3duLXBhbmVsJyk7XG4gICAgICAgICAgICBpZiAoZHJvcGRvd24pIHtcbiAgICAgICAgICAgICAgICBkcm9wZG93bi5jbGFzc0xpc3QuYWRkKC4uLmNsYXNzZXNUb0FkZCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0sIDApO1xuICAgIH1cblxuICAgIG9uVmFsdWVTZWxlY3RlZChzZWxlY3RlZEl0ZW06IGFueSkge1xuICAgICAgICBpZiAodGhpcy5jbGVhcklucHV0VGV4dEFmdGVyU2VsZWN0aW9uICYmIHRoaXMubmdTZWxlY3QpIHtcbiAgICAgICAgICAgIHRoaXMubmdTZWxlY3Quc2VhcmNoVGVybSA9IG51bGw7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLm9uQ2hhbmdlKHNlbGVjdGVkSXRlbSk7XG4gICAgICAgIHRoaXMuY2hhbmdlLmVtaXQoc2VsZWN0ZWRJdGVtKTtcbiAgICB9XG5cbiAgICBvblRhYktleXByZXNzKGUpIHtcbiAgICAgICAgaWYgKHRoaXMuc2VsZWN0T25UYWJLZXlQcmVzcyAmJiB0aGlzLm5nU2VsZWN0KSB7XG4gICAgICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBvbkNsb3NlKGV2ZW50OiBhbnkpIHtcbiAgICAgICAgdGhpcy5jbG9zZVVwLmVtaXQoZXZlbnQpO1xuICAgICAgICB0aGlzLnJlbW92ZUJhY2tkcm9wKCk7XG4gICAgICAgIGlmICh0aGlzLnR5cGUgPT09ICdzZWFyY2gtaW5wdXQnICYmIHRoaXMubmdTZWxlY3QuaXRlbXNMaXN0Py5sYXN0U2VsZWN0ZWRJdGVtPy5sYWJlbCkge1xuICAgICAgICAgICAgdGhpcy5uZ1NlbGVjdC5zZWFyY2hUZXJtID0gdGhpcy5uZ1NlbGVjdC5pdGVtc0xpc3QubGFzdFNlbGVjdGVkSXRlbS5sYWJlbDtcbiAgICAgICAgICAgIHRoaXMubmdTZWxlY3QuaXRlbXNMaXN0LmZpbHRlcih0aGlzLm5nU2VsZWN0LnNlYXJjaFRlcm0pO1xuICAgICAgICB9IGVsc2UgaWYgKHRoaXMuaXNEaXNwbGF5aW5nU2VhcmNoSW5IZWFkZXIpIHtcbiAgICAgICAgICAgIHRoaXMubmdTZWxlY3Quc2VhcmNoVGVybSA9IG51bGw7XG4gICAgICAgICAgICB0aGlzLm5nU2VsZWN0Lml0ZW1zTGlzdC5maWx0ZXIobnVsbCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBjcmVhdGVCYWNrZHJvcCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5yZW5kZXJlci5hZGRDbGFzcyhkb2N1bWVudC5ib2R5LCAnbm8tc2Nyb2xsJyk7XG4gICAgICAgIHRoaXMuYmFja2Ryb3BFbGVtZW50ID0gdGhpcy5yZW5kZXJlci5jcmVhdGVFbGVtZW50KCdkaXYnKTtcbiAgICAgICAgdGhpcy5yZW5kZXJlci5hZGRDbGFzcyh0aGlzLmJhY2tkcm9wRWxlbWVudCwgJ2N1c3RvbS1iYWNrZHJvcCcpO1xuICAgICAgICB0aGlzLnJlbmRlcmVyLmFwcGVuZENoaWxkKGRvY3VtZW50LmJvZHksIHRoaXMuYmFja2Ryb3BFbGVtZW50KTtcbiAgICB9XG5cbiAgICByZW1vdmVCYWNrZHJvcCgpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuYmFja2Ryb3BFbGVtZW50KSB7XG4gICAgICAgICAgICB0aGlzLnJlbmRlcmVyLnJlbW92ZUNsYXNzKGRvY3VtZW50LmJvZHksICduby1zY3JvbGwnKTtcbiAgICAgICAgICAgIHRoaXMucmVuZGVyZXIucmVtb3ZlQ2hpbGQoZG9jdW1lbnQuYm9keSwgdGhpcy5iYWNrZHJvcEVsZW1lbnQpO1xuICAgICAgICAgICAgdGhpcy5iYWNrZHJvcEVsZW1lbnQgPSBudWxsO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRIb3N0RWxlbWVudCgpOiBIVE1MRWxlbWVudCB7XG4gICAgICAgIHJldHVybiB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudDtcbiAgICB9XG5cbiAgICBwcml2YXRlIGhhc0hvc3RBdHRyaWJ1dGVzKC4uLmF0dHJpYnV0ZXM6IHN0cmluZ1tdKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiBhdHRyaWJ1dGVzLnNvbWUoKGF0dHJpYnV0ZSkgPT4gdGhpcy5nZXRIb3N0RWxlbWVudCgpLmhhc0F0dHJpYnV0ZShhdHRyaWJ1dGUpKTtcbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5yZW1vdmVCYWNrZHJvcCgpO1xuICAgICAgICB0aGlzLm5nU2VsZWN0Py5jbG9zZSgpO1xuICAgIH1cbn1cbiIsIjxuZy1zZWxlY3RcbiAgICBbKG5nTW9kZWwpXT1cInNlbGVjdGVkSXRlbVwiXG4gICAgW2l0ZW1zXT1cIml0ZW1zXCJcbiAgICBbYmluZExhYmVsXT1cImJpbmRMYWJlbFwiXG4gICAgW2JpbmRWYWx1ZV09XCJiaW5kVmFsdWVcIlxuICAgIFttdWx0aXBsZV09XCJtdWx0aXBsZVwiXG4gICAgW2FkZFRhZ109XCJhZGRUYWdcIlxuICAgIFthcHBlbmRUb109XCJhcHBlbmRUb1wiXG4gICAgW2NsZWFyYWJsZV09XCJjbGVhcmFibGVcIlxuICAgIFtzZWFyY2hhYmxlXT1cInNlYXJjaGFibGVcIlxuICAgIFtoaWRlU2VsZWN0ZWRdPVwiaGlkZVNlbGVjdGVkXCJcbiAgICBbcGxhY2Vob2xkZXJdPVwicGxhY2Vob2xkZXJcIlxuICAgIFtsb2FkaW5nXT1cImxvYWRpbmdcIlxuICAgIFtsb2FkaW5nVGV4dF09XCJsb2FkaW5nVGV4dFwiXG4gICAgW3JlYWRvbmx5XT1cInJlYWRvbmx5XCJcbiAgICBbY2xvc2VPblNlbGVjdF09XCJjbG9zZU9uU2VsZWN0XCJcbiAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgIFtsYWJlbEZvcklkXT1cImlkXCJcbiAgICBbbWF4U2VsZWN0ZWRJdGVtc109XCJtYXhTZWxlY3RlZEl0ZW1zXCJcbiAgICBba2V5RG93bkZuXT1cImtleURvd25GblwiXG4gICAgW3NlYXJjaEZuXT1cInNlYXJjaEZuXCJcbiAgICBbaXNPcGVuXT1cIih0eXBlICE9PSAnc2VhcmNoLWlucHV0JyB8fCAhIXNlbGVjdENvbXBvbmVudC5zZWFyY2hUZXJtPy5sZW5ndGgpICYmIGlzT3BlblwiXG4gICAgW2dyb3VwQnldPVwiZ3JvdXBCeVwiXG4gICAgW2F0dHIuYXV0b2ZvY3VzXT1cImF1dG9mb2N1c1wiXG4gICAgW3NlbGVjdE9uVGFiXT1cInNlbGVjdE9uVGFiS2V5UHJlc3NcIlxuICAgIChrZXlkb3duLnRhYik9XCJvblRhYktleXByZXNzKCRldmVudClcIlxuICAgIChjaGFuZ2UpPVwib25WYWx1ZVNlbGVjdGVkKHNlbGVjdGVkSXRlbSlcIlxuICAgIChvcGVuKT1cIm9wZW4uZW1pdCgkZXZlbnQpOyBvbkRyb3Bkb3duT3BlbigpXCJcbiAgICAoY2xvc2UpPVwib25DbG9zZSgkZXZlbnQpXCJcbiAgICBjbGFzcz1cImRyLXNlbGVjdFwiXG4gICAgW2NsYXNzLm5nLXNlbGVjdC0tbm8tdmFsdWUtcGFkZGluZ109XCJub1ZhbHVlUGFkZGluZ1wiXG4gICAgW2NsYXNzLm5nLXNlbGVjdC0tbXVsdGlwbGUtaGVpZ2h0LWluY3JlYXNlZF09XCJtdWx0aXBsZUhlaWdodEluY3JlYXNlZFwiXG4gICAgI3NlbGVjdENvbXBvbmVudD5cbiAgICA8bmctdGVtcGxhdGUgKm5nSWY9XCJvcHRpb25IZWFkZXJUZW1wbGF0ZVwiIG5nLWhlYWRlci10bXAgbGV0LWl0ZW09XCJpdGVtXCI+XG4gICAgICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPVwib3B0aW9uSGVhZGVyVGVtcGxhdGVcIiBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwieyBpdGVtOiBpdGVtIH1cIj48L25nLWNvbnRhaW5lcj5cbiAgICA8L25nLXRlbXBsYXRlPlxuICAgIDxuZy10ZW1wbGF0ZVxuICAgICAgICBuZy1oZWFkZXItdG1wXG4gICAgICAgICpuZ0lmPVwiIW9wdGlvbkhlYWRlclRlbXBsYXRlICYmIGlzRGlzcGxheWluZ1NlYXJjaEluSGVhZGVyICYmIGl0ZW1zPy5sZW5ndGggPj0gbWluSXRlbXNUb0Rpc3BsYXlTZWFyY2hJbkhlYWRlclwiXG4gICAgICAgIGxldC1pdGVtPVwiaXRlbVwiPlxuICAgICAgICA8ZHItaW5wdXRcbiAgICAgICAgICAgIGNsYXNzPVwiZHItc2VsZWN0X19zZWFyY2hcIlxuICAgICAgICAgICAgW25nTW9kZWxdPVwic2VsZWN0Q29tcG9uZW50LnNlYXJjaFRlcm1cIlxuICAgICAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwic2VsZWN0Q29tcG9uZW50Lml0ZW1zTGlzdC5maWx0ZXIoJGV2ZW50ICsgJycpXCJcbiAgICAgICAgICAgIHR5cGU9XCJzZWFyY2hcIj5cbiAgICAgICAgPC9kci1pbnB1dD5cbiAgICA8L25nLXRlbXBsYXRlPlxuICAgIDxuZy10ZW1wbGF0ZSAqbmdJZj1cImxhYmVsVGVtcGxhdGVcIiBuZy1sYWJlbC10bXAgbGV0LWl0ZW09XCJpdGVtXCI+XG4gICAgICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPVwibGFiZWxUZW1wbGF0ZVwiIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7IGl0ZW06IGl0ZW0gfVwiPjwvbmctY29udGFpbmVyPlxuICAgIDwvbmctdGVtcGxhdGU+XG4gICAgPG5nLXRlbXBsYXRlICpuZ0lmPVwibXVsdGlMYWJlbFRlbXBsYXRlXCIgbmctbXVsdGktbGFiZWwtdG1wIGxldC1pdGVtcz1cIml0ZW1zXCIgbGV0LWNsZWFyPVwiY2xlYXJcIj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09XCJtdWx0aUxhYmVsVGVtcGxhdGVcIiBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwieyBpdGVtczogaXRlbXMsIGNsZWFyOiBjbGVhciB9XCI+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgIDwvbmctdGVtcGxhdGU+XG4gICAgPG5nLXRlbXBsYXRlICpuZ0lmPVwib3B0aW9uVGVtcGxhdGVcIiBuZy1vcHRpb24tdG1wIGxldC1pdGVtPVwiaXRlbVwiIGxldC1pdGVtJD1cIml0ZW0kXCI+XG4gICAgICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPVwib3B0aW9uVGVtcGxhdGVcIiBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwieyBpdGVtOiBpdGVtLCBpdGVtJDogaXRlbSQgfVwiPjwvbmctY29udGFpbmVyPlxuICAgIDwvbmctdGVtcGxhdGU+XG4gICAgPG5nLXRlbXBsYXRlICpuZ0lmPVwib3B0aW9uV2l0aERlc2NyaXB0aW9uXCIgbmctb3B0aW9uLXRtcCBsZXQtaXRlbT1cIml0ZW1cIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImRyLXNlbGVjdF9fb3B0aW9uLXdpdGgtZGVzY19fd3JhcHBlclwiPlxuICAgICAgICAgICAgPGRpdj57eyBpdGVtLm5hbWUgfX08L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkci1zZWxlY3RfX29wdGlvbi13aXRoLWRlc2NfX2Rlc2NyaXB0aW9uXCI+e3sgaXRlbT8uZGVzY3JpcHRpb24gfX08L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgPC9uZy10ZW1wbGF0ZT5cbiAgICA8bmctdGVtcGxhdGUgKm5nSWY9XCJvcHRpb25Gb290ZXJUZW1wbGF0ZVwiIG5nLWZvb3Rlci10bXAgbGV0LWl0ZW09XCJpdGVtXCI+XG4gICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0XT1cIm9wdGlvbkZvb3RlclRlbXBsYXRlXCJcbiAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7IGl0ZW06IGl0ZW0sIGNsb3NlOiBzZWxlY3RDb21wb25lbnQuY2xvc2UuYmluZChzZWxlY3RDb21wb25lbnQpIH1cIj48L25nLWNvbnRhaW5lcj5cbiAgICA8L25nLXRlbXBsYXRlPlxuICAgIDxuZy10ZW1wbGF0ZSAqbmdJZj1cImdyb3VwQnlcIiBuZy1vcHRncm91cC10bXAgbGV0LWl0ZW09XCJpdGVtXCI+XG4gICAgICAgIHt7IGl0ZW1bZ3JvdXBCeV0gfX1cbiAgICA8L25nLXRlbXBsYXRlPlxuICAgIDxuZy10ZW1wbGF0ZSBuZy1sb2FkaW5nc3Bpbm5lci10bXA+XG4gICAgICAgIDxkaXZcbiAgICAgICAgICAgICpuZ0lmPVwibG9hZGluZ1wiXG4gICAgICAgICAgICBjbGFzcz1cImRyLXNlbGVjdF9fbG9hZGluZ1wiXG4gICAgICAgICAgICBbZHJTcGlubmVyXT1cImxvYWRpbmdcIlxuICAgICAgICAgICAgW2RyU3Bpbm5lclR5cGVdPVwiJ2NpcmNsZSdcIlxuICAgICAgICAgICAgW2RyU3Bpbm5lclNpemVdPVwiJ3NtYWxsJ1wiXG4gICAgICAgICAgICBbZHJTcGlubmVyTm9PdmVybGF5XT1cInRydWVcIj48L2Rpdj5cbiAgICA8L25nLXRlbXBsYXRlPlxuPC9uZy1zZWxlY3Q+XG48aSAqbmdJZj1cInR5cGUgPT09ICdzZWFyY2gtaW5wdXQnXCIgY2xhc3M9XCJzZWFyY2gtaWNvbiBkci1pY29uLXNlYXJjaFwiPjwvaT5cbiJdfQ==
432
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHItc2VsZWN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2RhdGFyYWlsc3NoYXJlZC9zcmMvbGliL2RyLWlucHV0cy9kci1zZWxlY3QvZHItc2VsZWN0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2RhdGFyYWlsc3NoYXJlZC9zcmMvbGliL2RyLWlucHV0cy9kci1zZWxlY3QvZHItc2VsZWN0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCxTQUFTLEVBQ1QsWUFBWSxFQUNaLFVBQVUsRUFDVixZQUFZLEVBQ1osV0FBVyxFQUNYLEtBQUssRUFFTCxNQUFNLEVBQ04sU0FBUyxFQUNULFdBQVcsRUFDWCxTQUFTLEdBQ1osTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUF3QixpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3pFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDOzs7Ozs7Ozs7Ozs7OztJQ29CakQsMkJBQWtIOzs7O0lBQXBHLCtEQUF5QyxpRUFBQTs7O0lBRDNELG9GQUVjOzs7O0lBS1YsbUNBSWtCO0lBRGQsa05BQWlCLGVBQUEsOEJBQTBDLEVBQUUsQ0FBQyxDQUFBLElBQUM7SUFFbkUsaUJBQVc7Ozs7SUFIUCx3Q0FBc0M7OztJQU45QyxvRkFVYzs7O0lBRVYsMkJBQTJHOzs7O0lBQTdGLHdEQUFrQyxpRUFBQTs7O0lBRHBELG9GQUVjOzs7O0lBRVYsMkJBQ2U7Ozs7O0lBREQsNkRBQXVDLDZFQUFBOzs7SUFEekQsb0ZBR2M7Ozs7SUFFViwyQkFBMEg7Ozs7O0lBQTVHLHlEQUFtQyw0RUFBQTs7O0lBRHJELHFGQUVjOzs7SUFFViwrQkFBa0QsVUFBQTtJQUN6QyxZQUFlO0lBQUEsaUJBQU07SUFDMUIsK0JBQXNEO0lBQUEsWUFBdUI7SUFBQSxpQkFB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QUFvQjtZQUNGLGNBQWM7a0JBQTdDLFlBQVk7bUJBQUMsZ0JBQWdCO1lBQ1Esb0JBQW9CO2tCQUF6RCxZQUFZO21CQUFDLHNCQUFzQjtZQUNFLG9CQUFvQjtrQkFBekQsWUFBWTttQkFBQyxzQkFBc0I7WUFDTCxVQUFVO2tCQUF4QyxXQUFXO21CQUFDLGdCQUFnQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQ29tcG9uZW50LFxuICAgIENvbnRlbnRDaGlsZCxcbiAgICBFbGVtZW50UmVmLFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBIb3N0QmluZGluZyxcbiAgICBJbnB1dCxcbiAgICBPbkRlc3Ryb3ksXG4gICAgT3V0cHV0LFxuICAgIFJlbmRlcmVyMixcbiAgICBUZW1wbGF0ZVJlZixcbiAgICBWaWV3Q2hpbGQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgTmdTZWxlY3RDb21wb25lbnQgfSBmcm9tICdAbmctc2VsZWN0L25nLXNlbGVjdCc7XG5pbXBvcnQgeyBJdGVtc0xpc3QgfSBmcm9tICdAbmctc2VsZWN0L25nLXNlbGVjdC9saWIvaXRlbXMtbGlzdCc7XG5cbmNvbnN0IFNFTEVDVF9IT1NUX0FUVFJJQlVURVMgPSBbJ25vLWxlZnQtYm9yZGVyJywgJ25vLWxlZnQtYm9yZGVyLXJhZGl1cycsICduby1yaWdodC1ib3JkZXInLCAnbm8tcmlnaHQtYm9yZGVyLXJhZGl1cyddO1xuXG5pbnRlcmZhY2UgSU5nU2VsZWN0Q29tcG9uZW50QWNjZXNzb3Ige1xuICAgIGNsb3NlOiAoKSA9PiB2b2lkO1xuICAgIG9wZW46ICgpID0+IHZvaWQ7XG4gICAgd3JpdGVWYWx1ZTogKHZhbHVlOiBhbnkpID0+IHZvaWQ7XG4gICAgYmx1cjogKCkgPT4gdm9pZDtcbiAgICBpdGVtc0xpc3Q6IEl0ZW1zTGlzdDtcbiAgICBzZWFyY2hUZXJtOiBzdHJpbmc7XG59XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnZHItc2VsZWN0JyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vZHItc2VsZWN0LmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9kci1zZWxlY3QuY29tcG9uZW50LnNjc3MnXSxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAge1xuICAgICAgICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgICAgICAgICB1c2VFeGlzdGluZzogRHJTZWxlY3RDb21wb25lbnQsXG4gICAgICAgICAgICBtdWx0aTogdHJ1ZSxcbiAgICAgICAgfSxcbiAgICBdLFxufSlcbmV4cG9ydCBjbGFzcyBEclNlbGVjdENvbXBvbmVudCBpbXBsZW1lbnRzIENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBPbkRlc3Ryb3kge1xuICAgIEBJbnB1dCgpXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcycpXG4gICAgdHlwZTogJ3NlbGVjdCcgfCAnc2VhcmNoLWlucHV0JyA9ICdzZWxlY3QnO1xuXG4gICAgQElucHV0KCkgY2xlYXJJbnB1dFRleHRBZnRlclNlbGVjdGlvbiA9IGZhbHNlO1xuICAgIEBJbnB1dCgpIGNsYXNzTmFtZTogc3RyaW5nO1xuICAgIEBJbnB1dCgpIGl0ZW1zOiBBcnJheTxhbnk+IHwgUmVhZG9ubHk8QXJyYXk8YW55Pj4gPSBbXTtcbiAgICBASW5wdXQoKSBhZGRUYWc6IGJvb2xlYW4gfCAoKHRlcm06IHN0cmluZykgPT4gYW55IHwgUHJvbWlzZTxhbnk+KTtcbiAgICBASW5wdXQoKSBhcHBlbmRUbyA9ICdib2R5JztcbiAgICBASW5wdXQoKSBiaW5kTGFiZWw6IHN0cmluZztcbiAgICBASW5wdXQoKSBiaW5kVmFsdWU6IHN0cmluZztcbiAgICBASW5wdXQoKSBjbGVhcmFibGU6IGJvb2xlYW47XG5cbiAgICBASW5wdXQoKSBzZWFyY2hhYmxlOiBib29sZWFuO1xuICAgIEBJbnB1dCgpIGlzRGlzcGxheWluZ1NlYXJjaEluSGVhZGVyOiBib29sZWFuO1xuICAgIEBJbnB1dCgpIG1pbkl0ZW1zVG9EaXNwbGF5U2VhcmNoSW5IZWFkZXIgPSAxMTtcblxuICAgIEBJbnB1dCgpIHNlYXJjaEZuOiAodGVybTogc3RyaW5nLCBpdGVtOiBhbnkpID0+IGJvb2xlYW47XG4gICAgQElucHV0KCkgbXVsdGlwbGU6IGJvb2xlYW47XG4gICAgQElucHV0KCkgbXVsdGlwbGVIZWlnaHRJbmNyZWFzZWQ/OiBib29sZWFuO1xuICAgIEBJbnB1dCgpIGhpZGVTZWxlY3RlZDogYm9vbGVhbjtcbiAgICBASW5wdXQoKSBtYXhTZWxlY3RlZEl0ZW1zOiBudW1iZXI7XG4gICAgQElucHV0KCkgcGxhY2Vob2xkZXI6IHN0cmluZztcbiAgICBASW5wdXQoKSBsb2FkaW5nOiBib29sZWFuO1xuICAgIEBJbnB1dCgpIGxvYWRpbmdUZXh0OiBzdHJpbmcgPSAnTG9hZGluZy4uLic7XG4gICAgQElucHV0KCkgcmVhZG9ubHk6IGJvb2xlYW47XG4gICAgQElucHV0KCkgZGlzYWJsZWQgPSBmYWxzZTtcbiAgICBASW5wdXQoKSBncm91cEJ5ID0gbnVsbDtcbiAgICBASW5wdXQoKSBvcHRpb25XaXRoRGVzY3JpcHRpb24gPSBmYWxzZTtcbiAgICBASW5wdXQoKSBpZD86IHN0cmluZztcbiAgICBASG9zdEJpbmRpbmcoJ2F0dHIuaWQnKSBob3N0SWQgPSBudWxsO1xuICAgIEBJbnB1dCgpIGtleURvd25GbjogKCRldmVudDogS2V5Ym9hcmRFdmVudCkgPT4gYm9vbGVhbiA9ICgpID0+IHRydWU7XG4gICAgQElucHV0KCkgc2VsZWN0ZWRJdGVtOiBhbnk7XG4gICAgQElucHV0KCkgZHJvcGRvd25DbGFzczogc3RyaW5nO1xuICAgIEBJbnB1dCgpIGNsb3NlT25TZWxlY3QgPSB0cnVlO1xuXG4gICAgQElucHV0KCkgc2V0IHRleHRWaWV3KHZhbDogYm9vbGVhbikge1xuICAgICAgICB0aGlzLmFzVGV4dFZpZXcgPSB2YWw7XG4gICAgfVxuXG4gICAgQElucHV0KCkgYXV0b2ZvY3VzOiBib29sZWFuO1xuICAgIEBJbnB1dCgpIGlzT3BlbjogYm9vbGVhbjtcbiAgICBASW5wdXQoKSBub1ZhbHVlUGFkZGluZyA9IGZhbHNlO1xuICAgIEBJbnB1dCgpIHNlbGVjdE9uVGFiS2V5UHJlc3MgPSBmYWxzZTtcblxuICAgIEBPdXRwdXQoKSBjaGFuZ2U6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gICAgQE91dHB1dCgpIG9wZW46IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gICAgQE91dHB1dCgpIGNsb3NlVXA6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG4gICAgQFZpZXdDaGlsZChOZ1NlbGVjdENvbXBvbmVudCwgeyByZWFkOiBOZ1NlbGVjdENvbXBvbmVudCB9KSBwcml2YXRlIHJlYWRvbmx5IG5nU2VsZWN0OiBJTmdTZWxlY3RDb21wb25lbnRBY2Nlc3NvcjtcbiAgICBAQ29udGVudENoaWxkKCdsYWJlbFRlbXBsYXRlJykgbGFiZWxUZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PjtcbiAgICBAQ29udGVudENoaWxkKCdtdWx0aUxhYmVsVGVtcGxhdGUnKSBtdWx0aUxhYmVsVGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT47XG4gICAgQENvbnRlbnRDaGlsZCgnb3B0aW9uVGVtcGxhdGUnKSBvcHRpb25UZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PjtcbiAgICBAQ29udGVudENoaWxkKCdvcHRpb25IZWFkZXJUZW1wbGF0ZScpIG9wdGlvbkhlYWRlclRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+O1xuICAgIEBDb250ZW50Q2hpbGQoJ29wdGlvbkZvb3RlclRlbXBsYXRlJykgb3B0aW9uRm9vdGVyVGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT47XG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy50ZXh0VmlldycpIGFzVGV4dFZpZXcgPSBmYWxzZTtcbiAgICBiYWNrZHJvcEVsZW1lbnQ6IEhUTUxFbGVtZW50IHwgbnVsbCA9IG51bGw7XG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgZWxlbWVudFJlZjogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4sXG4gICAgICAgIHByaXZhdGUgcmVuZGVyZXI6IFJlbmRlcmVyMixcbiAgICApIHtcbiAgICAgICAgZm9yIChjb25zdCBhdHRyIG9mIFNFTEVDVF9IT1NUX0FUVFJJQlVURVMpIHtcbiAgICAgICAgICAgIGlmICh0aGlzLmhhc0hvc3RBdHRyaWJ1dGVzKGF0dHIpKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5nZXRIb3N0RWxlbWVudCgpLmNsYXNzTGlzdC5hZGQoYXR0cik7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBvbkNoYW5nZTogKHZhbHVlOiBib29sZWFuKSA9PiB2b2lkID0gKCkgPT4ge307XG4gICAgb25Ub3VjaGVkOiAoKSA9PiB2b2lkID0gKCkgPT4ge307XG5cbiAgICB3cml0ZVZhbHVlKHZhbHVlOiBhbnkpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5zZWxlY3RlZEl0ZW0gPSB2YWx1ZTtcbiAgICAgICAgdGhpcy5vbkNoYW5nZSh0aGlzLnNlbGVjdGVkSXRlbSk7XG5cbiAgICAgICAgaWYgKHRoaXMudHlwZSA9PT0gJ3NlYXJjaC1pbnB1dCcgJiYgIXRoaXMuc2VsZWN0ZWRJdGVtICYmIHRoaXMubmdTZWxlY3QpIHtcbiAgICAgICAgICAgIHRoaXMubmdTZWxlY3Quc2VhcmNoVGVybSA9IG51bGw7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICByZWdpc3Rlck9uQ2hhbmdlKGZuOiBhbnkpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5vbkNoYW5nZSA9IGZuO1xuXG4gICAgICAgIGlmIChmbiAmJiB0aGlzLnNlbGVjdGVkSXRlbSkge1xuICAgICAgICAgICAgdGhpcy5vbkNoYW5nZSh0aGlzLnNlbGVjdGVkSXRlbSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICByZWdpc3Rlck9uVG91Y2hlZChmbjogYW55KTogdm9pZCB7XG4gICAgICAgIHRoaXMub25Ub3VjaGVkID0gZm47XG4gICAgfVxuXG4gICAgc2V0RGlzYWJsZWRTdGF0ZShpc0Rpc2FibGVkOiBib29sZWFuKSB7XG4gICAgICAgIHRoaXMuZGlzYWJsZWQgPSBpc0Rpc2FibGVkO1xuICAgIH1cblxuICAgIG9wZW5Ecm9wZG93bigpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5uZ1NlbGVjdC5vcGVuKCk7XG4gICAgfVxuXG4gICAgY2xvc2UoKTogdm9pZCB7XG4gICAgICAgIHRoaXMubmdTZWxlY3QuY2xvc2UoKTtcbiAgICB9XG5cbiAgICBvbkRyb3Bkb3duT3BlbigpOiB2b2lkIHtcbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLmNyZWF0ZUJhY2tkcm9wKCk7XG4gICAgICAgICAgICBjb25zdCBjbGFzc2VzVG9BZGQgPSBbXTtcbiAgICAgICAgICAgIGlmICh0aGlzLmFzVGV4dFZpZXcpIHtcbiAgICAgICAgICAgICAgICBjbGFzc2VzVG9BZGQucHVzaCgndGV4dFZpZXcnKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmICh0eXBlb2YgdGhpcy5kcm9wZG93bkNsYXNzID09PSAnc3RyaW5nJykge1xuICAgICAgICAgICAgICAgIGNsYXNzZXNUb0FkZC5wdXNoKC4uLnRoaXMuZHJvcGRvd25DbGFzcy5zcGxpdCgnICcpKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmICh0aGlzLmlzRGlzcGxheWluZ1NlYXJjaEluSGVhZGVyICYmICF0aGlzLm9wdGlvbkhlYWRlclRlbXBsYXRlKSB7XG4gICAgICAgICAgICAgICAgY2xhc3Nlc1RvQWRkLnB1c2goJ25nLWRyb3Bkb3duLXBhbmVsLS13aXRoLXNlYXJjaCcpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY29uc3QgZHJvcGRvd24gPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcubmctZHJvcGRvd24tcGFuZWwnKTtcbiAgICAgICAgICAgIGlmIChkcm9wZG93bikge1xuICAgICAgICAgICAgICAgIGRyb3Bkb3duLmNsYXNzTGlzdC5hZGQoLi4uY2xhc3Nlc1RvQWRkKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSwgMCk7XG4gICAgfVxuXG4gICAgb25WYWx1ZVNlbGVjdGVkKHNlbGVjdGVkSXRlbTogYW55KSB7XG4gICAgICAgIGlmICh0aGlzLmNsZWFySW5wdXRUZXh0QWZ0ZXJTZWxlY3Rpb24gJiYgdGhpcy5uZ1NlbGVjdCkge1xuICAgICAgICAgICAgdGhpcy5uZ1NlbGVjdC5zZWFyY2hUZXJtID0gbnVsbDtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMub25DaGFuZ2Uoc2VsZWN0ZWRJdGVtKTtcbiAgICAgICAgdGhpcy5jaGFuZ2UuZW1pdChzZWxlY3RlZEl0ZW0pO1xuICAgIH1cblxuICAgIG9uVGFiS2V5cHJlc3MoZSkge1xuICAgICAgICBpZiAodGhpcy5zZWxlY3RPblRhYktleVByZXNzICYmIHRoaXMubmdTZWxlY3QpIHtcbiAgICAgICAgICAgIGUucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG9uQ2xvc2UoZXZlbnQ6IGFueSkge1xuICAgICAgICB0aGlzLmNsb3NlVXAuZW1pdChldmVudCk7XG4gICAgICAgIHRoaXMucmVtb3ZlQmFja2Ryb3AoKTtcbiAgICAgICAgaWYgKHRoaXMudHlwZSA9PT0gJ3NlYXJjaC1pbnB1dCcgJiYgdGhpcy5uZ1NlbGVjdC5pdGVtc0xpc3Q/Lmxhc3RTZWxlY3RlZEl0ZW0/LmxhYmVsKSB7XG4gICAgICAgICAgICB0aGlzLm5nU2VsZWN0LnNlYXJjaFRlcm0gPSB0aGlzLm5nU2VsZWN0Lml0ZW1zTGlzdC5sYXN0U2VsZWN0ZWRJdGVtLmxhYmVsO1xuICAgICAgICAgICAgdGhpcy5uZ1NlbGVjdC5pdGVtc0xpc3QuZmlsdGVyKHRoaXMubmdTZWxlY3Quc2VhcmNoVGVybSk7XG4gICAgICAgIH0gZWxzZSBpZiAodGhpcy5pc0Rpc3BsYXlpbmdTZWFyY2hJbkhlYWRlcikge1xuICAgICAgICAgICAgdGhpcy5uZ1NlbGVjdC5zZWFyY2hUZXJtID0gbnVsbDtcbiAgICAgICAgICAgIHRoaXMubmdTZWxlY3QuaXRlbXNMaXN0LmZpbHRlcihudWxsKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGNyZWF0ZUJhY2tkcm9wKCk6IHZvaWQge1xuICAgICAgICB0aGlzLnJlbmRlcmVyLmFkZENsYXNzKGRvY3VtZW50LmJvZHksICduby1zY3JvbGwnKTtcbiAgICAgICAgdGhpcy5iYWNrZHJvcEVsZW1lbnQgPSB0aGlzLnJlbmRlcmVyLmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xuICAgICAgICB0aGlzLnJlbmRlcmVyLmFkZENsYXNzKHRoaXMuYmFja2Ryb3BFbGVtZW50LCAnY3VzdG9tLWJhY2tkcm9wJyk7XG4gICAgICAgIHRoaXMucmVuZGVyZXIuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuYm9keSwgdGhpcy5iYWNrZHJvcEVsZW1lbnQpO1xuICAgIH1cblxuICAgIHJlbW92ZUJhY2tkcm9wKCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5iYWNrZHJvcEVsZW1lbnQpIHtcbiAgICAgICAgICAgIHRoaXMucmVuZGVyZXIucmVtb3ZlQ2xhc3MoZG9jdW1lbnQuYm9keSwgJ25vLXNjcm9sbCcpO1xuICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5yZW1vdmVDaGlsZChkb2N1bWVudC5ib2R5LCB0aGlzLmJhY2tkcm9wRWxlbWVudCk7XG4gICAgICAgICAgICB0aGlzLmJhY2tkcm9wRWxlbWVudCA9IG51bGw7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIGdldEhvc3RFbGVtZW50KCk6IEhUTUxFbGVtZW50IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50O1xuICAgIH1cblxuICAgIHByaXZhdGUgaGFzSG9zdEF0dHJpYnV0ZXMoLi4uYXR0cmlidXRlczogc3RyaW5nW10pOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIGF0dHJpYnV0ZXMuc29tZSgoYXR0cmlidXRlKSA9PiB0aGlzLmdldEhvc3RFbGVtZW50KCkuaGFzQXR0cmlidXRlKGF0dHJpYnV0ZSkpO1xuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICB0aGlzLnJlbW92ZUJhY2tkcm9wKCk7XG4gICAgICAgIHRoaXMubmdTZWxlY3Q/LmNsb3NlKCk7XG4gICAgfVxufVxuIiwiPG5nLXNlbGVjdFxuICAgIFsobmdNb2RlbCldPVwic2VsZWN0ZWRJdGVtXCJcbiAgICBbaXRlbXNdPVwiaXRlbXNcIlxuICAgIFtiaW5kTGFiZWxdPVwiYmluZExhYmVsXCJcbiAgICBbYmluZFZhbHVlXT1cImJpbmRWYWx1ZVwiXG4gICAgW211bHRpcGxlXT1cIm11bHRpcGxlXCJcbiAgICBbYWRkVGFnXT1cImFkZFRhZ1wiXG4gICAgW2FwcGVuZFRvXT1cImFwcGVuZFRvXCJcbiAgICBbY2xlYXJhYmxlXT1cImNsZWFyYWJsZVwiXG4gICAgW3NlYXJjaGFibGVdPVwic2VhcmNoYWJsZVwiXG4gICAgW2hpZGVTZWxlY3RlZF09XCJoaWRlU2VsZWN0ZWRcIlxuICAgIFtwbGFjZWhvbGRlcl09XCJwbGFjZWhvbGRlclwiXG4gICAgW2xvYWRpbmddPVwibG9hZGluZ1wiXG4gICAgW2xvYWRpbmdUZXh0XT1cImxvYWRpbmdUZXh0XCJcbiAgICBbcmVhZG9ubHldPVwicmVhZG9ubHlcIlxuICAgIFtjbG9zZU9uU2VsZWN0XT1cImNsb3NlT25TZWxlY3RcIlxuICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgW2xhYmVsRm9ySWRdPVwiaWRcIlxuICAgIFttYXhTZWxlY3RlZEl0ZW1zXT1cIm1heFNlbGVjdGVkSXRlbXNcIlxuICAgIFtrZXlEb3duRm5dPVwia2V5RG93bkZuXCJcbiAgICBbc2VhcmNoRm5dPVwic2VhcmNoRm5cIlxuICAgIFtpc09wZW5dPVwiKHR5cGUgIT09ICdzZWFyY2gtaW5wdXQnIHx8ICEhc2VsZWN0Q29tcG9uZW50LnNlYXJjaFRlcm0/Lmxlbmd0aCkgJiYgaXNPcGVuXCJcbiAgICBbZ3JvdXBCeV09XCJncm91cEJ5XCJcbiAgICBbYXR0ci5hdXRvZm9jdXNdPVwiYXV0b2ZvY3VzXCJcbiAgICBbc2VsZWN0T25UYWJdPVwic2VsZWN0T25UYWJLZXlQcmVzc1wiXG4gICAgKGtleWRvd24udGFiKT1cIm9uVGFiS2V5cHJlc3MoJGV2ZW50KVwiXG4gICAgKGNoYW5nZSk9XCJvblZhbHVlU2VsZWN0ZWQoc2VsZWN0ZWRJdGVtKVwiXG4gICAgKG9wZW4pPVwib3Blbi5lbWl0KCRldmVudCk7IG9uRHJvcGRvd25PcGVuKClcIlxuICAgIChjbG9zZSk9XCJvbkNsb3NlKCRldmVudClcIlxuICAgIGNsYXNzPVwiZHItc2VsZWN0XCJcbiAgICBbY2xhc3Mubmctc2VsZWN0LS1uby12YWx1ZS1wYWRkaW5nXT1cIm5vVmFsdWVQYWRkaW5nXCJcbiAgICBbY2xhc3Mubmctc2VsZWN0LS1tdWx0aXBsZS1oZWlnaHQtaW5jcmVhc2VkXT1cIm11bHRpcGxlSGVpZ2h0SW5jcmVhc2VkXCJcbiAgICAjc2VsZWN0Q29tcG9uZW50PlxuICAgIDxuZy10ZW1wbGF0ZSAqbmdJZj1cIm9wdGlvbkhlYWRlclRlbXBsYXRlXCIgbmctaGVhZGVyLXRtcCBsZXQtaXRlbT1cIml0ZW1cIj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09XCJvcHRpb25IZWFkZXJUZW1wbGF0ZVwiIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7IGl0ZW06IGl0ZW0gfVwiPjwvbmctY29udGFpbmVyPlxuICAgIDwvbmctdGVtcGxhdGU+XG4gICAgPG5nLXRlbXBsYXRlXG4gICAgICAgIG5nLWhlYWRlci10bXBcbiAgICAgICAgKm5nSWY9XCIhb3B0aW9uSGVhZGVyVGVtcGxhdGUgJiYgaXNEaXNwbGF5aW5nU2VhcmNoSW5IZWFkZXIgJiYgaXRlbXM/Lmxlbmd0aCA+PSBtaW5JdGVtc1RvRGlzcGxheVNlYXJjaEluSGVhZGVyXCJcbiAgICAgICAgbGV0LWl0ZW09XCJpdGVtXCI+XG4gICAgICAgIDxkci1pbnB1dFxuICAgICAgICAgICAgY2xhc3M9XCJkci1zZWxlY3RfX3NlYXJjaFwiXG4gICAgICAgICAgICBbbmdNb2RlbF09XCJzZWxlY3RDb21wb25lbnQuc2VhcmNoVGVybVwiXG4gICAgICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJzZWxlY3RDb21wb25lbnQuaXRlbXNMaXN0LmZpbHRlcigkZXZlbnQgKyAnJylcIlxuICAgICAgICAgICAgdHlwZT1cInNlYXJjaFwiPlxuICAgICAgICA8L2RyLWlucHV0PlxuICAgIDwvbmctdGVtcGxhdGU+XG4gICAgPG5nLXRlbXBsYXRlICpuZ0lmPVwibGFiZWxUZW1wbGF0ZVwiIG5nLWxhYmVsLXRtcCBsZXQtaXRlbT1cIml0ZW1cIj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09XCJsYWJlbFRlbXBsYXRlXCIgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cInsgaXRlbTogaXRlbSB9XCI+PC9uZy1jb250YWluZXI+XG4gICAgPC9uZy10ZW1wbGF0ZT5cbiAgICA8bmctdGVtcGxhdGUgKm5nSWY9XCJtdWx0aUxhYmVsVGVtcGxhdGVcIiBuZy1tdWx0aS1sYWJlbC10bXAgbGV0LWl0ZW1zPVwiaXRlbXNcIiBsZXQtY2xlYXI9XCJjbGVhclwiPlxuICAgICAgICA8bmctY29udGFpbmVyIFtuZ1RlbXBsYXRlT3V0bGV0XT1cIm11bHRpTGFiZWxUZW1wbGF0ZVwiIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7IGl0ZW1zOiBpdGVtcywgY2xlYXI6IGNsZWFyIH1cIj5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgPC9uZy10ZW1wbGF0ZT5cbiAgICA8bmctdGVtcGxhdGUgKm5nSWY9XCJvcHRpb25UZW1wbGF0ZVwiIG5nLW9wdGlvbi10bXAgbGV0LWl0ZW09XCJpdGVtXCIgbGV0LWl0ZW0kPVwiaXRlbSRcIj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09XCJvcHRpb25UZW1wbGF0ZVwiIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7IGl0ZW06IGl0ZW0sIGl0ZW0kOiBpdGVtJCB9XCI+PC9uZy1jb250YWluZXI+XG4gICAgPC9uZy10ZW1wbGF0ZT5cbiAgICA8bmctdGVtcGxhdGUgKm5nSWY9XCJvcHRpb25XaXRoRGVzY3JpcHRpb25cIiBuZy1vcHRpb24tdG1wIGxldC1pdGVtPVwiaXRlbVwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZHItc2VsZWN0X19vcHRpb24td2l0aC1kZXNjX193cmFwcGVyXCI+XG4gICAgICAgICAgICA8ZGl2Pnt7IGl0ZW0ubmFtZSB9fTwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImRyLXNlbGVjdF9fb3B0aW9uLXdpdGgtZGVzY19fZGVzY3JpcHRpb25cIj57eyBpdGVtPy5kZXNjcmlwdGlvbiB9fTwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICA8L25nLXRlbXBsYXRlPlxuICAgIDxuZy10ZW1wbGF0ZSAqbmdJZj1cIm9wdGlvbkZvb3RlclRlbXBsYXRlXCIgbmctZm9vdGVyLXRtcCBsZXQtaXRlbT1cIml0ZW1cIj5cbiAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRdPVwib3B0aW9uRm9vdGVyVGVtcGxhdGVcIlxuICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cInsgaXRlbTogaXRlbSwgY2xvc2U6IHNlbGVjdENvbXBvbmVudC5jbG9zZS5iaW5kKHNlbGVjdENvbXBvbmVudCkgfVwiPjwvbmctY29udGFpbmVyPlxuICAgIDwvbmctdGVtcGxhdGU+XG4gICAgPG5nLXRlbXBsYXRlICpuZ0lmPVwiZ3JvdXBCeVwiIG5nLW9wdGdyb3VwLXRtcCBsZXQtaXRlbT1cIml0ZW1cIj5cbiAgICAgICAge3sgaXRlbVtncm91cEJ5XSB9fVxuICAgIDwvbmctdGVtcGxhdGU+XG4gICAgPG5nLXRlbXBsYXRlIG5nLWxvYWRpbmdzcGlubmVyLXRtcD5cbiAgICAgICAgPGRpdlxuICAgICAgICAgICAgKm5nSWY9XCJsb2FkaW5nXCJcbiAgICAgICAgICAgIGNsYXNzPVwiZHItc2VsZWN0X19sb2FkaW5nXCJcbiAgICAgICAgICAgIFtkclNwaW5uZXJdPVwibG9hZGluZ1wiXG4gICAgICAgICAgICBbZHJTcGlubmVyVHlwZV09XCInY2lyY2xlJ1wiXG4gICAgICAgICAgICBbZHJTcGlubmVyU2l6ZV09XCInc21hbGwnXCJcbiAgICAgICAgICAgIFtkclNwaW5uZXJOb092ZXJsYXldPVwidHJ1ZVwiPjwvZGl2PlxuICAgIDwvbmctdGVtcGxhdGU+XG48L25nLXNlbGVjdD5cbjxpICpuZ0lmPVwidHlwZSA9PT0gJ3NlYXJjaC1pbnB1dCdcIiBjbGFzcz1cInNlYXJjaC1pY29uIGRyLWljb24tc2VhcmNoXCI+PC9pPlxuIl19
@@ -0,0 +1,125 @@
1
+ import { Directive, ElementRef, Input, Renderer2 } from '@angular/core';
2
+ import { reduce as _reduce } from 'lodash';
3
+ import * as i0 from "@angular/core";
4
+ export class TruncateTextDirective {
5
+ constructor(el, renderer) {
6
+ this.el = el;
7
+ this.renderer = renderer;
8
+ this.items = [];
9
+ this.itemSeparator = ', ';
10
+ this.maxWidth = 200;
11
+ this.container = this.el.nativeElement;
12
+ }
13
+ ngOnChanges(changes) {
14
+ if (!changes.items.isFirstChange()) {
15
+ this.render();
16
+ }
17
+ }
18
+ ngOnInit() {
19
+ this.renderer.setStyle(this.container, 'white-space', 'nowrap');
20
+ this.renderer.setStyle(this.container, 'overflow', 'hidden');
21
+ this.renderer.setStyle(this.container, 'max-width', this.maxWidth);
22
+ }
23
+ ngAfterViewInit() {
24
+ this.render();
25
+ }
26
+ render() {
27
+ if (!this.items || this.items.length === 0) {
28
+ this.container.innerText = '';
29
+ return;
30
+ }
31
+ this.container.innerHTML = '';
32
+ const tempContainer = this.createTempContainer();
33
+ this.renderer.appendChild(this.container, tempContainer);
34
+ this.container.innerText = this.getContainerTruncatedText(tempContainer);
35
+ this.renderer.removeChild(this.container, tempContainer);
36
+ }
37
+ createTempContainer() {
38
+ const tempContainer = this.renderer.createElement('div');
39
+ this.renderer.setStyle(tempContainer, 'position', 'absolute');
40
+ this.renderer.setStyle(tempContainer, 'visibility', 'hidden');
41
+ this.renderer.setStyle(tempContainer, 'white-space', 'nowrap');
42
+ this.renderer.setStyle(tempContainer, 'pointer-events', 'none');
43
+ return tempContainer;
44
+ }
45
+ getContainerTruncatedText(container) {
46
+ const visibleCount = this.calculateVisibleItems(container);
47
+ const hiddenCount = this.items.length - visibleCount;
48
+ if (visibleCount > 0) {
49
+ const visibleItems = this.items.slice(0, visibleCount);
50
+ return hiddenCount > 0
51
+ ? [...visibleItems, `+${hiddenCount}`].join(this.itemSeparator)
52
+ : visibleItems.join(this.itemSeparator);
53
+ }
54
+ else if (hiddenCount) {
55
+ const FIRST_SIX_SYMBOLS = 6;
56
+ const FIRST_DISPLAYED_ITEM = 1;
57
+ const ELLIPSIS = '...';
58
+ const hiddenItemsCount = this.items.length - FIRST_DISPLAYED_ITEM;
59
+ if (hiddenItemsCount) {
60
+ const suffix = `+${this.items.length - FIRST_DISPLAYED_ITEM}`;
61
+ const firstItem = this.items[0].slice(0, FIRST_SIX_SYMBOLS);
62
+ return firstItem + ELLIPSIS + this.itemSeparator + suffix;
63
+ }
64
+ else {
65
+ return this.items?.[0];
66
+ }
67
+ }
68
+ return this.items?.[0];
69
+ }
70
+ calculateVisibleItems(container) {
71
+ const lastIdx = this.items.length - 1;
72
+ const separatorWidth = this.measureTextWidth(this.itemSeparator);
73
+ const { visibleCount } = _reduce(this.items, (acc, curr, idx) => {
74
+ if (acc.accumulatedWidth >= this.maxWidth) {
75
+ return acc;
76
+ }
77
+ const span = this.renderer.createElement('span');
78
+ span.innerText = curr;
79
+ this.renderer.appendChild(container, span);
80
+ const itemSeparatorWidth = idx && idx !== lastIdx ? separatorWidth : 0;
81
+ acc.accumulatedWidth += span.offsetWidth + itemSeparatorWidth;
82
+ const remainingCount = this.items.length - (idx + 1);
83
+ const suffix = remainingCount > 0 ? `+${remainingCount}` : '';
84
+ const suffixWidth = suffix ? this.measureTextWidth(this.itemSeparator + suffix) : 0;
85
+ if (acc.accumulatedWidth + suffixWidth <= this.maxWidth) {
86
+ acc.visibleCount = idx + 1;
87
+ }
88
+ else {
89
+ return acc;
90
+ }
91
+ return acc;
92
+ }, { accumulatedWidth: 0, visibleCount: 0 });
93
+ return visibleCount;
94
+ }
95
+ measureTextWidth(text) {
96
+ const span = this.renderer.createElement('span');
97
+ span.innerText = text;
98
+ this.renderer.setStyle(span, 'visibility', 'hidden');
99
+ this.renderer.setStyle(span, 'position', 'absolute');
100
+ this.renderer.setStyle(span, 'white-space', 'nowrap');
101
+ this.renderer.appendChild(this.container, span);
102
+ const width = span.offsetWidth;
103
+ this.renderer.removeChild(this.container, span);
104
+ return width;
105
+ }
106
+ /** @nocollapse */ static { this.ɵfac = function TruncateTextDirective_Factory(t) { return new (t || TruncateTextDirective)(i0.ɵɵdirectiveInject(i0.ElementRef), i0.ɵɵdirectiveInject(i0.Renderer2)); }; }
107
+ /** @nocollapse */ static { this.ɵdir = /** @pureOrBreakMyCode */ i0.ɵɵdefineDirective({ type: TruncateTextDirective, selectors: [["", "drTruncateText", ""]], inputs: { items: ["drTruncateText", "items"], itemSeparator: ["drTruncateTextSeparator", "itemSeparator"], maxWidth: ["drTruncateTextMaxWidth", "maxWidth"] }, standalone: true, features: [i0.ɵɵNgOnChangesFeature] }); }
108
+ }
109
+ (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(TruncateTextDirective, [{
110
+ type: Directive,
111
+ args: [{
112
+ selector: '[drTruncateText]',
113
+ standalone: true,
114
+ }]
115
+ }], function () { return [{ type: i0.ElementRef }, { type: i0.Renderer2 }]; }, { items: [{
116
+ type: Input,
117
+ args: ['drTruncateText']
118
+ }], itemSeparator: [{
119
+ type: Input,
120
+ args: ['drTruncateTextSeparator']
121
+ }], maxWidth: [{
122
+ type: Input,
123
+ args: ['drTruncateTextMaxWidth']
124
+ }] }); })();
125
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJ1bmNhdGUtdGV4dC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kYXRhcmFpbHNzaGFyZWQvc3JjL2xpYi90cnVuY2F0ZS10ZXh0L3RydW5jYXRlLXRleHQuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBaUIsU0FBUyxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQXFCLFNBQVMsRUFBaUIsTUFBTSxlQUFlLENBQUM7QUFDekgsT0FBTyxFQUFFLE1BQU0sSUFBSSxPQUFPLEVBQUUsTUFBTSxRQUFRLENBQUM7O0FBTTNDLE1BQU0sT0FBTyxxQkFBcUI7SUFPOUIsWUFDWSxFQUFjLEVBQ2QsUUFBbUI7UUFEbkIsT0FBRSxHQUFGLEVBQUUsQ0FBWTtRQUNkLGFBQVEsR0FBUixRQUFRLENBQVc7UUFSQyxVQUFLLEdBQWEsRUFBRSxDQUFDO1FBQ1osa0JBQWEsR0FBVyxJQUFJLENBQUM7UUFDOUIsYUFBUSxHQUFXLEdBQUcsQ0FBQztRQVEzRCxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDO0lBQzNDLENBQUM7SUFFTSxXQUFXLENBQUMsT0FBc0I7UUFDckMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsYUFBYSxFQUFFLEVBQUU7WUFDaEMsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO1NBQ2pCO0lBQ0wsQ0FBQztJQUVNLFFBQVE7UUFDWCxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLGFBQWEsRUFBRSxRQUFRLENBQUMsQ0FBQztRQUNoRSxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLFVBQVUsRUFBRSxRQUFRLENBQUMsQ0FBQztRQUM3RCxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLFdBQVcsRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDdkUsQ0FBQztJQUVNLGVBQWU7UUFDbEIsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO0lBQ2xCLENBQUM7SUFFTyxNQUFNO1FBQ1YsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFO1lBQ3hDLElBQUksQ0FBQyxTQUFTLENBQUMsU0FBUyxHQUFHLEVBQUUsQ0FBQztZQUM5QixPQUFPO1NBQ1Y7UUFFRCxJQUFJLENBQUMsU0FBUyxDQUFDLFNBQVMsR0FBRyxFQUFFLENBQUM7UUFFOUIsTUFBTSxhQUFhLEdBQUcsSUFBSSxDQUFDLG1CQUFtQixFQUFFLENBQUM7UUFDakQsSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxhQUFhLENBQUMsQ0FBQztRQUV6RCxJQUFJLENBQUMsU0FBUyxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMseUJBQXlCLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDekUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxhQUFhLENBQUMsQ0FBQztJQUM3RCxDQUFDO0lBRU8sbUJBQW1CO1FBQ3ZCLE1BQU0sYUFBYSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBbUIsQ0FBQztRQUMzRSxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxhQUFhLEVBQUUsVUFBVSxFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBQzlELElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLGFBQWEsRUFBRSxZQUFZLEVBQUUsUUFBUSxDQUFDLENBQUM7UUFDOUQsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsYUFBYSxFQUFFLGFBQWEsRUFBRSxRQUFRLENBQUMsQ0FBQztRQUMvRCxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxhQUFhLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFFaEUsT0FBTyxhQUFhLENBQUM7SUFDekIsQ0FBQztJQUVPLHlCQUF5QixDQUFDLFNBQXNCO1FBQ3BELE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUMzRCxNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sR0FBRyxZQUFZLENBQUM7UUFFckQsSUFBSSxZQUFZLEdBQUcsQ0FBQyxFQUFFO1lBQ2xCLE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxZQUFZLENBQUMsQ0FBQztZQUN2RCxPQUFPLFdBQVcsR0FBRyxDQUFDO2dCQUNsQixDQUFDLENBQUMsQ0FBQyxHQUFHLFlBQVksRUFBRSxJQUFJLFdBQVcsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUM7Z0JBQy9ELENBQUMsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztTQUMvQzthQUFNLElBQUksV0FBVyxFQUFFO1lBQ3BCLE1BQU0saUJBQWlCLEdBQUcsQ0FBQyxDQUFDO1lBQzVCLE1BQU0sb0JBQW9CLEdBQUcsQ0FBQyxDQUFDO1lBRS9CLE1BQU0sUUFBUSxHQUFHLEtBQUssQ0FBQztZQUN2QixNQUFNLGdCQUFnQixHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxHQUFHLG9CQUFvQixDQUFDO1lBRWxFLElBQUksZ0JBQWdCLEVBQUU7Z0JBQ2xCLE1BQU0sTUFBTSxHQUFHLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLEdBQUcsb0JBQW9CLEVBQUUsQ0FBQztnQkFDOUQsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLGlCQUFpQixDQUFDLENBQUM7Z0JBQzVELE9BQU8sU0FBUyxHQUFHLFFBQVEsR0FBRyxJQUFJLENBQUMsYUFBYSxHQUFHLE1BQU0sQ0FBQzthQUM3RDtpQkFBTTtnQkFDSCxPQUFPLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQzthQUMxQjtTQUNKO1FBRUQsT0FBTyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDM0IsQ0FBQztJQUVPLHFCQUFxQixDQUFDLFNBQXNCO1FBQ2hELE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQztRQUN0QyxNQUFNLGNBQWMsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBRWpFLE1BQU0sRUFBRSxZQUFZLEVBQUUsR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDLEdBQUcsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLEVBQUU7WUFDNUQsSUFBSSxHQUFHLENBQUMsZ0JBQWdCLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRTtnQkFDdkMsT0FBTyxHQUFHLENBQUM7YUFDZDtZQUVELE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBb0IsQ0FBQztZQUNwRSxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQztZQUN0QixJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLENBQUM7WUFFM0MsTUFBTSxrQkFBa0IsR0FBRyxHQUFHLElBQUksR0FBRyxLQUFLLE9BQU8sQ0FBQyxDQUFDLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDdkUsR0FBRyxDQUFDLGdCQUFnQixJQUFJLElBQUksQ0FBQyxXQUFXLEdBQUcsa0JBQWtCLENBQUM7WUFFOUQsTUFBTSxjQUFjLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLEdBQUcsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxDQUFDLENBQUM7WUFFckQsTUFBTSxNQUFNLEdBQUcsY0FBYyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxjQUFjLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1lBQzlELE1BQU0sV0FBVyxHQUFHLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxhQUFhLEdBQUcsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUVwRixJQUFJLEdBQUcsQ0FBQyxnQkFBZ0IsR0FBRyxXQUFXLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRTtnQkFDckQsR0FBRyxDQUFDLFlBQVksR0FBRyxHQUFHLEdBQUcsQ0FBQyxDQUFDO2FBQzlCO2lCQUFNO2dCQUNILE9BQU8sR0FBRyxDQUFDO2FBQ2Q7WUFFRCxPQUFPLEdBQUcsQ0FBQztRQUNmLENBQUMsRUFBRSxFQUFFLGdCQUFnQixFQUFFLENBQUMsRUFBRSxZQUFZLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUU3QyxPQUFPLFlBQVksQ0FBQztJQUN4QixDQUFDO0lBRU8sZ0JBQWdCLENBQUMsSUFBWTtRQUNqQyxNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQW9CLENBQUM7UUFDcEUsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUM7UUFDdEIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLFlBQVksRUFBRSxRQUFRLENBQUMsQ0FBQztRQUNyRCxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsVUFBVSxFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBQ3JELElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxhQUFhLEVBQUUsUUFBUSxDQUFDLENBQUM7UUFDdEQsSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUMsQ0FBQztRQUNoRCxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDO1FBQy9CLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDaEQsT0FBTyxLQUFLLENBQUM7SUFDakIsQ0FBQzt5R0E5SFEscUJBQXFCO21HQUFyQixxQkFBcUI7O3VGQUFyQixxQkFBcUI7Y0FKakMsU0FBUztlQUFDO2dCQUNQLFFBQVEsRUFBRSxrQkFBa0I7Z0JBQzVCLFVBQVUsRUFBRSxJQUFJO2FBQ25CO3FGQUVtQyxLQUFLO2tCQUFwQyxLQUFLO21CQUFDLGdCQUFnQjtZQUNrQixhQUFhO2tCQUFyRCxLQUFLO21CQUFDLHlCQUF5QjtZQUNRLFFBQVE7a0JBQS9DLEtBQUs7bUJBQUMsd0JBQXdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWZ0ZXJWaWV3SW5pdCwgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBJbnB1dCwgT25DaGFuZ2VzLCBPbkluaXQsIFJlbmRlcmVyMiwgU2ltcGxlQ2hhbmdlcyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgcmVkdWNlIGFzIF9yZWR1Y2UgfSBmcm9tICdsb2Rhc2gnO1xuXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ1tkclRydW5jYXRlVGV4dF0nLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG59KVxuZXhwb3J0IGNsYXNzIFRydW5jYXRlVGV4dERpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uQ2hhbmdlcywgT25Jbml0LCBBZnRlclZpZXdJbml0IHtcbiAgICBASW5wdXQoJ2RyVHJ1bmNhdGVUZXh0JykgcHVibGljIGl0ZW1zOiBzdHJpbmdbXSA9IFtdO1xuICAgIEBJbnB1dCgnZHJUcnVuY2F0ZVRleHRTZXBhcmF0b3InKSBwdWJsaWMgaXRlbVNlcGFyYXRvcjogc3RyaW5nID0gJywgJztcbiAgICBASW5wdXQoJ2RyVHJ1bmNhdGVUZXh0TWF4V2lkdGgnKSBwdWJsaWMgbWF4V2lkdGg6IG51bWJlciA9IDIwMDtcblxuICAgIHByaXZhdGUgcmVhZG9ubHkgY29udGFpbmVyOiBIVE1MRWxlbWVudDtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIGVsOiBFbGVtZW50UmVmLFxuICAgICAgICBwcml2YXRlIHJlbmRlcmVyOiBSZW5kZXJlcjJcbiAgICApIHtcbiAgICAgICAgdGhpcy5jb250YWluZXIgPSB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQ7XG4gICAgfVxuXG4gICAgcHVibGljIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpIHtcbiAgICAgICAgaWYgKCFjaGFuZ2VzLml0ZW1zLmlzRmlyc3RDaGFuZ2UoKSkge1xuICAgICAgICAgICAgdGhpcy5yZW5kZXIoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLmNvbnRhaW5lciwgJ3doaXRlLXNwYWNlJywgJ25vd3JhcCcpO1xuICAgICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMuY29udGFpbmVyLCAnb3ZlcmZsb3cnLCAnaGlkZGVuJyk7XG4gICAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy5jb250YWluZXIsICdtYXgtd2lkdGgnLCB0aGlzLm1heFdpZHRoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLnJlbmRlcigpO1xuICAgIH1cblxuICAgIHByaXZhdGUgcmVuZGVyKCkge1xuICAgICAgICBpZiAoIXRoaXMuaXRlbXMgfHwgdGhpcy5pdGVtcy5sZW5ndGggPT09IDApIHtcbiAgICAgICAgICAgIHRoaXMuY29udGFpbmVyLmlubmVyVGV4dCA9ICcnO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5jb250YWluZXIuaW5uZXJIVE1MID0gJyc7XG5cbiAgICAgICAgY29uc3QgdGVtcENvbnRhaW5lciA9IHRoaXMuY3JlYXRlVGVtcENvbnRhaW5lcigpO1xuICAgICAgICB0aGlzLnJlbmRlcmVyLmFwcGVuZENoaWxkKHRoaXMuY29udGFpbmVyLCB0ZW1wQ29udGFpbmVyKTtcblxuICAgICAgICB0aGlzLmNvbnRhaW5lci5pbm5lclRleHQgPSB0aGlzLmdldENvbnRhaW5lclRydW5jYXRlZFRleHQodGVtcENvbnRhaW5lcik7XG4gICAgICAgIHRoaXMucmVuZGVyZXIucmVtb3ZlQ2hpbGQodGhpcy5jb250YWluZXIsIHRlbXBDb250YWluZXIpO1xuICAgIH1cblxuICAgIHByaXZhdGUgY3JlYXRlVGVtcENvbnRhaW5lcigpOiBIVE1MRWxlbWVudCB7XG4gICAgICAgIGNvbnN0IHRlbXBDb250YWluZXIgPSB0aGlzLnJlbmRlcmVyLmNyZWF0ZUVsZW1lbnQoJ2RpdicpIGFzIEhUTUxEaXZFbGVtZW50O1xuICAgICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRlbXBDb250YWluZXIsICdwb3NpdGlvbicsICdhYnNvbHV0ZScpO1xuICAgICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRlbXBDb250YWluZXIsICd2aXNpYmlsaXR5JywgJ2hpZGRlbicpO1xuICAgICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRlbXBDb250YWluZXIsICd3aGl0ZS1zcGFjZScsICdub3dyYXAnKTtcbiAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0ZW1wQ29udGFpbmVyLCAncG9pbnRlci1ldmVudHMnLCAnbm9uZScpO1xuXG4gICAgICAgIHJldHVybiB0ZW1wQ29udGFpbmVyO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0Q29udGFpbmVyVHJ1bmNhdGVkVGV4dChjb250YWluZXI6IEhUTUxFbGVtZW50KTogc3RyaW5nIHtcbiAgICAgICAgY29uc3QgdmlzaWJsZUNvdW50ID0gdGhpcy5jYWxjdWxhdGVWaXNpYmxlSXRlbXMoY29udGFpbmVyKTtcbiAgICAgICAgY29uc3QgaGlkZGVuQ291bnQgPSB0aGlzLml0ZW1zLmxlbmd0aCAtIHZpc2libGVDb3VudDtcblxuICAgICAgICBpZiAodmlzaWJsZUNvdW50ID4gMCkge1xuICAgICAgICAgICAgY29uc3QgdmlzaWJsZUl0ZW1zID0gdGhpcy5pdGVtcy5zbGljZSgwLCB2aXNpYmxlQ291bnQpO1xuICAgICAgICAgICAgcmV0dXJuIGhpZGRlbkNvdW50ID4gMFxuICAgICAgICAgICAgICAgID8gWy4uLnZpc2libGVJdGVtcywgYCske2hpZGRlbkNvdW50fWBdLmpvaW4odGhpcy5pdGVtU2VwYXJhdG9yKVxuICAgICAgICAgICAgICAgIDogdmlzaWJsZUl0ZW1zLmpvaW4odGhpcy5pdGVtU2VwYXJhdG9yKTtcbiAgICAgICAgfSBlbHNlIGlmIChoaWRkZW5Db3VudCkge1xuICAgICAgICAgICAgY29uc3QgRklSU1RfU0lYX1NZTUJPTFMgPSA2O1xuICAgICAgICAgICAgY29uc3QgRklSU1RfRElTUExBWUVEX0lURU0gPSAxO1xuXG4gICAgICAgICAgICBjb25zdCBFTExJUFNJUyA9ICcuLi4nO1xuICAgICAgICAgICAgY29uc3QgaGlkZGVuSXRlbXNDb3VudCA9IHRoaXMuaXRlbXMubGVuZ3RoIC0gRklSU1RfRElTUExBWUVEX0lURU07XG5cbiAgICAgICAgICAgIGlmIChoaWRkZW5JdGVtc0NvdW50KSB7XG4gICAgICAgICAgICAgICAgY29uc3Qgc3VmZml4ID0gYCske3RoaXMuaXRlbXMubGVuZ3RoIC0gRklSU1RfRElTUExBWUVEX0lURU19YDtcbiAgICAgICAgICAgICAgICBjb25zdCBmaXJzdEl0ZW0gPSB0aGlzLml0ZW1zWzBdLnNsaWNlKDAsIEZJUlNUX1NJWF9TWU1CT0xTKTtcbiAgICAgICAgICAgICAgICByZXR1cm4gZmlyc3RJdGVtICsgRUxMSVBTSVMgKyB0aGlzLml0ZW1TZXBhcmF0b3IgKyBzdWZmaXg7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLml0ZW1zPy5bMF07XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdGhpcy5pdGVtcz8uWzBdO1xuICAgIH1cblxuICAgIHByaXZhdGUgY2FsY3VsYXRlVmlzaWJsZUl0ZW1zKGNvbnRhaW5lcjogSFRNTEVsZW1lbnQpOiBudW1iZXIge1xuICAgICAgICBjb25zdCBsYXN0SWR4ID0gdGhpcy5pdGVtcy5sZW5ndGggLSAxO1xuICAgICAgICBjb25zdCBzZXBhcmF0b3JXaWR0aCA9IHRoaXMubWVhc3VyZVRleHRXaWR0aCh0aGlzLml0ZW1TZXBhcmF0b3IpO1xuXG4gICAgICAgIGNvbnN0IHsgdmlzaWJsZUNvdW50IH0gPSBfcmVkdWNlKHRoaXMuaXRlbXMsIChhY2MsIGN1cnIsIGlkeCkgPT4ge1xuICAgICAgICAgICAgaWYgKGFjYy5hY2N1bXVsYXRlZFdpZHRoID49IHRoaXMubWF4V2lkdGgpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gYWNjO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBjb25zdCBzcGFuID0gdGhpcy5yZW5kZXJlci5jcmVhdGVFbGVtZW50KCdzcGFuJykgYXMgSFRNTFNwYW5FbGVtZW50O1xuICAgICAgICAgICAgc3Bhbi5pbm5lclRleHQgPSBjdXJyO1xuICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5hcHBlbmRDaGlsZChjb250YWluZXIsIHNwYW4pO1xuXG4gICAgICAgICAgICBjb25zdCBpdGVtU2VwYXJhdG9yV2lkdGggPSBpZHggJiYgaWR4ICE9PSBsYXN0SWR4ID8gc2VwYXJhdG9yV2lkdGggOiAwO1xuICAgICAgICAgICAgYWNjLmFjY3VtdWxhdGVkV2lkdGggKz0gc3Bhbi5vZmZzZXRXaWR0aCArIGl0ZW1TZXBhcmF0b3JXaWR0aDtcblxuICAgICAgICAgICAgY29uc3QgcmVtYWluaW5nQ291bnQgPSB0aGlzLml0ZW1zLmxlbmd0aCAtIChpZHggKyAxKTtcblxuICAgICAgICAgICAgY29uc3Qgc3VmZml4ID0gcmVtYWluaW5nQ291bnQgPiAwID8gYCske3JlbWFpbmluZ0NvdW50fWAgOiAnJztcbiAgICAgICAgICAgIGNvbnN0IHN1ZmZpeFdpZHRoID0gc3VmZml4ID8gdGhpcy5tZWFzdXJlVGV4dFdpZHRoKHRoaXMuaXRlbVNlcGFyYXRvciArIHN1ZmZpeCkgOiAwO1xuXG4gICAgICAgICAgICBpZiAoYWNjLmFjY3VtdWxhdGVkV2lkdGggKyBzdWZmaXhXaWR0aCA8PSB0aGlzLm1heFdpZHRoKSB7XG4gICAgICAgICAgICAgICAgYWNjLnZpc2libGVDb3VudCA9IGlkeCArIDE7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHJldHVybiBhY2M7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHJldHVybiBhY2M7XG4gICAgICAgIH0sIHsgYWNjdW11bGF0ZWRXaWR0aDogMCwgdmlzaWJsZUNvdW50OiAwIH0pO1xuXG4gICAgICAgIHJldHVybiB2aXNpYmxlQ291bnQ7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBtZWFzdXJlVGV4dFdpZHRoKHRleHQ6IHN0cmluZyk6IG51bWJlciB7XG4gICAgICAgIGNvbnN0IHNwYW4gPSB0aGlzLnJlbmRlcmVyLmNyZWF0ZUVsZW1lbnQoJ3NwYW4nKSBhcyBIVE1MU3BhbkVsZW1lbnQ7XG4gICAgICAgIHNwYW4uaW5uZXJUZXh0ID0gdGV4dDtcbiAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZShzcGFuLCAndmlzaWJpbGl0eScsICdoaWRkZW4nKTtcbiAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZShzcGFuLCAncG9zaXRpb24nLCAnYWJzb2x1dGUnKTtcbiAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZShzcGFuLCAnd2hpdGUtc3BhY2UnLCAnbm93cmFwJyk7XG4gICAgICAgIHRoaXMucmVuZGVyZXIuYXBwZW5kQ2hpbGQodGhpcy5jb250YWluZXIsIHNwYW4pO1xuICAgICAgICBjb25zdCB3aWR0aCA9IHNwYW4ub2Zmc2V0V2lkdGg7XG4gICAgICAgIHRoaXMucmVuZGVyZXIucmVtb3ZlQ2hpbGQodGhpcy5jb250YWluZXIsIHNwYW4pO1xuICAgICAgICByZXR1cm4gd2lkdGg7XG4gICAgfVxuXG59XG4iXX0=
@@ -167,7 +167,8 @@ export * from './lib/separate-table/separate-table.component';
167
167
  export * from './lib/separate-table/separate-table-column.directive';
168
168
  export * from './lib/text-overflow/element-overflow.directive';
169
169
  export * from './lib/text-overflow/text-overflow.component';
170
+ export * from './lib/truncate-text/truncate-text.directive';
170
171
  export * from './lib/directives/autofocus/autofocus.directive';
171
172
  export * from './lib/pipes/search/search.pipe';
172
173
  export * from './lib/filter-dropdown/filter-dropdown.component';
173
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL2RhdGFyYWlsc3NoYXJlZC9zcmMvcHVibGljLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxnQkFBZ0I7QUFDaEIsY0FBYyxtQ0FBbUMsQ0FBQztBQUNsRCxjQUFjLG9DQUFvQyxDQUFDO0FBQ25ELGNBQWMscURBQXFELENBQUM7QUFDcEUsY0FBYyxtREFBbUQsQ0FBQztBQUNsRSxjQUFjLCtDQUErQyxDQUFDO0FBQzlELGNBQWMsbURBQW1ELENBQUM7QUFDbEUsY0FBYyw2Q0FBNkMsQ0FBQztBQUM1RCxjQUFjLDZDQUE2QyxDQUFDO0FBQzVELGNBQWMsZ0NBQWdDLENBQUM7QUFDL0MsY0FBYyw0QkFBNEIsQ0FBQztBQUMzQyxjQUFjLG9DQUFvQyxDQUFDO0FBQ25ELGNBQWMsMkNBQTJDLENBQUM7QUFDMUQsY0FBYyxvQ0FBb0MsQ0FBQztBQUNuRCxjQUFjLHFEQUFxRCxDQUFDO0FBQ3BFLGNBQWMsb0RBQW9ELENBQUM7QUFDbkUsY0FBYyw2Q0FBNkMsQ0FBQztBQUM1RCxjQUFjLDZDQUE2QyxDQUFDO0FBQzVELGNBQWMsMkNBQTJDLENBQUM7QUFDMUQsY0FBYywrQ0FBK0MsQ0FBQztBQUM5RCxjQUFjLGtHQUFrRyxDQUFDO0FBQ2pILGNBQWMsd0dBQXdHLENBQUM7QUFDdkgsY0FBYyx3R0FBd0csQ0FBQztBQUN2SCxjQUFjLHNFQUFzRSxDQUFDO0FBQ3JGLGNBQWMsb0dBQW9HLENBQUM7QUFDbkgsY0FBYyxrRkFBa0YsQ0FBQztBQUNqRyxjQUFjLHlFQUF5RSxDQUFDO0FBQ3hGLGNBQWMscURBQXFELENBQUM7QUFDcEUsY0FBYyxnRUFBZ0UsQ0FBQztBQUMvRSxjQUFjLDBFQUEwRSxDQUFDO0FBQ3pGLGNBQWMsaUVBQWlFLENBQUM7QUFDaEYsY0FBYyx1RUFBdUUsQ0FBQztBQUN0RixjQUFjLGlFQUFpRSxDQUFDO0FBQ2hGLGNBQWMs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YyxFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDbEUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNENBQTRDLENBQUM7QUFDaEYsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ2xFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQzNFLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLGlEQUFpRCxDQUFDO0FBRXpGLGNBQWMseUJBQXlCLENBQUM7QUFFeEMsY0FBYywrQ0FBK0MsQ0FBQztBQUM5RCxjQUFjLHVEQUF1RCxDQUFDO0FBQ3RFLGNBQWMsK0NBQStDLENBQUM7QUFDOUQsY0FBYyxzREFBc0QsQ0FBQztBQUNyRSxjQUFjLGdEQUFnRCxDQUFDO0FBQy9ELGNBQWMsNkNBQTZDLENBQUM7QUFDNUQsY0FBYyxnREFBZ0QsQ0FBQztBQUMvRCxjQUFjLGdDQUFnQyxDQUFDO0FBQy9DLGNBQWMsaURBQWlELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBjb21wb25lbnRzICovXG5leHBvcnQgKiBmcm9tICcuL2xpYi9kYXRlLXRhZ3MvYW55LXRhZy5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZGF0ZS10YWdzL2RhdGUtdGFnLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kYXRlLXRhZ3MvZm9yZWNhc3QtdGFnL2ZvcmVjYXN0LXRhZy5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZGF0ZS10YWdzL2ZvcmVjYXN0LXRhZy9mb3JlY2FzdC10YWcuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kYXRlLXRhZ3MvbW9udGgtdGFnL21vbnRoLXRhZy5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZGF0ZS10YWdzL3F1YXJ0ZXItdGFnL3F1YXJ0ZXItdGFnLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kYXRlLXRhZ3Mvd2Vlay10YWcvd2Vlay10YWcuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RhdGUtdGFncy95ZWFyLXRhZy95ZWFyLXRhZy5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZHItdGFncy9kci10YWcuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RyLXRhZ3MvZHItdGFnLnR5cGVzJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2xpc3QtdGFncy9saXN0LXRhZy5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZGF0ZS10YWdzL2RheS10YWcvZGF5LXRhZy5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZGF0ZS10YWdzL2RhdGUtdGFnLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kci1pbnB1dHMvcmFkaW8tYnV0dG9uL3JhZGlvLWJ1dHRvbi5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZHItaW5wdXRzL3JhZGlvLWJ1dHRvbi9yYWRpby1ncm91cC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZHItaW5wdXRzL2NoZWNrYm94L2NoZWNrYm94LmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kci1pbnB1dHMvZHItaW5wdXQvZHItaW5wdXQuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RyLWlucHV0cy9kci1saW5rL2RyLWxpbmsuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RyLWlucHV0cy9kci1zZWxlY3QvZHItc2VsZWN0LmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kci1pbnB1dHMvZGF0ZS1waWNrZXJzL2RyLWRhdGUtcGlja2VyX2N1c3RvbS1oZWFkZXIvZHItZGF0ZS1waWNrZXJfY3VzdG9tLWhlYWRlci5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZHItaW5wdXRzL2RhdGUtcGlja2Vycy9kci1maXNjYWwtbW9udGgtY2FsZW5kYXItcGlja2VyL2RyLWZpc2NhbC1tb250aC1jYWxlbmRhci1oZWFkZXIuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RyLWlucHV0cy9kYXRlLXBpY2tlcnMvZHItZmlzY2FsLW1vbnRoLWNhbGVuZGFyLXBpY2tlci9kci1maXNjYWwtbW9udGgtY2FsZW5kYXItcGlja2VyLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kci1pbnB1dHMvZGF0ZS1waWNrZXJzL2RyLWRhdGUtcGlja2VyL2RyLWRhdGUtcGlja2VyLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kci1pbnB1dHMvZGF0ZS1waWNrZXJzL2RyLWRhdGUtcGlja2VyLXdpdGgtdGltZWZyYW1lL2RyLWRhdGUtcGlja2VyLXdpdGgtdGltZWZyYW1lLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kci1pbnB1dHMvZGF0ZS1waWNrZXJzL2RyLWRhdGUtcGlja2VyLXJhbmdlL2RyLWRhdGUtcGlja2VyLXJhbmdlLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kci1pbnB1dHMvZGF0ZS1waWNrZXJzL2RpcmVjdGl2ZXMvZHItZGF0ZS1waWNrZXItZm9ybWF0LmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kci1pbnB1dHMvZGF0ZS1waWNrZXJzL2RyLXNob3ctdGltZWZyYW1lLnBpcGUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZHItaW5wdXRzL2RhdGUtcGlja2Vycy90aW1lLXBpY2tlci90aW1lLXBpY2tlci5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZHItaW5wdXRzL2RhdGUtcGlja2Vycy9kYXRlLXRpbWUtcGlja2VyL2RhdGUtdGltZS1waWNrZXIuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RyLWlucHV0cy9kci1zZWxlY3QtYWRkLWl0ZW0vZHItc2VsZWN0LWFkZC1pdGVtLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kci10b29sdGlwL2NvbXBvbmVudHMvdG9vbHRpcC1kZWZhdWx0L3Rvb2x0aXAtZGVmYXVsdC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZHItdG9vbHRpcC9jb21wb25lbnRzL3Rvb2x0aXAtaW5mby90b29sdGlwLWluZm8uY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3N0ZXBwZXIvc3RlcHBlci5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZHItY2hhdC9jaGF0LmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kci1jaGF0L2RyLWNoYXQtZm9ybS9jaGF0LWZvcm0uY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RyLWNoYXQvZHItY2hhdC1mb3JtLWRyb3Bkb3duL2RyLWNoYXQtZm9ybS1kcm9wZG93bi5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZHItY2hhdC9kci1jaGF0LWRyb3BwZWQtZmlsZXMvZHItY2hhdC1kcm9wcGVkLWZpbGVzLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kci1jaGF0L2RyLWNoYXQtc3VnZ2VzdGlvbnMvY2hhdC1zdWdnZXN0aW9ucy5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZHItY2hhdC9kci1jaGF0LW1lc3NhZ2UvY2hhdC1tZXNzYWdlLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kci1jaGF0L2RyLWNoYXQtbWVzc2FnZS9kci1jaGF0LW1lc3NhZ2UtdGV4dC9jaGF0LW1lc3NhZ2UtdGV4dC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZHItY2hhdC9kci1jaGF0LW1lc3NhZ2UvZHItY2hhdC1tZXNzYWdlLWN1c3RvbS9jaGF0LWN1c3RvbS1tZXNzYWdlLmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kci1jaGF0L2RyLWNoYXQtbWVzc2FnZS9kci1jaGF0LW1lc3NhZ2UtZmlsZS9jaGF0LW1lc3NhZ2UtZmlsZS5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZHItY2hhdC9kci1kb3QtZmxhc2hpbmcvZHItZG90LWZsYXNoaW5nLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kci1jaGF0L2RyLWNoYXQtYWxlcnQvZHItY2hhdC1hbGVydC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZHItYXZhdGFyL2RyLWF2YXRhci5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZHItYXZhdGFyL2RyLWF2YXRhci5waXBlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RyLXRvb2x0aXAvZHItdG9vbHRpcC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZHItdG9vbHRpcC9kci10b29sdGlwLmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kci1pbnB1dHMvZHItdG9nZ2xlL2RyLXRvZ2dsZS5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZHItaW5wdXRzL2RyLXRvZ2dsZS1idXR0b24vZHItdG9nZ2xlLWJ1dHRvbi5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZHItc3Bpbm5lci9kci1zcGlubmVyLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kci1zcGlubmVyL2RyLXNwaW5uZXIuZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RyLWlucHV0cy9idXR0b24vYnV0dG9uLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kci1iYWRnZS1zdGF0dXMvZHItYmFkZ2Utc3RhdHVzLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kci1hbGVydC9kci1hbGVydC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZHItY29kZS1lZGl0b3IvZHItY29kZS1lZGl0b3IuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RyLWNvZGUtZWRpdG9yL2NvbXBvbmVudHMvZHItY29kZW1pcnJvci5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZHItY29kZS1lZGl0b3IvY29tcG9uZW50cy9jb2RlLWVkaXRvci1oaW50LXdyYXBwZXIuY29tcG9uZW50JztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvZHItc2NlbmFyaW8vY29tcG9uZW50cy9kci1zY2VuYXJpby10YWctY29uZmlndXJhdGlvbi9kci1zY2VuYXJpby10YWctY29uZmlndXJhdGlvbi5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZHItc2NlbmFyaW8vY29tcG9uZW50cy9kci1zY2VuYXJpby1jb25maWd1cmF0aW9uL2RyLXNjZW5hcmlvLWNvbmZpZ3VyYXRpb24uY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RyLXRhZ3MtY29uc3RydWN0b3IvZHItdGFncy1jb25zdHJ1Y3Rvci5jb21wb25lbnQnO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9kci1wb3BvdmVyL2RyLXBvcG92ZXIuZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RyLXBvcG92ZXIvZHItcG9wb3Zlci5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZHItcG9wb3Zlci9kci1wb3BvdmVyLnNlcnZpY2UnO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9kci1kcm9wZG93bi9kci1kcm9wZG93bi5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZHItZHJvcGRvd24vZHItZHJvcGRvd24uY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RyLWRyb3Bkb3duL2RyLWRyb3Bkb3duLWl0ZW0vZHItZHJvcGRvd24taXRlbS5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZHItZHJvcGRvd24vZHItZHJvcGRvd24uc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kci1kcm9wZG93bi9kci1kcm9wZG93bi1pdGVtLXNob3cucGlwZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kci10YWJzL2RyLXRhYnMuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RyLXRhYnMvZHItdGFiLmNvbXBvbmVudCc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL2RyLWFjY29yZGlvbi9hY2NvcmRpb24uY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RyLWFjY29yZGlvbi9hY2NvcmRpb24taXRlbS5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZHItYWNjb3JkaW9uL2FjY29yZGlvbi1pdGVtLWhlYWRlci5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZHItYWNjb3JkaW9uL2FjY29yZGlvbi1pdGVtLWJvZHkuY29tcG9uZW50JztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvZHItbGF5b3V0L2RyLWxheW91dC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZHItbGF5b3V0L2RyLWxheW91dC1oZWFkZXIuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RyLWxheW91dC9kci1sYXlvdXQtYm9keS5jb21wb25lbnQnO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9kci1lcnJvci9kci1lcnJvci5jb21wb25lbnQnO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9kci1kaWFsb2cvc2VydmljZXMvZGlhbG9nLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZHItZGlhbG9nL2NvbXBvbmVudHMvZGlhbG9nLXdyYXBwZXIvZGlhbG9nLXdyYXBwZXIuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RyLWRpYWxvZy9jb21wb25lbnRzL2RpYWxvZy1tb2RhbC13cmFwcGVyL2RpYWxvZy1tb2RhbC13cmFwcGVyLmNvbXBvbmVudCc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL2RyLWRldGFpbHMtbGlzdC9kci1kZXRhaWxzLWxpc3QuY29tcG9uZW50JztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvZHItY2hhdC9jaGF0LmNvbXBvbmVudCc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL2RyLXRyZWV2aWV3L2NvbXBvbmVudHMvdHJlZXZpZXcvdHJlZXZpZXcuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RyLXRyZWV2aWV3L3BpcGVzL3RyZWV2aWV3LnBpcGUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZHItdHJlZXZpZXcvbW9kZWxzL3RyZWV2aWV3LWl0ZW0nO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZHItdHJlZXZpZXcvbW9kZWxzL3RyZWV2aWV3LWNvbmZpZyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kci10cmVldmlldy9tb2RlbHMvdHJlZXZpZXctaTE4bic7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kci10cmVldmlldy9tb2RlbHMvdHJlZXZpZXctaXRlbS10ZW1wbGF0ZS1jb250ZXh0JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RyLXRyZWV2aWV3L2hlbHBlcnMvdHJlZXZpZXctZXZlbnQtcGFyc2VyJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RyLXRyZWV2aWV3L2hlbHBlcnMvdHJlZXZpZXctaGVscGVyJztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvZHItdG9hc3RyL2RlZmF1bHQtdG9hc3RyL2RlZmF1bHQtdG9hc3RyLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi91dGlscy9kYXRhLWFuYWx5dGljcy5zZXJ2aWNlJztcblxuLyogZW51bXMgKi9cbmV4cG9ydCB7IFRvb2x0aXBQb3NpdGlvbiB9IGZyb20gJy4vbGliL2RyLXRvb2x0aXAvZW51bXMvdG9vbHRpcC1wb3NpdGlvbi5lbnVtJztcbmV4cG9ydCB7IFRvb2x0aXBUaGVtZSB9IGZyb20gJy4vbGliL2RyLXRvb2x0aXAvZW51bXMvdG9vbHRpcC10aGVtZS5lbnVtJztcbmV4cG9ydCB7IFNjZW5hcmlvLCBUU2NlbmFyaW9EYXRhQ2hhbmdlZCB9IGZyb20gJy4vbGliL2RyLXNjZW5hcmlvL2ludGVyZmFjZXMvc2NlbmFyaW8nO1xuZXhwb3J0IHsgVG9nZ2xlQnV0dG9uTW9kZSB9IGZyb20gJy4vbGliL2RyLWlucHV0cy9kci10b2dnbGUtYnV0dG9uL3RvZ2dsZS1idXR0b24tbW9kZSc7XG5leHBvcnQgeyBEckFsZXJ0VGhlbWUgfSBmcm9tICcuL2xpYi9kci1hbGVydC9lbnVtcy9kci1hbGVydC10aGVtZS5lbnVtJztcblxuLyogaW50ZXJmYWNlcyAmIHR5cGVzICovXG5leHBvcnQge1xuICAgIFRvb2x0aXBJbmZvQ29udGV4dCxcbiAgICBUb29sdGlwSW5mb1dpZHRoLFxuICAgIFRvb2x0aXBJbmZvSWNvblRoZW1lLFxufSBmcm9tICcuL2xpYi9kci10b29sdGlwL2ludGVyZmFjZXMvdG9vbHRpcC1jb21wb25lbnQtY29udGV4dCc7XG5leHBvcnQgeyBTdGVwIH0gZnJvbSAnLi9saWIvc3RlcHBlci9pbnRlcmZhY2VzL3N0ZXBwZXInO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZHItZGlhbG9nL2ludGVyZmFjZXMvZGlhbG9nLWRhdGEnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZHItYXZhdGFyL3R5cGVzJztcbmV4cG9ydCB7IElGSWxlIH0gZnJvbSAnLi9saWIvbW9kZWxzL2NoYXQnO1xuXG4vKiBkaXJlY3RpdmVzICovXG5leHBvcnQgKiBmcm9tICcuL2xpYi9kci1pbnB1dHMvZHItbW9kZWwtZGVib3VuY2UtY2hhbmdlLmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kaXJlY3RpdmVzL2NsaWNrLW91dHNpZGUvY2xpY2stb3V0c2lkZS5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZGlyZWN0aXZlcy9kci1zaGluZS1hbmltYXRpb24vZHItc2hpbmUtYW5pbWF0aW9uLmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kaXJlY3RpdmVzL2xldC9sZXQuZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RpcmVjdGl2ZXMvbmctdHJhY2stYnktcHJvcGVydHkvbmctdHJhY2stYnktcHJvcGVydHkuZGlyZWN0aXZlJztcblxuLyogcGlwZXMgKi9cbmV4cG9ydCAqIGZyb20gJy4vbGliL3BpcGVzL2ltZy9pbWcucGlwZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9waXBlcy9maWx0ZXIvZmlsdGVyLnBpcGUnO1xuXG4vKiBtb2RlbHMgKi9cbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9kYXRlUGlja2VyJztcbmV4cG9ydCB7XG4gICAgVEFHX1RZUEVTLFxuICAgIElUYWcsXG4gICAgSURhdGVUYWcsXG4gICAgSUxpc3RUYWcsXG4gICAgSVRhZ0ZvclNlcnZlcixcbiAgICBJRHluYW1pY1RhZyxcbiAgICBURHluYW1pY1RhZ1ZhbHVlLFxuICAgIFREeW5hbWljVGFnLFxuICAgIFRhZ1R5cGVzLFxuICAgIFRhZ3NDb25maWdTdWJUeXBlLFxuICAgIFRDb25uZWN0ZWRUYWdzLFxufSBmcm9tICcuL2xpYi9tb2RlbHMvc2VydmVyVGFncyc7XG5leHBvcnQgeyBJU3Bpbm5lck9wdGlvbnMsIFNwaW5uZXJUeXBlLCBTcGlubmVyU2l6ZSB9IGZyb20gJy4vbGliL21vZGVscy9zcGlubmVyT3B0aW9ucyc7XG5leHBvcnQgeyBFbFBvc2l0aW9uLCBJRHJvcGRvd24sIElEcm9wZG93bkl0ZW0sIElEcm9wZG93bkFjdGlvbkljb24sIElEcm9wZG93bkFjdGlvbiB9IGZyb20gJy4vbGliL21vZGVscy9kcm9wZG93bic7XG5leHBvcnQge1xuICAgIERyUG9wb3ZlclJlZixcbiAgICBJRHJQb3BvdmVyQ29tcG9uZW50TW9kZWwsXG4gICAgUG9pbnQsXG4gICAgRHJQb3BvdmVyQ29uZmlnLFxuICAgIElQb3BvdmVyTWFudWFsQ2xvc2luZyxcbiAgICBEclBvcG92ZXJBbGlnbm1lbnQsXG4gICAgRHJQb3BvdmVyQWxpZ25tZW50RGltZW5zaW9uLFxufSBmcm9tICcuL2xpYi9tb2RlbHMvcG9wb3Zlcic7XG5leHBvcnQgeyBJVmFsaWRhdGlvbkVycm9yIH0gZnJvbSAnLi9saWIvbW9kZWxzL3ZhbGlkYXRpb25FcnJvcic7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvY2hhdCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvYmFkZ2VTdGF0dXMnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL2ZlZWRiYWNrJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy90b2FzdHInO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL2RhdGVQaWNrZXJSYW5nZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kci1jb2RlLWVkaXRvci9tb2RlbHMvY29kZS1lZGl0b3ItaGludCc7XG5cbi8qIHNlcnZpY2VzICovXG5leHBvcnQgeyBTY2VuYXJpb1NlcnZpY2UgfSBmcm9tICcuL2xpYi9kci1zY2VuYXJpby9zZXJ2aWNlcy9zY2VuYXJpby5zZXJ2aWNlJztcbmV4cG9ydCB7IFRhZ3NDb25zdHJ1Y3RvclNlcnZpY2UgfSBmcm9tICcuL2xpYi9kci10YWdzLWNvbnN0cnVjdG9yL3RhZ3MtY29uc3RydWN0b3Iuc2VydmljZSc7XG5leHBvcnQgeyBEckF2YXRhclNlcnZpY2UgfSBmcm9tICcuL2xpYi9kci1hdmF0YXIvc2VydmljZXMvZHItYXZhdGFyLnNlcnZpY2UnO1xuZXhwb3J0IHsgRHJUb2FzdHJTZXJ2aWNlIH0gZnJvbSAnLi9saWIvZHItdG9hc3RyL2RyLXRvYXN0ci5zZXJ2aWNlJztcblxuLyogbW9kdWxlcyAqL1xuZXhwb3J0IHsgRGF0ZVRhZ01vZHVsZSB9IGZyb20gJy4vbGliL2RhdGUtdGFncy9kYXRlLXRhZy5tb2R1bGUnO1xuZXhwb3J0IHsgTGlzdFRhZ01vZHVsZSB9IGZyb20gJy4vbGliL2xpc3QtdGFncy9saXN0LXRhZy5tb2R1bGUnO1xuZXhwb3J0IHsgRHJUYWdNb2R1bGUgfSBmcm9tICcuL2xpYi9kci10YWdzL2RyLXRhZy5tb2R1bGUnO1xuZXhwb3J0IHsgRHJJbnB1dHNNb2R1bGUgfSBmcm9tICcuL2xpYi9kci1pbnB1dHMvZHItaW5wdXRzLm1vZHVsZSc7XG5leHBvcnQgeyBEclRvb2x0aXBNb2R1bGUgfSBmcm9tICcuL2xpYi9kci10b29sdGlwL2RyLXRvb2x0aXAubW9kdWxlJztcbmV4cG9ydCB7IERyQXZhdGFyTW9kdWxlIH0gZnJvbSAnLi9saWIvZHItYXZhdGFyL2RyLWF2YXRhci5tb2R1bGUnO1xuZXhwb3J0IHsgRHJTcGlubmVyTW9kdWxlIH0gZnJvbSAnLi9saWIvZHItc3Bpbm5lci9kci1zcGlubmVyLm1vZHVsZSc7XG5leHBvcnQgeyBEclBvcG92ZXJNb2R1bGUgfSBmcm9tICcuL2xpYi9kci1wb3BvdmVyL2RyLXBvcG92ZXIubW9kdWxlJztcbmV4cG9ydCB7IERyU2xpZGVyQ29tcG9uZW50IH0gZnJvbSAnLi9saWIvZHItaW5wdXRzL2RyLXNsaWRlci9kci1zbGlkZXIuY29tcG9uZW50JztcbmV4cG9ydCB7IERySW1hZ2VDcm9wcGVyQ29tcG9uZW50IH0gZnJvbSAnLi9saWIvaW1hZ2UtY3JvcHBlci9kci1pbWFnZS1jcm9wcGVyLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9pbWFnZS1jcm9wcGVyL2RyLWltYWdlLWNyb3BwZXIudHlwZXMnO1xuZXhwb3J0IHsgRHJEcm9wZG93bk1vZHVsZSB9IGZyb20gJy4vbGliL2RyLWRyb3Bkb3duL2RyLWRyb3Bkb3duLm1vZHVsZSc7XG5leHBvcnQgeyBEclRhYnNNb2R1bGUgfSBmcm9tICcuL2xpYi9kci10YWJzL2RyLXRhYnMubW9kdWxlJztcbmV4cG9ydCB7IERyQWNjb3JkaW9uTW9kdWxlIH0gZnJvbSAnLi9saWIvZHItYWNjb3JkaW9uL2FjY29yZGlvbi5tb2R1bGUnO1xuZXhwb3J0IHsgRHJTaGFyZWRVdGlscyB9IGZyb20gJy4vbGliL3V0aWxzL2RyLXNoYXJlZC11dGlscyc7XG5leHBvcnQgeyBEckxheW91dE1vZHVsZSB9IGZyb20gJy4vbGliL2RyLWxheW91dC9kci1sYXlvdXQubW9kdWxlJztcbmV4cG9ydCB7IERyRXJyb3JNb2R1bGUgfSBmcm9tICcuL2xpYi9kci1lcnJvci9kci1lcnJvci5tb2R1bGUnO1xuZXhwb3J0IHsgRHJTdGVwcGVyTW9kdWxlIH0gZnJvbSAnLi9saWIvc3RlcHBlci9zdGVwcGVyLm1vZHVsZSc7XG5leHBvcnQgeyBEckRpYWxvZ01vZHVsZSB9IGZyb20gJy4vbGliL2RyLWRpYWxvZy9kaWFsb2cubW9kdWxlJztcbmV4cG9ydCB7IERyQ2hhdE1vZHVsZSB9IGZyb20gJy4vbGliL2RyLWNoYXQvY2hhdC5tb2R1bGUnO1xuZXhwb3J0IHsgRHJEZXRhaWxzTGlzdE1vZHVsZSB9IGZyb20gJy4vbGliL2RyLWRldGFpbHMtbGlzdC9kci1kZXRhaWxzLWxpc3QubW9kdWxlJztcbmV4cG9ydCB7IERyU2NlbmFyaW9Nb2R1bGUgfSBmcm9tICcuL2xpYi9kci1zY2VuYXJpby9kci1zY2VuYXJpby5tb2R1bGUnO1xuZXhwb3J0IHsgRHJCYWRnZVN0YXR1c01vZHVsZSB9IGZyb20gJy4vbGliL2RyLWJhZGdlLXN0YXR1cy9kci1iYWRnZS1zdGF0dXMubW9kdWxlJztcbmV4cG9ydCB7IFRyZWV2aWV3TW9kdWxlIH0gZnJvbSAnLi9saWIvZHItdHJlZXZpZXcvZHItdHJlZS12aWV3Lm1vZHVsZSc7XG5leHBvcnQgeyBDbGlja091dHNpZGVNb2R1bGUgfSBmcm9tICcuL2xpYi9kaXJlY3RpdmVzL2NsaWNrLW91dHNpZGUvY2xpY2stb3V0c2lkZS5tb2R1bGUnO1xuZXhwb3J0IHsgRHJBbGVydE1vZHVsZSB9IGZyb20gJy4vbGliL2RyLWFsZXJ0L2RyLWFsZXJ0Lm1vZHVsZSc7XG5leHBvcnQgeyBEclRhZ3NDb25zdHJ1Y3Rvck1vZHVsZSB9IGZyb20gJy4vbGliL2RyLXRhZ3MtY29uc3RydWN0b3IvZHItdGFncy1jb25zdHJ1Y3Rvci5tb2R1bGUnO1xuZXhwb3J0IHsgRHJUb2FzdHJNb2R1bGUgfSBmcm9tICcuL2xpYi9kci10b2FzdHIvZHItdG9hc3RyLm1vZHVsZSc7XG5leHBvcnQgeyBEckNvZGVFZGl0b3JNb2R1bGUgfSBmcm9tICcuL2xpYi9kci1jb2RlLWVkaXRvci9kci1jb2RlLWVkaXRvci5tb2R1bGUnO1xuZXhwb3J0IHsgRHJDaGlwQ29tcG9uZW50IH0gZnJvbSAnLi9saWIvZHItY2hpcC9kci1jaGlwLmNvbXBvbmVudCc7XG5leHBvcnQgeyBEckdhbGxlcnlDb21wb25lbnQgfSBmcm9tICcuL2xpYi9kci1nYWxsZXJ5L2RyLWdhbGxlcnkuY29tcG9uZW50JztcbmV4cG9ydCB7IERyUHJvZ3Jlc3NCYXJDb21wb25lbnQgfSBmcm9tICcuL2xpYi9kci1wcm9ncmVzcy1iYXIvZHItcHJvZ3Jlc3MtYmFyLmNvbXBvbmVudCc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL2RyYXdlci9wdWJsaWMtYXBpJztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvc3RlcHBlci13aXphcmQvc3RlcHBlci13aXphcmQuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3N0ZXBwZXItd2l6YXJkL2RpcmVjdGl2ZXMvc3RlcC13aXphcmQuZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlcGFyYXRlLXRhYmxlL3NlcGFyYXRlLXRhYmxlLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZXBhcmF0ZS10YWJsZS9zZXBhcmF0ZS10YWJsZS1jb2x1bW4uZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3RleHQtb3ZlcmZsb3cvZWxlbWVudC1vdmVyZmxvdy5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvdGV4dC1vdmVyZmxvdy90ZXh0LW92ZXJmbG93LmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kaXJlY3RpdmVzL2F1dG9mb2N1cy9hdXRvZm9jdXMuZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3BpcGVzL3NlYXJjaC9zZWFyY2gucGlwZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9maWx0ZXItZHJvcGRvd24vZmlsdGVyLWRyb3Bkb3duLmNvbXBvbmVudCc7XG4iXX0=
174
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL2RhdGFyYWlsc3NoYXJlZC9zcmMvcHVibGljLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxnQkFBZ0I7QUFDaEIsY0FBYyxtQ0FBbUMsQ0FBQztBQUNsRCxjQUFjLG9DQUFvQyxDQUFDO0FBQ25ELGNBQWMscURBQXFELENBQUM7QUFDcEUsY0FBYyxtREFBbUQsQ0FBQztBQUNsRSxjQUFjLCtDQUErQyxDQUFDO0FBQzlELGNBQWMsbURBQW1ELENBQUM7QUFDbEUsY0FBYyw2Q0FBNkMsQ0FBQztBQUM1RCxjQUFjLDZDQUE2QyxDQUFDO0FBQzVELGNBQWMsZ0NBQWdDLENBQUM7QUFDL0MsY0FBYyw0QkFBNEIsQ0FBQztBQUMzQyxjQUFjLG9DQUFvQyxDQUFDO0FBQ25ELGNBQWMsMkNBQTJDLENBQUM7QUFDMUQsY0FBYyxvQ0FBb0MsQ0FBQztBQUNuRCxjQUFjLHFEQUFxRCxDQUFDO0FBQ3BFLGNBQWMsb0RBQW9ELENBQUM7QUFDbkUsY0FBYyw2Q0FBNkMsQ0FBQztBQUM1RCxjQUFjLDZDQUE2QyxDQUFDO0FBQzVELGNBQWMsMkNBQTJDLENBQUM7QUFDMUQsY0FBYywrQ0FBK0MsQ0FBQztBQUM5RCxjQUFjLGtHQUFrRyxDQUFDO0FBQ2pILGNBQWMsd0dBQXdHLENBQUM7QUFDdkgsY0FBYyx3R0FBd0csQ0FBQztBQUN2SCxjQUFjLHNFQUFzRSxDQUFDO0FBQ3JGLGNBQWMsb0dBQW9HLENBQUM7QUFDbkgsY0FBYyxrRkFBa0YsQ0FBQztBQUNqRyxjQUFjLHlFQUF5RSxDQUFDO0FBQ3hGLGNBQWMscURBQXFELENBQUM7QUFDcEUsY0FBYyxnRUFBZ0UsQ0FBQztBQUMvRSxjQUFjLDBFQUEwRSxDQUFDO0FBQ3pGLGNBQWMsaUVBQWlFLENBQUM7QUFDaEYsY0FBYyx1RUFBdUUsQ0FBQztBQUN0RixjQUFjLGlFQUFpRSxDQUFDO0FBQ2hGLGNBQWMs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YyxFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDbEUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNENBQTRDLENBQUM7QUFDaEYsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ2xFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQzNFLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLGlEQUFpRCxDQUFDO0FBRXpGLGNBQWMseUJBQXlCLENBQUM7QUFFeEMsY0FBYywrQ0FBK0MsQ0FBQztBQUM5RCxjQUFjLHVEQUF1RCxDQUFDO0FBQ3RFLGNBQWMsK0NBQStDLENBQUM7QUFDOUQsY0FBYyxzREFBc0QsQ0FBQztBQUNyRSxjQUFjLGdEQUFnRCxDQUFDO0FBQy9ELGNBQWMsNkNBQTZDLENBQUM7QUFDNUQsY0FBYyw2Q0FBNkMsQ0FBQztBQUM1RCxjQUFjLGdEQUFnRCxDQUFDO0FBQy9ELGNBQWMsZ0NBQWdDLENBQUM7QUFDL0MsY0FBYyxpREFBaUQsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qIGNvbXBvbmVudHMgKi9cbmV4cG9ydCAqIGZyb20gJy4vbGliL2RhdGUtdGFncy9hbnktdGFnLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kYXRlLXRhZ3MvZGF0ZS10YWcuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RhdGUtdGFncy9mb3JlY2FzdC10YWcvZm9yZWNhc3QtdGFnLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kYXRlLXRhZ3MvZm9yZWNhc3QtdGFnL2ZvcmVjYXN0LXRhZy5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RhdGUtdGFncy9tb250aC10YWcvbW9udGgtdGFnLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kYXRlLXRhZ3MvcXVhcnRlci10YWcvcXVhcnRlci10YWcuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RhdGUtdGFncy93ZWVrLXRhZy93ZWVrLXRhZy5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZGF0ZS10YWdzL3llYXItdGFnL3llYXItdGFnLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kci10YWdzL2RyLXRhZy5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZHItdGFncy9kci10YWcudHlwZXMnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbGlzdC10YWdzL2xpc3QtdGFnLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kYXRlLXRhZ3MvZGF5LXRhZy9kYXktdGFnLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kYXRlLXRhZ3MvZGF0ZS10YWcuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RyLWlucHV0cy9yYWRpby1idXR0b24vcmFkaW8tYnV0dG9uLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kci1pbnB1dHMvcmFkaW8tYnV0dG9uL3JhZGlvLWdyb3VwLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kci1pbnB1dHMvY2hlY2tib3gvY2hlY2tib3guY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RyLWlucHV0cy9kci1pbnB1dC9kci1pbnB1dC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZHItaW5wdXRzL2RyLWxpbmsvZHItbGluay5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZHItaW5wdXRzL2RyLXNlbGVjdC9kci1zZWxlY3QuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RyLWlucHV0cy9kYXRlLXBpY2tlcnMvZHItZGF0ZS1waWNrZXJfY3VzdG9tLWhlYWRlci9kci1kYXRlLXBpY2tlcl9jdXN0b20taGVhZGVyLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kci1pbnB1dHMvZGF0ZS1waWNrZXJzL2RyLWZpc2NhbC1tb250aC1jYWxlbmRhci1waWNrZXIvZHItZmlzY2FsLW1vbnRoLWNhbGVuZGFyLWhlYWRlci5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZHItaW5wdXRzL2RhdGUtcGlja2Vycy9kci1maXNjYWwtbW9udGgtY2FsZW5kYXItcGlja2VyL2RyLWZpc2NhbC1tb250aC1jYWxlbmRhci1waWNrZXIuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RyLWlucHV0cy9kYXRlLXBpY2tlcnMvZHItZGF0ZS1waWNrZXIvZHItZGF0ZS1waWNrZXIuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RyLWlucHV0cy9kYXRlLXBpY2tlcnMvZHItZGF0ZS1waWNrZXItd2l0aC10aW1lZnJhbWUvZHItZGF0ZS1waWNrZXItd2l0aC10aW1lZnJhbWUuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RyLWlucHV0cy9kYXRlLXBpY2tlcnMvZHItZGF0ZS1waWNrZXItcmFuZ2UvZHItZGF0ZS1waWNrZXItcmFuZ2UuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RyLWlucHV0cy9kYXRlLXBpY2tlcnMvZGlyZWN0aXZlcy9kci1kYXRlLXBpY2tlci1mb3JtYXQuZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RyLWlucHV0cy9kYXRlLXBpY2tlcnMvZHItc2hvdy10aW1lZnJhbWUucGlwZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kci1pbnB1dHMvZGF0ZS1waWNrZXJzL3RpbWUtcGlja2VyL3RpbWUtcGlja2VyLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kci1pbnB1dHMvZGF0ZS1waWNrZXJzL2RhdGUtdGltZS1waWNrZXIvZGF0ZS10aW1lLXBpY2tlci5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZHItaW5wdXRzL2RyLXNlbGVjdC1hZGQtaXRlbS9kci1zZWxlY3QtYWRkLWl0ZW0uY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RyLXRvb2x0aXAvY29tcG9uZW50cy90b29sdGlwLWRlZmF1bHQvdG9vbHRpcC1kZWZhdWx0LmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kci10b29sdGlwL2NvbXBvbmVudHMvdG9vbHRpcC1pbmZvL3Rvb2x0aXAtaW5mby5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc3RlcHBlci9zdGVwcGVyLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kci1jaGF0L2NoYXQuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RyLWNoYXQvZHItY2hhdC1mb3JtL2NoYXQtZm9ybS5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZHItY2hhdC9kci1jaGF0LWZvcm0tZHJvcGRvd24vZHItY2hhdC1mb3JtLWRyb3Bkb3duLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kci1jaGF0L2RyLWNoYXQtZHJvcHBlZC1maWxlcy9kci1jaGF0LWRyb3BwZWQtZmlsZXMuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RyLWNoYXQvZHItY2hhdC1zdWdnZXN0aW9ucy9jaGF0LXN1Z2dlc3Rpb25zLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kci1jaGF0L2RyLWNoYXQtbWVzc2FnZS9jaGF0LW1lc3NhZ2UuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RyLWNoYXQvZHItY2hhdC1tZXNzYWdlL2RyLWNoYXQtbWVzc2FnZS10ZXh0L2NoYXQtbWVzc2FnZS10ZXh0LmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kci1jaGF0L2RyLWNoYXQtbWVzc2FnZS9kci1jaGF0LW1lc3NhZ2UtY3VzdG9tL2NoYXQtY3VzdG9tLW1lc3NhZ2UuZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RyLWNoYXQvZHItY2hhdC1tZXNzYWdlL2RyLWNoYXQtbWVzc2FnZS1maWxlL2NoYXQtbWVzc2FnZS1maWxlLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kci1jaGF0L2RyLWRvdC1mbGFzaGluZy9kci1kb3QtZmxhc2hpbmcuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RyLWNoYXQvZHItY2hhdC1hbGVydC9kci1jaGF0LWFsZXJ0LmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kci1hdmF0YXIvZHItYXZhdGFyLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kci1hdmF0YXIvZHItYXZhdGFyLnBpcGUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZHItdG9vbHRpcC9kci10b29sdGlwLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kci10b29sdGlwL2RyLXRvb2x0aXAuZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RyLWlucHV0cy9kci10b2dnbGUvZHItdG9nZ2xlLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kci1pbnB1dHMvZHItdG9nZ2xlLWJ1dHRvbi9kci10b2dnbGUtYnV0dG9uLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kci1zcGlubmVyL2RyLXNwaW5uZXIuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RyLXNwaW5uZXIvZHItc3Bpbm5lci5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZHItaW5wdXRzL2J1dHRvbi9idXR0b24uY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RyLWJhZGdlLXN0YXR1cy9kci1iYWRnZS1zdGF0dXMuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RyLWFsZXJ0L2RyLWFsZXJ0LmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kci1jb2RlLWVkaXRvci9kci1jb2RlLWVkaXRvci5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZHItY29kZS1lZGl0b3IvY29tcG9uZW50cy9kci1jb2RlbWlycm9yLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kci1jb2RlLWVkaXRvci9jb21wb25lbnRzL2NvZGUtZWRpdG9yLWhpbnQtd3JhcHBlci5jb21wb25lbnQnO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9kci1zY2VuYXJpby9jb21wb25lbnRzL2RyLXNjZW5hcmlvLXRhZy1jb25maWd1cmF0aW9uL2RyLXNjZW5hcmlvLXRhZy1jb25maWd1cmF0aW9uLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kci1zY2VuYXJpby9jb21wb25lbnRzL2RyLXNjZW5hcmlvLWNvbmZpZ3VyYXRpb24vZHItc2NlbmFyaW8tY29uZmlndXJhdGlvbi5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZHItdGFncy1jb25zdHJ1Y3Rvci9kci10YWdzLWNvbnN0cnVjdG9yLmNvbXBvbmVudCc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL2RyLXBvcG92ZXIvZHItcG9wb3Zlci5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZHItcG9wb3Zlci9kci1wb3BvdmVyLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kci1wb3BvdmVyL2RyLXBvcG92ZXIuc2VydmljZSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL2RyLWRyb3Bkb3duL2RyLWRyb3Bkb3duLmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kci1kcm9wZG93bi9kci1kcm9wZG93bi5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZHItZHJvcGRvd24vZHItZHJvcGRvd24taXRlbS9kci1kcm9wZG93bi1pdGVtLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kci1kcm9wZG93bi9kci1kcm9wZG93bi5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RyLWRyb3Bkb3duL2RyLWRyb3Bkb3duLWl0ZW0tc2hvdy5waXBlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RyLXRhYnMvZHItdGFicy5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZHItdGFicy9kci10YWIuY29tcG9uZW50JztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvZHItYWNjb3JkaW9uL2FjY29yZGlvbi5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZHItYWNjb3JkaW9uL2FjY29yZGlvbi1pdGVtLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kci1hY2NvcmRpb24vYWNjb3JkaW9uLWl0ZW0taGVhZGVyLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kci1hY2NvcmRpb24vYWNjb3JkaW9uLWl0ZW0tYm9keS5jb21wb25lbnQnO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9kci1sYXlvdXQvZHItbGF5b3V0LmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kci1sYXlvdXQvZHItbGF5b3V0LWhlYWRlci5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZHItbGF5b3V0L2RyLWxheW91dC1ib2R5LmNvbXBvbmVudCc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL2RyLWVycm9yL2RyLWVycm9yLmNvbXBvbmVudCc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL2RyLWRpYWxvZy9zZXJ2aWNlcy9kaWFsb2cuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kci1kaWFsb2cvY29tcG9uZW50cy9kaWFsb2ctd3JhcHBlci9kaWFsb2ctd3JhcHBlci5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZHItZGlhbG9nL2NvbXBvbmVudHMvZGlhbG9nLW1vZGFsLXdyYXBwZXIvZGlhbG9nLW1vZGFsLXdyYXBwZXIuY29tcG9uZW50JztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvZHItZGV0YWlscy1saXN0L2RyLWRldGFpbHMtbGlzdC5jb21wb25lbnQnO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9kci1jaGF0L2NoYXQuY29tcG9uZW50JztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvZHItdHJlZXZpZXcvY29tcG9uZW50cy90cmVldmlldy90cmVldmlldy5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZHItdHJlZXZpZXcvcGlwZXMvdHJlZXZpZXcucGlwZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kci10cmVldmlldy9tb2RlbHMvdHJlZXZpZXctaXRlbSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kci10cmVldmlldy9tb2RlbHMvdHJlZXZpZXctY29uZmlnJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RyLXRyZWV2aWV3L21vZGVscy90cmVldmlldy1pMThuJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RyLXRyZWV2aWV3L21vZGVscy90cmVldmlldy1pdGVtLXRlbXBsYXRlLWNvbnRleHQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZHItdHJlZXZpZXcvaGVscGVycy90cmVldmlldy1ldmVudC1wYXJzZXInO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZHItdHJlZXZpZXcvaGVscGVycy90cmVldmlldy1oZWxwZXInO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9kci10b2FzdHIvZGVmYXVsdC10b2FzdHIvZGVmYXVsdC10b2FzdHIuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3V0aWxzL2RhdGEtYW5hbHl0aWNzLnNlcnZpY2UnO1xuXG4vKiBlbnVtcyAqL1xuZXhwb3J0IHsgVG9vbHRpcFBvc2l0aW9uIH0gZnJvbSAnLi9saWIvZHItdG9vbHRpcC9lbnVtcy90b29sdGlwLXBvc2l0aW9uLmVudW0nO1xuZXhwb3J0IHsgVG9vbHRpcFRoZW1lIH0gZnJvbSAnLi9saWIvZHItdG9vbHRpcC9lbnVtcy90b29sdGlwLXRoZW1lLmVudW0nO1xuZXhwb3J0IHsgU2NlbmFyaW8sIFRTY2VuYXJpb0RhdGFDaGFuZ2VkIH0gZnJvbSAnLi9saWIvZHItc2NlbmFyaW8vaW50ZXJmYWNlcy9zY2VuYXJpbyc7XG5leHBvcnQgeyBUb2dnbGVCdXR0b25Nb2RlIH0gZnJvbSAnLi9saWIvZHItaW5wdXRzL2RyLXRvZ2dsZS1idXR0b24vdG9nZ2xlLWJ1dHRvbi1tb2RlJztcbmV4cG9ydCB7IERyQWxlcnRUaGVtZSB9IGZyb20gJy4vbGliL2RyLWFsZXJ0L2VudW1zL2RyLWFsZXJ0LXRoZW1lLmVudW0nO1xuXG4vKiBpbnRlcmZhY2VzICYgdHlwZXMgKi9cbmV4cG9ydCB7XG4gICAgVG9vbHRpcEluZm9Db250ZXh0LFxuICAgIFRvb2x0aXBJbmZvV2lkdGgsXG4gICAgVG9vbHRpcEluZm9JY29uVGhlbWUsXG59IGZyb20gJy4vbGliL2RyLXRvb2x0aXAvaW50ZXJmYWNlcy90b29sdGlwLWNvbXBvbmVudC1jb250ZXh0JztcbmV4cG9ydCB7IFN0ZXAgfSBmcm9tICcuL2xpYi9zdGVwcGVyL2ludGVyZmFjZXMvc3RlcHBlcic7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kci1kaWFsb2cvaW50ZXJmYWNlcy9kaWFsb2ctZGF0YSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kci1hdmF0YXIvdHlwZXMnO1xuZXhwb3J0IHsgSUZJbGUgfSBmcm9tICcuL2xpYi9tb2RlbHMvY2hhdCc7XG5cbi8qIGRpcmVjdGl2ZXMgKi9cbmV4cG9ydCAqIGZyb20gJy4vbGliL2RyLWlucHV0cy9kci1tb2RlbC1kZWJvdW5jZS1jaGFuZ2UuZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RpcmVjdGl2ZXMvY2xpY2stb3V0c2lkZS9jbGljay1vdXRzaWRlLmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9kaXJlY3RpdmVzL2RyLXNoaW5lLWFuaW1hdGlvbi9kci1zaGluZS1hbmltYXRpb24uZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RpcmVjdGl2ZXMvbGV0L2xldC5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZGlyZWN0aXZlcy9uZy10cmFjay1ieS1wcm9wZXJ0eS9uZy10cmFjay1ieS1wcm9wZXJ0eS5kaXJlY3RpdmUnO1xuXG4vKiBwaXBlcyAqL1xuZXhwb3J0ICogZnJvbSAnLi9saWIvcGlwZXMvaW1nL2ltZy5waXBlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3BpcGVzL2ZpbHRlci9maWx0ZXIucGlwZSc7XG5cbi8qIG1vZGVscyAqL1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL2RhdGVQaWNrZXInO1xuZXhwb3J0IHtcbiAgICBUQUdfVFlQRVMsXG4gICAgSVRhZyxcbiAgICBJRGF0ZVRhZyxcbiAgICBJTGlzdFRhZyxcbiAgICBJVGFnRm9yU2VydmVyLFxuICAgIElEeW5hbWljVGFnLFxuICAgIFREeW5hbWljVGFnVmFsdWUsXG4gICAgVER5bmFtaWNUYWcsXG4gICAgVGFnVHlwZXMsXG4gICAgVGFnc0NvbmZpZ1N1YlR5cGUsXG4gICAgVENvbm5lY3RlZFRhZ3MsXG59IGZyb20gJy4vbGliL21vZGVscy9zZXJ2ZXJUYWdzJztcbmV4cG9ydCB7IElTcGlubmVyT3B0aW9ucywgU3Bpbm5lclR5cGUsIFNwaW5uZXJTaXplIH0gZnJvbSAnLi9saWIvbW9kZWxzL3NwaW5uZXJPcHRpb25zJztcbmV4cG9ydCB7IEVsUG9zaXRpb24sIElEcm9wZG93biwgSURyb3Bkb3duSXRlbSwgSURyb3Bkb3duQWN0aW9uSWNvbiwgSURyb3Bkb3duQWN0aW9uIH0gZnJvbSAnLi9saWIvbW9kZWxzL2Ryb3Bkb3duJztcbmV4cG9ydCB7XG4gICAgRHJQb3BvdmVyUmVmLFxuICAgIElEclBvcG92ZXJDb21wb25lbnRNb2RlbCxcbiAgICBQb2ludCxcbiAgICBEclBvcG92ZXJDb25maWcsXG4gICAgSVBvcG92ZXJNYW51YWxDbG9zaW5nLFxuICAgIERyUG9wb3ZlckFsaWdubWVudCxcbiAgICBEclBvcG92ZXJBbGlnbm1lbnREaW1lbnNpb24sXG59IGZyb20gJy4vbGliL21vZGVscy9wb3BvdmVyJztcbmV4cG9ydCB7IElWYWxpZGF0aW9uRXJyb3IgfSBmcm9tICcuL2xpYi9tb2RlbHMvdmFsaWRhdGlvbkVycm9yJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9jaGF0JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9iYWRnZVN0YXR1cyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvZmVlZGJhY2snO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL3RvYXN0cic7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvZGF0ZVBpY2tlclJhbmdlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2RyLWNvZGUtZWRpdG9yL21vZGVscy9jb2RlLWVkaXRvci1oaW50JztcblxuLyogc2VydmljZXMgKi9cbmV4cG9ydCB7IFNjZW5hcmlvU2VydmljZSB9IGZyb20gJy4vbGliL2RyLXNjZW5hcmlvL3NlcnZpY2VzL3NjZW5hcmlvLnNlcnZpY2UnO1xuZXhwb3J0IHsgVGFnc0NvbnN0cnVjdG9yU2VydmljZSB9IGZyb20gJy4vbGliL2RyLXRhZ3MtY29uc3RydWN0b3IvdGFncy1jb25zdHJ1Y3Rvci5zZXJ2aWNlJztcbmV4cG9ydCB7IERyQXZhdGFyU2VydmljZSB9IGZyb20gJy4vbGliL2RyLWF2YXRhci9zZXJ2aWNlcy9kci1hdmF0YXIuc2VydmljZSc7XG5leHBvcnQgeyBEclRvYXN0clNlcnZpY2UgfSBmcm9tICcuL2xpYi9kci10b2FzdHIvZHItdG9hc3RyLnNlcnZpY2UnO1xuXG4vKiBtb2R1bGVzICovXG5leHBvcnQgeyBEYXRlVGFnTW9kdWxlIH0gZnJvbSAnLi9saWIvZGF0ZS10YWdzL2RhdGUtdGFnLm1vZHVsZSc7XG5leHBvcnQgeyBMaXN0VGFnTW9kdWxlIH0gZnJvbSAnLi9saWIvbGlzdC10YWdzL2xpc3QtdGFnLm1vZHVsZSc7XG5leHBvcnQgeyBEclRhZ01vZHVsZSB9IGZyb20gJy4vbGliL2RyLXRhZ3MvZHItdGFnLm1vZHVsZSc7XG5leHBvcnQgeyBEcklucHV0c01vZHVsZSB9IGZyb20gJy4vbGliL2RyLWlucHV0cy9kci1pbnB1dHMubW9kdWxlJztcbmV4cG9ydCB7IERyVG9vbHRpcE1vZHVsZSB9IGZyb20gJy4vbGliL2RyLXRvb2x0aXAvZHItdG9vbHRpcC5tb2R1bGUnO1xuZXhwb3J0IHsgRHJBdmF0YXJNb2R1bGUgfSBmcm9tICcuL2xpYi9kci1hdmF0YXIvZHItYXZhdGFyLm1vZHVsZSc7XG5leHBvcnQgeyBEclNwaW5uZXJNb2R1bGUgfSBmcm9tICcuL2xpYi9kci1zcGlubmVyL2RyLXNwaW5uZXIubW9kdWxlJztcbmV4cG9ydCB7IERyUG9wb3Zlck1vZHVsZSB9IGZyb20gJy4vbGliL2RyLXBvcG92ZXIvZHItcG9wb3Zlci5tb2R1bGUnO1xuZXhwb3J0IHsgRHJTbGlkZXJDb21wb25lbnQgfSBmcm9tICcuL2xpYi9kci1pbnB1dHMvZHItc2xpZGVyL2RyLXNsaWRlci5jb21wb25lbnQnO1xuZXhwb3J0IHsgRHJJbWFnZUNyb3BwZXJDb21wb25lbnQgfSBmcm9tICcuL2xpYi9pbWFnZS1jcm9wcGVyL2RyLWltYWdlLWNyb3BwZXIuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2ltYWdlLWNyb3BwZXIvZHItaW1hZ2UtY3JvcHBlci50eXBlcyc7XG5leHBvcnQgeyBEckRyb3Bkb3duTW9kdWxlIH0gZnJvbSAnLi9saWIvZHItZHJvcGRvd24vZHItZHJvcGRvd24ubW9kdWxlJztcbmV4cG9ydCB7IERyVGFic01vZHVsZSB9IGZyb20gJy4vbGliL2RyLXRhYnMvZHItdGFicy5tb2R1bGUnO1xuZXhwb3J0IHsgRHJBY2NvcmRpb25Nb2R1bGUgfSBmcm9tICcuL2xpYi9kci1hY2NvcmRpb24vYWNjb3JkaW9uLm1vZHVsZSc7XG5leHBvcnQgeyBEclNoYXJlZFV0aWxzIH0gZnJvbSAnLi9saWIvdXRpbHMvZHItc2hhcmVkLXV0aWxzJztcbmV4cG9ydCB7IERyTGF5b3V0TW9kdWxlIH0gZnJvbSAnLi9saWIvZHItbGF5b3V0L2RyLWxheW91dC5tb2R1bGUnO1xuZXhwb3J0IHsgRHJFcnJvck1vZHVsZSB9IGZyb20gJy4vbGliL2RyLWVycm9yL2RyLWVycm9yLm1vZHVsZSc7XG5leHBvcnQgeyBEclN0ZXBwZXJNb2R1bGUgfSBmcm9tICcuL2xpYi9zdGVwcGVyL3N0ZXBwZXIubW9kdWxlJztcbmV4cG9ydCB7IERyRGlhbG9nTW9kdWxlIH0gZnJvbSAnLi9saWIvZHItZGlhbG9nL2RpYWxvZy5tb2R1bGUnO1xuZXhwb3J0IHsgRHJDaGF0TW9kdWxlIH0gZnJvbSAnLi9saWIvZHItY2hhdC9jaGF0Lm1vZHVsZSc7XG5leHBvcnQgeyBEckRldGFpbHNMaXN0TW9kdWxlIH0gZnJvbSAnLi9saWIvZHItZGV0YWlscy1saXN0L2RyLWRldGFpbHMtbGlzdC5tb2R1bGUnO1xuZXhwb3J0IHsgRHJTY2VuYXJpb01vZHVsZSB9IGZyb20gJy4vbGliL2RyLXNjZW5hcmlvL2RyLXNjZW5hcmlvLm1vZHVsZSc7XG5leHBvcnQgeyBEckJhZGdlU3RhdHVzTW9kdWxlIH0gZnJvbSAnLi9saWIvZHItYmFkZ2Utc3RhdHVzL2RyLWJhZGdlLXN0YXR1cy5tb2R1bGUnO1xuZXhwb3J0IHsgVHJlZXZpZXdNb2R1bGUgfSBmcm9tICcuL2xpYi9kci10cmVldmlldy9kci10cmVlLXZpZXcubW9kdWxlJztcbmV4cG9ydCB7IENsaWNrT3V0c2lkZU1vZHVsZSB9IGZyb20gJy4vbGliL2RpcmVjdGl2ZXMvY2xpY2stb3V0c2lkZS9jbGljay1vdXRzaWRlLm1vZHVsZSc7XG5leHBvcnQgeyBEckFsZXJ0TW9kdWxlIH0gZnJvbSAnLi9saWIvZHItYWxlcnQvZHItYWxlcnQubW9kdWxlJztcbmV4cG9ydCB7IERyVGFnc0NvbnN0cnVjdG9yTW9kdWxlIH0gZnJvbSAnLi9saWIvZHItdGFncy1jb25zdHJ1Y3Rvci9kci10YWdzLWNvbnN0cnVjdG9yLm1vZHVsZSc7XG5leHBvcnQgeyBEclRvYXN0ck1vZHVsZSB9IGZyb20gJy4vbGliL2RyLXRvYXN0ci9kci10b2FzdHIubW9kdWxlJztcbmV4cG9ydCB7IERyQ29kZUVkaXRvck1vZHVsZSB9IGZyb20gJy4vbGliL2RyLWNvZGUtZWRpdG9yL2RyLWNvZGUtZWRpdG9yLm1vZHVsZSc7XG5leHBvcnQgeyBEckNoaXBDb21wb25lbnQgfSBmcm9tICcuL2xpYi9kci1jaGlwL2RyLWNoaXAuY29tcG9uZW50JztcbmV4cG9ydCB7IERyR2FsbGVyeUNvbXBvbmVudCB9IGZyb20gJy4vbGliL2RyLWdhbGxlcnkvZHItZ2FsbGVyeS5jb21wb25lbnQnO1xuZXhwb3J0IHsgRHJQcm9ncmVzc0JhckNvbXBvbmVudCB9IGZyb20gJy4vbGliL2RyLXByb2dyZXNzLWJhci9kci1wcm9ncmVzcy1iYXIuY29tcG9uZW50JztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvZHJhd2VyL3B1YmxpYy1hcGknO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9zdGVwcGVyLXdpemFyZC9zdGVwcGVyLXdpemFyZC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc3RlcHBlci13aXphcmQvZGlyZWN0aXZlcy9zdGVwLXdpemFyZC5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VwYXJhdGUtdGFibGUvc2VwYXJhdGUtdGFibGUuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlcGFyYXRlLXRhYmxlL3NlcGFyYXRlLXRhYmxlLWNvbHVtbi5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvdGV4dC1vdmVyZmxvdy9lbGVtZW50LW92ZXJmbG93LmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi90ZXh0LW92ZXJmbG93L3RleHQtb3ZlcmZsb3cuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3RydW5jYXRlLXRleHQvdHJ1bmNhdGUtdGV4dC5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZGlyZWN0aXZlcy9hdXRvZm9jdXMvYXV0b2ZvY3VzLmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9waXBlcy9zZWFyY2gvc2VhcmNoLnBpcGUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZmlsdGVyLWRyb3Bkb3duL2ZpbHRlci1kcm9wZG93bi5jb21wb25lbnQnO1xuIl19
@@ -1569,6 +1569,9 @@ class DrSelectComponent {
1569
1569
  setDisabledState(isDisabled) {
1570
1570
  this.disabled = isDisabled;
1571
1571
  }
1572
+ openDropdown() {
1573
+ this.ngSelect.open();
1574
+ }
1572
1575
  close() {
1573
1576
  this.ngSelect.close();
1574
1577
  }
@@ -15345,6 +15348,128 @@ class TextOverflowComponent {
15345
15348
  type: Input
15346
15349
  }] }); })();
15347
15350
 
15351
+ class TruncateTextDirective {
15352
+ constructor(el, renderer) {
15353
+ this.el = el;
15354
+ this.renderer = renderer;
15355
+ this.items = [];
15356
+ this.itemSeparator = ', ';
15357
+ this.maxWidth = 200;
15358
+ this.container = this.el.nativeElement;
15359
+ }
15360
+ ngOnChanges(changes) {
15361
+ if (!changes.items.isFirstChange()) {
15362
+ this.render();
15363
+ }
15364
+ }
15365
+ ngOnInit() {
15366
+ this.renderer.setStyle(this.container, 'white-space', 'nowrap');
15367
+ this.renderer.setStyle(this.container, 'overflow', 'hidden');
15368
+ this.renderer.setStyle(this.container, 'max-width', this.maxWidth);
15369
+ }
15370
+ ngAfterViewInit() {
15371
+ this.render();
15372
+ }
15373
+ render() {
15374
+ if (!this.items || this.items.length === 0) {
15375
+ this.container.innerText = '';
15376
+ return;
15377
+ }
15378
+ this.container.innerHTML = '';
15379
+ const tempContainer = this.createTempContainer();
15380
+ this.renderer.appendChild(this.container, tempContainer);
15381
+ this.container.innerText = this.getContainerTruncatedText(tempContainer);
15382
+ this.renderer.removeChild(this.container, tempContainer);
15383
+ }
15384
+ createTempContainer() {
15385
+ const tempContainer = this.renderer.createElement('div');
15386
+ this.renderer.setStyle(tempContainer, 'position', 'absolute');
15387
+ this.renderer.setStyle(tempContainer, 'visibility', 'hidden');
15388
+ this.renderer.setStyle(tempContainer, 'white-space', 'nowrap');
15389
+ this.renderer.setStyle(tempContainer, 'pointer-events', 'none');
15390
+ return tempContainer;
15391
+ }
15392
+ getContainerTruncatedText(container) {
15393
+ const visibleCount = this.calculateVisibleItems(container);
15394
+ const hiddenCount = this.items.length - visibleCount;
15395
+ if (visibleCount > 0) {
15396
+ const visibleItems = this.items.slice(0, visibleCount);
15397
+ return hiddenCount > 0
15398
+ ? [...visibleItems, `+${hiddenCount}`].join(this.itemSeparator)
15399
+ : visibleItems.join(this.itemSeparator);
15400
+ }
15401
+ else if (hiddenCount) {
15402
+ const FIRST_SIX_SYMBOLS = 6;
15403
+ const FIRST_DISPLAYED_ITEM = 1;
15404
+ const ELLIPSIS = '...';
15405
+ const hiddenItemsCount = this.items.length - FIRST_DISPLAYED_ITEM;
15406
+ if (hiddenItemsCount) {
15407
+ const suffix = `+${this.items.length - FIRST_DISPLAYED_ITEM}`;
15408
+ const firstItem = this.items[0].slice(0, FIRST_SIX_SYMBOLS);
15409
+ return firstItem + ELLIPSIS + this.itemSeparator + suffix;
15410
+ }
15411
+ else {
15412
+ return this.items?.[0];
15413
+ }
15414
+ }
15415
+ return this.items?.[0];
15416
+ }
15417
+ calculateVisibleItems(container) {
15418
+ const lastIdx = this.items.length - 1;
15419
+ const separatorWidth = this.measureTextWidth(this.itemSeparator);
15420
+ const { visibleCount } = reduce(this.items, (acc, curr, idx) => {
15421
+ if (acc.accumulatedWidth >= this.maxWidth) {
15422
+ return acc;
15423
+ }
15424
+ const span = this.renderer.createElement('span');
15425
+ span.innerText = curr;
15426
+ this.renderer.appendChild(container, span);
15427
+ const itemSeparatorWidth = idx && idx !== lastIdx ? separatorWidth : 0;
15428
+ acc.accumulatedWidth += span.offsetWidth + itemSeparatorWidth;
15429
+ const remainingCount = this.items.length - (idx + 1);
15430
+ const suffix = remainingCount > 0 ? `+${remainingCount}` : '';
15431
+ const suffixWidth = suffix ? this.measureTextWidth(this.itemSeparator + suffix) : 0;
15432
+ if (acc.accumulatedWidth + suffixWidth <= this.maxWidth) {
15433
+ acc.visibleCount = idx + 1;
15434
+ }
15435
+ else {
15436
+ return acc;
15437
+ }
15438
+ return acc;
15439
+ }, { accumulatedWidth: 0, visibleCount: 0 });
15440
+ return visibleCount;
15441
+ }
15442
+ measureTextWidth(text) {
15443
+ const span = this.renderer.createElement('span');
15444
+ span.innerText = text;
15445
+ this.renderer.setStyle(span, 'visibility', 'hidden');
15446
+ this.renderer.setStyle(span, 'position', 'absolute');
15447
+ this.renderer.setStyle(span, 'white-space', 'nowrap');
15448
+ this.renderer.appendChild(this.container, span);
15449
+ const width = span.offsetWidth;
15450
+ this.renderer.removeChild(this.container, span);
15451
+ return width;
15452
+ }
15453
+ /** @nocollapse */ static { this.ɵfac = function TruncateTextDirective_Factory(t) { return new (t || TruncateTextDirective)(i0.ɵɵdirectiveInject(i0.ElementRef), i0.ɵɵdirectiveInject(i0.Renderer2)); }; }
15454
+ /** @nocollapse */ static { this.ɵdir = /** @pureOrBreakMyCode */ i0.ɵɵdefineDirective({ type: TruncateTextDirective, selectors: [["", "drTruncateText", ""]], inputs: { items: ["drTruncateText", "items"], itemSeparator: ["drTruncateTextSeparator", "itemSeparator"], maxWidth: ["drTruncateTextMaxWidth", "maxWidth"] }, standalone: true, features: [i0.ɵɵNgOnChangesFeature] }); }
15455
+ }
15456
+ (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(TruncateTextDirective, [{
15457
+ type: Directive,
15458
+ args: [{
15459
+ selector: '[drTruncateText]',
15460
+ standalone: true,
15461
+ }]
15462
+ }], function () { return [{ type: i0.ElementRef }, { type: i0.Renderer2 }]; }, { items: [{
15463
+ type: Input,
15464
+ args: ['drTruncateText']
15465
+ }], itemSeparator: [{
15466
+ type: Input,
15467
+ args: ['drTruncateTextSeparator']
15468
+ }], maxWidth: [{
15469
+ type: Input,
15470
+ args: ['drTruncateTextMaxWidth']
15471
+ }] }); })();
15472
+
15348
15473
  class AutofocusDirective {
15349
15474
  constructor() {
15350
15475
  this.ref = inject(ElementRef);
@@ -15829,5 +15954,5 @@ class FilterDropdownComponent {
15829
15954
  * Generated bundle index. Do not edit.
15830
15955
  */
15831
15956
 
15832
- export { AnyTagComponent, AutofocusDirective, BadgeStatus, CHAT_MESSAGE_TYPE, CROP_IMAGE_MODES, CalendarView, ChatMessage, ChatRole, CheckboxComponent, ClickOutsideDirective, ClickOutsideModule, CodeEditorHintWrapperComponent, CustomDateAdapter, CustomDateFormat, DEFAULT_LINK_FONT_SIZE, DEFAULT_LINK_FONT_WEIGHT, DIALOG_BUTTON_LABEL, DIALOG_FIELD_TYPE, DIALOG_SIZE, DR_DRAWER_DATA, DR_DRAWER_DEFAULT_OPTIONS, DR_SHINE_ANIMATION_CLASS, DataAnalyticsService, DateFromats, DatePickerPeriodPosition, DateTagComponent, DateTagModule, DateTags, DateTimePickerComponent, DayTagComponent, DefaultToastrComponent, DefaultTreeviewEventParser, DefaultTreeviewI18n, DialogModalWrapperComponent, DialogService, DialogWrapperComponent, DownlineTreeviewEventParser, DrAccordionComponent, DrAccordionItemBodyComponent, DrAccordionItemComponent, DrAccordionItemHeaderComponent, DrAccordionModule, DrAlertComponent, DrAlertModule, DrAlertTheme, DrAvatarComponent, DrAvatarModule, DrAvatarPipe, DrAvatarService, DrBadgeStatusComponent, DrBadgeStatusModule, DrButtonComponent, DrChatAlertComponent, DrChatComponent, DrChatCustomMessageDirective, DrChatDroppedFilesComponent, DrChatFormComponent, DrChatFormDropdownComponent, DrChatMessageComponent, DrChatMessageFileComponent, DrChatMessageTextComponent, DrChatModule, DrChatSuggestionsComponent, DrChipComponent, DrCodeEditorComponent, DrCodeEditorModule, DrCodemirrorComponent, DrDatePickerComponent, DrDatePickerCustomHeaderComponent, DrDatePickerFormatDirective, DrDatePickerRangeComponent, DrDatePickerWithTimeframeComponent, DrDetailsListComponent, DrDetailsListModule, DrDialogModule, DrDotFlashingComponent, DrDropdownChildDirective, DrDropdownComponent, DrDropdownDirective, DrDropdownItemComponent, DrDropdownItemShowPipe, DrDropdownModule, DrDropdownService, DrErrorComponent, DrErrorModule, DrFiscalMonthCalendarHeaderComponent, DrFiscalMonthCalendarPickerComponent, DrGalleryComponent, DrImageCropperComponent, DrInputComponent, DrInputsModule, DrLayoutBodyComponent, DrLayoutComponent, DrLayoutHeaderComponent, DrLayoutModule, DrLinkComponent, DrModelDebounceChangeDirective, DrPopoverAlignmentDimension, DrPopoverComponent, DrPopoverDirective, DrPopoverModule, DrPopoverRef, DrPopoverService, DrProgressBarComponent, DrScenarioConfigurationComponent, DrScenarioModule, DrScenarioTagConfigurationComponent, DrSelectAddItemComponent, DrSelectComponent, DrSharedUtils, DrShineAnimationDirective, DrShowTimeframePipe, DrSliderComponent, DrSpinnerComponent, DrSpinnerDirective, DrSpinnerModule, DrStepperModule, DrTabComponent, DrTabsComponent, DrTabsModule, DrTagComponent, DrTagModule, DrTagsConstructorComponent, DrTagsConstructorModule, DrToastrModule, DrToastrService, DrToggleButtonComponent, DrToggleComponent, DrTooltipDirective, DrTooltipModule, Drawer, DrawerConfig, DrawerContainer, DrawerModule, DrawerRef, DropdownInstanceService, ElementOverflowDirective, FeedbackSentiment, FilterDropdownComponent, FilterPipe, FiscalMonthAdapter, ForecastTagComponent, ForecastTagService, GMT_OFFSETS, ICodeEditorHintIcon, IMAGE_TYPES, ImgPipe, LOCAL_TIME_ZONE_OFFSET, LetContext, LetDirective, LinkTheme, ListTagComponent, ListTagModule, MonthTagComponent, OrderDownlineTreeviewEventParser, QuarterTagComponent, RadioButtonComponent, RadioGroupComponent, Scenario, ScenarioService, SearchPipe, SeparateTableColumnDirective, SeparateTableComponent, StepWizardDirective, StepperComponent, StepperWizardComponent, TagTypes, TagsConfigSubType, TagsConstructorService, TextOverflowComponent, TimePickerComponent, TimeframeOption, ToastrStatus, ToastrStatusIcon, ToggleButtonMode, TooltipComponent, TooltipDefaultComponent, TooltipInfoComponent, TooltipInfoIconTheme, TooltipInfoWidth, TooltipPosition, TooltipTheme, TrackByPropertyDirective, TreeviewComponent, TreeviewConfig, TreeviewEventParser, TreeviewHelper, TreeviewI18n, TreeviewItem, TreeviewModule, TreeviewPipe, WeekTagComponent, YearTagComponent, getGMTLabel };
15957
+ export { AnyTagComponent, AutofocusDirective, BadgeStatus, CHAT_MESSAGE_TYPE, CROP_IMAGE_MODES, CalendarView, ChatMessage, ChatRole, CheckboxComponent, ClickOutsideDirective, ClickOutsideModule, CodeEditorHintWrapperComponent, CustomDateAdapter, CustomDateFormat, DEFAULT_LINK_FONT_SIZE, DEFAULT_LINK_FONT_WEIGHT, DIALOG_BUTTON_LABEL, DIALOG_FIELD_TYPE, DIALOG_SIZE, DR_DRAWER_DATA, DR_DRAWER_DEFAULT_OPTIONS, DR_SHINE_ANIMATION_CLASS, DataAnalyticsService, DateFromats, DatePickerPeriodPosition, DateTagComponent, DateTagModule, DateTags, DateTimePickerComponent, DayTagComponent, DefaultToastrComponent, DefaultTreeviewEventParser, DefaultTreeviewI18n, DialogModalWrapperComponent, DialogService, DialogWrapperComponent, DownlineTreeviewEventParser, DrAccordionComponent, DrAccordionItemBodyComponent, DrAccordionItemComponent, DrAccordionItemHeaderComponent, DrAccordionModule, DrAlertComponent, DrAlertModule, DrAlertTheme, DrAvatarComponent, DrAvatarModule, DrAvatarPipe, DrAvatarService, DrBadgeStatusComponent, DrBadgeStatusModule, DrButtonComponent, DrChatAlertComponent, DrChatComponent, DrChatCustomMessageDirective, DrChatDroppedFilesComponent, DrChatFormComponent, DrChatFormDropdownComponent, DrChatMessageComponent, DrChatMessageFileComponent, DrChatMessageTextComponent, DrChatModule, DrChatSuggestionsComponent, DrChipComponent, DrCodeEditorComponent, DrCodeEditorModule, DrCodemirrorComponent, DrDatePickerComponent, DrDatePickerCustomHeaderComponent, DrDatePickerFormatDirective, DrDatePickerRangeComponent, DrDatePickerWithTimeframeComponent, DrDetailsListComponent, DrDetailsListModule, DrDialogModule, DrDotFlashingComponent, DrDropdownChildDirective, DrDropdownComponent, DrDropdownDirective, DrDropdownItemComponent, DrDropdownItemShowPipe, DrDropdownModule, DrDropdownService, DrErrorComponent, DrErrorModule, DrFiscalMonthCalendarHeaderComponent, DrFiscalMonthCalendarPickerComponent, DrGalleryComponent, DrImageCropperComponent, DrInputComponent, DrInputsModule, DrLayoutBodyComponent, DrLayoutComponent, DrLayoutHeaderComponent, DrLayoutModule, DrLinkComponent, DrModelDebounceChangeDirective, DrPopoverAlignmentDimension, DrPopoverComponent, DrPopoverDirective, DrPopoverModule, DrPopoverRef, DrPopoverService, DrProgressBarComponent, DrScenarioConfigurationComponent, DrScenarioModule, DrScenarioTagConfigurationComponent, DrSelectAddItemComponent, DrSelectComponent, DrSharedUtils, DrShineAnimationDirective, DrShowTimeframePipe, DrSliderComponent, DrSpinnerComponent, DrSpinnerDirective, DrSpinnerModule, DrStepperModule, DrTabComponent, DrTabsComponent, DrTabsModule, DrTagComponent, DrTagModule, DrTagsConstructorComponent, DrTagsConstructorModule, DrToastrModule, DrToastrService, DrToggleButtonComponent, DrToggleComponent, DrTooltipDirective, DrTooltipModule, Drawer, DrawerConfig, DrawerContainer, DrawerModule, DrawerRef, DropdownInstanceService, ElementOverflowDirective, FeedbackSentiment, FilterDropdownComponent, FilterPipe, FiscalMonthAdapter, ForecastTagComponent, ForecastTagService, GMT_OFFSETS, ICodeEditorHintIcon, IMAGE_TYPES, ImgPipe, LOCAL_TIME_ZONE_OFFSET, LetContext, LetDirective, LinkTheme, ListTagComponent, ListTagModule, MonthTagComponent, OrderDownlineTreeviewEventParser, QuarterTagComponent, RadioButtonComponent, RadioGroupComponent, Scenario, ScenarioService, SearchPipe, SeparateTableColumnDirective, SeparateTableComponent, StepWizardDirective, StepperComponent, StepperWizardComponent, TagTypes, TagsConfigSubType, TagsConstructorService, TextOverflowComponent, TimePickerComponent, TimeframeOption, ToastrStatus, ToastrStatusIcon, ToggleButtonMode, TooltipComponent, TooltipDefaultComponent, TooltipInfoComponent, TooltipInfoIconTheme, TooltipInfoWidth, TooltipPosition, TooltipTheme, TrackByPropertyDirective, TreeviewComponent, TreeviewConfig, TreeviewEventParser, TreeviewHelper, TreeviewI18n, TreeviewItem, TreeviewModule, TreeviewPipe, TruncateTextDirective, WeekTagComponent, YearTagComponent, getGMTLabel };
15833
15958
  //# sourceMappingURL=datarailsshared-datarailsshared.mjs.map