zek 16.0.27 → 16.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (100) hide show
  1. package/README.md +1 -1
  2. package/esm2022/lib/components/base.component.mjs +5 -6
  3. package/esm2022/lib/components/core-ui.component.mjs +5 -6
  4. package/esm2022/lib/components/core.component.mjs +5 -6
  5. package/esm2022/lib/components/edit-base.component.mjs +13 -16
  6. package/esm2022/lib/components/list-base.component.mjs +5 -6
  7. package/esm2022/lib/modules/age/age.module.mjs +6 -7
  8. package/esm2022/lib/modules/age/age.pipe.mjs +5 -6
  9. package/esm2022/lib/modules/alert/alert/alert.mjs +5 -6
  10. package/esm2022/lib/modules/alert/alert.module.mjs +6 -7
  11. package/esm2022/lib/modules/alert/toast/toast.mjs +5 -6
  12. package/esm2022/lib/modules/alert/validation/validation.mjs +5 -6
  13. package/esm2022/lib/modules/autocomplete/autocomplete.directive.mjs +5 -6
  14. package/esm2022/lib/modules/autocomplete/autocomplete.module.mjs +6 -7
  15. package/esm2022/lib/modules/bb/bb-modal-base.component.mjs +5 -6
  16. package/esm2022/lib/modules/bb/bb-modal-toolbar.mjs +5 -6
  17. package/esm2022/lib/modules/bb/bb.component.mjs +5 -6
  18. package/esm2022/lib/modules/bb/bb.module.mjs +6 -7
  19. package/esm2022/lib/modules/callback/callback.module.mjs +6 -7
  20. package/esm2022/lib/modules/callback/callback.pipe.mjs +5 -6
  21. package/esm2022/lib/modules/card/card/card.component.mjs +5 -6
  22. package/esm2022/lib/modules/card/card.module.mjs +6 -7
  23. package/esm2022/lib/modules/date-ago/date-ago.pipe.mjs +5 -6
  24. package/esm2022/lib/modules/date-ago/date.module.mjs +6 -7
  25. package/esm2022/lib/modules/datepicker/date-value-accessor.mjs +5 -6
  26. package/esm2022/lib/modules/datepicker/datepicker.module.mjs +6 -7
  27. package/esm2022/lib/modules/edit-toolbar/edit-toolbar.component.mjs +5 -6
  28. package/esm2022/lib/modules/edit-toolbar/edit-toolbar.module.mjs +6 -7
  29. package/esm2022/lib/modules/file/file-size.pipe.mjs +5 -6
  30. package/esm2022/lib/modules/file/file.module.mjs +6 -7
  31. package/esm2022/lib/modules/file-viewer/file-viewer.mjs +5 -6
  32. package/esm2022/lib/modules/file-viewer/module.mjs +6 -7
  33. package/esm2022/lib/modules/google-login-button/google-login-button.mjs +96 -0
  34. package/esm2022/lib/modules/google-login-button/index.mjs +3 -0
  35. package/esm2022/lib/modules/google-login-button/loader.mjs +10 -0
  36. package/esm2022/lib/modules/google-login-button/module.mjs +40 -0
  37. package/esm2022/lib/modules/grid-toolbar/grid-toolbar/grid-toolbar.component.mjs +5 -6
  38. package/esm2022/lib/modules/grid-toolbar/grid-toolbar-bar/grid-toolbar-bar.component.mjs +5 -6
  39. package/esm2022/lib/modules/grid-toolbar/grid-toolbar.module.mjs +6 -7
  40. package/esm2022/lib/modules/index.mjs +2 -1
  41. package/esm2022/lib/modules/list-toolbar/list-toolbar.component.mjs +5 -6
  42. package/esm2022/lib/modules/list-toolbar/list-toolbar.module.mjs +6 -7
  43. package/esm2022/lib/modules/loading/loading-interceptor.mjs +5 -6
  44. package/esm2022/lib/modules/loading/loading.component.mjs +5 -6
  45. package/esm2022/lib/modules/loading/loading.module.mjs +6 -7
  46. package/esm2022/lib/modules/modal/filter-modal/filter-modal.component.mjs +5 -6
  47. package/esm2022/lib/modules/modal/modal/modal.component.mjs +25 -31
  48. package/esm2022/lib/modules/modal/modal.module.mjs +6 -7
  49. package/esm2022/lib/modules/modal/sum-modal/sum-modal.component.mjs +5 -6
  50. package/esm2022/lib/modules/page-title/page-title.component.mjs +5 -6
  51. package/esm2022/lib/modules/page-title/page-title.module.mjs +6 -7
  52. package/esm2022/lib/modules/pager/pager/pager.component.mjs +5 -6
  53. package/esm2022/lib/modules/pager/pager.module.mjs +6 -7
  54. package/esm2022/lib/modules/password/module.mjs +6 -7
  55. package/esm2022/lib/modules/password/password.mjs +5 -6
  56. package/esm2022/lib/modules/progress/module.mjs +6 -7
  57. package/esm2022/lib/modules/progress/progress.mjs +5 -6
  58. package/esm2022/lib/modules/radio/radio-button.component.mjs +5 -6
  59. package/esm2022/lib/modules/radio/radio.module.mjs +6 -7
  60. package/esm2022/lib/modules/readonly/readonly.directive.mjs +5 -6
  61. package/esm2022/lib/modules/readonly/readonly.module.mjs +6 -7
  62. package/esm2022/lib/modules/recaptcha/recaptcha.module.mjs +6 -7
  63. package/esm2022/lib/modules/recaptcha/recaptcha.service.mjs +5 -6
  64. package/esm2022/lib/modules/safe/safe.module.mjs +6 -7
  65. package/esm2022/lib/modules/safe/safe.pipe.mjs +5 -6
  66. package/esm2022/lib/modules/select/module.mjs +6 -7
  67. package/esm2022/lib/modules/select/select.mjs +5 -6
  68. package/esm2022/lib/modules/select2/select2.component.mjs +5 -6
  69. package/esm2022/lib/modules/select2/select2.module.mjs +6 -7
  70. package/esm2022/lib/modules/select2-multiple/module.mjs +6 -7
  71. package/esm2022/lib/modules/select2-multiple/select2-multiple.mjs +5 -6
  72. package/esm2022/lib/modules/sort/module.mjs +6 -7
  73. package/esm2022/lib/modules/sort/sort-button-group/sort-button-group.mjs +5 -6
  74. package/esm2022/lib/modules/sort/sort.mjs +5 -6
  75. package/esm2022/lib/modules/time/time.module.mjs +6 -7
  76. package/esm2022/lib/modules/time/time.pipe.mjs +5 -6
  77. package/esm2022/lib/modules/time/timer-service.mjs +5 -6
  78. package/esm2022/lib/modules/validator/field-validator.mjs +5 -6
  79. package/esm2022/lib/modules/validator/validator.module.mjs +6 -7
  80. package/esm2022/lib/modules/validators/directive.mjs +12 -14
  81. package/esm2022/lib/modules/validators/module.mjs +6 -7
  82. package/esm2022/lib/modules/wizard/wizard/wizard.component.mjs +5 -6
  83. package/esm2022/lib/modules/wizard/wizard.module.mjs +6 -7
  84. package/esm2022/lib/modules/wizard/wizard2/wizard2.component.mjs +5 -6
  85. package/esm2022/lib/services/alert.service.mjs +5 -6
  86. package/esm2022/lib/services/auth-guard.service.mjs +5 -6
  87. package/esm2022/lib/services/auth.service.mjs +5 -6
  88. package/esm2022/lib/services/http-error-handler.service.mjs +5 -6
  89. package/esm2022/lib/services/web.api.mjs +5 -6
  90. package/esm2022/lib/utils/date-helper.mjs +2 -3
  91. package/esm2022/lib/utils/validation-helper.mjs +2 -3
  92. package/esm2022/lib/zek.module.mjs +6 -7
  93. package/fesm2022/zek.mjs +446 -312
  94. package/fesm2022/zek.mjs.map +1 -1
  95. package/lib/modules/google-login-button/google-login-button.d.ts +27 -0
  96. package/lib/modules/google-login-button/index.d.ts +2 -0
  97. package/lib/modules/google-login-button/loader.d.ts +10 -0
  98. package/lib/modules/google-login-button/module.d.ts +12 -0
  99. package/lib/modules/index.d.ts +1 -0
  100. package/package.json +3 -3
@@ -38,10 +38,10 @@ class AbstractValidatorDirective {
38
38
  enabled(input) {
39
39
  return input != null /* both `null` and `undefined` */;
40
40
  }
41
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: AbstractValidatorDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
42
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.0.1", type: AbstractValidatorDirective, usesOnChanges: true, ngImport: i0 }); }
41
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: AbstractValidatorDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
42
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.1.7", type: AbstractValidatorDirective, usesOnChanges: true, ngImport: i0 }); }
43
43
  }
44
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: AbstractValidatorDirective, decorators: [{
44
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: AbstractValidatorDirective, decorators: [{
45
45
  type: Directive
46
46
  }] });
47
47
  export const RANGE_VALIDATOR = {
@@ -49,7 +49,7 @@ export const RANGE_VALIDATOR = {
49
49
  useExisting: forwardRef(() => RangeValidator),
50
50
  multi: true
51
51
  };
52
- class RangeValidator extends AbstractValidatorDirective {
52
+ export class RangeValidator extends AbstractValidatorDirective {
53
53
  constructor() {
54
54
  super(...arguments);
55
55
  /** @internal */
@@ -59,11 +59,10 @@ class RangeValidator extends AbstractValidatorDirective {
59
59
  /** @internal */
60
60
  this.createValidator = (range) => rangeValidator(range);
61
61
  }
62
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: RangeValidator, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
63
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.0.1", type: RangeValidator, selector: "input[type=number][range][formControlName],input[type=number][range][formControl],input[type=number][range][ngModel]", inputs: { range: "range" }, host: { properties: { "attr.range": "_enabled ? range : null" } }, providers: [RANGE_VALIDATOR], usesInheritance: true, ngImport: i0 }); }
62
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: RangeValidator, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
63
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.1.7", type: RangeValidator, selector: "input[type=number][range][formControlName],input[type=number][range][formControl],input[type=number][range][ngModel]", inputs: { range: "range" }, host: { properties: { "attr.range": "_enabled ? range : null" } }, providers: [RANGE_VALIDATOR], usesInheritance: true, ngImport: i0 }); }
64
64
  }
65
- export { RangeValidator };
66
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: RangeValidator, decorators: [{
65
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: RangeValidator, decorators: [{
67
66
  type: Directive,
68
67
  args: [{
69
68
  selector: 'input[type=number][range][formControlName],input[type=number][range][formControl],input[type=number][range][ngModel]',
@@ -82,7 +81,7 @@ export const MATCH_VALIDATOR = {
82
81
  useExisting: forwardRef(() => MatchValidator),
83
82
  multi: true
84
83
  };
85
- class MatchValidator extends AbstractValidatorDirective {
84
+ export class MatchValidator extends AbstractValidatorDirective {
86
85
  constructor() {
87
86
  super(...arguments);
88
87
  /** @internal */
@@ -92,11 +91,10 @@ class MatchValidator extends AbstractValidatorDirective {
92
91
  /** @internal */
93
92
  this.createValidator = (input) => matchValidator(input);
94
93
  }
95
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: MatchValidator, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
96
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.0.1", type: MatchValidator, selector: "[match][formControlName],match][formControl],[match][ngModel]", inputs: { match: "match" }, host: { properties: { "attr.match": "_enabled ? match : null" } }, providers: [MATCH_VALIDATOR], usesInheritance: true, ngImport: i0 }); }
94
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: MatchValidator, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
95
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.1.7", type: MatchValidator, selector: "[match][formControlName],match][formControl],[match][ngModel]", inputs: { match: "match" }, host: { properties: { "attr.match": "_enabled ? match : null" } }, providers: [MATCH_VALIDATOR], usesInheritance: true, ngImport: i0 }); }
97
96
  }
98
- export { MatchValidator };
99
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: MatchValidator, decorators: [{
97
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: MatchValidator, decorators: [{
100
98
  type: Directive,
101
99
  args: [{
102
100
  selector: '[match][formControlName],match][formControl],[match][ngModel]',
@@ -106,4 +104,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.1", ngImpor
106
104
  }], propDecorators: { match: [{
107
105
  type: Input
108
106
  }] } });
109
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvemVrL3NyYy9saWIvbW9kdWxlcy92YWxpZGF0b3JzL2RpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQTRCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZGLE9BQU8sRUFBbUIsYUFBYSxFQUE0QyxNQUFNLGdCQUFnQixDQUFDO0FBQzFHLE9BQU8sRUFBRSxjQUFjLEVBQUUsYUFBYSxFQUFFLGNBQWMsRUFBRSxNQUFNLGFBQWEsQ0FBQzs7QUFFNUUsU0FBUyxPQUFPLENBQUMsS0FBc0I7SUFDbkMsT0FBTyxPQUFPLEtBQUssS0FBSyxRQUFRLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDO0FBQ2pFLENBQUM7QUFPRCxNQUNlLDBCQUEwQjtJQUR6QztRQUVZLGVBQVUsR0FBZ0IsYUFBYSxDQUFDO0tBdUVuRDtJQWhDRyxhQUFhO0lBQ2IsV0FBVyxDQUFDLE9BQXNCO1FBQzlCLElBQUksSUFBSSxDQUFDLFNBQVMsSUFBSSxPQUFPLEVBQUU7WUFDM0IsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDO1lBQ3hFLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUNwQyxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQztZQUM5RSxJQUFJLElBQUksQ0FBQyxTQUFTLEVBQUU7Z0JBQ2hCLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQzthQUNwQjtTQUNKO0lBQ0wsQ0FBQztJQUVELGFBQWE7SUFDYixRQUFRLENBQUMsT0FBd0I7UUFDN0IsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3BDLENBQUM7SUFFRCxhQUFhO0lBQ2IseUJBQXlCLENBQUMsRUFBYztRQUNwQyxJQUFJLENBQUMsU0FBUyxHQUFHLEVBQUUsQ0FBQztJQUN4QixDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0gsT0FBTyxDQUFDLEtBQWM7UUFDbEIsT0FBTyxLQUFLLElBQUksSUFBSSxDQUFDLGlDQUFpQyxDQUFDO0lBQzNELENBQUM7OEdBdkVVLDBCQUEwQjtrR0FBMUIsMEJBQTBCOzsyRkFBMUIsMEJBQTBCO2tCQUR4QyxTQUFTOztBQThFVixNQUFNLENBQUMsTUFBTSxlQUFlLEdBQVE7SUFDaEMsT0FBTyxFQUFFLGFBQWE7SUFDdEIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxjQUFjLENBQUM7SUFDN0MsS0FBSyxFQUFFLElBQUk7Q0FDZCxDQUFDO0FBRUYsTUFLYSxjQUFlLFNBQVEsMEJBQTBCO0lBTDlEOztRQVFJLGdCQUFnQjtRQUNQLGNBQVMsR0FBRyxPQUFPLENBQUM7UUFDN0IsZ0JBQWdCO1FBQ1AsbUJBQWMsR0FBRyxDQUFDLEtBQXNCLEVBQVUsRUFBRSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUM3RSxnQkFBZ0I7UUFDUCxvQkFBZSxHQUFHLENBQUMsS0FBZSxFQUFlLEVBQUUsQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLENBQUM7S0FDdEY7OEdBVFksY0FBYztrR0FBZCxjQUFjLDhPQUhaLENBQUMsZUFBZSxDQUFDOztTQUduQixjQUFjOzJGQUFkLGNBQWM7a0JBTDFCLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLHNIQUFzSDtvQkFDaEksU0FBUyxFQUFFLENBQUMsZUFBZSxDQUFDO29CQUM1QixJQUFJLEVBQUUsRUFBRSxjQUFjLEVBQUUseUJBQXlCLEVBQUU7aUJBQ3REOzhCQUVZLEtBQUs7c0JBQWIsS0FBSzs7QUFtQlY7OztHQUdHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sZUFBZSxHQUFRO0lBQ2hDLE9BQU8sRUFBRSxhQUFhO0lBQ3RCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsY0FBYyxDQUFDO0lBQzdDLEtBQUssRUFBRSxJQUFJO0NBQ2QsQ0FBQztBQUVGLE1BS2EsY0FBZSxTQUFRLDBCQUEwQjtJQUw5RDs7UUFRSSxnQkFBZ0I7UUFDUCxjQUFTLEdBQUcsT0FBTyxDQUFDO1FBQzdCLGdCQUFnQjtRQUNQLG1CQUFjLEdBQUcsQ0FBQyxLQUFhLEVBQVUsRUFBRSxDQUFDLEtBQUssQ0FBQztRQUMzRCxnQkFBZ0I7UUFDUCxvQkFBZSxHQUFHLENBQUMsS0FBYSxFQUFlLEVBQUUsQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLENBQUM7S0FDcEY7OEdBVFksY0FBYztrR0FBZCxjQUFjLHVMQUhaLENBQUMsZUFBZSxDQUFDOztTQUduQixjQUFjOzJGQUFkLGNBQWM7a0JBTDFCLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLCtEQUErRDtvQkFDekUsU0FBUyxFQUFFLENBQUMsZUFBZSxDQUFDO29CQUM1QixJQUFJLEVBQUUsRUFBRSxjQUFjLEVBQUUseUJBQXlCLEVBQUU7aUJBQ3REOzhCQUVZLEtBQUs7c0JBQWIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbIlxyXG5pbXBvcnQgeyBEaXJlY3RpdmUsIGZvcndhcmRSZWYsIElucHV0LCBPbkNoYW5nZXMsIFNpbXBsZUNoYW5nZXMgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBBYnN0cmFjdENvbnRyb2wsIE5HX1ZBTElEQVRPUlMsIFZhbGlkYXRpb25FcnJvcnMsIFZhbGlkYXRvciwgVmFsaWRhdG9yRm4gfSBmcm9tIFwiQGFuZ3VsYXIvZm9ybXNcIjtcclxuaW1wb3J0IHsgbWF0Y2hWYWxpZGF0b3IsIG51bGxWYWxpZGF0b3IsIHJhbmdlVmFsaWRhdG9yIH0gZnJvbSBcIi4vdmFsaWRhdG9yXCI7XHJcblxyXG5mdW5jdGlvbiB0b0Zsb2F0KHZhbHVlOiBzdHJpbmcgfCBudW1iZXIpOiBudW1iZXIge1xyXG4gICAgcmV0dXJuIHR5cGVvZiB2YWx1ZSA9PT0gJ251bWJlcicgPyB2YWx1ZSA6IHBhcnNlRmxvYXQodmFsdWUpO1xyXG59XHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcbkBEaXJlY3RpdmUoKVxyXG5hYnN0cmFjdCBjbGFzcyBBYnN0cmFjdFZhbGlkYXRvckRpcmVjdGl2ZSBpbXBsZW1lbnRzIFZhbGlkYXRvciwgT25DaGFuZ2VzIHtcclxuICAgIHByaXZhdGUgX3ZhbGlkYXRvcjogVmFsaWRhdG9yRm4gPSBudWxsVmFsaWRhdG9yO1xyXG4gICAgcHJpdmF0ZSBfb25DaGFuZ2UhOiAoKSA9PiB2b2lkO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogQSBmbGFnIHRoYXQgdHJhY2tzIHdoZXRoZXIgdGhpcyB2YWxpZGF0b3IgaXMgZW5hYmxlZC5cclxuICAgICAqXHJcbiAgICAgKiBNYXJraW5nIGl0IGBpbnRlcm5hbGAgKHZzIGBwcm90ZWN0ZWRgKSwgc28gdGhhdCB0aGlzIGZsYWcgY2FuIGJlIHVzZWQgaW4gaG9zdCBiaW5kaW5ncyBvZlxyXG4gICAgICogZGlyZWN0aXZlIGNsYXNzZXMgdGhhdCBleHRlbmQgdGhpcyBiYXNlIGNsYXNzLlxyXG4gICAgICogQGludGVybmFsXHJcbiAgICAgKi9cclxuICAgIF9lbmFibGVkPzogYm9vbGVhbjtcclxuXHJcbiAgICAvKipcclxuICAgICAqIE5hbWUgb2YgYW4gaW5wdXQgdGhhdCBtYXRjaGVzIGRpcmVjdGl2ZSBzZWxlY3RvciBhdHRyaWJ1dGUgKGUuZy4gYG1pbmxlbmd0aGAgZm9yXHJcbiAgICAgKiBgTWluTGVuZ3RoRGlyZWN0aXZlYCkuIEFuIGlucHV0IHdpdGggYSBnaXZlbiBuYW1lIG1pZ2h0IGNvbnRhaW4gY29uZmlndXJhdGlvbiBpbmZvcm1hdGlvbiAobGlrZVxyXG4gICAgICogYG1pbmxlbmd0aD0nMTAnYCkgb3IgYSBmbGFnIHRoYXQgaW5kaWNhdGVzIHdoZXRoZXIgdmFsaWRhdG9yIHNob3VsZCBiZSBlbmFibGVkIChsaWtlXHJcbiAgICAgKiBgW3JlcXVpcmVkXT0nZmFsc2UnYCkuXHJcbiAgICAgKlxyXG4gICAgICogQGludGVybmFsXHJcbiAgICAgKi9cclxuICAgIGFic3RyYWN0IGlucHV0TmFtZTogc3RyaW5nO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogQ3JlYXRlcyBhbiBpbnN0YW5jZSBvZiBhIHZhbGlkYXRvciAoc3BlY2lmaWMgdG8gYSBkaXJlY3RpdmUgdGhhdCBleHRlbmRzIHRoaXMgYmFzZSBjbGFzcykuXHJcbiAgICAgKlxyXG4gICAgICogQGludGVybmFsXHJcbiAgICAgKi9cclxuICAgIGFic3RyYWN0IGNyZWF0ZVZhbGlkYXRvcihpbnB1dDogdW5rbm93bik6IFZhbGlkYXRvckZuO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogUGVyZm9ybXMgdGhlIG5lY2Vzc2FyeSBpbnB1dCBub3JtYWxpemF0aW9uIGJhc2VkIG9uIGEgc3BlY2lmaWMgbG9naWMgb2YgYSBEaXJlY3RpdmUuXHJcbiAgICAgKiBGb3IgZXhhbXBsZSwgdGhlIGZ1bmN0aW9uIG1pZ2h0IGJlIHVzZWQgdG8gY29udmVydCBzdHJpbmctYmFzZWQgcmVwcmVzZW50YXRpb24gb2YgdGhlXHJcbiAgICAgKiBgbWlubGVuZ3RoYCBpbnB1dCB0byBhbiBpbnRlZ2VyIHZhbHVlIHRoYXQgY2FuIGxhdGVyIGJlIHVzZWQgaW4gdGhlIGBWYWxpZGF0b3JzLm1pbkxlbmd0aGBcclxuICAgICAqIHZhbGlkYXRvci5cclxuICAgICAqXHJcbiAgICAgKiBAaW50ZXJuYWxcclxuICAgICAqL1xyXG4gICAgYWJzdHJhY3Qgbm9ybWFsaXplSW5wdXQoaW5wdXQ6IHVua25vd24pOiB1bmtub3duO1xyXG5cclxuICAgIC8qKiBAbm9kb2MgKi9cclxuICAgIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcclxuICAgICAgICBpZiAodGhpcy5pbnB1dE5hbWUgaW4gY2hhbmdlcykge1xyXG4gICAgICAgICAgICBjb25zdCBpbnB1dCA9IHRoaXMubm9ybWFsaXplSW5wdXQoY2hhbmdlc1t0aGlzLmlucHV0TmFtZV0uY3VycmVudFZhbHVlKTtcclxuICAgICAgICAgICAgdGhpcy5fZW5hYmxlZCA9IHRoaXMuZW5hYmxlZChpbnB1dCk7XHJcbiAgICAgICAgICAgIHRoaXMuX3ZhbGlkYXRvciA9IHRoaXMuX2VuYWJsZWQgPyB0aGlzLmNyZWF0ZVZhbGlkYXRvcihpbnB1dCkgOiBudWxsVmFsaWRhdG9yO1xyXG4gICAgICAgICAgICBpZiAodGhpcy5fb25DaGFuZ2UpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMuX29uQ2hhbmdlKCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLyoqIEBub2RvYyAqL1xyXG4gICAgdmFsaWRhdGUoY29udHJvbDogQWJzdHJhY3RDb250cm9sKTogVmFsaWRhdGlvbkVycm9ycyB8IG51bGwge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl92YWxpZGF0b3IoY29udHJvbCk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqIEBub2RvYyAqL1xyXG4gICAgcmVnaXN0ZXJPblZhbGlkYXRvckNoYW5nZShmbjogKCkgPT4gdm9pZCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuX29uQ2hhbmdlID0gZm47XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBAZGVzY3JpcHRpb25cclxuICAgICAqIERldGVybWluZXMgd2hldGhlciB0aGlzIHZhbGlkYXRvciBzaG91bGQgYmUgYWN0aXZlIG9yIG5vdCBiYXNlZCBvbiBhbiBpbnB1dC5cclxuICAgICAqIEJhc2UgY2xhc3MgaW1wbGVtZW50YXRpb24gY2hlY2tzIHdoZXRoZXIgYW4gaW5wdXQgaXMgZGVmaW5lZCAoaWYgdGhlIHZhbHVlIGlzIGRpZmZlcmVudCBmcm9tXHJcbiAgICAgKiBgbnVsbGAgYW5kIGB1bmRlZmluZWRgKS4gVmFsaWRhdG9yIGNsYXNzZXMgdGhhdCBleHRlbmQgdGhpcyBiYXNlIGNsYXNzIGNhbiBvdmVycmlkZSB0aGlzXHJcbiAgICAgKiBmdW5jdGlvbiB3aXRoIHRoZSBsb2dpYyBzcGVjaWZpYyB0byBhIHBhcnRpY3VsYXIgdmFsaWRhdG9yIGRpcmVjdGl2ZS5cclxuICAgICAqL1xyXG4gICAgZW5hYmxlZChpbnB1dDogdW5rbm93bik6IGJvb2xlYW4ge1xyXG4gICAgICAgIHJldHVybiBpbnB1dCAhPSBudWxsIC8qIGJvdGggYG51bGxgIGFuZCBgdW5kZWZpbmVkYCAqLztcclxuICAgIH1cclxufVxyXG5cclxuXHJcblxyXG5cclxuZXhwb3J0IGNvbnN0IFJBTkdFX1ZBTElEQVRPUjogYW55ID0ge1xyXG4gICAgcHJvdmlkZTogTkdfVkFMSURBVE9SUyxcclxuICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IFJhbmdlVmFsaWRhdG9yKSxcclxuICAgIG11bHRpOiB0cnVlXHJcbn07XHJcblxyXG5ARGlyZWN0aXZlKHtcclxuICAgIHNlbGVjdG9yOiAnaW5wdXRbdHlwZT1udW1iZXJdW3JhbmdlXVtmb3JtQ29udHJvbE5hbWVdLGlucHV0W3R5cGU9bnVtYmVyXVtyYW5nZV1bZm9ybUNvbnRyb2xdLGlucHV0W3R5cGU9bnVtYmVyXVtyYW5nZV1bbmdNb2RlbF0nLFxyXG4gICAgcHJvdmlkZXJzOiBbUkFOR0VfVkFMSURBVE9SXSxcclxuICAgIGhvc3Q6IHsgJ1thdHRyLnJhbmdlXSc6ICdfZW5hYmxlZCA/IHJhbmdlIDogbnVsbCcgfVxyXG59KVxyXG5leHBvcnQgY2xhc3MgUmFuZ2VWYWxpZGF0b3IgZXh0ZW5kcyBBYnN0cmFjdFZhbGlkYXRvckRpcmVjdGl2ZSB7XHJcbiAgICBASW5wdXQoKSByYW5nZSE6IFtudW1iZXIsIG51bWJlcl0gfCBudWxsO1xyXG5cclxuICAgIC8qKiBAaW50ZXJuYWwgKi9cclxuICAgIG92ZXJyaWRlIGlucHV0TmFtZSA9ICdyYW5nZSc7XHJcbiAgICAvKiogQGludGVybmFsICovXHJcbiAgICBvdmVycmlkZSBub3JtYWxpemVJbnB1dCA9IChpbnB1dDogc3RyaW5nIHwgbnVtYmVyKTogbnVtYmVyID0+IHRvRmxvYXQoaW5wdXQpO1xyXG4gICAgLyoqIEBpbnRlcm5hbCAqL1xyXG4gICAgb3ZlcnJpZGUgY3JlYXRlVmFsaWRhdG9yID0gKHJhbmdlOiBbbnVtYmVyXSk6IFZhbGlkYXRvckZuID0+IHJhbmdlVmFsaWRhdG9yKHJhbmdlKTtcclxufVxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuLyoqXHJcbiAqIEBkZXNjcmlwdGlvblxyXG4gKiBQcm92aWRlciB3aGljaCBhZGRzIGBNYXRjaFZhbGlkYXRvcmAgdG8gdGhlIGBOR19WQUxJREFUT1JTYCBtdWx0aS1wcm92aWRlciBsaXN0LlxyXG4gKi9cclxuZXhwb3J0IGNvbnN0IE1BVENIX1ZBTElEQVRPUjogYW55ID0ge1xyXG4gICAgcHJvdmlkZTogTkdfVkFMSURBVE9SUyxcclxuICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IE1hdGNoVmFsaWRhdG9yKSxcclxuICAgIG11bHRpOiB0cnVlXHJcbn07XHJcblxyXG5ARGlyZWN0aXZlKHtcclxuICAgIHNlbGVjdG9yOiAnW21hdGNoXVtmb3JtQ29udHJvbE5hbWVdLG1hdGNoXVtmb3JtQ29udHJvbF0sW21hdGNoXVtuZ01vZGVsXScsXHJcbiAgICBwcm92aWRlcnM6IFtNQVRDSF9WQUxJREFUT1JdLFxyXG4gICAgaG9zdDogeyAnW2F0dHIubWF0Y2hdJzogJ19lbmFibGVkID8gbWF0Y2ggOiBudWxsJyB9XHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBNYXRjaFZhbGlkYXRvciBleHRlbmRzIEFic3RyYWN0VmFsaWRhdG9yRGlyZWN0aXZlIHtcclxuICAgIEBJbnB1dCgpIG1hdGNoITogc3RyaW5nO1xyXG5cclxuICAgIC8qKiBAaW50ZXJuYWwgKi9cclxuICAgIG92ZXJyaWRlIGlucHV0TmFtZSA9ICdtYXRjaCc7XHJcbiAgICAvKiogQGludGVybmFsICovXHJcbiAgICBvdmVycmlkZSBub3JtYWxpemVJbnB1dCA9IChpbnB1dDogc3RyaW5nKTogc3RyaW5nID0+IGlucHV0O1xyXG4gICAgLyoqIEBpbnRlcm5hbCAqL1xyXG4gICAgb3ZlcnJpZGUgY3JlYXRlVmFsaWRhdG9yID0gKGlucHV0OiBzdHJpbmcpOiBWYWxpZGF0b3JGbiA9PiBtYXRjaFZhbGlkYXRvcihpbnB1dCk7XHJcbn0iXX0=
107
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvemVrL3NyYy9saWIvbW9kdWxlcy92YWxpZGF0b3JzL2RpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQTRCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZGLE9BQU8sRUFBbUIsYUFBYSxFQUE0QyxNQUFNLGdCQUFnQixDQUFDO0FBQzFHLE9BQU8sRUFBRSxjQUFjLEVBQUUsYUFBYSxFQUFFLGNBQWMsRUFBRSxNQUFNLGFBQWEsQ0FBQzs7QUFFNUUsU0FBUyxPQUFPLENBQUMsS0FBc0I7SUFDbkMsT0FBTyxPQUFPLEtBQUssS0FBSyxRQUFRLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDO0FBQ2pFLENBQUM7QUFPRCxNQUNlLDBCQUEwQjtJQUR6QztRQUVZLGVBQVUsR0FBZ0IsYUFBYSxDQUFDO0tBdUVuRDtJQWhDRyxhQUFhO0lBQ2IsV0FBVyxDQUFDLE9BQXNCO1FBQzlCLElBQUksSUFBSSxDQUFDLFNBQVMsSUFBSSxPQUFPLEVBQUU7WUFDM0IsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDO1lBQ3hFLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUNwQyxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQztZQUM5RSxJQUFJLElBQUksQ0FBQyxTQUFTLEVBQUU7Z0JBQ2hCLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQzthQUNwQjtTQUNKO0lBQ0wsQ0FBQztJQUVELGFBQWE7SUFDYixRQUFRLENBQUMsT0FBd0I7UUFDN0IsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3BDLENBQUM7SUFFRCxhQUFhO0lBQ2IseUJBQXlCLENBQUMsRUFBYztRQUNwQyxJQUFJLENBQUMsU0FBUyxHQUFHLEVBQUUsQ0FBQztJQUN4QixDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0gsT0FBTyxDQUFDLEtBQWM7UUFDbEIsT0FBTyxLQUFLLElBQUksSUFBSSxDQUFDLGlDQUFpQyxDQUFDO0lBQzNELENBQUM7OEdBdkVVLDBCQUEwQjtrR0FBMUIsMEJBQTBCOzsyRkFBMUIsMEJBQTBCO2tCQUR4QyxTQUFTOztBQThFVixNQUFNLENBQUMsTUFBTSxlQUFlLEdBQVE7SUFDaEMsT0FBTyxFQUFFLGFBQWE7SUFDdEIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxjQUFjLENBQUM7SUFDN0MsS0FBSyxFQUFFLElBQUk7Q0FDZCxDQUFDO0FBT0YsTUFBTSxPQUFPLGNBQWUsU0FBUSwwQkFBMEI7SUFMOUQ7O1FBUUksZ0JBQWdCO1FBQ1AsY0FBUyxHQUFHLE9BQU8sQ0FBQztRQUM3QixnQkFBZ0I7UUFDUCxtQkFBYyxHQUFHLENBQUMsS0FBc0IsRUFBVSxFQUFFLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzdFLGdCQUFnQjtRQUNQLG9CQUFlLEdBQUcsQ0FBQyxLQUFlLEVBQWUsRUFBRSxDQUFDLGNBQWMsQ0FBQyxLQUFLLENBQUMsQ0FBQztLQUN0Rjs4R0FUWSxjQUFjO2tHQUFkLGNBQWMsOE9BSFosQ0FBQyxlQUFlLENBQUM7OzJGQUduQixjQUFjO2tCQUwxQixTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxzSEFBc0g7b0JBQ2hJLFNBQVMsRUFBRSxDQUFDLGVBQWUsQ0FBQztvQkFDNUIsSUFBSSxFQUFFLEVBQUUsY0FBYyxFQUFFLHlCQUF5QixFQUFFO2lCQUN0RDs4QkFFWSxLQUFLO3NCQUFiLEtBQUs7O0FBbUJWOzs7R0FHRztBQUNILE1BQU0sQ0FBQyxNQUFNLGVBQWUsR0FBUTtJQUNoQyxPQUFPLEVBQUUsYUFBYTtJQUN0QixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLGNBQWMsQ0FBQztJQUM3QyxLQUFLLEVBQUUsSUFBSTtDQUNkLENBQUM7QUFPRixNQUFNLE9BQU8sY0FBZSxTQUFRLDBCQUEwQjtJQUw5RDs7UUFRSSxnQkFBZ0I7UUFDUCxjQUFTLEdBQUcsT0FBTyxDQUFDO1FBQzdCLGdCQUFnQjtRQUNQLG1CQUFjLEdBQUcsQ0FBQyxLQUFhLEVBQVUsRUFBRSxDQUFDLEtBQUssQ0FBQztRQUMzRCxnQkFBZ0I7UUFDUCxvQkFBZSxHQUFHLENBQUMsS0FBYSxFQUFlLEVBQUUsQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLENBQUM7S0FDcEY7OEdBVFksY0FBYztrR0FBZCxjQUFjLHVMQUhaLENBQUMsZUFBZSxDQUFDOzsyRkFHbkIsY0FBYztrQkFMMUIsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsK0RBQStEO29CQUN6RSxTQUFTLEVBQUUsQ0FBQyxlQUFlLENBQUM7b0JBQzVCLElBQUksRUFBRSxFQUFFLGNBQWMsRUFBRSx5QkFBeUIsRUFBRTtpQkFDdEQ7OEJBRVksS0FBSztzQkFBYixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiXHJcbmltcG9ydCB7IERpcmVjdGl2ZSwgZm9yd2FyZFJlZiwgSW5wdXQsIE9uQ2hhbmdlcywgU2ltcGxlQ2hhbmdlcyB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IEFic3RyYWN0Q29udHJvbCwgTkdfVkFMSURBVE9SUywgVmFsaWRhdGlvbkVycm9ycywgVmFsaWRhdG9yLCBWYWxpZGF0b3JGbiB9IGZyb20gXCJAYW5ndWxhci9mb3Jtc1wiO1xyXG5pbXBvcnQgeyBtYXRjaFZhbGlkYXRvciwgbnVsbFZhbGlkYXRvciwgcmFuZ2VWYWxpZGF0b3IgfSBmcm9tIFwiLi92YWxpZGF0b3JcIjtcclxuXHJcbmZ1bmN0aW9uIHRvRmxvYXQodmFsdWU6IHN0cmluZyB8IG51bWJlcik6IG51bWJlciB7XHJcbiAgICByZXR1cm4gdHlwZW9mIHZhbHVlID09PSAnbnVtYmVyJyA/IHZhbHVlIDogcGFyc2VGbG9hdCh2YWx1ZSk7XHJcbn1cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuQERpcmVjdGl2ZSgpXHJcbmFic3RyYWN0IGNsYXNzIEFic3RyYWN0VmFsaWRhdG9yRGlyZWN0aXZlIGltcGxlbWVudHMgVmFsaWRhdG9yLCBPbkNoYW5nZXMge1xyXG4gICAgcHJpdmF0ZSBfdmFsaWRhdG9yOiBWYWxpZGF0b3JGbiA9IG51bGxWYWxpZGF0b3I7XHJcbiAgICBwcml2YXRlIF9vbkNoYW5nZSE6ICgpID0+IHZvaWQ7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBBIGZsYWcgdGhhdCB0cmFja3Mgd2hldGhlciB0aGlzIHZhbGlkYXRvciBpcyBlbmFibGVkLlxyXG4gICAgICpcclxuICAgICAqIE1hcmtpbmcgaXQgYGludGVybmFsYCAodnMgYHByb3RlY3RlZGApLCBzbyB0aGF0IHRoaXMgZmxhZyBjYW4gYmUgdXNlZCBpbiBob3N0IGJpbmRpbmdzIG9mXHJcbiAgICAgKiBkaXJlY3RpdmUgY2xhc3NlcyB0aGF0IGV4dGVuZCB0aGlzIGJhc2UgY2xhc3MuXHJcbiAgICAgKiBAaW50ZXJuYWxcclxuICAgICAqL1xyXG4gICAgX2VuYWJsZWQ/OiBib29sZWFuO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogTmFtZSBvZiBhbiBpbnB1dCB0aGF0IG1hdGNoZXMgZGlyZWN0aXZlIHNlbGVjdG9yIGF0dHJpYnV0ZSAoZS5nLiBgbWlubGVuZ3RoYCBmb3JcclxuICAgICAqIGBNaW5MZW5ndGhEaXJlY3RpdmVgKS4gQW4gaW5wdXQgd2l0aCBhIGdpdmVuIG5hbWUgbWlnaHQgY29udGFpbiBjb25maWd1cmF0aW9uIGluZm9ybWF0aW9uIChsaWtlXHJcbiAgICAgKiBgbWlubGVuZ3RoPScxMCdgKSBvciBhIGZsYWcgdGhhdCBpbmRpY2F0ZXMgd2hldGhlciB2YWxpZGF0b3Igc2hvdWxkIGJlIGVuYWJsZWQgKGxpa2VcclxuICAgICAqIGBbcmVxdWlyZWRdPSdmYWxzZSdgKS5cclxuICAgICAqXHJcbiAgICAgKiBAaW50ZXJuYWxcclxuICAgICAqL1xyXG4gICAgYWJzdHJhY3QgaW5wdXROYW1lOiBzdHJpbmc7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBDcmVhdGVzIGFuIGluc3RhbmNlIG9mIGEgdmFsaWRhdG9yIChzcGVjaWZpYyB0byBhIGRpcmVjdGl2ZSB0aGF0IGV4dGVuZHMgdGhpcyBiYXNlIGNsYXNzKS5cclxuICAgICAqXHJcbiAgICAgKiBAaW50ZXJuYWxcclxuICAgICAqL1xyXG4gICAgYWJzdHJhY3QgY3JlYXRlVmFsaWRhdG9yKGlucHV0OiB1bmtub3duKTogVmFsaWRhdG9yRm47XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBQZXJmb3JtcyB0aGUgbmVjZXNzYXJ5IGlucHV0IG5vcm1hbGl6YXRpb24gYmFzZWQgb24gYSBzcGVjaWZpYyBsb2dpYyBvZiBhIERpcmVjdGl2ZS5cclxuICAgICAqIEZvciBleGFtcGxlLCB0aGUgZnVuY3Rpb24gbWlnaHQgYmUgdXNlZCB0byBjb252ZXJ0IHN0cmluZy1iYXNlZCByZXByZXNlbnRhdGlvbiBvZiB0aGVcclxuICAgICAqIGBtaW5sZW5ndGhgIGlucHV0IHRvIGFuIGludGVnZXIgdmFsdWUgdGhhdCBjYW4gbGF0ZXIgYmUgdXNlZCBpbiB0aGUgYFZhbGlkYXRvcnMubWluTGVuZ3RoYFxyXG4gICAgICogdmFsaWRhdG9yLlxyXG4gICAgICpcclxuICAgICAqIEBpbnRlcm5hbFxyXG4gICAgICovXHJcbiAgICBhYnN0cmFjdCBub3JtYWxpemVJbnB1dChpbnB1dDogdW5rbm93bik6IHVua25vd247XHJcblxyXG4gICAgLyoqIEBub2RvYyAqL1xyXG4gICAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xyXG4gICAgICAgIGlmICh0aGlzLmlucHV0TmFtZSBpbiBjaGFuZ2VzKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IGlucHV0ID0gdGhpcy5ub3JtYWxpemVJbnB1dChjaGFuZ2VzW3RoaXMuaW5wdXROYW1lXS5jdXJyZW50VmFsdWUpO1xyXG4gICAgICAgICAgICB0aGlzLl9lbmFibGVkID0gdGhpcy5lbmFibGVkKGlucHV0KTtcclxuICAgICAgICAgICAgdGhpcy5fdmFsaWRhdG9yID0gdGhpcy5fZW5hYmxlZCA/IHRoaXMuY3JlYXRlVmFsaWRhdG9yKGlucHV0KSA6IG51bGxWYWxpZGF0b3I7XHJcbiAgICAgICAgICAgIGlmICh0aGlzLl9vbkNoYW5nZSkge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5fb25DaGFuZ2UoKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvKiogQG5vZG9jICovXHJcbiAgICB2YWxpZGF0ZShjb250cm9sOiBBYnN0cmFjdENvbnRyb2wpOiBWYWxpZGF0aW9uRXJyb3JzIHwgbnVsbCB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX3ZhbGlkYXRvcihjb250cm9sKTtcclxuICAgIH1cclxuXHJcbiAgICAvKiogQG5vZG9jICovXHJcbiAgICByZWdpc3Rlck9uVmFsaWRhdG9yQ2hhbmdlKGZuOiAoKSA9PiB2b2lkKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5fb25DaGFuZ2UgPSBmbjtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIEBkZXNjcmlwdGlvblxyXG4gICAgICogRGV0ZXJtaW5lcyB3aGV0aGVyIHRoaXMgdmFsaWRhdG9yIHNob3VsZCBiZSBhY3RpdmUgb3Igbm90IGJhc2VkIG9uIGFuIGlucHV0LlxyXG4gICAgICogQmFzZSBjbGFzcyBpbXBsZW1lbnRhdGlvbiBjaGVja3Mgd2hldGhlciBhbiBpbnB1dCBpcyBkZWZpbmVkIChpZiB0aGUgdmFsdWUgaXMgZGlmZmVyZW50IGZyb21cclxuICAgICAqIGBudWxsYCBhbmQgYHVuZGVmaW5lZGApLiBWYWxpZGF0b3IgY2xhc3NlcyB0aGF0IGV4dGVuZCB0aGlzIGJhc2UgY2xhc3MgY2FuIG92ZXJyaWRlIHRoaXNcclxuICAgICAqIGZ1bmN0aW9uIHdpdGggdGhlIGxvZ2ljIHNwZWNpZmljIHRvIGEgcGFydGljdWxhciB2YWxpZGF0b3IgZGlyZWN0aXZlLlxyXG4gICAgICovXHJcbiAgICBlbmFibGVkKGlucHV0OiB1bmtub3duKTogYm9vbGVhbiB7XHJcbiAgICAgICAgcmV0dXJuIGlucHV0ICE9IG51bGwgLyogYm90aCBgbnVsbGAgYW5kIGB1bmRlZmluZWRgICovO1xyXG4gICAgfVxyXG59XHJcblxyXG5cclxuXHJcblxyXG5leHBvcnQgY29uc3QgUkFOR0VfVkFMSURBVE9SOiBhbnkgPSB7XHJcbiAgICBwcm92aWRlOiBOR19WQUxJREFUT1JTLFxyXG4gICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gUmFuZ2VWYWxpZGF0b3IpLFxyXG4gICAgbXVsdGk6IHRydWVcclxufTtcclxuXHJcbkBEaXJlY3RpdmUoe1xyXG4gICAgc2VsZWN0b3I6ICdpbnB1dFt0eXBlPW51bWJlcl1bcmFuZ2VdW2Zvcm1Db250cm9sTmFtZV0saW5wdXRbdHlwZT1udW1iZXJdW3JhbmdlXVtmb3JtQ29udHJvbF0saW5wdXRbdHlwZT1udW1iZXJdW3JhbmdlXVtuZ01vZGVsXScsXHJcbiAgICBwcm92aWRlcnM6IFtSQU5HRV9WQUxJREFUT1JdLFxyXG4gICAgaG9zdDogeyAnW2F0dHIucmFuZ2VdJzogJ19lbmFibGVkID8gcmFuZ2UgOiBudWxsJyB9XHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBSYW5nZVZhbGlkYXRvciBleHRlbmRzIEFic3RyYWN0VmFsaWRhdG9yRGlyZWN0aXZlIHtcclxuICAgIEBJbnB1dCgpIHJhbmdlITogW251bWJlciwgbnVtYmVyXSB8IG51bGw7XHJcblxyXG4gICAgLyoqIEBpbnRlcm5hbCAqL1xyXG4gICAgb3ZlcnJpZGUgaW5wdXROYW1lID0gJ3JhbmdlJztcclxuICAgIC8qKiBAaW50ZXJuYWwgKi9cclxuICAgIG92ZXJyaWRlIG5vcm1hbGl6ZUlucHV0ID0gKGlucHV0OiBzdHJpbmcgfCBudW1iZXIpOiBudW1iZXIgPT4gdG9GbG9hdChpbnB1dCk7XHJcbiAgICAvKiogQGludGVybmFsICovXHJcbiAgICBvdmVycmlkZSBjcmVhdGVWYWxpZGF0b3IgPSAocmFuZ2U6IFtudW1iZXJdKTogVmFsaWRhdG9yRm4gPT4gcmFuZ2VWYWxpZGF0b3IocmFuZ2UpO1xyXG59XHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG4vKipcclxuICogQGRlc2NyaXB0aW9uXHJcbiAqIFByb3ZpZGVyIHdoaWNoIGFkZHMgYE1hdGNoVmFsaWRhdG9yYCB0byB0aGUgYE5HX1ZBTElEQVRPUlNgIG11bHRpLXByb3ZpZGVyIGxpc3QuXHJcbiAqL1xyXG5leHBvcnQgY29uc3QgTUFUQ0hfVkFMSURBVE9SOiBhbnkgPSB7XHJcbiAgICBwcm92aWRlOiBOR19WQUxJREFUT1JTLFxyXG4gICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gTWF0Y2hWYWxpZGF0b3IpLFxyXG4gICAgbXVsdGk6IHRydWVcclxufTtcclxuXHJcbkBEaXJlY3RpdmUoe1xyXG4gICAgc2VsZWN0b3I6ICdbbWF0Y2hdW2Zvcm1Db250cm9sTmFtZV0sbWF0Y2hdW2Zvcm1Db250cm9sXSxbbWF0Y2hdW25nTW9kZWxdJyxcclxuICAgIHByb3ZpZGVyczogW01BVENIX1ZBTElEQVRPUl0sXHJcbiAgICBob3N0OiB7ICdbYXR0ci5tYXRjaF0nOiAnX2VuYWJsZWQgPyBtYXRjaCA6IG51bGwnIH1cclxufSlcclxuZXhwb3J0IGNsYXNzIE1hdGNoVmFsaWRhdG9yIGV4dGVuZHMgQWJzdHJhY3RWYWxpZGF0b3JEaXJlY3RpdmUge1xyXG4gICAgQElucHV0KCkgbWF0Y2ghOiBzdHJpbmc7XHJcblxyXG4gICAgLyoqIEBpbnRlcm5hbCAqL1xyXG4gICAgb3ZlcnJpZGUgaW5wdXROYW1lID0gJ21hdGNoJztcclxuICAgIC8qKiBAaW50ZXJuYWwgKi9cclxuICAgIG92ZXJyaWRlIG5vcm1hbGl6ZUlucHV0ID0gKGlucHV0OiBzdHJpbmcpOiBzdHJpbmcgPT4gaW5wdXQ7XHJcbiAgICAvKiogQGludGVybmFsICovXHJcbiAgICBvdmVycmlkZSBjcmVhdGVWYWxpZGF0b3IgPSAoaW5wdXQ6IHN0cmluZyk6IFZhbGlkYXRvckZuID0+IG1hdGNoVmFsaWRhdG9yKGlucHV0KTtcclxufSJdfQ==
@@ -2,15 +2,14 @@ import { NgModule } from '@angular/core';
2
2
  import { CommonModule } from '@angular/common';
3
3
  import { MatchValidator, RangeValidator } from './directive';
4
4
  import * as i0 from "@angular/core";
5
- class ValidatorsModule {
6
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: ValidatorsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
7
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.0.1", ngImport: i0, type: ValidatorsModule, declarations: [RangeValidator,
5
+ export class ValidatorsModule {
6
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: ValidatorsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
7
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.1.7", ngImport: i0, type: ValidatorsModule, declarations: [RangeValidator,
8
8
  MatchValidator], imports: [CommonModule], exports: [RangeValidator,
9
9
  MatchValidator] }); }
10
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: ValidatorsModule, imports: [CommonModule] }); }
10
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: ValidatorsModule, imports: [CommonModule] }); }
11
11
  }
12
- export { ValidatorsModule };
13
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: ValidatorsModule, decorators: [{
12
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: ValidatorsModule, decorators: [{
14
13
  type: NgModule,
15
14
  args: [{
16
15
  imports: [
@@ -26,4 +25,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.1", ngImpor
26
25
  ]
27
26
  }]
28
27
  }] });
29
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvemVrL3NyYy9saWIvbW9kdWxlcy92YWxpZGF0b3JzL21vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsY0FBYyxFQUFFLGNBQWMsRUFBRSxNQUFNLGFBQWEsQ0FBQzs7QUFFN0QsTUFhYSxnQkFBZ0I7OEdBQWhCLGdCQUFnQjsrR0FBaEIsZ0JBQWdCLGlCQVJyQixjQUFjO1lBQ2QsY0FBYyxhQUpkLFlBQVksYUFPWixjQUFjO1lBQ2QsY0FBYzsrR0FHVCxnQkFBZ0IsWUFYckIsWUFBWTs7U0FXUCxnQkFBZ0I7MkZBQWhCLGdCQUFnQjtrQkFiNUIsUUFBUTttQkFBQztvQkFDTixPQUFPLEVBQUU7d0JBQ0wsWUFBWTtxQkFDZjtvQkFDRCxZQUFZLEVBQUU7d0JBQ1YsY0FBYzt3QkFDZCxjQUFjO3FCQUNqQjtvQkFDRCxPQUFPLEVBQUU7d0JBQ0wsY0FBYzt3QkFDZCxjQUFjO3FCQUNqQjtpQkFDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IE1hdGNoVmFsaWRhdG9yLCBSYW5nZVZhbGlkYXRvciB9IGZyb20gJy4vZGlyZWN0aXZlJztcclxuXHJcbkBOZ01vZHVsZSh7XHJcbiAgICBpbXBvcnRzOiBbXHJcbiAgICAgICAgQ29tbW9uTW9kdWxlXHJcbiAgICBdLFxyXG4gICAgZGVjbGFyYXRpb25zOiBbXHJcbiAgICAgICAgUmFuZ2VWYWxpZGF0b3IsXHJcbiAgICAgICAgTWF0Y2hWYWxpZGF0b3IsXHJcbiAgICBdLFxyXG4gICAgZXhwb3J0czogW1xyXG4gICAgICAgIFJhbmdlVmFsaWRhdG9yLFxyXG4gICAgICAgIE1hdGNoVmFsaWRhdG9yXHJcbiAgICBdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBWYWxpZGF0b3JzTW9kdWxlIHsgfSJdfQ==
28
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvemVrL3NyYy9saWIvbW9kdWxlcy92YWxpZGF0b3JzL21vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsY0FBYyxFQUFFLGNBQWMsRUFBRSxNQUFNLGFBQWEsQ0FBQzs7QUFlN0QsTUFBTSxPQUFPLGdCQUFnQjs4R0FBaEIsZ0JBQWdCOytHQUFoQixnQkFBZ0IsaUJBUnJCLGNBQWM7WUFDZCxjQUFjLGFBSmQsWUFBWSxhQU9aLGNBQWM7WUFDZCxjQUFjOytHQUdULGdCQUFnQixZQVhyQixZQUFZOzsyRkFXUCxnQkFBZ0I7a0JBYjVCLFFBQVE7bUJBQUM7b0JBQ04sT0FBTyxFQUFFO3dCQUNMLFlBQVk7cUJBQ2Y7b0JBQ0QsWUFBWSxFQUFFO3dCQUNWLGNBQWM7d0JBQ2QsY0FBYztxQkFDakI7b0JBQ0QsT0FBTyxFQUFFO3dCQUNMLGNBQWM7d0JBQ2QsY0FBYztxQkFDakI7aUJBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBNYXRjaFZhbGlkYXRvciwgUmFuZ2VWYWxpZGF0b3IgfSBmcm9tICcuL2RpcmVjdGl2ZSc7XHJcblxyXG5ATmdNb2R1bGUoe1xyXG4gICAgaW1wb3J0czogW1xyXG4gICAgICAgIENvbW1vbk1vZHVsZVxyXG4gICAgXSxcclxuICAgIGRlY2xhcmF0aW9uczogW1xyXG4gICAgICAgIFJhbmdlVmFsaWRhdG9yLFxyXG4gICAgICAgIE1hdGNoVmFsaWRhdG9yLFxyXG4gICAgXSxcclxuICAgIGV4cG9ydHM6IFtcclxuICAgICAgICBSYW5nZVZhbGlkYXRvcixcclxuICAgICAgICBNYXRjaFZhbGlkYXRvclxyXG4gICAgXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgVmFsaWRhdG9yc01vZHVsZSB7IH0iXX0=
@@ -2,7 +2,7 @@ import { Component, Input } from "@angular/core";
2
2
  import * as i0 from "@angular/core";
3
3
  import * as i1 from "@angular/common";
4
4
  import * as i2 from "../../safe/safe.pipe";
5
- class WizardComponent {
5
+ export class WizardComponent {
6
6
  constructor() {
7
7
  this.progress = 0;
8
8
  this.stepsArray = [
@@ -51,11 +51,10 @@ class WizardComponent {
51
51
  next() {
52
52
  this.step++;
53
53
  }
54
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: WizardComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
55
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.1", type: WizardComponent, selector: "zek-wizard", inputs: { steps: "steps", step: "step" }, ngImport: i0, template: "<div class=\"position-relative m-4\">\r\n <div class=\"progress\" style=\"height: 1px;\">\r\n <div class=\"progress-bar\" role=\"progressbar\" [style.width.%]=\"progress\" [attr.aria-valuenow]=\"progress\" aria-valuemin=\"0\" aria-valuemax=\"100\"></div>\r\n </div>\r\n <!-- left: 33%!important -->\r\n <!-- [style.left.%]=\"item.progress\" -->\r\n <button *ngFor=\"let item of stepsArray\" [attr.style]=\"('width:2rem; height:2rem; left:' + item.progress + '%!important') | safe:'style'\" type=\"button\" class=\"position-absolute top-0 translate-middle btn btn-sm btn-primary rounded-pill\">{{ item.step }}</button>\r\n</div>", dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "pipe", type: i2.ZekSafePipe, name: "safe" }] }); }
54
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: WizardComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
55
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", type: WizardComponent, selector: "zek-wizard", inputs: { steps: "steps", step: "step" }, ngImport: i0, template: "<div class=\"position-relative m-4\">\r\n <div class=\"progress\" style=\"height: 1px;\">\r\n <div class=\"progress-bar\" role=\"progressbar\" [style.width.%]=\"progress\" [attr.aria-valuenow]=\"progress\" aria-valuemin=\"0\" aria-valuemax=\"100\"></div>\r\n </div>\r\n <!-- left: 33%!important -->\r\n <!-- [style.left.%]=\"item.progress\" -->\r\n <button *ngFor=\"let item of stepsArray\" [attr.style]=\"('width:2rem; height:2rem; left:' + item.progress + '%!important') | safe:'style'\" type=\"button\" class=\"position-absolute top-0 translate-middle btn btn-sm btn-primary rounded-pill\">{{ item.step }}</button>\r\n</div>", dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "pipe", type: i2.ZekSafePipe, name: "safe" }] }); }
56
56
  }
57
- export { WizardComponent };
58
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: WizardComponent, decorators: [{
57
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: WizardComponent, decorators: [{
59
58
  type: Component,
60
59
  args: [{ selector: 'zek-wizard', template: "<div class=\"position-relative m-4\">\r\n <div class=\"progress\" style=\"height: 1px;\">\r\n <div class=\"progress-bar\" role=\"progressbar\" [style.width.%]=\"progress\" [attr.aria-valuenow]=\"progress\" aria-valuemin=\"0\" aria-valuemax=\"100\"></div>\r\n </div>\r\n <!-- left: 33%!important -->\r\n <!-- [style.left.%]=\"item.progress\" -->\r\n <button *ngFor=\"let item of stepsArray\" [attr.style]=\"('width:2rem; height:2rem; left:' + item.progress + '%!important') | safe:'style'\" type=\"button\" class=\"position-absolute top-0 translate-middle btn btn-sm btn-primary rounded-pill\">{{ item.step }}</button>\r\n</div>" }]
61
60
  }], propDecorators: { steps: [{
@@ -63,4 +62,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.1", ngImpor
63
62
  }], step: [{
64
63
  type: Input
65
64
  }] } });
66
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2l6YXJkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3play9zcmMvbGliL21vZHVsZXMvd2l6YXJkL3dpemFyZC93aXphcmQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvemVrL3NyYy9saWIvbW9kdWxlcy93aXphcmQvd2l6YXJkL3dpemFyZC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQzs7OztBQUVqRCxNQUlhLGVBQWU7SUFKNUI7UUFNSSxhQUFRLEdBQUcsQ0FBQyxDQUFDO1FBQ2IsZUFBVSxHQUF5QztZQUMvQyxFQUFFLElBQUksRUFBRSxDQUFDLEVBQUUsUUFBUSxFQUFFLENBQUMsRUFBRTtTQUMzQixDQUFDO1FBRU0sV0FBTSxHQUFXLENBQUMsQ0FBQztRQWVuQixVQUFLLEdBQVcsQ0FBQyxDQUFDO0tBbUM3QjtJQWpERyxJQUNJLEtBQUs7UUFDTCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUM7SUFDdkIsQ0FBQztJQUNELElBQUksS0FBSyxDQUFDLENBQVM7UUFDZixJQUFJLENBQUMsR0FBRyxDQUFDO1lBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUVqQixJQUFJLElBQUksQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFO1lBQ25CLElBQUksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO1lBQ2hCLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztTQUNmO0lBQ0wsQ0FBQztJQUlELElBQ0ksSUFBSTtRQUNKLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQztJQUN0QixDQUFDO0lBQ0QsSUFBSSxJQUFJLENBQUMsQ0FBUztRQUNkLElBQUksQ0FBQyxHQUFHLENBQUM7WUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDO2FBQ1osSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDLEtBQUs7WUFBRSxDQUFDLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQztRQUV4QyxJQUFJLElBQUksQ0FBQyxLQUFLLEtBQUssQ0FBQyxFQUFFO1lBQ2xCLElBQUksQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDO1lBRWYsSUFBSSxLQUFLLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxLQUFLLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUM3RCxJQUFJLEtBQUssRUFBRTtnQkFDUCxJQUFJLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQyxRQUFRLENBQUM7YUFDbEM7U0FDSjtJQUNMLENBQUM7SUFHTyxJQUFJO1FBQ1IsSUFBSSxDQUFDLFVBQVUsR0FBRyxFQUFFLENBQUM7UUFDckIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsRUFBRSxJQUFJLEVBQUUsQ0FBQyxFQUFFLFFBQVEsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBRS9DLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsRUFBRSxFQUFFO1lBQ2pDLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEVBQUUsSUFBSSxFQUFFLENBQUMsR0FBRyxDQUFDLEVBQUUsUUFBUSxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxHQUFHLENBQUMsSUFBSSxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUM7U0FDM0Y7SUFDTCxDQUFDO0lBRUQsUUFBUTtRQUNKLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUNoQixDQUFDO0lBQ0QsSUFBSTtRQUNBLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUNoQixDQUFDOzhHQXhEUSxlQUFlO2tHQUFmLGVBQWUsNEZDTjVCLDZuQkFPTTs7U0RETyxlQUFlOzJGQUFmLGVBQWU7a0JBSjNCLFNBQVM7K0JBQ0ksWUFBWTs4QkFZbEIsS0FBSztzQkFEUixLQUFLO2dCQWdCRixJQUFJO3NCQURQLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0IH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICd6ZWstd2l6YXJkJyxcclxuICAgIHRlbXBsYXRlVXJsOiAnLi93aXphcmQuY29tcG9uZW50Lmh0bWwnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBXaXphcmRDb21wb25lbnQge1xyXG5cclxuICAgIHByb2dyZXNzID0gMDtcclxuICAgIHN0ZXBzQXJyYXk6IHsgc3RlcDogbnVtYmVyLCBwcm9ncmVzczogbnVtYmVyIH1bXSA9IFtcclxuICAgICAgICB7IHN0ZXA6IDEsIHByb2dyZXNzOiAwIH1cclxuICAgIF07XHJcblxyXG4gICAgcHJpdmF0ZSBfc3RlcHM6IG51bWJlciA9IDE7XHJcbiAgICBASW5wdXQoKVxyXG4gICAgZ2V0IHN0ZXBzKCk6IG51bWJlciB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX3N0ZXBzO1xyXG4gICAgfVxyXG4gICAgc2V0IHN0ZXBzKHY6IG51bWJlcikge1xyXG4gICAgICAgIGlmICh2IDwgMSkgdiA9IDE7XHJcblxyXG4gICAgICAgIGlmICh0aGlzLl9zdGVwcyAhPT0gdikge1xyXG4gICAgICAgICAgICB0aGlzLl9zdGVwcyA9IHY7XHJcbiAgICAgICAgICAgIHRoaXMuaW5pdCgpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcblxyXG4gICAgcHJpdmF0ZSBfc3RlcDogbnVtYmVyID0gMTtcclxuICAgIEBJbnB1dCgpXHJcbiAgICBnZXQgc3RlcCgpOiBudW1iZXIge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl9zdGVwO1xyXG4gICAgfVxyXG4gICAgc2V0IHN0ZXAodjogbnVtYmVyKSB7XHJcbiAgICAgICAgaWYgKHYgPCAxKSB2ID0gMTtcclxuICAgICAgICBlbHNlIGlmICh2ID4gdGhpcy5zdGVwcykgdiA9IHRoaXMuc3RlcHM7XHJcblxyXG4gICAgICAgIGlmICh0aGlzLl9zdGVwICE9PSB2KSB7XHJcbiAgICAgICAgICAgIHRoaXMuX3N0ZXAgPSB2O1xyXG5cclxuICAgICAgICAgICAgbGV0IGZvdW5kID0gdGhpcy5zdGVwc0FycmF5LmZpbmQoeCA9PiB4LnN0ZXAgPT09IHRoaXMuX3N0ZXApO1xyXG4gICAgICAgICAgICBpZiAoZm91bmQpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMucHJvZ3Jlc3MgPSBmb3VuZC5wcm9ncmVzcztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcblxyXG4gICAgcHJpdmF0ZSBpbml0KCkge1xyXG4gICAgICAgIHRoaXMuc3RlcHNBcnJheSA9IFtdO1xyXG4gICAgICAgIHRoaXMuc3RlcHNBcnJheS5wdXNoKHsgc3RlcDogMSwgcHJvZ3Jlc3M6IDAgfSk7XHJcblxyXG4gICAgICAgIGZvciAobGV0IGkgPSAxOyBpIDwgdGhpcy5zdGVwczsgaSsrKSB7XHJcbiAgICAgICAgICAgIHRoaXMuc3RlcHNBcnJheS5wdXNoKHsgc3RlcDogaSArIDEsIHByb2dyZXNzOiBNYXRoLnJvdW5kKDEwMCAvICh0aGlzLnN0ZXBzIC0gMSkgKiBpKSB9KTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcHJldmlvdXMoKSB7XHJcbiAgICAgICAgdGhpcy5zdGVwLS07XHJcbiAgICB9XHJcbiAgICBuZXh0KCkge1xyXG4gICAgICAgIHRoaXMuc3RlcCsrO1xyXG4gICAgfVxyXG59IiwiPGRpdiBjbGFzcz1cInBvc2l0aW9uLXJlbGF0aXZlIG0tNFwiPlxyXG4gIDxkaXYgY2xhc3M9XCJwcm9ncmVzc1wiIHN0eWxlPVwiaGVpZ2h0OiAxcHg7XCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwicHJvZ3Jlc3MtYmFyXCIgcm9sZT1cInByb2dyZXNzYmFyXCIgW3N0eWxlLndpZHRoLiVdPVwicHJvZ3Jlc3NcIiBbYXR0ci5hcmlhLXZhbHVlbm93XT1cInByb2dyZXNzXCIgYXJpYS12YWx1ZW1pbj1cIjBcIiBhcmlhLXZhbHVlbWF4PVwiMTAwXCI+PC9kaXY+XHJcbiAgPC9kaXY+XHJcbiAgPCEtLSBsZWZ0OiAzMyUhaW1wb3J0YW50IC0tPlxyXG4gIDwhLS0gW3N0eWxlLmxlZnQuJV09XCJpdGVtLnByb2dyZXNzXCIgLS0+XHJcbiAgPGJ1dHRvbiAqbmdGb3I9XCJsZXQgaXRlbSBvZiBzdGVwc0FycmF5XCIgW2F0dHIuc3R5bGVdPVwiKCd3aWR0aDoycmVtOyBoZWlnaHQ6MnJlbTsgbGVmdDonICsgaXRlbS5wcm9ncmVzcyArICclIWltcG9ydGFudCcpIHwgc2FmZTonc3R5bGUnXCIgdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwicG9zaXRpb24tYWJzb2x1dGUgdG9wLTAgdHJhbnNsYXRlLW1pZGRsZSBidG4gYnRuLXNtIGJ0bi1wcmltYXJ5IHJvdW5kZWQtcGlsbFwiPnt7IGl0ZW0uc3RlcCB9fTwvYnV0dG9uPlxyXG48L2Rpdj4iXX0=
65
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2l6YXJkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3play9zcmMvbGliL21vZHVsZXMvd2l6YXJkL3dpemFyZC93aXphcmQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvemVrL3NyYy9saWIvbW9kdWxlcy93aXphcmQvd2l6YXJkL3dpemFyZC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQzs7OztBQU1qRCxNQUFNLE9BQU8sZUFBZTtJQUo1QjtRQU1JLGFBQVEsR0FBRyxDQUFDLENBQUM7UUFDYixlQUFVLEdBQXlDO1lBQy9DLEVBQUUsSUFBSSxFQUFFLENBQUMsRUFBRSxRQUFRLEVBQUUsQ0FBQyxFQUFFO1NBQzNCLENBQUM7UUFFTSxXQUFNLEdBQVcsQ0FBQyxDQUFDO1FBZW5CLFVBQUssR0FBVyxDQUFDLENBQUM7S0FtQzdCO0lBakRHLElBQ0ksS0FBSztRQUNMLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQztJQUN2QixDQUFDO0lBQ0QsSUFBSSxLQUFLLENBQUMsQ0FBUztRQUNmLElBQUksQ0FBQyxHQUFHLENBQUM7WUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBRWpCLElBQUksSUFBSSxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUU7WUFDbkIsSUFBSSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7WUFDaEIsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO1NBQ2Y7SUFDTCxDQUFDO0lBSUQsSUFDSSxJQUFJO1FBQ0osT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDO0lBQ3RCLENBQUM7SUFDRCxJQUFJLElBQUksQ0FBQyxDQUFTO1FBQ2QsSUFBSSxDQUFDLEdBQUcsQ0FBQztZQUFFLENBQUMsR0FBRyxDQUFDLENBQUM7YUFDWixJQUFJLENBQUMsR0FBRyxJQUFJLENBQUMsS0FBSztZQUFFLENBQUMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDO1FBRXhDLElBQUksSUFBSSxDQUFDLEtBQUssS0FBSyxDQUFDLEVBQUU7WUFDbEIsSUFBSSxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUM7WUFFZixJQUFJLEtBQUssR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLEtBQUssSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQzdELElBQUksS0FBSyxFQUFFO2dCQUNQLElBQUksQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDLFFBQVEsQ0FBQzthQUNsQztTQUNKO0lBQ0wsQ0FBQztJQUdPLElBQUk7UUFDUixJQUFJLENBQUMsVUFBVSxHQUFHLEVBQUUsQ0FBQztRQUNyQixJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxFQUFFLElBQUksRUFBRSxDQUFDLEVBQUUsUUFBUSxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUM7UUFFL0MsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQyxFQUFFLEVBQUU7WUFDakMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsRUFBRSxJQUFJLEVBQUUsQ0FBQyxHQUFHLENBQUMsRUFBRSxRQUFRLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLEdBQUcsQ0FBQyxJQUFJLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQztTQUMzRjtJQUNMLENBQUM7SUFFRCxRQUFRO1FBQ0osSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ2hCLENBQUM7SUFDRCxJQUFJO1FBQ0EsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ2hCLENBQUM7OEdBeERRLGVBQWU7a0dBQWYsZUFBZSw0RkNONUIsNm5CQU9NOzsyRkRETyxlQUFlO2tCQUozQixTQUFTOytCQUNJLFlBQVk7OEJBWWxCLEtBQUs7c0JBRFIsS0FBSztnQkFnQkYsSUFBSTtzQkFEUCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAnemVrLXdpemFyZCcsXHJcbiAgICB0ZW1wbGF0ZVVybDogJy4vd2l6YXJkLmNvbXBvbmVudC5odG1sJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgV2l6YXJkQ29tcG9uZW50IHtcclxuXHJcbiAgICBwcm9ncmVzcyA9IDA7XHJcbiAgICBzdGVwc0FycmF5OiB7IHN0ZXA6IG51bWJlciwgcHJvZ3Jlc3M6IG51bWJlciB9W10gPSBbXHJcbiAgICAgICAgeyBzdGVwOiAxLCBwcm9ncmVzczogMCB9XHJcbiAgICBdO1xyXG5cclxuICAgIHByaXZhdGUgX3N0ZXBzOiBudW1iZXIgPSAxO1xyXG4gICAgQElucHV0KClcclxuICAgIGdldCBzdGVwcygpOiBudW1iZXIge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl9zdGVwcztcclxuICAgIH1cclxuICAgIHNldCBzdGVwcyh2OiBudW1iZXIpIHtcclxuICAgICAgICBpZiAodiA8IDEpIHYgPSAxO1xyXG5cclxuICAgICAgICBpZiAodGhpcy5fc3RlcHMgIT09IHYpIHtcclxuICAgICAgICAgICAgdGhpcy5fc3RlcHMgPSB2O1xyXG4gICAgICAgICAgICB0aGlzLmluaXQoKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG5cclxuICAgIHByaXZhdGUgX3N0ZXA6IG51bWJlciA9IDE7XHJcbiAgICBASW5wdXQoKVxyXG4gICAgZ2V0IHN0ZXAoKTogbnVtYmVyIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fc3RlcDtcclxuICAgIH1cclxuICAgIHNldCBzdGVwKHY6IG51bWJlcikge1xyXG4gICAgICAgIGlmICh2IDwgMSkgdiA9IDE7XHJcbiAgICAgICAgZWxzZSBpZiAodiA+IHRoaXMuc3RlcHMpIHYgPSB0aGlzLnN0ZXBzO1xyXG5cclxuICAgICAgICBpZiAodGhpcy5fc3RlcCAhPT0gdikge1xyXG4gICAgICAgICAgICB0aGlzLl9zdGVwID0gdjtcclxuXHJcbiAgICAgICAgICAgIGxldCBmb3VuZCA9IHRoaXMuc3RlcHNBcnJheS5maW5kKHggPT4geC5zdGVwID09PSB0aGlzLl9zdGVwKTtcclxuICAgICAgICAgICAgaWYgKGZvdW5kKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnByb2dyZXNzID0gZm91bmQucHJvZ3Jlc3M7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG5cclxuICAgIHByaXZhdGUgaW5pdCgpIHtcclxuICAgICAgICB0aGlzLnN0ZXBzQXJyYXkgPSBbXTtcclxuICAgICAgICB0aGlzLnN0ZXBzQXJyYXkucHVzaCh7IHN0ZXA6IDEsIHByb2dyZXNzOiAwIH0pO1xyXG5cclxuICAgICAgICBmb3IgKGxldCBpID0gMTsgaSA8IHRoaXMuc3RlcHM7IGkrKykge1xyXG4gICAgICAgICAgICB0aGlzLnN0ZXBzQXJyYXkucHVzaCh7IHN0ZXA6IGkgKyAxLCBwcm9ncmVzczogTWF0aC5yb3VuZCgxMDAgLyAodGhpcy5zdGVwcyAtIDEpICogaSkgfSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHByZXZpb3VzKCkge1xyXG4gICAgICAgIHRoaXMuc3RlcC0tO1xyXG4gICAgfVxyXG4gICAgbmV4dCgpIHtcclxuICAgICAgICB0aGlzLnN0ZXArKztcclxuICAgIH1cclxufSIsIjxkaXYgY2xhc3M9XCJwb3NpdGlvbi1yZWxhdGl2ZSBtLTRcIj5cclxuICA8ZGl2IGNsYXNzPVwicHJvZ3Jlc3NcIiBzdHlsZT1cImhlaWdodDogMXB4O1wiPlxyXG4gICAgPGRpdiBjbGFzcz1cInByb2dyZXNzLWJhclwiIHJvbGU9XCJwcm9ncmVzc2JhclwiIFtzdHlsZS53aWR0aC4lXT1cInByb2dyZXNzXCIgW2F0dHIuYXJpYS12YWx1ZW5vd109XCJwcm9ncmVzc1wiIGFyaWEtdmFsdWVtaW49XCIwXCIgYXJpYS12YWx1ZW1heD1cIjEwMFwiPjwvZGl2PlxyXG4gIDwvZGl2PlxyXG4gIDwhLS0gbGVmdDogMzMlIWltcG9ydGFudCAtLT5cclxuICA8IS0tIFtzdHlsZS5sZWZ0LiVdPVwiaXRlbS5wcm9ncmVzc1wiIC0tPlxyXG4gIDxidXR0b24gKm5nRm9yPVwibGV0IGl0ZW0gb2Ygc3RlcHNBcnJheVwiIFthdHRyLnN0eWxlXT1cIignd2lkdGg6MnJlbTsgaGVpZ2h0OjJyZW07IGxlZnQ6JyArIGl0ZW0ucHJvZ3Jlc3MgKyAnJSFpbXBvcnRhbnQnKSB8IHNhZmU6J3N0eWxlJ1wiIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cInBvc2l0aW9uLWFic29sdXRlIHRvcC0wIHRyYW5zbGF0ZS1taWRkbGUgYnRuIGJ0bi1zbSBidG4tcHJpbWFyeSByb3VuZGVkLXBpbGxcIj57eyBpdGVtLnN0ZXAgfX08L2J1dHRvbj5cclxuPC9kaXY+Il19
@@ -4,17 +4,16 @@ import { WizardComponent } from './wizard/wizard.component';
4
4
  import { WizardComponent2 } from './wizard2/wizard2.component';
5
5
  import { ZekSafeModule } from '../safe';
6
6
  import * as i0 from "@angular/core";
7
- class WizardModule {
8
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: WizardModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
9
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.0.1", ngImport: i0, type: WizardModule, declarations: [WizardComponent,
7
+ export class WizardModule {
8
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: WizardModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
9
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.1.7", ngImport: i0, type: WizardModule, declarations: [WizardComponent,
10
10
  WizardComponent2], imports: [CommonModule,
11
11
  ZekSafeModule], exports: [WizardComponent,
12
12
  WizardComponent2] }); }
13
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: WizardModule, imports: [CommonModule,
13
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: WizardModule, imports: [CommonModule,
14
14
  ZekSafeModule] }); }
15
15
  }
16
- export { WizardModule };
17
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: WizardModule, decorators: [{
16
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: WizardModule, decorators: [{
18
17
  type: NgModule,
19
18
  args: [{
20
19
  imports: [
@@ -31,4 +30,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.1", ngImpor
31
30
  ]
32
31
  }]
33
32
  }] });
34
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2l6YXJkLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3play9zcmMvbGliL21vZHVsZXMvd2l6YXJkL3dpemFyZC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFL0MsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzVELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQy9ELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxTQUFTLENBQUM7O0FBRXhDLE1BY2EsWUFBWTs4R0FBWixZQUFZOytHQUFaLFlBQVksaUJBUmpCLGVBQWU7WUFDZixnQkFBZ0IsYUFMaEIsWUFBWTtZQUNaLGFBQWEsYUFPYixlQUFlO1lBQ2YsZ0JBQWdCOytHQUdYLFlBQVksWUFaakIsWUFBWTtZQUNaLGFBQWE7O1NBV1IsWUFBWTsyRkFBWixZQUFZO2tCQWR4QixRQUFRO21CQUFDO29CQUNOLE9BQU8sRUFBRTt3QkFDTCxZQUFZO3dCQUNaLGFBQWE7cUJBQ2hCO29CQUNELFlBQVksRUFBRTt3QkFDVixlQUFlO3dCQUNmLGdCQUFnQjtxQkFDbkI7b0JBQ0QsT0FBTyxFQUFFO3dCQUNMLGVBQWU7d0JBQ2YsZ0JBQWdCO3FCQUNuQjtpQkFDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcblxyXG5pbXBvcnQgeyBXaXphcmRDb21wb25lbnQgfSBmcm9tICcuL3dpemFyZC93aXphcmQuY29tcG9uZW50JztcclxuaW1wb3J0IHsgV2l6YXJkQ29tcG9uZW50MiB9IGZyb20gJy4vd2l6YXJkMi93aXphcmQyLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFpla1NhZmVNb2R1bGUgfSBmcm9tICcuLi9zYWZlJztcclxuXHJcbkBOZ01vZHVsZSh7XHJcbiAgICBpbXBvcnRzOiBbXHJcbiAgICAgICAgQ29tbW9uTW9kdWxlLFxyXG4gICAgICAgIFpla1NhZmVNb2R1bGVcclxuICAgIF0sXHJcbiAgICBkZWNsYXJhdGlvbnM6IFtcclxuICAgICAgICBXaXphcmRDb21wb25lbnQsXHJcbiAgICAgICAgV2l6YXJkQ29tcG9uZW50MlxyXG4gICAgXSxcclxuICAgIGV4cG9ydHM6IFtcclxuICAgICAgICBXaXphcmRDb21wb25lbnQsXHJcbiAgICAgICAgV2l6YXJkQ29tcG9uZW50MlxyXG4gICAgXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgV2l6YXJkTW9kdWxlIHsgfSJdfQ==
33
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2l6YXJkLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3play9zcmMvbGliL21vZHVsZXMvd2l6YXJkL3dpemFyZC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFL0MsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzVELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQy9ELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxTQUFTLENBQUM7O0FBZ0J4QyxNQUFNLE9BQU8sWUFBWTs4R0FBWixZQUFZOytHQUFaLFlBQVksaUJBUmpCLGVBQWU7WUFDZixnQkFBZ0IsYUFMaEIsWUFBWTtZQUNaLGFBQWEsYUFPYixlQUFlO1lBQ2YsZ0JBQWdCOytHQUdYLFlBQVksWUFaakIsWUFBWTtZQUNaLGFBQWE7OzJGQVdSLFlBQVk7a0JBZHhCLFFBQVE7bUJBQUM7b0JBQ04sT0FBTyxFQUFFO3dCQUNMLFlBQVk7d0JBQ1osYUFBYTtxQkFDaEI7b0JBQ0QsWUFBWSxFQUFFO3dCQUNWLGVBQWU7d0JBQ2YsZ0JBQWdCO3FCQUNuQjtvQkFDRCxPQUFPLEVBQUU7d0JBQ0wsZUFBZTt3QkFDZixnQkFBZ0I7cUJBQ25CO2lCQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuXHJcbmltcG9ydCB7IFdpemFyZENvbXBvbmVudCB9IGZyb20gJy4vd2l6YXJkL3dpemFyZC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBXaXphcmRDb21wb25lbnQyIH0gZnJvbSAnLi93aXphcmQyL3dpemFyZDIuY29tcG9uZW50JztcclxuaW1wb3J0IHsgWmVrU2FmZU1vZHVsZSB9IGZyb20gJy4uL3NhZmUnO1xyXG5cclxuQE5nTW9kdWxlKHtcclxuICAgIGltcG9ydHM6IFtcclxuICAgICAgICBDb21tb25Nb2R1bGUsXHJcbiAgICAgICAgWmVrU2FmZU1vZHVsZVxyXG4gICAgXSxcclxuICAgIGRlY2xhcmF0aW9uczogW1xyXG4gICAgICAgIFdpemFyZENvbXBvbmVudCxcclxuICAgICAgICBXaXphcmRDb21wb25lbnQyXHJcbiAgICBdLFxyXG4gICAgZXhwb3J0czogW1xyXG4gICAgICAgIFdpemFyZENvbXBvbmVudCxcclxuICAgICAgICBXaXphcmRDb21wb25lbnQyXHJcbiAgICBdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBXaXphcmRNb2R1bGUgeyB9Il19
@@ -2,13 +2,12 @@ import { Component } from "@angular/core";
2
2
  import { WizardComponent } from "../wizard/wizard.component";
3
3
  import * as i0 from "@angular/core";
4
4
  import * as i1 from "@angular/common";
5
- class WizardComponent2 extends WizardComponent {
6
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: WizardComponent2, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
7
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.1", type: WizardComponent2, selector: "zek-wizard2", usesInheritance: true, ngImport: i0, template: "<div class=\"m-2\">\r\n <button *ngFor=\"let item of stepsArray\"\r\n [class.btn-outline-secondary]=\"item.step >= steps\"\r\n [class.btn-primary]=\"item.step < steps\"\r\n type=\"button\"\r\n class=\"btn btn-sm mr me-2\"></button>\r\n</div>", dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }] }); }
5
+ export class WizardComponent2 extends WizardComponent {
6
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: WizardComponent2, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
7
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", type: WizardComponent2, selector: "zek-wizard2", usesInheritance: true, ngImport: i0, template: "<div class=\"m-2\">\r\n <button *ngFor=\"let item of stepsArray\"\r\n [class.btn-outline-secondary]=\"item.step >= steps\"\r\n [class.btn-primary]=\"item.step < steps\"\r\n type=\"button\"\r\n class=\"btn btn-sm mr me-2\"></button>\r\n</div>", dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }] }); }
8
8
  }
9
- export { WizardComponent2 };
10
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: WizardComponent2, decorators: [{
9
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: WizardComponent2, decorators: [{
11
10
  type: Component,
12
11
  args: [{ selector: 'zek-wizard2', template: "<div class=\"m-2\">\r\n <button *ngFor=\"let item of stepsArray\"\r\n [class.btn-outline-secondary]=\"item.step >= steps\"\r\n [class.btn-primary]=\"item.step < steps\"\r\n type=\"button\"\r\n class=\"btn btn-sm mr me-2\"></button>\r\n</div>" }]
13
12
  }] });
14
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2l6YXJkMi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy96ZWsvc3JjL2xpYi9tb2R1bGVzL3dpemFyZC93aXphcmQyL3dpemFyZDIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvemVrL3NyYy9saWIvbW9kdWxlcy93aXphcmQvd2l6YXJkMi93aXphcmQyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUMsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDRCQUE0QixDQUFDOzs7QUFFN0QsTUFJYSxnQkFBaUIsU0FBUSxlQUFlOzhHQUF4QyxnQkFBZ0I7a0dBQWhCLGdCQUFnQiwwRUNQN0IsZ1FBTU07O1NEQ08sZ0JBQWdCOzJGQUFoQixnQkFBZ0I7a0JBSjVCLFNBQVM7K0JBQ0ksYUFBYSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IFdpemFyZENvbXBvbmVudCB9IGZyb20gXCIuLi93aXphcmQvd2l6YXJkLmNvbXBvbmVudFwiO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogJ3play13aXphcmQyJyxcclxuICAgIHRlbXBsYXRlVXJsOiAnLi93aXphcmQyLmNvbXBvbmVudC5odG1sJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgV2l6YXJkQ29tcG9uZW50MiBleHRlbmRzIFdpemFyZENvbXBvbmVudHtcclxuXHJcbn0iLCI8ZGl2IGNsYXNzPVwibS0yXCI+XHJcbiAgPGJ1dHRvbiAqbmdGb3I9XCJsZXQgaXRlbSBvZiBzdGVwc0FycmF5XCJcclxuICAgIFtjbGFzcy5idG4tb3V0bGluZS1zZWNvbmRhcnldPVwiaXRlbS5zdGVwID49IHN0ZXBzXCJcclxuICAgIFtjbGFzcy5idG4tcHJpbWFyeV09XCJpdGVtLnN0ZXAgPCBzdGVwc1wiXHJcbiAgICB0eXBlPVwiYnV0dG9uXCJcclxuICAgIGNsYXNzPVwiYnRuIGJ0bi1zbSBtciBtZS0yXCI+PC9idXR0b24+XHJcbjwvZGl2PiJdfQ==
13
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2l6YXJkMi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy96ZWsvc3JjL2xpYi9tb2R1bGVzL3dpemFyZC93aXphcmQyL3dpemFyZDIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvemVrL3NyYy9saWIvbW9kdWxlcy93aXphcmQvd2l6YXJkMi93aXphcmQyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUMsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDRCQUE0QixDQUFDOzs7QUFNN0QsTUFBTSxPQUFPLGdCQUFpQixTQUFRLGVBQWU7OEdBQXhDLGdCQUFnQjtrR0FBaEIsZ0JBQWdCLDBFQ1A3QixnUUFNTTs7MkZEQ08sZ0JBQWdCO2tCQUo1QixTQUFTOytCQUNJLGFBQWEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBXaXphcmRDb21wb25lbnQgfSBmcm9tIFwiLi4vd2l6YXJkL3dpemFyZC5jb21wb25lbnRcIjtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICd6ZWstd2l6YXJkMicsXHJcbiAgICB0ZW1wbGF0ZVVybDogJy4vd2l6YXJkMi5jb21wb25lbnQuaHRtbCdcclxufSlcclxuZXhwb3J0IGNsYXNzIFdpemFyZENvbXBvbmVudDIgZXh0ZW5kcyBXaXphcmRDb21wb25lbnR7XHJcblxyXG59IiwiPGRpdiBjbGFzcz1cIm0tMlwiPlxyXG4gIDxidXR0b24gKm5nRm9yPVwibGV0IGl0ZW0gb2Ygc3RlcHNBcnJheVwiXHJcbiAgICBbY2xhc3MuYnRuLW91dGxpbmUtc2Vjb25kYXJ5XT1cIml0ZW0uc3RlcCA+PSBzdGVwc1wiXHJcbiAgICBbY2xhc3MuYnRuLXByaW1hcnldPVwiaXRlbS5zdGVwIDwgc3RlcHNcIlxyXG4gICAgdHlwZT1cImJ1dHRvblwiXHJcbiAgICBjbGFzcz1cImJ0biBidG4tc20gbXIgbWUtMlwiPjwvYnV0dG9uPlxyXG48L2Rpdj4iXX0=
@@ -10,7 +10,7 @@ export class Alert extends BaseAlert {
10
10
  }
11
11
  export class Toast extends BaseAlert {
12
12
  }
13
- class AlertService {
13
+ export class AlertService {
14
14
  // private id = 0;
15
15
  constructor(router) {
16
16
  this.alertSubject = new Subject();
@@ -66,11 +66,10 @@ class AlertService {
66
66
  }
67
67
  this.toastSubject.next({ message, title, type: alertType, icon }); //, id: `${this.id++}`
68
68
  }
69
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: AlertService, deps: [{ token: i1.Router }], target: i0.ɵɵFactoryTarget.Injectable }); }
70
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: AlertService }); }
69
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: AlertService, deps: [{ token: i1.Router }], target: i0.ɵɵFactoryTarget.Injectable }); }
70
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: AlertService }); }
71
71
  }
72
- export { AlertService };
73
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: AlertService, decorators: [{
72
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: AlertService, decorators: [{
74
73
  type: Injectable
75
74
  }], ctorParameters: function () { return [{ type: i1.Router }]; } });
76
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWxlcnQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3play9zcmMvbGliL3NlcnZpY2VzL2FsZXJ0LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQVUsZUFBZSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDMUQsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUUvQixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7OztBQUU1RCxNQUFNLE9BQU8sU0FBUztDQU1yQjtBQUVELE1BQU0sT0FBTyxLQUFNLFNBQVEsU0FBUztDQUVuQztBQUVELE1BQU0sT0FBTyxLQUFNLFNBQVEsU0FBUztDQUVuQztBQUVELE1BQ2EsWUFBWTtJQUlyQixrQkFBa0I7SUFFbEIsWUFBWSxNQUFjO1FBTGxCLGlCQUFZLEdBQUcsSUFBSSxPQUFPLEVBQU8sQ0FBQztRQUNsQyxpQkFBWSxHQUFHLElBQUksT0FBTyxFQUFPLENBQUM7UUFDbEMseUJBQW9CLEdBQUcsS0FBSyxDQUFDO1FBSWpDLGtGQUFrRjtRQUNsRixNQUFNLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUM1QixJQUFJLEtBQUssWUFBWSxlQUFlLEVBQUU7Z0JBQ2xDLElBQUksSUFBSSxDQUFDLG9CQUFvQixFQUFFO29CQUMzQixzQ0FBc0M7b0JBQ3RDLElBQUksQ0FBQyxvQkFBb0IsR0FBRyxLQUFLLENBQUM7aUJBQ3JDO3FCQUFNO29CQUNILHVCQUF1QjtvQkFDdkIsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO2lCQUNoQjthQUNKO1FBQ0wsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRUQsR0FBRyxDQUFDLFNBQW9CLEVBQUUsT0FBZSxFQUFFLG9CQUFvQixHQUFHLEtBQUs7UUFDbkUsSUFBSSxRQUFRLEdBQUcsRUFBRSxDQUFDO1FBQ2xCLFFBQVEsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDdkIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxTQUFTLEVBQUUsUUFBUSxFQUFFLG9CQUFvQixDQUFDLENBQUM7SUFDN0QsQ0FBQztJQUNELFFBQVEsQ0FBQyxTQUFvQixFQUFFLFFBQWtCLEVBQUUsb0JBQW9CLEdBQUcsS0FBSztRQUMzRSxJQUFJLENBQUMsb0JBQW9CLEdBQUcsb0JBQW9CLENBQUM7UUFDakQsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQVEsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsQ0FBQyxDQUFDO0lBQzNFLENBQUM7SUFDRCxLQUFLO1FBQ0QsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDakMsQ0FBQztJQUdELFFBQVE7UUFDSixPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDNUMsQ0FBQztJQUNELFFBQVE7UUFDSixPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDNUMsQ0FBQztJQUdELE9BQU8sQ0FBQyxPQUFlLEVBQUUsS0FBcUIsRUFBRSxJQUFvQjtRQUNoRSxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQy9DLENBQUM7SUFDRCxLQUFLLENBQUMsT0FBZSxFQUFFLEtBQXFCLEVBQUUsSUFBb0I7UUFDOUQsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUM5QyxDQUFDO0lBQ0QsT0FBTyxDQUFDLE9BQWUsRUFBRSxLQUFxQixFQUFFLElBQW9CO1FBQ2hFLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDL0MsQ0FBQztJQUNELElBQUksQ0FBQyxPQUFlLEVBQUUsS0FBcUIsRUFBRSxJQUFvQjtRQUM3RCxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQzVDLENBQUM7SUFDTyxJQUFJLENBQUMsT0FBZSxFQUFFLEtBQXFCLEVBQUUsU0FBNEIsRUFBRSxJQUFvQjtRQUNuRyxJQUFJLENBQUMsSUFBSSxFQUFFO1lBQ1AsSUFBSSxHQUFHLGVBQWUsQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDLENBQUE7U0FDakQ7UUFFRCxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBUSxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUEsc0JBQXNCO0lBQ25HLENBQUM7OEdBN0RRLFlBQVk7a0hBQVosWUFBWTs7U0FBWixZQUFZOzJGQUFaLFlBQVk7a0JBRHhCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFJvdXRlciwgTmF2aWdhdGlvblN0YXJ0IH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBBbGVydFR5cGUgfSBmcm9tICcuLi9tb2RlbHMnO1xyXG5pbXBvcnQgeyBCb290c3RyYXBIZWxwZXIgfSBmcm9tICcuLi91dGlscy9ib290c3RyYXAuaGVscGVyJztcclxuXHJcbmV4cG9ydCBjbGFzcyBCYXNlQWxlcnQge1xyXG4gICAgdHlwZT86IEFsZXJ0VHlwZSB8IG51bGw7XHJcbiAgICBpY29uPzogc3RyaW5nIHwgbnVsbDtcclxuICAgIHRpdGxlPzogc3RyaW5nIHwgbnVsbDtcclxuICAgIGNzcz86IHN0cmluZyB8IG51bGw7XHJcbiAgICAvLyBpZD86IHN0cmluZztcclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIEFsZXJ0IGV4dGVuZHMgQmFzZUFsZXJ0IHtcclxuICAgIG1lc3NhZ2VzPzogc3RyaW5nW107XHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBUb2FzdCBleHRlbmRzIEJhc2VBbGVydCB7XHJcbiAgICBtZXNzYWdlPzogc3RyaW5nIHwgbnVsbDtcclxufVxyXG5cclxuQEluamVjdGFibGUoKVxyXG5leHBvcnQgY2xhc3MgQWxlcnRTZXJ2aWNlIHtcclxuICAgIHByaXZhdGUgYWxlcnRTdWJqZWN0ID0gbmV3IFN1YmplY3Q8YW55PigpO1xyXG4gICAgcHJpdmF0ZSB0b2FzdFN1YmplY3QgPSBuZXcgU3ViamVjdDxhbnk+KCk7XHJcbiAgICBwcml2YXRlIGtlZXBBZnRlclJvdXRlQ2hhbmdlID0gZmFsc2U7XHJcbiAgICAvLyBwcml2YXRlIGlkID0gMDtcclxuXHJcbiAgICBjb25zdHJ1Y3Rvcihyb3V0ZXI6IFJvdXRlcikge1xyXG4gICAgICAgIC8vIGNsZWFyIGFsZXJ0IG1lc3NhZ2VzIG9uIHJvdXRlIGNoYW5nZSB1bmxlc3MgJ2tlZXBBZnRlclJvdXRlQ2hhbmdlJyBmbGFnIGlzIHRydWVcclxuICAgICAgICByb3V0ZXIuZXZlbnRzLnN1YnNjcmliZShldmVudCA9PiB7XHJcbiAgICAgICAgICAgIGlmIChldmVudCBpbnN0YW5jZW9mIE5hdmlnYXRpb25TdGFydCkge1xyXG4gICAgICAgICAgICAgICAgaWYgKHRoaXMua2VlcEFmdGVyUm91dGVDaGFuZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICAvLyBvbmx5IGtlZXAgZm9yIGEgc2luZ2xlIHJvdXRlIGNoYW5nZVxyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMua2VlcEFmdGVyUm91dGVDaGFuZ2UgPSBmYWxzZTtcclxuICAgICAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgLy8gY2xlYXIgYWxlcnQgbWVzc2FnZXNcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLmNsZWFyKCk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICBhZGQoYWxlcnRUeXBlOiBBbGVydFR5cGUsIG1lc3NhZ2U6IFN0cmluZywga2VlcEFmdGVyUm91dGVDaGFuZ2UgPSBmYWxzZSkge1xyXG4gICAgICAgIGxldCBtZXNzYWdlcyA9IFtdO1xyXG4gICAgICAgIG1lc3NhZ2VzLnB1c2gobWVzc2FnZSk7XHJcbiAgICAgICAgdGhpcy5hZGRSYW5nZShhbGVydFR5cGUsIG1lc3NhZ2VzLCBrZWVwQWZ0ZXJSb3V0ZUNoYW5nZSk7XHJcbiAgICB9XHJcbiAgICBhZGRSYW5nZShhbGVydFR5cGU6IEFsZXJ0VHlwZSwgbWVzc2FnZXM6IFN0cmluZ1tdLCBrZWVwQWZ0ZXJSb3V0ZUNoYW5nZSA9IGZhbHNlKSB7XHJcbiAgICAgICAgdGhpcy5rZWVwQWZ0ZXJSb3V0ZUNoYW5nZSA9IGtlZXBBZnRlclJvdXRlQ2hhbmdlO1xyXG4gICAgICAgIHRoaXMuYWxlcnRTdWJqZWN0Lm5leHQoPEFsZXJ0PnsgdHlwZTogYWxlcnRUeXBlLCBtZXNzYWdlczogbWVzc2FnZXMgfSk7XHJcbiAgICB9XHJcbiAgICBjbGVhcigpIHtcclxuICAgICAgICB0aGlzLmFsZXJ0U3ViamVjdC5uZXh0KG51bGwpO1xyXG4gICAgfVxyXG5cclxuXHJcbiAgICBnZXRBbGVydCgpIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5hbGVydFN1YmplY3QuYXNPYnNlcnZhYmxlKCk7XHJcbiAgICB9XHJcbiAgICBnZXRUb2FzdCgpIHtcclxuICAgICAgICByZXR1cm4gdGhpcy50b2FzdFN1YmplY3QuYXNPYnNlcnZhYmxlKCk7XHJcbiAgICB9XHJcblxyXG5cclxuICAgIHN1Y2Nlc3MobWVzc2FnZTogc3RyaW5nLCB0aXRsZT86IHN0cmluZyB8IG51bGwsIGljb24/OiBzdHJpbmcgfCBudWxsKSB7XHJcbiAgICAgICAgdGhpcy5zaG93KG1lc3NhZ2UsIHRpdGxlLCAnc3VjY2VzcycsIGljb24pO1xyXG4gICAgfVxyXG4gICAgZXJyb3IobWVzc2FnZTogc3RyaW5nLCB0aXRsZT86IHN0cmluZyB8IG51bGwsIGljb24/OiBzdHJpbmcgfCBudWxsKSB7XHJcbiAgICAgICAgdGhpcy5zaG93KG1lc3NhZ2UsIHRpdGxlLCAnZGFuZ2VyJywgaWNvbik7XHJcbiAgICB9XHJcbiAgICB3YXJuaW5nKG1lc3NhZ2U6IHN0cmluZywgdGl0bGU/OiBzdHJpbmcgfCBudWxsLCBpY29uPzogc3RyaW5nIHwgbnVsbCkge1xyXG4gICAgICAgIHRoaXMuc2hvdyhtZXNzYWdlLCB0aXRsZSwgJ3dhcm5pbmcnLCBpY29uKTtcclxuICAgIH1cclxuICAgIGluZm8obWVzc2FnZTogc3RyaW5nLCB0aXRsZT86IHN0cmluZyB8IG51bGwsIGljb24/OiBzdHJpbmcgfCBudWxsKSB7XHJcbiAgICAgICAgdGhpcy5zaG93KG1lc3NhZ2UsIHRpdGxlLCAnaW5mbycsIGljb24pO1xyXG4gICAgfVxyXG4gICAgcHJpdmF0ZSBzaG93KG1lc3NhZ2U6IHN0cmluZywgdGl0bGU/OiBzdHJpbmcgfCBudWxsLCBhbGVydFR5cGU/OiBBbGVydFR5cGUgfCBudWxsLCBpY29uPzogc3RyaW5nIHwgbnVsbCkge1xyXG4gICAgICAgIGlmICghaWNvbikge1xyXG4gICAgICAgICAgICBpY29uID0gQm9vdHN0cmFwSGVscGVyLmNzc0FsZXJ0SWNvbihhbGVydFR5cGUpXHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICB0aGlzLnRvYXN0U3ViamVjdC5uZXh0KDxUb2FzdD57IG1lc3NhZ2UsIHRpdGxlLCB0eXBlOiBhbGVydFR5cGUsIGljb24gfSk7Ly8sIGlkOiBgJHt0aGlzLmlkKyt9YFxyXG4gICAgfVxyXG59Il19
75
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWxlcnQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3play9zcmMvbGliL3NlcnZpY2VzL2FsZXJ0LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQVUsZUFBZSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDMUQsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUUvQixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7OztBQUU1RCxNQUFNLE9BQU8sU0FBUztDQU1yQjtBQUVELE1BQU0sT0FBTyxLQUFNLFNBQVEsU0FBUztDQUVuQztBQUVELE1BQU0sT0FBTyxLQUFNLFNBQVEsU0FBUztDQUVuQztBQUdELE1BQU0sT0FBTyxZQUFZO0lBSXJCLGtCQUFrQjtJQUVsQixZQUFZLE1BQWM7UUFMbEIsaUJBQVksR0FBRyxJQUFJLE9BQU8sRUFBTyxDQUFDO1FBQ2xDLGlCQUFZLEdBQUcsSUFBSSxPQUFPLEVBQU8sQ0FBQztRQUNsQyx5QkFBb0IsR0FBRyxLQUFLLENBQUM7UUFJakMsa0ZBQWtGO1FBQ2xGLE1BQU0sQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQzVCLElBQUksS0FBSyxZQUFZLGVBQWUsRUFBRTtnQkFDbEMsSUFBSSxJQUFJLENBQUMsb0JBQW9CLEVBQUU7b0JBQzNCLHNDQUFzQztvQkFDdEMsSUFBSSxDQUFDLG9CQUFvQixHQUFHLEtBQUssQ0FBQztpQkFDckM7cUJBQU07b0JBQ0gsdUJBQXVCO29CQUN2QixJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7aUJBQ2hCO2FBQ0o7UUFDTCxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFRCxHQUFHLENBQUMsU0FBb0IsRUFBRSxPQUFlLEVBQUUsb0JBQW9CLEdBQUcsS0FBSztRQUNuRSxJQUFJLFFBQVEsR0FBRyxFQUFFLENBQUM7UUFDbEIsUUFBUSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUN2QixJQUFJLENBQUMsUUFBUSxDQUFDLFNBQVMsRUFBRSxRQUFRLEVBQUUsb0JBQW9CLENBQUMsQ0FBQztJQUM3RCxDQUFDO0lBQ0QsUUFBUSxDQUFDLFNBQW9CLEVBQUUsUUFBa0IsRUFBRSxvQkFBb0IsR0FBRyxLQUFLO1FBQzNFLElBQUksQ0FBQyxvQkFBb0IsR0FBRyxvQkFBb0IsQ0FBQztRQUNqRCxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBUSxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxDQUFDLENBQUM7SUFDM0UsQ0FBQztJQUNELEtBQUs7UUFDRCxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNqQyxDQUFDO0lBR0QsUUFBUTtRQUNKLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUM1QyxDQUFDO0lBQ0QsUUFBUTtRQUNKLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUM1QyxDQUFDO0lBR0QsT0FBTyxDQUFDLE9BQWUsRUFBRSxLQUFxQixFQUFFLElBQW9CO1FBQ2hFLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDL0MsQ0FBQztJQUNELEtBQUssQ0FBQyxPQUFlLEVBQUUsS0FBcUIsRUFBRSxJQUFvQjtRQUM5RCxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQzlDLENBQUM7SUFDRCxPQUFPLENBQUMsT0FBZSxFQUFFLEtBQXFCLEVBQUUsSUFBb0I7UUFDaEUsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUMvQyxDQUFDO0lBQ0QsSUFBSSxDQUFDLE9BQWUsRUFBRSxLQUFxQixFQUFFLElBQW9CO1FBQzdELElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDNUMsQ0FBQztJQUNPLElBQUksQ0FBQyxPQUFlLEVBQUUsS0FBcUIsRUFBRSxTQUE0QixFQUFFLElBQW9CO1FBQ25HLElBQUksQ0FBQyxJQUFJLEVBQUU7WUFDUCxJQUFJLEdBQUcsZUFBZSxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsQ0FBQTtTQUNqRDtRQUVELElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFRLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQSxzQkFBc0I7SUFDbkcsQ0FBQzs4R0E3RFEsWUFBWTtrSEFBWixZQUFZOzsyRkFBWixZQUFZO2tCQUR4QixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBSb3V0ZXIsIE5hdmlnYXRpb25TdGFydCB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgQWxlcnRUeXBlIH0gZnJvbSAnLi4vbW9kZWxzJztcclxuaW1wb3J0IHsgQm9vdHN0cmFwSGVscGVyIH0gZnJvbSAnLi4vdXRpbHMvYm9vdHN0cmFwLmhlbHBlcic7XHJcblxyXG5leHBvcnQgY2xhc3MgQmFzZUFsZXJ0IHtcclxuICAgIHR5cGU/OiBBbGVydFR5cGUgfCBudWxsO1xyXG4gICAgaWNvbj86IHN0cmluZyB8IG51bGw7XHJcbiAgICB0aXRsZT86IHN0cmluZyB8IG51bGw7XHJcbiAgICBjc3M/OiBzdHJpbmcgfCBudWxsO1xyXG4gICAgLy8gaWQ/OiBzdHJpbmc7XHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBBbGVydCBleHRlbmRzIEJhc2VBbGVydCB7XHJcbiAgICBtZXNzYWdlcz86IHN0cmluZ1tdO1xyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgVG9hc3QgZXh0ZW5kcyBCYXNlQWxlcnQge1xyXG4gICAgbWVzc2FnZT86IHN0cmluZyB8IG51bGw7XHJcbn1cclxuXHJcbkBJbmplY3RhYmxlKClcclxuZXhwb3J0IGNsYXNzIEFsZXJ0U2VydmljZSB7XHJcbiAgICBwcml2YXRlIGFsZXJ0U3ViamVjdCA9IG5ldyBTdWJqZWN0PGFueT4oKTtcclxuICAgIHByaXZhdGUgdG9hc3RTdWJqZWN0ID0gbmV3IFN1YmplY3Q8YW55PigpO1xyXG4gICAgcHJpdmF0ZSBrZWVwQWZ0ZXJSb3V0ZUNoYW5nZSA9IGZhbHNlO1xyXG4gICAgLy8gcHJpdmF0ZSBpZCA9IDA7XHJcblxyXG4gICAgY29uc3RydWN0b3Iocm91dGVyOiBSb3V0ZXIpIHtcclxuICAgICAgICAvLyBjbGVhciBhbGVydCBtZXNzYWdlcyBvbiByb3V0ZSBjaGFuZ2UgdW5sZXNzICdrZWVwQWZ0ZXJSb3V0ZUNoYW5nZScgZmxhZyBpcyB0cnVlXHJcbiAgICAgICAgcm91dGVyLmV2ZW50cy5zdWJzY3JpYmUoZXZlbnQgPT4ge1xyXG4gICAgICAgICAgICBpZiAoZXZlbnQgaW5zdGFuY2VvZiBOYXZpZ2F0aW9uU3RhcnQpIHtcclxuICAgICAgICAgICAgICAgIGlmICh0aGlzLmtlZXBBZnRlclJvdXRlQ2hhbmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgLy8gb25seSBrZWVwIGZvciBhIHNpbmdsZSByb3V0ZSBjaGFuZ2VcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLmtlZXBBZnRlclJvdXRlQ2hhbmdlID0gZmFsc2U7XHJcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICAgIC8vIGNsZWFyIGFsZXJ0IG1lc3NhZ2VzXHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5jbGVhcigpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgYWRkKGFsZXJ0VHlwZTogQWxlcnRUeXBlLCBtZXNzYWdlOiBTdHJpbmcsIGtlZXBBZnRlclJvdXRlQ2hhbmdlID0gZmFsc2UpIHtcclxuICAgICAgICBsZXQgbWVzc2FnZXMgPSBbXTtcclxuICAgICAgICBtZXNzYWdlcy5wdXNoKG1lc3NhZ2UpO1xyXG4gICAgICAgIHRoaXMuYWRkUmFuZ2UoYWxlcnRUeXBlLCBtZXNzYWdlcywga2VlcEFmdGVyUm91dGVDaGFuZ2UpO1xyXG4gICAgfVxyXG4gICAgYWRkUmFuZ2UoYWxlcnRUeXBlOiBBbGVydFR5cGUsIG1lc3NhZ2VzOiBTdHJpbmdbXSwga2VlcEFmdGVyUm91dGVDaGFuZ2UgPSBmYWxzZSkge1xyXG4gICAgICAgIHRoaXMua2VlcEFmdGVyUm91dGVDaGFuZ2UgPSBrZWVwQWZ0ZXJSb3V0ZUNoYW5nZTtcclxuICAgICAgICB0aGlzLmFsZXJ0U3ViamVjdC5uZXh0KDxBbGVydD57IHR5cGU6IGFsZXJ0VHlwZSwgbWVzc2FnZXM6IG1lc3NhZ2VzIH0pO1xyXG4gICAgfVxyXG4gICAgY2xlYXIoKSB7XHJcbiAgICAgICAgdGhpcy5hbGVydFN1YmplY3QubmV4dChudWxsKTtcclxuICAgIH1cclxuXHJcblxyXG4gICAgZ2V0QWxlcnQoKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuYWxlcnRTdWJqZWN0LmFzT2JzZXJ2YWJsZSgpO1xyXG4gICAgfVxyXG4gICAgZ2V0VG9hc3QoKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMudG9hc3RTdWJqZWN0LmFzT2JzZXJ2YWJsZSgpO1xyXG4gICAgfVxyXG5cclxuXHJcbiAgICBzdWNjZXNzKG1lc3NhZ2U6IHN0cmluZywgdGl0bGU/OiBzdHJpbmcgfCBudWxsLCBpY29uPzogc3RyaW5nIHwgbnVsbCkge1xyXG4gICAgICAgIHRoaXMuc2hvdyhtZXNzYWdlLCB0aXRsZSwgJ3N1Y2Nlc3MnLCBpY29uKTtcclxuICAgIH1cclxuICAgIGVycm9yKG1lc3NhZ2U6IHN0cmluZywgdGl0bGU/OiBzdHJpbmcgfCBudWxsLCBpY29uPzogc3RyaW5nIHwgbnVsbCkge1xyXG4gICAgICAgIHRoaXMuc2hvdyhtZXNzYWdlLCB0aXRsZSwgJ2RhbmdlcicsIGljb24pO1xyXG4gICAgfVxyXG4gICAgd2FybmluZyhtZXNzYWdlOiBzdHJpbmcsIHRpdGxlPzogc3RyaW5nIHwgbnVsbCwgaWNvbj86IHN0cmluZyB8IG51bGwpIHtcclxuICAgICAgICB0aGlzLnNob3cobWVzc2FnZSwgdGl0bGUsICd3YXJuaW5nJywgaWNvbik7XHJcbiAgICB9XHJcbiAgICBpbmZvKG1lc3NhZ2U6IHN0cmluZywgdGl0bGU/OiBzdHJpbmcgfCBudWxsLCBpY29uPzogc3RyaW5nIHwgbnVsbCkge1xyXG4gICAgICAgIHRoaXMuc2hvdyhtZXNzYWdlLCB0aXRsZSwgJ2luZm8nLCBpY29uKTtcclxuICAgIH1cclxuICAgIHByaXZhdGUgc2hvdyhtZXNzYWdlOiBzdHJpbmcsIHRpdGxlPzogc3RyaW5nIHwgbnVsbCwgYWxlcnRUeXBlPzogQWxlcnRUeXBlIHwgbnVsbCwgaWNvbj86IHN0cmluZyB8IG51bGwpIHtcclxuICAgICAgICBpZiAoIWljb24pIHtcclxuICAgICAgICAgICAgaWNvbiA9IEJvb3RzdHJhcEhlbHBlci5jc3NBbGVydEljb24oYWxlcnRUeXBlKVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgdGhpcy50b2FzdFN1YmplY3QubmV4dCg8VG9hc3Q+eyBtZXNzYWdlLCB0aXRsZSwgdHlwZTogYWxlcnRUeXBlLCBpY29uIH0pOy8vLCBpZDogYCR7dGhpcy5pZCsrfWBcclxuICAgIH1cclxufSJdfQ==
@@ -2,7 +2,7 @@ import { Injectable } from '@angular/core';
2
2
  import * as i0 from "@angular/core";
3
3
  import * as i1 from "./auth.service";
4
4
  import * as i2 from "@angular/router";
5
- class AuthGuardService {
5
+ export class AuthGuardService {
6
6
  constructor(authService, router) {
7
7
  this.authService = authService;
8
8
  this.router = router;
@@ -19,11 +19,10 @@ class AuthGuardService {
19
19
  // let hasPermission = this.authService.hasPermission(permission);
20
20
  // return isInRole && hasPermission;
21
21
  }
22
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: AuthGuardService, deps: [{ token: i1.AuthService }, { token: i2.Router }], target: i0.ɵɵFactoryTarget.Injectable }); }
23
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: AuthGuardService }); }
22
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: AuthGuardService, deps: [{ token: i1.AuthService }, { token: i2.Router }], target: i0.ɵɵFactoryTarget.Injectable }); }
23
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: AuthGuardService }); }
24
24
  }
25
- export { AuthGuardService };
26
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: AuthGuardService, decorators: [{
25
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: AuthGuardService, decorators: [{
27
26
  type: Injectable
28
27
  }], ctorParameters: function () { return [{ type: i1.AuthService }, { type: i2.Router }]; } });
29
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC1ndWFyZC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvemVrL3NyYy9saWIvc2VydmljZXMvYXV0aC1ndWFyZC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7Ozs7QUFNM0MsTUFDYSxnQkFBZ0I7SUFDekIsWUFBK0IsV0FBd0IsRUFBcUIsTUFBYztRQUEzRCxnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQUFxQixXQUFNLEdBQU4sTUFBTSxDQUFRO0lBQUksQ0FBQztJQUUvRixXQUFXLENBQUMsS0FBNkIsRUFBRSxLQUEwQjtRQUNqRSxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxlQUFlLEVBQUUsRUFBRTtZQUNyQyxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxFQUFFLEVBQUUsV0FBVyxFQUFFLEVBQUUsU0FBUyxFQUFFLEtBQUssQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLENBQUM7WUFDNUUsT0FBTyxLQUFLLENBQUM7U0FDaEI7UUFFRCxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsaUJBQWlCLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBRXRELHlDQUF5QztRQUN6QywwREFBMEQ7UUFFMUQsNENBQTRDO1FBQzVDLGtFQUFrRTtRQUVsRSxvQ0FBb0M7SUFDeEMsQ0FBQzs4R0FsQlEsZ0JBQWdCO2tIQUFoQixnQkFBZ0I7O1NBQWhCLGdCQUFnQjsyRkFBaEIsZ0JBQWdCO2tCQUQ1QixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDYW5BY3RpdmF0ZSwgQWN0aXZhdGVkUm91dGVTbmFwc2hvdCwgUm91dGVyU3RhdGVTbmFwc2hvdCwgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xyXG5cclxuaW1wb3J0IHsgQXV0aFNlcnZpY2UgfSBmcm9tICcuL2F1dGguc2VydmljZSc7XHJcblxyXG5ASW5qZWN0YWJsZSgpXHJcbmV4cG9ydCBjbGFzcyBBdXRoR3VhcmRTZXJ2aWNlIGltcGxlbWVudHMgQ2FuQWN0aXZhdGUge1xyXG4gICAgY29uc3RydWN0b3IocHJvdGVjdGVkIHJlYWRvbmx5IGF1dGhTZXJ2aWNlOiBBdXRoU2VydmljZSwgcHJvdGVjdGVkIHJlYWRvbmx5IHJvdXRlcjogUm91dGVyKSB7IH1cclxuXHJcbiAgICBjYW5BY3RpdmF0ZShyb3V0ZTogQWN0aXZhdGVkUm91dGVTbmFwc2hvdCwgc3RhdGU6IFJvdXRlclN0YXRlU25hcHNob3QpOiBib29sZWFuIHwgT2JzZXJ2YWJsZTxib29sZWFuPiB8IFByb21pc2U8Ym9vbGVhbj4ge1xyXG4gICAgICAgIGlmICghdGhpcy5hdXRoU2VydmljZS5pc0F1dGhlbnRpY2F0ZWQoKSkge1xyXG4gICAgICAgICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbJy9sb2dpbiddLCB7IHF1ZXJ5UGFyYW1zOiB7IHJldHVyblVybDogc3RhdGUudXJsIH0gfSk7XHJcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHJldHVybiB0aGlzLmF1dGhTZXJ2aWNlLmhhc0RhdGFQZXJtaXNzaW9uKHJvdXRlLmRhdGEpO1xyXG5cclxuICAgICAgICAvLyBjb25zdCBhbGxvd2VkUm9sZXMgPSByb3V0ZS5kYXRhLnJvbGVzO1xyXG4gICAgICAgIC8vIGxldCBpc0luUm9sZSA9IHRoaXMuYXV0aFNlcnZpY2UuaXNJblJvbGUoYWxsb3dlZFJvbGVzKTtcclxuXHJcbiAgICAgICAgLy8gY29uc3QgcGVybWlzc2lvbiA9IHJvdXRlLmRhdGEucGVybWlzc2lvbjtcclxuICAgICAgICAvLyBsZXQgaGFzUGVybWlzc2lvbiA9IHRoaXMuYXV0aFNlcnZpY2UuaGFzUGVybWlzc2lvbihwZXJtaXNzaW9uKTtcclxuXHJcbiAgICAgICAgLy8gcmV0dXJuIGlzSW5Sb2xlICYmIGhhc1Blcm1pc3Npb247XHJcbiAgICB9XHJcbn0iXX0=
28
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC1ndWFyZC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvemVrL3NyYy9saWIvc2VydmljZXMvYXV0aC1ndWFyZC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7Ozs7QUFPM0MsTUFBTSxPQUFPLGdCQUFnQjtJQUN6QixZQUErQixXQUF3QixFQUFxQixNQUFjO1FBQTNELGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBQXFCLFdBQU0sR0FBTixNQUFNLENBQVE7SUFBSSxDQUFDO0lBRS9GLFdBQVcsQ0FBQyxLQUE2QixFQUFFLEtBQTBCO1FBQ2pFLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLGVBQWUsRUFBRSxFQUFFO1lBQ3JDLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsUUFBUSxDQUFDLEVBQUUsRUFBRSxXQUFXLEVBQUUsRUFBRSxTQUFTLEVBQUUsS0FBSyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsQ0FBQztZQUM1RSxPQUFPLEtBQUssQ0FBQztTQUNoQjtRQUVELE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxpQkFBaUIsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7UUFFdEQseUNBQXlDO1FBQ3pDLDBEQUEwRDtRQUUxRCw0Q0FBNEM7UUFDNUMsa0VBQWtFO1FBRWxFLG9DQUFvQztJQUN4QyxDQUFDOzhHQWxCUSxnQkFBZ0I7a0hBQWhCLGdCQUFnQjs7MkZBQWhCLGdCQUFnQjtrQkFENUIsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQ2FuQWN0aXZhdGUsIEFjdGl2YXRlZFJvdXRlU25hcHNob3QsIFJvdXRlclN0YXRlU25hcHNob3QsIFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcclxuXHJcbmltcG9ydCB7IEF1dGhTZXJ2aWNlIH0gZnJvbSAnLi9hdXRoLnNlcnZpY2UnO1xyXG5cclxuQEluamVjdGFibGUoKVxyXG5leHBvcnQgY2xhc3MgQXV0aEd1YXJkU2VydmljZSBpbXBsZW1lbnRzIENhbkFjdGl2YXRlIHtcclxuICAgIGNvbnN0cnVjdG9yKHByb3RlY3RlZCByZWFkb25seSBhdXRoU2VydmljZTogQXV0aFNlcnZpY2UsIHByb3RlY3RlZCByZWFkb25seSByb3V0ZXI6IFJvdXRlcikgeyB9XHJcblxyXG4gICAgY2FuQWN0aXZhdGUocm91dGU6IEFjdGl2YXRlZFJvdXRlU25hcHNob3QsIHN0YXRlOiBSb3V0ZXJTdGF0ZVNuYXBzaG90KTogYm9vbGVhbiB8IE9ic2VydmFibGU8Ym9vbGVhbj4gfCBQcm9taXNlPGJvb2xlYW4+IHtcclxuICAgICAgICBpZiAoIXRoaXMuYXV0aFNlcnZpY2UuaXNBdXRoZW50aWNhdGVkKCkpIHtcclxuICAgICAgICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoWycvbG9naW4nXSwgeyBxdWVyeVBhcmFtczogeyByZXR1cm5Vcmw6IHN0YXRlLnVybCB9IH0pO1xyXG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICByZXR1cm4gdGhpcy5hdXRoU2VydmljZS5oYXNEYXRhUGVybWlzc2lvbihyb3V0ZS5kYXRhKTtcclxuXHJcbiAgICAgICAgLy8gY29uc3QgYWxsb3dlZFJvbGVzID0gcm91dGUuZGF0YS5yb2xlcztcclxuICAgICAgICAvLyBsZXQgaXNJblJvbGUgPSB0aGlzLmF1dGhTZXJ2aWNlLmlzSW5Sb2xlKGFsbG93ZWRSb2xlcyk7XHJcblxyXG4gICAgICAgIC8vIGNvbnN0IHBlcm1pc3Npb24gPSByb3V0ZS5kYXRhLnBlcm1pc3Npb247XHJcbiAgICAgICAgLy8gbGV0IGhhc1Blcm1pc3Npb24gPSB0aGlzLmF1dGhTZXJ2aWNlLmhhc1Blcm1pc3Npb24ocGVybWlzc2lvbik7XHJcblxyXG4gICAgICAgIC8vIHJldHVybiBpc0luUm9sZSAmJiBoYXNQZXJtaXNzaW9uO1xyXG4gICAgfVxyXG59Il19
@@ -3,7 +3,7 @@ import { BehaviorSubject, Subject } from 'rxjs';
3
3
  import { Convert, DateHelper, ObjectHelper, StorageHelper } from '../utils';
4
4
  import { BitwiseHelper } from '../utils/bitwise-helper';
5
5
  import * as i0 from "@angular/core";
6
- class AuthService {
6
+ export class AuthService {
7
7
  constructor() {
8
8
  this._isInitialized = false;
9
9
  this._oldValue = false;
@@ -194,11 +194,10 @@ class AuthService {
194
194
  // return isInRole && hasPermission;
195
195
  return hasPermission;
196
196
  }
197
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: AuthService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
198
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: AuthService }); }
197
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: AuthService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
198
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: AuthService }); }
199
199
  }
200
- export { AuthService };
201
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: AuthService, decorators: [{
200
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: AuthService, decorators: [{
202
201
  type: Injectable
203
202
  }] });
204
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvemVrL3NyYy9saWIvc2VydmljZXMvYXV0aC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEdBQUcsTUFBTSxlQUFlLENBQUM7QUFDNUMsT0FBTyxFQUFFLGVBQWUsRUFBYyxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFNUQsT0FBTyxFQUFFLE9BQU8sRUFBRSxVQUFVLEVBQUUsWUFBWSxFQUFFLGFBQWEsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUM1RSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0seUJBQXlCLENBQUM7O0FBRXhELE1BQ2EsV0FBVztJQUR4QjtRQUVZLG1CQUFjLEdBQVksS0FBSyxDQUFDO1FBQ2hDLGNBQVMsR0FBWSxLQUFLLENBQUM7UUFDM0IsVUFBSyxHQUFxQixJQUFJLENBQUM7S0ErTzFDO0lBN09HLElBQUksSUFBSTtRQUNKLElBQUksQ0FBQyxJQUFJLENBQUMsY0FBYyxFQUFFO1lBQ3RCLElBQUksSUFBSSxHQUFHLGFBQWEsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDdEMsSUFBSSxJQUFJLEVBQUU7Z0JBQ04sSUFBSSxDQUFDLEVBQUUsR0FBRyxZQUFZLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7Z0JBQ25GLElBQUksQ0FBQyxPQUFPLEdBQUcsWUFBWSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FB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QUFHLGVBQWUsQ0FBQyxDQUFDLENBQUMsQ0FBQztnQkFDL0IsSUFBSSxLQUFLO29CQUNMLE9BQU8sSUFBSSxDQUFDO2FBQ25CO1NBQ0o7UUFFRCxPQUFPLEtBQUssQ0FBQztJQUNqQixDQUFDO0lBR0QsaUJBQWlCLENBQUMsSUFBUztRQUN2Qix1REFBdUQ7UUFDdkQsbUNBQW1DO1FBQ25DLDhDQUE4QztRQUU5QyxNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDO1FBRW5DLElBQUksYUFBYSxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsVUFBVSxDQUFDLENBQUM7UUFFbkQsb0NBQW9DO1FBQ3BDLE9BQU8sYUFBYSxDQUFDO0lBQ3pCLENBQUM7OEdBalBRLFdBQVc7a0hBQVgsV0FBVzs7U0FBWCxXQUFXOzJGQUFYLFdBQVc7a0JBRHZCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIE9ic2VydmFibGUsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgS2V5UGFpciwgTG9naW5Ub2tlbiwgTG9naW5Vc2VyIH0gZnJvbSAnLi4vbW9kZWxzJztcclxuaW1wb3J0IHsgQ29udmVydCwgRGF0ZUhlbHBlciwgT2JqZWN0SGVscGVyLCBTdG9yYWdlSGVscGVyIH0gZnJvbSAnLi4vdXRpbHMnO1xyXG5pbXBvcnQgeyBCaXR3aXNlSGVscGVyIH0gZnJvbSAnLi4vdXRpbHMvYml0d2lzZS1oZWxwZXInO1xyXG5cclxuQEluamVjdGFibGUoKVxyXG5leHBvcnQgY2xhc3MgQXV0aFNlcnZpY2Uge1xyXG4gICAgcHJpdmF0ZSBfaXNJbml0aWFsaXplZDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gICAgcHJpdmF0ZSBfb2xkVmFsdWU6IGJvb2xlYW4gPSBmYWxzZTtcclxuICAgIHByaXZhdGUgX3VzZXI6IExvZ2luVXNlciB8IG51bGwgPSBudWxsO1xyXG5cclxuICAgIGdldCB1c2VyKCk6IExvZ2luVXNlciB8IG51bGwge1xyXG4gICAgICAgIGlmICghdGhpcy5faXNJbml0aWFsaXplZCkge1xyXG4gICAgICAgICAgICBsZXQgdXNlciA9IFN0b3JhZ2VIZWxwZXIuZ2V0KCdsb2dpbicpO1xyXG4gICAgICAgICAgICBpZiAodXNlcikge1xyXG4gICAgICAgICAgICAgICAgdXNlci5pZCA9IE9iamVjdEhlbHBlci5pc0RlZmluZWQodXNlci5pZCkgPyBDb252ZXJ0LnBhcnNlTnVtYmVyKHVzZXIuaWQpIDogdXNlci5pZDtcclxuICAgICAgICAgICAgICAgIHVzZXIuZXhwaXJlZCA9IE9iamVjdEhlbHBlci5pc0RlZmluZWQodXNlci5leHBpcmVkKSA/IERhdGVIZWxwZXIucGFyc2VEYXRlKHVzZXIuZXhwaXJlZCkgOiB1c2VyLmV4cGlyZWQ7XHJcbiAgICAgICAgICAgICAgICB1c2VyLnJlZnJlc2hUb2tlblRpbWUgPSBPYmplY3RIZWxwZXIuaXNEZWZpbmVkKHVzZXIucmVmcmVzaFRva2VuVGltZSkgPyBEYXRlSGVscGVyLnBhcnNlRGF0ZSh1c2VyLnJlZnJlc2hUb2tlblRpbWUpIDogdXNlci5yZWZyZXNoVG9rZW5UaW1lO1xyXG5cclxuICAgICAgICAgICAgICAgIGlmIChBcnJheS5pc0FycmF5KHVzZXIucm9sZXMpKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgdXNlci5yb2xlcyA9IHVzZXIucm9sZXMubWFwKGZ1bmN0aW9uIChlOiBhbnkpIHsgcmV0dXJuIGUgPyBlLnRvVXBwZXJDYXNlKCkgOiBlOyB9KTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB0aGlzLl91c2VyID0gdXNlcjtcclxuICAgICAgICAgICAgdGhpcy5faXNJbml0aWFsaXplZCA9IHRydWU7XHJcbiAgICAgICAgICAgIHRoaXMuX3N0YXJSZWZyZXNoVG9rZW5UaW1lcigpO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gdGhpcy5fdXNlcjtcclxuICAgIH1cclxuXHJcblxyXG4gICAgcHJpdmF0ZSBfdGltZXJJZDogYW55O1xyXG4gICAgcHJpdmF0ZSBfc3RhclJlZnJlc2hUb2tlblRpbWVyKCkge1xyXG4gICAgICAgIHRoaXMuX3N0b3BSZWZyZXNoVG9rZW5UaW1lcigpO1xyXG5cclxuICAgICAgICBsZXQgdXNlciA9IHRoaXMuX3VzZXI7XHJcbiAgICAgICAgaWYgKHVzZXIgJiYgdXNlci5yZWZyZXNoVG9rZW5UaW1lKSB7XHJcbiAgICAgICAgICAgIGxldCB0aW1lb3V0ID0gdXNlci5yZWZyZXNoVG9rZW5UaW1lLmdldFRpbWUoKSAtIERhdGUubm93KCk7Ly8gLSAoNjAgKiAxMDAwKTtcclxuXHJcbiAgICAgICAgICAgIGlmICh0aW1lb3V0IDwgMCkge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5fZW1pdFJlZnJlc2hUb2tlbigpO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICBjb25zdCBtaW5SZWZyZXNoVGltZSA9IDYwXzAwMC8vMSBtaW47XHJcbiAgICAgICAgICAgIGlmICh0aW1lb3V0IDwgbWluUmVmcmVzaFRpbWUpIHtcclxuICAgICAgICAgICAgICAgIHRpbWVvdXQgPSBtaW5SZWZyZXNoVGltZTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgdGhpcy5fdGltZXJJZCA9IHNldEludGVydmFsKCgpID0+IHtcclxuICAgICAgICAgICAgICAgIHRoaXMuX2VtaXRSZWZyZXNoVG9rZW4oKTtcclxuICAgICAgICAgICAgfSwgdGltZW91dCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgcHJpdmF0ZSBfc3RvcFJlZnJlc2hUb2tlblRpbWVyKCkge1xyXG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5fdGltZXJJZCA9PT0gJ251bWJlcicpIHtcclxuICAgICAgICAgICAgY2xlYXJJbnRlcnZhbCh0aGlzLl90aW1lcklkKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBwcml2YXRlIF9lbWl0UmVmcmVzaFRva2VuKCkge1xyXG4gICAgICAgIGlmICh0aGlzLl9vblJlZnJlc2hUb2tlblN1YmplY3QpIHtcclxuICAgICAgICAgICAgdGhpcy5fb25SZWZyZXNoVG9rZW5TdWJqZWN0Lm5leHQoKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG5cclxuICAgIGlzQXV0aGVudGljYXRlZCgpOiBib29sZWFuIHtcclxuICAgICAgICBsZXQgZXhwaXJlZCA9IHRoaXMuZ2V0RXhwaXJlZCgpIHx8IG5ldyBEYXRlKDApOy8vIGlmIGdldEV4cGlyZWQgaXMgbnVsbCByZXR1cm4gbWluIEpTIGRhdGVcclxuXHJcbiAgICAgICAgY29uc3QgbmV3VmFsdWUgPSBuZXcgRGF0ZSgpIDwgZXhwaXJlZDtcclxuICAgICAgICBpZiAodGhpcy5fb2xkVmFsdWUgIT09IG5ld1ZhbHVlKSB7XHJcbiAgICAgICAgICAgIHRoaXMuX29sZFZhbHVlID0gbmV3VmFsdWU7XHJcblxyXG4gICAgICAgICAgICB0aGlzLmVtaXRPblNpZ25lZEluKCk7XHJcbiAgICAgICAgICAgIC8vIGlmICh0aGlzLl9vblNpZ25lZEluU3ViamVjdCkge1xyXG4gICAgICAgICAgICAvLyAgICAgdGhpcy5fb25TaWduZWRJblN1YmplY3QubmV4dChuZXdWYWx1ZSk7XHJcbiAgICAgICAgICAgIC8vIH1cclxuXHJcbiAgICAgICAgICAgIC8vaWYgdXNlciBpcyBzaWduZWQgaW4gYW5kIGV4cGlyZWQgd2UgbmVlZCB0byBsb2dvdXQgKHJlbW92ZSBmcm9tIGxvY2FsU3RvcmFnZSlcclxuICAgICAgICAgICAgaWYgKCFuZXdWYWx1ZSkge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5sb2dvdXQoKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICByZXR1cm4gbmV3VmFsdWU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBuZXdWYWx1ZTtcclxuICAgIH1cclxuICAgIGVtaXRPblNpZ25lZEluKCkge1xyXG4gICAgICAgIGlmICh0aGlzLl9vblNpZ25lZEluU3ViamVjdCkge1xyXG4gICAgICAgICAgICB0aGlzLl9vblNpZ25lZEluU3ViamVjdC5uZXh0KHRoaXMuX29sZFZhbHVlKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBfb25TaWduZWRJblN1YmplY3Q/OiBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj47Ly9CZWhhdmlvclN1YmplY3QgaXMgZm9yIGluaXRpYWwgZmlydCB2YWx1ZSA9IGZhbHNlXHJcbiAgICBwcml2YXRlIF9vblNpZ25lZEluT2JzZXJ2YWJsZT86IE9ic2VydmFibGU8Ym9vbGVhbj47XHJcbiAgICBnZXQgb25TaWduZWRJbigpOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcclxuICAgICAgICBpZiAoIXRoaXMuX29uU2lnbmVkSW5TdWJqZWN0KSB7XHJcbiAgICAgICAgICAgIHRoaXMuX29uU2lnbmVkSW5TdWJqZWN0ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPihmYWxzZSk7XHJcbiAgICAgICAgICAgIHRoaXMuX29uU2lnbmVkSW5PYnNlcnZhYmxlID0gdGhpcy5fb25TaWduZWRJblN1YmplY3QuYXNPYnNlcnZhYmxlKCk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpZiAoIXRoaXMuX29uU2lnbmVkSW5PYnNlcnZhYmxlKVxyXG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJfb25FeGVjdXRlT2JzZXJ2YWJsZSBpcyB1bmRlZmluZWRcIik7XHJcblxyXG4gICAgICAgIHJldHVybiB0aGlzLl9vblNpZ25lZEluT2JzZXJ2YWJsZTtcclxuICAgIH1cclxuXHJcblxyXG4gICAgcHJpdmF0ZSBfb25SZWZyZXNoVG9rZW5TdWJqZWN0PzogU3ViamVjdDx2b2lkPjtcclxuICAgIHByaXZhdGUgX29uUmVmcmVzaFRva2VuT2JzZXJ2YWJsZT86IE9ic2VydmFibGU8dm9pZD47XHJcbiAgICBnZXQgb25SZWZyZXNoVG9rZW4oKTogT2JzZXJ2YWJsZTx2b2lkPiB7XHJcbiAgICAgICAgaWYgKCF0aGlzLl9vblJlZnJlc2hUb2tlblN1YmplY3QpIHtcclxuICAgICAgICAgICAgdGhpcy5fb25SZWZyZXNoVG9rZW5TdWJqZWN0ID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcclxuICAgICAgICAgICAgdGhpcy5fb25SZWZyZXNoVG9rZW5PYnNlcnZhYmxlID0gdGhpcy5fb25SZWZyZXNoVG9rZW5TdWJqZWN0LmFzT2JzZXJ2YWJsZSgpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaWYgKCF0aGlzLl9vblJlZnJlc2hUb2tlbk9ic2VydmFibGUpXHJcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihcIm9uUmVmcmVzaFRva2VuT2JzZXJ2YWJsZSBpcyB1bmRlZmluZWRcIik7XHJcblxyXG4gICAgICAgIHJldHVybiB0aGlzLl9vblJlZnJlc2hUb2tlbk9ic2VydmFibGU7XHJcbiAgICB9XHJcblxyXG5cclxuXHJcbiAgICBsb2dpbih1c2VyOiBMb2dpblRva2VuIHwgTG9naW5Vc2VyIHwgbnVsbCkge1xyXG4gICAgICAgIC8vIGlmICh1c2VyKSB7XHJcbiAgICAgICAgLy8gICAgIC8vIEkgdGhpbmsgd2UgZG9uJ3QgbmVlZCB0aGlzXHJcbiAgICAgICAgLy8gICAgIHVzZXIuaWQgPSBPYmplY3RIZWxwZXIuaXNEZWZpbmVkKHVzZXIuaWQpID8gQ29udmVydC5wYXJzZU51bWJlcih1c2VyLmlkKSA6IHVzZXIuaWQ7XHJcbiAgICAgICAgLy8gICAgIHVzZXIuZXhwaXJlZCA9IE9iamVjdEhlbHBlci5pc0RlZmluZWQodXNlci5leHBpcmVkKSA/ICBEYXRlSGVscGVyLnBhcnNlRGF0ZSh1c2VyLmV4cGlyZWQpIDogdXNlci5leHBpcmVkO1xyXG4gICAgICAgIC8vICAgICB1c2VyLnJlZnJlc2hUb2tlblRpbWUgPSBPYmplY3RIZWxwZXIuaXNEZWZpbmVkKHVzZXIucmVmcmVzaFRva2VuVGltZSkgPyAgRGF0ZUhlbHBlci5wYXJzZURhdGUodXNlci5yZWZyZXNoVG9rZW5UaW1lKSA6IHVzZXIucmVmcmVzaFRva2VuVGltZTtcclxuICAgICAgICAvLyAgICAgaWYgKEFycmF5LmlzQXJyYXkodXNlci5yb2xlcykpIHtcclxuICAgICAgICAvLyAgICAgICAgIHVzZXIucm9sZXMgPSB1c2VyLnJvbGVzLm1hcChmdW5jdGlvbiAoZSkgeyByZXR1cm4gZS50b1VwcGVyQ2FzZSgpOyB9KTtcclxuICAgICAgICAvLyAgICAgfVxyXG4gICAgICAgIC8vIH1cclxuXHJcbiAgICAgICAgU3RvcmFnZUhlbHBlci5zZXQoJ2xvZ2luJywgdXNlcik7XHJcbiAgICAgICAgdGhpcy5fdXNlciA9IG51bGw7XHJcbiAgICAgICAgdGhpcy5faXNJbml0aWFsaXplZCA9IGZhbHNlOy8vdXNlciBnZXQgbWV0aG9kIHdpbGwgaW5pdCB1c2VyXHJcbiAgICAgICAgdGhpcy5pc0F1dGhlbnRpY2F0ZWQoKTsvL3RoaXMgbWV0aG9kIG5lZWQgdG8gZXhlY3V0ZSBzdWJqZWN0Lm5leHQoKTsgICAgICAgIFxyXG4gICAgfVxyXG4gICAgbG9nb3V0KCkge1xyXG4gICAgICAgIHRoaXMubG9naW4obnVsbCk7XHJcbiAgICB9XHJcblxyXG5cclxuXHJcbiAgICBwcm90ZWN0ZWQgZ2V0RXhwaXJlZCgpOiBEYXRlIHwgbnVsbCB8IHVuZGVmaW5lZCB7XHJcbiAgICAgICAgbGV0IHVzZXIgPSB0aGlzLnVzZXI7XHJcbiAgICAgICAgaWYgKHVzZXIpIHtcclxuICAgICAgICAgICAgcmV0dXJuIHVzZXIuZXhwaXJlZDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHJldHVybiBudWxsO1xyXG4gICAgfVxyXG5cclxuICAgIHByb3RlY3RlZCBnZXRSZWZyZXNoVG9rZW5FeHBpcmVkKCk6IERhdGUgfCBudWxsIHwgdW5kZWZpbmVkIHtcclxuICAgICAgICBsZXQgdXNlciA9IHRoaXMudXNlcjtcclxuICAgICAgICBpZiAodXNlcikge1xyXG4gICAgICAgICAgICByZXR1cm4gdXNlci5yZWZyZXNoVG9rZW5UaW1lO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICB9XHJcblxyXG5cclxuICAgIC8vIGlzSW5Sb2xlKGFsbG93ZWRSb2xlczogc3RyaW5nW10pOiBib29sZWFuIHtcclxuICAgIC8vICAgICBpZiAoIWFsbG93ZWRSb2xlcyB8fCBhbGxvd2VkUm9sZXMubGVuZ3RoID09PSAwKSB7XHJcbiAgICAvLyAgICAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgLy8gICAgIH1cclxuXHJcbiAgICAvLyAgICAgY29uc3QgdG1wID0gdGhpcy5nZXRVc2VyKCk7XHJcbiAgICAvLyAgICAgY29uc3Qgcm9sZXMgPSB0bXAgPyB0bXAucm9sZXMgOiBudWxsO1xyXG4gICAgLy8gICAgIGlmICghcm9sZXMgfHwgcm9sZXMubGVuZ3RoID09PSAwKSB7XHJcbiAgICAvLyAgICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgIC8vICAgICB9XHJcblxyXG4gICAgLy8gICAgIGxldCBpc0luUm9sZSA9IGFsbG93ZWRSb2xlcy5zb21lKHJvbGUgPT4gcm9sZXMuaW5kZXhPZihyb2xlKSAhPT0gLTEpO1xyXG4gICAgLy8gICAgIHJldHVybiBpc0luUm9sZTtcclxuICAgIC8vIH1cclxuXHJcblxyXG4gICAgaGFzUGVybWlzc2lvbihwZXJtaXNzaW9uPzogS2V5UGFpcjxudW1iZXIsIG51bWJlcj4gfCBudW1iZXIgfCBudWxsKTogYm9vbGVhbiB7XHJcbiAgICAgICAgaWYgKCFwZXJtaXNzaW9uKSB7XHJcbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgbGV0IGtleSA9IDA7XHJcbiAgICAgICAgbGV0IHZhbHVlOiBudW1iZXIgfCBudWxsIHwgdW5kZWZpbmVkO1xyXG4gICAgICAgIGlmICh0eXBlb2YgcGVybWlzc2lvbiA9PT0gJ251bWJlcicgfHwgdHlwZW9mIHBlcm1pc3Npb24gPT09ICdzdHJpbmcnKSB7XHJcbiAgICAgICAgICAgIGtleSA9ICtwZXJtaXNzaW9uO1xyXG4gICAgICAgIH0vLyBlbHNlIGlmIChBcnJheS5pc0FycmF5KHBlcm1pc3Npb24pKSB7XHJcbiAgICAgICAgLy8gfVxyXG4gICAgICAgIGVsc2UgaWYgKHR5cGVvZiBwZXJtaXNzaW9uID09PSAnb2JqZWN0Jykge1xyXG4gICAgICAgICAgICBpZiAoIXBlcm1pc3Npb24ua2V5KVxyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7XHJcblxyXG4gICAgICAgICAgICBrZXkgPSBwZXJtaXNzaW9uLmtleTtcclxuICAgICAgICAgICAgdmFsdWUgPSBwZXJtaXNzaW9uLnZhbHVlO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgcmV0dXJuIHRoaXMuaGFzUGVybWlzc2lvbnMoW2tleV0sIHZhbHVlKTtcclxuICAgIH1cclxuXHJcblxyXG4gICAgaGFzUGVybWlzc2lvbnMocGVybWlzc2lvbnM/OiBBcnJheTxudW1iZXI+LCB2YWx1ZT86IG51bWJlciB8IG51bGwpOiBib29sZWFuIHtcclxuICAgICAgICBpZiAoIXBlcm1pc3Npb25zIHx8IHBlcm1pc3Npb25zLmxlbmd0aCA9PT0gMCkge1xyXG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGNvbnN0IHVzZXIgPSB0aGlzLnVzZXI7XHJcbiAgICAgICAgY29uc3QgdXNlclBlcm1pc3Npb25zID0gdXNlciA/IHVzZXIucGVybWlzc2lvbnMgOiBudWxsO1xyXG4gICAgICAgIGlmICghdXNlclBlcm1pc3Npb25zKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmICh2YWx1ZSkge1xyXG4gICAgICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IHBlcm1pc3Npb25zLmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgICAgICAgICAgICBjb25zdCBwID0gcGVybWlzc2lvbnNbaV07XHJcbiAgICAgICAgICAgICAgICBsZXQgZm91bmQgPSB1c2VyUGVybWlzc2lvbnNbcF07XHJcbiAgICAgICAgICAgICAgICBpZiAoZm91bmQpIHtcclxuICAgICAgICAgICAgICAgICAgICBsZXQgaGFzUGVybWlzc2lvbiA9IEJpdHdpc2VIZWxwZXIuaGFzRmxhZyhmb3VuZCwgdmFsdWUpO1xyXG4gICAgICAgICAgICAgICAgICAgIGlmIChoYXNQZXJtaXNzaW9uKVxyXG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgcGVybWlzc2lvbnMubGVuZ3RoOyBpKyspIHtcclxuICAgICAgICAgICAgICAgIGNvbnN0IHAgPSBwZXJtaXNzaW9uc1tpXTtcclxuICAgICAgICAgICAgICAgIGxldCBmb3VuZCA9IHVzZXJQZXJtaXNzaW9uc1twXTtcclxuICAgICAgICAgICAgICAgIGlmIChmb3VuZClcclxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgfVxyXG5cclxuXHJcbiAgICBoYXNEYXRhUGVybWlzc2lvbihkYXRhOiBhbnkpIHtcclxuICAgICAgICAvL2lmIChkYXRhID09PSB1bmRlZmluZWQgfHwgZGF0YSA9PT0gbnVsbCkgcmV0dXJuIHRydWU7XHJcbiAgICAgICAgLy8gY29uc3QgYWxsb3dlZFJvbGVzID0gZGF0YS5yb2xlcztcclxuICAgICAgICAvLyBsZXQgaXNJblJvbGUgPSB0aGlzLmlzSW5Sb2xlKGFsbG93ZWRSb2xlcyk7XHJcblxyXG4gICAgICAgIGNvbnN0IHBlcm1pc3Npb24gPSBkYXRhLnBlcm1pc3Npb247XHJcblxyXG4gICAgICAgIGxldCBoYXNQZXJtaXNzaW9uID0gdGhpcy5oYXNQZXJtaXNzaW9uKHBlcm1pc3Npb24pO1xyXG5cclxuICAgICAgICAvLyByZXR1cm4gaXNJblJvbGUgJiYgaGFzUGVybWlzc2lvbjtcclxuICAgICAgICByZXR1cm4gaGFzUGVybWlzc2lvbjtcclxuICAgIH1cclxufSJdfQ==
203
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvemVrL3NyYy9saWIvc2VydmljZXMvYXV0aC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEdBQUcsTUFBTSxlQUFlLENBQUM7QUFDNUMsT0FBTyxFQUFFLGVBQWUsRUFBYyxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFNUQsT0FBTyxFQUFFLE9BQU8sRUFBRSxVQUFVLEVBQUUsWUFBWSxFQUFFLGFBQWEsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUM1RSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0seUJBQXlCLENBQUM7O0FBR3hELE1BQU0sT0FBTyxXQUFXO0lBRHhCO1FBRVksbUJBQWMsR0FBWSxLQUFLLENBQUM7UUFDaEMsY0FBUyxHQUFZLEtBQUssQ0FBQztRQUMzQixVQUFLLEdBQXFCLElBQUksQ0FBQztLQStPMUM7SUE3T0csSUFBSSxJQUFJO1FBQ0osSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLEVBQUU7WUFDdEIsSUFBSSxJQUFJLEdBQUcsYUFBYSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUN0QyxJQUFJLElBQUksRUFBRTtnQkFDTixJQUFJLENBQUMsRUFBRSxHQUFHLFlBQVksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQztnQkFDbkYsSUFBSSxDQUFDLE9BQU8sR0FBRyxZQUFZLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FB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QUFLLEdBQUcsZUFBZSxDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUMvQixJQUFJLEtBQUs7b0JBQ0wsT0FBTyxJQUFJLENBQUM7YUFDbkI7U0FDSjtRQUVELE9BQU8sS0FBSyxDQUFDO0lBQ2pCLENBQUM7SUFHRCxpQkFBaUIsQ0FBQyxJQUFTO1FBQ3ZCLHVEQUF1RDtRQUN2RCxtQ0FBbUM7UUFDbkMsOENBQThDO1FBRTlDLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUM7UUFFbkMsSUFBSSxhQUFhLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUVuRCxvQ0FBb0M7UUFDcEMsT0FBTyxhQUFhLENBQUM7SUFDekIsQ0FBQzs4R0FqUFEsV0FBVztrSEFBWCxXQUFXOzsyRkFBWCxXQUFXO2tCQUR2QixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBPYnNlcnZhYmxlLCBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IEtleVBhaXIsIExvZ2luVG9rZW4sIExvZ2luVXNlciB9IGZyb20gJy4uL21vZGVscyc7XHJcbmltcG9ydCB7IENvbnZlcnQsIERhdGVIZWxwZXIsIE9iamVjdEhlbHBlciwgU3RvcmFnZUhlbHBlciB9IGZyb20gJy4uL3V0aWxzJztcclxuaW1wb3J0IHsgQml0d2lzZUhlbHBlciB9IGZyb20gJy4uL3V0aWxzL2JpdHdpc2UtaGVscGVyJztcclxuXHJcbkBJbmplY3RhYmxlKClcclxuZXhwb3J0IGNsYXNzIEF1dGhTZXJ2aWNlIHtcclxuICAgIHByaXZhdGUgX2lzSW5pdGlhbGl6ZWQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuICAgIHByaXZhdGUgX29sZFZhbHVlOiBib29sZWFuID0gZmFsc2U7XHJcbiAgICBwcml2YXRlIF91c2VyOiBMb2dpblVzZXIgfCBudWxsID0gbnVsbDtcclxuXHJcbiAgICBnZXQgdXNlcigpOiBMb2dpblVzZXIgfCBudWxsIHtcclxuICAgICAgICBpZiAoIXRoaXMuX2lzSW5pdGlhbGl6ZWQpIHtcclxuICAgICAgICAgICAgbGV0IHVzZXIgPSBTdG9yYWdlSGVscGVyLmdldCgnbG9naW4nKTtcclxuICAgICAgICAgICAgaWYgKHVzZXIpIHtcclxuICAgICAgICAgICAgICAgIHVzZXIuaWQgPSBPYmplY3RIZWxwZXIuaXNEZWZpbmVkKHVzZXIuaWQpID8gQ29udmVydC5wYXJzZU51bWJlcih1c2VyLmlkKSA6IHVzZXIuaWQ7XHJcbiAgICAgICAgICAgICAgICB1c2VyLmV4cGlyZWQgPSBPYmplY3RIZWxwZXIuaXNEZWZpbmVkKHVzZXIuZXhwaXJlZCkgPyBEYXRlSGVscGVyLnBhcnNlRGF0ZSh1c2VyLmV4cGlyZWQpIDogdXNlci5leHBpcmVkO1xyXG4gICAgICAgICAgICAgICAgdXNlci5yZWZyZXNoVG9rZW5UaW1lID0gT2JqZWN0SGVscGVyLmlzRGVmaW5lZCh1c2VyLnJlZnJlc2hUb2tlblRpbWUpID8gRGF0ZUhlbHBlci5wYXJzZURhdGUodXNlci5yZWZyZXNoVG9rZW5UaW1lKSA6IHVzZXIucmVmcmVzaFRva2VuVGltZTtcclxuXHJcbiAgICAgICAgICAgICAgICBpZiAoQXJyYXkuaXNBcnJheSh1c2VyLnJvbGVzKSkge1xyXG4gICAgICAgICAgICAgICAgICAgIHVzZXIucm9sZXMgPSB1c2VyLnJvbGVzLm1hcChmdW5jdGlvbiAoZTogYW55KSB7IHJldHVybiBlID8gZS50b1VwcGVyQ2FzZSgpIDogZTsgfSk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgdGhpcy5fdXNlciA9IHVzZXI7XHJcbiAgICAgICAgICAgIHRoaXMuX2lzSW5pdGlhbGl6ZWQgPSB0cnVlO1xyXG4gICAgICAgICAgICB0aGlzLl9zdGFyUmVmcmVzaFRva2VuVGltZXIoKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX3VzZXI7XHJcbiAgICB9XHJcblxyXG5cclxuICAgIHByaXZhdGUgX3RpbWVySWQ6IGFueTtcclxuICAgIHByaXZhdGUgX3N0YXJSZWZyZXNoVG9rZW5UaW1lcigpIHtcclxuICAgICAgICB0aGlzLl9zdG9wUmVmcmVzaFRva2VuVGltZXIoKTtcclxuXHJcbiAgICAgICAgbGV0IHVzZXIgPSB0aGlzLl91c2VyO1xyXG4gICAgICAgIGlmICh1c2VyICYmIHVzZXIucmVmcmVzaFRva2VuVGltZSkge1xyXG4gICAgICAgICAgICBsZXQgdGltZW91dCA9IHVzZXIucmVmcmVzaFRva2VuVGltZS5nZXRUaW1lKCkgLSBEYXRlLm5vdygpOy8vIC0gKDYwICogMTAwMCk7XHJcblxyXG4gICAgICAgICAgICBpZiAodGltZW91dCA8IDApIHtcclxuICAgICAgICAgICAgICAgIHRoaXMuX2VtaXRSZWZyZXNoVG9rZW4oKTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgY29uc3QgbWluUmVmcmVzaFRpbWUgPSA2MF8wMDAvLzEgbWluO1xyXG4gICAgICAgICAgICBpZiAodGltZW91dCA8IG1pblJlZnJlc2hUaW1lKSB7XHJcbiAgICAgICAgICAgICAgICB0aW1lb3V0ID0gbWluUmVmcmVzaFRpbWU7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIHRoaXMuX3RpbWVySWQgPSBzZXRJbnRlcnZhbCgoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLl9lbWl0UmVmcmVzaFRva2VuKCk7XHJcbiAgICAgICAgICAgIH0sIHRpbWVvdXQpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIHByaXZhdGUgX3N0b3BSZWZyZXNoVG9rZW5UaW1lcigpIHtcclxuICAgICAgICBpZiAodHlwZW9mIHRoaXMuX3RpbWVySWQgPT09ICdudW1iZXInKSB7XHJcbiAgICAgICAgICAgIGNsZWFySW50ZXJ2YWwodGhpcy5fdGltZXJJZCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgcHJpdmF0ZSBfZW1pdFJlZnJlc2hUb2tlbigpIHtcclxuICAgICAgICBpZiAodGhpcy5fb25SZWZyZXNoVG9rZW5TdWJqZWN0KSB7XHJcbiAgICAgICAgICAgIHRoaXMuX29uUmVmcmVzaFRva2VuU3ViamVjdC5uZXh0KCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuXHJcbiAgICBpc0F1dGhlbnRpY2F0ZWQoKTogYm9vbGVhbiB7XHJcbiAgICAgICAgbGV0IGV4cGlyZWQgPSB0aGlzLmdldEV4cGlyZWQoKSB8fCBuZXcgRGF0ZSgwKTsvLyBpZiBnZXRFeHBpcmVkIGlzIG51bGwgcmV0dXJuIG1pbiBKUyBkYXRlXHJcblxyXG4gICAgICAgIGNvbnN0IG5ld1ZhbHVlID0gbmV3IERhdGUoKSA8IGV4cGlyZWQ7XHJcbiAgICAgICAgaWYgKHRoaXMuX29sZFZhbHVlICE9PSBuZXdWYWx1ZSkge1xyXG4gICAgICAgICAgICB0aGlzLl9vbGRWYWx1ZSA9IG5ld1ZhbHVlO1xyXG5cclxuICAgICAgICAgICAgdGhpcy5lbWl0T25TaWduZWRJbigpO1xyXG4gICAgICAgICAgICAvLyBpZiAodGhpcy5fb25TaWduZWRJblN1YmplY3QpIHtcclxuICAgICAgICAgICAgLy8gICAgIHRoaXMuX29uU2lnbmVkSW5TdWJqZWN0Lm5leHQobmV3VmFsdWUpO1xyXG4gICAgICAgICAgICAvLyB9XHJcblxyXG4gICAgICAgICAgICAvL2lmIHVzZXIgaXMgc2lnbmVkIGluIGFuZCBleHBpcmVkIHdlIG5lZWQgdG8gbG9nb3V0IChyZW1vdmUgZnJvbSBsb2NhbFN0b3JhZ2UpXHJcbiAgICAgICAgICAgIGlmICghbmV3VmFsdWUpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMubG9nb3V0KCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgcmV0dXJuIG5ld1ZhbHVlO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gbmV3VmFsdWU7XHJcbiAgICB9XHJcbiAgICBlbWl0T25TaWduZWRJbigpIHtcclxuICAgICAgICBpZiAodGhpcy5fb25TaWduZWRJblN1YmplY3QpIHtcclxuICAgICAgICAgICAgdGhpcy5fb25TaWduZWRJblN1YmplY3QubmV4dCh0aGlzLl9vbGRWYWx1ZSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgX29uU2lnbmVkSW5TdWJqZWN0PzogQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+Oy8vQmVoYXZpb3JTdWJqZWN0IGlzIGZvciBpbml0aWFsIGZpcnQgdmFsdWUgPSBmYWxzZVxyXG4gICAgcHJpdmF0ZSBfb25TaWduZWRJbk9ic2VydmFibGU/OiBPYnNlcnZhYmxlPGJvb2xlYW4+O1xyXG4gICAgZ2V0IG9uU2lnbmVkSW4oKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XHJcbiAgICAgICAgaWYgKCF0aGlzLl9vblNpZ25lZEluU3ViamVjdCkge1xyXG4gICAgICAgICAgICB0aGlzLl9vblNpZ25lZEluU3ViamVjdCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4oZmFsc2UpO1xyXG4gICAgICAgICAgICB0aGlzLl9vblNpZ25lZEluT2JzZXJ2YWJsZSA9IHRoaXMuX29uU2lnbmVkSW5TdWJqZWN0LmFzT2JzZXJ2YWJsZSgpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaWYgKCF0aGlzLl9vblNpZ25lZEluT2JzZXJ2YWJsZSlcclxuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiX29uRXhlY3V0ZU9ic2VydmFibGUgaXMgdW5kZWZpbmVkXCIpO1xyXG5cclxuICAgICAgICByZXR1cm4gdGhpcy5fb25TaWduZWRJbk9ic2VydmFibGU7XHJcbiAgICB9XHJcblxyXG5cclxuICAgIHByaXZhdGUgX29uUmVmcmVzaFRva2VuU3ViamVjdD86IFN1YmplY3Q8dm9pZD47XHJcbiAgICBwcml2YXRlIF9vblJlZnJlc2hUb2tlbk9ic2VydmFibGU/OiBPYnNlcnZhYmxlPHZvaWQ+O1xyXG4gICAgZ2V0IG9uUmVmcmVzaFRva2VuKCk6IE9ic2VydmFibGU8dm9pZD4ge1xyXG4gICAgICAgIGlmICghdGhpcy5fb25SZWZyZXNoVG9rZW5TdWJqZWN0KSB7XHJcbiAgICAgICAgICAgIHRoaXMuX29uUmVmcmVzaFRva2VuU3ViamVjdCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XHJcbiAgICAgICAgICAgIHRoaXMuX29uUmVmcmVzaFRva2VuT2JzZXJ2YWJsZSA9IHRoaXMuX29uUmVmcmVzaFRva2VuU3ViamVjdC5hc09ic2VydmFibGUoKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmICghdGhpcy5fb25SZWZyZXNoVG9rZW5PYnNlcnZhYmxlKVxyXG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJvblJlZnJlc2hUb2tlbk9ic2VydmFibGUgaXMgdW5kZWZpbmVkXCIpO1xyXG5cclxuICAgICAgICByZXR1cm4gdGhpcy5fb25SZWZyZXNoVG9rZW5PYnNlcnZhYmxlO1xyXG4gICAgfVxyXG5cclxuXHJcblxyXG4gICAgbG9naW4odXNlcjogTG9naW5Ub2tlbiB8IExvZ2luVXNlciB8IG51bGwpIHtcclxuICAgICAgICAvLyBpZiAodXNlcikge1xyXG4gICAgICAgIC8vICAgICAvLyBJIHRoaW5rIHdlIGRvbid0IG5lZWQgdGhpc1xyXG4gICAgICAgIC8vICAgICB1c2VyLmlkID0gT2JqZWN0SGVscGVyLmlzRGVmaW5lZCh1c2VyLmlkKSA/IENvbnZlcnQucGFyc2VOdW1iZXIodXNlci5pZCkgOiB1c2VyLmlkO1xyXG4gICAgICAgIC8vICAgICB1c2VyLmV4cGlyZWQgPSBPYmplY3RIZWxwZXIuaXNEZWZpbmVkKHVzZXIuZXhwaXJlZCkgPyAgRGF0ZUhlbHBlci5wYXJzZURhdGUodXNlci5leHBpcmVkKSA6IHVzZXIuZXhwaXJlZDtcclxuICAgICAgICAvLyAgICAgdXNlci5yZWZyZXNoVG9rZW5UaW1lID0gT2JqZWN0SGVscGVyLmlzRGVmaW5lZCh1c2VyLnJlZnJlc2hUb2tlblRpbWUpID8gIERhdGVIZWxwZXIucGFyc2VEYXRlKHVzZXIucmVmcmVzaFRva2VuVGltZSkgOiB1c2VyLnJlZnJlc2hUb2tlblRpbWU7XHJcbiAgICAgICAgLy8gICAgIGlmIChBcnJheS5pc0FycmF5KHVzZXIucm9sZXMpKSB7XHJcbiAgICAgICAgLy8gICAgICAgICB1c2VyLnJvbGVzID0gdXNlci5yb2xlcy5tYXAoZnVuY3Rpb24gKGUpIHsgcmV0dXJuIGUudG9VcHBlckNhc2UoKTsgfSk7XHJcbiAgICAgICAgLy8gICAgIH1cclxuICAgICAgICAvLyB9XHJcblxyXG4gICAgICAgIFN0b3JhZ2VIZWxwZXIuc2V0KCdsb2dpbicsIHVzZXIpO1xyXG4gICAgICAgIHRoaXMuX3VzZXIgPSBudWxsO1xyXG4gICAgICAgIHRoaXMuX2lzSW5pdGlhbGl6ZWQgPSBmYWxzZTsvL3VzZXIgZ2V0IG1ldGhvZCB3aWxsIGluaXQgdXNlclxyXG4gICAgICAgIHRoaXMuaXNBdXRoZW50aWNhdGVkKCk7Ly90aGlzIG1ldGhvZCBuZWVkIHRvIGV4ZWN1dGUgc3ViamVjdC5uZXh0KCk7ICAgICAgICBcclxuICAgIH1cclxuICAgIGxvZ291dCgpIHtcclxuICAgICAgICB0aGlzLmxvZ2luKG51bGwpO1xyXG4gICAgfVxyXG5cclxuXHJcblxyXG4gICAgcHJvdGVjdGVkIGdldEV4cGlyZWQoKTogRGF0ZSB8IG51bGwgfCB1bmRlZmluZWQge1xyXG4gICAgICAgIGxldCB1c2VyID0gdGhpcy51c2VyO1xyXG4gICAgICAgIGlmICh1c2VyKSB7XHJcbiAgICAgICAgICAgIHJldHVybiB1c2VyLmV4cGlyZWQ7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICByZXR1cm4gbnVsbDtcclxuICAgIH1cclxuXHJcbiAgICBwcm90ZWN0ZWQgZ2V0UmVmcmVzaFRva2VuRXhwaXJlZCgpOiBEYXRlIHwgbnVsbCB8IHVuZGVmaW5lZCB7XHJcbiAgICAgICAgbGV0IHVzZXIgPSB0aGlzLnVzZXI7XHJcbiAgICAgICAgaWYgKHVzZXIpIHtcclxuICAgICAgICAgICAgcmV0dXJuIHVzZXIucmVmcmVzaFRva2VuVGltZTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHJldHVybiBudWxsO1xyXG4gICAgfVxyXG5cclxuXHJcbiAgICAvLyBpc0luUm9sZShhbGxvd2VkUm9sZXM6IHN0cmluZ1tdKTogYm9vbGVhbiB7XHJcbiAgICAvLyAgICAgaWYgKCFhbGxvd2VkUm9sZXMgfHwgYWxsb3dlZFJvbGVzLmxlbmd0aCA9PT0gMCkge1xyXG4gICAgLy8gICAgICAgICByZXR1cm4gdHJ1ZTtcclxuICAgIC8vICAgICB9XHJcblxyXG4gICAgLy8gICAgIGNvbnN0IHRtcCA9IHRoaXMuZ2V0VXNlcigpO1xyXG4gICAgLy8gICAgIGNvbnN0IHJvbGVzID0gdG1wID8gdG1wLnJvbGVzIDogbnVsbDtcclxuICAgIC8vICAgICBpZiAoIXJvbGVzIHx8IHJvbGVzLmxlbmd0aCA9PT0gMCkge1xyXG4gICAgLy8gICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICAvLyAgICAgfVxyXG5cclxuICAgIC8vICAgICBsZXQgaXNJblJvbGUgPSBhbGxvd2VkUm9sZXMuc29tZShyb2xlID0+IHJvbGVzLmluZGV4T2Yocm9sZSkgIT09IC0xKTtcclxuICAgIC8vICAgICByZXR1cm4gaXNJblJvbGU7XHJcbiAgICAvLyB9XHJcblxyXG5cclxuICAgIGhhc1Blcm1pc3Npb24ocGVybWlzc2lvbj86IEtleVBhaXI8bnVtYmVyLCBudW1iZXI+IHwgbnVtYmVyIHwgbnVsbCk6IGJvb2xlYW4ge1xyXG4gICAgICAgIGlmICghcGVybWlzc2lvbikge1xyXG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGxldCBrZXkgPSAwO1xyXG4gICAgICAgIGxldCB2YWx1ZTogbnVtYmVyIHwgbnVsbCB8IHVuZGVmaW5lZDtcclxuICAgICAgICBpZiAodHlwZW9mIHBlcm1pc3Npb24gPT09ICdudW1iZXInIHx8IHR5cGVvZiBwZXJtaXNzaW9uID09PSAnc3RyaW5nJykge1xyXG4gICAgICAgICAgICBrZXkgPSArcGVybWlzc2lvbjtcclxuICAgICAgICB9Ly8gZWxzZSBpZiAoQXJyYXkuaXNBcnJheShwZXJtaXNzaW9uKSkge1xyXG4gICAgICAgIC8vIH1cclxuICAgICAgICBlbHNlIGlmICh0eXBlb2YgcGVybWlzc2lvbiA9PT0gJ29iamVjdCcpIHtcclxuICAgICAgICAgICAgaWYgKCFwZXJtaXNzaW9uLmtleSlcclxuICAgICAgICAgICAgICAgIHJldHVybiB0cnVlO1xyXG5cclxuICAgICAgICAgICAga2V5ID0gcGVybWlzc2lvbi5rZXk7XHJcbiAgICAgICAgICAgIHZhbHVlID0gcGVybWlzc2lvbi52YWx1ZTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHJldHVybiB0aGlzLmhhc1Blcm1pc3Npb25zKFtrZXldLCB2YWx1ZSk7XHJcbiAgICB9XHJcblxyXG5cclxuICAgIGhhc1Blcm1pc3Npb25zKHBlcm1pc3Npb25zPzogQXJyYXk8bnVtYmVyPiwgdmFsdWU/OiBudW1iZXIgfCBudWxsKTogYm9vbGVhbiB7XHJcbiAgICAgICAgaWYgKCFwZXJtaXNzaW9ucyB8fCBwZXJtaXNzaW9ucy5sZW5ndGggPT09IDApIHtcclxuICAgICAgICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBjb25zdCB1c2VyID0gdGhpcy51c2VyO1xyXG4gICAgICAgIGNvbnN0IHVzZXJQZXJtaXNzaW9ucyA9IHVzZXIgPyB1c2VyLnBlcm1pc3Npb25zIDogbnVsbDtcclxuICAgICAgICBpZiAoIXVzZXJQZXJtaXNzaW9ucykge1xyXG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpZiAodmFsdWUpIHtcclxuICAgICAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBwZXJtaXNzaW9ucy5sZW5ndGg7IGkrKykge1xyXG4gICAgICAgICAgICAgICAgY29uc3QgcCA9IHBlcm1pc3Npb25zW2ldO1xyXG4gICAgICAgICAgICAgICAgbGV0IGZvdW5kID0gdXNlclBlcm1pc3Npb25zW3BdO1xyXG4gICAgICAgICAgICAgICAgaWYgKGZvdW5kKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgbGV0IGhhc1Blcm1pc3Npb24gPSBCaXR3aXNlSGVscGVyLmhhc0ZsYWcoZm91bmQsIHZhbHVlKTtcclxuICAgICAgICAgICAgICAgICAgICBpZiAoaGFzUGVybWlzc2lvbilcclxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IHBlcm1pc3Npb25zLmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgICAgICAgICAgICBjb25zdCBwID0gcGVybWlzc2lvbnNbaV07XHJcbiAgICAgICAgICAgICAgICBsZXQgZm91bmQgPSB1c2VyUGVybWlzc2lvbnNbcF07XHJcbiAgICAgICAgICAgICAgICBpZiAoZm91bmQpXHJcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgIH1cclxuXHJcblxyXG4gICAgaGFzRGF0YVBlcm1pc3Npb24oZGF0YTogYW55KSB7XHJcbiAgICAgICAgLy9pZiAoZGF0YSA9PT0gdW5kZWZpbmVkIHx8IGRhdGEgPT09IG51bGwpIHJldHVybiB0cnVlO1xyXG4gICAgICAgIC8vIGNvbnN0IGFsbG93ZWRSb2xlcyA9IGRhdGEucm9sZXM7XHJcbiAgICAgICAgLy8gbGV0IGlzSW5Sb2xlID0gdGhpcy5pc0luUm9sZShhbGxvd2VkUm9sZXMpO1xyXG5cclxuICAgICAgICBjb25zdCBwZXJtaXNzaW9uID0gZGF0YS5wZXJtaXNzaW9uO1xyXG5cclxuICAgICAgICBsZXQgaGFzUGVybWlzc2lvbiA9IHRoaXMuaGFzUGVybWlzc2lvbihwZXJtaXNzaW9uKTtcclxuXHJcbiAgICAgICAgLy8gcmV0dXJuIGlzSW5Sb2xlICYmIGhhc1Blcm1pc3Npb247XHJcbiAgICAgICAgcmV0dXJuIGhhc1Blcm1pc3Npb247XHJcbiAgICB9XHJcbn0iXX0=
@@ -6,7 +6,7 @@ import * as i1 from "./alert.service";
6
6
  import * as i2 from "@ngx-translate/core";
7
7
  import * as i3 from "@angular/router";
8
8
  /** Handles HttpClient errors */
9
- class HttpErrorHandler {
9
+ export class HttpErrorHandler {
10
10
  constructor(alert, translate, router) {
11
11
  this.alert = alert;
12
12
  this.translate = translate;
@@ -131,11 +131,10 @@ class HttpErrorHandler {
131
131
  break;
132
132
  }
133
133
  }
134
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: HttpErrorHandler, deps: [{ token: i1.AlertService }, { token: i2.TranslateService }, { token: i3.Router }], target: i0.ɵɵFactoryTarget.Injectable }); }
135
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: HttpErrorHandler }); }
134
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: HttpErrorHandler, deps: [{ token: i1.AlertService }, { token: i2.TranslateService }, { token: i3.Router }], target: i0.ɵɵFactoryTarget.Injectable }); }
135
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: HttpErrorHandler }); }
136
136
  }
137
- export { HttpErrorHandler };
138
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: HttpErrorHandler, decorators: [{
137
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: HttpErrorHandler, decorators: [{
139
138
  type: Injectable
140
139
  }], ctorParameters: function () { return [{ type: i1.AlertService }, { type: i2.TranslateService }, { type: i3.Router }]; } });
141
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHR0cC1lcnJvci1oYW5kbGVyLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy96ZWsvc3JjL2xpYi9zZXJ2aWNlcy9odHRwLWVycm9yLWhhbmRsZXIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRzNDLE9BQU8sRUFBYyxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFJdEMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHdCQUF3QixDQUFDOzs7OztBQU10RCxnQ0FBZ0M7QUFDaEMsTUFDYSxnQkFBZ0I7SUFDekIsWUFDcUIsS0FBbUIsRUFDbkIsU0FBMkIsRUFDM0IsTUFBYztRQUZkLFVBQUssR0FBTCxLQUFLLENBQWM7UUFDbkIsY0FBUyxHQUFULFNBQVMsQ0FBa0I7UUFDM0IsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUVuQyw4RUFBOEU7UUFDOUUsc0JBQWlCLEdBQUcsQ0FBQyxXQUFXLEdBQUcsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFJLFNBQVMsR0FBRyxXQUFXLEVBQUUsU0FBUyxFQUFPLEVBQUUsSUFBSSxHQUFHLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxXQUFXLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxJQUFJLENBQUMsQ0FBQztRQUNoSyw0QkFBdUIsR0FBRyxDQUFDLFdBQVcsR0FBRyxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUksU0FBUyxHQUFHLFdBQVcsRUFBRSxTQUFTLEVBQU8sRUFBRSxJQUFJLEdBQUcsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsV0FBVyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFKckksQ0FBQztJQU14Qzs7Ozs7OztPQU9HO0lBQ0gsV0FBVyxDQUFJLFdBQVcsR0FB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S0FBSyxHQUFHLEVBQUMsY0FBYztnQkFDbkIsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsY0FBYyxDQUFDLENBQUM7Z0JBQ2pDLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQztnQkFDakMsTUFBTTtZQUVWLEtBQUssR0FBRyxFQUFDLFdBQVc7Z0JBQ2hCLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxDQUFDO2dCQUM5QixNQUFNO1lBRVYsS0FBSyxHQUFHLEVBQUMsV0FBVztnQkFDaEIsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLENBQUM7Z0JBQzlCLE1BQU07WUFFVixLQUFLLEdBQUcsRUFBQyxrQkFBa0I7Z0JBQ3ZCLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLDBCQUEwQixDQUFDLENBQUM7Z0JBQzdDLE1BQU07WUFFVixLQUFLLEdBQUcsRUFBQyx1QkFBdUI7Z0JBQzVCLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLHVCQUF1QixDQUFDLENBQUM7Z0JBQzFDLE1BQU07WUFFVjtnQkFDSSxNQUFNO1NBQ2I7SUFDTCxDQUFDOzhHQWhKUSxnQkFBZ0I7a0hBQWhCLGdCQUFnQjs7U0FBaEIsZ0JBQWdCOzJGQUFoQixnQkFBZ0I7a0JBRDVCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEh0dHBFcnJvclJlc3BvbnNlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5pbXBvcnQgeyBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBvZiB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XHJcbmltcG9ydCB7IEFsZXJ0U2VydmljZSB9IGZyb20gJy4vYWxlcnQuc2VydmljZSc7XHJcbmltcG9ydCB7IEFsZXJ0VHlwZSB9IGZyb20gJy4uL21vZGVscyc7XHJcbmltcG9ydCB7IE9iamVjdEhlbHBlciB9IGZyb20gJy4uL3V0aWxzL29iamVjdC1oZWxwZXInO1xyXG5cclxuLyoqIFR5cGUgb2YgdGhlIGhhbmRsZUVycm9yIGZ1bmN0aW9uIHJldHVybmVkIGJ5IEh0dHBFcnJvckhhbmRsZXIuY3JlYXRlSGFuZGxlRXJyb3IgKi9cclxuZXhwb3J0IHR5cGUgSGFuZGxlRXJyb3IgPSA8VCA9IGFueT4ob3BlcmF0aW9uPzogc3RyaW5nLCByZXN1bHQ/OiBULCBzaG93PzogYm9vbGVhbikgPT4gKGVycm9yOiBIdHRwRXJyb3JSZXNwb25zZSkgPT4gT2JzZXJ2YWJsZTxUPjtcclxuZXhwb3J0IHR5cGUgSGFuZGxlRXJyb3JSZXN1bHQgPSA8VCA9IGFueT4ob3BlcmF0aW9uPzogc3RyaW5nLCByZXN1bHQ/OiBULCBzaG93PzogYm9vbGVhbikgPT4gKGVycm9yOiBIdHRwRXJyb3JSZXNwb25zZSkgPT4gT2JzZXJ2YWJsZTxUPjtcclxuXHJcbi8qKiBIYW5kbGVzIEh0dHBDbGllbnQgZXJyb3JzICovXHJcbkBJbmplY3RhYmxlKClcclxuZXhwb3J0IGNsYXNzIEh0dHBFcnJvckhhbmRsZXIge1xyXG4gICAgY29uc3RydWN0b3IoXHJcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBhbGVydDogQWxlcnRTZXJ2aWNlLFxyXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgdHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlLFxyXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgcm91dGVyOiBSb3V0ZXIpIHsgfVxyXG5cclxuICAgIC8qKiBDcmVhdGUgY3VycmllZCBoYW5kbGVFcnJvciBmdW5jdGlvbiB0aGF0IGFscmVhZHkga25vd3MgdGhlIHNlcnZpY2UgbmFtZSAqL1xyXG4gICAgY3JlYXRlSGFuZGxlRXJyb3IgPSAoc2VydmljZU5hbWUgPSAnJykgPT4gPFQ+KG9wZXJhdGlvbiA9ICdvcGVyYXRpb24nLCByZXN1bHQgPSB7fSBhcyBULCBzaG93ID0gdHJ1ZSkgPT4gdGhpcy5oYW5kbGVFcnJvcihzZXJ2aWNlTmFtZSwgb3BlcmF0aW9uLCByZXN1bHQsIHNob3cpO1xyXG4gICAgY3JlYXRlSGFuZGxlRXJyb3JSZXN1bHQgPSAoc2VydmljZU5hbWUgPSAnJykgPT4gPFQ+KG9wZXJhdGlvbiA9ICdvcGVyYXRpb24nLCByZXN1bHQgPSB7fSBhcyBULCBzaG93ID0gdHJ1ZSkgPT4gdGhpcy5oYW5kbGVFcnJvclJlc3VsdChzZXJ2aWNlTmFtZSwgb3BlcmF0aW9uLCByZXN1bHQsIHNob3cpO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogUmV0dXJucyBhIGZ1bmN0aW9uIHRoYXQgaGFuZGxlcyBIdHRwIG9wZXJhdGlvbiBmYWlsdXJlcy5cclxuICAgICAqIFRoaXMgZXJyb3IgaGFuZGxlciBsZXRzIHRoZSBhcHAgY29udGludWUgdG8gcnVuIGFzIGlmIG5vIGVycm9yIG9jY3VycmVkLlxyXG4gICAgICogQHBhcmFtIHNlcnZpY2VOYW1lID0gbmFtZSBvZiB0aGUgZGF0YSBzZXJ2aWNlIHRoYXQgYXR0ZW1wdGVkIHRoZSBvcGVyYXRpb25cclxuICAgICAqIEBwYXJhbSBvcGVyYXRpb24gLSBuYW1lIG9mIHRoZSBvcGVyYXRpb24gdGhhdCBmYWlsZWRcclxuICAgICAqIEBwYXJhbSByZXN1bHQgLSBvcHRpb25hbCB2YWx1ZSB0byByZXR1cm4gYXMgdGhlIG9ic2VydmFibGUgcmVzdWx0XHJcbiAgICAgKiBAcGFyYW0gc2hvdyAtIG9wdGlvbmFsIHZhbHVlIHRvIHNob3cgZXJyb3JcclxuICAgICAqL1xyXG4gICAgaGFuZGxlRXJyb3I8VD4oc2VydmljZU5hbWUgPSAnJywgb3BlcmF0aW9uID0gJ29wZXJhdGlvbicsIHJlc3VsdCA9IHt9IGFzIFQsIHNob3c/OiBib29sZWFuKSB7XHJcbiAgICAgICAgcmV0dXJuIChyZXNwb25zZTogSHR0cEVycm9yUmVzcG9uc2UpOiBPYnNlcnZhYmxlPFQ+ID0+IHtcclxuICAgICAgICAgICAgY29uc29sZS5lcnJvcihyZXNwb25zZSk7XHJcblxyXG4gICAgICAgICAgICBpZiAoc2hvdykge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5zaG93RXJyb3Ioc2VydmljZU5hbWUsIG9wZXJhdGlvbiwgcmVzcG9uc2UpXHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIHJldHVybiBvZihyZXN1bHQpO1xyXG4gICAgICAgIH07XHJcbiAgICB9XHJcblxyXG5cclxuXHJcbiAgICAvKipcclxuICAgICAqIFJldHVybnMgYSBmdW5jdGlvbiB0aGF0IGhhbmRsZXMgSHR0cCBvcGVyYXRpb24gZmFpbHVyZXMuXHJcbiAgICAgKiBUaGlzIGVycm9yIGhhbmRsZXIgbGV0cyB0aGUgYXBwIGNvbnRpbnVlIHRvIHJ1biBhcyBpZiBubyBlcnJvciBvY2N1cnJlZC5cclxuICAgICAqIEBwYXJhbSBzZXJ2aWNlTmFtZSA9IG5hbWUgb2YgdGhlIGRhdGEgc2VydmljZSB0aGF0IGF0dGVtcHRlZCB0aGUgb3BlcmF0aW9uXHJcbiAgICAgKiBAcGFyYW0gb3BlcmF0aW9uIC0gbmFtZSBvZiB0aGUgb3BlcmF0aW9uIHRoYXQgZmFpbGVkXHJcbiAgICAgKiBAcGFyYW0gc2hvdyAtIG9wdGlvbmFsIHZhbHVlIHRvIHNob3cgZXJyb3JcclxuICAgICAqL1xyXG4gICAgaGFuZGxlRXJyb3JSZXN1bHQ8VD4oc2VydmljZU5hbWUgPSAnJywgb3BlcmF0aW9uID0gJ29wZXJhdGlvbicsIHJlc3VsdCA9IHt9IGFzIFQsIHNob3c/OiBib29sZWFuKSB7XHJcbiAgICAgICAgcmV0dXJuIChyZXNwb25zZTogSHR0cEVycm9yUmVzcG9uc2UpOiBPYnNlcnZhYmxlPGFueT4gPT4ge1xyXG4gICAgICAgICAgICBjb25zb2xlLmVycm9yKHJlc3BvbnNlKTtcclxuXHJcbiAgICAgICAgICAgIGlmIChzaG93KSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnNob3dFcnJvcihzZXJ2aWNlTmFtZSwgb3BlcmF0aW9uLCByZXNwb25zZSlcclxuICAgICAgICAgICAgfVxyXG5cclxuXHJcbiAgICAgICAgICAgIGxldCBlcnJvcjogYW55OyAgICAgICAgICAgXHJcbiAgICAgICAgICAgIGlmICh0eXBlb2YgcmVzcG9uc2UuZXJyb3IgPT09ICdzdHJpbmcnICYmIHJlc3BvbnNlLmVycm9yWzBdID09PSAneycpIHtcclxuICAgICAgICAgICAgICAgIGVycm9yID0gSlNPTi5wYXJzZShyZXNwb25zZS5lcnJvcik7XHJcbiAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICBlcnJvciA9IHJlc3BvbnNlLmVycm9yO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICBpZiAoZXJyb3IgaW5zdGFuY2VvZiBFcnJvckV2ZW50KSB7XHJcbiAgICAgICAgICAgICAgICBlcnJvciA9IHJlc3BvbnNlLmVycm9yLm1lc3NhZ2U7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIHJldHVybiBPYmplY3RIZWxwZXIuaXNEZWZpbmVkKGVycm9yKSA/IG9mKGVycm9yKSA6IG9mKHJlc3VsdCk7XHJcbiAgICAgICAgfTtcclxuICAgIH1cclxuXHJcblxyXG4gICAgcHJpdmF0ZSBzaG93RXJyb3Ioc2VydmljZU5hbWU6IHN0cmluZywgb3BlcmF0aW9uOiBzdHJpbmcsIHJlc3BvbnNlOiBIdHRwRXJyb3JSZXNwb25zZSkge1xyXG4gICAgICAgIHN3aXRjaCAocmVzcG9uc2Uuc3RhdHVzKSB7XHJcbiAgICAgICAgICAgIGNhc2UgMDovL05vIENvbm5lY3Rpb25cclxuICAgICAgICAgICAgICAgIHRoaXMuYWxlcnQuZXJyb3IoYENhbid0IGNvbm5lY3QgdG8gYXBpIHNlcnZlci5gKTtcclxuICAgICAgICAgICAgICAgIGJyZWFrO1xyXG5cclxuICAgICAgICAgICAgY2FzZSA0MDA6Ly9CYWQgUmVxdWVzdFxyXG4gICAgICAgICAgICAgICAgbGV0IGVycm9yOiBhbnk7XHJcbiAgICAgICAgICAgICAgICBpZiAodHlwZW9mIHJlc3BvbnNlLmVycm9yID09PSAnc3RyaW5nJyAmJiByZXNwb25zZS5lcnJvclswXSA9PT0gJ3snKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgZXJyb3IgPSBKU09OLnBhcnNlKHJlc3BvbnNlLmVycm9yKTtcclxuICAgICAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgZXJyb3IgPSByZXNwb25zZS5lcnJvcjtcclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICBpZiAoZXJyb3IgaW5zdGFuY2VvZiBFcnJvckV2ZW50KSB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5hbGVydC5lcnJvcihgJHtzZXJ2aWNlTmFtZX06ICR7b3BlcmF0aW9ufSBmYWlsZWQ6ICR7cmVzcG9uc2UuZXJyb3IubWVzc2FnZX1gKTtcclxuICAgICAgICAgICAgICAgIH0gaWYgKHR5cGVvZiBlcnJvciA9PT0gJ3N0cmluZycpIHtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLmFsZXJ0LmVycm9yKHJlc3BvbnNlLmVycm9yIGFzIHN0cmluZyk7XHJcbiAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKHR5cGVvZiBlcnJvciA9PT0gJ29iamVjdCcpIHtcclxuICAgICAgICAgICAgICAgICAgICBjb25zdCBlcnJvcnMgPSBlcnJvci50cmFjZUlkIHx8IGVycm9yLnN1Y2Nlc3MgPT09IGZhbHNlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgID8gZXJyb3IuZXJyb3JzXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDogZXJyb3I7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGVycm9yTWVzc2FnZXM6IHN0cmluZ1tdID0gW107XHJcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgcHJvcGVydGllcyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKGVycm9ycyk7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIGZvciAobGV0IHByb3BlcnR5IG9mIHByb3BlcnRpZXMpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgbWVzc2FnZXMgPSBlcnJvcnNbcHJvcGVydHldO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAobWVzc2FnZXMgaW5zdGFuY2VvZiBBcnJheSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9yIChsZXQgbWVzc2FnZSBvZiBtZXNzYWdlcykge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IG1lc3NhZ2VLZXkgPSBgVmFsaWRhdGlvbi4ke21lc3NhZ2V9YDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXQgdHJhbnNsYXRlZE1lc3NhZ2UgPSB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KG1lc3NhZ2VLZXkpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIGlmIHRyYW5zbGF0aW9uIG5vdCBmb3VuZCB0aGVuIHVzZSBtZXNzYWdlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKG1lc3NhZ2VLZXkgPT0gdHJhbnNsYXRlZE1lc3NhZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNsYXRlZE1lc3NhZ2UgPSBtZXNzYWdlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHByb3BlcnR5KSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHByb3BlcnR5S2V5ID0gYEZpZWxkcy4ke3Byb3BlcnR5fWA7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldCB0cmFuc2xhdGVkUHJvcGVydHkgPSB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KGBGaWVsZHMuJHtwcm9wZXJ0eX1gKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gaWYgdHJhbnNsYXRpb24gbm90IGZvdW5kIHRoZW4gdXNlIHByb3BlcnR5XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChwcm9wZXJ0eUtleSA9PSB0cmFuc2xhdGVkUHJvcGVydHkpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zbGF0ZWRQcm9wZXJ0eSA9IHByb3BlcnR5XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXJyb3JNZXNzYWdlcy5wdXNoKHRyYW5zbGF0ZWRQcm9wZXJ0eSArICcgLSAnICsgdHJhbnNsYXRlZE1lc3NhZ2UpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXJyb3JNZXNzYWdlcy5wdXNoKHRyYW5zbGF0ZWRNZXNzYWdlKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5hbGVydC5hZGRSYW5nZSgnZGFuZ2VyJywgZXJyb3JNZXNzYWdlcyk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBicmVhaztcclxuXHJcbiAgICAgICAgICAgIGNhc2UgNDAxOi8vVW5hdXRob3JpemVkXHJcbiAgICAgICAgICAgICAgICB0aGlzLmFsZXJ0LmVycm9yKCdVbmF1dGhvcml6ZWQnKTtcclxuICAgICAgICAgICAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFsnL2xvZ2luJ10pO1xyXG4gICAgICAgICAgICAgICAgYnJlYWs7XHJcblxyXG4gICAgICAgICAgICBjYXNlIDQwMzovL0ZvcmJpZGRlblxyXG4gICAgICAgICAgICAgICAgdGhpcy5hbGVydC5lcnJvcignRm9yYmlkZGVuJyk7XHJcbiAgICAgICAgICAgICAgICBicmVhaztcclxuXHJcbiAgICAgICAgICAgIGNhc2UgNDA0Oi8vTm90IEZvdW5kXHJcbiAgICAgICAgICAgICAgICB0aGlzLmFsZXJ0LmVycm9yKCdOb3QgRm91bmQnKTtcclxuICAgICAgICAgICAgICAgIGJyZWFrO1xyXG5cclxuICAgICAgICAgICAgY2FzZSA0MDI6Ly9QYXltZW50IFJlcXVpcmVkXHJcbiAgICAgICAgICAgICAgICB0aGlzLmFsZXJ0LmVycm9yKCdMaWNlbnNlIFBheW1lbnQgUmVxdWlyZWQnKTtcclxuICAgICAgICAgICAgICAgIGJyZWFrO1xyXG5cclxuICAgICAgICAgICAgY2FzZSA1MDA6Ly9JbnRlcm5hbCBTZXJ2ZXIgRXJyb3JcclxuICAgICAgICAgICAgICAgIHRoaXMuYWxlcnQuZXJyb3IoJ0ludGVybmFsIFNlcnZlciBFcnJvcicpO1xyXG4gICAgICAgICAgICAgICAgYnJlYWs7XHJcblxyXG4gICAgICAgICAgICBkZWZhdWx0OlxyXG4gICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxufSJdfQ==
140
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHR0cC1lcnJvci1oYW5kbGVyLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy96ZWsvc3JjL2xpYi9zZXJ2aWNlcy9odHRwLWVycm9yLWhhbmRsZXIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRzNDLE9BQU8sRUFBYyxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFJdEMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHdCQUF3QixDQUFDOzs7OztBQU10RCxnQ0FBZ0M7QUFFaEMsTUFBTSxPQUFPLGdCQUFnQjtJQUN6QixZQUNxQixLQUFtQixFQUNuQixTQUEyQixFQUMzQixNQUFjO1FBRmQsVUFBSyxHQUFMLEtBQUssQ0FBYztRQUNuQixjQUFTLEdBQVQsU0FBUyxDQUFrQjtRQUMzQixXQUFNLEdBQU4sTUFBTSxDQUFRO1FBRW5DLDhFQUE4RTtRQUM5RSxzQkFBaUIsR0FBRyxDQUFDLFdBQVcsR0FBRyxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUksU0FBUyxHQUFHLFdBQVcsRUFBRSxTQUFTLEVBQU8sRUFBRSxJQUFJLEdBQUcsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLFdBQVcsRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQ2hLLDRCQUF1QixHQUFHLENBQUMsV0FBVyxHQUFHLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBSSxTQUFTLEdBQUcsV0FBVyxFQUFFLFNBQVMsRUFBTyxFQUFFLElBQUksR0FBRyxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxXQUFXLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxJQUFJLENBQUMsQ0FBQztJQUpySSxDQUFDO0lBTXhDOzs7Ozs7O09BT0c7SUFDSCxXQUFXLENBQUksV0FB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WUFFVixLQUFLLEdBQUcsRUFBQyxjQUFjO2dCQUNuQixJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxjQUFjLENBQUMsQ0FBQztnQkFDakMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDO2dCQUNqQyxNQUFNO1lBRVYsS0FBSyxHQUFHLEVBQUMsV0FBVztnQkFDaEIsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLENBQUM7Z0JBQzlCLE1BQU07WUFFVixLQUFLLEdBQUcsRUFBQyxXQUFXO2dCQUNoQixJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsQ0FBQztnQkFDOUIsTUFBTTtZQUVWLEtBQUssR0FBRyxFQUFDLGtCQUFrQjtnQkFDdkIsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsMEJBQTBCLENBQUMsQ0FBQztnQkFDN0MsTUFBTTtZQUVWLEtBQUssR0FBRyxFQUFDLHVCQUF1QjtnQkFDNUIsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsdUJBQXVCLENBQUMsQ0FBQztnQkFDMUMsTUFBTTtZQUVWO2dCQUNJLE1BQU07U0FDYjtJQUNMLENBQUM7OEdBaEpRLGdCQUFnQjtrSEFBaEIsZ0JBQWdCOzsyRkFBaEIsZ0JBQWdCO2tCQUQ1QixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBIdHRwRXJyb3JSZXNwb25zZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcclxuaW1wb3J0IHsgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgb2YgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xyXG5pbXBvcnQgeyBBbGVydFNlcnZpY2UgfSBmcm9tICcuL2FsZXJ0LnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBBbGVydFR5cGUgfSBmcm9tICcuLi9tb2RlbHMnO1xyXG5pbXBvcnQgeyBPYmplY3RIZWxwZXIgfSBmcm9tICcuLi91dGlscy9vYmplY3QtaGVscGVyJztcclxuXHJcbi8qKiBUeXBlIG9mIHRoZSBoYW5kbGVFcnJvciBmdW5jdGlvbiByZXR1cm5lZCBieSBIdHRwRXJyb3JIYW5kbGVyLmNyZWF0ZUhhbmRsZUVycm9yICovXHJcbmV4cG9ydCB0eXBlIEhhbmRsZUVycm9yID0gPFQgPSBhbnk+KG9wZXJhdGlvbj86IHN0cmluZywgcmVzdWx0PzogVCwgc2hvdz86IGJvb2xlYW4pID0+IChlcnJvcjogSHR0cEVycm9yUmVzcG9uc2UpID0+IE9ic2VydmFibGU8VD47XHJcbmV4cG9ydCB0eXBlIEhhbmRsZUVycm9yUmVzdWx0ID0gPFQgPSBhbnk+KG9wZXJhdGlvbj86IHN0cmluZywgcmVzdWx0PzogVCwgc2hvdz86IGJvb2xlYW4pID0+IChlcnJvcjogSHR0cEVycm9yUmVzcG9uc2UpID0+IE9ic2VydmFibGU8VD47XHJcblxyXG4vKiogSGFuZGxlcyBIdHRwQ2xpZW50IGVycm9ycyAqL1xyXG5ASW5qZWN0YWJsZSgpXHJcbmV4cG9ydCBjbGFzcyBIdHRwRXJyb3JIYW5kbGVyIHtcclxuICAgIGNvbnN0cnVjdG9yKFxyXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgYWxlcnQ6IEFsZXJ0U2VydmljZSxcclxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IHRyYW5zbGF0ZTogVHJhbnNsYXRlU2VydmljZSxcclxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IHJvdXRlcjogUm91dGVyKSB7IH1cclxuXHJcbiAgICAvKiogQ3JlYXRlIGN1cnJpZWQgaGFuZGxlRXJyb3IgZnVuY3Rpb24gdGhhdCBhbHJlYWR5IGtub3dzIHRoZSBzZXJ2aWNlIG5hbWUgKi9cclxuICAgIGNyZWF0ZUhhbmRsZUVycm9yID0gKHNlcnZpY2VOYW1lID0gJycpID0+IDxUPihvcGVyYXRpb24gPSAnb3BlcmF0aW9uJywgcmVzdWx0ID0ge30gYXMgVCwgc2hvdyA9IHRydWUpID0+IHRoaXMuaGFuZGxlRXJyb3Ioc2VydmljZU5hbWUsIG9wZXJhdGlvbiwgcmVzdWx0LCBzaG93KTtcclxuICAgIGNyZWF0ZUhhbmRsZUVycm9yUmVzdWx0ID0gKHNlcnZpY2VOYW1lID0gJycpID0+IDxUPihvcGVyYXRpb24gPSAnb3BlcmF0aW9uJywgcmVzdWx0ID0ge30gYXMgVCwgc2hvdyA9IHRydWUpID0+IHRoaXMuaGFuZGxlRXJyb3JSZXN1bHQoc2VydmljZU5hbWUsIG9wZXJhdGlvbiwgcmVzdWx0LCBzaG93KTtcclxuXHJcbiAgICAvKipcclxuICAgICAqIFJldHVybnMgYSBmdW5jdGlvbiB0aGF0IGhhbmRsZXMgSHR0cCBvcGVyYXRpb24gZmFpbHVyZXMuXHJcbiAgICAgKiBUaGlzIGVycm9yIGhhbmRsZXIgbGV0cyB0aGUgYXBwIGNvbnRpbnVlIHRvIHJ1biBhcyBpZiBubyBlcnJvciBvY2N1cnJlZC5cclxuICAgICAqIEBwYXJhbSBzZXJ2aWNlTmFtZSA9IG5hbWUgb2YgdGhlIGRhdGEgc2VydmljZSB0aGF0IGF0dGVtcHRlZCB0aGUgb3BlcmF0aW9uXHJcbiAgICAgKiBAcGFyYW0gb3BlcmF0aW9uIC0gbmFtZSBvZiB0aGUgb3BlcmF0aW9uIHRoYXQgZmFpbGVkXHJcbiAgICAgKiBAcGFyYW0gcmVzdWx0IC0gb3B0aW9uYWwgdmFsdWUgdG8gcmV0dXJuIGFzIHRoZSBvYnNlcnZhYmxlIHJlc3VsdFxyXG4gICAgICogQHBhcmFtIHNob3cgLSBvcHRpb25hbCB2YWx1ZSB0byBzaG93IGVycm9yXHJcbiAgICAgKi9cclxuICAgIGhhbmRsZUVycm9yPFQ+KHNlcnZpY2VOYW1lID0gJycsIG9wZXJhdGlvbiA9ICdvcGVyYXRpb24nLCByZXN1bHQgPSB7fSBhcyBULCBzaG93PzogYm9vbGVhbikge1xyXG4gICAgICAgIHJldHVybiAocmVzcG9uc2U6IEh0dHBFcnJvclJlc3BvbnNlKTogT2JzZXJ2YWJsZTxUPiA9PiB7XHJcbiAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IocmVzcG9uc2UpO1xyXG5cclxuICAgICAgICAgICAgaWYgKHNob3cpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMuc2hvd0Vycm9yKHNlcnZpY2VOYW1lLCBvcGVyYXRpb24sIHJlc3BvbnNlKVxyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICByZXR1cm4gb2YocmVzdWx0KTtcclxuICAgICAgICB9O1xyXG4gICAgfVxyXG5cclxuXHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBSZXR1cm5zIGEgZnVuY3Rpb24gdGhhdCBoYW5kbGVzIEh0dHAgb3BlcmF0aW9uIGZhaWx1cmVzLlxyXG4gICAgICogVGhpcyBlcnJvciBoYW5kbGVyIGxldHMgdGhlIGFwcCBjb250aW51ZSB0byBydW4gYXMgaWYgbm8gZXJyb3Igb2NjdXJyZWQuXHJcbiAgICAgKiBAcGFyYW0gc2VydmljZU5hbWUgPSBuYW1lIG9mIHRoZSBkYXRhIHNlcnZpY2UgdGhhdCBhdHRlbXB0ZWQgdGhlIG9wZXJhdGlvblxyXG4gICAgICogQHBhcmFtIG9wZXJhdGlvbiAtIG5hbWUgb2YgdGhlIG9wZXJhdGlvbiB0aGF0IGZhaWxlZFxyXG4gICAgICogQHBhcmFtIHNob3cgLSBvcHRpb25hbCB2YWx1ZSB0byBzaG93IGVycm9yXHJcbiAgICAgKi9cclxuICAgIGhhbmRsZUVycm9yUmVzdWx0PFQ+KHNlcnZpY2VOYW1lID0gJycsIG9wZXJhdGlvbiA9ICdvcGVyYXRpb24nLCByZXN1bHQgPSB7fSBhcyBULCBzaG93PzogYm9vbGVhbikge1xyXG4gICAgICAgIHJldHVybiAocmVzcG9uc2U6IEh0dHBFcnJvclJlc3BvbnNlKTogT2JzZXJ2YWJsZTxhbnk+ID0+IHtcclxuICAgICAgICAgICAgY29uc29sZS5lcnJvcihyZXNwb25zZSk7XHJcblxyXG4gICAgICAgICAgICBpZiAoc2hvdykge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5zaG93RXJyb3Ioc2VydmljZU5hbWUsIG9wZXJhdGlvbiwgcmVzcG9uc2UpXHJcbiAgICAgICAgICAgIH1cclxuXHJcblxyXG4gICAgICAgICAgICBsZXQgZXJyb3I6IGFueTsgICAgICAgICAgIFxyXG4gICAgICAgICAgICBpZiAodHlwZW9mIHJlc3BvbnNlLmVycm9yID09PSAnc3RyaW5nJyAmJiByZXNwb25zZS5lcnJvclswXSA9PT0gJ3snKSB7XHJcbiAgICAgICAgICAgICAgICBlcnJvciA9IEpTT04ucGFyc2UocmVzcG9uc2UuZXJyb3IpO1xyXG4gICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgZXJyb3IgPSByZXNwb25zZS5lcnJvcjtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgaWYgKGVycm9yIGluc3RhbmNlb2YgRXJyb3JFdmVudCkge1xyXG4gICAgICAgICAgICAgICAgZXJyb3IgPSByZXNwb25zZS5lcnJvci5tZXNzYWdlO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICByZXR1cm4gT2JqZWN0SGVscGVyLmlzRGVmaW5lZChlcnJvcikgPyBvZihlcnJvcikgOiBvZihyZXN1bHQpO1xyXG4gICAgICAgIH07XHJcbiAgICB9XHJcblxyXG5cclxuICAgIHByaXZhdGUgc2hvd0Vycm9yKHNlcnZpY2VOYW1lOiBzdHJpbmcsIG9wZXJhdGlvbjogc3RyaW5nLCByZXNwb25zZTogSHR0cEVycm9yUmVzcG9uc2UpIHtcclxuICAgICAgICBzd2l0Y2ggKHJlc3BvbnNlLnN0YXR1cykge1xyXG4gICAgICAgICAgICBjYXNlIDA6Ly9ObyBDb25uZWN0aW9uXHJcbiAgICAgICAgICAgICAgICB0aGlzLmFsZXJ0LmVycm9yKGBDYW4ndCBjb25uZWN0IHRvIGFwaSBzZXJ2ZXIuYCk7XHJcbiAgICAgICAgICAgICAgICBicmVhaztcclxuXHJcbiAgICAgICAgICAgIGNhc2UgNDAwOi8vQmFkIFJlcXVlc3RcclxuICAgICAgICAgICAgICAgIGxldCBlcnJvcjogYW55O1xyXG4gICAgICAgICAgICAgICAgaWYgKHR5cGVvZiByZXNwb25zZS5lcnJvciA9PT0gJ3N0cmluZycgJiYgcmVzcG9uc2UuZXJyb3JbMF0gPT09ICd7Jykge1xyXG4gICAgICAgICAgICAgICAgICAgIGVycm9yID0gSlNPTi5wYXJzZShyZXNwb25zZS5lcnJvcik7XHJcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICAgIGVycm9yID0gcmVzcG9uc2UuZXJyb3I7XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgaWYgKGVycm9yIGluc3RhbmNlb2YgRXJyb3JFdmVudCkge1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuYWxlcnQuZXJyb3IoYCR7c2VydmljZU5hbWV9OiAke29wZXJhdGlvbn0gZmFpbGVkOiAke3Jlc3BvbnNlLmVycm9yLm1lc3NhZ2V9YCk7XHJcbiAgICAgICAgICAgICAgICB9IGlmICh0eXBlb2YgZXJyb3IgPT09ICdzdHJpbmcnKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5hbGVydC5lcnJvcihyZXNwb25zZS5lcnJvciBhcyBzdHJpbmcpO1xyXG4gICAgICAgICAgICAgICAgfSBlbHNlIGlmICh0eXBlb2YgZXJyb3IgPT09ICdvYmplY3QnKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgZXJyb3JzID0gZXJyb3IudHJhY2VJZCB8fCBlcnJvci5zdWNjZXNzID09PSBmYWxzZVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA/IGVycm9yLmVycm9yc1xyXG4gICAgICAgICAgICAgICAgICAgICAgICA6IGVycm9yO1xyXG5cclxuICAgICAgICAgICAgICAgICAgICBjb25zdCBlcnJvck1lc3NhZ2VzOiBzdHJpbmdbXSA9IFtdO1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHByb3BlcnRpZXMgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyhlcnJvcnMpO1xyXG5cclxuICAgICAgICAgICAgICAgICAgICBmb3IgKGxldCBwcm9wZXJ0eSBvZiBwcm9wZXJ0aWVzKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IG1lc3NhZ2VzID0gZXJyb3JzW3Byb3BlcnR5XTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKG1lc3NhZ2VzIGluc3RhbmNlb2YgQXJyYXkpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvciAobGV0IG1lc3NhZ2Ugb2YgbWVzc2FnZXMpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBtZXNzYWdlS2V5ID0gYFZhbGlkYXRpb24uJHttZXNzYWdlfWA7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV0IHRyYW5zbGF0ZWRNZXNzYWdlID0gdGhpcy50cmFuc2xhdGUuaW5zdGFudChtZXNzYWdlS2V5KTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBpZiB0cmFuc2xhdGlvbiBub3QgZm91bmQgdGhlbiB1c2UgbWVzc2FnZVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChtZXNzYWdlS2V5ID09IHRyYW5zbGF0ZWRNZXNzYWdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zbGF0ZWRNZXNzYWdlID0gbWVzc2FnZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChwcm9wZXJ0eSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBwcm9wZXJ0eUtleSA9IGBGaWVsZHMuJHtwcm9wZXJ0eX1gO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXQgdHJhbnNsYXRlZFByb3BlcnR5ID0gdGhpcy50cmFuc2xhdGUuaW5zdGFudChgRmllbGRzLiR7cHJvcGVydHl9YCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIGlmIHRyYW5zbGF0aW9uIG5vdCBmb3VuZCB0aGVuIHVzZSBwcm9wZXJ0eVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAocHJvcGVydHlLZXkgPT0gdHJhbnNsYXRlZFByb3BlcnR5KSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2xhdGVkUHJvcGVydHkgPSBwcm9wZXJ0eVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVycm9yTWVzc2FnZXMucHVzaCh0cmFuc2xhdGVkUHJvcGVydHkgKyAnIC0gJyArIHRyYW5zbGF0ZWRNZXNzYWdlKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVycm9yTWVzc2FnZXMucHVzaCh0cmFuc2xhdGVkTWVzc2FnZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuYWxlcnQuYWRkUmFuZ2UoJ2RhbmdlcicsIGVycm9yTWVzc2FnZXMpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgYnJlYWs7XHJcblxyXG4gICAgICAgICAgICBjYXNlIDQwMTovL1VuYXV0aG9yaXplZFxyXG4gICAgICAgICAgICAgICAgdGhpcy5hbGVydC5lcnJvcignVW5hdXRob3JpemVkJyk7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbJy9sb2dpbiddKTtcclxuICAgICAgICAgICAgICAgIGJyZWFrO1xyXG5cclxuICAgICAgICAgICAgY2FzZSA0MDM6Ly9Gb3JiaWRkZW5cclxuICAgICAgICAgICAgICAgIHRoaXMuYWxlcnQuZXJyb3IoJ0ZvcmJpZGRlbicpO1xyXG4gICAgICAgICAgICAgICAgYnJlYWs7XHJcblxyXG4gICAgICAgICAgICBjYXNlIDQwNDovL05vdCBGb3VuZFxyXG4gICAgICAgICAgICAgICAgdGhpcy5hbGVydC5lcnJvcignTm90IEZvdW5kJyk7XHJcbiAgICAgICAgICAgICAgICBicmVhaztcclxuXHJcbiAgICAgICAgICAgIGNhc2UgNDAyOi8vUGF5bWVudCBSZXF1aXJlZFxyXG4gICAgICAgICAgICAgICAgdGhpcy5hbGVydC5lcnJvcignTGljZW5zZSBQYXltZW50IFJlcXVpcmVkJyk7XHJcbiAgICAgICAgICAgICAgICBicmVhaztcclxuXHJcbiAgICAgICAgICAgIGNhc2UgNTAwOi8vSW50ZXJuYWwgU2VydmVyIEVycm9yXHJcbiAgICAgICAgICAgICAgICB0aGlzLmFsZXJ0LmVycm9yKCdJbnRlcm5hbCBTZXJ2ZXIgRXJyb3InKTtcclxuICAgICAgICAgICAgICAgIGJyZWFrO1xyXG5cclxuICAgICAgICAgICAgZGVmYXVsdDpcclxuICAgICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbn0iXX0=