zek 14.2.38 → 14.2.48

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (72) hide show
  1. package/esm2020/lib/components/base.component.mjs +3 -2
  2. package/esm2020/lib/components/core-ui.component.mjs +20 -5
  3. package/esm2020/lib/modules/age/age.pipe.mjs +2 -3
  4. package/esm2020/lib/modules/alert/alert/alert.component.mjs +1 -1
  5. package/esm2020/lib/modules/bb/bb-modal-base.component.mjs +9 -2
  6. package/esm2020/lib/modules/bb/bb-modal-toolbar.mjs +9 -2
  7. package/esm2020/lib/modules/bb/bb.component.mjs +32 -8
  8. package/esm2020/lib/modules/card/card/card.component.mjs +1 -1
  9. package/esm2020/lib/modules/edit-toolbar/edit-toolbar.component.mjs +23 -4
  10. package/esm2020/lib/modules/file/file-size.pipe.mjs +3 -3
  11. package/esm2020/lib/modules/grid-toolbar/grid-toolbar/grid-toolbar.component.mjs +72 -11
  12. package/esm2020/lib/modules/index.mjs +3 -1
  13. package/esm2020/lib/modules/list-toolbar/list-toolbar.component.mjs +44 -7
  14. package/esm2020/lib/modules/modal/modal/modal.component.mjs +72 -8
  15. package/esm2020/lib/modules/page-title/page-title.component.mjs +11 -1
  16. package/esm2020/lib/modules/pager/pager/pager.component.mjs +9 -2
  17. package/esm2020/lib/modules/password/password.component.mjs +9 -2
  18. package/esm2020/lib/modules/radio/radio-button.component.mjs +3 -3
  19. package/esm2020/lib/modules/readonly/readonly.directive.mjs +5 -5
  20. package/esm2020/lib/modules/select/index.mjs +3 -0
  21. package/esm2020/lib/modules/select/model.mjs +4 -0
  22. package/esm2020/lib/modules/select/module.mjs +28 -0
  23. package/esm2020/lib/modules/select/select.mjs +198 -0
  24. package/esm2020/lib/modules/select2/select2.component.mjs +1 -1
  25. package/esm2020/lib/modules/select2-multiple/select2-multiple.component.mjs +1 -1
  26. package/esm2020/lib/modules/validator/field-validator.component.mjs +1 -1
  27. package/esm2020/lib/modules/validators/directive.mjs +75 -0
  28. package/esm2020/lib/modules/validators/index.mjs +4 -0
  29. package/esm2020/lib/modules/validators/module.mjs +22 -0
  30. package/esm2020/lib/modules/validators/validator.mjs +72 -0
  31. package/esm2020/lib/modules/wizard/wizard/wizard.component.mjs +1 -1
  32. package/esm2020/lib/services/auth.service.mjs +2 -2
  33. package/esm2020/lib/utils/array-helper.mjs +25 -9
  34. package/esm2020/lib/utils/bitwise-helper.mjs +3 -3
  35. package/esm2020/lib/utils/convert.mjs +1 -1
  36. package/esm2020/lib/utils/date-helper.mjs +2 -2
  37. package/esm2020/lib/utils/filter-helper.mjs +2 -2
  38. package/esm2020/lib/utils/object-helper.mjs +17 -4
  39. package/esm2020/lib/utils/string-helper.mjs +9 -18
  40. package/esm2020/lib/utils/time-helper.mjs +2 -2
  41. package/fesm2015/zek.mjs +734 -91
  42. package/fesm2015/zek.mjs.map +1 -1
  43. package/fesm2020/zek.mjs +734 -91
  44. package/fesm2020/zek.mjs.map +1 -1
  45. package/lib/components/base.component.d.ts +3 -2
  46. package/lib/components/core-ui.component.d.ts +9 -4
  47. package/lib/modules/bb/bb-modal-base.component.d.ts +4 -2
  48. package/lib/modules/bb/bb-modal-toolbar.d.ts +4 -1
  49. package/lib/modules/bb/bb.component.d.ts +13 -10
  50. package/lib/modules/edit-toolbar/edit-toolbar.component.d.ts +10 -3
  51. package/lib/modules/grid-toolbar/grid-toolbar/grid-toolbar.component.d.ts +31 -10
  52. package/lib/modules/index.d.ts +2 -0
  53. package/lib/modules/list-toolbar/list-toolbar.component.d.ts +19 -6
  54. package/lib/modules/modal/modal/modal.component.d.ts +31 -11
  55. package/lib/modules/page-title/page-title.component.d.ts +4 -1
  56. package/lib/modules/pager/pager/pager.component.d.ts +4 -1
  57. package/lib/modules/password/password.component.d.ts +4 -1
  58. package/lib/modules/radio/radio-button.component.d.ts +0 -6
  59. package/lib/modules/readonly/readonly.directive.d.ts +3 -2
  60. package/lib/modules/select/index.d.ts +2 -0
  61. package/lib/modules/select/model.d.ts +5 -0
  62. package/lib/modules/select/module.d.ts +9 -0
  63. package/lib/modules/select/select.d.ts +42 -0
  64. package/lib/modules/validators/directive.d.ts +67 -0
  65. package/lib/modules/validators/index.d.ts +3 -0
  66. package/lib/modules/validators/module.d.ts +8 -0
  67. package/lib/modules/validators/validator.d.ts +33 -0
  68. package/lib/utils/array-helper.d.ts +2 -1
  69. package/lib/utils/bitwise-helper.d.ts +2 -2
  70. package/lib/utils/object-helper.d.ts +6 -0
  71. package/lib/utils/string-helper.d.ts +3 -3
  72. package/package.json +1 -1
@@ -1,16 +1,23 @@
1
1
  import { Component, Input, Output, EventEmitter } from '@angular/core';
2
2
  import { Pager } from '../../../models';
3
+ import { Convert } from '../../../utils';
3
4
  import * as i0 from "@angular/core";
4
5
  import * as i1 from "@angular/common";
5
6
  import * as i2 from "@ngx-translate/core";
6
7
  export class PagerComponent {
7
8
  constructor() {
8
9
  this.pager = new Pager();
9
- this.showPageSize = true;
10
+ this._showPageSize = true;
10
11
  this.pagerAlign = 'start';
11
12
  this.onPageChange = new EventEmitter();
12
13
  this.onPageSizeChange = new EventEmitter();
13
14
  }
15
+ get showPageSize() {
16
+ return this._showPageSize;
17
+ }
18
+ set showPageSize(v) {
19
+ this._showPageSize = Convert.toBoolean(v);
20
+ }
14
21
  setPage(page) {
15
22
  // if (!this.pager) return;
16
23
  if (page === this.pager.pageNumber)
@@ -40,4 +47,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImpor
40
47
  }], onPageSizeChange: [{
41
48
  type: Output
42
49
  }] } });
43
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvemVrL3NyYy9saWIvbW9kdWxlcy9wYWdlci9wYWdlci9wYWdlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy96ZWsvc3JjL2xpYi9tb2R1bGVzL3BhZ2VyL3BhZ2VyL3BhZ2VyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdkUsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLGlCQUFpQixDQUFDOzs7O0FBT3hDLE1BQU0sT0FBTyxjQUFjO0lBTDNCO1FBTWEsVUFBSyxHQUFHLElBQUksS0FBSyxFQUFFLENBQUM7UUFDcEIsaUJBQVksR0FBRyxJQUFJLENBQUM7UUFDcEIsZUFBVSxHQUFHLE9BQU8sQ0FBQztRQWtCcEIsaUJBQVksR0FBRyxJQUFJLFlBQVksRUFBVSxDQUFDO1FBRTFDLHFCQUFnQixHQUFHLElBQUksWUFBWSxFQUFVLENBQUM7S0FDM0Q7SUFsQkcsT0FBTyxDQUFDLElBQVk7UUFDaEIsMkJBQTJCO1FBRTNCLElBQUksSUFBSSxLQUFLLElBQUksQ0FBQyxLQUFLLENBQUMsVUFBVTtZQUM5QixPQUFPO1FBQ1gsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDakMsQ0FBQztJQUNELFdBQVcsQ0FBQyxRQUFnQjtRQUN4QiwyQkFBMkI7UUFFM0IsSUFBSSxRQUFRLEtBQUssSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRO1lBQ2hDLE9BQU87UUFDWCxJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ3pDLENBQUM7OzJHQW5CUSxjQUFjOytGQUFkLGNBQWMsc05DUjNCLHN3SEFnRE07MkZEeENPLGNBQWM7a0JBTDFCLFNBQVM7K0JBQ0ksV0FBVzs4QkFLWixLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQWtCSSxZQUFZO3NCQUFyQixNQUFNO2dCQUVHLGdCQUFnQjtzQkFBekIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE91dHB1dCwgRXZlbnRFbWl0dGVyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFBhZ2VyIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICd6ZWstcGFnZXInLFxyXG4gICAgdGVtcGxhdGVVcmw6ICcuL3BhZ2VyLmNvbXBvbmVudC5odG1sJyxcclxuICAgIHN0eWxlczogWyc6aG9zdCB7IGRpc3BsYXk6IGJsb2NrOyB9J11cclxufSlcclxuZXhwb3J0IGNsYXNzIFBhZ2VyQ29tcG9uZW50IHtcclxuICAgIEBJbnB1dCgpIHBhZ2VyID0gbmV3IFBhZ2VyKCk7XHJcbiAgICBASW5wdXQoKSBzaG93UGFnZVNpemUgPSB0cnVlO1xyXG4gICAgQElucHV0KCkgcGFnZXJBbGlnbiA9ICdzdGFydCc7XHJcblxyXG5cclxuICAgIHNldFBhZ2UocGFnZTogbnVtYmVyKSB7XHJcbiAgICAgICAgLy8gaWYgKCF0aGlzLnBhZ2VyKSByZXR1cm47XHJcblxyXG4gICAgICAgIGlmIChwYWdlID09PSB0aGlzLnBhZ2VyLnBhZ2VOdW1iZXIpXHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB0aGlzLm9uUGFnZUNoYW5nZS5lbWl0KHBhZ2UpO1xyXG4gICAgfVxyXG4gICAgc2V0UGFnZVNpemUocGFnZVNpemU6IG51bWJlcikge1xyXG4gICAgICAgIC8vIGlmICghdGhpcy5wYWdlcikgcmV0dXJuO1xyXG5cclxuICAgICAgICBpZiAocGFnZVNpemUgPT09IHRoaXMucGFnZXIucGFnZVNpemUpXHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB0aGlzLm9uUGFnZVNpemVDaGFuZ2UuZW1pdChwYWdlU2l6ZSk7XHJcbiAgICB9XHJcblxyXG4gICAgQE91dHB1dCgpIG9uUGFnZUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8bnVtYmVyPigpO1xyXG5cclxuICAgIEBPdXRwdXQoKSBvblBhZ2VTaXplQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxudW1iZXI+KCk7XHJcbn0iLCI8ZGl2ICpuZ0lmPVwicGFnZXJcIiBjbGFzcz1cInJvd1wiPlxyXG4gICAgPGRpdiBbbmdDbGFzc109XCJ7ICdjb2wtc20tOCc6IHNob3dQYWdlU2l6ZSwgJ2NvbC1zbS0xMic6ICFzaG93UGFnZVNpemV9XCI+XHJcbiAgICAgICAgPG5hdiBhcmlhLWxhYmVsPVwiUGFnaW5hdGlvblwiPlxyXG4gICAgICAgICAgICA8dWwgY2xhc3M9XCJwYWdpbmF0aW9uXCIgW25nQ2xhc3NdPVwieyAnanVzdGlmeS1jb250ZW50LWNlbnRlcic6IHBhZ2VyQWxpZ24gPT09ICdjZW50ZXInLCAnanVzdGlmeS1jb250ZW50LWVuZCc6IHBhZ2VyQWxpZ24gPT09ICdlbmQnfVwiPlxyXG4gICAgICAgICAgICAgICAgPGxpIFtjbGFzcy5kaXNhYmxlZF09XCJwYWdlci5pc0ZpcnN0UGFnZVwiIGNsYXNzPVwicGFnZS1pdGVtXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9XCJwYWdlLWxpbmtcIiAoY2xpY2spPVwic2V0UGFnZSgxKVwiIGhyZWY9XCJqYXZhc2NyaXB0OnZvaWQoMClcIiBbYXR0ci5hcmlhLWRpc2FibGVkXT1cInBhZ2VyLmlzRmlyc3RQYWdlID8gJ3RydWUnIDogbnVsbFwiIGFyaWEtbGFiZWw9XCJGaXJzdFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBhcmlhLWhpZGRlbj1cInRydWVcIj4mbGFxdW87JmxhcXVvOzwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICA8L2E+XHJcbiAgICAgICAgICAgICAgICA8L2xpPlxyXG4gICAgICAgICAgICAgICAgPGxpIFtjbGFzcy5kaXNhYmxlZF09XCIhcGFnZXIuaGFzUHJldmlvdXNQYWdlXCIgY2xhc3M9XCJwYWdlLWl0ZW1cIj5cclxuICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz1cInBhZ2UtbGlua1wiIChjbGljayk9XCJzZXRQYWdlKHBhZ2VyLnBhZ2VOdW1iZXIgLSAxKVwiIGhyZWY9XCJqYXZhc2NyaXB0OnZvaWQoMClcIiBbYXR0ci5hcmlhLWRpc2FibGVkXT1cIiFwYWdlci5oYXNQcmV2aW91c1BhZ2UgPyAndHJ1ZScgOiBudWxsXCIgYXJpYS1sYWJlbD1cIlByZXZpb3VzXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPiZsYXF1bzs8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9hPlxyXG4gICAgICAgICAgICAgICAgPC9saT5cclxuICAgICAgICAgICAgICAgIDxsaSAqbmdGb3I9XCJsZXQgcGFnZSBvZiBwYWdlci5wYWdlc1wiIFtjbGFzcy5hY3RpdmVdPVwicGFnZSA9PT0gcGFnZXIucGFnZU51bWJlclwiIGNsYXNzPVwicGFnZS1pdGVtXCI+PGEgY2xhc3M9XCJwYWdlLWxpbmtcIiAoY2xpY2spPVwic2V0UGFnZShwYWdlKVwiIGhyZWY9XCJqYXZhc2NyaXB0OnZvaWQoMClcIj57e3BhZ2V9fTwvYT48L2xpPlxyXG4gICAgICAgICAgICAgICAgPGxpIFtjbGFzcy5kaXNhYmxlZF09XCIhcGFnZXIuaGFzTmV4dFBhZ2VcIiBjbGFzcz1cInBhZ2UtaXRlbVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxhIGNsYXNzPVwicGFnZS1saW5rXCIgKGNsaWNrKT1cInNldFBhZ2UocGFnZXIucGFnZU51bWJlciArIDEpXCIgaHJlZj1cImphdmFzY3JpcHQ6dm9pZCgwKVwiIFthdHRyLmFyaWEtZGlzYWJsZWRdPVwiIXBhZ2VyLmhhc05leHRQYWdlID8gJ3RydWUnIDogbnVsbFwiIGFyaWEtbGFiZWw9XCJOZXh0XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPiZyYXF1bzs8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9hPlxyXG4gICAgICAgICAgICAgICAgPC9saT5cclxuICAgICAgICAgICAgICAgIDxsaSBbY2xhc3MuZGlzYWJsZWRdPVwicGFnZXIuaXNMYXN0UGFnZVwiIGNsYXNzPVwicGFnZS1pdGVtXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9XCJwYWdlLWxpbmtcIiAoY2xpY2spPVwic2V0UGFnZShwYWdlci5wYWdlQ291bnQpXCIgaHJlZj1cImphdmFzY3JpcHQ6dm9pZCgwKVwiIFthdHRyLmFyaWEtZGlzYWJsZWRdPVwicGFnZXIuaXNMYXN0UGFnZSA/ICd0cnVlJyA6IG51bGxcIiBhcmlhLWxhYmVsPVwiTGFzdFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBhcmlhLWhpZGRlbj1cInRydWVcIj4mcmFxdW87JnJhcXVvOzwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICA8L2E+XHJcbiAgICAgICAgICAgICAgICA8L2xpPlxyXG4gICAgICAgICAgICA8L3VsPlxyXG4gICAgICAgIDwvbmF2PlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwiY29sLXNtLTRcIiAqbmdJZj1cInNob3dQYWdlU2l6ZVwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJmbG9hdC1lbmRcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImRyb3Bkb3duXCI+XHJcbiAgICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPVwiYnRuIGJ0bi1zZWNvbmRhcnkgZHJvcGRvd24tdG9nZ2xlXCIgdHlwZT1cImJ1dHRvblwiIGlkPVwicGFnZS1zaXplLWJ1dHRvblwiIGRhdGEtYnMtdG9nZ2xlPVwiZHJvcGRvd25cIiBhcmlhLWV4cGFuZGVkPVwiZmFsc2VcIj5cclxuICAgICAgICAgICAgICAgICAgICB7e3BhZ2VyLnBhZ2VTaXplfX1cclxuICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgPHVsIGNsYXNzPVwiZHJvcGRvd24tbWVudSBkcm9wZG93bi1tZW51LWVuZFwiIGFyaWEtbGFiZWxsZWRieT1cInBhZ2Utc2l6ZS1idXR0b25cIj5cclxuICAgICAgICAgICAgICAgICAgICA8bGk+PGg2IGNsYXNzPVwiZHJvcGRvd24taGVhZGVyXCI+e3sgJ1BhZ2luYXRpb24uUGFnZVNpemUnIHwgdHJhbnNsYXRlIH19PC9oNj48L2xpPlxyXG4gICAgICAgICAgICAgICAgICAgIDxsaT48YSBjbGFzcz1cImRyb3Bkb3duLWl0ZW1cIiBbY2xhc3MuYWN0aXZlXT1cInBhZ2VyLnBhZ2VTaXplID09PSAxMFwiIChjbGljayk9XCJzZXRQYWdlU2l6ZSgxMClcIiBocmVmPVwiamF2YXNjcmlwdDp2b2lkKDApXCI+MTA8L2E+PC9saT5cclxuICAgICAgICAgICAgICAgICAgICA8bGk+PGEgY2xhc3M9XCJkcm9wZG93bi1pdGVtXCIgW2NsYXNzLmFjdGl2ZV09XCJwYWdlci5wYWdlU2l6ZSA9PT0gMjBcIiAoY2xpY2spPVwic2V0UGFnZVNpemUoMjApXCIgaHJlZj1cImphdmFzY3JpcHQ6dm9pZCgwKVwiPjIwPC9hPjwvbGk+XHJcbiAgICAgICAgICAgICAgICAgICAgPGxpPjxhIGNsYXNzPVwiZHJvcGRvd24taXRlbVwiIFtjbGFzcy5hY3RpdmVdPVwicGFnZXIucGFnZVNpemUgPT09IDUwXCIgKGNsaWNrKT1cInNldFBhZ2VTaXplKDUwKVwiIGhyZWY9XCJqYXZhc2NyaXB0OnZvaWQoMClcIj41MDwvYT48L2xpPlxyXG4gICAgICAgICAgICAgICAgICAgIDxsaT48YSBjbGFzcz1cImRyb3Bkb3duLWl0ZW1cIiBbY2xhc3MuYWN0aXZlXT1cInBhZ2VyLnBhZ2VTaXplID09PSAxMDBcIiAoY2xpY2spPVwic2V0UGFnZVNpemUoMTAwKVwiIGhyZWY9XCJqYXZhc2NyaXB0OnZvaWQoMClcIj4xMDA8L2E+PC9saT5cclxuICAgICAgICAgICAgICAgICAgICA8bGk+PGEgY2xhc3M9XCJkcm9wZG93bi1pdGVtXCIgW2NsYXNzLmFjdGl2ZV09XCJwYWdlci5wYWdlU2l6ZSA9PT0gNTAwXCIgKGNsaWNrKT1cInNldFBhZ2VTaXplKDUwMClcIiBocmVmPVwiamF2YXNjcmlwdDp2b2lkKDApXCI+NTAwPC9hPjwvbGk+XHJcbiAgICAgICAgICAgICAgICA8L3VsPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiZmxvYXQtZW5kIG10LTJcIj5cclxuICAgICAgICAgICAge3twYWdlci5maXJzdEl0ZW1PblBhZ2V9fSAtIHt7cGFnZXIubGFzdEl0ZW1PblBhZ2V9fSBvZiB7e3BhZ2VyLnRvdGFsSXRlbUNvdW50fX0gJm5ic3A7XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuPC9kaXY+Il19
50
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvemVrL3NyYy9saWIvbW9kdWxlcy9wYWdlci9wYWdlci9wYWdlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy96ZWsvc3JjL2xpYi9tb2R1bGVzL3BhZ2VyL3BhZ2VyL3BhZ2VyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFdkUsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3hDLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7OztBQU96QyxNQUFNLE9BQU8sY0FBYztJQUwzQjtRQU1hLFVBQUssR0FBRyxJQUFJLEtBQUssRUFBRSxDQUFDO1FBRXJCLGtCQUFhLEdBQVksSUFBSSxDQUFDO1FBUzdCLGVBQVUsR0FBRyxPQUFPLENBQUM7UUFrQnBCLGlCQUFZLEdBQUcsSUFBSSxZQUFZLEVBQVUsQ0FBQztRQUUxQyxxQkFBZ0IsR0FBRyxJQUFJLFlBQVksRUFBVSxDQUFDO0tBQzNEO0lBN0JHLElBQ0ksWUFBWTtRQUNaLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQztJQUM5QixDQUFDO0lBQ0QsSUFBSSxZQUFZLENBQUMsQ0FBZTtRQUM1QixJQUFJLENBQUMsYUFBYSxHQUFHLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDOUMsQ0FBQztJQUtELE9BQU8sQ0FBQyxJQUFZO1FBQ2hCLDJCQUEyQjtRQUUzQixJQUFJLElBQUksS0FBSyxJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVU7WUFDOUIsT0FBTztRQUNYLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2pDLENBQUM7SUFDRCxXQUFXLENBQUMsUUFBZ0I7UUFDeEIsMkJBQTJCO1FBRTNCLElBQUksUUFBUSxLQUFLLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUTtZQUNoQyxPQUFPO1FBQ1gsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUN6QyxDQUFDOzsyR0E1QlEsY0FBYzsrRkFBZCxjQUFjLHNOQ1YzQixzd0hBZ0RNOzJGRHRDTyxjQUFjO2tCQUwxQixTQUFTOytCQUNJLFdBQVc7OEJBS1osS0FBSztzQkFBYixLQUFLO2dCQUlGLFlBQVk7c0JBRGYsS0FBSztnQkFRRyxVQUFVO3NCQUFsQixLQUFLO2dCQWtCSSxZQUFZO3NCQUFyQixNQUFNO2dCQUVHLGdCQUFnQjtzQkFBekIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE91dHB1dCwgRXZlbnRFbWl0dGVyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEJvb2xlYW5JbnB1dCB9IGZyb20gJy4uLy4uLy4uL2NvbXBvbmVudHMnO1xyXG5pbXBvcnQgeyBQYWdlciB9IGZyb20gJy4uLy4uLy4uL21vZGVscyc7XHJcbmltcG9ydCB7IENvbnZlcnQgfSBmcm9tICcuLi8uLi8uLi91dGlscyc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAnemVrLXBhZ2VyJyxcclxuICAgIHRlbXBsYXRlVXJsOiAnLi9wYWdlci5jb21wb25lbnQuaHRtbCcsXHJcbiAgICBzdHlsZXM6IFsnOmhvc3QgeyBkaXNwbGF5OiBibG9jazsgfSddXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBQYWdlckNvbXBvbmVudCB7XHJcbiAgICBASW5wdXQoKSBwYWdlciA9IG5ldyBQYWdlcigpO1xyXG5cclxuICAgIHByaXZhdGUgX3Nob3dQYWdlU2l6ZTogYm9vbGVhbiA9IHRydWU7XHJcbiAgICBASW5wdXQoKVxyXG4gICAgZ2V0IHNob3dQYWdlU2l6ZSgpOiBib29sZWFuIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fc2hvd1BhZ2VTaXplO1xyXG4gICAgfVxyXG4gICAgc2V0IHNob3dQYWdlU2l6ZSh2OiBCb29sZWFuSW5wdXQpIHtcclxuICAgICAgICB0aGlzLl9zaG93UGFnZVNpemUgPSBDb252ZXJ0LnRvQm9vbGVhbih2KTtcclxuICAgIH1cclxuXHJcbiAgICBASW5wdXQoKSBwYWdlckFsaWduID0gJ3N0YXJ0JztcclxuXHJcblxyXG4gICAgc2V0UGFnZShwYWdlOiBudW1iZXIpIHtcclxuICAgICAgICAvLyBpZiAoIXRoaXMucGFnZXIpIHJldHVybjtcclxuXHJcbiAgICAgICAgaWYgKHBhZ2UgPT09IHRoaXMucGFnZXIucGFnZU51bWJlcilcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIHRoaXMub25QYWdlQ2hhbmdlLmVtaXQocGFnZSk7XHJcbiAgICB9XHJcbiAgICBzZXRQYWdlU2l6ZShwYWdlU2l6ZTogbnVtYmVyKSB7XHJcbiAgICAgICAgLy8gaWYgKCF0aGlzLnBhZ2VyKSByZXR1cm47XHJcblxyXG4gICAgICAgIGlmIChwYWdlU2l6ZSA9PT0gdGhpcy5wYWdlci5wYWdlU2l6ZSlcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIHRoaXMub25QYWdlU2l6ZUNoYW5nZS5lbWl0KHBhZ2VTaXplKTtcclxuICAgIH1cclxuXHJcbiAgICBAT3V0cHV0KCkgb25QYWdlQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxudW1iZXI+KCk7XHJcblxyXG4gICAgQE91dHB1dCgpIG9uUGFnZVNpemVDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPG51bWJlcj4oKTtcclxufSIsIjxkaXYgKm5nSWY9XCJwYWdlclwiIGNsYXNzPVwicm93XCI+XHJcbiAgICA8ZGl2IFtuZ0NsYXNzXT1cInsgJ2NvbC1zbS04Jzogc2hvd1BhZ2VTaXplLCAnY29sLXNtLTEyJzogIXNob3dQYWdlU2l6ZX1cIj5cclxuICAgICAgICA8bmF2IGFyaWEtbGFiZWw9XCJQYWdpbmF0aW9uXCI+XHJcbiAgICAgICAgICAgIDx1bCBjbGFzcz1cInBhZ2luYXRpb25cIiBbbmdDbGFzc109XCJ7ICdqdXN0aWZ5LWNvbnRlbnQtY2VudGVyJzogcGFnZXJBbGlnbiA9PT0gJ2NlbnRlcicsICdqdXN0aWZ5LWNvbnRlbnQtZW5kJzogcGFnZXJBbGlnbiA9PT0gJ2VuZCd9XCI+XHJcbiAgICAgICAgICAgICAgICA8bGkgW2NsYXNzLmRpc2FibGVkXT1cInBhZ2VyLmlzRmlyc3RQYWdlXCIgY2xhc3M9XCJwYWdlLWl0ZW1cIj5cclxuICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz1cInBhZ2UtbGlua1wiIChjbGljayk9XCJzZXRQYWdlKDEpXCIgaHJlZj1cImphdmFzY3JpcHQ6dm9pZCgwKVwiIFthdHRyLmFyaWEtZGlzYWJsZWRdPVwicGFnZXIuaXNGaXJzdFBhZ2UgPyAndHJ1ZScgOiBudWxsXCIgYXJpYS1sYWJlbD1cIkZpcnN0XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPiZsYXF1bzsmbGFxdW87PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvYT5cclxuICAgICAgICAgICAgICAgIDwvbGk+XHJcbiAgICAgICAgICAgICAgICA8bGkgW2NsYXNzLmRpc2FibGVkXT1cIiFwYWdlci5oYXNQcmV2aW91c1BhZ2VcIiBjbGFzcz1cInBhZ2UtaXRlbVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxhIGNsYXNzPVwicGFnZS1saW5rXCIgKGNsaWNrKT1cInNldFBhZ2UocGFnZXIucGFnZU51bWJlciAtIDEpXCIgaHJlZj1cImphdmFzY3JpcHQ6dm9pZCgwKVwiIFthdHRyLmFyaWEtZGlzYWJsZWRdPVwiIXBhZ2VyLmhhc1ByZXZpb3VzUGFnZSA/ICd0cnVlJyA6IG51bGxcIiBhcmlhLWxhYmVsPVwiUHJldmlvdXNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gYXJpYS1oaWRkZW49XCJ0cnVlXCI+JmxhcXVvOzwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICA8L2E+XHJcbiAgICAgICAgICAgICAgICA8L2xpPlxyXG4gICAgICAgICAgICAgICAgPGxpICpuZ0Zvcj1cImxldCBwYWdlIG9mIHBhZ2VyLnBhZ2VzXCIgW2NsYXNzLmFjdGl2ZV09XCJwYWdlID09PSBwYWdlci5wYWdlTnVtYmVyXCIgY2xhc3M9XCJwYWdlLWl0ZW1cIj48YSBjbGFzcz1cInBhZ2UtbGlua1wiIChjbGljayk9XCJzZXRQYWdlKHBhZ2UpXCIgaHJlZj1cImphdmFzY3JpcHQ6dm9pZCgwKVwiPnt7cGFnZX19PC9hPjwvbGk+XHJcbiAgICAgICAgICAgICAgICA8bGkgW2NsYXNzLmRpc2FibGVkXT1cIiFwYWdlci5oYXNOZXh0UGFnZVwiIGNsYXNzPVwicGFnZS1pdGVtXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9XCJwYWdlLWxpbmtcIiAoY2xpY2spPVwic2V0UGFnZShwYWdlci5wYWdlTnVtYmVyICsgMSlcIiBocmVmPVwiamF2YXNjcmlwdDp2b2lkKDApXCIgW2F0dHIuYXJpYS1kaXNhYmxlZF09XCIhcGFnZXIuaGFzTmV4dFBhZ2UgPyAndHJ1ZScgOiBudWxsXCIgYXJpYS1sYWJlbD1cIk5leHRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gYXJpYS1oaWRkZW49XCJ0cnVlXCI+JnJhcXVvOzwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICA8L2E+XHJcbiAgICAgICAgICAgICAgICA8L2xpPlxyXG4gICAgICAgICAgICAgICAgPGxpIFtjbGFzcy5kaXNhYmxlZF09XCJwYWdlci5pc0xhc3RQYWdlXCIgY2xhc3M9XCJwYWdlLWl0ZW1cIj5cclxuICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz1cInBhZ2UtbGlua1wiIChjbGljayk9XCJzZXRQYWdlKHBhZ2VyLnBhZ2VDb3VudClcIiBocmVmPVwiamF2YXNjcmlwdDp2b2lkKDApXCIgW2F0dHIuYXJpYS1kaXNhYmxlZF09XCJwYWdlci5pc0xhc3RQYWdlID8gJ3RydWUnIDogbnVsbFwiIGFyaWEtbGFiZWw9XCJMYXN0XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPiZyYXF1bzsmcmFxdW87PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvYT5cclxuICAgICAgICAgICAgICAgIDwvbGk+XHJcbiAgICAgICAgICAgIDwvdWw+XHJcbiAgICAgICAgPC9uYXY+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJjb2wtc20tNFwiICpuZ0lmPVwic2hvd1BhZ2VTaXplXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImZsb2F0LWVuZFwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZHJvcGRvd25cIj5cclxuICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9XCJidG4gYnRuLXNlY29uZGFyeSBkcm9wZG93bi10b2dnbGVcIiB0eXBlPVwiYnV0dG9uXCIgaWQ9XCJwYWdlLXNpemUtYnV0dG9uXCIgZGF0YS1icy10b2dnbGU9XCJkcm9wZG93blwiIGFyaWEtZXhwYW5kZWQ9XCJmYWxzZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIHt7cGFnZXIucGFnZVNpemV9fVxyXG4gICAgICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICAgICAgICA8dWwgY2xhc3M9XCJkcm9wZG93bi1tZW51IGRyb3Bkb3duLW1lbnUtZW5kXCIgYXJpYS1sYWJlbGxlZGJ5PVwicGFnZS1zaXplLWJ1dHRvblwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxsaT48aDYgY2xhc3M9XCJkcm9wZG93bi1oZWFkZXJcIj57eyAnUGFnaW5hdGlvbi5QYWdlU2l6ZScgfCB0cmFuc2xhdGUgfX08L2g2PjwvbGk+XHJcbiAgICAgICAgICAgICAgICAgICAgPGxpPjxhIGNsYXNzPVwiZHJvcGRvd24taXRlbVwiIFtjbGFzcy5hY3RpdmVdPVwicGFnZXIucGFnZVNpemUgPT09IDEwXCIgKGNsaWNrKT1cInNldFBhZ2VTaXplKDEwKVwiIGhyZWY9XCJqYXZhc2NyaXB0OnZvaWQoMClcIj4xMDwvYT48L2xpPlxyXG4gICAgICAgICAgICAgICAgICAgIDxsaT48YSBjbGFzcz1cImRyb3Bkb3duLWl0ZW1cIiBbY2xhc3MuYWN0aXZlXT1cInBhZ2VyLnBhZ2VTaXplID09PSAyMFwiIChjbGljayk9XCJzZXRQYWdlU2l6ZSgyMClcIiBocmVmPVwiamF2YXNjcmlwdDp2b2lkKDApXCI+MjA8L2E+PC9saT5cclxuICAgICAgICAgICAgICAgICAgICA8bGk+PGEgY2xhc3M9XCJkcm9wZG93bi1pdGVtXCIgW2NsYXNzLmFjdGl2ZV09XCJwYWdlci5wYWdlU2l6ZSA9PT0gNTBcIiAoY2xpY2spPVwic2V0UGFnZVNpemUoNTApXCIgaHJlZj1cImphdmFzY3JpcHQ6dm9pZCgwKVwiPjUwPC9hPjwvbGk+XHJcbiAgICAgICAgICAgICAgICAgICAgPGxpPjxhIGNsYXNzPVwiZHJvcGRvd24taXRlbVwiIFtjbGFzcy5hY3RpdmVdPVwicGFnZXIucGFnZVNpemUgPT09IDEwMFwiIChjbGljayk9XCJzZXRQYWdlU2l6ZSgxMDApXCIgaHJlZj1cImphdmFzY3JpcHQ6dm9pZCgwKVwiPjEwMDwvYT48L2xpPlxyXG4gICAgICAgICAgICAgICAgICAgIDxsaT48YSBjbGFzcz1cImRyb3Bkb3duLWl0ZW1cIiBbY2xhc3MuYWN0aXZlXT1cInBhZ2VyLnBhZ2VTaXplID09PSA1MDBcIiAoY2xpY2spPVwic2V0UGFnZVNpemUoNTAwKVwiIGhyZWY9XCJqYXZhc2NyaXB0OnZvaWQoMClcIj41MDA8L2E+PC9saT5cclxuICAgICAgICAgICAgICAgIDwvdWw+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJmbG9hdC1lbmQgbXQtMlwiPlxyXG4gICAgICAgICAgICB7e3BhZ2VyLmZpcnN0SXRlbU9uUGFnZX19IC0ge3twYWdlci5sYXN0SXRlbU9uUGFnZX19IG9mIHt7cGFnZXIudG90YWxJdGVtQ291bnR9fSAmbmJzcDtcclxuICAgICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG48L2Rpdj4iXX0=
@@ -1,16 +1,23 @@
1
1
  import { Component, EventEmitter, Input, Output } from '@angular/core';
2
+ import { Convert } from '../../utils';
2
3
  import * as i0 from "@angular/core";
3
4
  import * as i1 from "@angular/forms";
4
5
  import * as i2 from "../validator/field-validator.component";
5
6
  export class PasswordComponent {
6
7
  constructor() {
7
8
  this.name = 'Password';
8
- this.required = false;
9
+ this._required = false;
9
10
  this.minlength = null;
10
11
  this.maxlength = null;
11
12
  this.onChange = new EventEmitter();
12
13
  this._type = 'password';
13
14
  }
15
+ get required() {
16
+ return this._required;
17
+ }
18
+ set required(v) {
19
+ this._required = Convert.toBoolean(v);
20
+ }
14
21
  get type() {
15
22
  return this._type;
16
23
  }
@@ -37,4 +44,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImpor
37
44
  type: Output,
38
45
  args: ['modelChange']
39
46
  }] } });
40
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFzc3dvcmQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvemVrL3NyYy9saWIvbW9kdWxlcy9wYXNzd29yZC9wYXNzd29yZC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy96ZWsvc3JjL2xpYi9tb2R1bGVzL3Bhc3N3b3JkL3Bhc3N3b3JkLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7Ozs7QUFNdkUsTUFBTSxPQUFPLGlCQUFpQjtJQUo5QjtRQUtXLFNBQUksR0FBRyxVQUFVLENBQUM7UUFDbEIsYUFBUSxHQUFHLEtBQUssQ0FBQztRQUNqQixjQUFTLEdBQTJCLElBQUksQ0FBQztRQUN6QyxjQUFTLEdBQTJCLElBQUksQ0FBQztRQUczQixhQUFRLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUU3QyxVQUFLLEdBQUcsVUFBVSxDQUFDO0tBUTVCO0lBUEMsSUFBSSxJQUFJO1FBQ04sT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDO0lBQ3BCLENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxLQUFLLFVBQVUsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUM7SUFDL0QsQ0FBQzs7OEdBaEJVLGlCQUFpQjtrR0FBakIsaUJBQWlCLDBNQ045Qiw0a0JBUU07MkZERk8saUJBQWlCO2tCQUo3QixTQUFTOytCQUNFLGNBQWM7OEJBSWYsSUFBSTtzQkFBWixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUVHLEtBQUs7c0JBQWIsS0FBSztnQkFDaUIsUUFBUTtzQkFBOUIsTUFBTTt1QkFBQyxhQUFhIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnemVrLXBhc3N3b3JkJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vcGFzc3dvcmQuY29tcG9uZW50Lmh0bWwnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBQYXNzd29yZENvbXBvbmVudCB7XHJcbiAgQElucHV0KCkgbmFtZSA9ICdQYXNzd29yZCc7XHJcbiAgQElucHV0KCkgcmVxdWlyZWQgPSBmYWxzZTtcclxuICBASW5wdXQoKSBtaW5sZW5ndGg6IG51bWJlciB8IHN0cmluZyB8IG51bGwgPSBudWxsO1xyXG4gIEBJbnB1dCgpIG1heGxlbmd0aDogbnVtYmVyIHwgc3RyaW5nIHwgbnVsbCA9IG51bGw7XHJcblxyXG4gIEBJbnB1dCgpIG1vZGVsPzogc3RyaW5nIHwgbnVsbDtcclxuICBAT3V0cHV0KCdtb2RlbENoYW5nZScpIG9uQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG5cclxuICBwcml2YXRlIF90eXBlID0gJ3Bhc3N3b3JkJztcclxuICBnZXQgdHlwZSgpIHtcclxuICAgIHJldHVybiB0aGlzLl90eXBlO1xyXG4gIH1cclxuXHJcbiAgc2hvd0hpZGUoKSB7XHJcbiAgICB0aGlzLl90eXBlID0gdGhpcy5fdHlwZSA9PT0gJ3Bhc3N3b3JkJyA/ICd0ZXh0JyA6ICdwYXNzd29yZCc7XHJcbiAgfVxyXG59IiwiPGRpdiBjbGFzcz1cImlucHV0LWdyb3VwIGhhcy12YWxpZGF0aW9uXCI+XHJcbiAgICA8aW5wdXQgdHlwZT1cInt7dHlwZX19XCIgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIiBuYW1lPVwie3tuYW1lfX1cIiBpZD1cInt7bmFtZX19XCIgW2F0dHIuYXJpYS1kZXNjcmliZWRieV09XCJuYW1lKyctc2hvdydcIlxyXG4gICAgW3JlcXVpcmVkXT1cInJlcXVpcmVkXCIgW21pbmxlbmd0aF09XCJtaW5sZW5ndGhcIiBbbWF4bGVuZ3RoXT1cIm1heGxlbmd0aFwiXHJcbiAgICBbbmdNb2RlbF09XCJtb2RlbFwiIChuZ01vZGVsQ2hhbmdlKT1cIm9uQ2hhbmdlLmVtaXQoJGV2ZW50KVwiXHJcbiAgICAjcGFzc3dvcmQ9XCJuZ01vZGVsXCJcclxuICAgID5cclxuICAgIDxidXR0b24gY2xhc3M9XCJidG4gYnRuLW91dGxpbmUtc2Vjb25kYXJ5XCIgdHlwZT1cImJ1dHRvblwiIGlkPVwie3tuYW1lfX0tc2hvd1wiIChjbGljayk9XCJzaG93SGlkZSgpXCI+PGkgY2xhc3M9XCJmYS1zb2xpZCBmYS1leWVcIj48L2k+PC9idXR0b24+XHJcbiAgICA8ZGl2IHplay1maWVsZC12YWxpZGF0b3IgW2ZpZWxkXT1cInBhc3N3b3JkXCI+PC9kaXY+XHJcbjwvZGl2PiJdfQ==
47
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFzc3dvcmQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvemVrL3NyYy9saWIvbW9kdWxlcy9wYXNzd29yZC9wYXNzd29yZC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy96ZWsvc3JjL2xpYi9tb2R1bGVzL3Bhc3N3b3JkL3Bhc3N3b3JkLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFdkUsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLGFBQWEsQ0FBQzs7OztBQU10QyxNQUFNLE9BQU8saUJBQWlCO0lBSjlCO1FBS2EsU0FBSSxHQUFHLFVBQVUsQ0FBQztRQUVuQixjQUFTLEdBQVksS0FBSyxDQUFDO1FBUzFCLGNBQVMsR0FBMkIsSUFBSSxDQUFDO1FBQ3pDLGNBQVMsR0FBMkIsSUFBSSxDQUFDO1FBRzNCLGFBQVEsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBRTdDLFVBQUssR0FBRyxVQUFVLENBQUM7S0FROUI7SUF0QkcsSUFDSSxRQUFRO1FBQ1IsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDO0lBQzFCLENBQUM7SUFDRCxJQUFJLFFBQVEsQ0FBQyxDQUFlO1FBQ3hCLElBQUksQ0FBQyxTQUFTLEdBQUcsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUMxQyxDQUFDO0lBU0QsSUFBSSxJQUFJO1FBQ0osT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDO0lBQ3RCLENBQUM7SUFFRCxRQUFRO1FBQ0osSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxLQUFLLFVBQVUsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUM7SUFDakUsQ0FBQzs7OEdBekJRLGlCQUFpQjtrR0FBakIsaUJBQWlCLDBNQ1I5Qiw0a0JBUU07MkZEQU8saUJBQWlCO2tCQUo3QixTQUFTOytCQUNJLGNBQWM7OEJBSWYsSUFBSTtzQkFBWixLQUFLO2dCQUlGLFFBQVE7c0JBRFgsS0FBSztnQkFRRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBRUcsS0FBSztzQkFBYixLQUFLO2dCQUNpQixRQUFRO3NCQUE5QixNQUFNO3VCQUFDLGFBQWEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBCb29sZWFuSW5wdXQgfSBmcm9tICcuLi8uLi9jb21wb25lbnRzJztcclxuaW1wb3J0IHsgQ29udmVydCB9IGZyb20gJy4uLy4uL3V0aWxzJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICd6ZWstcGFzc3dvcmQnLFxyXG4gICAgdGVtcGxhdGVVcmw6ICcuL3Bhc3N3b3JkLmNvbXBvbmVudC5odG1sJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgUGFzc3dvcmRDb21wb25lbnQge1xyXG4gICAgQElucHV0KCkgbmFtZSA9ICdQYXNzd29yZCc7XHJcblxyXG4gICAgcHJpdmF0ZSBfcmVxdWlyZWQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuICAgIEBJbnB1dCgpXHJcbiAgICBnZXQgcmVxdWlyZWQoKTogYm9vbGVhbiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX3JlcXVpcmVkO1xyXG4gICAgfVxyXG4gICAgc2V0IHJlcXVpcmVkKHY6IEJvb2xlYW5JbnB1dCkge1xyXG4gICAgICAgIHRoaXMuX3JlcXVpcmVkID0gQ29udmVydC50b0Jvb2xlYW4odik7XHJcbiAgICB9XHJcblxyXG4gICAgQElucHV0KCkgbWlubGVuZ3RoOiBudW1iZXIgfCBzdHJpbmcgfCBudWxsID0gbnVsbDtcclxuICAgIEBJbnB1dCgpIG1heGxlbmd0aDogbnVtYmVyIHwgc3RyaW5nIHwgbnVsbCA9IG51bGw7XHJcblxyXG4gICAgQElucHV0KCkgbW9kZWw/OiBzdHJpbmcgfCBudWxsO1xyXG4gICAgQE91dHB1dCgnbW9kZWxDaGFuZ2UnKSBvbkNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuXHJcbiAgICBwcml2YXRlIF90eXBlID0gJ3Bhc3N3b3JkJztcclxuICAgIGdldCB0eXBlKCkge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl90eXBlO1xyXG4gICAgfVxyXG5cclxuICAgIHNob3dIaWRlKCkge1xyXG4gICAgICAgIHRoaXMuX3R5cGUgPSB0aGlzLl90eXBlID09PSAncGFzc3dvcmQnID8gJ3RleHQnIDogJ3Bhc3N3b3JkJztcclxuICAgIH1cclxufSIsIjxkaXYgY2xhc3M9XCJpbnB1dC1ncm91cCBoYXMtdmFsaWRhdGlvblwiPlxyXG4gICAgPGlucHV0IHR5cGU9XCJ7e3R5cGV9fVwiIGNsYXNzPVwiZm9ybS1jb250cm9sXCIgbmFtZT1cInt7bmFtZX19XCIgaWQ9XCJ7e25hbWV9fVwiIFthdHRyLmFyaWEtZGVzY3JpYmVkYnldPVwibmFtZSsnLXNob3cnXCJcclxuICAgIFtyZXF1aXJlZF09XCJyZXF1aXJlZFwiIFttaW5sZW5ndGhdPVwibWlubGVuZ3RoXCIgW21heGxlbmd0aF09XCJtYXhsZW5ndGhcIlxyXG4gICAgW25nTW9kZWxdPVwibW9kZWxcIiAobmdNb2RlbENoYW5nZSk9XCJvbkNoYW5nZS5lbWl0KCRldmVudClcIlxyXG4gICAgI3Bhc3N3b3JkPVwibmdNb2RlbFwiXHJcbiAgICA+XHJcbiAgICA8YnV0dG9uIGNsYXNzPVwiYnRuIGJ0bi1vdXRsaW5lLXNlY29uZGFyeVwiIHR5cGU9XCJidXR0b25cIiBpZD1cInt7bmFtZX19LXNob3dcIiAoY2xpY2spPVwic2hvd0hpZGUoKVwiPjxpIGNsYXNzPVwiZmEtc29saWQgZmEtZXllXCI+PC9pPjwvYnV0dG9uPlxyXG4gICAgPGRpdiB6ZWstZmllbGQtdmFsaWRhdG9yIFtmaWVsZF09XCJwYXNzd29yZFwiPjwvZGl2PlxyXG48L2Rpdj4iXX0=
@@ -5,11 +5,11 @@ import { Convert } from '../../utils';
5
5
  import * as i0 from "@angular/core";
6
6
  let uniqueId = 0;
7
7
  /**
8
- * Provider Expression that allows mat-radio-group to register as a ControlValueAccessor. This
8
+ * Provider Expression that allows zek-radio to register as a ControlValueAccessor. This
9
9
  * allows it to support [(ngModel)] and ngControl.
10
10
  * @docs-private
11
11
  */
12
- export const ZEK_RADIO_CONTROL_VALUE_ACCESSOR = {
12
+ const ZEK_RADIO_CONTROL_VALUE_ACCESSOR = {
13
13
  provide: NG_VALUE_ACCESSOR,
14
14
  useExisting: forwardRef(() => RadioComponent),
15
15
  multi: true,
@@ -120,4 +120,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImpor
120
120
  }], checked: [{
121
121
  type: Input
122
122
  }] } });
123
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmFkaW8tYnV0dG9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3play9zcmMvbGliL21vZHVsZXMvcmFkaW8vcmFkaW8tYnV0dG9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3play9zcmMvbGliL21vZHVsZXMvcmFkaW8vcmFkaW8uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFxQixTQUFTLEVBQWMsVUFBVSxFQUFFLEtBQUssRUFBcUIsU0FBUyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3RLLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRW5ELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUNyRSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sYUFBYSxDQUFDOztBQUV0QyxJQUFJLFFBQVEsR0FBRyxDQUFDLENBQUM7QUFFakI7Ozs7R0FJRztBQUNILE1BQU0sQ0FBQyxNQUFNLGdDQUFnQyxHQUFRO0lBQ2pELE9BQU8sRUFBRSxpQkFBaUI7SUFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxjQUFjLENBQUM7SUFDN0MsS0FBSyxFQUFFLElBQUk7Q0FDZCxDQUFDO0FBc0JGLE1BQU0sT0FBTyxjQUFlLFNBQVEsZUFBZTtJQUUvQyxZQUNZLGVBQWtDLEVBQzFDLFNBQW9CLEVBQ3BCLFdBQXVCO1FBQ3ZCLEtBQUssQ0FBQyxTQUFTLEVBQUUsV0FBVyxDQUFDLENBQUM7UUFIdEIsb0JBQWUsR0FBZixlQUFlLENBQW1CO1FBT3RDLGNBQVMsR0FBVyxhQUFhLEVBQUUsUUFBUSxFQUFFLENBQUM7UUFFdEQsMENBQTBDO1FBQ2pDLE9BQUUsR0FBVyxJQUFJLENBQUMsU0FBUyxDQUFDO1FBZTVC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QUF1QixDQUFDLE1BQU0sYUFDcEMsQ0FBQyxnQ0FBZ0MsQ0FBQzt5SkFlcEMsRUFBRTtzQkFBVixLQUFLO2dCQUdlLFNBQVM7c0JBQTdCLEtBQUs7dUJBQUMsWUFBWTtnQkFHTyxjQUFjO3NCQUF2QyxLQUFLO3VCQUFDLGlCQUFpQjtnQkFHRyxlQUFlO3NCQUF6QyxLQUFLO3VCQUFDLGtCQUFrQjtnQkFHTCxhQUFhO3NCQUFoQyxTQUFTO3VCQUFDLE9BQU87Z0JBR1QsTUFBTTtzQkFBZCxLQUFLO2dCQWFGLE9BQU87c0JBRFYsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBmb3J3YXJkUmVmLCBJbnB1dCwgT25Jbml0LCBSZW5kZXJlcjIsIFZpZXdDaGlsZCwgVmlld0VuY2Fwc3VsYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IEJvb2xlYW5JbnB1dCB9IGZyb20gJy4uLy4uL2NvbXBvbmVudHMnO1xyXG5pbXBvcnQgeyBDb3JlVWlDb21wb25lbnQgfSBmcm9tICcuLi8uLi9jb21wb25lbnRzL2NvcmUtdWkuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQ29udmVydCB9IGZyb20gJy4uLy4uL3V0aWxzJztcclxuXHJcbmxldCB1bmlxdWVJZCA9IDA7XHJcblxyXG4vKipcclxuICogUHJvdmlkZXIgRXhwcmVzc2lvbiB0aGF0IGFsbG93cyBtYXQtcmFkaW8tZ3JvdXAgdG8gcmVnaXN0ZXIgYXMgYSBDb250cm9sVmFsdWVBY2Nlc3Nvci4gVGhpc1xyXG4gKiBhbGxvd3MgaXQgdG8gc3VwcG9ydCBbKG5nTW9kZWwpXSBhbmQgbmdDb250cm9sLlxyXG4gKiBAZG9jcy1wcml2YXRlXHJcbiAqL1xyXG5leHBvcnQgY29uc3QgWkVLX1JBRElPX0NPTlRST0xfVkFMVUVfQUNDRVNTT1I6IGFueSA9IHtcclxuICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxyXG4gICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gUmFkaW9Db21wb25lbnQpLFxyXG4gICAgbXVsdGk6IHRydWUsXHJcbn07XHJcblxyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogJ3play1yYWRpbycsXHJcbiAgICB0ZW1wbGF0ZVVybDogJy4vcmFkaW8uY29tcG9uZW50Lmh0bWwnLFxyXG4gICAgaG9zdDoge1xyXG4gICAgICAgICdbYXR0ci5pZF0nOiAnaWQnLFxyXG4gICAgICAgICdbYXR0ci50YWJpbmRleF0nOiAnbnVsbCcsXHJcbiAgICAgICAgJ1thdHRyLmFyaWEtbGFiZWxdJzogJ251bGwnLFxyXG4gICAgICAgICdbYXR0ci5hcmlhLWxhYmVsbGVkYnldJzogJ251bGwnLFxyXG4gICAgICAgICdbYXR0ci5hcmlhLWRlc2NyaWJlZGJ5XSc6ICdudWxsJyxcclxuICAgICAgICAvLyBOb3RlOiB1bmRlciBub3JtYWwgY29uZGl0aW9ucyBmb2N1cyBzaG91bGRuJ3QgbGFuZCBvbiB0aGlzIGVsZW1lbnQsIGhvd2V2ZXIgaXQgbWF5IGJlXHJcbiAgICAgICAgLy8gcHJvZ3JhbW1hdGljYWxseSBzZXQsIGZvciBleGFtcGxlIGluc2lkZSBvZiBhIGZvY3VzIHRyYXAsIGluIHRoaXMgY2FzZSB3ZSB3YW50IHRvIGZvcndhcmRcclxuICAgICAgICAvLyB0aGUgZm9jdXMgdG8gdGhlIG5hdGl2ZSBlbGVtZW50LlxyXG4gICAgICAgICcoZm9jdXMpJzogJ19pbnB1dEVsZW1lbnQubmF0aXZlRWxlbWVudC5mb2N1cygpJyxcclxuXHJcbiAgICB9LFxyXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcclxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxyXG4gICAgcHJvdmlkZXJzOiBbWkVLX1JBRElPX0NPTlRST0xfVkFMVUVfQUNDRVNTT1JdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgUmFkaW9Db21wb25lbnQgZXh0ZW5kcyBDb3JlVWlDb21wb25lbnRcclxuICAgIGltcGxlbWVudHMgT25Jbml0IHtcclxuICAgIGNvbnN0cnVjdG9yKFxyXG4gICAgICAgIHByaXZhdGUgX2NoYW5nZURldGVjdG9yOiBDaGFuZ2VEZXRlY3RvclJlZixcclxuICAgICAgICBfcmVuZGVyZXI6IFJlbmRlcmVyMixcclxuICAgICAgICBfZWxlbWVudFJlZjogRWxlbWVudFJlZikge1xyXG4gICAgICAgIHN1cGVyKF9yZW5kZXJlciwgX2VsZW1lbnRSZWYpO1xyXG4gICAgfVxyXG5cclxuXHJcbiAgICBwcml2YXRlIF91bmlxdWVJZDogc3RyaW5nID0gYHplay1yYWRpby0keysrdW5pcXVlSWR9YDtcclxuXHJcbiAgICAvKiogVGhlIHVuaXF1ZSBJRCBmb3IgdGhlIHJhZGlvIGJ1dHRvbi4gKi9cclxuICAgIEBJbnB1dCgpIGlkOiBzdHJpbmcgPSB0aGlzLl91bmlxdWVJZDtcclxuXHJcbiAgICAvKiogVXNlZCB0byBzZXQgdGhlICdhcmlhLWxhYmVsJyBhdHRyaWJ1dGUgb24gdGhlIHVuZGVybHlpbmcgaW5wdXQgZWxlbWVudC4gKi9cclxuICAgIEBJbnB1dCgnYXJpYS1sYWJlbCcpIGFyaWFMYWJlbD86IHN0cmluZyB8IG51bGw7XHJcblxyXG4gICAgLyoqIFRoZSAnYXJpYS1sYWJlbGxlZGJ5JyBhdHRyaWJ1dGUgdGFrZXMgcHJlY2VkZW5jZSBhcyB0aGUgZWxlbWVudCdzIHRleHQgYWx0ZXJuYXRpdmUuICovXHJcbiAgICBASW5wdXQoJ2FyaWEtbGFiZWxsZWRieScpIGFyaWFMYWJlbGxlZGJ5Pzogc3RyaW5nIHwgbnVsbDtcclxuXHJcbiAgICAvKiogVGhlICdhcmlhLWRlc2NyaWJlZGJ5JyBhdHRyaWJ1dGUgaXMgcmVhZCBhZnRlciB0aGUgZWxlbWVudCdzIGxhYmVsIGFuZCBmaWVsZCB0eXBlLiAqL1xyXG4gICAgQElucHV0KCdhcmlhLWRlc2NyaWJlZGJ5JykgYXJpYURlc2NyaWJlZGJ5Pzogc3RyaW5nIHwgbnVsbDtcclxuXHJcbiAgICAvKiogVGhlIG5hdGl2ZSBgPGlucHV0IHR5cGU9cmFkaW8+YCBlbGVtZW50ICovXHJcbiAgICBAVmlld0NoaWxkKCdpbnB1dCcpIF9pbnB1dEVsZW1lbnQ/OiBFbGVtZW50UmVmPEhUTUxJbnB1dEVsZW1lbnQ+IHwgbnVsbDtcclxuXHJcblxyXG4gICAgQElucHV0KCkgaW5saW5lID0gZmFsc2U7XHJcblxyXG4gICAgZ2V0IGlucHV0SWQoKTogc3RyaW5nIHtcclxuICAgICAgICByZXR1cm4gYCR7dGhpcy5pZCB8fCB0aGlzLl91bmlxdWVJZH0taW5wdXRgO1xyXG4gICAgfVxyXG5cclxuXHJcbiAgICAvKiogVGhlIHZhbHVlIGZyb20gbmdNb2RlbC4gKi9cclxuICAgIHByaXZhdGUgbW9kZWxWYWx1ZTogYW55O1xyXG5cclxuXHJcbiAgICBwcml2YXRlIF9jaGVja2VkOiBib29sZWFuID0gZmFsc2U7XHJcbiAgICBASW5wdXQoKVxyXG4gICAgZ2V0IGNoZWNrZWQoKTogYm9vbGVhbiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX2NoZWNrZWQ7XHJcbiAgICB9XHJcbiAgICBzZXQgY2hlY2tlZCh2YWx1ZTogQm9vbGVhbklucHV0KSB7XHJcbiAgICAgICAgY29uc3QgbmV3Q2hlY2tlZFN0YXRlID0gQ29udmVydC50b0Jvb2xlYW4odmFsdWUpO1xyXG4gICAgICAgIGlmICh0aGlzLl9jaGVja2VkICE9PSBuZXdDaGVja2VkU3RhdGUpIHtcclxuICAgICAgICAgICAgdGhpcy5fY2hlY2tlZCA9IG5ld0NoZWNrZWRTdGF0ZTtcclxuICAgICAgICAgICAgdGhpcy5fbWFya0ZvckNoZWNrKCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuXHJcbiAgICBvdmVycmlkZSB3cml0ZVZhbHVlKHZhbHVlOiBhbnkpOiB2b2lkIHtcclxuICAgICAgICBpZiAodGhpcy5tb2RlbFZhbHVlICE9PSB2YWx1ZSkge1xyXG4gICAgICAgICAgICB0aGlzLm1vZGVsVmFsdWUgPSB2YWx1ZTtcclxuICAgICAgICAgICAgdGhpcy5jaGVja2VkID0gdGhpcy5tb2RlbFZhbHVlID09PSB0aGlzLl92YWx1ZTtcclxuICAgICAgICB9XHJcblxyXG4gICAgfVxyXG4gICAgb3ZlcnJpZGUgb25WYWx1ZUNoYW5nZWQoKSB7XHJcbiAgICAgICAgaWYgKCF0aGlzLmNoZWNrZWQpIHtcclxuICAgICAgICAgICAgLy8gVXBkYXRlIGNoZWNrZWQgd2hlbiB0aGUgdmFsdWUgY2hhbmdlZCB0byBtYXRjaCB0aGUgcmFkaW8gZ3JvdXAncyB2YWx1ZVxyXG4gICAgICAgICAgICB0aGlzLmNoZWNrZWQgPSB0aGlzLm1vZGVsVmFsdWUgPT09IHRoaXMuX3ZhbHVlO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcblxyXG4gICAgb3ZlcnJpZGUgb25SZXF1aXJlZENoYW5nZWQoKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5fbWFya0ZvckNoZWNrKCk7XHJcbiAgICB9XHJcbiAgICBvdmVycmlkZSBvbkRpc2FibGVkQ2hhbmdlZCgpIHtcclxuICAgICAgICB0aGlzLl9tYXJrRm9yQ2hlY2soKTtcclxuICAgIH1cclxuXHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBNYXJrcyB0aGUgcmFkaW8gYnV0dG9uIGFzIG5lZWRpbmcgY2hlY2tpbmcgZm9yIGNoYW5nZSBkZXRlY3Rpb24uXHJcbiAgICAgKiBUaGlzIG1ldGhvZCBpcyBleHBvc2VkIGJlY2F1c2UgdGhlIHBhcmVudCByYWRpbyBncm91cCB3aWxsIGRpcmVjdGx5XHJcbiAgICAgKiB1cGRhdGUgYm91bmQgcHJvcGVydGllcyBvZiB0aGUgcmFkaW8gYnV0dG9uLlxyXG4gICAgICovXHJcbiAgICBwcml2YXRlIF9tYXJrRm9yQ2hlY2soKSB7XHJcbiAgICAgICAgLy8gV2hlbiBncm91cCB2YWx1ZSBjaGFuZ2VzLCB0aGUgYnV0dG9uIHdpbGwgbm90IGJlIG5vdGlmaWVkLiBVc2UgYG1hcmtGb3JDaGVja2AgdG8gZXhwbGljaXRcclxuICAgICAgICAvLyB1cGRhdGUgcmFkaW8gYnV0dG9uJ3Mgc3RhdHVzXHJcbiAgICAgICAgdGhpcy5fY2hhbmdlRGV0ZWN0b3IubWFya0ZvckNoZWNrKCk7XHJcbiAgICB9XHJcblxyXG5cclxuICAgIG92ZXJyaWRlIGluaXQoKTogdm9pZCB7XHJcbiAgICAgICAgLy8gRGV0ZXJtaW5lIGlmIGl0IHNob3VsZCBiZSBjaGVja2VkXHJcbiAgICAgICAgdGhpcy5jaGVja2VkID0gdGhpcy5tb2RlbFZhbHVlID09PSB0aGlzLl92YWx1ZTtcclxuICAgIH1cclxuXHJcblxyXG4gICAgLyoqIFRyaWdnZXJlZCB3aGVuIHRoZSByYWRpbyBidXR0b24gcmVjZWl2ZXMgYW4gaW50ZXJhY3Rpb24gZnJvbSB0aGUgdXNlci4gKi9cclxuICAgIG92ZXJyaWRlIF9vbklucHV0SW50ZXJhY3Rpb24oZXZlbnQ6IEV2ZW50KSB7XHJcbiAgICAgICAgLy8gV2UgYWx3YXlzIGhhdmUgdG8gc3RvcCBwcm9wYWdhdGlvbiBvbiB0aGUgY2hhbmdlIGV2ZW50LlxyXG4gICAgICAgIC8vIE90aGVyd2lzZSB0aGUgY2hhbmdlIGV2ZW50LCBmcm9tIHRoZSBpbnB1dCBlbGVtZW50LCB3aWxsIGJ1YmJsZSB1cCBhbmRcclxuICAgICAgICAvLyBlbWl0IGl0cyBldmVudCBvYmplY3QgdG8gdGhlIGBjaGFuZ2VgIG91dHB1dC5cclxuICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcclxuXHJcbiAgICAgICAgaWYgKCF0aGlzLmNoZWNrZWQgJiYgIXRoaXMuZGlzYWJsZWQpIHtcclxuICAgICAgICAgICAgY29uc3QgbW9kZWxWYWx1ZUNoYW5nZWQgPSB0aGlzLnZhbHVlICE9PSB0aGlzLm1vZGVsVmFsdWU7XHJcbiAgICAgICAgICAgIHRoaXMuY2hlY2tlZCA9IHRydWU7XHJcbiAgICAgICAgICAgIHRoaXMubW9kZWxWYWx1ZSA9IHRoaXMuX3ZhbHVlO1xyXG4gICAgICAgICAgICB0aGlzLl9lbWl0Q2hhbmdlRXZlbnQoKTtcclxuXHJcbiAgICAgICAgICAgIGlmIChtb2RlbFZhbHVlQ2hhbmdlZCkge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5fb25DaGFuZ2UodGhpcy5fdmFsdWUpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59IiwiPGRpdiBjbGFzcz1cImZvcm0tY2hlY2tcIiBbY2xhc3MuZm9ybS1jaGVjay1pbmxpbmVdPVwiaW5saW5lXCI+XHJcbiAgICA8aW5wdXQgI2lucHV0IGNsYXNzPVwiZm9ybS1jaGVjay1pbnB1dFwiIHR5cGU9XCJyYWRpb1wiXHJcbiAgICBbaWRdPVwiaW5wdXRJZFwiXHJcbiAgICBbY2hlY2tlZF09XCJjaGVja2VkXCJcclxuICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXHJcbiAgICBbYXR0ci5uYW1lXT1cIm5hbWVcIlxyXG4gICAgW2F0dHIudmFsdWVdPVwidmFsdWVcIlxyXG4gICAgW3JlcXVpcmVkXT1cInJlcXVpcmVkXCJcclxuICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiYXJpYUxhYmVsXCJcclxuICAgIFthdHRyLmFyaWEtbGFiZWxsZWRieV09XCJhcmlhTGFiZWxsZWRieVwiXHJcbiAgICBbYXR0ci5hcmlhLWRlc2NyaWJlZGJ5XT1cImFyaWFEZXNjcmliZWRieVwiXHJcbiAgICAoY2hhbmdlKT1cIl9vbklucHV0SW50ZXJhY3Rpb24oJGV2ZW50KVwiPlxyXG4gICAgPGxhYmVsIFtmb3JdPVwiaW5wdXRJZFwiPlxyXG4gICAgICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cclxuICAgIDwvbGFiZWw+XHJcbjwvZGl2PiJdfQ==
123
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmFkaW8tYnV0dG9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3play9zcmMvbGliL21vZHVsZXMvcmFkaW8vcmFkaW8tYnV0dG9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3play9zcmMvbGliL21vZHVsZXMvcmFkaW8vcmFkaW8uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFxQixTQUFTLEVBQWMsVUFBVSxFQUFFLEtBQUssRUFBcUIsU0FBUyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3RLLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRW5ELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUNyRSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sYUFBYSxDQUFDOztBQUV0QyxJQUFJLFFBQVEsR0FBRyxDQUFDLENBQUM7QUFFakI7Ozs7R0FJRztBQUNILE1BQU0sZ0NBQWdDLEdBQVE7SUFDMUMsT0FBTyxFQUFFLGlCQUFpQjtJQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLGNBQWMsQ0FBQztJQUM3QyxLQUFLLEVBQUUsSUFBSTtDQUNkLENBQUM7QUFzQkYsTUFBTSxPQUFPLGNBQWUsU0FBUSxlQUFlO0lBRS9DLFlBQ1ksZUFBa0MsRUFDMUMsU0FBb0IsRUFDcEIsV0FBdUI7UUFDdkIsS0FBSyxDQUFDLFNBQVMsRUFBRSxXQUFXLENBQUMsQ0FBQztRQUh0QixvQkFBZSxHQUFmLGVBQWUsQ0FBbUI7UUFPdEMsY0FBUyxHQUFXLGFBQWEsRUFBRSxRQUFRLEVBQUUsQ0FBQztRQUV0RCwwQ0FBMEM7UUFDakMsT0FBRSxHQUFXLElBQUksQ0FBQyxTQUFTLENBQUM7UUFlNUIsV0FBTSxHQUFH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TUFBTSxhQUNwQyxDQUFDLGdDQUFnQyxDQUFDO3lKQWVwQyxFQUFFO3NCQUFWLEtBQUs7Z0JBR2UsU0FBUztzQkFBN0IsS0FBSzt1QkFBQyxZQUFZO2dCQUdPLGNBQWM7c0JBQXZDLEtBQUs7dUJBQUMsaUJBQWlCO2dCQUdHLGVBQWU7c0JBQXpDLEtBQUs7dUJBQUMsa0JBQWtCO2dCQUdMLGFBQWE7c0JBQWhDLFNBQVM7dUJBQUMsT0FBTztnQkFHVCxNQUFNO3NCQUFkLEtBQUs7Z0JBYUYsT0FBTztzQkFEVixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQsIEVsZW1lbnRSZWYsIGZvcndhcmRSZWYsIElucHV0LCBPbkluaXQsIFJlbmRlcmVyMiwgVmlld0NoaWxkLCBWaWV3RW5jYXBzdWxhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgQm9vbGVhbklucHV0IH0gZnJvbSAnLi4vLi4vY29tcG9uZW50cyc7XHJcbmltcG9ydCB7IENvcmVVaUNvbXBvbmVudCB9IGZyb20gJy4uLy4uL2NvbXBvbmVudHMvY29yZS11aS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBDb252ZXJ0IH0gZnJvbSAnLi4vLi4vdXRpbHMnO1xyXG5cclxubGV0IHVuaXF1ZUlkID0gMDtcclxuXHJcbi8qKlxyXG4gKiBQcm92aWRlciBFeHByZXNzaW9uIHRoYXQgYWxsb3dzIHplay1yYWRpbyB0byByZWdpc3RlciBhcyBhIENvbnRyb2xWYWx1ZUFjY2Vzc29yLiBUaGlzXHJcbiAqIGFsbG93cyBpdCB0byBzdXBwb3J0IFsobmdNb2RlbCldIGFuZCBuZ0NvbnRyb2wuXHJcbiAqIEBkb2NzLXByaXZhdGVcclxuICovXHJcbmNvbnN0IFpFS19SQURJT19DT05UUk9MX1ZBTFVFX0FDQ0VTU09SOiBhbnkgPSB7XHJcbiAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcclxuICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IFJhZGlvQ29tcG9uZW50KSxcclxuICAgIG11bHRpOiB0cnVlLFxyXG59O1xyXG5cclxuXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICd6ZWstcmFkaW8nLFxyXG4gICAgdGVtcGxhdGVVcmw6ICcuL3JhZGlvLmNvbXBvbmVudC5odG1sJyxcclxuICAgIGhvc3Q6IHtcclxuICAgICAgICAnW2F0dHIuaWRdJzogJ2lkJyxcclxuICAgICAgICAnW2F0dHIudGFiaW5kZXhdJzogJ251bGwnLFxyXG4gICAgICAgICdbYXR0ci5hcmlhLWxhYmVsXSc6ICdudWxsJyxcclxuICAgICAgICAnW2F0dHIuYXJpYS1sYWJlbGxlZGJ5XSc6ICdudWxsJyxcclxuICAgICAgICAnW2F0dHIuYXJpYS1kZXNjcmliZWRieV0nOiAnbnVsbCcsXHJcbiAgICAgICAgLy8gTm90ZTogdW5kZXIgbm9ybWFsIGNvbmRpdGlvbnMgZm9jdXMgc2hvdWxkbid0IGxhbmQgb24gdGhpcyBlbGVtZW50LCBob3dldmVyIGl0IG1heSBiZVxyXG4gICAgICAgIC8vIHByb2dyYW1tYXRpY2FsbHkgc2V0LCBmb3IgZXhhbXBsZSBpbnNpZGUgb2YgYSBmb2N1cyB0cmFwLCBpbiB0aGlzIGNhc2Ugd2Ugd2FudCB0byBmb3J3YXJkXHJcbiAgICAgICAgLy8gdGhlIGZvY3VzIHRvIHRoZSBuYXRpdmUgZWxlbWVudC5cclxuICAgICAgICAnKGZvY3VzKSc6ICdfaW5wdXRFbGVtZW50Lm5hdGl2ZUVsZW1lbnQuZm9jdXMoKScsXHJcblxyXG4gICAgfSxcclxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXHJcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxuICAgIHByb3ZpZGVyczogW1pFS19SQURJT19DT05UUk9MX1ZBTFVFX0FDQ0VTU09SXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIFJhZGlvQ29tcG9uZW50IGV4dGVuZHMgQ29yZVVpQ29tcG9uZW50XHJcbiAgICBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgICBjb25zdHJ1Y3RvcihcclxuICAgICAgICBwcml2YXRlIF9jaGFuZ2VEZXRlY3RvcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgICAgICAgX3JlbmRlcmVyOiBSZW5kZXJlcjIsXHJcbiAgICAgICAgX2VsZW1lbnRSZWY6IEVsZW1lbnRSZWYpIHtcclxuICAgICAgICBzdXBlcihfcmVuZGVyZXIsIF9lbGVtZW50UmVmKTtcclxuICAgIH1cclxuXHJcblxyXG4gICAgcHJpdmF0ZSBfdW5pcXVlSWQ6IHN0cmluZyA9IGB6ZWstcmFkaW8tJHsrK3VuaXF1ZUlkfWA7XHJcblxyXG4gICAgLyoqIFRoZSB1bmlxdWUgSUQgZm9yIHRoZSByYWRpbyBidXR0b24uICovXHJcbiAgICBASW5wdXQoKSBpZDogc3RyaW5nID0gdGhpcy5fdW5pcXVlSWQ7XHJcblxyXG4gICAgLyoqIFVzZWQgdG8gc2V0IHRoZSAnYXJpYS1sYWJlbCcgYXR0cmlidXRlIG9uIHRoZSB1bmRlcmx5aW5nIGlucHV0IGVsZW1lbnQuICovXHJcbiAgICBASW5wdXQoJ2FyaWEtbGFiZWwnKSBhcmlhTGFiZWw/OiBzdHJpbmcgfCBudWxsO1xyXG5cclxuICAgIC8qKiBUaGUgJ2FyaWEtbGFiZWxsZWRieScgYXR0cmlidXRlIHRha2VzIHByZWNlZGVuY2UgYXMgdGhlIGVsZW1lbnQncyB0ZXh0IGFsdGVybmF0aXZlLiAqL1xyXG4gICAgQElucHV0KCdhcmlhLWxhYmVsbGVkYnknKSBhcmlhTGFiZWxsZWRieT86IHN0cmluZyB8IG51bGw7XHJcblxyXG4gICAgLyoqIFRoZSAnYXJpYS1kZXNjcmliZWRieScgYXR0cmlidXRlIGlzIHJlYWQgYWZ0ZXIgdGhlIGVsZW1lbnQncyBsYWJlbCBhbmQgZmllbGQgdHlwZS4gKi9cclxuICAgIEBJbnB1dCgnYXJpYS1kZXNjcmliZWRieScpIGFyaWFEZXNjcmliZWRieT86IHN0cmluZyB8IG51bGw7XHJcblxyXG4gICAgLyoqIFRoZSBuYXRpdmUgYDxpbnB1dCB0eXBlPXJhZGlvPmAgZWxlbWVudCAqL1xyXG4gICAgQFZpZXdDaGlsZCgnaW5wdXQnKSBfaW5wdXRFbGVtZW50PzogRWxlbWVudFJlZjxIVE1MSW5wdXRFbGVtZW50PiB8IG51bGw7XHJcblxyXG5cclxuICAgIEBJbnB1dCgpIGlubGluZSA9IGZhbHNlO1xyXG5cclxuICAgIGdldCBpbnB1dElkKCk6IHN0cmluZyB7XHJcbiAgICAgICAgcmV0dXJuIGAke3RoaXMuaWQgfHwgdGhpcy5fdW5pcXVlSWR9LWlucHV0YDtcclxuICAgIH1cclxuXHJcblxyXG4gICAgLyoqIFRoZSB2YWx1ZSBmcm9tIG5nTW9kZWwuICovXHJcbiAgICBwcml2YXRlIG1vZGVsVmFsdWU6IGFueTtcclxuXHJcblxyXG4gICAgcHJpdmF0ZSBfY2hlY2tlZDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gICAgQElucHV0KClcclxuICAgIGdldCBjaGVja2VkKCk6IGJvb2xlYW4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl9jaGVja2VkO1xyXG4gICAgfVxyXG4gICAgc2V0IGNoZWNrZWQodmFsdWU6IEJvb2xlYW5JbnB1dCkge1xyXG4gICAgICAgIGNvbnN0IG5ld0NoZWNrZWRTdGF0ZSA9IENvbnZlcnQudG9Cb29sZWFuKHZhbHVlKTtcclxuICAgICAgICBpZiAodGhpcy5fY2hlY2tlZCAhPT0gbmV3Q2hlY2tlZFN0YXRlKSB7XHJcbiAgICAgICAgICAgIHRoaXMuX2NoZWNrZWQgPSBuZXdDaGVja2VkU3RhdGU7XHJcbiAgICAgICAgICAgIHRoaXMuX21hcmtGb3JDaGVjaygpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcblxyXG4gICAgb3ZlcnJpZGUgd3JpdGVWYWx1ZSh2YWx1ZTogYW55KTogdm9pZCB7XHJcbiAgICAgICAgaWYgKHRoaXMubW9kZWxWYWx1ZSAhPT0gdmFsdWUpIHtcclxuICAgICAgICAgICAgdGhpcy5tb2RlbFZhbHVlID0gdmFsdWU7XHJcbiAgICAgICAgICAgIHRoaXMuY2hlY2tlZCA9IHRoaXMubW9kZWxWYWx1ZSA9PT0gdGhpcy5fdmFsdWU7XHJcbiAgICAgICAgfVxyXG5cclxuICAgIH1cclxuICAgIG92ZXJyaWRlIG9uVmFsdWVDaGFuZ2VkKCkge1xyXG4gICAgICAgIGlmICghdGhpcy5jaGVja2VkKSB7XHJcbiAgICAgICAgICAgIC8vIFVwZGF0ZSBjaGVja2VkIHdoZW4gdGhlIHZhbHVlIGNoYW5nZWQgdG8gbWF0Y2ggdGhlIHJhZGlvIGdyb3VwJ3MgdmFsdWVcclxuICAgICAgICAgICAgdGhpcy5jaGVja2VkID0gdGhpcy5tb2RlbFZhbHVlID09PSB0aGlzLl92YWx1ZTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG5cclxuICAgIG92ZXJyaWRlIG9uUmVxdWlyZWRDaGFuZ2VkKCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuX21hcmtGb3JDaGVjaygpO1xyXG4gICAgfVxyXG4gICAgb3ZlcnJpZGUgb25EaXNhYmxlZENoYW5nZWQoKSB7XHJcbiAgICAgICAgdGhpcy5fbWFya0ZvckNoZWNrKCk7XHJcbiAgICB9XHJcblxyXG5cclxuICAgIC8qKlxyXG4gICAgICogTWFya3MgdGhlIHJhZGlvIGJ1dHRvbiBhcyBuZWVkaW5nIGNoZWNraW5nIGZvciBjaGFuZ2UgZGV0ZWN0aW9uLlxyXG4gICAgICogVGhpcyBtZXRob2QgaXMgZXhwb3NlZCBiZWNhdXNlIHRoZSBwYXJlbnQgcmFkaW8gZ3JvdXAgd2lsbCBkaXJlY3RseVxyXG4gICAgICogdXBkYXRlIGJvdW5kIHByb3BlcnRpZXMgb2YgdGhlIHJhZGlvIGJ1dHRvbi5cclxuICAgICAqL1xyXG4gICAgcHJpdmF0ZSBfbWFya0ZvckNoZWNrKCkge1xyXG4gICAgICAgIC8vIFdoZW4gZ3JvdXAgdmFsdWUgY2hhbmdlcywgdGhlIGJ1dHRvbiB3aWxsIG5vdCBiZSBub3RpZmllZC4gVXNlIGBtYXJrRm9yQ2hlY2tgIHRvIGV4cGxpY2l0XHJcbiAgICAgICAgLy8gdXBkYXRlIHJhZGlvIGJ1dHRvbidzIHN0YXR1c1xyXG4gICAgICAgIHRoaXMuX2NoYW5nZURldGVjdG9yLm1hcmtGb3JDaGVjaygpO1xyXG4gICAgfVxyXG5cclxuXHJcbiAgICBvdmVycmlkZSBpbml0KCk6IHZvaWQge1xyXG4gICAgICAgIC8vIERldGVybWluZSBpZiBpdCBzaG91bGQgYmUgY2hlY2tlZFxyXG4gICAgICAgIHRoaXMuY2hlY2tlZCA9IHRoaXMubW9kZWxWYWx1ZSA9PT0gdGhpcy5fdmFsdWU7XHJcbiAgICB9XHJcblxyXG5cclxuICAgIC8qKiBUcmlnZ2VyZWQgd2hlbiB0aGUgcmFkaW8gYnV0dG9uIHJlY2VpdmVzIGFuIGludGVyYWN0aW9uIGZyb20gdGhlIHVzZXIuICovXHJcbiAgICBvdmVycmlkZSBfb25JbnB1dEludGVyYWN0aW9uKGV2ZW50OiBFdmVudCkge1xyXG4gICAgICAgIC8vIFdlIGFsd2F5cyBoYXZlIHRvIHN0b3AgcHJvcGFnYXRpb24gb24gdGhlIGNoYW5nZSBldmVudC5cclxuICAgICAgICAvLyBPdGhlcndpc2UgdGhlIGNoYW5nZSBldmVudCwgZnJvbSB0aGUgaW5wdXQgZWxlbWVudCwgd2lsbCBidWJibGUgdXAgYW5kXHJcbiAgICAgICAgLy8gZW1pdCBpdHMgZXZlbnQgb2JqZWN0IHRvIHRoZSBgY2hhbmdlYCBvdXRwdXQuXHJcbiAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XHJcblxyXG4gICAgICAgIGlmICghdGhpcy5jaGVja2VkICYmICF0aGlzLmRpc2FibGVkKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IG1vZGVsVmFsdWVDaGFuZ2VkID0gdGhpcy52YWx1ZSAhPT0gdGhpcy5tb2RlbFZhbHVlO1xyXG4gICAgICAgICAgICB0aGlzLmNoZWNrZWQgPSB0cnVlO1xyXG4gICAgICAgICAgICB0aGlzLm1vZGVsVmFsdWUgPSB0aGlzLl92YWx1ZTtcclxuICAgICAgICAgICAgdGhpcy5fZW1pdENoYW5nZUV2ZW50KCk7XHJcblxyXG4gICAgICAgICAgICBpZiAobW9kZWxWYWx1ZUNoYW5nZWQpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMuX29uQ2hhbmdlKHRoaXMuX3ZhbHVlKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufSIsIjxkaXYgY2xhc3M9XCJmb3JtLWNoZWNrXCIgW2NsYXNzLmZvcm0tY2hlY2staW5saW5lXT1cImlubGluZVwiPlxyXG4gICAgPGlucHV0ICNpbnB1dCBjbGFzcz1cImZvcm0tY2hlY2staW5wdXRcIiB0eXBlPVwicmFkaW9cIlxyXG4gICAgW2lkXT1cImlucHV0SWRcIlxyXG4gICAgW2NoZWNrZWRdPVwiY2hlY2tlZFwiXHJcbiAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxyXG4gICAgW2F0dHIubmFtZV09XCJuYW1lXCJcclxuICAgIFthdHRyLnZhbHVlXT1cInZhbHVlXCJcclxuICAgIFtyZXF1aXJlZF09XCJyZXF1aXJlZFwiXHJcbiAgICBbYXR0ci5hcmlhLWxhYmVsXT1cImFyaWFMYWJlbFwiXHJcbiAgICBbYXR0ci5hcmlhLWxhYmVsbGVkYnldPVwiYXJpYUxhYmVsbGVkYnlcIlxyXG4gICAgW2F0dHIuYXJpYS1kZXNjcmliZWRieV09XCJhcmlhRGVzY3JpYmVkYnlcIlxyXG4gICAgKGNoYW5nZSk9XCJfb25JbnB1dEludGVyYWN0aW9uKCRldmVudClcIj5cclxuICAgIDxsYWJlbCBbZm9yXT1cImlucHV0SWRcIj5cclxuICAgICAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XHJcbiAgICA8L2xhYmVsPlxyXG48L2Rpdj4iXX0=
@@ -1,13 +1,13 @@
1
1
  import { Directive, Input } from '@angular/core';
2
+ import { Convert } from '../../utils';
2
3
  import * as i0 from "@angular/core";
3
4
  export class ReadOnlyDirective {
4
5
  constructor() {
5
- this._isReadonly = false;
6
+ this._readonly = false;
6
7
  }
7
- set readonly(v) {
8
- this._isReadonly = v == true || v == '';
8
+ readonly(v) {
9
+ this._readonly = Convert.toBoolean(v);
9
10
  }
10
- ;
11
11
  }
12
12
  ReadOnlyDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: ReadOnlyDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
13
13
  ReadOnlyDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.0", type: ReadOnlyDirective, selector: "[readonly],[readOnly]", inputs: { readonly: "readonly" }, host: { properties: { "attr.readonly": "_isReadonly ? \"\" : null" } }, ngImport: i0 });
@@ -22,4 +22,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImpor
22
22
  }], propDecorators: { readonly: [{
23
23
  type: Input
24
24
  }] } });
25
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVhZG9ubHkuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvemVrL3NyYy9saWIvbW9kdWxlcy9yZWFkb25seS9yZWFkb25seS5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBUWpELE1BQU0sT0FBTyxpQkFBaUI7SUFOOUI7UUFPSSxnQkFBVyxHQUFHLEtBQUssQ0FBQztLQUt2QjtJQUhHLElBQWEsUUFBUSxDQUFDLENBQW1CO1FBQ3JDLElBQUksQ0FBQyxXQUFXLEdBQUcsQ0FBQyxJQUFJLElBQUksSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQzVDLENBQUM7SUFBQSxDQUFDOzs4R0FMTyxpQkFBaUI7a0dBQWpCLGlCQUFpQjsyRkFBakIsaUJBQWlCO2tCQU43QixTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSx1QkFBdUI7b0JBQ2pDLElBQUksRUFBRTt3QkFDRixpQkFBaUIsRUFBRSx5QkFBeUI7cUJBQy9DO2lCQUNKOzhCQUlnQixRQUFRO3NCQUFwQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuQERpcmVjdGl2ZSh7XHJcbiAgICBzZWxlY3RvcjogJ1tyZWFkb25seV0sW3JlYWRPbmx5XScsXHJcbiAgICBob3N0OiB7XHJcbiAgICAgICAgJ1thdHRyLnJlYWRvbmx5XSc6ICdfaXNSZWFkb25seSA/IFwiXCIgOiBudWxsJ1xyXG4gICAgfVxyXG59KVxyXG5leHBvcnQgY2xhc3MgUmVhZE9ubHlEaXJlY3RpdmUge1xyXG4gICAgX2lzUmVhZG9ubHkgPSBmYWxzZTtcclxuXHJcbiAgICBASW5wdXQoKSBzZXQgcmVhZG9ubHkodjogYm9vbGVhbiB8IHN0cmluZykge1xyXG4gICAgICAgIHRoaXMuX2lzUmVhZG9ubHkgPSB2ID09IHRydWUgfHwgdiA9PSAnJztcclxuICAgIH07XHJcbn0iXX0=
25
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVhZG9ubHkuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvemVrL3NyYy9saWIvbW9kdWxlcy9yZWFkb25seS9yZWFkb25seS5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFakQsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLGFBQWEsQ0FBQzs7QUFRdEMsTUFBTSxPQUFPLGlCQUFpQjtJQU45QjtRQU9JLGNBQVMsR0FBRyxLQUFLLENBQUM7S0FJckI7SUFIWSxRQUFRLENBQUMsQ0FBZTtRQUM3QixJQUFJLENBQUMsU0FBUyxHQUFHLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDMUMsQ0FBQzs7OEdBSlEsaUJBQWlCO2tHQUFqQixpQkFBaUI7MkZBQWpCLGlCQUFpQjtrQkFON0IsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsdUJBQXVCO29CQUNqQyxJQUFJLEVBQUU7d0JBQ0YsaUJBQWlCLEVBQUUseUJBQXlCO3FCQUMvQztpQkFDSjs4QkFHWSxRQUFRO3NCQUFoQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBCb29sZWFuSW5wdXQgfSBmcm9tICcuLi8uLi9jb21wb25lbnRzJztcclxuaW1wb3J0IHsgQ29udmVydCB9IGZyb20gJy4uLy4uL3V0aWxzJztcclxuXHJcbkBEaXJlY3RpdmUoe1xyXG4gICAgc2VsZWN0b3I6ICdbcmVhZG9ubHldLFtyZWFkT25seV0nLFxyXG4gICAgaG9zdDoge1xyXG4gICAgICAgICdbYXR0ci5yZWFkb25seV0nOiAnX2lzUmVhZG9ubHkgPyBcIlwiIDogbnVsbCdcclxuICAgIH1cclxufSlcclxuZXhwb3J0IGNsYXNzIFJlYWRPbmx5RGlyZWN0aXZlIHtcclxuICAgIF9yZWFkb25seSA9IGZhbHNlO1xyXG4gICAgQElucHV0KCkgcmVhZG9ubHkodjogQm9vbGVhbklucHV0KSB7XHJcbiAgICAgICAgdGhpcy5fcmVhZG9ubHkgPSBDb252ZXJ0LnRvQm9vbGVhbih2KTtcclxuICAgIH1cclxufSJdfQ==
@@ -0,0 +1,3 @@
1
+ export * from './module';
2
+ export * from './select';
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy96ZWsvc3JjL2xpYi9tb2R1bGVzL3NlbGVjdC9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLFVBQVUsQ0FBQztBQUN6QixjQUFjLFVBQVUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vbW9kdWxlJztcclxuZXhwb3J0ICogZnJvbSAnLi9zZWxlY3QnOyJdfQ==
@@ -0,0 +1,4 @@
1
+ import { KeyPair } from "../../models";
2
+ export class KeyPairOption extends KeyPair {
3
+ }
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy96ZWsvc3JjL2xpYi9tb2R1bGVzL3NlbGVjdC9tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBRXZDLE1BQU0sT0FBTyxhQUFjLFNBQVEsT0FBTztDQUd6QyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEtleVBhaXIgfSBmcm9tIFwiLi4vLi4vbW9kZWxzXCI7XHJcblxyXG5leHBvcnQgY2xhc3MgS2V5UGFpck9wdGlvbiBleHRlbmRzIEtleVBhaXIge1xyXG4gICAgY2hlY2tlZD86IGJvb2xlYW4gfCBudWxsO1xyXG4gICAgaXRlbTogYW55O1xyXG59Il19
@@ -0,0 +1,28 @@
1
+ import { NgModule } from '@angular/core';
2
+ import { CommonModule } from '@angular/common';
3
+ import { FormsModule } from '@angular/forms';
4
+ import { ZekSelectMultiple } from './select';
5
+ import * as i0 from "@angular/core";
6
+ export class ZekSelectModule {
7
+ }
8
+ ZekSelectModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: ZekSelectModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
9
+ ZekSelectModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.2.0", ngImport: i0, type: ZekSelectModule, declarations: [ZekSelectMultiple], imports: [CommonModule,
10
+ FormsModule], exports: [ZekSelectMultiple] });
11
+ ZekSelectModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: ZekSelectModule, imports: [CommonModule,
12
+ FormsModule] });
13
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: ZekSelectModule, decorators: [{
14
+ type: NgModule,
15
+ args: [{
16
+ imports: [
17
+ CommonModule,
18
+ FormsModule
19
+ ],
20
+ declarations: [
21
+ ZekSelectMultiple
22
+ ],
23
+ exports: [
24
+ ZekSelectMultiple
25
+ ],
26
+ }]
27
+ }] });
28
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvemVrL3NyYy9saWIvbW9kdWxlcy9zZWxlY3QvbW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxVQUFVLENBQUM7O0FBZTdDLE1BQU0sT0FBTyxlQUFlOzs0R0FBZixlQUFlOzZHQUFmLGVBQWUsaUJBUHhCLGlCQUFpQixhQUpqQixZQUFZO1FBQ1osV0FBVyxhQU1YLGlCQUFpQjs2R0FJUixlQUFlLFlBWHhCLFlBQVk7UUFDWixXQUFXOzJGQVVGLGVBQWU7a0JBYjNCLFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFFO3dCQUNQLFlBQVk7d0JBQ1osV0FBVztxQkFDWjtvQkFDRCxZQUFZLEVBQUU7d0JBQ1osaUJBQWlCO3FCQUNsQjtvQkFDRCxPQUFPLEVBQUU7d0JBQ1AsaUJBQWlCO3FCQUNsQjtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbIiAgXHJcbmltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBaZWtTZWxlY3RNdWx0aXBsZSB9IGZyb20gJy4vc2VsZWN0JztcclxuXHJcbkBOZ01vZHVsZSh7XHJcbiAgaW1wb3J0czogW1xyXG4gICAgQ29tbW9uTW9kdWxlLFxyXG4gICAgRm9ybXNNb2R1bGVcclxuICBdLFxyXG4gIGRlY2xhcmF0aW9uczogW1xyXG4gICAgWmVrU2VsZWN0TXVsdGlwbGVcclxuICBdLFxyXG4gIGV4cG9ydHM6IFtcclxuICAgIFpla1NlbGVjdE11bHRpcGxlXHJcbiAgXSxcclxufSlcclxuXHJcbmV4cG9ydCBjbGFzcyBaZWtTZWxlY3RNb2R1bGUge1xyXG59Il19
@@ -0,0 +1,198 @@
1
+ import { Component, forwardRef, Input } from '@angular/core';
2
+ import { NG_VALUE_ACCESSOR } from '@angular/forms';
3
+ import { CoreUiComponent } from '../../components';
4
+ import { ArrayHelper, Convert } from '../../utils';
5
+ import * as i0 from "@angular/core";
6
+ import * as i1 from "@angular/common";
7
+ let uniqueId = 0;
8
+ const ZEK_SELECT_MULTIPLE_CONTROL_VALUE_ACCESSOR = {
9
+ provide: NG_VALUE_ACCESSOR,
10
+ useExisting: forwardRef(() => ZekSelectMultiple),
11
+ multi: true,
12
+ };
13
+ export class ZekSelectMultiple extends CoreUiComponent {
14
+ constructor(renderer, elementRef) {
15
+ super(renderer, elementRef);
16
+ this._uniqueId = `zek-select-${++uniqueId}`;
17
+ /** The unique ID for the radio button. */
18
+ this.id = this._uniqueId;
19
+ this.css = 'primary';
20
+ this._placeholder = '';
21
+ this._label = '';
22
+ this._multiple = true;
23
+ this._selected = [];
24
+ this._data = [];
25
+ this.normalized = [];
26
+ this._text = '';
27
+ }
28
+ get placeholder() {
29
+ return this._placeholder;
30
+ }
31
+ set placeholder(value) {
32
+ if (value)
33
+ this._placeholder = value;
34
+ else
35
+ this._placeholder = '';
36
+ }
37
+ get label() {
38
+ return this._label;
39
+ }
40
+ set label(value) {
41
+ if (value)
42
+ this._label = value;
43
+ else
44
+ this._label = '';
45
+ }
46
+ get multiple() {
47
+ return this._multiple;
48
+ }
49
+ set multiple(value) {
50
+ this._multiple = Convert.toBoolean(value);
51
+ }
52
+ get data() {
53
+ return this._data;
54
+ }
55
+ set data(value) {
56
+ if (this._data !== value) {
57
+ this._data = value;
58
+ this.onDataChanged();
59
+ }
60
+ }
61
+ onDataChanged() {
62
+ this._setSelectionByValue(this._value);
63
+ if (this.isInitialized) {
64
+ this._normalizeData();
65
+ }
66
+ }
67
+ onValueChanged() {
68
+ if (Array.isArray(this._data)) {
69
+ this._setSelectionByValue(this._value);
70
+ }
71
+ }
72
+ init() {
73
+ this._normalizeData();
74
+ }
75
+ _normalizeData() {
76
+ this.normalized = [];
77
+ if (Array.isArray(this._data)) {
78
+ if (this.valueField && this.textField) {
79
+ for (const item of this._data) {
80
+ this.normalized.push({ key: item[this.valueField], value: item[this.textField], checked: this._selected.includes(item), item: item });
81
+ }
82
+ }
83
+ else {
84
+ for (const item of this._data) {
85
+ this.normalized.push({ key: item, value: item, checked: this._selected.includes(item), item });
86
+ }
87
+ }
88
+ }
89
+ }
90
+ /**
91
+ * Sets the selected option based on a value. If no option can be
92
+ * found with the designated value, the select trigger is cleared.
93
+ */
94
+ _setSelectionByValue(value) {
95
+ this._selected = [];
96
+ if (this.multiple && value) {
97
+ if (!Array.isArray(value)) {
98
+ throw new Error("value is not array");
99
+ }
100
+ if (Array.isArray(this._data)) {
101
+ let notUnique = [];
102
+ if (this.valueField) {
103
+ for (const currentValue of value) {
104
+ let items = ArrayHelper.filterByKey(currentValue, this.valueField, this._data);
105
+ notUnique = notUnique.concat(items);
106
+ }
107
+ }
108
+ else {
109
+ for (const currentValue of value) {
110
+ let items = this._data.filter(x => x === currentValue);
111
+ notUnique = notUnique.concat(items);
112
+ }
113
+ }
114
+ this._selected = ArrayHelper.distinct(notUnique);
115
+ }
116
+ }
117
+ else {
118
+ if (Array.isArray(this._data)) {
119
+ if (this.valueField) {
120
+ this._selected = ArrayHelper.filterByKey(value, this.valueField, this._data);
121
+ }
122
+ else {
123
+ this._selected = this._data.filter(x => x === value);
124
+ }
125
+ }
126
+ }
127
+ for (const norm of this.normalized) {
128
+ norm.checked = this._selected.includes(norm.item);
129
+ }
130
+ this._initText();
131
+ }
132
+ toggleChecked(v) {
133
+ if (v && !this.disabled && !this.readonly) {
134
+ if (!v.checked) {
135
+ v.checked = true;
136
+ if (this.multiple) {
137
+ let tmp = [];
138
+ for (const item of this.normalized) {
139
+ if (item.checked) {
140
+ tmp.push(item.key);
141
+ }
142
+ }
143
+ this.setNgModel(tmp);
144
+ // this.value = tmp;
145
+ }
146
+ else {
147
+ //this.value = v.key;
148
+ this.setNgModel(v.key);
149
+ }
150
+ }
151
+ else {
152
+ v.checked = false;
153
+ if (this.multiple) {
154
+ if (Array.isArray(this._value)) {
155
+ this.setNgModel(this._value.filter(x => x !== v.key));
156
+ }
157
+ }
158
+ else {
159
+ this.setNgModel(null);
160
+ }
161
+ }
162
+ }
163
+ }
164
+ _initText() {
165
+ let field = this.checkedTextField || this.textField || '';
166
+ if (field) {
167
+ this._text = this._selected.filter(x => x !== undefined && x !== null).map(x => x[field]).join(', ');
168
+ }
169
+ else {
170
+ this._text = this._selected.join(', ');
171
+ }
172
+ }
173
+ }
174
+ ZekSelectMultiple.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: ZekSelectMultiple, deps: [{ token: i0.Renderer2 }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
175
+ ZekSelectMultiple.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.0", type: ZekSelectMultiple, selector: "zek-select,[zek-select]", inputs: { id: "id", valueField: "valueField", textField: "textField", checkedTextField: "checkedTextField", css: "css", placeholder: "placeholder", label: "label", multiple: "multiple", data: "data" }, providers: [ZEK_SELECT_MULTIPLE_CONTROL_VALUE_ACCESSOR], usesInheritance: true, ngImport: i0, template: "<div class=\"dropdown\" id=\"dropdown-{{id}}\">\r\n <button class=\"btn btn-{{css}} dropdown-toggle\" type=\"button\" data-bs-toggle=\"dropdown\" aria-expanded=\"false\">\r\n {{label}} <ng-container *ngIf=\"!_text\">{{placeholder}}</ng-container> {{_text}}\r\n </button>\r\n <ul class=\"dropdown-menu\">\r\n <ng-container *ngIf=\"normalized\">\r\n <li><a class=\"dropdown-item\" href=\"javascript:void(0)\" *ngFor=\"let item of normalized\" (click)=\"toggleChecked(item)\">\r\n <span *ngIf=\"item.checked\"><i class=\"fa-regular fa-square-check\"></i></span>\r\n <span *ngIf=\"!item.checked\"><i class=\"fa-regular fa-square\"></i></span>\r\n {{item.value}}\r\n </a></li>\r\n </ng-container>\r\n </ul>\r\n</div>", dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
176
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: ZekSelectMultiple, decorators: [{
177
+ type: Component,
178
+ args: [{ selector: 'zek-select,[zek-select]', providers: [ZEK_SELECT_MULTIPLE_CONTROL_VALUE_ACCESSOR], template: "<div class=\"dropdown\" id=\"dropdown-{{id}}\">\r\n <button class=\"btn btn-{{css}} dropdown-toggle\" type=\"button\" data-bs-toggle=\"dropdown\" aria-expanded=\"false\">\r\n {{label}} <ng-container *ngIf=\"!_text\">{{placeholder}}</ng-container> {{_text}}\r\n </button>\r\n <ul class=\"dropdown-menu\">\r\n <ng-container *ngIf=\"normalized\">\r\n <li><a class=\"dropdown-item\" href=\"javascript:void(0)\" *ngFor=\"let item of normalized\" (click)=\"toggleChecked(item)\">\r\n <span *ngIf=\"item.checked\"><i class=\"fa-regular fa-square-check\"></i></span>\r\n <span *ngIf=\"!item.checked\"><i class=\"fa-regular fa-square\"></i></span>\r\n {{item.value}}\r\n </a></li>\r\n </ng-container>\r\n </ul>\r\n</div>" }]
179
+ }], ctorParameters: function () { return [{ type: i0.Renderer2 }, { type: i0.ElementRef }]; }, propDecorators: { id: [{
180
+ type: Input
181
+ }], valueField: [{
182
+ type: Input
183
+ }], textField: [{
184
+ type: Input
185
+ }], checkedTextField: [{
186
+ type: Input
187
+ }], css: [{
188
+ type: Input
189
+ }], placeholder: [{
190
+ type: Input
191
+ }], label: [{
192
+ type: Input
193
+ }], multiple: [{
194
+ type: Input
195
+ }], data: [{
196
+ type: Input
197
+ }] } });
198
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvemVrL3NyYy9saWIvbW9kdWxlcy9zZWxlY3Qvc2VsZWN0LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvemVrL3NyYy9saWIvbW9kdWxlcy9zZWxlY3Qvc2VsZWN0Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBYyxVQUFVLEVBQUUsS0FBSyxFQUFhLE1BQU0sZUFBZSxDQUFDO0FBQ3BGLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ25ELE9BQU8sRUFBZ0IsZUFBZSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDakUsT0FBTyxFQUFFLFdBQVcsRUFBRSxPQUFPLEVBQUUsTUFBTSxhQUFhLENBQUM7OztBQUluRCxJQUFJLFFBQVEsR0FBRyxDQUFDLENBQUM7QUFHakIsTUFBTSwwQ0FBMEMsR0FBUTtJQUNwRCxPQUFPLEVBQUUsaUJBQWlCO0lBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsaUJBQWlCLENBQUM7SUFDaEQsS0FBSyxFQUFFLElBQUk7Q0FDZCxDQUFDO0FBUUYsTUFBTSxPQUFPLGlCQUFrQixTQUFRLGVBQWU7SUFDbEQsWUFBWSxRQUFtQixFQUFFLFVBQXNCO1FBQ25ELEtBQUssQ0FBQyxRQUFRLEVBQUUsVUFBVSxDQUFDLENBQUM7UUFHeEIsY0FBUyxHQUFXLGNBQWMsRUFBRSxRQUFRLEVBQUUsQ0FBQztRQUN2RCwwQ0FBMEM7UUFDakMsT0FBRSxHQUFXLElBQUksQ0FBQyxTQUFTLENBQUM7UUFNNUIsUUFBRyxHQUE0RixTQUFTLENBQUM7UUFhMUcsaUJBQVksR0FBRyxFQUFFLENBQUM7UUFZbEIsV0FBTSxHQUFHLEVBQUUsQ0FBQztRQVdaLGNBQVMsR0FBRyxJQUFJLENBQUM7UUFHakIsY0FBUyxHQUFVLEVBQUUsQ0FB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QUFFO3NCQUFWLEtBQUs7Z0JBRUcsVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLGdCQUFnQjtzQkFBeEIsS0FBSztnQkFFRyxHQUFHO3NCQUFYLEtBQUs7Z0JBSUYsV0FBVztzQkFEZCxLQUFLO2dCQWFGLEtBQUs7c0JBRFIsS0FBSztnQkFlRixRQUFRO3NCQURYLEtBQUs7Z0JBYUYsSUFBSTtzQkFEUCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBmb3J3YXJkUmVmLCBJbnB1dCwgUmVuZGVyZXIyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBCb29sZWFuSW5wdXQsIENvcmVVaUNvbXBvbmVudCB9IGZyb20gJy4uLy4uL2NvbXBvbmVudHMnO1xyXG5pbXBvcnQgeyBBcnJheUhlbHBlciwgQ29udmVydCB9IGZyb20gJy4uLy4uL3V0aWxzJztcclxuaW1wb3J0IHsgS2V5UGFpck9wdGlvbiB9IGZyb20gJy4vbW9kZWwnO1xyXG5cclxuXHJcbmxldCB1bmlxdWVJZCA9IDA7XHJcblxyXG5cclxuY29uc3QgWkVLX1NFTEVDVF9NVUxUSVBMRV9DT05UUk9MX1ZBTFVFX0FDQ0VTU09SOiBhbnkgPSB7XHJcbiAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcclxuICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IFpla1NlbGVjdE11bHRpcGxlKSxcclxuICAgIG11bHRpOiB0cnVlLFxyXG59O1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogJ3play1zZWxlY3QsW3play1zZWxlY3RdJyxcclxuICAgIHRlbXBsYXRlVXJsOiAnLi9zZWxlY3QuaHRtbCcsXHJcbiAgICBwcm92aWRlcnM6IFtaRUtfU0VMRUNUX01VTFRJUExFX0NPTlRST0xfVkFMVUVfQUNDRVNTT1JdLFxyXG59KVxyXG5cclxuZXhwb3J0IGNsYXNzIFpla1NlbGVjdE11bHRpcGxlIGV4dGVuZHMgQ29yZVVpQ29tcG9uZW50IHtcclxuICAgIGNvbnN0cnVjdG9yKHJlbmRlcmVyOiBSZW5kZXJlcjIsIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYpIHtcclxuICAgICAgICBzdXBlcihyZW5kZXJlciwgZWxlbWVudFJlZik7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBfdW5pcXVlSWQ6IHN0cmluZyA9IGB6ZWstc2VsZWN0LSR7Kyt1bmlxdWVJZH1gO1xyXG4gICAgLyoqIFRoZSB1bmlxdWUgSUQgZm9yIHRoZSByYWRpbyBidXR0b24uICovXHJcbiAgICBASW5wdXQoKSBpZDogc3RyaW5nID0gdGhpcy5fdW5pcXVlSWQ7XHJcblxyXG4gICAgQElucHV0KCkgdmFsdWVGaWVsZD86IHN0cmluZyB8IG51bGw7XHJcbiAgICBASW5wdXQoKSB0ZXh0RmllbGQ/OiBzdHJpbmcgfCBudWxsO1xyXG4gICAgQElucHV0KCkgY2hlY2tlZFRleHRGaWVsZD86IHN0cmluZyB8IG51bGw7XHJcblxyXG4gICAgQElucHV0KCkgY3NzOiAncHJpbWFyeScgfCAnc2Vjb25kYXJ5JyB8ICdzdWNjZXNzJyB8ICdkYW5nZXIgJyB8ICd3YXJuaW5nJyB8ICdpbmZvJyB8ICdsaWdodCcgfCAnZGFyaycgPSAncHJpbWFyeSc7XHJcblxyXG5cclxuICAgIEBJbnB1dCgpXHJcbiAgICBnZXQgcGxhY2Vob2xkZXIoKTogc3RyaW5nIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fcGxhY2Vob2xkZXI7XHJcbiAgICB9XHJcbiAgICBzZXQgcGxhY2Vob2xkZXIodmFsdWU6IHN0cmluZyB8IG51bGwgfCB1bmRlZmluZWQpIHtcclxuICAgICAgICBpZiAodmFsdWUpXHJcbiAgICAgICAgICAgIHRoaXMuX3BsYWNlaG9sZGVyID0gdmFsdWU7XHJcbiAgICAgICAgZWxzZVxyXG4gICAgICAgICAgICB0aGlzLl9wbGFjZWhvbGRlciA9ICcnO1xyXG4gICAgfVxyXG4gICAgcHJpdmF0ZSBfcGxhY2Vob2xkZXIgPSAnJztcclxuXHJcbiAgICBASW5wdXQoKVxyXG4gICAgZ2V0IGxhYmVsKCk6IHN0cmluZyB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX2xhYmVsO1xyXG4gICAgfVxyXG4gICAgc2V0IGxhYmVsKHZhbHVlOiBzdHJpbmcgfCBudWxsIHwgdW5kZWZpbmVkKSB7XHJcbiAgICAgICAgaWYgKHZhbHVlKVxyXG4gICAgICAgICAgICB0aGlzLl9sYWJlbCA9IHZhbHVlO1xyXG4gICAgICAgIGVsc2VcclxuICAgICAgICAgICAgdGhpcy5fbGFiZWwgPSAnJztcclxuICAgIH1cclxuICAgIHByaXZhdGUgX2xhYmVsID0gJyc7XHJcblxyXG5cclxuXHJcbiAgICBASW5wdXQoKVxyXG4gICAgZ2V0IG11bHRpcGxlKCkge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl9tdWx0aXBsZTtcclxuICAgIH1cclxuICAgIHNldCBtdWx0aXBsZSh2YWx1ZTogQm9vbGVhbklucHV0KSB7XHJcbiAgICAgICAgdGhpcy5fbXVsdGlwbGUgPSBDb252ZXJ0LnRvQm9vbGVhbih2YWx1ZSk7XHJcbiAgICB9XHJcbiAgICBwcml2YXRlIF9tdWx0aXBsZSA9IHRydWU7XHJcblxyXG5cclxuICAgIHByaXZhdGUgX3NlbGVjdGVkOiBhbnlbXSA9IFtdO1xyXG5cclxuICAgIEBJbnB1dCgpXHJcbiAgICBnZXQgZGF0YSgpIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fZGF0YTtcclxuICAgIH1cclxuICAgIHNldCBkYXRhKHZhbHVlOiBhbnlbXSB8IG51bGwgfCB1bmRlZmluZWQpIHtcclxuICAgICAgICBpZiAodGhpcy5fZGF0YSAhPT0gdmFsdWUpIHtcclxuICAgICAgICAgICAgdGhpcy5fZGF0YSA9IHZhbHVlO1xyXG4gICAgICAgICAgICB0aGlzLm9uRGF0YUNoYW5nZWQoKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBwcml2YXRlIF9kYXRhPzogYW55W10gfCBudWxsID0gW107XHJcbiAgICBub3JtYWxpemVkOiBLZXlQYWlyT3B0aW9uW10gPSBbXTtcclxuICAgIG9uRGF0YUNoYW5nZWQoKSB7XHJcbiAgICAgICAgdGhpcy5fc2V0U2VsZWN0aW9uQnlWYWx1ZSh0aGlzLl92YWx1ZSk7XHJcbiAgICAgICAgaWYgKHRoaXMuaXNJbml0aWFsaXplZCkge1xyXG4gICAgICAgICAgICB0aGlzLl9ub3JtYWxpemVEYXRhKCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIF90ZXh0ID0gJyc7XHJcblxyXG5cclxuXHJcbiAgICBvdmVycmlkZSBvblZhbHVlQ2hhbmdlZCgpIHtcclxuICAgICAgICBpZiAoQXJyYXkuaXNBcnJheSh0aGlzLl9kYXRhKSkge1xyXG4gICAgICAgICAgICB0aGlzLl9zZXRTZWxlY3Rpb25CeVZhbHVlKHRoaXMuX3ZhbHVlKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG5cclxuICAgIG92ZXJyaWRlIGluaXQoKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5fbm9ybWFsaXplRGF0YSgpO1xyXG4gICAgfVxyXG5cclxuXHJcbiAgICBwcml2YXRlIF9ub3JtYWxpemVEYXRhKCkge1xyXG4gICAgICAgIHRoaXMubm9ybWFsaXplZCA9IFtdO1xyXG4gICAgICAgIGlmIChBcnJheS5pc0FycmF5KHRoaXMuX2RhdGEpKSB7XHJcbiAgICAgICAgICAgIGlmICh0aGlzLnZhbHVlRmllbGQgJiYgdGhpcy50ZXh0RmllbGQpIHtcclxuICAgICAgICAgICAgICAgIGZvciAoY29uc3QgaXRlbSBvZiB0aGlzLl9kYXRhKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5ub3JtYWxpemVkLnB1c2goeyBrZXk6IGl0ZW1bdGhpcy52YWx1ZUZpZWxkXSwgdmFsdWU6IGl0ZW1bdGhpcy50ZXh0RmllbGRdLCBjaGVja2VkOiB0aGlzLl9zZWxlY3RlZC5pbmNsdWRlcyhpdGVtKSwgaXRlbTogaXRlbSB9KTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgIGZvciAoY29uc3QgaXRlbSBvZiB0aGlzLl9kYXRhKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5ub3JtYWxpemVkLnB1c2goeyBrZXk6IGl0ZW0sIHZhbHVlOiBpdGVtLCBjaGVja2VkOiB0aGlzLl9zZWxlY3RlZC5pbmNsdWRlcyhpdGVtKSwgaXRlbSB9KTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIFNldHMgdGhlIHNlbGVjdGVkIG9wdGlvbiBiYXNlZCBvbiBhIHZhbHVlLiBJZiBubyBvcHRpb24gY2FuIGJlXHJcbiAgICAgKiBmb3VuZCB3aXRoIHRoZSBkZXNpZ25hdGVkIHZhbHVlLCB0aGUgc2VsZWN0IHRyaWdnZXIgaXMgY2xlYXJlZC5cclxuICAgICAqL1xyXG4gICAgcHJpdmF0ZSBfc2V0U2VsZWN0aW9uQnlWYWx1ZSh2YWx1ZTogYW55IHwgYW55W10pOiB2b2lkIHtcclxuICAgICAgICB0aGlzLl9zZWxlY3RlZCA9IFtdO1xyXG5cclxuICAgICAgICBpZiAodGhpcy5tdWx0aXBsZSAmJiB2YWx1ZSkge1xyXG4gICAgICAgICAgICBpZiAoIUFycmF5LmlzQXJyYXkodmFsdWUpKSB7XHJcbiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJ2YWx1ZSBpcyBub3QgYXJyYXlcIik7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIGlmIChBcnJheS5pc0FycmF5KHRoaXMuX2RhdGEpKSB7XHJcbiAgICAgICAgICAgICAgICBsZXQgbm90VW5pcXVlOiBhbnlbXSA9IFtdO1xyXG4gICAgICAgICAgICAgICAgaWYgKHRoaXMudmFsdWVGaWVsZCkge1xyXG4gICAgICAgICAgICAgICAgICAgIGZvciAoY29uc3QgY3VycmVudFZhbHVlIG9mIHZhbHVlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGxldCBpdGVtcyA9IEFycmF5SGVscGVyLmZpbHRlckJ5S2V5KGN1cnJlbnRWYWx1ZSwgdGhpcy52YWx1ZUZpZWxkLCB0aGlzLl9kYXRhKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbm90VW5pcXVlID0gbm90VW5pcXVlLmNvbmNhdChpdGVtcyk7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgICBmb3IgKGNvbnN0IGN1cnJlbnRWYWx1ZSBvZiB2YWx1ZSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBsZXQgaXRlbXMgPSB0aGlzLl9kYXRhLmZpbHRlcih4ID0+IHggPT09IGN1cnJlbnRWYWx1ZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG5vdFVuaXF1ZSA9IG5vdFVuaXF1ZS5jb25jYXQoaXRlbXMpO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICB0aGlzLl9zZWxlY3RlZCA9IEFycmF5SGVscGVyLmRpc3RpbmN0KG5vdFVuaXF1ZSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICBpZiAoQXJyYXkuaXNBcnJheSh0aGlzLl9kYXRhKSkge1xyXG4gICAgICAgICAgICAgICAgaWYgKHRoaXMudmFsdWVGaWVsZCkge1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX3NlbGVjdGVkID0gQXJyYXlIZWxwZXIuZmlsdGVyQnlLZXkodmFsdWUsIHRoaXMudmFsdWVGaWVsZCwgdGhpcy5fZGF0YSk7XHJcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX3NlbGVjdGVkID0gdGhpcy5fZGF0YS5maWx0ZXIoeCA9PiB4ID09PSB2YWx1ZSk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGZvciAoY29uc3Qgbm9ybSBvZiB0aGlzLm5vcm1hbGl6ZWQpIHtcclxuICAgICAgICAgICAgbm9ybS5jaGVja2VkID0gdGhpcy5fc2VsZWN0ZWQuaW5jbHVkZXMobm9ybS5pdGVtKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5faW5pdFRleHQoKTtcclxuICAgIH1cclxuXHJcblxyXG5cclxuXHJcbiAgICB0b2dnbGVDaGVja2VkKHY6IGFueSkge1xyXG4gICAgICAgIGlmICh2ICYmICF0aGlzLmRpc2FibGVkICYmICF0aGlzLnJlYWRvbmx5KSB7XHJcbiAgICAgICAgICAgIGlmICghdi5jaGVja2VkKSB7XHJcbiAgICAgICAgICAgICAgICB2LmNoZWNrZWQgPSB0cnVlO1xyXG5cclxuICAgICAgICAgICAgICAgIGlmICh0aGlzLm11bHRpcGxlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgbGV0IHRtcCA9IFtdO1xyXG4gICAgICAgICAgICAgICAgICAgIGZvciAoY29uc3QgaXRlbSBvZiB0aGlzLm5vcm1hbGl6ZWQpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGl0ZW0uY2hlY2tlZCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdG1wLnB1c2goaXRlbS5rZXkpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICAgICB0aGlzLnNldE5nTW9kZWwodG1wKTtcclxuICAgICAgICAgICAgICAgICAgICAvLyB0aGlzLnZhbHVlID0gdG1wO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgLy90aGlzLnZhbHVlID0gdi5rZXk7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5zZXROZ01vZGVsKHYua2V5KTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgIHYuY2hlY2tlZCA9IGZhbHNlO1xyXG4gICAgICAgICAgICAgICAgaWYgKHRoaXMubXVsdGlwbGUpIHtcclxuICAgICAgICAgICAgICAgICAgICBpZiAoQXJyYXkuaXNBcnJheSh0aGlzLl92YWx1ZSkpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5zZXROZ01vZGVsKCh0aGlzLl92YWx1ZSBhcyBhbnlbXSkuZmlsdGVyKHggPT4geCAhPT0gdi5rZXkpKTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc2V0TmdNb2RlbChudWxsKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcblxyXG4gICAgcHJpdmF0ZSBfaW5pdFRleHQoKSB7XHJcbiAgICAgICAgbGV0IGZpZWxkID0gdGhpcy5jaGVja2VkVGV4dEZpZWxkIHx8IHRoaXMudGV4dEZpZWxkIHx8ICcnO1xyXG4gICAgICAgIGlmIChmaWVsZCkge1xyXG4gICAgICAgICAgICB0aGlzLl90ZXh0ID0gdGhpcy5fc2VsZWN0ZWQuZmlsdGVyKHggPT4geCAhPT0gdW5kZWZpbmVkICYmIHggIT09IG51bGwpLm1hcCh4ID0+IHhbZmllbGRdKS5qb2luKCcsICcpO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHRoaXMuX3RleHQgPSB0aGlzLl9zZWxlY3RlZC5qb2luKCcsICcpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwiZHJvcGRvd25cIiBpZD1cImRyb3Bkb3duLXt7aWR9fVwiPlxyXG4gICAgPGJ1dHRvbiBjbGFzcz1cImJ0biBidG4te3tjc3N9fSBkcm9wZG93bi10b2dnbGVcIiB0eXBlPVwiYnV0dG9uXCIgZGF0YS1icy10b2dnbGU9XCJkcm9wZG93blwiIGFyaWEtZXhwYW5kZWQ9XCJmYWxzZVwiPlxyXG4gICAgICAgIHt7bGFiZWx9fSA8bmctY29udGFpbmVyICpuZ0lmPVwiIV90ZXh0XCI+e3twbGFjZWhvbGRlcn19PC9uZy1jb250YWluZXI+IHt7X3RleHR9fVxyXG4gICAgPC9idXR0b24+XHJcbiAgICA8dWwgY2xhc3M9XCJkcm9wZG93bi1tZW51XCI+XHJcbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIm5vcm1hbGl6ZWRcIj5cclxuICAgICAgICAgICAgPGxpPjxhIGNsYXNzPVwiZHJvcGRvd24taXRlbVwiIGhyZWY9XCJqYXZhc2NyaXB0OnZvaWQoMClcIiAqbmdGb3I9XCJsZXQgaXRlbSBvZiBub3JtYWxpemVkXCIgKGNsaWNrKT1cInRvZ2dsZUNoZWNrZWQoaXRlbSlcIj5cclxuICAgICAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cIml0ZW0uY2hlY2tlZFwiPjxpIGNsYXNzPVwiZmEtcmVndWxhciBmYS1zcXVhcmUtY2hlY2tcIj48L2k+PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiIWl0ZW0uY2hlY2tlZFwiPjxpIGNsYXNzPVwiZmEtcmVndWxhciBmYS1zcXVhcmVcIj48L2k+PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgIHt7aXRlbS52YWx1ZX19XHJcbiAgICAgICAgICAgICAgICA8L2E+PC9saT5cclxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgIDwvdWw+XHJcbjwvZGl2PiJdfQ==
@@ -167,4 +167,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImpor
167
167
  }], value: [{
168
168
  type: Input
169
169
  }] } });
170
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0Mi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy96ZWsvc3JjL2xpYi9tb2R1bGVzL3NlbGVjdDIvc2VsZWN0Mi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy96ZWsvc3JjL2xpYi9tb2R1bGVzL3NlbGVjdDIvc2VsZWN0Mi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQXFCLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxRixPQUFPLEVBQUUsWUFBWSxFQUFFLFlBQVksRUFBRSxNQUFNLGFBQWEsQ0FBQzs7OztBQVN6RCxNQUFNLE9BQU8sZ0JBQWdCO0lBUDdCO1FBV1csY0FBUyxHQUFHLFlBQVksQ0FBQyxTQUFTLEVBQUUsQ0FBQztRQUV0QyxVQUFLLEdBQWUsRUFBRSxDQUFDO1FBVy9CLGlCQUFZLEdBQWUsRUFBRSxDQUFDO1FBSXJCLGdCQUFXLEdBQVcsRUFBRSxDQUFBO1FBRXZCLHVCQUFrQixHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7UUFNN0MsZ0JBQVcsR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO0tBaUpqRDtJQXZLQyxJQUFhLElBQUk7UUFDZixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUM7SUFDcEIsQ0FBQztJQUNELElBQUksSUFBSSxDQUFDLEtBQWlCO1FBQ3hCLElBQUksSUFBSSxDQUFDLEtBQUssS0FBSyxLQUFLLEVBQUU7WUFDeEIsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7WUFDbkIsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO1lBQ3RCLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztTQUNuQjtJQUNILENBQUM7SUFTRCxJQUFJLFlBQVk7UUFDZCxPQUFPLElBQUksQ0FBQyxhQUFhLENBQUM7SUFDNUIsQ0FB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SUFBSSxJQUFJLElBQUksQ0FBQyxVQUFVLEtBQUssRUFBRSxFQUFFO2dCQUN2RixpQkFBaUI7Z0JBQ2pCLENBQUMsR0FBRyxJQUFJLENBQUM7YUFDVjtpQkFBTTtnQkFDTCxtQ0FBbUM7Z0JBQ25DLENBQUMsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO2FBQzNCO1lBRUQsMkNBQTJDO1lBQzNDLElBQUksSUFBSSxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUU7Z0JBQ3JCLElBQUksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO2dCQUNoQixJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQzthQUMxQjtTQUNGO0lBQ0gsQ0FBQzs7NkdBM0tVLGdCQUFnQjtpR0FBaEIsZ0JBQWdCLDRRQ1Y3Qix3N0NBeUJ5QjsyRkRmWixnQkFBZ0I7a0JBUDVCLFNBQVM7K0JBQ0UsMkJBQTJCOzhCQWF4QixJQUFJO3NCQUFoQixLQUFLO2dCQVlHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUVJLGtCQUFrQjtzQkFBM0IsTUFBTTtnQkFNRyxXQUFXO3NCQUFwQixNQUFNO2dCQUVNLEtBQUs7c0JBQWpCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uRGVzdHJveSwgT25Jbml0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgUmFuZG9tSGVscGVyLCBTdHJpbmdIZWxwZXIgfSBmcm9tICcuLi8uLi91dGlscyc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ3play1zZWxlY3QyLFt6ZWstc2VsZWN0Ml0nLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9zZWxlY3QyLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9zZWxlY3QyLmNvbXBvbmVudC5jc3MnXVxyXG5cclxufSlcclxuXHJcbmV4cG9ydCBjbGFzcyBTZWxlY3QyQ29tcG9uZW50IGltcGxlbWVudHMgT25EZXN0cm95IHtcclxuICBmaWx0ZXI/OiBzdHJpbmcgfCBudWxsO1xyXG4gIHRleHQ/OiBzdHJpbmcgfCBudWxsO1xyXG5cclxuICByZWFkb25seSBlbGVtZW50SWQgPSBSYW5kb21IZWxwZXIucmFuZG9tSGV4KCk7XHJcblxyXG4gIHByaXZhdGUgX2RhdGE6IEFycmF5PGFueT4gPSBbXTtcclxuICBASW5wdXQoKSBnZXQgZGF0YSgpOiBBcnJheTxhbnk+IHtcclxuICAgIHJldHVybiB0aGlzLl9kYXRhO1xyXG4gIH1cclxuICBzZXQgZGF0YSh2YWx1ZTogQXJyYXk8YW55Pikge1xyXG4gICAgaWYgKHRoaXMuX2RhdGEgIT09IHZhbHVlKSB7XHJcbiAgICAgIHRoaXMuX2RhdGEgPSB2YWx1ZTtcclxuICAgICAgdGhpcy5maW5kQW5kU2V0SXRlbSgpO1xyXG4gICAgICB0aGlzLmZpbHRlckRhdGEoKTtcclxuICAgIH1cclxuICB9XHJcbiAgZmlsdGVyZWREYXRhOiBBcnJheTxhbnk+ID0gW107XHJcblxyXG4gIEBJbnB1dCgpIHRleHRGaWVsZDogYW55O1xyXG4gIEBJbnB1dCgpIHZhbHVlRmllbGQ6IGFueTtcclxuICBASW5wdXQoKSBwbGFjZWhvbGRlcjogc3RyaW5nID0gJydcclxuXHJcbiAgQE91dHB1dCgpIHNlbGVjdGVkSXRlbUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG4gIHByaXZhdGUgX3NlbGVjdGVkSXRlbTogYW55O1xyXG4gIGdldCBzZWxlY3RlZEl0ZW0oKTogYW55IHtcclxuICAgIHJldHVybiB0aGlzLl9zZWxlY3RlZEl0ZW07XHJcbiAgfVxyXG5cclxuICBAT3V0cHV0KCkgdmFsdWVDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuICBwcml2YXRlIF92YWx1ZTogYW55O1xyXG4gIEBJbnB1dCgpIGdldCB2YWx1ZSgpIHtcclxuICAgIHJldHVybiB0aGlzLl92YWx1ZTtcclxuICB9XHJcbiAgc2V0IHZhbHVlKHY6IGFueSkge1xyXG4gICAgaWYgKHRoaXMuX3ZhbHVlICE9PSB2KSB7XHJcbiAgICAgIHRoaXMuX3ZhbHVlID0gdjtcclxuICAgICAgdGhpcy5maW5kQW5kU2V0SXRlbSgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBmaW5kQW5kU2V0SXRlbSgpIHtcclxuICAgIGxldCBmb3VuZEl0ZW0gPSBudWxsO1xyXG4gICAgaWYgKHRoaXMuX3ZhbHVlID09PSB1bmRlZmluZWQgfHwgdGhpcy5fdmFsdWUgPT09IG51bGwgfHwgIXRoaXMuZGF0YSkge1xyXG5cclxuICAgIH0gZWxzZSBpZiAodGhpcy52YWx1ZUZpZWxkID09PSB1bmRlZmluZWQgfHwgdGhpcy52YWx1ZUZpZWxkID09PSBudWxsIHx8IHRoaXMudmFsdWVGaWVsZCA9PT0gJycpIHtcclxuICAgICAgZm91bmRJdGVtID0gdGhpcy5kYXRhLmZpbmQoeCA9PiB4ID09PSB0aGlzLl92YWx1ZSk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBmb3VuZEl0ZW0gPSB0aGlzLmRhdGEuZmluZCh4ID0+IHhbdGhpcy52YWx1ZUZpZWxkXSA9PT0gdGhpcy5fdmFsdWUpO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuX3NlbGVjdGVkSXRlbSA9IGZvdW5kSXRlbTtcclxuICAgIHRoaXMuc2V0VGV4dCgpO1xyXG4gIH1cclxuXHJcblxyXG5cclxuXHJcbiAgLy8gcHJpdmF0ZSBfZHJvcGRvd246IGFueTtcclxuICAvLyBwdWJsaWMgZ2V0IGRyb3Bkb3duKCk6IGFueSB7XHJcbiAgLy8gICAgIGlmICghdGhpcy5fZHJvcGRvd24pIHtcclxuICAvLyAgICAgICAgIGxldCBlbCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdidG4tJyArIHRoaXMuZWxlbWVudElkKTtcclxuICAvLyAgICAgICAgIHRoaXMuX2Ryb3Bkb3duID0gbmV3IGJvb3RzdHJhcC5Ecm9wZG93bihlbCk7XHJcbiAgLy8gICAgIH1cclxuICAvLyAgICAgcmV0dXJuIHRoaXMuX2Ryb3Bkb3duO1xyXG4gIC8vIH1cclxuICAvLyBwdWJsaWMgc2V0IGRyb3Bkb3duKHY6IGFueSkge1xyXG4gIC8vICAgICB0aGlzLl9kcm9wZG93biA9IHY7XHJcbiAgLy8gfVxyXG5cclxuICBuZ09uRGVzdHJveSgpIHtcclxuICAgIC8vIHRoaXMuZHJvcGRvd24/LmRpc3Bvc2UoKTtcclxuICAgIC8vIHRoaXMuZHJvcGRvd24gPSBudWxsO1xyXG4gIH1cclxuXHJcblxyXG4gIG9uVGV4dENoYW5nZSh0ZXh0OiBzdHJpbmcpIHtcclxuICAgIHRoaXMuZmlsdGVyID0gU3RyaW5nSGVscGVyLnRyeVRyaW0odGV4dCk7XHJcbiAgICB0aGlzLmZpbHRlckRhdGEoKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgZmlsdGVyRGF0YSgpIHtcclxuICAgIGlmICh0aGlzLmZpbHRlciAmJiB0aGlzLmZpbHRlciAhPT0gJycpIHtcclxuICAgICAgbGV0IHNlYXJjaFN0cmluZyA9IHRoaXMuZmlsdGVyO1xyXG4gICAgICBpZiAodGhpcy50ZXh0RmllbGQgPT09IHVuZGVmaW5lZCB8fCB0aGlzLnRleHRGaWVsZCA9PT0gbnVsbCkge1xyXG4gICAgICAgIHRoaXMuZmlsdGVyZWREYXRhID0gdGhpcy5kYXRhLmZpbHRlcihpdGVtID0+IGl0ZW0udG9Mb3dlckNhc2UoKS5pbmRleE9mKHNlYXJjaFN0cmluZy50b0xvd2VyQ2FzZSgpKSAhPT0gLTEpO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHRoaXMuZmlsdGVyZWREYXRhID0gdGhpcy5kYXRhLmZpbHRlcihpdGVtID0+IGl0ZW1bdGhpcy50ZXh0RmllbGRdLnRvTG93ZXJDYXNlKCkuaW5kZXhPZihzZWFyY2hTdHJpbmcudG9Mb3dlckNhc2UoKSkgIT09IC0xKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgZWxzZS8vIGlmICh0aGlzLmZpbHRlciA9PT0gdW5kZWZpbmVkIHx8IHRoaXMuZmlsdGVyID09PSBudWxsIHx8IHRoaXMuZmlsdGVyID09PSAnJykgXHJcbiAgICB7XHJcbiAgICAgIHRoaXMuZmlsdGVyZWREYXRhID0gdGhpcy5kYXRhO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgb25Gb2N1cyhlOiBGb2N1c0V2ZW50KSB7XHJcbiAgICAvLyBpZiAodGhpcy5kcm9wZG93bil7XHJcbiAgICAvLyAgIHRoaXMuZHJvcGRvd24uc2hvdygpO1xyXG4gICAgLy8gfVxyXG4gICAgLy8gbGV0IGRyb3Bkb3duID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoYGRyb3Bkb3duLW1lbnUtY29udGFpbmVyLSR7dGhpcy5lbGVtZW50SWR9YCk7XHJcbiAgICAvLyBjb25zb2xlLmxvZyhkcm9wZG93bik7XHJcblxyXG4gICAgLy8gaWYgKGRyb3Bkb3duKSB7XHJcbiAgICAvLyAgIGNvbnNvbGUubG9nKGRyb3Bkb3duLmNsYXNzTGlzdCk7XHJcblxyXG4gICAgLy8gICBpZiAoIWRyb3Bkb3duLmNsYXNzTGlzdC5jb250YWlucygnc2hvdycpKSB7XHJcbiAgICAvLyAgICAgbGV0IGVsID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoYGlucHV0LSR7dGhpcy5lbGVtZW50SWR9YCk7XHJcbiAgICAvLyAgICAgaWYgKGVsKSB7XHJcbiAgICAvLyAgICAgICBlbC5jbGljaygpO1xyXG4gICAgLy8gICAgIH1cclxuICAgIC8vICAgfVxyXG4gICAgLy8gfVxyXG5cclxuXHJcblxyXG4gICAgLy8gbGV0IGlucHV0SWQgPSAnaW5wdXQtJyArIHRoaXMuZWxlbWVudElkO1xyXG4gICAgLy8gbGV0IGVsID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoaW5wdXRJZCk7XHJcbiAgICAvLyBpZiAoZWwpIHtcclxuXHJcbiAgICAvLyAgIGlmICghZWwuY2xhc3NMaXN0LmNvbnRhaW5zKCdzaG93JykpIHtcclxuICAgIC8vICAgICB0aGlzLmRyb3Bkb3duPy5zaG93KCk7XHJcbiAgICAvLyAgIH1cclxuXHJcbiAgICAvLyBsZXQgbWVudUlkID0gJyNkcm9wZG93bi1tZW51LScgKyB0aGlzLmVsZW1lbnRJZCArICcgJyArICdhJztcclxuICAgIC8vIGVsLmFkZEV2ZW50TGlzdGVuZXIoJ2tleWRvd24nLCBmdW5jdGlvbiAoZSkge1xyXG4gICAgLy8gICBpZiAoZS5rZXkgPT0gJ0Fycm93RG93bicpIHtcclxuICAgIC8vICAgICAoZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbChtZW51SWQpWzBdIGFzIGFueSkuZm9jdXMoKTtcclxuICAgIC8vICAgfVxyXG4gICAgLy8gfSk7XHJcbiAgICAvLyB9XHJcbiAgfVxyXG4gIGlucHV0VW5mb2N1c2VkKCkge1xyXG4gICAgLy8gdGhpcy5leHBhbmRlZCA9IGZhbHNlO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBzZXRUZXh0KCkge1xyXG4gICAgaWYgKHRoaXMuX3NlbGVjdGVkSXRlbSA9PT0gdW5kZWZpbmVkIHx8IHRoaXMuX3NlbGVjdGVkSXRlbSA9PT0gbnVsbCkge1xyXG4gICAgICB0aGlzLnRleHQgPSBudWxsO1xyXG4gICAgfVxyXG4gICAgZWxzZSBpZiAodGhpcy50ZXh0RmllbGQgPT09IHVuZGVmaW5lZCB8fCB0aGlzLnRleHRGaWVsZCA9PT0gbnVsbCkge1xyXG4gICAgICB0aGlzLnRleHQgPSB0aGlzLl9zZWxlY3RlZEl0ZW07XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLnRleHQgPSB0aGlzLl9zZWxlY3RlZEl0ZW1bdGhpcy50ZXh0RmllbGRdO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgc2VsZWN0SXRlbShpdGVtOiBhbnkpIHtcclxuXHJcbiAgICBpZiAodGhpcy5fc2VsZWN0ZWRJdGVtICE9PSBpdGVtKSB7XHJcbiAgICAgIHRoaXMuX3NlbGVjdGVkSXRlbSA9IGl0ZW07XHJcbiAgICAgIHRoaXMuc2VsZWN0ZWRJdGVtQ2hhbmdlLmVtaXQoaXRlbSk7XHJcblxyXG4gICAgICB0aGlzLnNldFRleHQoKTtcclxuXHJcbiAgICAgIC8vc2V0IHZhbHVlXHJcbiAgICAgIGxldCB2O1xyXG4gICAgICBpZiAodGhpcy52YWx1ZUZpZWxkID09PSB1bmRlZmluZWQgfHwgdGhpcy52YWx1ZUZpZWxkID09PSBudWxsIHx8IHRoaXMudmFsdWVGaWVsZCA9PT0gJycpIHtcclxuICAgICAgICAvLyB0aGlzLnZhbHVlID0gdlxyXG4gICAgICAgIHYgPSBpdGVtO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIC8vIHRoaXMudmFsdWUgPSB2W3RoaXMudmFsdWVGaWVsZF07XHJcbiAgICAgICAgdiA9IGl0ZW1bdGhpcy52YWx1ZUZpZWxkXTtcclxuICAgICAgfVxyXG5cclxuICAgICAgLy9pZiB2YWx1ZSBub3QgZXF1YWxzIHRoZW4gZW1pdCB2YWx1ZUNoYW5nZVxyXG4gICAgICBpZiAodGhpcy5fdmFsdWUgIT09IHYpIHtcclxuICAgICAgICB0aGlzLl92YWx1ZSA9IHY7XHJcbiAgICAgICAgdGhpcy52YWx1ZUNoYW5nZS5lbWl0KHYpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuXHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cImlucHV0LWdyb3VwIHBvc2l0aW9uLXJlbGF0aXZlXCIgaWQ9XCJkcm9wZG93bi1tZW51LWNvbnRhaW5lci17e2VsZW1lbnRJZH19XCI+XHJcbiAgPGlucHV0IHR5cGU9XCJ0ZXh0XCIgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIiBwbGFjZWhvbGRlcj1cInt7cGxhY2Vob2xkZXJ9fVwiIGRhdGEtYnMtdG9nZ2xlPVwiZHJvcGRvd25cIiBpZD1cImlucHV0LXt7ZWxlbWVudElkfX1cIiBbKG5nTW9kZWwpXT1cInRleHRcIiAobmdNb2RlbENoYW5nZSk9XCJvblRleHRDaGFuZ2UoJGV2ZW50KVwiIChmb2N1cyk9XCJvbkZvY3VzKCRldmVudClcIiAoYmx1cik9XCJpbnB1dFVuZm9jdXNlZCgpXCI+XHJcbiAgPGJ1dHRvbiBjbGFzcz1cImJ0biBidG4tb3V0bGluZS1zZWNvbmRhcnkgZHJvcGRvd24tdG9nZ2xlXCIgaWQ9XCJidG4te3tlbGVtZW50SWR9fVwiIHR5cGU9XCJidXR0b25cIiBkYXRhLWJzLXRvZ2dsZT1cImRyb3Bkb3duXCIgYXJpYS1leHBhbmRlZD1cImZhbHNlXCIgZGF0YS1icy1yZWZlcmVuY2U9XCJwYXJlbnRcIj48L2J1dHRvbj5cclxuICA8dWwgY2xhc3M9XCJkcm9wZG93bi1tZW51IGRyb3Bkb3duLW1lbnUtc3RhcnQgdy0xMDAgc2Nyb2xsYWJsZS1tZW51XCIgaWQ9XCJkcm9wZG93bi1tZW51LXt7ZWxlbWVudElkfX1cIj5cclxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJ0ZXh0RmllbGRcIj5cclxuICAgICAgPGxpICpuZ0Zvcj1cImxldCBlbnRyeSBvZiBmaWx0ZXJlZERhdGFcIj5cclxuICAgICAgICA8YSBocmVmPVwiamF2YXNjcmlwdDp2b2lkKDApXCIgKGNsaWNrKT1cInNlbGVjdEl0ZW0oZW50cnkpXCIgY2xhc3M9XCJkcm9wZG93bi1pdGVtXCI+e3tlbnRyeVt0ZXh0RmllbGRdfX08L2E+XHJcbiAgICAgIDwvbGk+XHJcbiAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhdGV4dEZpZWxkXCI+XHJcbiAgICAgIDxsaSAqbmdGb3I9XCJsZXQgZW50cnkgb2YgZmlsdGVyZWREYXRhXCI+XHJcbiAgICAgICAgPGEgaHJlZj1cImphdmFzY3JpcHQ6dm9pZCgwKVwiIChjbGljayk9XCJzZWxlY3RJdGVtKGVudHJ5KVwiIGNsYXNzPVwiZHJvcGRvd24taXRlbVwiPnt7dGV4dEZpZWxkfX08L2E+XHJcbiAgICAgIDwvbGk+XHJcbiAgICA8L25nLWNvbnRhaW5lcj5cclxuICA8L3VsPlxyXG48L2Rpdj5cclxuPCEtLSA8a2VuZG8tYXV0b2NvbXBsZXRlXHJcbiAgW2RhdGFdPVwiZGF0YVwiXHJcbiAgW2ZpbHRlcmFibGVdPVwidHJ1ZVwiXHJcbiAgKHZhbHVlQ2hhbmdlKT1cInZhbHVlQ2hhbmdlKCRldmVudClcIlxyXG4gIChmaWx0ZXJDaGFuZ2UpPVwiZmlsdGVyQ2hhbmdlKCRldmVudClcIlxyXG4gIChvcGVuKT1cIm9wZW4oKVwiXHJcbiAgKGNsb3NlKT1cImNsb3NlKClcIlxyXG4gIChmb2N1cyk9XCJmb2N1cygpXCJcclxuICAoYmx1cik9XCJibHVyKClcIj5cclxuPC9rZW5kby1hdXRvY29tcGxldGU+IC0tPiJdfQ==
170
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0Mi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy96ZWsvc3JjL2xpYi9tb2R1bGVzL3NlbGVjdDIvc2VsZWN0Mi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy96ZWsvc3JjL2xpYi9tb2R1bGVzL3NlbGVjdDIvc2VsZWN0Mi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQXFCLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxRixPQUFPLEVBQUUsWUFBWSxFQUFFLFlBQVksRUFBRSxNQUFNLGFBQWEsQ0FBQzs7OztBQVN6RCxNQUFNLE9BQU8sZ0JBQWdCO0lBUDdCO1FBV2EsY0FBUyxHQUFHLFlBQVksQ0FBQyxTQUFTLEVBQUUsQ0FBQztRQUV0QyxVQUFLLEdBQWUsRUFBRSxDQUFDO1FBWS9CLGlCQUFZLEdBQWUsRUFBRSxDQUFDO1FBSXJCLGdCQUFXLEdBQVcsRUFBRSxDQUFBO1FBRXZCLHVCQUFrQixHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7UUFNN0MsZ0JBQVcsR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO0tBa0puRDtJQXpLRyxJQUNJLElBQUk7UUFDSixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUM7SUFDdEIsQ0FBQztJQUNELElBQUksSUFBSSxDQUFDLEtBQWlCO1FBQ3RCLElBQUksSUFBSSxDQUFDLEtBQUssS0FBSyxLQUFLLEVBQUU7WUFDdEIsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7WUFDbkIsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO1lBQ3RCLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztTQUNyQjtJQUNMLENBQUM7SUFTRCxJQUFJLFlBQVk7UUFDWixPQUFPLElBQUksQ0FBQyxhQUFhLENBQUM7SUFDOUIsQ0FB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QUksSUFBSSxJQUFJLENBQUMsVUFBVSxLQUFLLEVBQUUsRUFBRTtnQkFDckYsaUJBQWlCO2dCQUNqQixDQUFDLEdBQUcsSUFBSSxDQUFDO2FBQ1o7aUJBQU07Z0JBQ0gsbUNBQW1DO2dCQUNuQyxDQUFDLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQzthQUM3QjtZQUVELDJDQUEyQztZQUMzQyxJQUFJLElBQUksQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFO2dCQUNuQixJQUFJLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQztnQkFDaEIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7YUFDNUI7U0FDSjtJQUNMLENBQUM7OzZHQTdLUSxnQkFBZ0I7aUdBQWhCLGdCQUFnQiw0UUNWN0IsdzdDQXlCeUI7MkZEZlosZ0JBQWdCO2tCQVA1QixTQUFTOytCQUNJLDJCQUEyQjs4QkFjakMsSUFBSTtzQkFEUCxLQUFLO2dCQWFHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUVJLGtCQUFrQjtzQkFBM0IsTUFBTTtnQkFNRyxXQUFXO3NCQUFwQixNQUFNO2dCQUdILEtBQUs7c0JBRFIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25EZXN0cm95LCBPbkluaXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBSYW5kb21IZWxwZXIsIFN0cmluZ0hlbHBlciB9IGZyb20gJy4uLy4uL3V0aWxzJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICd6ZWstc2VsZWN0MixbemVrLXNlbGVjdDJdJyxcclxuICAgIHRlbXBsYXRlVXJsOiAnLi9zZWxlY3QyLmNvbXBvbmVudC5odG1sJyxcclxuICAgIHN0eWxlVXJsczogWycuL3NlbGVjdDIuY29tcG9uZW50LmNzcyddXHJcblxyXG59KVxyXG5cclxuZXhwb3J0IGNsYXNzIFNlbGVjdDJDb21wb25lbnQgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xyXG4gICAgZmlsdGVyPzogc3RyaW5nIHwgbnVsbDtcclxuICAgIHRleHQ/OiBzdHJpbmcgfCBudWxsO1xyXG5cclxuICAgIHJlYWRvbmx5IGVsZW1lbnRJZCA9IFJhbmRvbUhlbHBlci5yYW5kb21IZXgoKTtcclxuXHJcbiAgICBwcml2YXRlIF9kYXRhOiBBcnJheTxhbnk+ID0gW107XHJcbiAgICBASW5wdXQoKVxyXG4gICAgZ2V0IGRhdGEoKTogQXJyYXk8YW55PiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX2RhdGE7XHJcbiAgICB9XHJcbiAgICBzZXQgZGF0YSh2YWx1ZTogQXJyYXk8YW55Pikge1xyXG4gICAgICAgIGlmICh0aGlzLl9kYXRhICE9PSB2YWx1ZSkge1xyXG4gICAgICAgICAgICB0aGlzLl9kYXRhID0gdmFsdWU7XHJcbiAgICAgICAgICAgIHRoaXMuZmluZEFuZFNldEl0ZW0oKTtcclxuICAgICAgICAgICAgdGhpcy5maWx0ZXJEYXRhKCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgZmlsdGVyZWREYXRhOiBBcnJheTxhbnk+ID0gW107XHJcblxyXG4gICAgQElucHV0KCkgdGV4dEZpZWxkOiBhbnk7XHJcbiAgICBASW5wdXQoKSB2YWx1ZUZpZWxkOiBhbnk7XHJcbiAgICBASW5wdXQoKSBwbGFjZWhvbGRlcjogc3RyaW5nID0gJydcclxuXHJcbiAgICBAT3V0cHV0KCkgc2VsZWN0ZWRJdGVtQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XHJcbiAgICBwcml2YXRlIF9zZWxlY3RlZEl0ZW06IGFueTtcclxuICAgIGdldCBzZWxlY3RlZEl0ZW0oKTogYW55IHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fc2VsZWN0ZWRJdGVtO1xyXG4gICAgfVxyXG5cclxuICAgIEBPdXRwdXQoKSB2YWx1ZUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG4gICAgcHJpdmF0ZSBfdmFsdWU6IGFueTtcclxuICAgIEBJbnB1dCgpXHJcbiAgICBnZXQgdmFsdWUoKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX3ZhbHVlO1xyXG4gICAgfVxyXG4gICAgc2V0IHZhbHVlKHY6IGFueSkge1xyXG4gICAgICAgIGlmICh0aGlzLl92YWx1ZSAhPT0gdikge1xyXG4gICAgICAgICAgICB0aGlzLl92YWx1ZSA9IHY7XHJcbiAgICAgICAgICAgIHRoaXMuZmluZEFuZFNldEl0ZW0oKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBmaW5kQW5kU2V0SXRlbSgpIHtcclxuICAgICAgICBsZXQgZm91bmRJdGVtID0gbnVsbDtcclxuICAgICAgICBpZiAodGhpcy5fdmFsdWUgPT09IHVuZGVmaW5lZCB8fCB0aGlzLl92YWx1ZSA9PT0gbnVsbCB8fCAhdGhpcy5kYXRhKSB7XHJcblxyXG4gICAgICAgIH0gZWxzZSBpZiAodGhpcy52YWx1ZUZpZWxkID09PSB1bmRlZmluZWQgfHwgdGhpcy52YWx1ZUZpZWxkID09PSBudWxsIHx8IHRoaXMudmFsdWVGaWVsZCA9PT0gJycpIHtcclxuICAgICAgICAgICAgZm91bmRJdGVtID0gdGhpcy5kYXRhLmZpbmQoeCA9PiB4ID09PSB0aGlzLl92YWx1ZSk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgZm91bmRJdGVtID0gdGhpcy5kYXRhLmZpbmQoeCA9PiB4W3RoaXMudmFsdWVGaWVsZF0gPT09IHRoaXMuX3ZhbHVlKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHRoaXMuX3NlbGVjdGVkSXRlbSA9IGZvdW5kSXRlbTtcclxuICAgICAgICB0aGlzLnNldFRleHQoKTtcclxuICAgIH1cclxuXHJcblxyXG5cclxuXHJcbiAgICAvLyBwcml2YXRlIF9kcm9wZG93bjogYW55O1xyXG4gICAgLy8gcHVibGljIGdldCBkcm9wZG93bigpOiBhbnkge1xyXG4gICAgLy8gICAgIGlmICghdGhpcy5fZHJvcGRvd24pIHtcclxuICAgIC8vICAgICAgICAgbGV0IGVsID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2J0bi0nICsgdGhpcy5lbGVtZW50SWQpO1xyXG4gICAgLy8gICAgICAgICB0aGlzLl9kcm9wZG93biA9IG5ldyBib290c3RyYXAuRHJvcGRvd24oZWwpO1xyXG4gICAgLy8gICAgIH1cclxuICAgIC8vICAgICByZXR1cm4gdGhpcy5fZHJvcGRvd247XHJcbiAgICAvLyB9XHJcbiAgICAvLyBwdWJsaWMgc2V0IGRyb3Bkb3duKHY6IGFueSkge1xyXG4gICAgLy8gICAgIHRoaXMuX2Ryb3Bkb3duID0gdjtcclxuICAgIC8vIH1cclxuXHJcbiAgICBuZ09uRGVzdHJveSgpIHtcclxuICAgICAgICAvLyB0aGlzLmRyb3Bkb3duPy5kaXNwb3NlKCk7XHJcbiAgICAgICAgLy8gdGhpcy5kcm9wZG93biA9IG51bGw7XHJcbiAgICB9XHJcblxyXG5cclxuICAgIG9uVGV4dENoYW5nZSh0ZXh0OiBzdHJpbmcpIHtcclxuICAgICAgICB0aGlzLmZpbHRlciA9IFN0cmluZ0hlbHBlci50cnlUcmltKHRleHQpO1xyXG4gICAgICAgIHRoaXMuZmlsdGVyRGF0YSgpO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgZmlsdGVyRGF0YSgpIHtcclxuICAgICAgICBpZiAodGhpcy5maWx0ZXIgJiYgdGhpcy5maWx0ZXIgIT09ICcnKSB7XHJcbiAgICAgICAgICAgIGxldCBzZWFyY2hTdHJpbmcgPSB0aGlzLmZpbHRlcjtcclxuICAgICAgICAgICAgaWYgKHRoaXMudGV4dEZpZWxkID09PSB1bmRlZmluZWQgfHwgdGhpcy50ZXh0RmllbGQgPT09IG51bGwpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMuZmlsdGVyZWREYXRhID0gdGhpcy5kYXRhLmZpbHRlcihpdGVtID0+IGl0ZW0udG9Mb3dlckNhc2UoKS5pbmRleE9mKHNlYXJjaFN0cmluZy50b0xvd2VyQ2FzZSgpKSAhPT0gLTEpO1xyXG4gICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5maWx0ZXJlZERhdGEgPSB0aGlzLmRhdGEuZmlsdGVyKGl0ZW0gPT4gaXRlbVt0aGlzLnRleHRGaWVsZF0udG9Mb3dlckNhc2UoKS5pbmRleE9mKHNlYXJjaFN0cmluZy50b0xvd2VyQ2FzZSgpKSAhPT0gLTEpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2UvLyBpZiAodGhpcy5maWx0ZXIgPT09IHVuZGVmaW5lZCB8fCB0aGlzLmZpbHRlciA9PT0gbnVsbCB8fCB0aGlzLmZpbHRlciA9PT0gJycpIFxyXG4gICAgICAgIHtcclxuICAgICAgICAgICAgdGhpcy5maWx0ZXJlZERhdGEgPSB0aGlzLmRhdGE7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIG9uRm9jdXMoZTogRm9jdXNFdmVudCkge1xyXG4gICAgICAgIC8vIGlmICh0aGlzLmRyb3Bkb3duKXtcclxuICAgICAgICAvLyAgIHRoaXMuZHJvcGRvd24uc2hvdygpO1xyXG4gICAgICAgIC8vIH1cclxuICAgICAgICAvLyBsZXQgZHJvcGRvd24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChgZHJvcGRvd24tbWVudS1jb250YWluZXItJHt0aGlzLmVsZW1lbnRJZH1gKTtcclxuICAgICAgICAvLyBjb25zb2xlLmxvZyhkcm9wZG93bik7XHJcblxyXG4gICAgICAgIC8vIGlmIChkcm9wZG93bikge1xyXG4gICAgICAgIC8vICAgY29uc29sZS5sb2coZHJvcGRvd24uY2xhc3NMaXN0KTtcclxuXHJcbiAgICAgICAgLy8gICBpZiAoIWRyb3Bkb3duLmNsYXNzTGlzdC5jb250YWlucygnc2hvdycpKSB7XHJcbiAgICAgICAgLy8gICAgIGxldCBlbCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGBpbnB1dC0ke3RoaXMuZWxlbWVudElkfWApO1xyXG4gICAgICAgIC8vICAgICBpZiAoZWwpIHtcclxuICAgICAgICAvLyAgICAgICBlbC5jbGljaygpO1xyXG4gICAgICAgIC8vICAgICB9XHJcbiAgICAgICAgLy8gICB9XHJcbiAgICAgICAgLy8gfVxyXG5cclxuXHJcblxyXG4gICAgICAgIC8vIGxldCBpbnB1dElkID0gJ2lucHV0LScgKyB0aGlzLmVsZW1lbnRJZDtcclxuICAgICAgICAvLyBsZXQgZWwgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChpbnB1dElkKTtcclxuICAgICAgICAvLyBpZiAoZWwpIHtcclxuXHJcbiAgICAgICAgLy8gICBpZiAoIWVsLmNsYXNzTGlzdC5jb250YWlucygnc2hvdycpKSB7XHJcbiAgICAgICAgLy8gICAgIHRoaXMuZHJvcGRvd24/LnNob3coKTtcclxuICAgICAgICAvLyAgIH1cclxuXHJcbiAgICAgICAgLy8gbGV0IG1lbnVJZCA9ICcjZHJvcGRvd24tbWVudS0nICsgdGhpcy5lbGVtZW50SWQgKyAnICcgKyAnYSc7XHJcbiAgICAgICAgLy8gZWwuYWRkRXZlbnRMaXN0ZW5lcigna2V5ZG93bicsIGZ1bmN0aW9uIChlKSB7XHJcbiAgICAgICAgLy8gICBpZiAoZS5rZXkgPT0gJ0Fycm93RG93bicpIHtcclxuICAgICAgICAvLyAgICAgKGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwobWVudUlkKVswXSBhcyBhbnkpLmZvY3VzKCk7XHJcbiAgICAgICAgLy8gICB9XHJcbiAgICAgICAgLy8gfSk7XHJcbiAgICAgICAgLy8gfVxyXG4gICAgfVxyXG4gICAgaW5wdXRVbmZvY3VzZWQoKSB7XHJcbiAgICAgICAgLy8gdGhpcy5leHBhbmRlZCA9IGZhbHNlO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgc2V0VGV4dCgpIHtcclxuICAgICAgICBpZiAodGhpcy5fc2VsZWN0ZWRJdGVtID09PSB1bmRlZmluZWQgfHwgdGhpcy5fc2VsZWN0ZWRJdGVtID09PSBudWxsKSB7XHJcbiAgICAgICAgICAgIHRoaXMudGV4dCA9IG51bGw7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2UgaWYgKHRoaXMudGV4dEZpZWxkID09PSB1bmRlZmluZWQgfHwgdGhpcy50ZXh0RmllbGQgPT09IG51bGwpIHtcclxuICAgICAgICAgICAgdGhpcy50ZXh0ID0gdGhpcy5fc2VsZWN0ZWRJdGVtO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHRoaXMudGV4dCA9IHRoaXMuX3NlbGVjdGVkSXRlbVt0aGlzLnRleHRGaWVsZF07XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHNlbGVjdEl0ZW0oaXRlbTogYW55KSB7XHJcblxyXG4gICAgICAgIGlmICh0aGlzLl9zZWxlY3RlZEl0ZW0gIT09IGl0ZW0pIHtcclxuICAgICAgICAgICAgdGhpcy5fc2VsZWN0ZWRJdGVtID0gaXRlbTtcclxuICAgICAgICAgICAgdGhpcy5zZWxlY3RlZEl0ZW1DaGFuZ2UuZW1pdChpdGVtKTtcclxuXHJcbiAgICAgICAgICAgIHRoaXMuc2V0VGV4dCgpO1xyXG5cclxuICAgICAgICAgICAgLy9zZXQgdmFsdWVcclxuICAgICAgICAgICAgbGV0IHY7XHJcbiAgICAgICAgICAgIGlmICh0aGlzLnZhbHVlRmllbGQgPT09IHVuZGVmaW5lZCB8fCB0aGlzLnZhbHVlRmllbGQgPT09IG51bGwgfHwgdGhpcy52YWx1ZUZpZWxkID09PSAnJykge1xyXG4gICAgICAgICAgICAgICAgLy8gdGhpcy52YWx1ZSA9IHZcclxuICAgICAgICAgICAgICAgIHYgPSBpdGVtO1xyXG4gICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgLy8gdGhpcy52YWx1ZSA9IHZbdGhpcy52YWx1ZUZpZWxkXTtcclxuICAgICAgICAgICAgICAgIHYgPSBpdGVtW3RoaXMudmFsdWVGaWVsZF07XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIC8vaWYgdmFsdWUgbm90IGVxdWFscyB0aGVuIGVtaXQgdmFsdWVDaGFuZ2VcclxuICAgICAgICAgICAgaWYgKHRoaXMuX3ZhbHVlICE9PSB2KSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLl92YWx1ZSA9IHY7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnZhbHVlQ2hhbmdlLmVtaXQodik7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG5cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwiaW5wdXQtZ3JvdXAgcG9zaXRpb24tcmVsYXRpdmVcIiBpZD1cImRyb3Bkb3duLW1lbnUtY29udGFpbmVyLXt7ZWxlbWVudElkfX1cIj5cclxuICA8aW5wdXQgdHlwZT1cInRleHRcIiBjbGFzcz1cImZvcm0tY29udHJvbFwiIHBsYWNlaG9sZGVyPVwie3twbGFjZWhvbGRlcn19XCIgZGF0YS1icy10b2dnbGU9XCJkcm9wZG93blwiIGlkPVwiaW5wdXQte3tlbGVtZW50SWR9fVwiIFsobmdNb2RlbCldPVwidGV4dFwiIChuZ01vZGVsQ2hhbmdlKT1cIm9uVGV4dENoYW5nZSgkZXZlbnQpXCIgKGZvY3VzKT1cIm9uRm9jdXMoJGV2ZW50KVwiIChibHVyKT1cImlucHV0VW5mb2N1c2VkKClcIj5cclxuICA8YnV0dG9uIGNsYXNzPVwiYnRuIGJ0bi1vdXRsaW5lLXNlY29uZGFyeSBkcm9wZG93bi10b2dnbGVcIiBpZD1cImJ0bi17e2VsZW1lbnRJZH19XCIgdHlwZT1cImJ1dHRvblwiIGRhdGEtYnMtdG9nZ2xlPVwiZHJvcGRvd25cIiBhcmlhLWV4cGFuZGVkPVwiZmFsc2VcIiBkYXRhLWJzLXJlZmVyZW5jZT1cInBhcmVudFwiPjwvYnV0dG9uPlxyXG4gIDx1bCBjbGFzcz1cImRyb3Bkb3duLW1lbnUgZHJvcGRvd24tbWVudS1zdGFydCB3LTEwMCBzY3JvbGxhYmxlLW1lbnVcIiBpZD1cImRyb3Bkb3duLW1lbnUte3tlbGVtZW50SWR9fVwiPlxyXG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInRleHRGaWVsZFwiPlxyXG4gICAgICA8bGkgKm5nRm9yPVwibGV0IGVudHJ5IG9mIGZpbHRlcmVkRGF0YVwiPlxyXG4gICAgICAgIDxhIGhyZWY9XCJqYXZhc2NyaXB0OnZvaWQoMClcIiAoY2xpY2spPVwic2VsZWN0SXRlbShlbnRyeSlcIiBjbGFzcz1cImRyb3Bkb3duLWl0ZW1cIj57e2VudHJ5W3RleHRGaWVsZF19fTwvYT5cclxuICAgICAgPC9saT5cclxuICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiF0ZXh0RmllbGRcIj5cclxuICAgICAgPGxpICpuZ0Zvcj1cImxldCBlbnRyeSBvZiBmaWx0ZXJlZERhdGFcIj5cclxuICAgICAgICA8YSBocmVmPVwiamF2YXNjcmlwdDp2b2lkKDApXCIgKGNsaWNrKT1cInNlbGVjdEl0ZW0oZW50cnkpXCIgY2xhc3M9XCJkcm9wZG93bi1pdGVtXCI+e3t0ZXh0RmllbGR9fTwvYT5cclxuICAgICAgPC9saT5cclxuICAgIDwvbmctY29udGFpbmVyPlxyXG4gIDwvdWw+XHJcbjwvZGl2PlxyXG48IS0tIDxrZW5kby1hdXRvY29tcGxldGVcclxuICBbZGF0YV09XCJkYXRhXCJcclxuICBbZmlsdGVyYWJsZV09XCJ0cnVlXCJcclxuICAodmFsdWVDaGFuZ2UpPVwidmFsdWVDaGFuZ2UoJGV2ZW50KVwiXHJcbiAgKGZpbHRlckNoYW5nZSk9XCJmaWx0ZXJDaGFuZ2UoJGV2ZW50KVwiXHJcbiAgKG9wZW4pPVwib3BlbigpXCJcclxuICAoY2xvc2UpPVwiY2xvc2UoKVwiXHJcbiAgKGZvY3VzKT1cImZvY3VzKClcIlxyXG4gIChibHVyKT1cImJsdXIoKVwiPlxyXG48L2tlbmRvLWF1dG9jb21wbGV0ZT4gLS0+Il19