raise-common-lib 0.0.246 → 0.0.248

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.
@@ -15,6 +15,7 @@ export class TagInputComponent {
15
15
  this.valueChange = new EventEmitter();
16
16
  this.focus = new EventEmitter();
17
17
  this.blur = new EventEmitter();
18
+ this.keyup = new EventEmitter();
18
19
  this.inputError = false;
19
20
  }
20
21
  /**
@@ -48,15 +49,18 @@ export class TagInputComponent {
48
49
  }
49
50
  /**
50
51
  * @param {?} event
52
+ * @param {?=} type
51
53
  * @return {?}
52
54
  */
53
- onAddTag(event) {
55
+ onAddTag(event, type) {
54
56
  /** @type {?} */
55
57
  const inputValue = event.target.value;
56
58
  if (inputValue && this.verifyInputValue(inputValue)) {
57
59
  this.valueChange.emit([...this.value, inputValue]);
58
60
  event.target.value = "";
59
61
  }
62
+ if (!type)
63
+ this.keyup.emit(event);
60
64
  }
61
65
  /**
62
66
  * @param {?} inputValue
@@ -91,7 +95,7 @@ export class TagInputComponent {
91
95
  * @return {?}
92
96
  */
93
97
  onBlur(event) {
94
- this.onAddTag(event);
98
+ this.onAddTag(event, "blur");
95
99
  this.blur.emit();
96
100
  }
97
101
  }
@@ -111,7 +115,8 @@ TagInputComponent.propDecorators = {
111
115
  maxlength: [{ type: Input, args: ["inputMaxlength",] }],
112
116
  valueChange: [{ type: Output }],
113
117
  focus: [{ type: Output }],
114
- blur: [{ type: Output }]
118
+ blur: [{ type: Output }],
119
+ keyup: [{ type: Output }]
115
120
  };
116
121
  if (false) {
117
122
  /** @type {?} */
@@ -133,6 +138,8 @@ if (false) {
133
138
  /** @type {?} */
134
139
  TagInputComponent.prototype.blur;
135
140
  /** @type {?} */
141
+ TagInputComponent.prototype.keyup;
142
+ /** @type {?} */
136
143
  TagInputComponent.prototype.inputError;
137
144
  }
138
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vcmFpc2UtY29tbW9uLWxpYi8iLCJzb3VyY2VzIjpbImxpYi9mb3JtL3RhZy1pbnB1dC9pbmRleC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQ0EsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQU8vRSxNQUFNLE9BQU8saUJBQWlCO0lBTDlCO1FBTVcsVUFBSyxHQUFHLEVBQUUsQ0FBQztRQUVYLGFBQVEsR0FBRyxLQUFLLENBQUM7UUFDakIsVUFBSyxHQUFHLEtBQUssQ0FBQztRQUNFLGNBQVMsR0FBRyxDQUFDLENBQUM7UUFDZCxjQUFTLEdBQUcsRUFBRSxDQUFDO1FBV3hDLGdCQUFXLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUV2QixVQUFLLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUMzQixTQUFJLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQWVwQyxlQUFVLEdBQUcsS0FBSyxDQUFDO0lBMkJyQixDQUFDOzs7O0lBdERDLElBQUksY0FBYztRQUNoQixPQUFPLElBQUksQ0FBQyxTQUFTLEtBQUssU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUM7SUFDM0QsQ0FBQzs7OztJQUVELElBQUksY0FBYztRQUNoQixPQUFPLElBQUksQ0FBQyxTQUFTLEtBQUssU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUM7SUFDNUQsQ0FBQzs7OztJQVFELFFBQVEsS0FBSSxDQUFDOzs7OztJQUNiLFdBQVcsQ0FBQyxHQUFHOztjQUNQLFFBQVEsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU07Ozs7UUFBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxLQUFLLEdBQUcsRUFBQztRQUNwRCxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUNsQyxDQUFDOzs7OztJQUVELFFBQVEsQ0FBQyxLQUFLOztjQUNOLFVBQVUsR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFDLEtBQUs7UUFDckMsSUFBSSxVQUFVLElBQUksSUFBSSxDQUFDLGdCQUFnQixDQUFDLFVBQVUsQ0FBQyxFQUFFO1lBQ25ELElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsQ0FBQyxDQUFDLENBQUM7WUFDbkQsS0FBSyxDQUFDLE1BQU0sQ0FBQyxLQUFLLEdBQUcsRUFBRSxDQUFDO1NBQ3pCO0lBQ0gsQ0FBQzs7Ozs7SUFFRCxnQkFBZ0IsQ0FBQyxVQUFVO1FBQ3pCLElBQUksQ0FBQyxVQUFVLEdBQUcsS0FBSyxDQUFDOztjQUNsQixnQkFBZ0IsR0FBRyxVQUFVLENBQUMsTUFBTTtRQUMxQyxJQUNFLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQztZQUMvQixnQkFBZ0IsR0FBRyxJQUFJLENBQUMsY0FBYztZQUN0QyxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsY0FBYyxFQUN0QztZQUNBLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDO1lBQ3ZCLE9BQU8sS0FBSyxDQUFDO1NBQ2Q7UUFDRCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7Ozs7SUFFRCxPQUFPO1FBQ0wsSUFBSSxDQUFDLFVBQVUsR0FBRyxLQUFLLENBQUM7SUFDMUIsQ0FBQzs7OztJQUVELE9BQU87UUFDTCxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3BCLENBQUM7Ozs7O0lBRUQsTUFBTSxDQUFDLEtBQVU7UUFDZixJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3JCLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDbkIsQ0FBQzs7O1lBbEVGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsY0FBYztnQkFDeEIsOG1CQUFxQzs7YUFFdEM7OztvQkFFRSxLQUFLO3FCQUNMLEtBQUs7dUJBQ0wsS0FBSztvQkFDTCxLQUFLO3dCQUNMLEtBQUssU0FBQyxnQkFBZ0I7d0JBQ3RCLEtBQUssU0FBQyxnQkFBZ0I7MEJBVXRCLE1BQU07b0JBR04sTUFBTTttQkFDTixNQUFNOzs7O0lBbkJQLGtDQUFvQjs7SUFDcEIsbUNBQWdCOztJQUNoQixxQ0FBMEI7O0lBQzFCLGtDQUF1Qjs7SUFDdkIsc0NBQXVDOztJQUN2QyxzQ0FBd0M7O0lBVXhDLHdDQUNpQzs7SUFFakMsa0NBQXFDOztJQUNyQyxpQ0FBb0M7O0lBZXBDLHVDQUFtQiIsInNvdXJjZXNDb250ZW50IjpbIi8vIOe7hOS7tuexu1xyXG5pbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0IH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiBcInJzLXRhZy1pbnB1dFwiLFxyXG4gIHRlbXBsYXRlVXJsOiBcIi4vaW5kZXguY29tcG9uZW50Lmh0bWxcIixcclxuICBzdHlsZVVybHM6IFtcIi4vaW5kZXguY29tcG9uZW50LnNjc3NcIl0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBUYWdJbnB1dENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgQElucHV0KCkgdmFsdWUgPSBbXTtcclxuICBASW5wdXQoKSBmaWVsZHM7XHJcbiAgQElucHV0KCkgZGlzYWJsZWQgPSBmYWxzZTtcclxuICBASW5wdXQoKSBlcnJvciA9IGZhbHNlO1xyXG4gIEBJbnB1dChcImlucHV0TWlubGVuZ3RoXCIpIG1pbmxlbmd0aCA9IDM7XHJcbiAgQElucHV0KFwiaW5wdXRNYXhsZW5ndGhcIikgbWF4bGVuZ3RoID0gMzA7XHJcblxyXG4gIGdldCBpbnB1dE1pbmxlbmd0aCgpIHtcclxuICAgIHJldHVybiB0aGlzLm1pbmxlbmd0aCA9PT0gdW5kZWZpbmVkID8gMyA6IHRoaXMubWlubGVuZ3RoO1xyXG4gIH1cclxuXHJcbiAgZ2V0IGlucHV0TWF4bGVuZ3RoKCkge1xyXG4gICAgcmV0dXJuIHRoaXMubWlubGVuZ3RoID09PSB1bmRlZmluZWQgPyAzMCA6IHRoaXMubWF4bGVuZ3RoO1xyXG4gIH1cclxuXHJcbiAgQE91dHB1dCgpXHJcbiAgdmFsdWVDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcblxyXG4gIEBPdXRwdXQoKSBmb2N1cyA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBAT3V0cHV0KCkgYmx1ciA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuXHJcbiAgbmdPbkluaXQoKSB7fVxyXG4gIG9uUmVtb3ZlVGFnKHRhZykge1xyXG4gICAgY29uc3QgdGFnc0xpc3QgPSB0aGlzLnZhbHVlLmZpbHRlcigoaSkgPT4gaSAhPT0gdGFnKTtcclxuICAgIHRoaXMudmFsdWVDaGFuZ2UuZW1pdCh0YWdzTGlzdCk7XHJcbiAgfVxyXG5cclxuICBvbkFkZFRhZyhldmVudCkge1xyXG4gICAgY29uc3QgaW5wdXRWYWx1ZSA9IGV2ZW50LnRhcmdldC52YWx1ZTtcclxuICAgIGlmIChpbnB1dFZhbHVlICYmIHRoaXMudmVyaWZ5SW5wdXRWYWx1ZShpbnB1dFZhbHVlKSkge1xyXG4gICAgICB0aGlzLnZhbHVlQ2hhbmdlLmVtaXQoWy4uLnRoaXMudmFsdWUsIGlucHV0VmFsdWVdKTtcclxuICAgICAgZXZlbnQudGFyZ2V0LnZhbHVlID0gXCJcIjtcclxuICAgIH1cclxuICB9XHJcbiAgaW5wdXRFcnJvciA9IGZhbHNlO1xyXG4gIHZlcmlmeUlucHV0VmFsdWUoaW5wdXRWYWx1ZSkge1xyXG4gICAgdGhpcy5pbnB1dEVycm9yID0gZmFsc2U7XHJcbiAgICBjb25zdCBpbnB1dFZhbHVlTGVuZ3RoID0gaW5wdXRWYWx1ZS5sZW5ndGg7XHJcbiAgICBpZiAoXHJcbiAgICAgIHRoaXMudmFsdWUuaW5jbHVkZXMoaW5wdXRWYWx1ZSkgfHxcclxuICAgICAgaW5wdXRWYWx1ZUxlbmd0aCA+IHRoaXMuaW5wdXRNYXhsZW5ndGggfHxcclxuICAgICAgaW5wdXRWYWx1ZUxlbmd0aCA8IHRoaXMuaW5wdXRNaW5sZW5ndGhcclxuICAgICkge1xyXG4gICAgICB0aGlzLmlucHV0RXJyb3IgPSB0cnVlO1xyXG4gICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gdHJ1ZTtcclxuICB9XHJcblxyXG4gIG9uSW5wdXQoKSB7XHJcbiAgICB0aGlzLmlucHV0RXJyb3IgPSBmYWxzZTtcclxuICB9XHJcblxyXG4gIG9uRm9jdXMoKSB7XHJcbiAgICB0aGlzLmZvY3VzLmVtaXQoKTtcclxuICB9XHJcblxyXG4gIG9uQmx1cihldmVudDogYW55KSB7XHJcbiAgICB0aGlzLm9uQWRkVGFnKGV2ZW50KTtcclxuICAgIHRoaXMuYmx1ci5lbWl0KCk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
145
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vcmFpc2UtY29tbW9uLWxpYi8iLCJzb3VyY2VzIjpbImxpYi9mb3JtL3RhZy1pbnB1dC9pbmRleC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQ0EsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQU8vRSxNQUFNLE9BQU8saUJBQWlCO0lBTDlCO1FBTVcsVUFBSyxHQUFHLEVBQUUsQ0FBQztRQUVYLGFBQVEsR0FBRyxLQUFLLENBQUM7UUFDakIsVUFBSyxHQUFHLEtBQUssQ0FBQztRQUNFLGNBQVMsR0FBRyxDQUFDLENBQUM7UUFDZCxjQUFTLEdBQUcsRUFBRSxDQUFDO1FBV3hDLGdCQUFXLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUV2QixVQUFLLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUMzQixTQUFJLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUMxQixVQUFLLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQWdCckMsZUFBVSxHQUFHLEtBQUssQ0FBQztJQTJCckIsQ0FBQzs7OztJQXhEQyxJQUFJLGNBQWM7UUFDaEIsT0FBTyxJQUFJLENBQUMsU0FBUyxLQUFLLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDO0lBQzNELENBQUM7Ozs7SUFFRCxJQUFJLGNBQWM7UUFDaEIsT0FBTyxJQUFJLENBQUMsU0FBUyxLQUFLLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDO0lBQzVELENBQUM7Ozs7SUFTRCxRQUFRLEtBQUksQ0FBQzs7Ozs7SUFDYixXQUFXLENBQUMsR0FBRzs7Y0FDUCxRQUFRLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNOzs7O1FBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsS0FBSyxHQUFHLEVBQUM7UUFDcEQsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDbEMsQ0FBQzs7Ozs7O0lBRUQsUUFBUSxDQUFDLEtBQUssRUFBRSxJQUFLOztjQUNiLFVBQVUsR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFDLEtBQUs7UUFDckMsSUFBSSxVQUFVLElBQUksSUFBSSxDQUFDLGdCQUFnQixDQUFDLFVBQVUsQ0FBQyxFQUFFO1lBQ25ELElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsQ0FBQyxDQUFDLENBQUM7WUFDbkQsS0FBSyxDQUFDLE1BQU0sQ0FBQyxLQUFLLEdBQUcsRUFBRSxDQUFDO1NBQ3pCO1FBQ0QsSUFBSSxDQUFDLElBQUk7WUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNwQyxDQUFDOzs7OztJQUVELGdCQUFnQixDQUFDLFVBQVU7UUFDekIsSUFBSSxDQUFDLFVBQVUsR0FBRyxLQUFLLENBQUM7O2NBQ2xCLGdCQUFnQixHQUFHLFVBQVUsQ0FBQyxNQUFNO1FBQzFDLElBQ0UsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDO1lBQy9CLGdCQUFnQixHQUFHLElBQUksQ0FBQyxjQUFjO1lBQ3RDLGdCQUFnQixHQUFHLElBQUksQ0FBQyxjQUFjLEVBQ3RDO1lBQ0EsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUM7WUFDdkIsT0FBTyxLQUFLLENBQUM7U0FDZDtRQUNELE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQzs7OztJQUVELE9BQU87UUFDTCxJQUFJLENBQUMsVUFBVSxHQUFHLEtBQUssQ0FBQztJQUMxQixDQUFDOzs7O0lBRUQsT0FBTztRQUNMLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDcEIsQ0FBQzs7Ozs7SUFFRCxNQUFNLENBQUMsS0FBVTtRQUNmLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBQzdCLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDbkIsQ0FBQzs7O1lBcEVGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsY0FBYztnQkFDeEIsOG1CQUFxQzs7YUFFdEM7OztvQkFFRSxLQUFLO3FCQUNMLEtBQUs7dUJBQ0wsS0FBSztvQkFDTCxLQUFLO3dCQUNMLEtBQUssU0FBQyxnQkFBZ0I7d0JBQ3RCLEtBQUssU0FBQyxnQkFBZ0I7MEJBVXRCLE1BQU07b0JBR04sTUFBTTttQkFDTixNQUFNO29CQUNOLE1BQU07Ozs7SUFwQlAsa0NBQW9COztJQUNwQixtQ0FBZ0I7O0lBQ2hCLHFDQUEwQjs7SUFDMUIsa0NBQXVCOztJQUN2QixzQ0FBdUM7O0lBQ3ZDLHNDQUF3Qzs7SUFVeEMsd0NBQ2lDOztJQUVqQyxrQ0FBcUM7O0lBQ3JDLGlDQUFvQzs7SUFDcEMsa0NBQXFDOztJQWdCckMsdUNBQW1CIiwic291cmNlc0NvbnRlbnQiOlsiLy8g57uE5Lu257G7XHJcbmltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6IFwicnMtdGFnLWlucHV0XCIsXHJcbiAgdGVtcGxhdGVVcmw6IFwiLi9pbmRleC5jb21wb25lbnQuaHRtbFwiLFxyXG4gIHN0eWxlVXJsczogW1wiLi9pbmRleC5jb21wb25lbnQuc2Nzc1wiXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIFRhZ0lucHV0Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuICBASW5wdXQoKSB2YWx1ZSA9IFtdO1xyXG4gIEBJbnB1dCgpIGZpZWxkcztcclxuICBASW5wdXQoKSBkaXNhYmxlZCA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIGVycm9yID0gZmFsc2U7XHJcbiAgQElucHV0KFwiaW5wdXRNaW5sZW5ndGhcIikgbWlubGVuZ3RoID0gMztcclxuICBASW5wdXQoXCJpbnB1dE1heGxlbmd0aFwiKSBtYXhsZW5ndGggPSAzMDtcclxuXHJcbiAgZ2V0IGlucHV0TWlubGVuZ3RoKCkge1xyXG4gICAgcmV0dXJuIHRoaXMubWlubGVuZ3RoID09PSB1bmRlZmluZWQgPyAzIDogdGhpcy5taW5sZW5ndGg7XHJcbiAgfVxyXG5cclxuICBnZXQgaW5wdXRNYXhsZW5ndGgoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5taW5sZW5ndGggPT09IHVuZGVmaW5lZCA/IDMwIDogdGhpcy5tYXhsZW5ndGg7XHJcbiAgfVxyXG5cclxuICBAT3V0cHV0KClcclxuICB2YWx1ZUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuXHJcbiAgQE91dHB1dCgpIGZvY3VzID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIEBPdXRwdXQoKSBibHVyID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIEBPdXRwdXQoKSBrZXl1cCA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuXHJcbiAgbmdPbkluaXQoKSB7fVxyXG4gIG9uUmVtb3ZlVGFnKHRhZykge1xyXG4gICAgY29uc3QgdGFnc0xpc3QgPSB0aGlzLnZhbHVlLmZpbHRlcigoaSkgPT4gaSAhPT0gdGFnKTtcclxuICAgIHRoaXMudmFsdWVDaGFuZ2UuZW1pdCh0YWdzTGlzdCk7XHJcbiAgfVxyXG5cclxuICBvbkFkZFRhZyhldmVudCwgdHlwZT8pIHtcclxuICAgIGNvbnN0IGlucHV0VmFsdWUgPSBldmVudC50YXJnZXQudmFsdWU7XHJcbiAgICBpZiAoaW5wdXRWYWx1ZSAmJiB0aGlzLnZlcmlmeUlucHV0VmFsdWUoaW5wdXRWYWx1ZSkpIHtcclxuICAgICAgdGhpcy52YWx1ZUNoYW5nZS5lbWl0KFsuLi50aGlzLnZhbHVlLCBpbnB1dFZhbHVlXSk7XHJcbiAgICAgIGV2ZW50LnRhcmdldC52YWx1ZSA9IFwiXCI7XHJcbiAgICB9XHJcbiAgICBpZiAoIXR5cGUpIHRoaXMua2V5dXAuZW1pdChldmVudCk7XHJcbiAgfVxyXG4gIGlucHV0RXJyb3IgPSBmYWxzZTtcclxuICB2ZXJpZnlJbnB1dFZhbHVlKGlucHV0VmFsdWUpIHtcclxuICAgIHRoaXMuaW5wdXRFcnJvciA9IGZhbHNlO1xyXG4gICAgY29uc3QgaW5wdXRWYWx1ZUxlbmd0aCA9IGlucHV0VmFsdWUubGVuZ3RoO1xyXG4gICAgaWYgKFxyXG4gICAgICB0aGlzLnZhbHVlLmluY2x1ZGVzKGlucHV0VmFsdWUpIHx8XHJcbiAgICAgIGlucHV0VmFsdWVMZW5ndGggPiB0aGlzLmlucHV0TWF4bGVuZ3RoIHx8XHJcbiAgICAgIGlucHV0VmFsdWVMZW5ndGggPCB0aGlzLmlucHV0TWlubGVuZ3RoXHJcbiAgICApIHtcclxuICAgICAgdGhpcy5pbnB1dEVycm9yID0gdHJ1ZTtcclxuICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHRydWU7XHJcbiAgfVxyXG5cclxuICBvbklucHV0KCkge1xyXG4gICAgdGhpcy5pbnB1dEVycm9yID0gZmFsc2U7XHJcbiAgfVxyXG5cclxuICBvbkZvY3VzKCkge1xyXG4gICAgdGhpcy5mb2N1cy5lbWl0KCk7XHJcbiAgfVxyXG5cclxuICBvbkJsdXIoZXZlbnQ6IGFueSkge1xyXG4gICAgdGhpcy5vbkFkZFRhZyhldmVudCwgXCJibHVyXCIpO1xyXG4gICAgdGhpcy5ibHVyLmVtaXQoKTtcclxuICB9XHJcbn1cclxuIl19
@@ -5,32 +5,21 @@
5
5
  */
6
6
  import { Component, ViewChild, ViewContainerRef, ComponentFactoryResolver, ElementRef, ChangeDetectorRef, } from "@angular/core";
7
7
  import { DefaultDrawerConfig, DrawerService, } from "../../service/drawer.service";
8
- import { StaticResourceService } from "../../service/static-resource.service";
9
8
  export class DrawerComponent {
10
9
  /**
11
10
  * @param {?} resolver
12
11
  * @param {?} service
13
12
  * @param {?} ref
14
- * @param {?} staticResourceService
15
13
  */
16
- constructor(resolver, service, ref, staticResourceService) {
14
+ constructor(resolver, service, ref) {
17
15
  this.resolver = resolver;
18
16
  this.service = service;
19
17
  this.ref = ref;
20
- this.staticResourceService = staticResourceService;
21
18
  this.config = DefaultDrawerConfig;
22
19
  this.useAnimation = "yes";
23
20
  this.isOpened = false;
24
21
  this.hiddenDrawer = true;
25
- this.backImage = null;
26
22
  this.componentRefMap = new Map();
27
- staticResourceService.load("/assets/img/drawer-back.svg", (/**
28
- * @param {?} result
29
- * @return {?}
30
- */
31
- (result) => {
32
- this.backImage = result;
33
- }));
34
23
  }
35
24
  /**
36
25
  * @private
@@ -288,16 +277,15 @@ export class DrawerComponent {
288
277
  DrawerComponent.decorators = [
289
278
  { type: Component, args: [{
290
279
  selector: "rs-drawer",
291
- template: "<div #element id=\"rs-drawer-container\" class=\"rs-drawer-container\">\r\n <div class=\"rs-drawer-content\">\r\n <ng-content></ng-content>\r\n </div>\r\n <div\r\n #drawer\r\n class=\"rs-drawer\"\r\n [attr.data-mode]=\"config.mode\"\r\n [attr.data-opened]=\"isOpened ? 'yes' : 'no'\"\r\n [attr.data-animation]=\"useAnimation\"\r\n [hidden]=\"hiddenDrawer\"\r\n (animationend)=\"onAnimationEnd()\"\r\n >\r\n <div class=\"drawer-header\" #header>\r\n <button class=\"drawer-return-button\" (click)=\"hide()\">\r\n <img [src]=\"backImage\" alt=\"back\" />\r\n <span class=\"drawer-sub-title\" *ngIf=\"config.subTitle\">\r\n {{ config.subTitle }}\r\n </span>\r\n </button>\r\n <div class=\"drawer-title\">{{ config.title }}</div>\r\n <div class=\"drawer-header-slot\" #headerSlot></div>\r\n </div>\r\n <div class=\"drawer-top-slot\" #topSlot></div>\r\n <div class=\"drawer-content-box\">\r\n <div class=\"drawer-content\" #content>\r\n <div class=\"drawer-content-container\">\r\n <ng-template #dynamicComponentContainer></ng-template>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"drawer-toolbar-slot\" #toolbarSlot></div>\r\n </div>\r\n</div>\r\n",
292
- styles: [":host{display:block;height:100%}#rs-drawer-container{height:100%}.rs-drawer-container{height:100%;background-color:transparent;overflow:hidden;position:relative}.rs-drawer-container .rs-drawer-content{width:100%;height:100%;overflow:auto;margin-right:0!important}.rs-drawer-container .rs-drawer{width:100%;height:100%;border-left:none;background-color:transparent;overflow:visible;pointer-events:none;opacity:0;display:flex;flex-flow:column nowrap;position:absolute;z-index:2;top:0;left:100%}.rs-drawer-container .rs-drawer[data-opened=yes]{left:0;opacity:1}.rs-drawer-container .rs-drawer[data-animation=yes][data-opened=yes]{-webkit-animation:.5s ease-in-out drawer-open;animation:.5s ease-in-out drawer-open}@-webkit-keyframes drawer-open{from{left:100%;opacity:0}to{left:0;opacity:1}}@keyframes drawer-open{from{left:100%;opacity:0}to{left:0;opacity:1}}.rs-drawer-container .rs-drawer[data-animation=yes][data-opened=no]{-webkit-animation:.5s ease-in-out drawer-close;animation:.5s ease-in-out drawer-close}@-webkit-keyframes drawer-close{from{left:0;opacity:1}to{left:100%;opacity:0}}@keyframes drawer-close{from{left:0;opacity:1}to{left:100%;opacity:0}}.rs-drawer-container .rs-drawer[hidden]{display:none}.rs-drawer-container .rs-drawer .drawer-header{flex:none;display:flex;flex-flow:row nowrap;justify-content:flex-start;align-items:center;box-sizing:content-box;pointer-events:auto}.rs-drawer-container .rs-drawer .drawer-header .drawer-return-button{flex:none;display:flex;flex-flow:row nowrap;align-items:center;padding:0;border:none;background-color:transparent;cursor:pointer}.rs-drawer-container .rs-drawer .drawer-header .drawer-return-button img{width:24px;height:24px;margin-right:8px;transition:transform 125ms ease-in-out}.rs-drawer-container .rs-drawer .drawer-header .drawer-return-button:hover img{transform:translateX(-2px)}.rs-drawer-container .rs-drawer .drawer-header .drawer-return-button .drawer-sub-title{margin-right:12px;font-family:Arial;font-style:normal;font-weight:400}.rs-drawer-container .rs-drawer .drawer-header .drawer-title{flex:none;min-height:14px;padding:0 12px;border-left:1px solid #bdc4ca;font-family:Arial;font-style:normal;font-weight:400}.rs-drawer-container .rs-drawer .drawer-header .drawer-title:empty{padding:0}.rs-drawer-container .rs-drawer .drawer-content-box{flex:auto;height:0;background-color:#f7fafb;pointer-events:auto}.rs-drawer-container .rs-drawer .drawer-content{height:100%;padding:0 20px;border:1px solid #ebedf0;border-radius:15px;background-color:#fff;display:flex;flex-flow:column nowrap}.rs-drawer-container .rs-drawer .drawer-content .drawer-content-container{flex:auto;overflow:hidden auto}.rs-drawer-container .rs-drawer .drawer-toolbar-slot{flex:none;height:32px;margin-left:auto;display:flex;flex-flow:row nowrap;justify-content:flex-end;align-items:center;pointer-events:auto}.rs-drawer-container .rs-drawer .drawer-toolbar-slot:empty{display:none}.rs-drawer-container .rs-drawer .drawer-top-slot{flex:none;pointer-events:auto}.rs-drawer-container .rs-drawer .drawer-top-slot:empty{height:var(--drawer-top,0);pointer-events:none}.rs-drawer-container .rs-drawer[data-mode=outer] .drawer-header{height:46px;padding:0 12px 0 8px;background-color:#f7fafb}.rs-drawer-container .rs-drawer[data-mode=outer] .drawer-header .drawer-sub-title,.rs-drawer-container .rs-drawer[data-mode=outer] .drawer-header .drawer-title{color:#1f3f5c;font-size:15px;font-weight:700;line-height:18px}.rs-drawer-container .rs-drawer[data-mode=outer] .drawer-content{padding-bottom:20px}.rs-drawer-container .rs-drawer[data-mode=outer] .drawer-content .drawer-content-container{margin-right:-20px;padding-right:20px}.rs-drawer-container .rs-drawer[data-mode=inner] .drawer-top-slot:empty+.drawer-content-box{padding-top:calc((var(--drawer-top,0) + 1) * 16px)}.rs-drawer-container .rs-drawer[data-mode=inner] .drawer-header{height:24px;padding:6px 0;border-bottom:1px solid #eaedf0}.rs-drawer-container .rs-drawer[data-mode=inner] .drawer-header .drawer-sub-title,.rs-drawer-container .rs-drawer[data-mode=inner] .drawer-header .drawer-title{color:#44566c;font-size:12px;line-height:14px}.rs-drawer-container .rs-drawer[data-mode=inner] .drawer-header .drawer-title{font-weight:700}.rs-drawer-container .rs-drawer[data-mode=inner] .drawer-content .drawer-content-container{margin-right:-20px;padding-right:20px;padding-left:8px}.rs-drawer-container .rs-drawer[data-mode=inner] .drawer-toolbar-slot{width:100%;padding:16px 0;box-sizing:content-box;border-top:1px solid #eaedf0}::ng-deep .rs-drawer-container .rs-drawer .drawer-toolbar-slot [drawer-toolbar]{display:flex;flex-flow:row nowrap;justify-content:flex-end;align-items:center;gap:12px}::ng-deep .rs-drawer-container .rs-drawer .drawer-toolbar-slot [drawer-toolbar] button{display:flex;flex-flow:row nowrap;justify-content:center;align-items:center;gap:6px;min-width:80px;height:32px;padding:0 12px;border:1px solid #adb5bd;border-radius:4px;background-color:#fff;cursor:pointer;color:#44566c;font-size:13px;font-family:Arial;font-style:normal;font-weight:400;line-height:16px}::ng-deep .rs-drawer-container .rs-drawer .drawer-toolbar-slot [drawer-toolbar] button:hover{border-color:#6c7c90}::ng-deep .rs-drawer-container .rs-drawer .drawer-toolbar-slot [drawer-toolbar] button:disabled{opacity:1!important;border-color:#6c7c9066;color:#44566c66;cursor:unset}::ng-deep .rs-drawer-container .rs-drawer .drawer-toolbar-slot [drawer-toolbar] button.primary{border:none;background-color:#1364b3;color:#fff}::ng-deep .rs-drawer-container .rs-drawer .drawer-toolbar-slot [drawer-toolbar] button.primary:hover{background-color:#176bca}::ng-deep .rs-drawer-container .rs-drawer .drawer-toolbar-slot [drawer-toolbar] button.primary:disabled{background-color:#1364b366}::ng-deep .rs-drawer-container .rs-drawer .drawer-toolbar-slot [drawer-toolbar] button img{width:16px;height:16px}::ng-deep .rs-drawer-container .rs-drawer[data-mode=outer] .drawer-toolbar-slot [drawer-toolbar] button{height:26px;font-size:12px;line-height:14px}::ng-deep .rs-drawer-container .rs-drawer[data-mode=inner] .drawer-toolbar-slot [drawer-toolbar] button img{display:none}"]
280
+ template: "<div #element id=\"rs-drawer-container\" class=\"rs-drawer-container\">\r\n <div class=\"rs-drawer-content\">\r\n <ng-content></ng-content>\r\n </div>\r\n <div\r\n #drawer\r\n class=\"rs-drawer\"\r\n [attr.data-mode]=\"config.mode\"\r\n [attr.data-opened]=\"isOpened ? 'yes' : 'no'\"\r\n [attr.data-animation]=\"useAnimation\"\r\n [hidden]=\"hiddenDrawer\"\r\n (animationend)=\"onAnimationEnd()\"\r\n >\r\n <div class=\"drawer-header\" #header>\r\n <button class=\"drawer-return-button\" (click)=\"hide()\">\r\n <span class=\"drawer-sub-title\" *ngIf=\"config.subTitle\">\r\n {{ config.subTitle }}\r\n </span>\r\n </button>\r\n <div class=\"drawer-title\">{{ config.title }}</div>\r\n <div class=\"drawer-header-slot\" #headerSlot></div>\r\n </div>\r\n <div class=\"drawer-top-slot\" #topSlot></div>\r\n <div class=\"drawer-content-box\">\r\n <div class=\"drawer-content\" #content>\r\n <div class=\"drawer-content-container\">\r\n <ng-template #dynamicComponentContainer></ng-template>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"drawer-toolbar-slot\" #toolbarSlot></div>\r\n </div>\r\n</div>\r\n",
281
+ styles: [":host{display:block;height:100%}#rs-drawer-container{height:100%}.rs-drawer-container{height:100%;background-color:transparent;overflow:hidden;position:relative}.rs-drawer-container .rs-drawer-content{width:100%;height:100%;overflow:auto;margin-right:0!important}.rs-drawer-container .rs-drawer{width:100%;height:100%;border-left:none;background-color:transparent;overflow:visible;pointer-events:none;opacity:0;display:flex;flex-flow:column nowrap;position:absolute;z-index:2;top:0;left:100%}.rs-drawer-container .rs-drawer[data-opened=yes]{left:0;opacity:1}.rs-drawer-container .rs-drawer[data-animation=yes][data-opened=yes]{-webkit-animation:.5s ease-in-out drawer-open;animation:.5s ease-in-out drawer-open}@-webkit-keyframes drawer-open{from{left:100%;opacity:0}to{left:0;opacity:1}}@keyframes drawer-open{from{left:100%;opacity:0}to{left:0;opacity:1}}.rs-drawer-container .rs-drawer[data-animation=yes][data-opened=no]{-webkit-animation:.5s ease-in-out drawer-close;animation:.5s ease-in-out drawer-close}@-webkit-keyframes drawer-close{from{left:0;opacity:1}to{left:100%;opacity:0}}@keyframes drawer-close{from{left:0;opacity:1}to{left:100%;opacity:0}}.rs-drawer-container .rs-drawer[hidden]{display:none}.rs-drawer-container .rs-drawer .drawer-header{flex:none;display:flex;flex-flow:row nowrap;justify-content:flex-start;align-items:center;box-sizing:content-box;pointer-events:auto}.rs-drawer-container .rs-drawer .drawer-header .drawer-return-button{flex:none;display:flex;flex-flow:row nowrap;align-items:center;padding:0;border:none;background-color:transparent;cursor:pointer}.rs-drawer-container .rs-drawer .drawer-header .drawer-return-button::before{content:url(\"data:image/svg+xml;charset=utf-8;base64,PHN2ZyB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTEyIDE4TDcuNTQ5ODYgMTJMMTIgNiIgc3Ryb2tlPSIjNkM3QzkwIiBzdHJva2UtbGluZWNhcD0icm91bmQiLz4KPHBhdGggZD0iTTE3LjQyNyAxMi41QzE3LjcwMzEgMTIuNSAxNy45MjcgMTIuMjc2MSAxNy45MjcgMTJDMTcuOTI3IDExLjcyMzkgMTcuNzAzMSAxMS41IDE3LjQyNyAxMS41TDE3LjQyNyAxMi41Wk03LjM5ODkzIDEyLjVMMTcuNDI3IDEyLjVMMTcuNDI3IDExLjVMNy4zOTg5MyAxMS41TDcuMzk4OTMgMTIuNVoiIGZpbGw9IiM2QzdDOTAiLz4KPC9zdmc+Cg==\");width:24px;height:24px;margin-right:8px;transition:transform 125ms ease-in-out}.rs-drawer-container .rs-drawer .drawer-header .drawer-return-button:hover::before{transform:translateX(-2px)}.rs-drawer-container .rs-drawer .drawer-header .drawer-return-button .drawer-sub-title{margin-right:12px;font-family:Arial;font-style:normal;font-weight:400}.rs-drawer-container .rs-drawer .drawer-header .drawer-title{flex:none;min-height:14px;padding:0 12px;border-left:1px solid #bdc4ca;font-family:Arial;font-style:normal;font-weight:400}.rs-drawer-container .rs-drawer .drawer-header .drawer-title:empty{padding:0}.rs-drawer-container .rs-drawer .drawer-content-box{flex:auto;height:0;background-color:#f7fafb;pointer-events:auto}.rs-drawer-container .rs-drawer .drawer-content{height:100%;padding:0 20px;border:1px solid #ebedf0;border-radius:15px;background-color:#fff;display:flex;flex-flow:column nowrap}.rs-drawer-container .rs-drawer .drawer-content .drawer-content-container{flex:auto;overflow:hidden auto}.rs-drawer-container .rs-drawer .drawer-toolbar-slot{flex:none;height:32px;margin-left:auto;display:flex;flex-flow:row nowrap;justify-content:flex-end;align-items:center;pointer-events:auto}.rs-drawer-container .rs-drawer .drawer-toolbar-slot:empty{display:none}.rs-drawer-container .rs-drawer .drawer-top-slot{flex:none;pointer-events:auto}.rs-drawer-container .rs-drawer .drawer-top-slot:empty{height:var(--drawer-top,0);pointer-events:none}.rs-drawer-container .rs-drawer[data-mode=outer] .drawer-header{height:46px;padding:0 12px 0 8px;background-color:#f7fafb}.rs-drawer-container .rs-drawer[data-mode=outer] .drawer-header .drawer-sub-title,.rs-drawer-container .rs-drawer[data-mode=outer] .drawer-header .drawer-title{color:#1f3f5c;font-size:15px;font-weight:700;line-height:18px}.rs-drawer-container .rs-drawer[data-mode=outer] .drawer-content{padding-bottom:20px}.rs-drawer-container .rs-drawer[data-mode=outer] .drawer-content .drawer-content-container{margin-right:-20px;padding-right:20px}.rs-drawer-container .rs-drawer[data-mode=inner] .drawer-top-slot:empty+.drawer-content-box{padding-top:calc((var(--drawer-top,0) + 1) * 16px)}.rs-drawer-container .rs-drawer[data-mode=inner] .drawer-header{height:24px;padding:6px 0;border-bottom:1px solid #eaedf0}.rs-drawer-container .rs-drawer[data-mode=inner] .drawer-header .drawer-sub-title,.rs-drawer-container .rs-drawer[data-mode=inner] .drawer-header .drawer-title{color:#44566c;font-size:12px;line-height:14px}.rs-drawer-container .rs-drawer[data-mode=inner] .drawer-header .drawer-title{font-weight:700}.rs-drawer-container .rs-drawer[data-mode=inner] .drawer-content .drawer-content-container{margin-right:-20px;padding-right:20px;padding-left:8px}.rs-drawer-container .rs-drawer[data-mode=inner] .drawer-toolbar-slot{width:100%;padding:16px 0;box-sizing:content-box;border-top:1px solid #eaedf0}::ng-deep .rs-drawer-container .rs-drawer .drawer-toolbar-slot [drawer-toolbar]{display:flex;flex-flow:row nowrap;justify-content:flex-end;align-items:center;gap:12px}::ng-deep .rs-drawer-container .rs-drawer .drawer-toolbar-slot [drawer-toolbar] button{display:flex;flex-flow:row nowrap;justify-content:center;align-items:center;gap:6px;min-width:80px;height:32px;padding:0 12px;border:1px solid #adb5bd;border-radius:4px;background-color:#fff;cursor:pointer;color:#44566c;font-size:13px;font-family:Arial;font-style:normal;font-weight:400;line-height:16px}::ng-deep .rs-drawer-container .rs-drawer .drawer-toolbar-slot [drawer-toolbar] button:hover{border-color:#6c7c90}::ng-deep .rs-drawer-container .rs-drawer .drawer-toolbar-slot [drawer-toolbar] button:disabled{opacity:1!important;border-color:#6c7c9066;color:#44566c66;cursor:unset}::ng-deep .rs-drawer-container .rs-drawer .drawer-toolbar-slot [drawer-toolbar] button.primary{border:none;background-color:#1364b3;color:#fff}::ng-deep .rs-drawer-container .rs-drawer .drawer-toolbar-slot [drawer-toolbar] button.primary:hover{background-color:#176bca}::ng-deep .rs-drawer-container .rs-drawer .drawer-toolbar-slot [drawer-toolbar] button.primary:disabled{background-color:#1364b366}::ng-deep .rs-drawer-container .rs-drawer .drawer-toolbar-slot [drawer-toolbar] button img{width:16px;height:16px}::ng-deep .rs-drawer-container .rs-drawer[data-mode=outer] .drawer-toolbar-slot [drawer-toolbar] button{height:26px;font-size:12px;line-height:14px}::ng-deep .rs-drawer-container .rs-drawer[data-mode=inner] .drawer-toolbar-slot [drawer-toolbar] button img{display:none}"]
293
282
  }] }
294
283
  ];
295
284
  /** @nocollapse */
296
285
  DrawerComponent.ctorParameters = () => [
297
286
  { type: ComponentFactoryResolver },
298
287
  { type: DrawerService },
299
- { type: ChangeDetectorRef },
300
- { type: StaticResourceService }
288
+ { type: ChangeDetectorRef }
301
289
  ];
302
290
  DrawerComponent.propDecorators = {
303
291
  element: [{ type: ViewChild, args: ["element", { static: false },] }],
@@ -340,8 +328,6 @@ if (false) {
340
328
  DrawerComponent.prototype.isOpened;
341
329
  /** @type {?} */
342
330
  DrawerComponent.prototype.hiddenDrawer;
343
- /** @type {?} */
344
- DrawerComponent.prototype.backImage;
345
331
  /**
346
332
  * @type {?}
347
333
  * @private
@@ -362,10 +348,5 @@ if (false) {
362
348
  * @private
363
349
  */
364
350
  DrawerComponent.prototype.ref;
365
- /**
366
- * @type {?}
367
- * @private
368
- */
369
- DrawerComponent.prototype.staticResourceService;
370
351
  }
371
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vcmFpc2UtY29tbW9uLWxpYi8iLCJzb3VyY2VzIjpbImxpYi9sYXlvdXQvZHJhd2VyL2luZGV4LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsU0FBUyxFQUNULGdCQUFnQixFQUNoQix3QkFBd0IsRUFFeEIsVUFBVSxFQUNWLGlCQUFpQixHQUNsQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBRUwsbUJBQW1CLEVBQ25CLGFBQWEsR0FDZCxNQUFNLDhCQUE4QixDQUFDO0FBQ3RDLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBZTlFLE1BQU0sT0FBTyxlQUFlOzs7Ozs7O0lBMEIxQixZQUNVLFFBQWtDLEVBQ2xDLE9BQXNCLEVBQ3RCLEdBQXNCLEVBQ3RCLHFCQUE0QztRQUg1QyxhQUFRLEdBQVIsUUFBUSxDQUEwQjtRQUNsQyxZQUFPLEdBQVAsT0FBTyxDQUFlO1FBQ3RCLFFBQUcsR0FBSCxHQUFHLENBQW1CO1FBQ3RCLDBCQUFxQixHQUFyQixxQkFBcUIsQ0FBdUI7UUFadEQsV0FBTSxHQUFpQixtQkFBbUIsQ0FBQztRQUMzQyxpQkFBWSxHQUFpQixLQUFLLENBQUM7UUFDbkMsYUFBUSxHQUFHLEtBQUssQ0FBQztRQUNqQixpQkFBWSxHQUFHLElBQUksQ0FBQztRQUNwQixjQUFTLEdBQUcsSUFBSSxDQUFDO1FBRVQsb0JBQWUsR0FBRyxJQUFJLEdBQUcsRUFBa0MsQ0FBQztRQVFsRSxxQkFBcUIsQ0FBQyxJQUFJLENBQUMsNkJBQTZCOzs7O1FBQUUsQ0FBQyxNQUFNLEVBQUUsRUFBRTtZQUNuRSxJQUFJLENBQUMsU0FBUyxHQUFHLE1BQU0sQ0FBQztRQUMxQixDQUFDLEVBQUMsQ0FBQztJQUNMLENBQUM7Ozs7OztJQUVPLHNCQUFzQixDQUFDLFNBQXNDOzs7Y0FFN0QsT0FBTyxHQUFH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RUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUU7cUJBQ3JDLFNBQVMsU0FBQyxRQUFRLEVBQUUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFO3NCQUNyQyxTQUFTLFNBQUMsU0FBUyxFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRTswQkFFdEMsU0FBUyxTQUFDLGFBQWEsRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUU7eUJBRTFDLFNBQVMsU0FBQyxZQUFZLEVBQUUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFO3NCQUV6QyxTQUFTLFNBQUMsU0FBUyxFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRTt3QkFFdEMsU0FBUyxTQUFDLDJCQUEyQixFQUFFO29CQUN0QyxJQUFJLEVBQUUsZ0JBQWdCO29CQUN0QixNQUFNLEVBQUUsS0FBSztpQkFDZDs7OztJQWRELGtDQUE2RTs7SUFDN0UsaUNBQTJFOztJQUMzRSxpQ0FBMkU7O0lBQzNFLGtDQUE2RTs7SUFFN0Usc0NBQ3dDOztJQUN4QyxxQ0FDdUM7O0lBQ3ZDLGtDQUE2RTs7Ozs7SUFFN0Usb0NBSW9DOztJQUVwQyxpQ0FBMkM7O0lBQzNDLHVDQUFtQzs7SUFDbkMsbUNBQWlCOztJQUNqQix1Q0FBb0I7O0lBQ3BCLG9DQUFpQjs7Ozs7SUFFakIsMENBQW9FOzs7OztJQUdsRSxtQ0FBMEM7Ozs7O0lBQzFDLGtDQUE4Qjs7Ozs7SUFDOUIsOEJBQThCOzs7OztJQUM5QixnREFBb0QiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIENvbXBvbmVudCxcclxuICBWaWV3Q2hpbGQsXHJcbiAgVmlld0NvbnRhaW5lclJlZixcclxuICBDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIsXHJcbiAgQ29tcG9uZW50UmVmLFxyXG4gIEVsZW1lbnRSZWYsXHJcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbn0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHtcclxuICBEcmF3ZXJDb25maWcsXHJcbiAgRGVmYXVsdERyYXdlckNvbmZpZyxcclxuICBEcmF3ZXJTZXJ2aWNlLFxyXG59IGZyb20gXCIuLi8uLi9zZXJ2aWNlL2RyYXdlci5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7IFN0YXRpY1Jlc291cmNlU2VydmljZSB9IGZyb20gXCIuLi8uLi9zZXJ2aWNlL3N0YXRpYy1yZXNvdXJjZS5zZXJ2aWNlXCI7XHJcblxyXG50eXBlIERyYXdlckNvbXBvbmVudENhY2hlID0ge1xyXG4gIHJlZjogQ29tcG9uZW50UmVmPGFueT47XHJcbiAgY29uZmlnOiBEcmF3ZXJDb25maWc7XHJcbiAgdG9vbGJhckVsOiBIVE1MRWxlbWVudDtcclxuICBoZWFkZXJFbDogSFRNTEVsZW1lbnQ7XHJcbiAgdG9wRWw6IEhUTUxFbGVtZW50O1xyXG59O1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6IFwicnMtZHJhd2VyXCIsXHJcbiAgdGVtcGxhdGVVcmw6IFwiLi9pbmRleC5jb21wb25lbnQuaHRtbFwiLFxyXG4gIHN0eWxlVXJsczogW1wiLi9pbmRleC5jb21wb25lbnQuc2Nzc1wiXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIERyYXdlckNvbXBvbmVudCB7XHJcbiAgQFZpZXdDaGlsZChcImVsZW1lbnRcIiwgeyBzdGF0aWM6IGZhbHNlIH0pIGVsZW1lbnQ6IEVsZW1lbnRSZWY8SFRNTERpdkVsZW1lbnQ+O1xyXG4gIEBWaWV3Q2hpbGQoXCJkcmF3ZXJcIiwgeyBzdGF0aWM6IGZhbHNlIH0pIGRyYXdlcjogRWxlbWVudFJlZjxIVE1MRGl2RWxlbWVudD47XHJcbiAgQFZpZXdDaGlsZChcImhlYWRlclwiLCB7IHN0YXRpYzogZmFsc2UgfSkgaGVhZGVyOiBFbGVtZW50UmVmPEhUTUxEaXZFbGVtZW50PjtcclxuICBAVmlld0NoaWxkKFwiY29udGVudFwiLCB7IHN0YXRpYzogZmFsc2UgfSkgY29udGVudDogRWxlbWVudFJlZjxIVE1MRGl2RWxlbWVudD47XHJcblxyXG4gIEBWaWV3Q2hpbGQoXCJ0b29sYmFyU2xvdFwiLCB7IHN0YXRpYzogZmFsc2UgfSlcclxuICB0b29sYmFyU2xvdDogRWxlbWVudFJlZjxIVE1MRGl2RWxlbWVudD47XHJcbiAgQFZpZXdDaGlsZChcImhlYWRlclNsb3RcIiwgeyBzdGF0aWM6IGZhbHNlIH0pXHJcbiAgaGVhZGVyU2xvdDogRWxlbWVudFJlZjxIVE1MRGl2RWxlbWVudD47XHJcbiAgQFZpZXdDaGlsZChcInRvcFNsb3RcIiwgeyBzdGF0aWM6IGZhbHNlIH0pIHRvcFNsb3Q6IEVsZW1lbnRSZWY8SFRNTERpdkVsZW1lbnQ+O1xyXG5cclxuICBAVmlld0NoaWxkKFwiZHluYW1pY0NvbXBvbmVudENvbnRhaW5lclwiLCB7XHJcbiAgICByZWFkOiBWaWV3Q29udGFpbmVyUmVmLFxyXG4gICAgc3RhdGljOiBmYWxzZSxcclxuICB9KVxyXG4gIHByaXZhdGUgY29udGFpbmVyOiBWaWV3Q29udGFpbmVyUmVmO1xyXG5cclxuICBjb25maWc6IERyYXdlckNvbmZpZyA9IERlZmF1bHREcmF3ZXJDb25maWc7XHJcbiAgdXNlQW5pbWF0aW9uOiBcInllc1wiIHwgXCJub1wiID0gXCJ5ZXNcIjtcclxuICBpc09wZW5lZCA9IGZhbHNlO1xyXG4gIGhpZGRlbkRyYXdlciA9IHRydWU7XHJcbiAgYmFja0ltYWdlID0gbnVsbDtcclxuXHJcbiAgcHJpdmF0ZSBjb21wb25lbnRSZWZNYXAgPSBuZXcgTWFwPHN0cmluZywgRHJhd2VyQ29tcG9uZW50Q2FjaGVbXT4oKTtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIHJlc29sdmVyOiBDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIsXHJcbiAgICBwcml2YXRlIHNlcnZpY2U6IERyYXdlclNlcnZpY2UsXHJcbiAgICBwcml2YXRlIHJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgICBwcml2YXRlIHN0YXRpY1Jlc291cmNlU2VydmljZTogU3RhdGljUmVzb3VyY2VTZXJ2aWNlLFxyXG4gICkge1xyXG4gICAgc3RhdGljUmVzb3VyY2VTZXJ2aWNlLmxvYWQoXCIvYXNzZXRzL2ltZy9kcmF3ZXItYmFjay5zdmdcIiwgKHJlc3VsdCkgPT4ge1xyXG4gICAgICB0aGlzLmJhY2tJbWFnZSA9IHJlc3VsdDtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBjcmVhdGVEeW5hbWljQ29tcG9uZW50KGNvbXBvbmVudDogbmV3ICguLi5hcmdzOiBhbnlbXSkgPT4gYW55KSB7XHJcbiAgICAvLyDnoa7kv53lnKjosIPnlKjkuYvliY3nm67moIfnu4Tku7blt7Lnu4/lnKhlbnRyeUNvbXBvbmVudHPkuK3lo7DmmI5cclxuICAgIGNvbnN0IGZhY3RvcnkgPSB0aGlzLnJlc29sdmVyLnJlc29sdmVDb21wb25lbnRGYWN0b3J5KGNvbXBvbmVudCk7XHJcbiAgICBjb25zdCBjb21wb25lbnRSZWYgPSB0aGlzLmNvbnRhaW5lci5jcmVhdGVDb21wb25lbnQoZmFjdG9yeSk7XHJcbiAgICByZXR1cm4gY29tcG9uZW50UmVmO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBkZXN0cm95RHluYW1pY0NvbXBvbmVudChjb21wb25lbnRSZWY6IENvbXBvbmVudFJlZjxhbnk+KSB7XHJcbiAgICBpZiAoY29tcG9uZW50UmVmKSB7XHJcbiAgICAgIGNvbXBvbmVudFJlZi5kZXN0cm95KCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHNldENvbXBvbmVudERhdGEoXHJcbiAgICBjb21wb25lbnRSZWY6IENvbXBvbmVudFJlZjxhbnk+LFxyXG4gICAgZGF0YTogUmVjb3JkPHN0cmluZywgYW55PiA9IHt9LFxyXG4gICkge1xyXG4gICAgLy8g5aaC5p6c6ZyA6KaB5Lyg6YCS5pWw5o2u57uZ5Yqo5oCB57uE5Lu277yM5Y+v5Lul6L+Z5qC35YGaXHJcbiAgICBpZiAoY29tcG9uZW50UmVmKSB7XHJcbiAgICAgIE9iamVjdC5lbnRyaWVzKGRhdGEpLmZvckVhY2goKFtrZXksIHZhbHVlXSkgPT4ge1xyXG4gICAgICAgIGNvbXBvbmVudFJlZi5pbnN0YW5jZVtrZXldID0gdmFsdWU7XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBnZXRTbG90RWxlbWVudChjb21wb25lbnRSZWY6IENvbXBvbmVudFJlZjxhbnk+LCBzZWxlY3Rvcjogc3RyaW5nKSB7XHJcbiAgICBjb25zdCBjb21wb25lbnRFbCA9IGNvbXBvbmVudFJlZi5sb2NhdGlvbi5uYXRpdmVFbGVtZW50O1xyXG4gICAgcmV0dXJuIGNvbXBvbmVudEVsLnF1ZXJ5U2VsZWN0b3Ioc2VsZWN0b3IpIGFzIEhUTUxFbGVtZW50O1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBzZXRTbG90RWxlbWVudChzbG90RWw6IEhUTUxFbGVtZW50LCBjb250YWluZXJFbDogSFRNTEVsZW1lbnQpIHtcclxuICAgIGNvbnRhaW5lckVsLmlubmVySFRNTCA9IFwiXCI7XHJcbiAgICBpZiAoc2xvdEVsKSB7XHJcbiAgICAgIGNvbnRhaW5lckVsLmFwcGVuZChzbG90RWwpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgc2V0Q2FjaGUoY2FjaGU6IERyYXdlckNvbXBvbmVudENhY2hlKSB7XHJcbiAgICB0aGlzLnNldFNsb3RFbGVtZW50KGNhY2hlLnRvb2xiYXJFbCwgdGhpcy50b29sYmFyU2xvdC5uYXRpdmVFbGVtZW50KTtcclxuICAgIHRoaXMuc2V0U2xvdEVsZW1lbnQoY2FjaGUuaGVhZGVyRWwsIHRoaXMuaGVhZGVyU2xvdC5uYXRpdmVFbGVtZW50KTtcclxuICAgIHRoaXMuc2V0U2xvdEVsZW1lbnQoY2FjaGUudG9wRWwsIHRoaXMudG9wU2xvdC5uYXRpdmVFbGVtZW50KTtcclxuXHJcbiAgICBjb25zdCBkcmF3ZXJUb3AgPSBjYWNoZS5jb25maWcudG9wID8gYCR7Y2FjaGUuY29uZmlnLnRvcH1weGAgOiBcIlwiO1xyXG4gICAgdGhpcy5lbGVtZW50Lm5hdGl2ZUVsZW1lbnQuc3R5bGUuc2V0UHJvcGVydHkoXCItLWRyYXdlci10b3BcIiwgZHJhd2VyVG9wKTtcclxuXHJcbiAgICBpZiAoY2FjaGUuY29uZmlnLm1vZGUgPT09IFwiaW5uZXJcIikge1xyXG4gICAgICB0aGlzLmNvbnRlbnQubmF0aXZlRWxlbWVudC5pbnNlcnRCZWZvcmUoXHJcbiAgICAgICAgdGhpcy5oZWFkZXIubmF0aXZlRWxlbWVudCxcclxuICAgICAgICB0aGlzLmNvbnRlbnQubmF0aXZlRWxlbWVudC5maXJzdENoaWxkLFxyXG4gICAgICApO1xyXG4gICAgICB0aGlzLmNvbnRlbnQubmF0aXZlRWxlbWVudC5hcHBlbmQodGhpcy50b29sYmFyU2xvdC5uYXRpdmVFbGVtZW50KTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuZHJhd2VyLm5hdGl2ZUVsZW1lbnQuaW5zZXJ0QmVmb3JlKFxyXG4gICAgICAgIHRoaXMuaGVhZGVyLm5hdGl2ZUVsZW1lbnQsXHJcbiAgICAgICAgdGhpcy5kcmF3ZXIubmF0aXZlRWxlbWVudC5maXJzdENoaWxkLFxyXG4gICAgICApO1xyXG4gICAgICB0aGlzLmhlYWRlci5uYXRpdmVFbGVtZW50LmFwcGVuZCh0aGlzLnRvb2xiYXJTbG90Lm5hdGl2ZUVsZW1lbnQpO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuY29uZmlnID0gY2FjaGUuY29uZmlnO1xyXG4gICAgdGhpcy5yZWYubWFya0ZvckNoZWNrKCk7XHJcbiAgfVxyXG5cclxuICBzZXRDb25maWcoY29uZmlnOiBQYXJ0aWFsPERyYXdlckNvbmZpZz4pIHtcclxuICAgIGNvbnN0IGNhY2hlcyA9IHRoaXMuY29tcG9uZW50UmVmTWFwLmdldCh0aGlzLnNlcnZpY2UuY2FjaGVLZXkpIHx8IFtdO1xyXG4gICAgY29uc3QgY2FjaGUgPSBjYWNoZXMuc2xpY2UoLTEpWzBdO1xyXG4gICAgaWYgKGNhY2hlKSB7XHJcbiAgICAgIGNhY2hlLmNvbmZpZyA9IHsgLi4uY2FjaGUuY29uZmlnLCAuLi5jb25maWcgfTtcclxuICAgICAgdGhpcy5zZXRDYWNoZShjYWNoZSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBzaG93PFQ+KFxyXG4gICAgY29tcG9uZW50OiBuZXcgKC4uLmFyZ3M6IGFueVtdKSA9PiBULFxyXG4gICAgY29uZmlnOiBEcmF3ZXJDb25maWcsXHJcbiAgICBkYXRhOiBSZWNvcmQ8c3RyaW5nLCBhbnk+LFxyXG4gICk6IFQge1xyXG4gICAgY29uc3Qgc2hvd0NvbmZpZyA9IHsgLi4uRGVmYXVsdERyYXdlckNvbmZpZywgLi4uY29uZmlnIH07XHJcbiAgICBjb25zdCBjb21wb25lbnRSZWYgPSB0aGlzLmNyZWF0ZUR5bmFtaWNDb21wb25lbnQoY29tcG9uZW50KTtcclxuICAgIGNvbnN0IHRvb2xiYXJFbCA9IHRoaXMuZ2V0U2xvdEVsZW1lbnQoY29tcG9uZW50UmVmLCBcIltkcmF3ZXItdG9vbGJhcl1cIik7XHJcbiAgICBjb25zdCBoZWFkZXJFbCA9IHRoaXMuZ2V0U2xvdEVsZW1lbnQoY29tcG9uZW50UmVmLCBcIltkcmF3ZXItaGVhZGVyXVwiKTtcclxuICAgIGNvbnN0IHRvcEVsID0gdGhpcy5nZXRTbG90RWxlbWVudChjb21wb25lbnRSZWYsIFwiW2RyYXdlci10b3BdXCIpO1xyXG4gICAgY29uc3QgY2FjaGUgPSB7XHJcbiAgICAgIGNvbmZpZzogc2hvd0NvbmZpZyxcclxuICAgICAgcmVmOiBjb21wb25lbnRSZWYsXHJcbiAgICAgIHRvb2xiYXJFbCxcclxuICAgICAgaGVhZGVyRWwsXHJcbiAgICAgIHRvcEVsLFxyXG4gICAgfTtcclxuXHJcbiAgICBjb25zdCBjYWNoZXMgPSB0aGlzLmNvbXBvbmVudFJlZk1hcC5nZXQodGhpcy5zZXJ2aWNlLmNhY2hlS2V5KSB8fCBbXTtcclxuICAgIHRoaXMuY29tcG9uZW50UmVmTWFwLnNldCh0aGlzLnNlcnZpY2UuY2FjaGVLZXksIFsuLi5jYWNoZXMsIGNhY2hlXSk7XHJcbiAgICAvLyDlpoLmnpzmmK/nrKzkuIDkuKrnvJPlrZjvvIzmiZPlvIDmir3lsYlcclxuICAgIGlmIChjYWNoZXMubGVuZ3RoID09PSAwKSB7XHJcbiAgICAgIHRoaXMudG9nZ2xlT3BlblN0YXR1cyh0cnVlLCB0cnVlKTtcclxuICAgIH1cclxuICAgIHRoaXMudG9nZ2xlQ2FjaGUoY2FjaGUpO1xyXG4gICAgdGhpcy5zZXRDb21wb25lbnREYXRhKGNvbXBvbmVudFJlZiwgZGF0YSk7XHJcblxyXG4gICAgcmV0dXJuIGNvbXBvbmVudFJlZi5pbnN0YW5jZTtcclxuICB9XHJcblxyXG4gIGhpZGUoKSB7XHJcbiAgICB0aGlzLnNlcnZpY2UuaGlkZSgpO1xyXG4gIH1cclxuXHJcbiAgYmFjaygpIHtcclxuICAgIHRoaXMuZGVsZXRlQ2FjaGUodGhpcy5zZXJ2aWNlLmNhY2hlS2V5KTtcclxuXHJcbiAgICAvLyDlpoLmnpzmnInkuIrkuIDkuKrnvJPlrZjvvIzorr7nva7kuLrlvZPliY3nvJPlrZjvvIzlkKbliJnlhbPpl63mir3lsYlcclxuICAgIGNvbnN0IGNhY2hlcyA9IHRoaXMuY29tcG9uZW50UmVmTWFwLmdldCh0aGlzLnNlcnZpY2UuY2FjaGVLZXkpIHx8IFtdO1xyXG4gICAgY29uc3QgY2FjaGUgPSBjYWNoZXMuc2xpY2UoLTEpWzBdO1xyXG4gICAgaWYgKGNhY2hlKSB7XHJcbiAgICAgIHRoaXMudG9nZ2xlQ2FjaGUoY2FjaGUpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy50b2dnbGVPcGVuU3RhdHVzKGZhbHNlLCB0cnVlKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgZGVsZXRlQ2FjaGUoY2FjaGVLZXk6IHN0cmluZykge1xyXG4gICAgY29uc3QgY2FjaGVzID0gdGhpcy5jb21wb25lbnRSZWZNYXAuZ2V0KGNhY2hlS2V5KSB8fCBbXTtcclxuICAgIGNvbnN0IGNhY2hlID0gY2FjaGVzLnNsaWNlKC0xKVswXTtcclxuICAgIGlmIChjYWNoZSkge1xyXG4gICAgICB0aGlzLmRlc3Ryb3lEeW5hbWljQ29tcG9uZW50KGNhY2hlLnJlZik7XHJcbiAgICAgIGNhY2hlcy5wb3AoKTtcclxuICAgIH1cclxuICAgIGlmIChjYWNoZXMubGVuZ3RoID09PSAwKSB7XHJcbiAgICAgIHRoaXMuY29tcG9uZW50UmVmTWFwLmRlbGV0ZShjYWNoZUtleSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHRvZ2dsZUNhY2hlKGNhY2hlOiBEcmF3ZXJDb21wb25lbnRDYWNoZSkge1xyXG4gICAgdGhpcy5jb21wb25lbnRSZWZNYXAuZm9yRWFjaCgoY2FjaGVzKSA9PiB7XHJcbiAgICAgIGNhY2hlcy5mb3JFYWNoKChjKSA9PiB7XHJcbiAgICAgICAgYy5yZWYubG9jYXRpb24ubmF0aXZlRWxlbWVudC5zdHlsZS5kaXNwbGF5ID0gYyA9PT0gY2FjaGUgPyBcIlwiIDogXCJub25lXCI7XHJcbiAgICAgIH0pO1xyXG4gICAgfSk7XHJcbiAgICB0aGlzLnNldENhY2hlKGNhY2hlKTtcclxuICB9XHJcblxyXG4gIGRlbGV0ZUFsbENhY2hlKGNhY2hlS2V5OiBzdHJpbmcpIHtcclxuICAgIGNvbnN0IGNhY2hlcyA9IHRoaXMuY29tcG9uZW50UmVmTWFwLmdldChjYWNoZUtleSkgfHwgW107XHJcbiAgICBjYWNoZXMuZm9yRWFjaCgoY2FjaGUpID0+IHtcclxuICAgICAgdGhpcy5kZXN0cm95RHluYW1pY0NvbXBvbmVudChjYWNoZS5yZWYpO1xyXG4gICAgfSk7XHJcbiAgICB0aGlzLmNvbXBvbmVudFJlZk1hcC5kZWxldGUoY2FjaGVLZXkpO1xyXG4gIH1cclxuXHJcbiAgb25Sb3V0ZUNoYW5nZSgpIHtcclxuICAgIGNvbnN0IGNhY2hlcyA9IHRoaXMuY29tcG9uZW50UmVmTWFwLmdldCh0aGlzLnNlcnZpY2UuY2FjaGVLZXkpIHx8IFtdO1xyXG4gICAgY29uc3QgY2FjaGUgPSBjYWNoZXMuc2xpY2UoLTEpWzBdO1xyXG4gICAgaWYgKGNhY2hlKSB7XHJcbiAgICAgIHRoaXMudG9nZ2xlQ2FjaGUoY2FjaGUpO1xyXG4gICAgICB0aGlzLnRvZ2dsZU9wZW5TdGF0dXModHJ1ZSk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLnRvZ2dsZU9wZW5TdGF0dXMoZmFsc2UpO1xyXG4gICAgfVxyXG4gICAgdGhpcy51c2VBbmltYXRpb24gPSBcIm5vXCI7XHJcbiAgfVxyXG5cclxuICB0b2dnbGVPcGVuU3RhdHVzKGlzT3BlbjogYm9vbGVhbiwgdXNlQW5pbWF0aW9uID0gZmFsc2UpIHtcclxuICAgIHRoaXMuaXNPcGVuZWQgPSBpc09wZW47XHJcbiAgICB0aGlzLnVzZUFuaW1hdGlvbiA9IHVzZUFuaW1hdGlvbiA/IFwieWVzXCIgOiBcIm5vXCI7XHJcbiAgICB0aGlzLmhpZGRlbkRyYXdlciA9ICFpc09wZW4gJiYgIXVzZUFuaW1hdGlvbjtcclxuICAgIHRoaXMucmVmLm1hcmtGb3JDaGVjaygpO1xyXG4gIH1cclxuXHJcbiAgb25BbmltYXRpb25FbmQoKSB7XHJcbiAgICBpZiAoIXRoaXMuaXNPcGVuZWQpIHtcclxuICAgICAgdGhpcy5oaWRkZW5EcmF3ZXIgPSB0cnVlO1xyXG4gICAgICB0aGlzLnJlZi5tYXJrRm9yQ2hlY2soKTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIl19
352
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vcmFpc2UtY29tbW9uLWxpYi8iLCJzb3VyY2VzIjpbImxpYi9sYXlvdXQvZHJhd2VyL2luZGV4LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsU0FBUyxFQUNULGdCQUFnQixFQUNoQix3QkFBd0IsRUFFeEIsVUFBVSxFQUNWLGlCQUFpQixHQUNsQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBRUwsbUJBQW1CLEVBQ25CLGFBQWEsR0FDZCxNQUFNLDhCQUE4QixDQUFDO0FBZ0J0QyxNQUFNLE9BQU8sZUFBZTs7Ozs7O0lBeUIxQixZQUNVLFFBQWtDLEVBQ2xDLE9BQXNCLEVBQ3RCLEdBQXNCO1FBRnRCLGFBQVEsR0FBUixRQUFRLENBQTBCO1FBQ2xDLFlBQU8sR0FBUCxPQUFPLENBQWU7UUFDdEIsUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUFWaEMsV0FBTSxHQUFpQixtQkFBbUIsQ0FBQztRQUMzQyxpQkFBWSxHQUFpQixLQUFLLENBQUM7UUFDbkMsYUFBUSxHQUFHLEtBQUssQ0FBQztRQUNqQixpQkFBWSxHQUFHLElBQUksQ0FBQztRQUVaLG9CQUFlLEdBQUcsSUFBSSxHQUFHLEVBQWtDLENBQUM7SUFNakUsQ0FBQzs7Ozs7O0lBRUksc0JBQXNCLENBQUMsU0FBc0M7OztjQUU3RCxPQUFPLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyx1QkFBdUIsQ0FBQyxTQUFTLENBQUM7O2NBQzFELFlBQVksR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLGVBQWUsQ0FBQyxPQUFPLENBQUM7UUFDNUQsT0FBTyxZQUFZLENBQUM7SUFDdEIsQ0FBQzs7Ozs7O0lBRU8sdUJBQXVCLENBQUMsWUFBK0I7UUFDN0QsSUFBSSxZQUFZLEVBQUU7WUFDaEIsWUFBWSxDQUFDLE9BQU8sRUFBRSxDQUFDO1NBQ3hCO0lBQ0gsQ0FBQzs7Ozs7OztJQUVPLGdCQUFnQixDQUN0QixZQUErQixFQUMvQixPQUE0QixFQUFFO1FBRTlCLHNCQUFzQjtRQUN0QixJQUFJLFlBQVksRUFBRTtZQUNoQixNQUFNLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLE9BQU87Ozs7WUFBQyxDQUFDLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxFQUFFLEVBQUU7Z0JBQzVDLFlBQVksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLEdBQUcsS0FBSyxDQUFDO1lBQ3JDLENBQUMsRUFBQyxDQUFDO1NBQ0o7SUFDSCxDQUFDOzs7Ozs7O0lBRU8sY0FBYyxDQUFDLFlBQStCLEVBQUUsUUFBZ0I7O2NBQ2hFLFdBQVcsR0FBRyxZQUFZLENBQUMsUUFBUSxDQUFDLGFBQWE7UUFDdkQsT0FBTyxtQkFBQSxXQUFXLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxFQUFlLENBQUM7SUFDNUQsQ0FBQzs7Ozs7OztJQUVPLGNBQWMsQ0FBQyxNQUFtQixFQUFFLFdBQXdCO1FBQ2xFLFdBQVcsQ0FBQyxTQUFTLEdBQUcsRUFBRSxDQUFDO1FBQzNCLElBQUksTUFBTSxFQUFFO1lBQ1YsV0FBVyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztTQUM1QjtJQUNILENBQUM7Ozs7O0lBRUQsUUFBUSxDQUFDLEtBQTJCO1FBQ2xDLElBQUksQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQ3JFLElBQUksQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQ25FLElBQUksQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxDQUFDOztjQUV2RCxTQUFTLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FBQyxHQUFHLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRTtRQUNqRSxJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLGNBQWMsRUFBRSxTQUFTLENBQUMsQ0FBQztRQUV4RSxJQUFJLEtBQUssQ0FBQyxNQUFNLENBQUMsSUFBSSxLQUFLLE9BQU8sRUFBRTtZQUNqQyxJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxZQUFZLENBQ3JDLElBQUksQ0FBQyxNQUFNLENBQUMsYUFBYSxFQUN6QixJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxVQUFVLENBQ3RDLENBQUM7WUFDRixJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxhQUFhLENBQUMsQ0FBQztTQUNuRTthQUFNO1lBQ0wsSUFBSSxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsWUFBWSxDQUNwQyxJQUFJLENBQUMsTUFBTSxDQUFDLGFBQWEsRUFDekIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsVUFBVSxDQUNyQyxDQUFDO1lBQ0YsSUFBSSxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsYUFBYSxDQUFDLENBQUM7U0FDbEU7UUFFRCxJQUFJLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUM7UUFDM0IsSUFBSSxDQUFDLEdBQUcsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUMxQixDQUFDOzs7OztJQUVELFNBQVMsQ0FBQyxNQUE2Qjs7Y0FDL0IsTUFBTSxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRTs7Y0FDOUQsS0FBSyxHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDakMsSUFBSSxLQUFLLEVBQUU7WUFDVCxLQUFLLENBQUMsTUFBTSxxQkFBUSxLQUFLLENBQUMsTUFBTSxFQUFLLE1BQU0sQ0FBRSxDQUFDO1lBQzlDLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDdEI7SUFDSCxDQUFDOzs7Ozs7OztJQUVELElBQUksQ0FDRixTQUFvQyxFQUNwQyxNQUFvQixFQUNwQixJQUF5Qjs7Y0FFbkIsVUFBVSxxQkFBUSxtQkFBbUIsRUFBSyxNQUFNLENBQUU7O2NBQ2xELFlBQVksR0FBRyxJQUFJLENBQUMsc0JBQXNCLENBQUMsU0FBUyxDQUFDOztjQUNyRCxTQUFTLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxZQUFZLEVBQUUsa0JBQWtCLENBQUM7O2NBQ2pFLFFBQVEsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLFlBQVksRUFBRSxpQkFBaUIsQ0FBQzs7Y0FDL0QsS0FBSyxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsWUFBWSxFQUFFLGNBQWMsQ0FBQzs7Y0FDekQsS0FBSyxHQUFHO1lBQ1osTUFBTSxFQUFFLFVBQVU7WUFDbEIsR0FBRyxFQUFFLFlBQVk7WUFDakIsU0FBUztZQUNULFFBQVE7WUFDUixLQUFLO1NBQ047O2NBRUssTUFBTSxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRTtRQUNwRSxJQUFJLENBQUMsZUFBZSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsRUFBRSxDQUFDLEdBQUcsTUFBTSxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUM7UUFDcEUsZ0JBQWdCO1FBQ2hCLElBQUksTUFBTSxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUU7WUFDdkIsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQztTQUNuQztRQUNELElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDeEIsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFlBQVksRUFBRSxJQUFJLENBQUMsQ0FBQztRQUUxQyxPQUFPLFlBQVksQ0FBQyxRQUFRLENBQUM7SUFDL0IsQ0FBQzs7OztJQUVELElBQUk7UUFDRixJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3RCLENBQUM7Ozs7SUFFRCxJQUFJO1FBQ0YsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDOzs7Y0FHbEMsTUFBTSxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRTs7Y0FDOUQsS0FBSyxHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDakMsSUFBSSxLQUFLLEVBQUU7WUFDVCxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDO1NBQ3pCO2FBQU07WUFDTCxJQUFJLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxDQUFDO1NBQ3BDO0lBQ0gsQ0FBQzs7Ozs7O0lBRU8sV0FBVyxDQUFDLFFBQWdCOztjQUM1QixNQUFNLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRTs7Y0FDakQsS0FBSyxHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDakMsSUFBSSxLQUFLLEVBQUU7WUFDVCxJQUFJLENBQUMsdUJBQXVCLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ3hDLE1BQU0sQ0FBQyxHQUFHLEVBQUUsQ0FBQztTQUNkO1FBQ0QsSUFBSSxNQUFNLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRTtZQUN2QixJQUFJLENBQUMsZUFBZSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQztTQUN2QztJQUNILENBQUM7Ozs7OztJQUVPLFdBQVcsQ0FBQyxLQUEyQjtRQUM3QyxJQUFJLENBQUMsZUFBZSxDQUFDLE9BQU87Ozs7UUFBQyxDQUFDLE1BQU0sRUFBRSxFQUFFO1lBQ3RDLE1BQU0sQ0FBQyxPQUFPOzs7O1lBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtnQkFDbkIsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxPQUFPLEdBQUcsQ0FBQyxLQUFLLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUM7WUFDekUsQ0FBQyxFQUFDLENBQUM7UUFDTCxDQUFDLEVBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDdkIsQ0FBQzs7Ozs7SUFFRCxjQUFjLENBQUMsUUFBZ0I7O2NBQ3ZCLE1BQU0sR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFO1FBQ3ZELE1BQU0sQ0FBQyxPQUFPOzs7O1FBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRTtZQUN2QixJQUFJLENBQUMsdUJBQXVCLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQzFDLENBQUMsRUFBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLGVBQWUsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDeEMsQ0FBQzs7OztJQUVELGFBQWE7O2NBQ0wsTUFBTSxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRTs7Y0FDOUQsS0FBSyxHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDakMsSUFBSSxLQUFLLEVBQUU7WUFDVCxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ3hCLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsQ0FBQztTQUM3QjthQUFNO1lBQ0wsSUFBSSxDQUFDLGdCQUFnQixDQUFDLEtBQUssQ0FBQyxDQUFDO1NBQzlCO1FBQ0QsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUM7SUFDM0IsQ0FBQzs7Ozs7O0lBRUQsZ0JBQWdCLENBQUMsTUFBZSxFQUFFLFlBQVksR0FBRyxLQUFLO1FBQ3BELElBQUksQ0FBQyxRQUFRLEdBQUcsTUFBTSxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxZQUFZLEdBQUcsWUFBWSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztRQUNoRCxJQUFJLENBQUMsWUFBWSxHQUFHLENBQUMsTUFBTSxJQUFJLENBQUMsWUFBWSxDQUFDO1FBQzdDLElBQUksQ0FBQyxHQUFHLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDMUIsQ0FBQzs7OztJQUVELGNBQWM7UUFDWixJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRTtZQUNsQixJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQztZQUN6QixJQUFJLENBQUMsR0FBRyxDQUFDLFlBQVksRUFBRSxDQUFDO1NBQ3pCO0lBQ0gsQ0FBQzs7O1lBaE5GLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsV0FBVztnQkFDckIsc3RDQUFxQzs7YUFFdEM7Ozs7WUF4QkMsd0JBQXdCO1lBUXhCLGFBQWE7WUFMYixpQkFBaUI7OztzQkF1QmhCLFNBQVMsU0FBQyxTQUFTLEVBQUUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFO3FCQUN0QyxTQUFTLFNBQUMsUUFBUSxFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRTtxQkFDckMsU0FBUyxTQUFDLFFBQVEsRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUU7c0JBQ3JDLFNBQVMsU0FBQyxTQUFTLEVBQUUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFOzBCQUV0QyxTQUFTLFNBQUMsYUFBYSxFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRTt5QkFFMUMsU0FBUyxTQUFDLFlBQVksRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUU7c0JBRXpDLFNBQVMsU0FBQyxTQUFTLEVBQUUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFO3dCQUV0QyxTQUFTLFNBQUMsMkJBQTJCLEVBQUU7b0JBQ3RDLElBQUksRUFBRSxnQkFBZ0I7b0JBQ3RCLE1BQU0sRUFBRSxLQUFLO2lCQUNkOzs7O0lBZEQsa0NBQTZFOztJQUM3RSxpQ0FBMkU7O0lBQzNFLGlDQUEyRTs7SUFDM0Usa0NBQTZFOztJQUU3RSxzQ0FDd0M7O0lBQ3hDLHFDQUN1Qzs7SUFDdkMsa0NBQTZFOzs7OztJQUU3RSxvQ0FJb0M7O0lBRXBDLGlDQUEyQzs7SUFDM0MsdUNBQW1DOztJQUNuQyxtQ0FBaUI7O0lBQ2pCLHVDQUFvQjs7Ozs7SUFFcEIsMENBQW9FOzs7OztJQUdsRSxtQ0FBMEM7Ozs7O0lBQzFDLGtDQUE4Qjs7Ozs7SUFDOUIsOEJBQThCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBDb21wb25lbnQsXHJcbiAgVmlld0NoaWxkLFxyXG4gIFZpZXdDb250YWluZXJSZWYsXHJcbiAgQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyLFxyXG4gIENvbXBvbmVudFJlZixcclxuICBFbGVtZW50UmVmLFxyXG4gIENoYW5nZURldGVjdG9yUmVmLFxyXG59IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7XHJcbiAgRHJhd2VyQ29uZmlnLFxyXG4gIERlZmF1bHREcmF3ZXJDb25maWcsXHJcbiAgRHJhd2VyU2VydmljZSxcclxufSBmcm9tIFwiLi4vLi4vc2VydmljZS9kcmF3ZXIuc2VydmljZVwiO1xyXG5pbXBvcnQgeyBTdGF0aWNSZXNvdXJjZVNlcnZpY2UgfSBmcm9tIFwiLi4vLi4vc2VydmljZS9zdGF0aWMtcmVzb3VyY2Uuc2VydmljZVwiO1xyXG5cclxudHlwZSBEcmF3ZXJDb21wb25lbnRDYWNoZSA9IHtcclxuICByZWY6IENvbXBvbmVudFJlZjxhbnk+O1xyXG4gIGNvbmZpZzogRHJhd2VyQ29uZmlnO1xyXG4gIHRvb2xiYXJFbDogSFRNTEVsZW1lbnQ7XHJcbiAgaGVhZGVyRWw6IEhUTUxFbGVtZW50O1xyXG4gIHRvcEVsOiBIVE1MRWxlbWVudDtcclxufTtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiBcInJzLWRyYXdlclwiLFxyXG4gIHRlbXBsYXRlVXJsOiBcIi4vaW5kZXguY29tcG9uZW50Lmh0bWxcIixcclxuICBzdHlsZVVybHM6IFtcIi4vaW5kZXguY29tcG9uZW50LnNjc3NcIl0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBEcmF3ZXJDb21wb25lbnQge1xyXG4gIEBWaWV3Q2hpbGQoXCJlbGVtZW50XCIsIHsgc3RhdGljOiBmYWxzZSB9KSBlbGVtZW50OiBFbGVtZW50UmVmPEhUTUxEaXZFbGVtZW50PjtcclxuICBAVmlld0NoaWxkKFwiZHJhd2VyXCIsIHsgc3RhdGljOiBmYWxzZSB9KSBkcmF3ZXI6IEVsZW1lbnRSZWY8SFRNTERpdkVsZW1lbnQ+O1xyXG4gIEBWaWV3Q2hpbGQoXCJoZWFkZXJcIiwgeyBzdGF0aWM6IGZhbHNlIH0pIGhlYWRlcjogRWxlbWVudFJlZjxIVE1MRGl2RWxlbWVudD47XHJcbiAgQFZpZXdDaGlsZChcImNvbnRlbnRcIiwgeyBzdGF0aWM6IGZhbHNlIH0pIGNvbnRlbnQ6IEVsZW1lbnRSZWY8SFRNTERpdkVsZW1lbnQ+O1xyXG5cclxuICBAVmlld0NoaWxkKFwidG9vbGJhclNsb3RcIiwgeyBzdGF0aWM6IGZhbHNlIH0pXHJcbiAgdG9vbGJhclNsb3Q6IEVsZW1lbnRSZWY8SFRNTERpdkVsZW1lbnQ+O1xyXG4gIEBWaWV3Q2hpbGQoXCJoZWFkZXJTbG90XCIsIHsgc3RhdGljOiBmYWxzZSB9KVxyXG4gIGhlYWRlclNsb3Q6IEVsZW1lbnRSZWY8SFRNTERpdkVsZW1lbnQ+O1xyXG4gIEBWaWV3Q2hpbGQoXCJ0b3BTbG90XCIsIHsgc3RhdGljOiBmYWxzZSB9KSB0b3BTbG90OiBFbGVtZW50UmVmPEhUTUxEaXZFbGVtZW50PjtcclxuXHJcbiAgQFZpZXdDaGlsZChcImR5bmFtaWNDb21wb25lbnRDb250YWluZXJcIiwge1xyXG4gICAgcmVhZDogVmlld0NvbnRhaW5lclJlZixcclxuICAgIHN0YXRpYzogZmFsc2UsXHJcbiAgfSlcclxuICBwcml2YXRlIGNvbnRhaW5lcjogVmlld0NvbnRhaW5lclJlZjtcclxuXHJcbiAgY29uZmlnOiBEcmF3ZXJDb25maWcgPSBEZWZhdWx0RHJhd2VyQ29uZmlnO1xyXG4gIHVzZUFuaW1hdGlvbjogXCJ5ZXNcIiB8IFwibm9cIiA9IFwieWVzXCI7XHJcbiAgaXNPcGVuZWQgPSBmYWxzZTtcclxuICBoaWRkZW5EcmF3ZXIgPSB0cnVlO1xyXG5cclxuICBwcml2YXRlIGNvbXBvbmVudFJlZk1hcCA9IG5ldyBNYXA8c3RyaW5nLCBEcmF3ZXJDb21wb25lbnRDYWNoZVtdPigpO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgcmVzb2x2ZXI6IENvbXBvbmVudEZhY3RvcnlSZXNvbHZlcixcclxuICAgIHByaXZhdGUgc2VydmljZTogRHJhd2VyU2VydmljZSxcclxuICAgIHByaXZhdGUgcmVmOiBDaGFuZ2VEZXRlY3RvclJlZixcclxuICApIHt9XHJcblxyXG4gIHByaXZhdGUgY3JlYXRlRHluYW1pY0NvbXBvbmVudChjb21wb25lbnQ6IG5ldyAoLi4uYXJnczogYW55W10pID0+IGFueSkge1xyXG4gICAgLy8g56Gu5L+d5Zyo6LCD55So5LmL5YmN55uu5qCH57uE5Lu25bey57uP5ZyoZW50cnlDb21wb25lbnRz5Lit5aOw5piOXHJcbiAgICBjb25zdCBmYWN0b3J5ID0gdGhpcy5yZXNvbHZlci5yZXNvbHZlQ29tcG9uZW50RmFjdG9yeShjb21wb25lbnQpO1xyXG4gICAgY29uc3QgY29tcG9uZW50UmVmID0gdGhpcy5jb250YWluZXIuY3JlYXRlQ29tcG9uZW50KGZhY3RvcnkpO1xyXG4gICAgcmV0dXJuIGNvbXBvbmVudFJlZjtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgZGVzdHJveUR5bmFtaWNDb21wb25lbnQoY29tcG9uZW50UmVmOiBDb21wb25lbnRSZWY8YW55Pikge1xyXG4gICAgaWYgKGNvbXBvbmVudFJlZikge1xyXG4gICAgICBjb21wb25lbnRSZWYuZGVzdHJveSgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBzZXRDb21wb25lbnREYXRhKFxyXG4gICAgY29tcG9uZW50UmVmOiBDb21wb25lbnRSZWY8YW55PixcclxuICAgIGRhdGE6IFJlY29yZDxzdHJpbmcsIGFueT4gPSB7fSxcclxuICApIHtcclxuICAgIC8vIOWmguaenOmcgOimgeS8oOmAkuaVsOaNrue7meWKqOaAgee7hOS7tu+8jOWPr+S7pei/meagt+WBmlxyXG4gICAgaWYgKGNvbXBvbmVudFJlZikge1xyXG4gICAgICBPYmplY3QuZW50cmllcyhkYXRhKS5mb3JFYWNoKChba2V5LCB2YWx1ZV0pID0+IHtcclxuICAgICAgICBjb21wb25lbnRSZWYuaW5zdGFuY2Vba2V5XSA9IHZhbHVlO1xyXG4gICAgICB9KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgZ2V0U2xvdEVsZW1lbnQoY29tcG9uZW50UmVmOiBDb21wb25lbnRSZWY8YW55Piwgc2VsZWN0b3I6IHN0cmluZykge1xyXG4gICAgY29uc3QgY29tcG9uZW50RWwgPSBjb21wb25lbnRSZWYubG9jYXRpb24ubmF0aXZlRWxlbWVudDtcclxuICAgIHJldHVybiBjb21wb25lbnRFbC5xdWVyeVNlbGVjdG9yKHNlbGVjdG9yKSBhcyBIVE1MRWxlbWVudDtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgc2V0U2xvdEVsZW1lbnQoc2xvdEVsOiBIVE1MRWxlbWVudCwgY29udGFpbmVyRWw6IEhUTUxFbGVtZW50KSB7XHJcbiAgICBjb250YWluZXJFbC5pbm5lckhUTUwgPSBcIlwiO1xyXG4gICAgaWYgKHNsb3RFbCkge1xyXG4gICAgICBjb250YWluZXJFbC5hcHBlbmQoc2xvdEVsKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHNldENhY2hlKGNhY2hlOiBEcmF3ZXJDb21wb25lbnRDYWNoZSkge1xyXG4gICAgdGhpcy5zZXRTbG90RWxlbWVudChjYWNoZS50b29sYmFyRWwsIHRoaXMudG9vbGJhclNsb3QubmF0aXZlRWxlbWVudCk7XHJcbiAgICB0aGlzLnNldFNsb3RFbGVtZW50KGNhY2hlLmhlYWRlckVsLCB0aGlzLmhlYWRlclNsb3QubmF0aXZlRWxlbWVudCk7XHJcbiAgICB0aGlzLnNldFNsb3RFbGVtZW50KGNhY2hlLnRvcEVsLCB0aGlzLnRvcFNsb3QubmF0aXZlRWxlbWVudCk7XHJcblxyXG4gICAgY29uc3QgZHJhd2VyVG9wID0gY2FjaGUuY29uZmlnLnRvcCA/IGAke2NhY2hlLmNvbmZpZy50b3B9cHhgIDogXCJcIjtcclxuICAgIHRoaXMuZWxlbWVudC5uYXRpdmVFbGVtZW50LnN0eWxlLnNldFByb3BlcnR5KFwiLS1kcmF3ZXItdG9wXCIsIGRyYXdlclRvcCk7XHJcblxyXG4gICAgaWYgKGNhY2hlLmNvbmZpZy5tb2RlID09PSBcImlubmVyXCIpIHtcclxuICAgICAgdGhpcy5jb250ZW50Lm5hdGl2ZUVsZW1lbnQuaW5zZXJ0QmVmb3JlKFxyXG4gICAgICAgIHRoaXMuaGVhZGVyLm5hdGl2ZUVsZW1lbnQsXHJcbiAgICAgICAgdGhpcy5jb250ZW50Lm5hdGl2ZUVsZW1lbnQuZmlyc3RDaGlsZCxcclxuICAgICAgKTtcclxuICAgICAgdGhpcy5jb250ZW50Lm5hdGl2ZUVsZW1lbnQuYXBwZW5kKHRoaXMudG9vbGJhclNsb3QubmF0aXZlRWxlbWVudCk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLmRyYXdlci5uYXRpdmVFbGVtZW50Lmluc2VydEJlZm9yZShcclxuICAgICAgICB0aGlzLmhlYWRlci5uYXRpdmVFbGVtZW50LFxyXG4gICAgICAgIHRoaXMuZHJhd2VyLm5hdGl2ZUVsZW1lbnQuZmlyc3RDaGlsZCxcclxuICAgICAgKTtcclxuICAgICAgdGhpcy5oZWFkZXIubmF0aXZlRWxlbWVudC5hcHBlbmQodGhpcy50b29sYmFyU2xvdC5uYXRpdmVFbGVtZW50KTtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLmNvbmZpZyA9IGNhY2hlLmNvbmZpZztcclxuICAgIHRoaXMucmVmLm1hcmtGb3JDaGVjaygpO1xyXG4gIH1cclxuXHJcbiAgc2V0Q29uZmlnKGNvbmZpZzogUGFydGlhbDxEcmF3ZXJDb25maWc+KSB7XHJcbiAgICBjb25zdCBjYWNoZXMgPSB0aGlzLmNvbXBvbmVudFJlZk1hcC5nZXQodGhpcy5zZXJ2aWNlLmNhY2hlS2V5KSB8fCBbXTtcclxuICAgIGNvbnN0IGNhY2hlID0gY2FjaGVzLnNsaWNlKC0xKVswXTtcclxuICAgIGlmIChjYWNoZSkge1xyXG4gICAgICBjYWNoZS5jb25maWcgPSB7IC4uLmNhY2hlLmNvbmZpZywgLi4uY29uZmlnIH07XHJcbiAgICAgIHRoaXMuc2V0Q2FjaGUoY2FjaGUpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgc2hvdzxUPihcclxuICAgIGNvbXBvbmVudDogbmV3ICguLi5hcmdzOiBhbnlbXSkgPT4gVCxcclxuICAgIGNvbmZpZzogRHJhd2VyQ29uZmlnLFxyXG4gICAgZGF0YTogUmVjb3JkPHN0cmluZywgYW55PixcclxuICApOiBUIHtcclxuICAgIGNvbnN0IHNob3dDb25maWcgPSB7IC4uLkRlZmF1bHREcmF3ZXJDb25maWcsIC4uLmNvbmZpZyB9O1xyXG4gICAgY29uc3QgY29tcG9uZW50UmVmID0gdGhpcy5jcmVhdGVEeW5hbWljQ29tcG9uZW50KGNvbXBvbmVudCk7XHJcbiAgICBjb25zdCB0b29sYmFyRWwgPSB0aGlzLmdldFNsb3RFbGVtZW50KGNvbXBvbmVudFJlZiwgXCJbZHJhd2VyLXRvb2xiYXJdXCIpO1xyXG4gICAgY29uc3QgaGVhZGVyRWwgPSB0aGlzLmdldFNsb3RFbGVtZW50KGNvbXBvbmVudFJlZiwgXCJbZHJhd2VyLWhlYWRlcl1cIik7XHJcbiAgICBjb25zdCB0b3BFbCA9IHRoaXMuZ2V0U2xvdEVsZW1lbnQoY29tcG9uZW50UmVmLCBcIltkcmF3ZXItdG9wXVwiKTtcclxuICAgIGNvbnN0IGNhY2hlID0ge1xyXG4gICAgICBjb25maWc6IHNob3dDb25maWcsXHJcbiAgICAgIHJlZjogY29tcG9uZW50UmVmLFxyXG4gICAgICB0b29sYmFyRWwsXHJcbiAgICAgIGhlYWRlckVsLFxyXG4gICAgICB0b3BFbCxcclxuICAgIH07XHJcblxyXG4gICAgY29uc3QgY2FjaGVzID0gdGhpcy5jb21wb25lbnRSZWZNYXAuZ2V0KHRoaXMuc2VydmljZS5jYWNoZUtleSkgfHwgW107XHJcbiAgICB0aGlzLmNvbXBvbmVudFJlZk1hcC5zZXQodGhpcy5zZXJ2aWNlLmNhY2hlS2V5LCBbLi4uY2FjaGVzLCBjYWNoZV0pO1xyXG4gICAgLy8g5aaC5p6c5piv56ys5LiA5Liq57yT5a2Y77yM5omT5byA5oq95bGJXHJcbiAgICBpZiAoY2FjaGVzLmxlbmd0aCA9PT0gMCkge1xyXG4gICAgICB0aGlzLnRvZ2dsZU9wZW5TdGF0dXModHJ1ZSwgdHJ1ZSk7XHJcbiAgICB9XHJcbiAgICB0aGlzLnRvZ2dsZUNhY2hlKGNhY2hlKTtcclxuICAgIHRoaXMuc2V0Q29tcG9uZW50RGF0YShjb21wb25lbnRSZWYsIGRhdGEpO1xyXG5cclxuICAgIHJldHVybiBjb21wb25lbnRSZWYuaW5zdGFuY2U7XHJcbiAgfVxyXG5cclxuICBoaWRlKCkge1xyXG4gICAgdGhpcy5zZXJ2aWNlLmhpZGUoKTtcclxuICB9XHJcblxyXG4gIGJhY2soKSB7XHJcbiAgICB0aGlzLmRlbGV0ZUNhY2hlKHRoaXMuc2VydmljZS5jYWNoZUtleSk7XHJcblxyXG4gICAgLy8g5aaC5p6c5pyJ5LiK5LiA5Liq57yT5a2Y77yM6K6+572u5Li65b2T5YmN57yT5a2Y77yM5ZCm5YiZ5YWz6Zet5oq95bGJXHJcbiAgICBjb25zdCBjYWNoZXMgPSB0aGlzLmNvbXBvbmVudFJlZk1hcC5nZXQodGhpcy5zZXJ2aWNlLmNhY2hlS2V5KSB8fCBbXTtcclxuICAgIGNvbnN0IGNhY2hlID0gY2FjaGVzLnNsaWNlKC0xKVswXTtcclxuICAgIGlmIChjYWNoZSkge1xyXG4gICAgICB0aGlzLnRvZ2dsZUNhY2hlKGNhY2hlKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMudG9nZ2xlT3BlblN0YXR1cyhmYWxzZSwgdHJ1ZSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGRlbGV0ZUNhY2hlKGNhY2hlS2V5OiBzdHJpbmcpIHtcclxuICAgIGNvbnN0IGNhY2hlcyA9IHRoaXMuY29tcG9uZW50UmVmTWFwLmdldChjYWNoZUtleSkgfHwgW107XHJcbiAgICBjb25zdCBjYWNoZSA9IGNhY2hlcy5zbGljZSgtMSlbMF07XHJcbiAgICBpZiAoY2FjaGUpIHtcclxuICAgICAgdGhpcy5kZXN0cm95RHluYW1pY0NvbXBvbmVudChjYWNoZS5yZWYpO1xyXG4gICAgICBjYWNoZXMucG9wKCk7XHJcbiAgICB9XHJcbiAgICBpZiAoY2FjaGVzLmxlbmd0aCA9PT0gMCkge1xyXG4gICAgICB0aGlzLmNvbXBvbmVudFJlZk1hcC5kZWxldGUoY2FjaGVLZXkpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSB0b2dnbGVDYWNoZShjYWNoZTogRHJhd2VyQ29tcG9uZW50Q2FjaGUpIHtcclxuICAgIHRoaXMuY29tcG9uZW50UmVmTWFwLmZvckVhY2goKGNhY2hlcykgPT4ge1xyXG4gICAgICBjYWNoZXMuZm9yRWFjaCgoYykgPT4ge1xyXG4gICAgICAgIGMucmVmLmxvY2F0aW9uLm5hdGl2ZUVsZW1lbnQuc3R5bGUuZGlzcGxheSA9IGMgPT09IGNhY2hlID8gXCJcIiA6IFwibm9uZVwiO1xyXG4gICAgICB9KTtcclxuICAgIH0pO1xyXG4gICAgdGhpcy5zZXRDYWNoZShjYWNoZSk7XHJcbiAgfVxyXG5cclxuICBkZWxldGVBbGxDYWNoZShjYWNoZUtleTogc3RyaW5nKSB7XHJcbiAgICBjb25zdCBjYWNoZXMgPSB0aGlzLmNvbXBvbmVudFJlZk1hcC5nZXQoY2FjaGVLZXkpIHx8IFtdO1xyXG4gICAgY2FjaGVzLmZvckVhY2goKGNhY2hlKSA9PiB7XHJcbiAgICAgIHRoaXMuZGVzdHJveUR5bmFtaWNDb21wb25lbnQoY2FjaGUucmVmKTtcclxuICAgIH0pO1xyXG4gICAgdGhpcy5jb21wb25lbnRSZWZNYXAuZGVsZXRlKGNhY2hlS2V5KTtcclxuICB9XHJcblxyXG4gIG9uUm91dGVDaGFuZ2UoKSB7XHJcbiAgICBjb25zdCBjYWNoZXMgPSB0aGlzLmNvbXBvbmVudFJlZk1hcC5nZXQodGhpcy5zZXJ2aWNlLmNhY2hlS2V5KSB8fCBbXTtcclxuICAgIGNvbnN0IGNhY2hlID0gY2FjaGVzLnNsaWNlKC0xKVswXTtcclxuICAgIGlmIChjYWNoZSkge1xyXG4gICAgICB0aGlzLnRvZ2dsZUNhY2hlKGNhY2hlKTtcclxuICAgICAgdGhpcy50b2dnbGVPcGVuU3RhdHVzKHRydWUpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy50b2dnbGVPcGVuU3RhdHVzKGZhbHNlKTtcclxuICAgIH1cclxuICAgIHRoaXMudXNlQW5pbWF0aW9uID0gXCJub1wiO1xyXG4gIH1cclxuXHJcbiAgdG9nZ2xlT3BlblN0YXR1cyhpc09wZW46IGJvb2xlYW4sIHVzZUFuaW1hdGlvbiA9IGZhbHNlKSB7XHJcbiAgICB0aGlzLmlzT3BlbmVkID0gaXNPcGVuO1xyXG4gICAgdGhpcy51c2VBbmltYXRpb24gPSB1c2VBbmltYXRpb24gPyBcInllc1wiIDogXCJub1wiO1xyXG4gICAgdGhpcy5oaWRkZW5EcmF3ZXIgPSAhaXNPcGVuICYmICF1c2VBbmltYXRpb247XHJcbiAgICB0aGlzLnJlZi5tYXJrRm9yQ2hlY2soKTtcclxuICB9XHJcblxyXG4gIG9uQW5pbWF0aW9uRW5kKCkge1xyXG4gICAgaWYgKCF0aGlzLmlzT3BlbmVkKSB7XHJcbiAgICAgIHRoaXMuaGlkZGVuRHJhd2VyID0gdHJ1ZTtcclxuICAgICAgdGhpcy5yZWYubWFya0ZvckNoZWNrKCk7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -31,7 +31,10 @@ export class StaticResourceService {
31
31
  return "";
32
32
  }
33
33
  if (this.ResultMap.has(url)) {
34
- return this.ResultMap.get(url) || "";
34
+ /** @type {?} */
35
+ const result = this.ResultMap.get(url) || "";
36
+ cb(result);
37
+ return result;
35
38
  }
36
39
  /** @type {?} */
37
40
  const res = yield fetch(url);
@@ -119,4 +122,4 @@ if (false) {
119
122
  */
120
123
  StaticResourceService.prototype.sanitizer;
121
124
  }
122
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhdGljLXJlc291cmNlLnNlcnZpY2UuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9yYWlzZS1jb21tb24tbGliLyIsInNvdXJjZXMiOlsibGliL3NlcnZpY2Uvc3RhdGljLXJlc291cmNlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsWUFBWSxFQUFXLE1BQU0sMkJBQTJCLENBQUM7OztBQUtsRSxNQUFNLE9BQU8scUJBQXFCOzs7O0lBR2hDLFlBQW9CLFNBQXVCO1FBQXZCLGNBQVMsR0FBVCxTQUFTLENBQWM7UUFGbkMsY0FBUyxHQUFHLElBQUksR0FBRyxFQUFtQixDQUFDO0lBRUQsQ0FBQzs7Ozs7O0lBRXpDLElBQUksQ0FBQyxHQUFXLEVBQUU7OztJQUFxQyxHQUFHLEVBQUUsR0FBRSxDQUFDLENBQUE7O1lBQ25FLElBQUksQ0FBQyxHQUFHLElBQUksT0FBTyxHQUFHLEtBQUssUUFBUSxFQUFFO2dCQUNuQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUM7Z0JBQ1AsT0FBTyxFQUFFLENBQUM7YUFDWDtZQUNELElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUU7Z0JBQzNCLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLElBQUksRUFBRSxDQUFDO2FBQ3RDOztrQkFFSyxHQUFHLEdBQUcsTUFBTSxLQUFLLENBQUMsR0FBRyxDQUFDO1lBQzVCLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxFQUFFO2dCQUNYLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQztnQkFDUCxPQUFPLEVBQUUsQ0FBQzthQUNYOztrQkFFSyxJQUFJLEdBQUcsTUFBTSxHQUFHLENBQUMsSUFBSSxFQUFFO1lBQzdCLE9BQU8sSUFBSSxPQUFPOzs7O1lBQWUsQ0FBQyxPQUFPLEVBQUUsRUFBRTs7c0JBQ3JDLE1BQU0sR0FBRyxJQUFJLFVBQVUsRUFBRTs7c0JBQ3pCLFFBQVE7Ozs7Z0JBQUcsQ0FBQyxNQUFjLEVBQUUsRUFBRTs7MEJBQzVCLE9BQU8sR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLHNCQUFzQixDQUFDLE1BQU0sQ0FBQztvQkFDN0QsSUFBSSxPQUFPLEVBQUU7d0JBQ1gsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLE9BQU8sQ0FBQyxDQUFDO3FCQUNsQztvQkFDRCxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUM7b0JBQ2pCLEVBQUUsQ0FBQyxPQUFPLENBQUMsQ0FBQztnQkFDZCxDQUFDLENBQUE7Z0JBRUQsTUFBTSxDQUFDLFNBQVM7OztnQkFBRyxHQUFHLEVBQUUsQ0FBQyxRQUFRLENBQUMsbUJBQUEsTUFBTSxDQUFDLE1BQU0sRUFBVSxDQUFDLENBQUEsQ0FBQztnQkFDM0QsTUFBTSxDQUFDLE9BQU87OztnQkFBRyxHQUFHLEVBQUUsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLENBQUEsQ0FBQztnQkFDcEMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUM3QixDQUFDLEVBQUMsQ0FBQztRQUNMLENBQUM7S0FBQTs7Ozs7O0lBRUssU0FBUyxDQUFDLEdBQVcsRUFBRSxFQUFrQzs7WUFDN0QsT0FBTyxJQUFJLEVBQUU7O3NCQUNMLE1BQU0sR0FBRyxNQUFNLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDO2dCQUNuQyxJQUFJLE1BQU0sRUFBRTtvQkFDVixFQUFFLENBQUMsTUFBTSxDQUFDLENBQUM7b0JBQ1gsT0FBTyxNQUFNLENBQUM7aUJBQ2Y7Z0JBQ0QsTUFBTSxJQUFJLE9BQU87Ozs7Z0JBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDLFVBQVUsQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLEVBQUMsQ0FBQzthQUMzRDtRQUNILENBQUM7S0FBQTs7O1lBbERGLFVBQVUsU0FBQztnQkFDVixVQUFVLEVBQUUsTUFBTTthQUNuQjs7OztZQUpRLFlBQVk7Ozs7Ozs7O0lBTW5CLDBDQUErQzs7Ozs7SUFFbkMsMENBQStCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IERvbVNhbml0aXplciwgU2FmZVVybCB9IGZyb20gXCJAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyXCI7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogXCJyb290XCIsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTdGF0aWNSZXNvdXJjZVNlcnZpY2Uge1xyXG4gIHByaXZhdGUgUmVzdWx0TWFwID0gbmV3IE1hcDxzdHJpbmcsIFNhZmVVcmw+KCk7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgc2FuaXRpemVyOiBEb21TYW5pdGl6ZXIpIHt9XHJcblxyXG4gIGFzeW5jIGxvYWQodXJsOiBzdHJpbmcsIGNiOiAocmVzdWx0OiBTYWZlVXJsIHwgXCJcIikgPT4gdm9pZCA9ICgpID0+IHt9KSB7XHJcbiAgICBpZiAoIXVybCB8fCB0eXBlb2YgdXJsICE9PSBcInN0cmluZ1wiKSB7XHJcbiAgICAgIGNiKFwiXCIpO1xyXG4gICAgICByZXR1cm4gXCJcIjtcclxuICAgIH1cclxuICAgIGlmICh0aGlzLlJlc3VsdE1hcC5oYXModXJsKSkge1xyXG4gICAgICByZXR1cm4gdGhpcy5SZXN1bHRNYXAuZ2V0KHVybCkgfHwgXCJcIjtcclxuICAgIH1cclxuXHJcbiAgICBjb25zdCByZXMgPSBhd2FpdCBmZXRjaCh1cmwpO1xyXG4gICAgaWYgKCFyZXMub2spIHtcclxuICAgICAgY2IoXCJcIik7XHJcbiAgICAgIHJldHVybiBcIlwiO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IGJsb2IgPSBhd2FpdCByZXMuYmxvYigpO1xyXG4gICAgcmV0dXJuIG5ldyBQcm9taXNlPFNhZmVVcmwgfCBcIlwiPigocmVzb2x2ZSkgPT4ge1xyXG4gICAgICBjb25zdCByZWFkZXIgPSBuZXcgRmlsZVJlYWRlcigpO1xyXG4gICAgICBjb25zdCBjYWxsYmFjayA9IChyZXN1bHQ6IHN0cmluZykgPT4ge1xyXG4gICAgICAgIGNvbnN0IHNhZmVVcmwgPSB0aGlzLnNhbml0aXplci5ieXBhc3NTZWN1cml0eVRydXN0VXJsKHJlc3VsdCk7XHJcbiAgICAgICAgaWYgKHNhZmVVcmwpIHtcclxuICAgICAgICAgIHRoaXMuUmVzdWx0TWFwLnNldCh1cmwsIHNhZmVVcmwpO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXNvbHZlKHNhZmVVcmwpO1xyXG4gICAgICAgIGNiKHNhZmVVcmwpO1xyXG4gICAgICB9O1xyXG5cclxuICAgICAgcmVhZGVyLm9ubG9hZGVuZCA9ICgpID0+IGNhbGxiYWNrKHJlYWRlci5yZXN1bHQgYXMgc3RyaW5nKTtcclxuICAgICAgcmVhZGVyLm9uZXJyb3IgPSAoKSA9PiBjYWxsYmFjayhcIlwiKTtcclxuICAgICAgcmVhZGVyLnJlYWRBc0RhdGFVUkwoYmxvYik7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIGFzeW5jIGZvcmNlTG9hZCh1cmw6IHN0cmluZywgY2I6IChyZXN1bHQ6IFNhZmVVcmwgfCBcIlwiKSA9PiB2b2lkKSB7XHJcbiAgICB3aGlsZSAodHJ1ZSkge1xyXG4gICAgICBjb25zdCByZXN1bHQgPSBhd2FpdCB0aGlzLmxvYWQodXJsKTtcclxuICAgICAgaWYgKHJlc3VsdCkge1xyXG4gICAgICAgIGNiKHJlc3VsdCk7XHJcbiAgICAgICAgcmV0dXJuIHJlc3VsdDtcclxuICAgICAgfVxyXG4gICAgICBhd2FpdCBuZXcgUHJvbWlzZSgocmVzb2x2ZSkgPT4gc2V0VGltZW91dChyZXNvbHZlLCAyMDAwKSk7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiJdfQ==
125
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhdGljLXJlc291cmNlLnNlcnZpY2UuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9yYWlzZS1jb21tb24tbGliLyIsInNvdXJjZXMiOlsibGliL3NlcnZpY2Uvc3RhdGljLXJlc291cmNlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsWUFBWSxFQUFXLE1BQU0sMkJBQTJCLENBQUM7OztBQUtsRSxNQUFNLE9BQU8scUJBQXFCOzs7O0lBR2hDLFlBQW9CLFNBQXVCO1FBQXZCLGNBQVMsR0FBVCxTQUFTLENBQWM7UUFGbkMsY0FBUyxHQUFHLElBQUksR0FBRyxFQUFtQixDQUFDO0lBRUQsQ0FBQzs7Ozs7O0lBRXpDLElBQUksQ0FBQyxHQUFXLEVBQUU7OztJQUFxQyxHQUFHLEVBQUUsR0FBRSxDQUFDLENBQUE7O1lBQ25FLElBQUksQ0FBQyxHQUFHLElBQUksT0FBTyxHQUFHLEtBQUssUUFBUSxFQUFFO2dCQUNuQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUM7Z0JBQ1AsT0FBTyxFQUFFLENBQUM7YUFDWDtZQUNELElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUU7O3NCQUNyQixNQUFNLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLElBQUksRUFBRTtnQkFDNUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxDQUFDO2dCQUNYLE9BQU8sTUFBTSxDQUFDO2FBQ2Y7O2tCQUVLLEdBQUcsR0FBRyxNQUFNLEtBQUssQ0FBQyxHQUFHLENBQUM7WUFDNUIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLEVBQUU7Z0JBQ1gsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDO2dCQUNQLE9BQU8sRUFBRSxDQUFDO2FBQ1g7O2tCQUVLLElBQUksR0FBRyxNQUFNLEdBQUcsQ0FBQyxJQUFJLEVBQUU7WUFDN0IsT0FBTyxJQUFJLE9BQU87Ozs7WUFBZSxDQUFDLE9BQU8sRUFBRSxFQUFFOztzQkFDckMsTUFBTSxHQUFHLElBQUksVUFBVSxFQUFFOztzQkFDekIsUUFBUTs7OztnQkFBRyxDQUFDLE1BQWMsRUFBRSxFQUFFOzswQkFDNUIsT0FBTyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsc0JBQXNCLENBQUMsTUFBTSxDQUFDO29CQUM3RCxJQUFJLE9BQU8sRUFBRTt3QkFDWCxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsT0FBTyxDQUFDLENBQUM7cUJBQ2xDO29CQUNELE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQztvQkFDakIsRUFBRSxDQUFDLE9BQU8sQ0FBQyxDQUFDO2dCQUNkLENBQUMsQ0FBQTtnQkFFRCxNQUFNLENBQUMsU0FBUzs7O2dCQUFHLEdBQUcsRUFBRSxDQUFDLFFBQVEsQ0FBQyxtQkFBQSxNQUFNLENBQUMsTUFBTSxFQUFVLENBQUMsQ0FBQSxDQUFDO2dCQUMzRCxNQUFNLENBQUMsT0FBTzs7O2dCQUFHLEdBQUcsRUFBRSxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsQ0FBQSxDQUFDO2dCQUNwQyxNQUFNLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQzdCLENBQUMsRUFBQyxDQUFDO1FBQ0wsQ0FBQztLQUFBOzs7Ozs7SUFFSyxTQUFTLENBQUMsR0FBVyxFQUFFLEVBQWtDOztZQUM3RCxPQUFPLElBQUksRUFBRTs7c0JBQ0wsTUFBTSxHQUFHLE1BQU0sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUM7Z0JBQ25DLElBQUksTUFBTSxFQUFFO29CQUNWLEVBQUUsQ0FBQyxNQUFNLENBQUMsQ0FBQztvQkFDWCxPQUFPLE1BQU0sQ0FBQztpQkFDZjtnQkFDRCxNQUFNLElBQUksT0FBTzs7OztnQkFBQyxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUMsVUFBVSxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsRUFBQyxDQUFDO2FBQzNEO1FBQ0gsQ0FBQztLQUFBOzs7WUFwREYsVUFBVSxTQUFDO2dCQUNWLFVBQVUsRUFBRSxNQUFNO2FBQ25COzs7O1lBSlEsWUFBWTs7Ozs7Ozs7SUFNbkIsMENBQStDOzs7OztJQUVuQywwQ0FBK0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgRG9tU2FuaXRpemVyLCBTYWZlVXJsIH0gZnJvbSBcIkBhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXJcIjtcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiBcInJvb3RcIixcclxufSlcclxuZXhwb3J0IGNsYXNzIFN0YXRpY1Jlc291cmNlU2VydmljZSB7XHJcbiAgcHJpdmF0ZSBSZXN1bHRNYXAgPSBuZXcgTWFwPHN0cmluZywgU2FmZVVybD4oKTtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBzYW5pdGl6ZXI6IERvbVNhbml0aXplcikge31cclxuXHJcbiAgYXN5bmMgbG9hZCh1cmw6IHN0cmluZywgY2I6IChyZXN1bHQ6IFNhZmVVcmwgfCBcIlwiKSA9PiB2b2lkID0gKCkgPT4ge30pIHtcclxuICAgIGlmICghdXJsIHx8IHR5cGVvZiB1cmwgIT09IFwic3RyaW5nXCIpIHtcclxuICAgICAgY2IoXCJcIik7XHJcbiAgICAgIHJldHVybiBcIlwiO1xyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMuUmVzdWx0TWFwLmhhcyh1cmwpKSB7XHJcbiAgICAgIGNvbnN0IHJlc3VsdCA9IHRoaXMuUmVzdWx0TWFwLmdldCh1cmwpIHx8IFwiXCI7XHJcbiAgICAgIGNiKHJlc3VsdCk7XHJcbiAgICAgIHJldHVybiByZXN1bHQ7XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3QgcmVzID0gYXdhaXQgZmV0Y2godXJsKTtcclxuICAgIGlmICghcmVzLm9rKSB7XHJcbiAgICAgIGNiKFwiXCIpO1xyXG4gICAgICByZXR1cm4gXCJcIjtcclxuICAgIH1cclxuXHJcbiAgICBjb25zdCBibG9iID0gYXdhaXQgcmVzLmJsb2IoKTtcclxuICAgIHJldHVybiBuZXcgUHJvbWlzZTxTYWZlVXJsIHwgXCJcIj4oKHJlc29sdmUpID0+IHtcclxuICAgICAgY29uc3QgcmVhZGVyID0gbmV3IEZpbGVSZWFkZXIoKTtcclxuICAgICAgY29uc3QgY2FsbGJhY2sgPSAocmVzdWx0OiBzdHJpbmcpID0+IHtcclxuICAgICAgICBjb25zdCBzYWZlVXJsID0gdGhpcy5zYW5pdGl6ZXIuYnlwYXNzU2VjdXJpdHlUcnVzdFVybChyZXN1bHQpO1xyXG4gICAgICAgIGlmIChzYWZlVXJsKSB7XHJcbiAgICAgICAgICB0aGlzLlJlc3VsdE1hcC5zZXQodXJsLCBzYWZlVXJsKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmVzb2x2ZShzYWZlVXJsKTtcclxuICAgICAgICBjYihzYWZlVXJsKTtcclxuICAgICAgfTtcclxuXHJcbiAgICAgIHJlYWRlci5vbmxvYWRlbmQgPSAoKSA9PiBjYWxsYmFjayhyZWFkZXIucmVzdWx0IGFzIHN0cmluZyk7XHJcbiAgICAgIHJlYWRlci5vbmVycm9yID0gKCkgPT4gY2FsbGJhY2soXCJcIik7XHJcbiAgICAgIHJlYWRlci5yZWFkQXNEYXRhVVJMKGJsb2IpO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBhc3luYyBmb3JjZUxvYWQodXJsOiBzdHJpbmcsIGNiOiAocmVzdWx0OiBTYWZlVXJsIHwgXCJcIikgPT4gdm9pZCkge1xyXG4gICAgd2hpbGUgKHRydWUpIHtcclxuICAgICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgdGhpcy5sb2FkKHVybCk7XHJcbiAgICAgIGlmIChyZXN1bHQpIHtcclxuICAgICAgICBjYihyZXN1bHQpO1xyXG4gICAgICAgIHJldHVybiByZXN1bHQ7XHJcbiAgICAgIH1cclxuICAgICAgYXdhaXQgbmV3IFByb21pc2UoKHJlc29sdmUpID0+IHNldFRpbWVvdXQocmVzb2x2ZSwgMjAwMCkpO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iXX0=
@@ -16,6 +16,7 @@ var TagInputComponent = /** @class */ (function () {
16
16
  this.valueChange = new EventEmitter();
17
17
  this.focus = new EventEmitter();
18
18
  this.blur = new EventEmitter();
19
+ this.keyup = new EventEmitter();
19
20
  this.inputError = false;
20
21
  }
21
22
  Object.defineProperty(TagInputComponent.prototype, "inputMinlength", {
@@ -64,19 +65,23 @@ var TagInputComponent = /** @class */ (function () {
64
65
  };
65
66
  /**
66
67
  * @param {?} event
68
+ * @param {?=} type
67
69
  * @return {?}
68
70
  */
69
71
  TagInputComponent.prototype.onAddTag = /**
70
72
  * @param {?} event
73
+ * @param {?=} type
71
74
  * @return {?}
72
75
  */
73
- function (event) {
76
+ function (event, type) {
74
77
  /** @type {?} */
75
78
  var inputValue = event.target.value;
76
79
  if (inputValue && this.verifyInputValue(inputValue)) {
77
80
  this.valueChange.emit(tslib_1.__spread(this.value, [inputValue]));
78
81
  event.target.value = "";
79
82
  }
83
+ if (!type)
84
+ this.keyup.emit(event);
80
85
  };
81
86
  /**
82
87
  * @param {?} inputValue
@@ -125,7 +130,7 @@ var TagInputComponent = /** @class */ (function () {
125
130
  * @return {?}
126
131
  */
127
132
  function (event) {
128
- this.onAddTag(event);
133
+ this.onAddTag(event, "blur");
129
134
  this.blur.emit();
130
135
  };
131
136
  TagInputComponent.decorators = [
@@ -144,7 +149,8 @@ var TagInputComponent = /** @class */ (function () {
144
149
  maxlength: [{ type: Input, args: ["inputMaxlength",] }],
145
150
  valueChange: [{ type: Output }],
146
151
  focus: [{ type: Output }],
147
- blur: [{ type: Output }]
152
+ blur: [{ type: Output }],
153
+ keyup: [{ type: Output }]
148
154
  };
149
155
  return TagInputComponent;
150
156
  }());
@@ -169,6 +175,8 @@ if (false) {
169
175
  /** @type {?} */
170
176
  TagInputComponent.prototype.blur;
171
177
  /** @type {?} */
178
+ TagInputComponent.prototype.keyup;
179
+ /** @type {?} */
172
180
  TagInputComponent.prototype.inputError;
173
181
  }
174
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vcmFpc2UtY29tbW9uLWxpYi8iLCJzb3VyY2VzIjpbImxpYi9mb3JtL3RhZy1pbnB1dC9pbmRleC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUNBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFL0U7SUFBQTtRQU1XLFVBQUssR0FBRyxFQUFFLENBQUM7UUFFWCxhQUFRLEdBQUcsS0FBSyxDQUFDO1FBQ2pCLFVBQUssR0FBRyxLQUFLLENBQUM7UUFDRSxjQUFTLEdBQUcsQ0FBQyxDQUFDO1FBQ2QsY0FBUyxHQUFHLEVBQUUsQ0FBQztRQVd4QyxnQkFBVyxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFFdkIsVUFBSyxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFDM0IsU0FBSSxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFlcEMsZUFBVSxHQUFHLEtBQUssQ0FBQztJQTJCckIsQ0FBQztJQXREQyxzQkFBSSw2Q0FBYzs7OztRQUFsQjtZQUNFLE9BQU8sSUFBSSxDQUFDLFNBQVMsS0FBSyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQztRQUMzRCxDQUFDOzs7T0FBQTtJQUVELHNCQUFJLDZDQUFjOzs7O1FBQWxCO1lBQ0UsT0FBTyxJQUFJLENBQUMsU0FBUyxLQUFLLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDO1FBQzVELENBQUM7OztPQUFBOzs7O0lBUUQsb0NBQVE7OztJQUFSLGNBQVksQ0FBQzs7Ozs7SUFDYix1Q0FBVzs7OztJQUFYLFVBQVksR0FBRzs7WUFDUCxRQUFRLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNOzs7O1FBQUMsVUFBQyxDQUFDLElBQUssT0FBQSxDQUFDLEtBQUssR0FBRyxFQUFULENBQVMsRUFBQztRQUNwRCxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUNsQyxDQUFDOzs7OztJQUVELG9DQUFROzs7O0lBQVIsVUFBUyxLQUFLOztZQUNOLFVBQVUsR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFDLEtBQUs7UUFDckMsSUFBSSxVQUFVLElBQUksSUFBSSxDQUFDLGdCQUFnQixDQUFDLFVBQVUsQ0FBQyxFQUFFO1lBQ25ELElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxrQkFBSyxJQUFJLENBQUMsS0FBSyxHQUFFLFVBQVUsR0FBRSxDQUFDO1lBQ25ELEtBQUssQ0FBQyxNQUFNLENBQUMsS0FBSyxHQUFHLEVBQUUsQ0FBQztTQUN6QjtJQUNILENBQUM7Ozs7O0lBRUQsNENBQWdCOzs7O0lBQWhCLFVBQWlCLFVBQVU7UUFDekIsSUFBSSxDQUFDLFVBQVUsR0FBRyxLQUFLLENBQUM7O1lBQ2xCLGdCQUFnQixHQUFHLFVBQVUsQ0FBQyxNQUFNO1FBQzFDLElBQ0UsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDO1lBQy9CLGdCQUFnQixHQUFHLElBQUksQ0FBQyxjQUFjO1lBQ3RDLGdCQUFnQixHQUFHLElBQUksQ0FBQyxjQUFjLEVBQ3RDO1lBQ0EsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUM7WUFDdkIsT0FBTyxLQUFLLENBQUM7U0FDZDtRQUNELE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQzs7OztJQUVELG1DQUFPOzs7SUFBUDtRQUNFLElBQUksQ0FBQyxVQUFVLEdBQUcsS0FBSyxDQUFDO0lBQzFCLENBQUM7Ozs7SUFFRCxtQ0FBTzs7O0lBQVA7UUFDRSxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3BCLENBQUM7Ozs7O0lBRUQsa0NBQU07Ozs7SUFBTixVQUFPLEtBQVU7UUFDZixJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3JCLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDbkIsQ0FBQzs7Z0JBbEVGLFNBQVMsU0FBQztvQkFDVCxRQUFRLEVBQUUsY0FBYztvQkFDeEIsOG1CQUFxQzs7aUJBRXRDOzs7d0JBRUUsS0FBSzt5QkFDTCxLQUFLOzJCQUNMLEtBQUs7d0JBQ0wsS0FBSzs0QkFDTCxLQUFLLFNBQUMsZ0JBQWdCOzRCQUN0QixLQUFLLFNBQUMsZ0JBQWdCOzhCQVV0QixNQUFNO3dCQUdOLE1BQU07dUJBQ04sTUFBTTs7SUEwQ1Qsd0JBQUM7Q0FBQSxBQW5FRCxJQW1FQztTQTlEWSxpQkFBaUI7OztJQUM1QixrQ0FBb0I7O0lBQ3BCLG1DQUFnQjs7SUFDaEIscUNBQTBCOztJQUMxQixrQ0FBdUI7O0lBQ3ZCLHNDQUF1Qzs7SUFDdkMsc0NBQXdDOztJQVV4Qyx3Q0FDaUM7O0lBRWpDLGtDQUFxQzs7SUFDckMsaUNBQW9DOztJQWVwQyx1Q0FBbUIiLCJzb3VyY2VzQ29udGVudCI6WyIvLyDnu4Tku7bnsbtcclxuaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogXCJycy10YWctaW5wdXRcIixcclxuICB0ZW1wbGF0ZVVybDogXCIuL2luZGV4LmNvbXBvbmVudC5odG1sXCIsXHJcbiAgc3R5bGVVcmxzOiBbXCIuL2luZGV4LmNvbXBvbmVudC5zY3NzXCJdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgVGFnSW5wdXRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gIEBJbnB1dCgpIHZhbHVlID0gW107XHJcbiAgQElucHV0KCkgZmllbGRzO1xyXG4gIEBJbnB1dCgpIGRpc2FibGVkID0gZmFsc2U7XHJcbiAgQElucHV0KCkgZXJyb3IgPSBmYWxzZTtcclxuICBASW5wdXQoXCJpbnB1dE1pbmxlbmd0aFwiKSBtaW5sZW5ndGggPSAzO1xyXG4gIEBJbnB1dChcImlucHV0TWF4bGVuZ3RoXCIpIG1heGxlbmd0aCA9IDMwO1xyXG5cclxuICBnZXQgaW5wdXRNaW5sZW5ndGgoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5taW5sZW5ndGggPT09IHVuZGVmaW5lZCA/IDMgOiB0aGlzLm1pbmxlbmd0aDtcclxuICB9XHJcblxyXG4gIGdldCBpbnB1dE1heGxlbmd0aCgpIHtcclxuICAgIHJldHVybiB0aGlzLm1pbmxlbmd0aCA9PT0gdW5kZWZpbmVkID8gMzAgOiB0aGlzLm1heGxlbmd0aDtcclxuICB9XHJcblxyXG4gIEBPdXRwdXQoKVxyXG4gIHZhbHVlQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG5cclxuICBAT3V0cHV0KCkgZm9jdXMgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgQE91dHB1dCgpIGJsdXIgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcblxyXG4gIG5nT25Jbml0KCkge31cclxuICBvblJlbW92ZVRhZyh0YWcpIHtcclxuICAgIGNvbnN0IHRhZ3NMaXN0ID0gdGhpcy52YWx1ZS5maWx0ZXIoKGkpID0+IGkgIT09IHRhZyk7XHJcbiAgICB0aGlzLnZhbHVlQ2hhbmdlLmVtaXQodGFnc0xpc3QpO1xyXG4gIH1cclxuXHJcbiAgb25BZGRUYWcoZXZlbnQpIHtcclxuICAgIGNvbnN0IGlucHV0VmFsdWUgPSBldmVudC50YXJnZXQudmFsdWU7XHJcbiAgICBpZiAoaW5wdXRWYWx1ZSAmJiB0aGlzLnZlcmlmeUlucHV0VmFsdWUoaW5wdXRWYWx1ZSkpIHtcclxuICAgICAgdGhpcy52YWx1ZUNoYW5nZS5lbWl0KFsuLi50aGlzLnZhbHVlLCBpbnB1dFZhbHVlXSk7XHJcbiAgICAgIGV2ZW50LnRhcmdldC52YWx1ZSA9IFwiXCI7XHJcbiAgICB9XHJcbiAgfVxyXG4gIGlucHV0RXJyb3IgPSBmYWxzZTtcclxuICB2ZXJpZnlJbnB1dFZhbHVlKGlucHV0VmFsdWUpIHtcclxuICAgIHRoaXMuaW5wdXRFcnJvciA9IGZhbHNlO1xyXG4gICAgY29uc3QgaW5wdXRWYWx1ZUxlbmd0aCA9IGlucHV0VmFsdWUubGVuZ3RoO1xyXG4gICAgaWYgKFxyXG4gICAgICB0aGlzLnZhbHVlLmluY2x1ZGVzKGlucHV0VmFsdWUpIHx8XHJcbiAgICAgIGlucHV0VmFsdWVMZW5ndGggPiB0aGlzLmlucHV0TWF4bGVuZ3RoIHx8XHJcbiAgICAgIGlucHV0VmFsdWVMZW5ndGggPCB0aGlzLmlucHV0TWlubGVuZ3RoXHJcbiAgICApIHtcclxuICAgICAgdGhpcy5pbnB1dEVycm9yID0gdHJ1ZTtcclxuICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHRydWU7XHJcbiAgfVxyXG5cclxuICBvbklucHV0KCkge1xyXG4gICAgdGhpcy5pbnB1dEVycm9yID0gZmFsc2U7XHJcbiAgfVxyXG5cclxuICBvbkZvY3VzKCkge1xyXG4gICAgdGhpcy5mb2N1cy5lbWl0KCk7XHJcbiAgfVxyXG5cclxuICBvbkJsdXIoZXZlbnQ6IGFueSkge1xyXG4gICAgdGhpcy5vbkFkZFRhZyhldmVudCk7XHJcbiAgICB0aGlzLmJsdXIuZW1pdCgpO1xyXG4gIH1cclxufVxyXG4iXX0=
182
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vcmFpc2UtY29tbW9uLWxpYi8iLCJzb3VyY2VzIjpbImxpYi9mb3JtL3RhZy1pbnB1dC9pbmRleC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUNBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFL0U7SUFBQTtRQU1XLFVBQUssR0FBRyxFQUFFLENBQUM7UUFFWCxhQUFRLEdBQUcsS0FBSyxDQUFDO1FBQ2pCLFVBQUssR0FBRyxLQUFLLENBQUM7UUFDRSxjQUFTLEdBQUcsQ0FBQyxDQUFDO1FBQ2QsY0FBUyxHQUFHLEVBQUUsQ0FBQztRQVd4QyxnQkFBVyxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFFdkIsVUFBSyxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFDM0IsU0FBSSxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFDMUIsVUFBSyxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFnQnJDLGVBQVUsR0FBRyxLQUFLLENBQUM7SUEyQnJCLENBQUM7SUF4REMsc0JBQUksNkNBQWM7Ozs7UUFBbEI7WUFDRSxPQUFPLElBQUksQ0FBQyxTQUFTLEtBQUssU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUM7UUFDM0QsQ0FBQzs7O09BQUE7SUFFRCxzQkFBSSw2Q0FBYzs7OztRQUFsQjtZQUNFLE9BQU8sSUFBSSxDQUFDLFNBQVMsS0FBSyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQztRQUM1RCxDQUFDOzs7T0FBQTs7OztJQVNELG9DQUFROzs7SUFBUixjQUFZLENBQUM7Ozs7O0lBQ2IsdUNBQVc7Ozs7SUFBWCxVQUFZLEdBQUc7O1lBQ1AsUUFBUSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTTs7OztRQUFDLFVBQUMsQ0FBQyxJQUFLLE9BQUEsQ0FBQyxLQUFLLEdBQUcsRUFBVCxDQUFTLEVBQUM7UUFDcEQsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDbEMsQ0FBQzs7Ozs7O0lBRUQsb0NBQVE7Ozs7O0lBQVIsVUFBUyxLQUFLLEVBQUUsSUFBSzs7WUFDYixVQUFVLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FBQyxLQUFLO1FBQ3JDLElBQUksVUFBVSxJQUFJLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxVQUFVLENBQUMsRUFBRTtZQUNuRCxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksa0JBQUssSUFBSSxDQUFDLEtBQUssR0FBRSxVQUFVLEdBQUUsQ0FBQztZQUNuRCxLQUFLLENBQUMsTUFBTSxDQUFDLEtBQUssR0FBRyxFQUFFLENBQUM7U0FDekI7UUFDRCxJQUFJLENBQUMsSUFBSTtZQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3BDLENBQUM7Ozs7O0lBRUQsNENBQWdCOzs7O0lBQWhCLFVBQWlCLFVBQVU7UUFDekIsSUFBSSxDQUFDLFVBQVUsR0FBRyxLQUFLLENBQUM7O1lBQ2xCLGdCQUFnQixHQUFHLFVBQVUsQ0FBQyxNQUFNO1FBQzFDLElBQ0UsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDO1lBQy9CLGdCQUFnQixHQUFHLElBQUksQ0FBQyxjQUFjO1lBQ3RDLGdCQUFnQixHQUFHLElBQUksQ0FBQyxjQUFjLEVBQ3RDO1lBQ0EsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUM7WUFDdkIsT0FBTyxLQUFLLENBQUM7U0FDZDtRQUNELE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQzs7OztJQUVELG1DQUFPOzs7SUFBUDtRQUNFLElBQUksQ0FBQyxVQUFVLEdBQUcsS0FBSyxDQUFDO0lBQzFCLENBQUM7Ozs7SUFFRCxtQ0FBTzs7O0lBQVA7UUFDRSxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3BCLENBQUM7Ozs7O0lBRUQsa0NBQU07Ozs7SUFBTixVQUFPLEtBQVU7UUFDZixJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssRUFBRSxNQUFNLENBQUMsQ0FBQztRQUM3QixJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ25CLENBQUM7O2dCQXBFRixTQUFTLFNBQUM7b0JBQ1QsUUFBUSxFQUFFLGNBQWM7b0JBQ3hCLDhtQkFBcUM7O2lCQUV0Qzs7O3dCQUVFLEtBQUs7eUJBQ0wsS0FBSzsyQkFDTCxLQUFLO3dCQUNMLEtBQUs7NEJBQ0wsS0FBSyxTQUFDLGdCQUFnQjs0QkFDdEIsS0FBSyxTQUFDLGdCQUFnQjs4QkFVdEIsTUFBTTt3QkFHTixNQUFNO3VCQUNOLE1BQU07d0JBQ04sTUFBTTs7SUEyQ1Qsd0JBQUM7Q0FBQSxBQXJFRCxJQXFFQztTQWhFWSxpQkFBaUI7OztJQUM1QixrQ0FBb0I7O0lBQ3BCLG1DQUFnQjs7SUFDaEIscUNBQTBCOztJQUMxQixrQ0FBdUI7O0lBQ3ZCLHNDQUF1Qzs7SUFDdkMsc0NBQXdDOztJQVV4Qyx3Q0FDaUM7O0lBRWpDLGtDQUFxQzs7SUFDckMsaUNBQW9DOztJQUNwQyxrQ0FBcUM7O0lBZ0JyQyx1Q0FBbUIiLCJzb3VyY2VzQ29udGVudCI6WyIvLyDnu4Tku7bnsbtcclxuaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogXCJycy10YWctaW5wdXRcIixcclxuICB0ZW1wbGF0ZVVybDogXCIuL2luZGV4LmNvbXBvbmVudC5odG1sXCIsXHJcbiAgc3R5bGVVcmxzOiBbXCIuL2luZGV4LmNvbXBvbmVudC5zY3NzXCJdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgVGFnSW5wdXRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gIEBJbnB1dCgpIHZhbHVlID0gW107XHJcbiAgQElucHV0KCkgZmllbGRzO1xyXG4gIEBJbnB1dCgpIGRpc2FibGVkID0gZmFsc2U7XHJcbiAgQElucHV0KCkgZXJyb3IgPSBmYWxzZTtcclxuICBASW5wdXQoXCJpbnB1dE1pbmxlbmd0aFwiKSBtaW5sZW5ndGggPSAzO1xyXG4gIEBJbnB1dChcImlucHV0TWF4bGVuZ3RoXCIpIG1heGxlbmd0aCA9IDMwO1xyXG5cclxuICBnZXQgaW5wdXRNaW5sZW5ndGgoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5taW5sZW5ndGggPT09IHVuZGVmaW5lZCA/IDMgOiB0aGlzLm1pbmxlbmd0aDtcclxuICB9XHJcblxyXG4gIGdldCBpbnB1dE1heGxlbmd0aCgpIHtcclxuICAgIHJldHVybiB0aGlzLm1pbmxlbmd0aCA9PT0gdW5kZWZpbmVkID8gMzAgOiB0aGlzLm1heGxlbmd0aDtcclxuICB9XHJcblxyXG4gIEBPdXRwdXQoKVxyXG4gIHZhbHVlQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG5cclxuICBAT3V0cHV0KCkgZm9jdXMgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgQE91dHB1dCgpIGJsdXIgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgQE91dHB1dCgpIGtleXVwID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG5cclxuICBuZ09uSW5pdCgpIHt9XHJcbiAgb25SZW1vdmVUYWcodGFnKSB7XHJcbiAgICBjb25zdCB0YWdzTGlzdCA9IHRoaXMudmFsdWUuZmlsdGVyKChpKSA9PiBpICE9PSB0YWcpO1xyXG4gICAgdGhpcy52YWx1ZUNoYW5nZS5lbWl0KHRhZ3NMaXN0KTtcclxuICB9XHJcblxyXG4gIG9uQWRkVGFnKGV2ZW50LCB0eXBlPykge1xyXG4gICAgY29uc3QgaW5wdXRWYWx1ZSA9IGV2ZW50LnRhcmdldC52YWx1ZTtcclxuICAgIGlmIChpbnB1dFZhbHVlICYmIHRoaXMudmVyaWZ5SW5wdXRWYWx1ZShpbnB1dFZhbHVlKSkge1xyXG4gICAgICB0aGlzLnZhbHVlQ2hhbmdlLmVtaXQoWy4uLnRoaXMudmFsdWUsIGlucHV0VmFsdWVdKTtcclxuICAgICAgZXZlbnQudGFyZ2V0LnZhbHVlID0gXCJcIjtcclxuICAgIH1cclxuICAgIGlmICghdHlwZSkgdGhpcy5rZXl1cC5lbWl0KGV2ZW50KTtcclxuICB9XHJcbiAgaW5wdXRFcnJvciA9IGZhbHNlO1xyXG4gIHZlcmlmeUlucHV0VmFsdWUoaW5wdXRWYWx1ZSkge1xyXG4gICAgdGhpcy5pbnB1dEVycm9yID0gZmFsc2U7XHJcbiAgICBjb25zdCBpbnB1dFZhbHVlTGVuZ3RoID0gaW5wdXRWYWx1ZS5sZW5ndGg7XHJcbiAgICBpZiAoXHJcbiAgICAgIHRoaXMudmFsdWUuaW5jbHVkZXMoaW5wdXRWYWx1ZSkgfHxcclxuICAgICAgaW5wdXRWYWx1ZUxlbmd0aCA+IHRoaXMuaW5wdXRNYXhsZW5ndGggfHxcclxuICAgICAgaW5wdXRWYWx1ZUxlbmd0aCA8IHRoaXMuaW5wdXRNaW5sZW5ndGhcclxuICAgICkge1xyXG4gICAgICB0aGlzLmlucHV0RXJyb3IgPSB0cnVlO1xyXG4gICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gdHJ1ZTtcclxuICB9XHJcblxyXG4gIG9uSW5wdXQoKSB7XHJcbiAgICB0aGlzLmlucHV0RXJyb3IgPSBmYWxzZTtcclxuICB9XHJcblxyXG4gIG9uRm9jdXMoKSB7XHJcbiAgICB0aGlzLmZvY3VzLmVtaXQoKTtcclxuICB9XHJcblxyXG4gIG9uQmx1cihldmVudDogYW55KSB7XHJcbiAgICB0aGlzLm9uQWRkVGFnKGV2ZW50LCBcImJsdXJcIik7XHJcbiAgICB0aGlzLmJsdXIuZW1pdCgpO1xyXG4gIH1cclxufVxyXG4iXX0=
@@ -6,27 +6,16 @@
6
6
  import * as tslib_1 from "tslib";
7
7
  import { Component, ViewChild, ViewContainerRef, ComponentFactoryResolver, ElementRef, ChangeDetectorRef, } from "@angular/core";
8
8
  import { DefaultDrawerConfig, DrawerService, } from "../../service/drawer.service";
9
- import { StaticResourceService } from "../../service/static-resource.service";
10
9
  var DrawerComponent = /** @class */ (function () {
11
- function DrawerComponent(resolver, service, ref, staticResourceService) {
12
- var _this = this;
10
+ function DrawerComponent(resolver, service, ref) {
13
11
  this.resolver = resolver;
14
12
  this.service = service;
15
13
  this.ref = ref;
16
- this.staticResourceService = staticResourceService;
17
14
  this.config = DefaultDrawerConfig;
18
15
  this.useAnimation = "yes";
19
16
  this.isOpened = false;
20
17
  this.hiddenDrawer = true;
21
- this.backImage = null;
22
18
  this.componentRefMap = new Map();
23
- staticResourceService.load("/assets/img/drawer-back.svg", (/**
24
- * @param {?} result
25
- * @return {?}
26
- */
27
- function (result) {
28
- _this.backImage = result;
29
- }));
30
19
  }
31
20
  /**
32
21
  * @private
@@ -361,16 +350,15 @@ var DrawerComponent = /** @class */ (function () {
361
350
  DrawerComponent.decorators = [
362
351
  { type: Component, args: [{
363
352
  selector: "rs-drawer",
364
- template: "<div #element id=\"rs-drawer-container\" class=\"rs-drawer-container\">\r\n <div class=\"rs-drawer-content\">\r\n <ng-content></ng-content>\r\n </div>\r\n <div\r\n #drawer\r\n class=\"rs-drawer\"\r\n [attr.data-mode]=\"config.mode\"\r\n [attr.data-opened]=\"isOpened ? 'yes' : 'no'\"\r\n [attr.data-animation]=\"useAnimation\"\r\n [hidden]=\"hiddenDrawer\"\r\n (animationend)=\"onAnimationEnd()\"\r\n >\r\n <div class=\"drawer-header\" #header>\r\n <button class=\"drawer-return-button\" (click)=\"hide()\">\r\n <img [src]=\"backImage\" alt=\"back\" />\r\n <span class=\"drawer-sub-title\" *ngIf=\"config.subTitle\">\r\n {{ config.subTitle }}\r\n </span>\r\n </button>\r\n <div class=\"drawer-title\">{{ config.title }}</div>\r\n <div class=\"drawer-header-slot\" #headerSlot></div>\r\n </div>\r\n <div class=\"drawer-top-slot\" #topSlot></div>\r\n <div class=\"drawer-content-box\">\r\n <div class=\"drawer-content\" #content>\r\n <div class=\"drawer-content-container\">\r\n <ng-template #dynamicComponentContainer></ng-template>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"drawer-toolbar-slot\" #toolbarSlot></div>\r\n </div>\r\n</div>\r\n",
365
- styles: [":host{display:block;height:100%}#rs-drawer-container{height:100%}.rs-drawer-container{height:100%;background-color:transparent;overflow:hidden;position:relative}.rs-drawer-container .rs-drawer-content{width:100%;height:100%;overflow:auto;margin-right:0!important}.rs-drawer-container .rs-drawer{width:100%;height:100%;border-left:none;background-color:transparent;overflow:visible;pointer-events:none;opacity:0;display:flex;flex-flow:column nowrap;position:absolute;z-index:2;top:0;left:100%}.rs-drawer-container .rs-drawer[data-opened=yes]{left:0;opacity:1}.rs-drawer-container .rs-drawer[data-animation=yes][data-opened=yes]{-webkit-animation:.5s ease-in-out drawer-open;animation:.5s ease-in-out drawer-open}@-webkit-keyframes drawer-open{from{left:100%;opacity:0}to{left:0;opacity:1}}@keyframes drawer-open{from{left:100%;opacity:0}to{left:0;opacity:1}}.rs-drawer-container .rs-drawer[data-animation=yes][data-opened=no]{-webkit-animation:.5s ease-in-out drawer-close;animation:.5s ease-in-out drawer-close}@-webkit-keyframes drawer-close{from{left:0;opacity:1}to{left:100%;opacity:0}}@keyframes drawer-close{from{left:0;opacity:1}to{left:100%;opacity:0}}.rs-drawer-container .rs-drawer[hidden]{display:none}.rs-drawer-container .rs-drawer .drawer-header{flex:none;display:flex;flex-flow:row nowrap;justify-content:flex-start;align-items:center;box-sizing:content-box;pointer-events:auto}.rs-drawer-container .rs-drawer .drawer-header .drawer-return-button{flex:none;display:flex;flex-flow:row nowrap;align-items:center;padding:0;border:none;background-color:transparent;cursor:pointer}.rs-drawer-container .rs-drawer .drawer-header .drawer-return-button img{width:24px;height:24px;margin-right:8px;transition:transform 125ms ease-in-out}.rs-drawer-container .rs-drawer .drawer-header .drawer-return-button:hover img{transform:translateX(-2px)}.rs-drawer-container .rs-drawer .drawer-header .drawer-return-button .drawer-sub-title{margin-right:12px;font-family:Arial;font-style:normal;font-weight:400}.rs-drawer-container .rs-drawer .drawer-header .drawer-title{flex:none;min-height:14px;padding:0 12px;border-left:1px solid #bdc4ca;font-family:Arial;font-style:normal;font-weight:400}.rs-drawer-container .rs-drawer .drawer-header .drawer-title:empty{padding:0}.rs-drawer-container .rs-drawer .drawer-content-box{flex:auto;height:0;background-color:#f7fafb;pointer-events:auto}.rs-drawer-container .rs-drawer .drawer-content{height:100%;padding:0 20px;border:1px solid #ebedf0;border-radius:15px;background-color:#fff;display:flex;flex-flow:column nowrap}.rs-drawer-container .rs-drawer .drawer-content .drawer-content-container{flex:auto;overflow:hidden auto}.rs-drawer-container .rs-drawer .drawer-toolbar-slot{flex:none;height:32px;margin-left:auto;display:flex;flex-flow:row nowrap;justify-content:flex-end;align-items:center;pointer-events:auto}.rs-drawer-container .rs-drawer .drawer-toolbar-slot:empty{display:none}.rs-drawer-container .rs-drawer .drawer-top-slot{flex:none;pointer-events:auto}.rs-drawer-container .rs-drawer .drawer-top-slot:empty{height:var(--drawer-top,0);pointer-events:none}.rs-drawer-container .rs-drawer[data-mode=outer] .drawer-header{height:46px;padding:0 12px 0 8px;background-color:#f7fafb}.rs-drawer-container .rs-drawer[data-mode=outer] .drawer-header .drawer-sub-title,.rs-drawer-container .rs-drawer[data-mode=outer] .drawer-header .drawer-title{color:#1f3f5c;font-size:15px;font-weight:700;line-height:18px}.rs-drawer-container .rs-drawer[data-mode=outer] .drawer-content{padding-bottom:20px}.rs-drawer-container .rs-drawer[data-mode=outer] .drawer-content .drawer-content-container{margin-right:-20px;padding-right:20px}.rs-drawer-container .rs-drawer[data-mode=inner] .drawer-top-slot:empty+.drawer-content-box{padding-top:calc((var(--drawer-top,0) + 1) * 16px)}.rs-drawer-container .rs-drawer[data-mode=inner] .drawer-header{height:24px;padding:6px 0;border-bottom:1px solid #eaedf0}.rs-drawer-container .rs-drawer[data-mode=inner] .drawer-header .drawer-sub-title,.rs-drawer-container .rs-drawer[data-mode=inner] .drawer-header .drawer-title{color:#44566c;font-size:12px;line-height:14px}.rs-drawer-container .rs-drawer[data-mode=inner] .drawer-header .drawer-title{font-weight:700}.rs-drawer-container .rs-drawer[data-mode=inner] .drawer-content .drawer-content-container{margin-right:-20px;padding-right:20px;padding-left:8px}.rs-drawer-container .rs-drawer[data-mode=inner] .drawer-toolbar-slot{width:100%;padding:16px 0;box-sizing:content-box;border-top:1px solid #eaedf0}::ng-deep .rs-drawer-container .rs-drawer .drawer-toolbar-slot [drawer-toolbar]{display:flex;flex-flow:row nowrap;justify-content:flex-end;align-items:center;gap:12px}::ng-deep .rs-drawer-container .rs-drawer .drawer-toolbar-slot [drawer-toolbar] button{display:flex;flex-flow:row nowrap;justify-content:center;align-items:center;gap:6px;min-width:80px;height:32px;padding:0 12px;border:1px solid #adb5bd;border-radius:4px;background-color:#fff;cursor:pointer;color:#44566c;font-size:13px;font-family:Arial;font-style:normal;font-weight:400;line-height:16px}::ng-deep .rs-drawer-container .rs-drawer .drawer-toolbar-slot [drawer-toolbar] button:hover{border-color:#6c7c90}::ng-deep .rs-drawer-container .rs-drawer .drawer-toolbar-slot [drawer-toolbar] button:disabled{opacity:1!important;border-color:#6c7c9066;color:#44566c66;cursor:unset}::ng-deep .rs-drawer-container .rs-drawer .drawer-toolbar-slot [drawer-toolbar] button.primary{border:none;background-color:#1364b3;color:#fff}::ng-deep .rs-drawer-container .rs-drawer .drawer-toolbar-slot [drawer-toolbar] button.primary:hover{background-color:#176bca}::ng-deep .rs-drawer-container .rs-drawer .drawer-toolbar-slot [drawer-toolbar] button.primary:disabled{background-color:#1364b366}::ng-deep .rs-drawer-container .rs-drawer .drawer-toolbar-slot [drawer-toolbar] button img{width:16px;height:16px}::ng-deep .rs-drawer-container .rs-drawer[data-mode=outer] .drawer-toolbar-slot [drawer-toolbar] button{height:26px;font-size:12px;line-height:14px}::ng-deep .rs-drawer-container .rs-drawer[data-mode=inner] .drawer-toolbar-slot [drawer-toolbar] button img{display:none}"]
353
+ template: "<div #element id=\"rs-drawer-container\" class=\"rs-drawer-container\">\r\n <div class=\"rs-drawer-content\">\r\n <ng-content></ng-content>\r\n </div>\r\n <div\r\n #drawer\r\n class=\"rs-drawer\"\r\n [attr.data-mode]=\"config.mode\"\r\n [attr.data-opened]=\"isOpened ? 'yes' : 'no'\"\r\n [attr.data-animation]=\"useAnimation\"\r\n [hidden]=\"hiddenDrawer\"\r\n (animationend)=\"onAnimationEnd()\"\r\n >\r\n <div class=\"drawer-header\" #header>\r\n <button class=\"drawer-return-button\" (click)=\"hide()\">\r\n <span class=\"drawer-sub-title\" *ngIf=\"config.subTitle\">\r\n {{ config.subTitle }}\r\n </span>\r\n </button>\r\n <div class=\"drawer-title\">{{ config.title }}</div>\r\n <div class=\"drawer-header-slot\" #headerSlot></div>\r\n </div>\r\n <div class=\"drawer-top-slot\" #topSlot></div>\r\n <div class=\"drawer-content-box\">\r\n <div class=\"drawer-content\" #content>\r\n <div class=\"drawer-content-container\">\r\n <ng-template #dynamicComponentContainer></ng-template>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"drawer-toolbar-slot\" #toolbarSlot></div>\r\n </div>\r\n</div>\r\n",
354
+ styles: [":host{display:block;height:100%}#rs-drawer-container{height:100%}.rs-drawer-container{height:100%;background-color:transparent;overflow:hidden;position:relative}.rs-drawer-container .rs-drawer-content{width:100%;height:100%;overflow:auto;margin-right:0!important}.rs-drawer-container .rs-drawer{width:100%;height:100%;border-left:none;background-color:transparent;overflow:visible;pointer-events:none;opacity:0;display:flex;flex-flow:column nowrap;position:absolute;z-index:2;top:0;left:100%}.rs-drawer-container .rs-drawer[data-opened=yes]{left:0;opacity:1}.rs-drawer-container .rs-drawer[data-animation=yes][data-opened=yes]{-webkit-animation:.5s ease-in-out drawer-open;animation:.5s ease-in-out drawer-open}@-webkit-keyframes drawer-open{from{left:100%;opacity:0}to{left:0;opacity:1}}@keyframes drawer-open{from{left:100%;opacity:0}to{left:0;opacity:1}}.rs-drawer-container .rs-drawer[data-animation=yes][data-opened=no]{-webkit-animation:.5s ease-in-out drawer-close;animation:.5s ease-in-out drawer-close}@-webkit-keyframes drawer-close{from{left:0;opacity:1}to{left:100%;opacity:0}}@keyframes drawer-close{from{left:0;opacity:1}to{left:100%;opacity:0}}.rs-drawer-container .rs-drawer[hidden]{display:none}.rs-drawer-container .rs-drawer .drawer-header{flex:none;display:flex;flex-flow:row nowrap;justify-content:flex-start;align-items:center;box-sizing:content-box;pointer-events:auto}.rs-drawer-container .rs-drawer .drawer-header .drawer-return-button{flex:none;display:flex;flex-flow:row nowrap;align-items:center;padding:0;border:none;background-color:transparent;cursor:pointer}.rs-drawer-container .rs-drawer .drawer-header .drawer-return-button::before{content:url(\"data:image/svg+xml;charset=utf-8;base64,PHN2ZyB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTEyIDE4TDcuNTQ5ODYgMTJMMTIgNiIgc3Ryb2tlPSIjNkM3QzkwIiBzdHJva2UtbGluZWNhcD0icm91bmQiLz4KPHBhdGggZD0iTTE3LjQyNyAxMi41QzE3LjcwMzEgMTIuNSAxNy45MjcgMTIuMjc2MSAxNy45MjcgMTJDMTcuOTI3IDExLjcyMzkgMTcuNzAzMSAxMS41IDE3LjQyNyAxMS41TDE3LjQyNyAxMi41Wk03LjM5ODkzIDEyLjVMMTcuNDI3IDEyLjVMMTcuNDI3IDExLjVMNy4zOTg5MyAxMS41TDcuMzk4OTMgMTIuNVoiIGZpbGw9IiM2QzdDOTAiLz4KPC9zdmc+Cg==\");width:24px;height:24px;margin-right:8px;transition:transform 125ms ease-in-out}.rs-drawer-container .rs-drawer .drawer-header .drawer-return-button:hover::before{transform:translateX(-2px)}.rs-drawer-container .rs-drawer .drawer-header .drawer-return-button .drawer-sub-title{margin-right:12px;font-family:Arial;font-style:normal;font-weight:400}.rs-drawer-container .rs-drawer .drawer-header .drawer-title{flex:none;min-height:14px;padding:0 12px;border-left:1px solid #bdc4ca;font-family:Arial;font-style:normal;font-weight:400}.rs-drawer-container .rs-drawer .drawer-header .drawer-title:empty{padding:0}.rs-drawer-container .rs-drawer .drawer-content-box{flex:auto;height:0;background-color:#f7fafb;pointer-events:auto}.rs-drawer-container .rs-drawer .drawer-content{height:100%;padding:0 20px;border:1px solid #ebedf0;border-radius:15px;background-color:#fff;display:flex;flex-flow:column nowrap}.rs-drawer-container .rs-drawer .drawer-content .drawer-content-container{flex:auto;overflow:hidden auto}.rs-drawer-container .rs-drawer .drawer-toolbar-slot{flex:none;height:32px;margin-left:auto;display:flex;flex-flow:row nowrap;justify-content:flex-end;align-items:center;pointer-events:auto}.rs-drawer-container .rs-drawer .drawer-toolbar-slot:empty{display:none}.rs-drawer-container .rs-drawer .drawer-top-slot{flex:none;pointer-events:auto}.rs-drawer-container .rs-drawer .drawer-top-slot:empty{height:var(--drawer-top,0);pointer-events:none}.rs-drawer-container .rs-drawer[data-mode=outer] .drawer-header{height:46px;padding:0 12px 0 8px;background-color:#f7fafb}.rs-drawer-container .rs-drawer[data-mode=outer] .drawer-header .drawer-sub-title,.rs-drawer-container .rs-drawer[data-mode=outer] .drawer-header .drawer-title{color:#1f3f5c;font-size:15px;font-weight:700;line-height:18px}.rs-drawer-container .rs-drawer[data-mode=outer] .drawer-content{padding-bottom:20px}.rs-drawer-container .rs-drawer[data-mode=outer] .drawer-content .drawer-content-container{margin-right:-20px;padding-right:20px}.rs-drawer-container .rs-drawer[data-mode=inner] .drawer-top-slot:empty+.drawer-content-box{padding-top:calc((var(--drawer-top,0) + 1) * 16px)}.rs-drawer-container .rs-drawer[data-mode=inner] .drawer-header{height:24px;padding:6px 0;border-bottom:1px solid #eaedf0}.rs-drawer-container .rs-drawer[data-mode=inner] .drawer-header .drawer-sub-title,.rs-drawer-container .rs-drawer[data-mode=inner] .drawer-header .drawer-title{color:#44566c;font-size:12px;line-height:14px}.rs-drawer-container .rs-drawer[data-mode=inner] .drawer-header .drawer-title{font-weight:700}.rs-drawer-container .rs-drawer[data-mode=inner] .drawer-content .drawer-content-container{margin-right:-20px;padding-right:20px;padding-left:8px}.rs-drawer-container .rs-drawer[data-mode=inner] .drawer-toolbar-slot{width:100%;padding:16px 0;box-sizing:content-box;border-top:1px solid #eaedf0}::ng-deep .rs-drawer-container .rs-drawer .drawer-toolbar-slot [drawer-toolbar]{display:flex;flex-flow:row nowrap;justify-content:flex-end;align-items:center;gap:12px}::ng-deep .rs-drawer-container .rs-drawer .drawer-toolbar-slot [drawer-toolbar] button{display:flex;flex-flow:row nowrap;justify-content:center;align-items:center;gap:6px;min-width:80px;height:32px;padding:0 12px;border:1px solid #adb5bd;border-radius:4px;background-color:#fff;cursor:pointer;color:#44566c;font-size:13px;font-family:Arial;font-style:normal;font-weight:400;line-height:16px}::ng-deep .rs-drawer-container .rs-drawer .drawer-toolbar-slot [drawer-toolbar] button:hover{border-color:#6c7c90}::ng-deep .rs-drawer-container .rs-drawer .drawer-toolbar-slot [drawer-toolbar] button:disabled{opacity:1!important;border-color:#6c7c9066;color:#44566c66;cursor:unset}::ng-deep .rs-drawer-container .rs-drawer .drawer-toolbar-slot [drawer-toolbar] button.primary{border:none;background-color:#1364b3;color:#fff}::ng-deep .rs-drawer-container .rs-drawer .drawer-toolbar-slot [drawer-toolbar] button.primary:hover{background-color:#176bca}::ng-deep .rs-drawer-container .rs-drawer .drawer-toolbar-slot [drawer-toolbar] button.primary:disabled{background-color:#1364b366}::ng-deep .rs-drawer-container .rs-drawer .drawer-toolbar-slot [drawer-toolbar] button img{width:16px;height:16px}::ng-deep .rs-drawer-container .rs-drawer[data-mode=outer] .drawer-toolbar-slot [drawer-toolbar] button{height:26px;font-size:12px;line-height:14px}::ng-deep .rs-drawer-container .rs-drawer[data-mode=inner] .drawer-toolbar-slot [drawer-toolbar] button img{display:none}"]
366
355
  }] }
367
356
  ];
368
357
  /** @nocollapse */
369
358
  DrawerComponent.ctorParameters = function () { return [
370
359
  { type: ComponentFactoryResolver },
371
360
  { type: DrawerService },
372
- { type: ChangeDetectorRef },
373
- { type: StaticResourceService }
361
+ { type: ChangeDetectorRef }
374
362
  ]; };
375
363
  DrawerComponent.propDecorators = {
376
364
  element: [{ type: ViewChild, args: ["element", { static: false },] }],
@@ -416,8 +404,6 @@ if (false) {
416
404
  DrawerComponent.prototype.isOpened;
417
405
  /** @type {?} */
418
406
  DrawerComponent.prototype.hiddenDrawer;
419
- /** @type {?} */
420
- DrawerComponent.prototype.backImage;
421
407
  /**
422
408
  * @type {?}
423
409
  * @private
@@ -438,10 +424,5 @@ if (false) {
438
424
  * @private
439
425
  */
440
426
  DrawerComponent.prototype.ref;
441
- /**
442
- * @type {?}
443
- * @private
444
- */
445
- DrawerComponent.prototype.staticResourceService;
446
427
  }
447
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vcmFpc2UtY29tbW9uLWxpYi8iLCJzb3VyY2VzIjpbImxpYi9sYXlvdXQvZHJhd2VyL2luZGV4LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULFNBQVMsRUFDVCxnQkFBZ0IsRUFDaEIsd0JBQXdCLEVBRXhCLFVBQVUsRUFDVixpQkFBaUIsR0FDbEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUVMLG1CQUFtQixFQUNuQixhQUFhLEdBQ2QsTUFBTSw4QkFBOEIsQ0FBQztBQUN0QyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQVU5RTtJQStCRSx5QkFDVSxRQUFrQyxFQUNsQyxPQUFzQixFQUN0QixHQUFzQixFQUN0QixxQkFBNEM7UUFKdEQsaUJBU0M7UUFSUyxhQUFRLEdBQVIsUUFBUSxDQUEwQjtRQUNsQyxZQUFPLEdBQVAsT0FBTyxDQUFlO1FBQ3RCLFFBQUcsR0FBSCxHQUFHLENBQW1CO1FBQ3RCLDBCQUFxQixHQUFyQixxQkFBcUIsQ0FBdUI7UUFadEQsV0FBTSxHQUFpQixtQkFBbUIsQ0FBQztRQUMzQyxpQkFBWSxHQUFpQixLQUFLLENBQUM7UUFDbkMsYUFBUSxHQUFHLEtBQUssQ0FBQztRQUNqQixpQkFBWSxHQUFHLElBQUksQ0FBQztRQUNwQixjQUFTLEdBQUcsSUFBSSxDQUFDO1FBRVQsb0JBQWUsR0FBRyxJQUFJLEdBQUcsRUFBa0MsQ0FBQztRQVFsRSxxQkFBcUIsQ0FBQyxJQUFJLENBQUMsNkJBQTZCOzs7O1FBQUUsVUFBQyxNQUFNO1lBQy9ELEtBQUksQ0FBQyxTQUFTLEdBQUcsTUFBTSxDQUFDO1FBQzFCLENBQUMsRUFBQyxDQUFDO0lBQ0wsQ0FBQzs7Ozs7O0lBRU8sZ0RBQXNCOzs7OztJQUE5QixVQUErQixTQUFzQzs7O1lBRTdELE9BQU8sR0FBRyxJQUFJLENB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aWxkLFxyXG4gIFZpZXdDb250YWluZXJSZWYsXHJcbiAgQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyLFxyXG4gIENvbXBvbmVudFJlZixcclxuICBFbGVtZW50UmVmLFxyXG4gIENoYW5nZURldGVjdG9yUmVmLFxyXG59IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7XHJcbiAgRHJhd2VyQ29uZmlnLFxyXG4gIERlZmF1bHREcmF3ZXJDb25maWcsXHJcbiAgRHJhd2VyU2VydmljZSxcclxufSBmcm9tIFwiLi4vLi4vc2VydmljZS9kcmF3ZXIuc2VydmljZVwiO1xyXG5pbXBvcnQgeyBTdGF0aWNSZXNvdXJjZVNlcnZpY2UgfSBmcm9tIFwiLi4vLi4vc2VydmljZS9zdGF0aWMtcmVzb3VyY2Uuc2VydmljZVwiO1xyXG5cclxudHlwZSBEcmF3ZXJDb21wb25lbnRDYWNoZSA9IHtcclxuICByZWY6IENvbXBvbmVudFJlZjxhbnk+O1xyXG4gIGNvbmZpZzogRHJhd2VyQ29uZmlnO1xyXG4gIHRvb2xiYXJFbDogSFRNTEVsZW1lbnQ7XHJcbiAgaGVhZGVyRWw6IEhUTUxFbGVtZW50O1xyXG4gIHRvcEVsOiBIVE1MRWxlbWVudDtcclxufTtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiBcInJzLWRyYXdlclwiLFxyXG4gIHRlbXBsYXRlVXJsOiBcIi4vaW5kZXguY29tcG9uZW50Lmh0bWxcIixcclxuICBzdHlsZVVybHM6IFtcIi4vaW5kZXguY29tcG9uZW50LnNjc3NcIl0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBEcmF3ZXJDb21wb25lbnQge1xyXG4gIEBWaWV3Q2hpbGQoXCJlbGVtZW50XCIsIHsgc3RhdGljOiBmYWxzZSB9KSBlbGVtZW50OiBFbGVtZW50UmVmPEhUTUxEaXZFbGVtZW50PjtcclxuICBAVmlld0NoaWxkKFwiZHJhd2VyXCIsIHsgc3RhdGljOiBmYWxzZSB9KSBkcmF3ZXI6IEVsZW1lbnRSZWY8SFRNTERpdkVsZW1lbnQ+O1xyXG4gIEBWaWV3Q2hpbGQoXCJoZWFkZXJcIiwgeyBzdGF0aWM6IGZhbHNlIH0pIGhlYWRlcjogRWxlbWVudFJlZjxIVE1MRGl2RWxlbWVudD47XHJcbiAgQFZpZXdDaGlsZChcImNvbnRlbnRcIiwgeyBzdGF0aWM6IGZhbHNlIH0pIGNvbnRlbnQ6IEVsZW1lbnRSZWY8SFRNTERpdkVsZW1lbnQ+O1xyXG5cclxuICBAVmlld0NoaWxkKFwidG9vbGJhclNsb3RcIiwgeyBzdGF0aWM6IGZhbHNlIH0pXHJcbiAgdG9vbGJhclNsb3Q6IEVsZW1lbnRSZWY8SFRNTERpdkVsZW1lbnQ+O1xyXG4gIEBWaWV3Q2hpbGQoXCJoZWFkZXJTbG90XCIsIHsgc3RhdGljOiBmYWxzZSB9KVxyXG4gIGhlYWRlclNsb3Q6IEVsZW1lbnRSZWY8SFRNTERpdkVsZW1lbnQ+O1xyXG4gIEBWaWV3Q2hpbGQoXCJ0b3BTbG90XCIsIHsgc3RhdGljOiBmYWxzZSB9KSB0b3BTbG90OiBFbGVtZW50UmVmPEhUTUxEaXZFbGVtZW50PjtcclxuXHJcbiAgQFZpZXdDaGlsZChcImR5bmFtaWNDb21wb25lbnRDb250YWluZXJcIiwge1xyXG4gICAgcmVhZDogVmlld0NvbnRhaW5lclJlZixcclxuICAgIHN0YXRpYzogZmFsc2UsXHJcbiAgfSlcclxuICBwcml2YXRlIGNvbnRhaW5lcjogVmlld0NvbnRhaW5lclJlZjtcclxuXHJcbiAgY29uZmlnOiBEcmF3ZXJDb25maWcgPSBEZWZhdWx0RHJhd2VyQ29uZmlnO1xyXG4gIHVzZUFuaW1hdGlvbjogXCJ5ZXNcIiB8IFwibm9cIiA9IFwieWVzXCI7XHJcbiAgaXNPcGVuZWQgPSBmYWxzZTtcclxuICBoaWRkZW5EcmF3ZXIgPSB0cnVlO1xyXG4gIGJhY2tJbWFnZSA9IG51bGw7XHJcblxyXG4gIHByaXZhdGUgY29tcG9uZW50UmVmTWFwID0gbmV3IE1hcDxzdHJpbmcsIERyYXdlckNvbXBvbmVudENhY2hlW10+KCk7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSByZXNvbHZlcjogQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyLFxyXG4gICAgcHJpdmF0ZSBzZXJ2aWNlOiBEcmF3ZXJTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSByZWY6IENoYW5nZURldGVjdG9yUmVmLFxyXG4gICAgcHJpdmF0ZSBzdGF0aWNSZXNvdXJjZVNlcnZpY2U6IFN0YXRpY1Jlc291cmNlU2VydmljZSxcclxuICApIHtcclxuICAgIHN0YXRpY1Jlc291cmNlU2VydmljZS5sb2FkKFwiL2Fzc2V0cy9pbWcvZHJhd2VyLWJhY2suc3ZnXCIsIChyZXN1bHQpID0+IHtcclxuICAgICAgdGhpcy5iYWNrSW1hZ2UgPSByZXN1bHQ7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgY3JlYXRlRHluYW1pY0NvbXBvbmVudChjb21wb25lbnQ6IG5ldyAoLi4uYXJnczogYW55W10pID0+IGFueSkge1xyXG4gICAgLy8g56Gu5L+d5Zyo6LCD55So5LmL5YmN55uu5qCH57uE5Lu25bey57uP5ZyoZW50cnlDb21wb25lbnRz5Lit5aOw5piOXHJcbiAgICBjb25zdCBmYWN0b3J5ID0gdGhpcy5yZXNvbHZlci5yZXNvbHZlQ29tcG9uZW50RmFjdG9yeShjb21wb25lbnQpO1xyXG4gICAgY29uc3QgY29tcG9uZW50UmVmID0gdGhpcy5jb250YWluZXIuY3JlYXRlQ29tcG9uZW50KGZhY3RvcnkpO1xyXG4gICAgcmV0dXJuIGNvbXBvbmVudFJlZjtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgZGVzdHJveUR5bmFtaWNDb21wb25lbnQoY29tcG9uZW50UmVmOiBDb21wb25lbnRSZWY8YW55Pikge1xyXG4gICAgaWYgKGNvbXBvbmVudFJlZikge1xyXG4gICAgICBjb21wb25lbnRSZWYuZGVzdHJveSgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBzZXRDb21wb25lbnREYXRhKFxyXG4gICAgY29tcG9uZW50UmVmOiBDb21wb25lbnRSZWY8YW55PixcclxuICAgIGRhdGE6IFJlY29yZDxzdHJpbmcsIGFueT4gPSB7fSxcclxuICApIHtcclxuICAgIC8vIOWmguaenOmcgOimgeS8oOmAkuaVsOaNrue7meWKqOaAgee7hOS7tu+8jOWPr+S7pei/meagt+WBmlxyXG4gICAgaWYgKGNvbXBvbmVudFJlZikge1xyXG4gICAgICBPYmplY3QuZW50cmllcyhkYXRhKS5mb3JFYWNoKChba2V5LCB2YWx1ZV0pID0+IHtcclxuICAgICAgICBjb21wb25lbnRSZWYuaW5zdGFuY2Vba2V5XSA9IHZhbHVlO1xyXG4gICAgICB9KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgZ2V0U2xvdEVsZW1lbnQoY29tcG9uZW50UmVmOiBDb21wb25lbnRSZWY8YW55Piwgc2VsZWN0b3I6IHN0cmluZykge1xyXG4gICAgY29uc3QgY29tcG9uZW50RWwgPSBjb21wb25lbnRSZWYubG9jYXRpb24ubmF0aXZlRWxlbWVudDtcclxuICAgIHJldHVybiBjb21wb25lbnRFbC5xdWVyeVNlbGVjdG9yKHNlbGVjdG9yKSBhcyBIVE1MRWxlbWVudDtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgc2V0U2xvdEVsZW1lbnQoc2xvdEVsOiBIVE1MRWxlbWVudCwgY29udGFpbmVyRWw6IEhUTUxFbGVtZW50KSB7XHJcbiAgICBjb250YWluZXJFbC5pbm5lckhUTUwgPSBcIlwiO1xyXG4gICAgaWYgKHNsb3RFbCkge1xyXG4gICAgICBjb250YWluZXJFbC5hcHBlbmQoc2xvdEVsKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHNldENhY2hlKGNhY2hlOiBEcmF3ZXJDb21wb25lbnRDYWNoZSkge1xyXG4gICAgdGhpcy5zZXRTbG90RWxlbWVudChjYWNoZS50b29sYmFyRWwsIHRoaXMudG9vbGJhclNsb3QubmF0aXZlRWxlbWVudCk7XHJcbiAgICB0aGlzLnNldFNsb3RFbGVtZW50KGNhY2hlLmhlYWRlckVsLCB0aGlzLmhlYWRlclNsb3QubmF0aXZlRWxlbWVudCk7XHJcbiAgICB0aGlzLnNldFNsb3RFbGVtZW50KGNhY2hlLnRvcEVsLCB0aGlzLnRvcFNsb3QubmF0aXZlRWxlbWVudCk7XHJcblxyXG4gICAgY29uc3QgZHJhd2VyVG9wID0gY2FjaGUuY29uZmlnLnRvcCA/IGAke2NhY2hlLmNvbmZpZy50b3B9cHhgIDogXCJcIjtcclxuICAgIHRoaXMuZWxlbWVudC5uYXRpdmVFbGVtZW50LnN0eWxlLnNldFByb3BlcnR5KFwiLS1kcmF3ZXItdG9wXCIsIGRyYXdlclRvcCk7XHJcblxyXG4gICAgaWYgKGNhY2hlLmNvbmZpZy5tb2RlID09PSBcImlubmVyXCIpIHtcclxuICAgICAgdGhpcy5jb250ZW50Lm5hdGl2ZUVsZW1lbnQuaW5zZXJ0QmVmb3JlKFxyXG4gICAgICAgIHRoaXMuaGVhZGVyLm5hdGl2ZUVsZW1lbnQsXHJcbiAgICAgICAgdGhpcy5jb250ZW50Lm5hdGl2ZUVsZW1lbnQuZmlyc3RDaGlsZCxcclxuICAgICAgKTtcclxuICAgICAgdGhpcy5jb250ZW50Lm5hdGl2ZUVsZW1lbnQuYXBwZW5kKHRoaXMudG9vbGJhclNsb3QubmF0aXZlRWxlbWVudCk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLmRyYXdlci5uYXRpdmVFbGVtZW50Lmluc2VydEJlZm9yZShcclxuICAgICAgICB0aGlzLmhlYWRlci5uYXRpdmVFbGVtZW50LFxyXG4gICAgICAgIHRoaXMuZHJhd2VyLm5hdGl2ZUVsZW1lbnQuZmlyc3RDaGlsZCxcclxuICAgICAgKTtcclxuICAgICAgdGhpcy5oZWFkZXIubmF0aXZlRWxlbWVudC5hcHBlbmQodGhpcy50b29sYmFyU2xvdC5uYXRpdmVFbGVtZW50KTtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLmNvbmZpZyA9IGNhY2hlLmNvbmZpZztcclxuICAgIHRoaXMucmVmLm1hcmtGb3JDaGVjaygpO1xyXG4gIH1cclxuXHJcbiAgc2V0Q29uZmlnKGNvbmZpZzogUGFydGlhbDxEcmF3ZXJDb25maWc+KSB7XHJcbiAgICBjb25zdCBjYWNoZXMgPSB0aGlzLmNvbXBvbmVudFJlZk1hcC5nZXQodGhpcy5zZXJ2aWNlLmNhY2hlS2V5KSB8fCBbXTtcclxuICAgIGNvbnN0IGNhY2hlID0gY2FjaGVzLnNsaWNlKC0xKVswXTtcclxuICAgIGlmIChjYWNoZSkge1xyXG4gICAgICBjYWNoZS5jb25maWcgPSB7IC4uLmNhY2hlLmNvbmZpZywgLi4uY29uZmlnIH07XHJcbiAgICAgIHRoaXMuc2V0Q2FjaGUoY2FjaGUpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgc2hvdzxUPihcclxuICAgIGNvbXBvbmVudDogbmV3ICguLi5hcmdzOiBhbnlbXSkgPT4gVCxcclxuICAgIGNvbmZpZzogRHJhd2VyQ29uZmlnLFxyXG4gICAgZGF0YTogUmVjb3JkPHN0cmluZywgYW55PixcclxuICApOiBUIHtcclxuICAgIGNvbnN0IHNob3dDb25maWcgPSB7IC4uLkRlZmF1bHREcmF3ZXJDb25maWcsIC4uLmNvbmZpZyB9O1xyXG4gICAgY29uc3QgY29tcG9uZW50UmVmID0gdGhpcy5jcmVhdGVEeW5hbWljQ29tcG9uZW50KGNvbXBvbmVudCk7XHJcbiAgICBjb25zdCB0b29sYmFyRWwgPSB0aGlzLmdldFNsb3RFbGVtZW50KGNvbXBvbmVudFJlZiwgXCJbZHJhd2VyLXRvb2xiYXJdXCIpO1xyXG4gICAgY29uc3QgaGVhZGVyRWwgPSB0aGlzLmdldFNsb3RFbGVtZW50KGNvbXBvbmVudFJlZiwgXCJbZHJhd2VyLWhlYWRlcl1cIik7XHJcbiAgICBjb25zdCB0b3BFbCA9IHRoaXMuZ2V0U2xvdEVsZW1lbnQoY29tcG9uZW50UmVmLCBcIltkcmF3ZXItdG9wXVwiKTtcclxuICAgIGNvbnN0IGNhY2hlID0ge1xyXG4gICAgICBjb25maWc6IHNob3dDb25maWcsXHJcbiAgICAgIHJlZjogY29tcG9uZW50UmVmLFxyXG4gICAgICB0b29sYmFyRWwsXHJcbiAgICAgIGhlYWRlckVsLFxyXG4gICAgICB0b3BFbCxcclxuICAgIH07XHJcblxyXG4gICAgY29uc3QgY2FjaGVzID0gdGhpcy5jb21wb25lbnRSZWZNYXAuZ2V0KHRoaXMuc2VydmljZS5jYWNoZUtleSkgfHwgW107XHJcbiAgICB0aGlzLmNvbXBvbmVudFJlZk1hcC5zZXQodGhpcy5zZXJ2aWNlLmNhY2hlS2V5LCBbLi4uY2FjaGVzLCBjYWNoZV0pO1xyXG4gICAgLy8g5aaC5p6c5piv56ys5LiA5Liq57yT5a2Y77yM5omT5byA5oq95bGJXHJcbiAgICBpZiAoY2FjaGVzLmxlbmd0aCA9PT0gMCkge1xyXG4gICAgICB0aGlzLnRvZ2dsZU9wZW5TdGF0dXModHJ1ZSwgdHJ1ZSk7XHJcbiAgICB9XHJcbiAgICB0aGlzLnRvZ2dsZUNhY2hlKGNhY2hlKTtcclxuICAgIHRoaXMuc2V0Q29tcG9uZW50RGF0YShjb21wb25lbnRSZWYsIGRhdGEpO1xyXG5cclxuICAgIHJldHVybiBjb21wb25lbnRSZWYuaW5zdGFuY2U7XHJcbiAgfVxyXG5cclxuICBoaWRlKCkge1xyXG4gICAgdGhpcy5zZXJ2aWNlLmhpZGUoKTtcclxuICB9XHJcblxyXG4gIGJhY2soKSB7XHJcbiAgICB0aGlzLmRlbGV0ZUNhY2hlKHRoaXMuc2VydmljZS5jYWNoZUtleSk7XHJcblxyXG4gICAgLy8g5aaC5p6c5pyJ5LiK5LiA5Liq57yT5a2Y77yM6K6+572u5Li65b2T5YmN57yT5a2Y77yM5ZCm5YiZ5YWz6Zet5oq95bGJXHJcbiAgICBjb25zdCBjYWNoZXMgPSB0aGlzLmNvbXBvbmVudFJlZk1hcC5nZXQodGhpcy5zZXJ2aWNlLmNhY2hlS2V5KSB8fCBbXTtcclxuICAgIGNvbnN0IGNhY2hlID0gY2FjaGVzLnNsaWNlKC0xKVswXTtcclxuICAgIGlmIChjYWNoZSkge1xyXG4gICAgICB0aGlzLnRvZ2dsZUNhY2hlKGNhY2hlKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMudG9nZ2xlT3BlblN0YXR1cyhmYWxzZSwgdHJ1ZSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGRlbGV0ZUNhY2hlKGNhY2hlS2V5OiBzdHJpbmcpIHtcclxuICAgIGNvbnN0IGNhY2hlcyA9IHRoaXMuY29tcG9uZW50UmVmTWFwLmdldChjYWNoZUtleSkgfHwgW107XHJcbiAgICBjb25zdCBjYWNoZSA9IGNhY2hlcy5zbGljZSgtMSlbMF07XHJcbiAgICBpZiAoY2FjaGUpIHtcclxuICAgICAgdGhpcy5kZXN0cm95RHluYW1pY0NvbXBvbmVudChjYWNoZS5yZWYpO1xyXG4gICAgICBjYWNoZXMucG9wKCk7XHJcbiAgICB9XHJcbiAgICBpZiAoY2FjaGVzLmxlbmd0aCA9PT0gMCkge1xyXG4gICAgICB0aGlzLmNvbXBvbmVudFJlZk1hcC5kZWxldGUoY2FjaGVLZXkpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSB0b2dnbGVDYWNoZShjYWNoZTogRHJhd2VyQ29tcG9uZW50Q2FjaGUpIHtcclxuICAgIHRoaXMuY29tcG9uZW50UmVmTWFwLmZvckVhY2goKGNhY2hlcykgPT4ge1xyXG4gICAgICBjYWNoZXMuZm9yRWFjaCgoYykgPT4ge1xyXG4gICAgICAgIGMucmVmLmxvY2F0aW9uLm5hdGl2ZUVsZW1lbnQuc3R5bGUuZGlzcGxheSA9IGMgPT09IGNhY2hlID8gXCJcIiA6IFwibm9uZVwiO1xyXG4gICAgICB9KTtcclxuICAgIH0pO1xyXG4gICAgdGhpcy5zZXRDYWNoZShjYWNoZSk7XHJcbiAgfVxyXG5cclxuICBkZWxldGVBbGxDYWNoZShjYWNoZUtleTogc3RyaW5nKSB7XHJcbiAgICBjb25zdCBjYWNoZXMgPSB0aGlzLmNvbXBvbmVudFJlZk1hcC5nZXQoY2FjaGVLZXkpIHx8IFtdO1xyXG4gICAgY2FjaGVzLmZvckVhY2goKGNhY2hlKSA9PiB7XHJcbiAgICAgIHRoaXMuZGVzdHJveUR5bmFtaWNDb21wb25lbnQoY2FjaGUucmVmKTtcclxuICAgIH0pO1xyXG4gICAgdGhpcy5jb21wb25lbnRSZWZNYXAuZGVsZXRlKGNhY2hlS2V5KTtcclxuICB9XHJcblxyXG4gIG9uUm91dGVDaGFuZ2UoKSB7XHJcbiAgICBjb25zdCBjYWNoZXMgPSB0aGlzLmNvbXBvbmVudFJlZk1hcC5nZXQodGhpcy5zZXJ2aWNlLmNhY2hlS2V5KSB8fCBbXTtcclxuICAgIGNvbnN0IGNhY2hlID0gY2FjaGVzLnNsaWNlKC0xKVswXTtcclxuICAgIGlmIChjYWNoZSkge1xyXG4gICAgICB0aGlzLnRvZ2dsZUNhY2hlKGNhY2hlKTtcclxuICAgICAgdGhpcy50b2dnbGVPcGVuU3RhdHVzKHRydWUpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy50b2dnbGVPcGVuU3RhdHVzKGZhbHNlKTtcclxuICAgIH1cclxuICAgIHRoaXMudXNlQW5pbWF0aW9uID0gXCJub1wiO1xyXG4gIH1cclxuXHJcbiAgdG9nZ2xlT3BlblN0YXR1cyhpc09wZW46IGJvb2xlYW4sIHVzZUFuaW1hdGlvbiA9IGZhbHNlKSB7XHJcbiAgICB0aGlzLmlzT3BlbmVkID0gaXNPcGVuO1xyXG4gICAgdGhpcy51c2VBbmltYXRpb24gPSB1c2VBbmltYXRpb24gPyBcInllc1wiIDogXCJub1wiO1xyXG4gICAgdGhpcy5oaWRkZW5EcmF3ZXIgPSAhaXNPcGVuICYmICF1c2VBbmltYXRpb247XHJcbiAgICB0aGlzLnJlZi5tYXJrRm9yQ2hlY2soKTtcclxuICB9XHJcblxyXG4gIG9uQW5pbWF0aW9uRW5kKCkge1xyXG4gICAgaWYgKCF0aGlzLmlzT3BlbmVkKSB7XHJcbiAgICAgIHRoaXMuaGlkZGVuRHJhd2VyID0gdHJ1ZTtcclxuICAgICAgdGhpcy5yZWYubWFya0ZvckNoZWNrKCk7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiJdfQ==
428
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vcmFpc2UtY29tbW9uLWxpYi8iLCJzb3VyY2VzIjpbImxpYi9sYXlvdXQvZHJhd2VyL2luZGV4LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULFNBQVMsRUFDVCxnQkFBZ0IsRUFDaEIsd0JBQXdCLEVBRXhCLFVBQVUsRUFDVixpQkFBaUIsR0FDbEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUVMLG1CQUFtQixFQUNuQixhQUFhLEdBQ2QsTUFBTSw4QkFBOEIsQ0FBQztBQVd0QztJQThCRSx5QkFDVSxRQUFrQyxFQUNsQyxPQUFzQixFQUN0QixHQUFzQjtRQUZ0QixhQUFRLEdBQVIsUUFBUSxDQUEwQjtRQUNsQyxZQUFPLEdBQVAsT0FBTyxDQUFlO1FBQ3RCLFFBQUcsR0FBSCxHQUFHLENBQW1CO1FBVmhDLFdBQU0sR0FBaUIsbUJBQW1CLENBQUM7UUFDM0MsaUJBQVksR0FBaUIsS0FBSyxDQUFDO1FBQ25DLGFBQVEsR0FBRyxLQUFLLENBQUM7UUFDakIsaUJBQVksR0FBRyxJQUFJLENBQUM7UUFFWixvQkFBZSxHQUFHLElBQUksR0FBRyxFQUFrQyxDQUFDO0lBTWpFLENBQUM7Ozs7OztJQUVJLGdEQUFzQjs7Ozs7SUFBOUIsVUFBK0IsU0FBc0M7OztZQUU3RCxPQUFPLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyx1QkFBdUIsQ0FBQyxTQUFTLENBQUM7O1lBQzFELFlBQVksR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLGVBQWUsQ0FBQyxPQUFPLENBQUM7UUFDNUQsT0FBTyxZQUFZLENBQUM7SUFDdEIsQ0FBQzs7Ozs7O0lBRU8saURBQXVCOzs7OztJQUEvQixVQUFnQyxZQUErQjtRQUM3RCxJQUFJLFlBQVksRUFBRTtZQUNoQixZQUFZLENBQUMsT0FBTyxFQUFFLENBQUM7U0FDeEI7SUFDSCxDQUFDOzs7Ozs7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LFNBQVMsU0FBQyxTQUFTLEVBQUUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFOzhCQUV0QyxTQUFTLFNBQUMsYUFBYSxFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRTs2QkFFMUMsU0FBUyxTQUFDLFlBQVksRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUU7MEJBRXpDLFNBQVMsU0FBQyxTQUFTLEVBQUUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFOzRCQUV0QyxTQUFTLFNBQUMsMkJBQTJCLEVBQUU7d0JBQ3RDLElBQUksRUFBRSxnQkFBZ0I7d0JBQ3RCLE1BQU0sRUFBRSxLQUFLO3FCQUNkOztJQTZMSCxzQkFBQztDQUFBLEFBak5ELElBaU5DO1NBNU1ZLGVBQWU7OztJQUMxQixrQ0FBNkU7O0lBQzdFLGlDQUEyRTs7SUFDM0UsaUNBQTJFOztJQUMzRSxrQ0FBNkU7O0lBRTdFLHNDQUN3Qzs7SUFDeEMscUNBQ3VDOztJQUN2QyxrQ0FBNkU7Ozs7O0lBRTdFLG9DQUlvQzs7SUFFcEMsaUNBQTJDOztJQUMzQyx1Q0FBbUM7O0lBQ25DLG1DQUFpQjs7SUFDakIsdUNBQW9COzs7OztJQUVwQiwwQ0FBb0U7Ozs7O0lBR2xFLG1DQUEwQzs7Ozs7SUFDMUMsa0NBQThCOzs7OztJQUM5Qiw4QkFBOEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIENvbXBvbmVudCxcclxuICBWaWV3Q2hpbGQsXHJcbiAgVmlld0NvbnRhaW5lclJlZixcclxuICBDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIsXHJcbiAgQ29tcG9uZW50UmVmLFxyXG4gIEVsZW1lbnRSZWYsXHJcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbn0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHtcclxuICBEcmF3ZXJDb25maWcsXHJcbiAgRGVmYXVsdERyYXdlckNvbmZpZyxcclxuICBEcmF3ZXJTZXJ2aWNlLFxyXG59IGZyb20gXCIuLi8uLi9zZXJ2aWNlL2RyYXdlci5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7IFN0YXRpY1Jlc291cmNlU2VydmljZSB9IGZyb20gXCIuLi8uLi9zZXJ2aWNlL3N0YXRpYy1yZXNvdXJjZS5zZXJ2aWNlXCI7XHJcblxyXG50eXBlIERyYXdlckNvbXBvbmVudENhY2hlID0ge1xyXG4gIHJlZjogQ29tcG9uZW50UmVmPGFueT47XHJcbiAgY29uZmlnOiBEcmF3ZXJDb25maWc7XHJcbiAgdG9vbGJhckVsOiBIVE1MRWxlbWVudDtcclxuICBoZWFkZXJFbDogSFRNTEVsZW1lbnQ7XHJcbiAgdG9wRWw6IEhUTUxFbGVtZW50O1xyXG59O1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6IFwicnMtZHJhd2VyXCIsXHJcbiAgdGVtcGxhdGVVcmw6IFwiLi9pbmRleC5jb21wb25lbnQuaHRtbFwiLFxyXG4gIHN0eWxlVXJsczogW1wiLi9pbmRleC5jb21wb25lbnQuc2Nzc1wiXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIERyYXdlckNvbXBvbmVudCB7XHJcbiAgQFZpZXdDaGlsZChcImVsZW1lbnRcIiwgeyBzdGF0aWM6IGZhbHNlIH0pIGVsZW1lbnQ6IEVsZW1lbnRSZWY8SFRNTERpdkVsZW1lbnQ+O1xyXG4gIEBWaWV3Q2hpbGQoXCJkcmF3ZXJcIiwgeyBzdGF0aWM6IGZhbHNlIH0pIGRyYXdlcjogRWxlbWVudFJlZjxIVE1MRGl2RWxlbWVudD47XHJcbiAgQFZpZXdDaGlsZChcImhlYWRlclwiLCB7IHN0YXRpYzogZmFsc2UgfSkgaGVhZGVyOiBFbGVtZW50UmVmPEhUTUxEaXZFbGVtZW50PjtcclxuICBAVmlld0NoaWxkKFwiY29udGVudFwiLCB7IHN0YXRpYzogZmFsc2UgfSkgY29udGVudDogRWxlbWVudFJlZjxIVE1MRGl2RWxlbWVudD47XHJcblxyXG4gIEBWaWV3Q2hpbGQoXCJ0b29sYmFyU2xvdFwiLCB7IHN0YXRpYzogZmFsc2UgfSlcclxuICB0b29sYmFyU2xvdDogRWxlbWVudFJlZjxIVE1MRGl2RWxlbWVudD47XHJcbiAgQFZpZXdDaGlsZChcImhlYWRlclNsb3RcIiwgeyBzdGF0aWM6IGZhbHNlIH0pXHJcbiAgaGVhZGVyU2xvdDogRWxlbWVudFJlZjxIVE1MRGl2RWxlbWVudD47XHJcbiAgQFZpZXdDaGlsZChcInRvcFNsb3RcIiwgeyBzdGF0aWM6IGZhbHNlIH0pIHRvcFNsb3Q6IEVsZW1lbnRSZWY8SFRNTERpdkVsZW1lbnQ+O1xyXG5cclxuICBAVmlld0NoaWxkKFwiZHluYW1pY0NvbXBvbmVudENvbnRhaW5lclwiLCB7XHJcbiAgICByZWFkOiBWaWV3Q29udGFpbmVyUmVmLFxyXG4gICAgc3RhdGljOiBmYWxzZSxcclxuICB9KVxyXG4gIHByaXZhdGUgY29udGFpbmVyOiBWaWV3Q29udGFpbmVyUmVmO1xyXG5cclxuICBjb25maWc6IERyYXdlckNvbmZpZyA9IERlZmF1bHREcmF3ZXJDb25maWc7XHJcbiAgdXNlQW5pbWF0aW9uOiBcInllc1wiIHwgXCJub1wiID0gXCJ5ZXNcIjtcclxuICBpc09wZW5lZCA9IGZhbHNlO1xyXG4gIGhpZGRlbkRyYXdlciA9IHRydWU7XHJcblxyXG4gIHByaXZhdGUgY29tcG9uZW50UmVmTWFwID0gbmV3IE1hcDxzdHJpbmcsIERyYXdlckNvbXBvbmVudENhY2hlW10+KCk7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSByZXNvbHZlcjogQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyLFxyXG4gICAgcHJpdmF0ZSBzZXJ2aWNlOiBEcmF3ZXJTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSByZWY6IENoYW5nZURldGVjdG9yUmVmLFxyXG4gICkge31cclxuXHJcbiAgcHJpdmF0ZSBjcmVhdGVEeW5hbWljQ29tcG9uZW50KGNvbXBvbmVudDogbmV3ICguLi5hcmdzOiBhbnlbXSkgPT4gYW55KSB7XHJcbiAgICAvLyDnoa7kv53lnKjosIPnlKjkuYvliY3nm67moIfnu4Tku7blt7Lnu4/lnKhlbnRyeUNvbXBvbmVudHPkuK3lo7DmmI5cclxuICAgIGNvbnN0IGZhY3RvcnkgPSB0aGlzLnJlc29sdmVyLnJlc29sdmVDb21wb25lbnRGYWN0b3J5KGNvbXBvbmVudCk7XHJcbiAgICBjb25zdCBjb21wb25lbnRSZWYgPSB0aGlzLmNvbnRhaW5lci5jcmVhdGVDb21wb25lbnQoZmFjdG9yeSk7XHJcbiAgICByZXR1cm4gY29tcG9uZW50UmVmO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBkZXN0cm95RHluYW1pY0NvbXBvbmVudChjb21wb25lbnRSZWY6IENvbXBvbmVudFJlZjxhbnk+KSB7XHJcbiAgICBpZiAoY29tcG9uZW50UmVmKSB7XHJcbiAgICAgIGNvbXBvbmVudFJlZi5kZXN0cm95KCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHNldENvbXBvbmVudERhdGEoXHJcbiAgICBjb21wb25lbnRSZWY6IENvbXBvbmVudFJlZjxhbnk+LFxyXG4gICAgZGF0YTogUmVjb3JkPHN0cmluZywgYW55PiA9IHt9LFxyXG4gICkge1xyXG4gICAgLy8g5aaC5p6c6ZyA6KaB5Lyg6YCS5pWw5o2u57uZ5Yqo5oCB57uE5Lu277yM5Y+v5Lul6L+Z5qC35YGaXHJcbiAgICBpZiAoY29tcG9uZW50UmVmKSB7XHJcbiAgICAgIE9iamVjdC5lbnRyaWVzKGRhdGEpLmZvckVhY2goKFtrZXksIHZhbHVlXSkgPT4ge1xyXG4gICAgICAgIGNvbXBvbmVudFJlZi5pbnN0YW5jZVtrZXldID0gdmFsdWU7XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBnZXRTbG90RWxlbWVudChjb21wb25lbnRSZWY6IENvbXBvbmVudFJlZjxhbnk+LCBzZWxlY3Rvcjogc3RyaW5nKSB7XHJcbiAgICBjb25zdCBjb21wb25lbnRFbCA9IGNvbXBvbmVudFJlZi5sb2NhdGlvbi5uYXRpdmVFbGVtZW50O1xyXG4gICAgcmV0dXJuIGNvbXBvbmVudEVsLnF1ZXJ5U2VsZWN0b3Ioc2VsZWN0b3IpIGFzIEhUTUxFbGVtZW50O1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBzZXRTbG90RWxlbWVudChzbG90RWw6IEhUTUxFbGVtZW50LCBjb250YWluZXJFbDogSFRNTEVsZW1lbnQpIHtcclxuICAgIGNvbnRhaW5lckVsLmlubmVySFRNTCA9IFwiXCI7XHJcbiAgICBpZiAoc2xvdEVsKSB7XHJcbiAgICAgIGNvbnRhaW5lckVsLmFwcGVuZChzbG90RWwpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgc2V0Q2FjaGUoY2FjaGU6IERyYXdlckNvbXBvbmVudENhY2hlKSB7XHJcbiAgICB0aGlzLnNldFNsb3RFbGVtZW50KGNhY2hlLnRvb2xiYXJFbCwgdGhpcy50b29sYmFyU2xvdC5uYXRpdmVFbGVtZW50KTtcclxuICAgIHRoaXMuc2V0U2xvdEVsZW1lbnQoY2FjaGUuaGVhZGVyRWwsIHRoaXMuaGVhZGVyU2xvdC5uYXRpdmVFbGVtZW50KTtcclxuICAgIHRoaXMuc2V0U2xvdEVsZW1lbnQoY2FjaGUudG9wRWwsIHRoaXMudG9wU2xvdC5uYXRpdmVFbGVtZW50KTtcclxuXHJcbiAgICBjb25zdCBkcmF3ZXJUb3AgPSBjYWNoZS5jb25maWcudG9wID8gYCR7Y2FjaGUuY29uZmlnLnRvcH1weGAgOiBcIlwiO1xyXG4gICAgdGhpcy5lbGVtZW50Lm5hdGl2ZUVsZW1lbnQuc3R5bGUuc2V0UHJvcGVydHkoXCItLWRyYXdlci10b3BcIiwgZHJhd2VyVG9wKTtcclxuXHJcbiAgICBpZiAoY2FjaGUuY29uZmlnLm1vZGUgPT09IFwiaW5uZXJcIikge1xyXG4gICAgICB0aGlzLmNvbnRlbnQubmF0aXZlRWxlbWVudC5pbnNlcnRCZWZvcmUoXHJcbiAgICAgICAgdGhpcy5oZWFkZXIubmF0aXZlRWxlbWVudCxcclxuICAgICAgICB0aGlzLmNvbnRlbnQubmF0aXZlRWxlbWVudC5maXJzdENoaWxkLFxyXG4gICAgICApO1xyXG4gICAgICB0aGlzLmNvbnRlbnQubmF0aXZlRWxlbWVudC5hcHBlbmQodGhpcy50b29sYmFyU2xvdC5uYXRpdmVFbGVtZW50KTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuZHJhd2VyLm5hdGl2ZUVsZW1lbnQuaW5zZXJ0QmVmb3JlKFxyXG4gICAgICAgIHRoaXMuaGVhZGVyLm5hdGl2ZUVsZW1lbnQsXHJcbiAgICAgICAgdGhpcy5kcmF3ZXIubmF0aXZlRWxlbWVudC5maXJzdENoaWxkLFxyXG4gICAgICApO1xyXG4gICAgICB0aGlzLmhlYWRlci5uYXRpdmVFbGVtZW50LmFwcGVuZCh0aGlzLnRvb2xiYXJTbG90Lm5hdGl2ZUVsZW1lbnQpO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuY29uZmlnID0gY2FjaGUuY29uZmlnO1xyXG4gICAgdGhpcy5yZWYubWFya0ZvckNoZWNrKCk7XHJcbiAgfVxyXG5cclxuICBzZXRDb25maWcoY29uZmlnOiBQYXJ0aWFsPERyYXdlckNvbmZpZz4pIHtcclxuICAgIGNvbnN0IGNhY2hlcyA9IHRoaXMuY29tcG9uZW50UmVmTWFwLmdldCh0aGlzLnNlcnZpY2UuY2FjaGVLZXkpIHx8IFtdO1xyXG4gICAgY29uc3QgY2FjaGUgPSBjYWNoZXMuc2xpY2UoLTEpWzBdO1xyXG4gICAgaWYgKGNhY2hlKSB7XHJcbiAgICAgIGNhY2hlLmNvbmZpZyA9IHsgLi4uY2FjaGUuY29uZmlnLCAuLi5jb25maWcgfTtcclxuICAgICAgdGhpcy5zZXRDYWNoZShjYWNoZSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBzaG93PFQ+KFxyXG4gICAgY29tcG9uZW50OiBuZXcgKC4uLmFyZ3M6IGFueVtdKSA9PiBULFxyXG4gICAgY29uZmlnOiBEcmF3ZXJDb25maWcsXHJcbiAgICBkYXRhOiBSZWNvcmQ8c3RyaW5nLCBhbnk+LFxyXG4gICk6IFQge1xyXG4gICAgY29uc3Qgc2hvd0NvbmZpZyA9IHsgLi4uRGVmYXVsdERyYXdlckNvbmZpZywgLi4uY29uZmlnIH07XHJcbiAgICBjb25zdCBjb21wb25lbnRSZWYgPSB0aGlzLmNyZWF0ZUR5bmFtaWNDb21wb25lbnQoY29tcG9uZW50KTtcclxuICAgIGNvbnN0IHRvb2xiYXJFbCA9IHRoaXMuZ2V0U2xvdEVsZW1lbnQoY29tcG9uZW50UmVmLCBcIltkcmF3ZXItdG9vbGJhcl1cIik7XHJcbiAgICBjb25zdCBoZWFkZXJFbCA9IHRoaXMuZ2V0U2xvdEVsZW1lbnQoY29tcG9uZW50UmVmLCBcIltkcmF3ZXItaGVhZGVyXVwiKTtcclxuICAgIGNvbnN0IHRvcEVsID0gdGhpcy5nZXRTbG90RWxlbWVudChjb21wb25lbnRSZWYsIFwiW2RyYXdlci10b3BdXCIpO1xyXG4gICAgY29uc3QgY2FjaGUgPSB7XHJcbiAgICAgIGNvbmZpZzogc2hvd0NvbmZpZyxcclxuICAgICAgcmVmOiBjb21wb25lbnRSZWYsXHJcbiAgICAgIHRvb2xiYXJFbCxcclxuICAgICAgaGVhZGVyRWwsXHJcbiAgICAgIHRvcEVsLFxyXG4gICAgfTtcclxuXHJcbiAgICBjb25zdCBjYWNoZXMgPSB0aGlzLmNvbXBvbmVudFJlZk1hcC5nZXQodGhpcy5zZXJ2aWNlLmNhY2hlS2V5KSB8fCBbXTtcclxuICAgIHRoaXMuY29tcG9uZW50UmVmTWFwLnNldCh0aGlzLnNlcnZpY2UuY2FjaGVLZXksIFsuLi5jYWNoZXMsIGNhY2hlXSk7XHJcbiAgICAvLyDlpoLmnpzmmK/nrKzkuIDkuKrnvJPlrZjvvIzmiZPlvIDmir3lsYlcclxuICAgIGlmIChjYWNoZXMubGVuZ3RoID09PSAwKSB7XHJcbiAgICAgIHRoaXMudG9nZ2xlT3BlblN0YXR1cyh0cnVlLCB0cnVlKTtcclxuICAgIH1cclxuICAgIHRoaXMudG9nZ2xlQ2FjaGUoY2FjaGUpO1xyXG4gICAgdGhpcy5zZXRDb21wb25lbnREYXRhKGNvbXBvbmVudFJlZiwgZGF0YSk7XHJcblxyXG4gICAgcmV0dXJuIGNvbXBvbmVudFJlZi5pbnN0YW5jZTtcclxuICB9XHJcblxyXG4gIGhpZGUoKSB7XHJcbiAgICB0aGlzLnNlcnZpY2UuaGlkZSgpO1xyXG4gIH1cclxuXHJcbiAgYmFjaygpIHtcclxuICAgIHRoaXMuZGVsZXRlQ2FjaGUodGhpcy5zZXJ2aWNlLmNhY2hlS2V5KTtcclxuXHJcbiAgICAvLyDlpoLmnpzmnInkuIrkuIDkuKrnvJPlrZjvvIzorr7nva7kuLrlvZPliY3nvJPlrZjvvIzlkKbliJnlhbPpl63mir3lsYlcclxuICAgIGNvbnN0IGNhY2hlcyA9IHRoaXMuY29tcG9uZW50UmVmTWFwLmdldCh0aGlzLnNlcnZpY2UuY2FjaGVLZXkpIHx8IFtdO1xyXG4gICAgY29uc3QgY2FjaGUgPSBjYWNoZXMuc2xpY2UoLTEpWzBdO1xyXG4gICAgaWYgKGNhY2hlKSB7XHJcbiAgICAgIHRoaXMudG9nZ2xlQ2FjaGUoY2FjaGUpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy50b2dnbGVPcGVuU3RhdHVzKGZhbHNlLCB0cnVlKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgZGVsZXRlQ2FjaGUoY2FjaGVLZXk6IHN0cmluZykge1xyXG4gICAgY29uc3QgY2FjaGVzID0gdGhpcy5jb21wb25lbnRSZWZNYXAuZ2V0KGNhY2hlS2V5KSB8fCBbXTtcclxuICAgIGNvbnN0IGNhY2hlID0gY2FjaGVzLnNsaWNlKC0xKVswXTtcclxuICAgIGlmIChjYWNoZSkge1xyXG4gICAgICB0aGlzLmRlc3Ryb3lEeW5hbWljQ29tcG9uZW50KGNhY2hlLnJlZik7XHJcbiAgICAgIGNhY2hlcy5wb3AoKTtcclxuICAgIH1cclxuICAgIGlmIChjYWNoZXMubGVuZ3RoID09PSAwKSB7XHJcbiAgICAgIHRoaXMuY29tcG9uZW50UmVmTWFwLmRlbGV0ZShjYWNoZUtleSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHRvZ2dsZUNhY2hlKGNhY2hlOiBEcmF3ZXJDb21wb25lbnRDYWNoZSkge1xyXG4gICAgdGhpcy5jb21wb25lbnRSZWZNYXAuZm9yRWFjaCgoY2FjaGVzKSA9PiB7XHJcbiAgICAgIGNhY2hlcy5mb3JFYWNoKChjKSA9PiB7XHJcbiAgICAgICAgYy5yZWYubG9jYXRpb24ubmF0aXZlRWxlbWVudC5zdHlsZS5kaXNwbGF5ID0gYyA9PT0gY2FjaGUgPyBcIlwiIDogXCJub25lXCI7XHJcbiAgICAgIH0pO1xyXG4gICAgfSk7XHJcbiAgICB0aGlzLnNldENhY2hlKGNhY2hlKTtcclxuICB9XHJcblxyXG4gIGRlbGV0ZUFsbENhY2hlKGNhY2hlS2V5OiBzdHJpbmcpIHtcclxuICAgIGNvbnN0IGNhY2hlcyA9IHRoaXMuY29tcG9uZW50UmVmTWFwLmdldChjYWNoZUtleSkgfHwgW107XHJcbiAgICBjYWNoZXMuZm9yRWFjaCgoY2FjaGUpID0+IHtcclxuICAgICAgdGhpcy5kZXN0cm95RHluYW1pY0NvbXBvbmVudChjYWNoZS5yZWYpO1xyXG4gICAgfSk7XHJcbiAgICB0aGlzLmNvbXBvbmVudFJlZk1hcC5kZWxldGUoY2FjaGVLZXkpO1xyXG4gIH1cclxuXHJcbiAgb25Sb3V0ZUNoYW5nZSgpIHtcclxuICAgIGNvbnN0IGNhY2hlcyA9IHRoaXMuY29tcG9uZW50UmVmTWFwLmdldCh0aGlzLnNlcnZpY2UuY2FjaGVLZXkpIHx8IFtdO1xyXG4gICAgY29uc3QgY2FjaGUgPSBjYWNoZXMuc2xpY2UoLTEpWzBdO1xyXG4gICAgaWYgKGNhY2hlKSB7XHJcbiAgICAgIHRoaXMudG9nZ2xlQ2FjaGUoY2FjaGUpO1xyXG4gICAgICB0aGlzLnRvZ2dsZU9wZW5TdGF0dXModHJ1ZSk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLnRvZ2dsZU9wZW5TdGF0dXMoZmFsc2UpO1xyXG4gICAgfVxyXG4gICAgdGhpcy51c2VBbmltYXRpb24gPSBcIm5vXCI7XHJcbiAgfVxyXG5cclxuICB0b2dnbGVPcGVuU3RhdHVzKGlzT3BlbjogYm9vbGVhbiwgdXNlQW5pbWF0aW9uID0gZmFsc2UpIHtcclxuICAgIHRoaXMuaXNPcGVuZWQgPSBpc09wZW47XHJcbiAgICB0aGlzLnVzZUFuaW1hdGlvbiA9IHVzZUFuaW1hdGlvbiA/IFwieWVzXCIgOiBcIm5vXCI7XHJcbiAgICB0aGlzLmhpZGRlbkRyYXdlciA9ICFpc09wZW4gJiYgIXVzZUFuaW1hdGlvbjtcclxuICAgIHRoaXMucmVmLm1hcmtGb3JDaGVjaygpO1xyXG4gIH1cclxuXHJcbiAgb25BbmltYXRpb25FbmQoKSB7XHJcbiAgICBpZiAoIXRoaXMuaXNPcGVuZWQpIHtcclxuICAgICAgdGhpcy5oaWRkZW5EcmF3ZXIgPSB0cnVlO1xyXG4gICAgICB0aGlzLnJlZi5tYXJrRm9yQ2hlY2soKTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIl19