@bnsights/bbsf-utilities 1.0.0 → 1.0.4

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.
@@ -11,7 +11,7 @@ export class ControlValidationService {
11
11
  this.requestOptions = new RequestOptionsModel();
12
12
  this.isCreatedBefor = false;
13
13
  }
14
- showGlobalError(errorMessage) {
14
+ showGlobalError(errorMessage, formId, deleteOld) {
15
15
  let globalErorrElement = document.getElementsByClassName('alert alert-danger alert-InvalidValidation');
16
16
  if (globalErorrElement.length > 0) {
17
17
  this.removeElementsByClass('alert alert-danger alert-InvalidValidation');
@@ -20,28 +20,40 @@ export class ControlValidationService {
20
20
  this.removeElementsByClass('alert alert-danger alert-InvalidValidation');
21
21
  }
22
22
  // tslint:disable-next-line: prefer-const
23
- var objects = document.querySelectorAll('form.ng-invalid.ng-touched');
23
+ if (!formId)
24
+ formId = "currentForm";
25
+ var object = document.getElementById(formId);
24
26
  const tagName = 'div';
25
27
  // tslint:disable-next-line: prefer-const
26
28
  var elementToAppend = document.createElement(tagName); // Your tag name here
27
29
  let message = "";
28
- if (localStorage.getItem('language') == "ar")
29
- message = errorMessage ? errorMessage : "لديك بعص الأخطاء . من فضلك قم بالمراجعه ";
30
- else
31
- message = errorMessage ? errorMessage : "You have some validation errors. Please check below";
32
- elementToAppend.innerHTML = "<ul><li>" + message + "</li></ul>";
33
- elementToAppend.className += 'alert alert-danger alert-InvalidValidation';
34
- elementToAppend.id += 'errorId';
35
- // tslint:disable-next-line: prefer-for-of
36
- for (let i = 0; i < objects.length; i++) {
37
- // const elementToAppen = elementToAppend.cloneNode(true);
38
- // objects[i].insertBefore(elementToAppen, objects[i].firstChild);
30
+ if (!errorMessage || (typeof errorMessage == "string")) {
31
+ if (localStorage.getItem('language') == "ar")
32
+ message = errorMessage ? errorMessage : "لديك بعص الأخطاء . من فضلك قم بالمراجعه ";
33
+ else
34
+ message = errorMessage ? errorMessage : "You have some validation errors. Please check below";
35
+ elementToAppend.innerHTML = "<ul><li>" + message + "</li></ul>";
36
+ elementToAppend.className += 'alert alert-danger alert-InvalidValidation';
37
+ elementToAppend.id += 'errorId';
38
+ // tslint:disable-next-line: prefer-for-of
39
39
  const elementToAppen = elementToAppend.cloneNode(true);
40
- let targetElement = objects[i].getElementsByClassName("b-control")[0];
41
- targetElement.parentNode.insertBefore(elementToAppen, targetElement);
42
- this.isCreatedBefor = true;
43
- break;
40
+ // let targetElement = object.getElementsByClassName("b-control")[0];
41
+ object.insertBefore(elementToAppen, object.firstChild);
44
42
  }
43
+ else {
44
+ elementToAppend.innerHTML = "<ul>";
45
+ for (const iterator of errorMessage) {
46
+ elementToAppend.innerHTML = "<li>" + iterator + "</li>";
47
+ }
48
+ elementToAppend.innerHTML = "</ul>";
49
+ elementToAppend.className += 'alert alert-danger alert-InvalidValidation';
50
+ elementToAppend.id += 'errorId';
51
+ // tslint:disable-next-line: prefer-for-of
52
+ const elementToAppen = elementToAppend.cloneNode(true);
53
+ // let targetElement = object.getElementsByClassName("b-control")[0];
54
+ object.insertBefore(elementToAppen, object.firstChild);
55
+ }
56
+ this.isCreatedBefor = true;
45
57
  }
46
58
  RemoveGlobalError() {
47
59
  const removedList = document.getElementsByClassName('alert alert-danger alert-InvalidValidation');
@@ -83,10 +95,11 @@ export class ControlValidationService {
83
95
  elements[0].parentNode.removeChild(elements[0]);
84
96
  }
85
97
  }
86
- renderServerErrors(form, err, requestOptions) {
98
+ renderServerErrors(form, err, requestOptions, formId) {
87
99
  if (err.error == null) {
88
100
  return;
89
101
  }
102
+ let errorsArray = [];
90
103
  this.requestOptions = requestOptions;
91
104
  err.error.validation_errors.forEach((element) => {
92
105
  let fieldName = element.field;
@@ -96,41 +109,45 @@ export class ControlValidationService {
96
109
  this.requestOptions.customErrorMessage ? this.utilityService.notifyErrorMessage(this.requestOptions.customErrorMessage) : this.utilityService.notifyErrorMessage(`${fieldName}: ${message}`);
97
110
  }
98
111
  else if (!this.hasControlName(form, controlName)) {
99
- this.showGlobalError(`${fieldName}: ${message}`);
112
+ errorsArray.push(`${fieldName}: ${message}`);
113
+ // this.showGlobalError(`${fieldName}: ${message}`,formId )
100
114
  }
101
115
  else {
102
116
  this.setFieldError(form, controlName, fieldName, message);
103
117
  }
104
118
  });
119
+ if (errorsArray.length > 0)
120
+ this.showGlobalError(errorsArray, formId);
105
121
  }
106
122
  hasControlName(form, controlName) {
107
123
  let control = form.get(controlName);
108
124
  return control != null;
109
125
  }
110
126
  setFieldError(form, controlName, fieldName, message) {
111
- let control = form.get(controlName);
112
- let errors = { [message]: true };
127
+ let control = null;
128
+ if (controlName)
129
+ control = form.get(controlName);
130
+ else
131
+ control = form.get(fieldName.split('.')[0]);
132
+ let errors = { "errorMassage": message };
113
133
  let fieldNameArray = fieldName.split('.');
114
134
  if (fieldNameArray.length >= 1) {
115
- switch (fieldNameArray[length - 1].toLocaleLowerCase()) {
135
+ switch (fieldNameArray[fieldNameArray.length - 1].toLocaleLowerCase()) {
116
136
  case "english":
117
- let englishControl = control.get("EnglishValue");
137
+ let englishControl = control.get("English");
118
138
  englishControl.setErrors(errors);
119
- englishControl.markAsTouched();
120
- englishControl.updateValueAndValidity();
121
139
  break;
122
140
  case "arabic":
123
- let arabicControl = control.get("ArabicValue");
141
+ let arabicControl = control.get("Arabic");
124
142
  arabicControl.setErrors(errors);
125
- arabicControl.markAsTouched();
126
- arabicControl.updateValueAndValidity();
127
143
  break;
128
144
  default:
129
145
  control.setErrors(errors);
130
- control.markAsTouched();
131
- control.updateValueAndValidity();
132
146
  }
133
147
  }
148
+ else if (fieldNameArray.length == 1) {
149
+ control.setErrors(errors);
150
+ }
134
151
  else {
135
152
  this.requestOptions.customErrorMessage ? this.utilityService.notifyErrorMessage(this.requestOptions.customErrorMessage) : this.utilityService.notifyErrorMessage(`${fieldName}: ${message}`);
136
153
  }
@@ -148,4 +165,4 @@ ControlValidationService.ctorParameters = () => [
148
165
  __decorate([
149
166
  BlockUI()
150
167
  ], ControlValidationService.prototype, "blockUI", void 0);
151
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udHJvbHZhbGlkYXRpb24uc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Jic2YtdXRpbGl0aWVzL3NyYy9saWIvc2hhcmVkL3NlcnZpY2VzL2NvbnRyb2x2YWxpZGF0aW9uLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQXVDLE1BQU0sZUFBZSxDQUFDO0FBRWhGLE9BQU8sRUFBRSxPQUFPLEVBQWEsTUFBTSxhQUFhLENBQUM7QUFLakQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLCtCQUErQixDQUFDOzs7QUFPcEUsTUFBTSxPQUFPLHdCQUF3QjtJQUdqQyxZQUVZLGNBQThCO1FBQTlCLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQUpsQyxtQkFBYyxHQUF3QixJQUFJLG1CQUFtQixFQUFFLENBQUM7UUFVeEUsbUJBQWMsR0FBRyxLQUFLLENBQUM7SUFGckIsQ0FBQztJQU1ILGVBQWUsQ0FBQyxZQUFvQjtRQUNoQyxJQUFJLGtCQUFrQixHQUFHLFFBQVEsQ0FBQyxzQkFBc0IsQ0FBQyw0Q0FBNEMsQ0FBQyxDQUFBO1FBQ3RHLElBQUksa0JBQWtCLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtZQUMvQixJQUFJLENBQUMscUJBQXFCLENBQUMsNENBQTRDLENBQUMsQ0FBQztTQUM1RTtRQUVELElBQUksSUFBSSxDQUFDLGNBQWMsSUFBSSxJQUFJLEVBQUU7WUFDN0IsSUFBSSxDQUFDLHFCQUFxQixDQUFDLDRDQUE0QyxDQUFDLENBQUM7U0FDNUU7UUFDRCx5Q0FBeUM7UUFDekMsSUFBSSxPQUFPLEdBQUcsUUFBUSxDQUFDLGdCQUFnQixDQUFDLDRCQUE0QixDQUFDLENBQUM7UUFDdEUsTUFBTSxPQUFPLEdBQUcsS0FBSyxDQUFDO1FBQ3RCLHlDQUF5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QUMsYUFBYSxFQUFFLENBQUM7b0JBQy9CLGNBQWMsQ0FBQyxzQkFBc0IsRUFBRSxDQUFDO29CQUN4QyxNQUFNO2dCQUNSLEtBQUssUUFBUTtvQkFDWCxJQUFJLGFBQWEsR0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLGFBQWEsQ0FBQyxDQUFBO29CQUM1QyxhQUFhLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDO29CQUNoQyxhQUFhLENBQUMsYUFBYSxFQUFFLENBQUM7b0JBQzlCLGFBQWEsQ0FBQyxzQkFBc0IsRUFBRSxDQUFDO29CQUN2QyxNQUFNO2dCQUVSO29CQUNFLE9BQU8sQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUM7b0JBQzFCLE9BQU8sQ0FBQyxhQUFhLEVBQUUsQ0FBQztvQkFDeEIsT0FBTyxDQUFDLHNCQUFzQixFQUFFLENBQUM7YUFDcEM7U0FFRjthQUVEO1lBQ0UsSUFBSSxDQUFDLGNBQWMsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLGtCQUFrQixDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsa0JBQWtCLENBQUMsR0FBRyxTQUFTLEtBQUssT0FBTyxFQUFFLENBQUMsQ0FBQTtTQUM3TDtJQUdILENBQUM7Ozs7WUFqS04sVUFBVSxTQUFDO2dCQUNSLFVBQVUsRUFBRSxNQUFNO2FBQ25COzs7WUFQTSxjQUFjOztBQXFCUjtJQUFWLE9BQU8sRUFBRTt5REFBb0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBPcHRpb25hbCwgSG9zdCwgU2tpcFNlbGYsIENvbXBvbmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBJbmRpdmlkdWFsQ29uZmlnLCBUb2FzdHJTZXJ2aWNlIH0gZnJvbSAnbmd4LXRvYXN0cic7XHJcbmltcG9ydCB7IEJsb2NrVUksIE5nQmxvY2tVSSB9IGZyb20gJ25nLWJsb2NrLXVpJztcclxuaW1wb3J0IHsgQWJzdHJhY3RDb250cm9sLCBDb250cm9sQ29udGFpbmVyLCBDb250cm9sVmFsdWVBY2Nlc3NvciwgTkdfVkFMVUVfQUNDRVNTT1IsIEZvcm1Db250cm9sLCBGb3Jtc01vZHVsZSwgRm9ybUdyb3VwIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XHJcbmltcG9ydCB7IEh0dHBFcnJvclJlc3BvbnNlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5pbXBvcnQgeyBFcnJvck1vZGVsIH0gZnJvbSAnLi4vbW9kZWxzL0Vycm9yTW9kZWwnO1xyXG5pbXBvcnQgeyBVdGlsaXR5U2VydmljZSB9IGZyb20gJy4vdXRpbGl0eS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgUmVxdWVzdE9wdGlvbnNNb2RlbCB9IGZyb20gJy4uL21vZGVscy9SZXF1ZXN0T3B0aW9uc01vZGVsJztcclxuXHJcblxyXG5cclxuQEluamVjdGFibGUoe1xyXG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXHJcbiAgfSlcclxuZXhwb3J0IGNsYXNzIENvbnRyb2xWYWxpZGF0aW9uU2VydmljZSB7XHJcbiAgICBwcml2YXRlIHJlcXVlc3RPcHRpb25zOiBSZXF1ZXN0T3B0aW9uc01vZGVsID0gbmV3IFJlcXVlc3RPcHRpb25zTW9kZWwoKTtcclxuXHJcbiAgICBjb25zdHJ1Y3RvclxyXG4gICAgICAoXHJcbiAgICAgICAgcHJpdmF0ZSB1dGlsaXR5U2VydmljZTogVXRpbGl0eVNlcnZpY2VcclxuICAgICAgKSBcclxuICAgICAgeyBcclxuXHJcbiAgICAgIH1cclxuXHJcbiAgICBpc0NyZWF0ZWRCZWZvciA9IGZhbHNlO1xyXG5cclxuICAgIEBCbG9ja1VJKCkgYmxvY2tVSTogTmdCbG9ja1VJO1xyXG5cclxuICAgIHNob3dHbG9iYWxFcnJvcihlcnJvck1lc3NhZ2U/OnN0cmluZykge1xyXG4gICAgICAgIGxldCBnbG9iYWxFcm9yckVsZW1lbnQgPSBkb2N1bWVudC5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKCdhbGVydCBhbGVydC1kYW5nZXIgYWxlcnQtSW52YWxpZFZhbGlkYXRpb24nKVxyXG4gICAgICAgIGlmIChnbG9iYWxFcm9yckVsZW1lbnQubGVuZ3RoID4gMCkge1xyXG4gICAgICAgICAgICB0aGlzLnJlbW92ZUVsZW1lbnRzQnlDbGFzcygnYWxlcnQgYWxlcnQtZGFuZ2VyIGFsZXJ0LUludmFsaWRWYWxpZGF0aW9uJyk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpZiAodGhpcy5pc0NyZWF0ZWRCZWZvciA9PSB0cnVlKSB7XHJcbiAgICAgICAgICAgIHRoaXMucmVtb3ZlRWxlbWVudHNCeUNsYXNzKCdhbGVydCBhbGVydC1kYW5nZXIgYWxlcnQtSW52YWxpZFZhbGlkYXRpb24nKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOiBwcmVmZXItY29uc3RcclxuICAgICAgICB2YXIgb2JqZWN0cyA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJ2Zvcm0ubmctaW52YWxpZC5uZy10b3VjaGVkJyk7XHJcbiAgICAgICAgY29uc3QgdGFnTmFtZSA9ICdkaXYnO1xyXG4gICAgICAgIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTogcHJlZmVyLWNvbnN0XHJcbiAgICAgICAgdmFyIGVsZW1lbnRUb0FwcGVuZCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7IC8vIFlvdXIgdGFnIG5hbWUgaGVyZVxyXG4gICAgICAgIGxldCBtZXNzYWdlID0gXCJcIjtcclxuICAgICAgICBpZiAobG9jYWxTdG9yYWdlLmdldEl0ZW0oJ2xhbmd1YWdlJykgPT0gXCJhclwiKVxyXG4gICAgICAgICAgICBtZXNzYWdlID1lcnJvck1lc3NhZ2U/ZXJyb3JNZXNzYWdlOiBcItmE2K/ZitmDINio2LnYtSDYp9mE2KPYrti32KfYoSAuINmF2YYg2YHYttmE2YMg2YLZhSDYqNin2YTZhdix2KfYrNi52YcgXCI7XHJcbiAgICAgICAgZWxzZVxyXG4gICAgICAgICAgICBtZXNzYWdlID1lcnJvck1lc3NhZ2U/ZXJyb3JNZXNzYWdlOiBcIllvdSBoYXZlIHNvbWUgdmFsaWRhdGlvbiBlcnJvcnMuIFBsZWFzZSBjaGVjayBiZWxvd1wiXHJcblxyXG4gICAgICAgIGVsZW1lbnRUb0FwcGVuZC5pbm5lckhUTUwgPSBcIjx1bD48bGk+XCIgKyBtZXNzYWdlICsgXCI8L2xpPjwvdWw+XCI7XHJcbiAgICAgICAgZWxlbWVudFRvQXBwZW5kLmNsYXNzTmFtZSArPSAnYWxlcnQgYWxlcnQtZGFuZ2VyIGFsZXJ0LUludmFsaWRWYWxpZGF0aW9uJztcclxuICAgICAgICBlbGVtZW50VG9BcHBlbmQuaWQgKz0gJ2Vycm9ySWQnO1xyXG4gICAgICAgIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTogcHJlZmVyLWZvci1vZlxyXG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgb2JqZWN0cy5sZW5ndGg7IGkrKykge1xyXG4gICAgICAgICAgICAvLyBjb25zdCBlbGVtZW50VG9BcHBlbiA9IGVsZW1lbnRUb0FwcGVuZC5jbG9uZU5vZGUodHJ1ZSk7XHJcbiAgICAgICAgICAgIC8vIG9iamVjdHNbaV0uaW5zZXJ0QmVmb3JlKGVsZW1lbnRUb0FwcGVuLCBvYmplY3RzW2ldLmZpcnN0Q2hpbGQpO1xyXG4gICAgICAgICAgICBjb25zdCBlbGVtZW50VG9BcHBlbiA9IGVsZW1lbnRUb0FwcGVuZC5jbG9uZU5vZGUodHJ1ZSk7XHJcbiAgICAgICAgICAgIGxldCB0YXJnZXRFbGVtZW50ID0gb2JqZWN0c1tpXS5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKFwiYi1jb250cm9sXCIpWzBdO1xyXG4gICAgICAgICAgICB0YXJnZXRFbGVtZW50LnBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKGVsZW1lbnRUb0FwcGVuLCB0YXJnZXRFbGVtZW50KTtcclxuICAgICAgICAgICAgdGhpcy5pc0NyZWF0ZWRCZWZvciA9IHRydWU7XHJcbiAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICB9XHJcblxyXG4gICAgUmVtb3ZlR2xvYmFsRXJyb3IoKSB7XHJcbiAgICAgICAgY29uc3QgcmVtb3ZlZExpc3QgPSBkb2N1bWVudC5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKCdhbGVydCBhbGVydC1kYW5nZXIgYWxlcnQtSW52YWxpZFZhbGlkYXRpb24nKTtcclxuICAgICAgICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6IHByZWZlci1mb3Itb2ZcclxuICAgICAgICBmb3IgKGxldCBpbmRleCA9IDA7IGluZGV4IDwgcmVtb3ZlZExpc3QubGVuZ3RoOyBpbmRleCsrKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IGVsZW1lbnQgPSByZW1vdmVkTGlzdFtpbmRleF07XHJcbiAgICAgICAgICAgIGVsZW1lbnQucmVtb3ZlKCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMuaXNDcmVhdGVkQmVmb3IgPSBmYWxzZTtcclxuICAgIH1cclxuXHJcbiAgICBzaG93SW5wdXRFcnJvKGVycm9yczogYW55KSB7XHJcblxyXG4gICAgICAgIC8vIHNob3cgZXJyb3Igb24gdG9wIG9mIGZvcm0gXHJcbiAgICAgICAgdGhpcy5zaG93R2xvYmFsRXJyb3IoKTtcclxuICAgICAgICAvLyByZW1vdmUgb2xkIGVycm9yIGZyb20gc2VydmVyXHJcbiAgICAgICAgdGhpcy5yZW1vdmVFbGVtZW50c0J5Q2xhc3MoJ2Vycm9ydGVtcGxldCcpO1xyXG4gICAgICAgIC8vIExvb3BpbmcgaW4gZXJyb3IgT2JqZWN0XHJcbiAgICAgICAgZm9yIChjb25zdCBrZXkgaW4gZXJyb3JzKSB7XHJcbiAgICAgICAgICAgIGlmIChlcnJvcnMuaGFzT3duUHJvcGVydHkoa2V5KSkge1xyXG4gICAgICAgICAgICAgICAgZm9yIChjb25zdCBpdGVyYXRvciBvZiBlcnJvcnNba2V5XSkge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGlucHV0ID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgnW25nLXJlZmxlY3QtbmFtZT0nICsga2V5ICsgJ10nKVswXTtcclxuICAgICAgICAgICAgICAgICAgICBpZiAoKGlucHV0LmF0dHJpYnV0ZXNbJ25nLXJlZmxlY3QtbmFtZSddLnZhbHVlIGFzIHN0cmluZykgPT09IGtleSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnJlbW92ZUVsZW1lbnRzQnlDbGFzcygnZXJyb2NsYXNzLScgKyBrZXkpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB0YWdOYW1lID0gJ3AnXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGVsZW1lbnRUb0FwcGVuZCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7IC8vIFlvdXIgdGFnIG5hbWUgaGVyZVxyXG4gICAgICAgICAgICAgICAgICAgICAgICBlbGVtZW50VG9BcHBlbmQuaW5uZXJIVE1MID0gaXRlcmF0b3I7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGVsZW1lbnRUb0FwcGVuZC5zdHlsZS5jb2xvciA9ICdyZWQnXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGVsZW1lbnRUb0FwcGVuZC5jbGFzc05hbWUgKz0gJ2Vycm9ydGVtcGxldCBlcnJvY2xhc3MtJyArIGtleTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgZWxlbWVudFRvYXBwZW4gPSBlbGVtZW50VG9BcHBlbmQuY2xvbmVOb2RlKHRydWUpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBpbnB1dC5wYXJlbnROb2RlLmluc2VydEJlZm9yZShlbGVtZW50VG9hcHBlbiwgaW5wdXQubGFzdENoaWxkKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHJlbW92ZUVsZW1lbnRzQnlDbGFzcyhjbGFzc05hbWUpIHtcclxuICAgICAgICBjb25zdCBlbGVtZW50cyA9IGRvY3VtZW50LmdldEVsZW1lbnRzQnlDbGFzc05hbWUoY2xhc3NOYW1lKTtcclxuICAgICAgICB3aGlsZSAoZWxlbWVudHMubGVuZ3RoID4gMCkge1xyXG4gICAgICAgICAgICBlbGVtZW50c1swXS5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKGVsZW1lbnRzWzBdKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG5cclxuICAgICByZW5kZXJTZXJ2ZXJFcnJvcnMoZm9ybTogRm9ybUdyb3VwLCBlcnI6IEh0dHBFcnJvclJlc3BvbnNlLHJlcXVlc3RPcHRpb25zOlJlcXVlc3RPcHRpb25zTW9kZWwpIHtcclxuICAgICAgICBpZiAoZXJyLmVycm9yID09IG51bGwpIHtcclxuICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5yZXF1ZXN0T3B0aW9ucz1yZXF1ZXN0T3B0aW9ucztcclxuICAgICAgICBlcnIuZXJyb3IudmFsaWRhdGlvbl9lcnJvcnMuZm9yRWFjaCgoZWxlbWVudDogRXJyb3JNb2RlbCkgPT4ge1xyXG4gICAgICAgICAgICBsZXQgZmllbGROYW1lID0gZWxlbWVudC5maWVsZDtcclxuICAgICAgICAgICAgbGV0IGNvbnRyb2xOYW1lID0gZWxlbWVudC5jb250cm9sX25hbWU7XHJcbiAgICAgICAgICAgIGxldCBtZXNzYWdlID0gZWxlbWVudC5tZXNzYWdlO1xyXG4gICAgICAgICAgICBpZiAoZm9ybSA9PSBudWxsICkge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5yZXF1ZXN0T3B0aW9ucy5jdXN0b21FcnJvck1lc3NhZ2UgPyB0aGlzLnV0aWxpdHlTZXJ2aWNlLm5vdGlmeUVycm9yTWVzc2FnZSh0aGlzLnJlcXVlc3RPcHRpb25zLmN1c3RvbUVycm9yTWVzc2FnZSkgOiB0aGlzLnV0aWxpdHlTZXJ2aWNlLm5vdGlmeUVycm9yTWVzc2FnZShgJHtmaWVsZE5hbWV9OiAke21lc3NhZ2V9YClcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIGlmKCF0aGlzLmhhc0NvbnRyb2xOYW1lKGZvcm0sY29udHJvbE5hbWUpKVxyXG4gICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnNob3dHbG9iYWxFcnJvcihgJHtmaWVsZE5hbWV9OiAke21lc3NhZ2V9YClcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgICB0aGlzLnNldEZpZWxkRXJyb3IoZm9ybSxjb250cm9sTmFtZSxmaWVsZE5hbWUsbWVzc2FnZSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuICAgICAgfVxyXG4gICAgXHJcbiAgICAgIHByaXZhdGUgaGFzQ29udHJvbE5hbWUoZm9ybTogRm9ybUdyb3VwLCBjb250cm9sTmFtZTogc3RyaW5nKTogYm9vbGVhblxyXG4gICAgIHtcclxuICAgICAgICBsZXQgY29udHJvbCA9IGZvcm0uZ2V0KGNvbnRyb2xOYW1lKTtcclxuICAgICAgICByZXR1cm4gY29udHJvbCAhPSBudWxsO1xyXG4gICAgICB9XHJcbiAgICBcclxuICAgICAgcHJpdmF0ZSBzZXRGaWVsZEVycm9yKGZvcm06IEZvcm1Hcm91cCwgY29udHJvbE5hbWU6IHN0cmluZyxmaWVsZE5hbWU6c3RyaW5nLG1lc3NhZ2U6IHN0cmluZykge1xyXG4gICAgICAgIGxldCBjb250cm9sID1mb3JtLmdldChjb250cm9sTmFtZSk7XHJcbiAgICAgICAgbGV0IGVycm9ycyA9IHsgW21lc3NhZ2VdOiB0cnVlIH07XHJcbiAgICAgICAgbGV0IGZpZWxkTmFtZUFycmF5ID0gZmllbGROYW1lLnNwbGl0KCcuJylcclxuICAgIFxyXG4gICAgICAgaWYgKGZpZWxkTmFtZUFycmF5Lmxlbmd0aD49MSlcclxuICAgICAgICB7XHJcbiAgICAgICAgICBzd2l0Y2ggKGZpZWxkTmFtZUFycmF5W2xlbmd0aC0xXS50b0xvY2FsZUxvd2VyQ2FzZSgpKSB7XHJcbiAgICAgICAgICAgIGNhc2UgXCJlbmdsaXNoXCI6XHJcbiAgICAgICAgICAgICAgbGV0IGVuZ2xpc2hDb250cm9sPWNvbnRyb2wuZ2V0KFwiRW5nbGlzaFZhbHVlXCIpXHJcbiAgICAgICAgICAgICAgZW5nbGlzaENvbnRyb2wuc2V0RXJyb3JzKGVycm9ycyk7XHJcbiAgICAgICAgICAgICAgZW5nbGlzaENvbnRyb2wubWFya0FzVG91Y2hlZCgpO1xyXG4gICAgICAgICAgICAgIGVuZ2xpc2hDb250cm9sLnVwZGF0ZVZhbHVlQW5kVmFsaWRpdHkoKTtcclxuICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgICAgY2FzZSBcImFyYWJpY1wiOlxyXG4gICAgICAgICAgICAgIGxldCBhcmFiaWNDb250cm9sPWNvbnRyb2wuZ2V0KFwiQXJhYmljVmFsdWVcIilcclxuICAgICAgICAgICAgICBhcmFiaWNDb250cm9sLnNldEVycm9ycyhlcnJvcnMpO1xyXG4gICAgICAgICAgICAgIGFyYWJpY0NvbnRyb2wubWFya0FzVG91Y2hlZCgpO1xyXG4gICAgICAgICAgICAgIGFyYWJpY0NvbnRyb2wudXBkYXRlVmFsdWVBbmRWYWxpZGl0eSgpO1xyXG4gICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICBcclxuICAgICAgICAgICAgZGVmYXVsdDpcclxuICAgICAgICAgICAgICBjb250cm9sLnNldEVycm9ycyhlcnJvcnMpO1xyXG4gICAgICAgICAgICAgIGNvbnRyb2wubWFya0FzVG91Y2hlZCgpO1xyXG4gICAgICAgICAgICAgIGNvbnRyb2wudXBkYXRlVmFsdWVBbmRWYWxpZGl0eSgpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgIFxyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlXHJcbiAgICAgICAgeyAgXHJcbiAgICAgICAgICB0aGlzLnJlcXVlc3RPcHRpb25zLmN1c3RvbUVycm9yTWVzc2FnZSA/IHRoaXMudXRpbGl0eVNlcnZpY2Uubm90aWZ5RXJyb3JNZXNzYWdlKHRoaXMucmVxdWVzdE9wdGlvbnMuY3VzdG9tRXJyb3JNZXNzYWdlKSA6IHRoaXMudXRpbGl0eVNlcnZpY2Uubm90aWZ5RXJyb3JNZXNzYWdlKGAke2ZpZWxkTmFtZX06ICR7bWVzc2FnZX1gKVxyXG4gICAgICAgIH1cclxuICAgICAgICBcclxuICAgIFxyXG4gICAgICB9XHJcbiAgICBcclxuICAgIFxyXG59XHJcbiJdfQ==
168
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udHJvbHZhbGlkYXRpb24uc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Jic2YtdXRpbGl0aWVzL3NyYy9saWIvc2hhcmVkL3NlcnZpY2VzL2NvbnRyb2x2YWxpZGF0aW9uLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQXVDLE1BQU0sZUFBZSxDQUFDO0FBRWhGLE9BQU8sRUFBRSxPQUFPLEVBQWEsTUFBTSxhQUFhLENBQUM7QUFLakQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLCtCQUErQixDQUFDOzs7QUFPcEUsTUFBTSxPQUFPLHdCQUF3QjtJQUduQyxZQUVZLGNBQThCO1FBQTlCLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQUpsQyxtQkFBYyxHQUF3QixJQUFJLG1CQUFtQixFQUFFLENBQUM7UUFTeEUsbUJBQWMsR0FBRyxLQUFLLENBQUM7SUFGdkIsQ0FBQztJQU1ELGVBQWUsQ0FBQyxZQUE4QixFQUFFLE1BQWUsRUFBQyxTQUFrQjtRQUNoRixJQUFJLGtCQUFrQixHQUFHLFFBQVEsQ0FBQyxzQkFBc0IsQ0FBQyw0Q0FBNEMsQ0FBQyxDQUFBO1FBQ3RHLElBQUksa0JBQWtCLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRztZQUNsQyxJQUFJLENBQUMscUJBQXFCLENBQUMsNENBQTRDLENBQUMsQ0FBQztTQUMxRTtRQUdELElBQUksSUFBSSxDQUFDLGNBQWMsSUFBSSxJQUFJLEVBQUU7WUFDL0IsSUFBSSxDQUFDLHFCQUFxQixDQUFDLDRDQUE0QyxDQUFDLENBQUM7U0FDMUU7UUFFRCx5Q0FBeUM7UUFDekMsSUFBSSxDQUFDLE1BQU07WUFDVCxNQUFNLEdBQUcsYUFBYSxDQUFBO1FBQ3hCLElBQUksTUFBTSxHQUFHLFFBQVEsQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDN0MsTUFBTSxPQUFPLEdBQUcsS0FBSyxDQUFDO1FBQ3RCLHlDQUF5QztRQUN6QyxJQUFJLGVBQWUsR0FBRyxRQUFRLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMscUJBQXFCO1FBQzVFLElBQUksT0FBTyxHQUFtQixFQUFFLENBQUM7UUFHakMsSUFBRyxDQUFDLFlBQVksSUFBRSxDQUFDLE9BQU8sWUFBWSxJQUFFLFFBQVEsQ0FBQyxFQUNqRDtZQUNFLElBQUksWUFBWSxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsSUFBSSxJQUFJO2dCQUM1QyxPQUFPLEdBQUcsWUFBWSxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLDBDQUEwQyxDQUFDOztnQkFFbkYsT0FBTyxHQUFHLFlBQVksQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxxREFBcUQsQ0FBQTtZQUM3RixlQUFlLENBQUMsU0FBUyxHQUFHLFVBQVUsR0FBRyxPQUFPLEdBQUcsWUFBWSxDQUFDO1lBQ2hFLGVBQWUsQ0FBQyxTQUFTLElBQUksNENBQTRDLENBQUM7WUFDMUUsZUFBZSxDQUFDLEVBQUUsSUFBSSxTQUFTLENBQUM7WUFDaEMsMENBQTBDO1lBQzFDLE1BQU0sY0FBYyxHQUFHLGVBQWUsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDdkQscUVBQXFFO1lBQ3JFLE1BQU0sQ0FBQyxZQUFZLENBQUMsY0FBYyxFQUFFLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztTQUN4RDthQUVEO1lBQ0UsZUFBZSxDQUFDLFNBQVMsR0FBRyxNQUFNLENBQUM7WUFFbkMsS0FBSyxNQUFNLFFBQVEsSUFBSSxZQUFZLEVBQUU7Z0JBRW5DLGVBQWUsQ0FBQyxTQUFTLEdBQUcsTUFBTSxHQUFHLFFBQVEsR0FBRyxPQUFPLENBQUM7YUFDekQ7WUFFRCxlQUFlLENBQUMsU0FBUyxHQUFHLE9BQU8sQ0FBQztZQUNwQyxlQUFlLENBQUMsU0FBUyxJQUFJLDRDQUE0QyxDQUFDO1lBQzFFLGVBQWUsQ0FBQyxFQUFFLElBQUksU0FBUyxDQUFDO1lBQ2hDLDBDQUEwQztZQUMxQyxNQUFNLGNBQWMsR0FBRyxlQUFlLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ3ZELHFFQUFxRTtZQUNyRSxNQUFNLENBQUMsWUFBWSxDQUFDLGNBQWMsRUFBRSxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7U0FDeEQ7UUFFRCxJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQztJQUU3QixDQUFDO0lBRUQsaUJBQWlCO1FBQ2YsTUFBTSxXQUFXLEdBQUcsUUFBUSxDQUFDLHNCQUFzQixDQUFDLDRDQUE0QyxDQUFDLENBQUM7UUFDbEcsMENBQTBDO1FBQzFDLEtBQUssSUFBSSxLQUFLLEdBQUcsQ0FBQyxFQUFFLEtBQUssR0FBRyxXQUFXLENBQUMsTUFBTSxFQUFFLEtBQUssRUFBRSxFQUFFO1lBQ3ZELE1BQU0sT0FBTyxHQUFHLFdBQVcsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUNuQyxPQUFPLENBQUMsTUFBTSxFQUFFLENBQUM7U0FDbEI7UUFDRCxJQUFJLENBQUMsY0FBYyxHQUFHLEtBQUssQ0FBQztJQUM5QixDQUFDO0lBRUQsYUFBYSxDQUFDLE1BQVc7UUFFdkIsNkJBQTZCO1FBQzdCLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUN2QiwrQkFBK0I7UUFDL0IsSUFBSSxDQUFDLHFCQUFxQixDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBQzNDLDBCQUEwQjtRQUMxQixLQUFLLE1BQU0sR0FBRyxJQUFJLE1BQU0sRUFBRTtZQUN4QixJQUFJLE1BQU0sQ0FBQyxjQUFjLENBQUMsR0FBRyxDQUFDLEVBQUU7Z0JBQzlCLEtBQUssTUFBTSxRQUFRLElBQUksTUFBTSxDQUFDLEdBQUcsQ0FBQyxFQUFFO29CQUNsQyxNQUFNLEtBQUssR0FBRyxRQUFRLENBQUMsZ0JBQWdCLENBQUMsbUJBQW1CLEdBQUcsR0FBRyxHQUFHLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO29CQUM1RSxJQUFLLEtBQUssQ0FBQyxVQUFVLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxLQUFnQixLQUFLLEdBQUcsRUFBRTt3QkFDakUsSUFBSSxDQUFDLHFCQUFxQixDQUFDLFlBQVksR0FBRyxHQUFHLENBQUMsQ0FBQzt3QkFDL0MsTUFBTSxPQUFPLEdBQUcsR0FBRyxDQUFBO3dCQUNuQixNQUFNLGVBQWUsR0FBRyxRQUFRLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMscUJBQXFCO3dCQUM5RSxlQUFlLENBQUMsU0FBUyxHQUFHLFFBQVEsQ0FBQzt3QkFDckMsZUFBZSxDQUFDLEtBQUssQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFBO3dCQUNuQyxlQUFlLENBQUMsU0FBUyxJQUFJLHlCQUF5QixHQUFHLEdBQUcsQ0FBQzt3QkFDN0QsTUFBTSxjQUFjLEdBQUcsZUFBZSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQzt3QkFDdkQsS0FBSyxDQUFDLFVBQVUsQ0FBQyxZQUFZLENBQUMsY0FBYyxFQUFFLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQzt3QkFDL0QsTUFBTTtxQkFDUDtpQkFDRjthQUNGO1NBQ0Y7SUFDSCxDQUFDO0lBRUQscUJBQXFCLENBQUMsU0FBUztRQUM3QixNQUFNLFFBQVEsR0FBRyxRQUFRLENBQUMsc0JBQXNCLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDNUQsT0FBTyxRQUFRLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtZQUMxQixRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztTQUNqRDtJQUNILENBQUM7SUFHRCxrQkFBa0IsQ0FBQyxJQUFlLEVBQUUsR0FBc0IsRUFBRSxjQUFtQyxFQUFDLE1BQWM7UUFDNUcsSUFBSSxHQUFHLENBQUMsS0FBSyxJQUFJLElBQUksRUFBRTtZQUNyQixPQUFPO1NBQ1I7UUFDRCxJQUFJLFdBQVcsR0FBVyxFQUFFLENBQUM7UUFFN0IsSUFBSSxDQUFDLGNBQWMsR0FBRyxjQUFjLENBQUM7UUFDckMsR0FBRyxDQUFDLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQyxPQUFPLENBQUMsQ0FBQyxPQUFtQixFQUFFLEVBQUU7WUFDMUQsSUFBSSxTQUFTLEdBQUcsT0FBTyxDQUFDLEtBQUssQ0FBQztZQUM5QixJQUFJLFdBQVcsR0FBRyxPQUFPLENBQUMsWUFBWSxDQUFDO1lBQ3ZDLElBQUksT0FBTyxHQUFHLE9BQU8sQ0FBQyxPQUFPLENBQUM7WUFDOUIsSUFBSSxJQUFJLElBQUksSUFBSSxFQUFFO2dCQUNoQixJQUFJLENBQUMsY0FBYyxDQUFDLGtCQUFrQixDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxrQkFBa0IsQ0FBQyxHQUFHLFNBQVMsS0FBSyxPQUFPLEVBQUUsQ0FBQyxDQUFBO2FBQzdMO2lCQUNJLElBQUksQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksRUFBRSxXQUFXLENBQUMsRUFBRTtnQkFDaEQsV0FBVyxDQUFDLElBQUksQ0FBQyxHQUFHLFNBQVMsS0FBSyxPQUFPLEVBQUUsQ0FBQyxDQUFBO2dCQUM1QywyREFBMkQ7YUFDNUQ7aUJBQ0k7Z0JBQ0gsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxPQUFPLENBQUMsQ0FBQzthQUMzRDtRQUNILENBQUMsQ0FBQyxDQUFDO1FBQ0gsSUFBRyxXQUFXLENBQUMsTUFBTSxHQUFDLENBQUM7WUFDckIsSUFBSSxDQUFDLGVBQWUsQ0FBQyxXQUFXLEVBQUMsTUFBTSxDQUFFLENBQUE7SUFHN0MsQ0FBQztJQUVPLGNBQWMsQ0FBQyxJQUFlLEVBQUUsV0FBbUI7UUFDekQsSUFBSSxPQUFPLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUNwQyxPQUFPLE9BQU8sSUFBSSxJQUFJLENBQUM7SUFDekIsQ0FBQztJQUVPLGFBQWEsQ0FBQyxJQUFlLEVBQUUsV0FBbUIsRUFBRSxTQUFpQixFQUFFLE9BQWU7UUFDNUYsSUFBSSxPQUFPLEdBQUUsSUFBSSxDQUFBO1FBQ2IsSUFBRyxXQUFXO1lBQ2QsT0FBTyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsV0FBVyxDQUFDLENBQUM7O1lBRWhDLE9BQU8sR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUM1QyxJQUFJLE1BQU0sR0FBSSxFQUFDLGNBQWMsRUFBRSxPQUFPLEVBQUMsQ0FBQztRQUN4QyxJQUFJLGNBQWMsR0FBRyxTQUFTLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQzFDLElBQUksY0FBYyxDQUFDLE1BQU0sSUFBSSxDQUFDLEVBQUU7WUFDNUIsUUFBUSxjQUFjLENBQUMsY0FBYyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxpQkFBaUIsRUFBRSxFQUFFO2dCQUMzRSxLQUFLLFNBQVM7b0JBQ1osSUFBSSxjQUFjLEdBQUcsT0FBTyxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsQ0FBQTtvQkFDM0MsY0FBYyxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQztvQkFDakMsTUFBTTtnQkFDUixLQUFLLFFBQVE7b0JBQ1gsSUFBSSxhQUFhLEdBQUcsT0FBTyxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsQ0FBQTtvQkFDekMsYUFBYSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQztvQkFDaEMsTUFBTTtnQkFFUjtvQkFDRSxPQUFPLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDO2FBQzdCO1NBRUY7YUFDSSxJQUFHLGNBQWMsQ0FBQyxNQUFNLElBQUksQ0FBQyxFQUNsQztZQUNHLE9BQU8sQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUM7U0FDNUI7YUFDSTtZQUNILElBQUksQ0FBQyxjQUFjLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLGtCQUFrQixDQUFDLEdBQUcsU0FBUyxLQUFLLE9BQU8sRUFBRSxDQUFDLENBQUE7U0FDN0w7SUFHSCxDQUFDOzs7O1lBekxGLFVBQVUsU0FBQztnQkFDVixVQUFVLEVBQUUsTUFBTTthQUNuQjs7O1lBUFEsY0FBYzs7QUFvQlY7SUFBVixPQUFPLEVBQUU7eURBQW9CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgT3B0aW9uYWwsIEhvc3QsIFNraXBTZWxmLCBDb21wb25lbnQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgSW5kaXZpZHVhbENvbmZpZywgVG9hc3RyU2VydmljZSB9IGZyb20gJ25neC10b2FzdHInO1xyXG5pbXBvcnQgeyBCbG9ja1VJLCBOZ0Jsb2NrVUkgfSBmcm9tICduZy1ibG9jay11aSc7XHJcbmltcG9ydCB7IEFic3RyYWN0Q29udHJvbCwgQ29udHJvbENvbnRhaW5lciwgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE5HX1ZBTFVFX0FDQ0VTU09SLCBGb3JtQ29udHJvbCwgRm9ybXNNb2R1bGUsIEZvcm1Hcm91cCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xyXG5pbXBvcnQgeyBIdHRwRXJyb3JSZXNwb25zZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcclxuaW1wb3J0IHsgRXJyb3JNb2RlbCB9IGZyb20gJy4uL21vZGVscy9FcnJvck1vZGVsJztcclxuaW1wb3J0IHsgVXRpbGl0eVNlcnZpY2UgfSBmcm9tICcuL3V0aWxpdHkuc2VydmljZSc7XHJcbmltcG9ydCB7IFJlcXVlc3RPcHRpb25zTW9kZWwgfSBmcm9tICcuLi9tb2RlbHMvUmVxdWVzdE9wdGlvbnNNb2RlbCc7XHJcblxyXG5cclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCdcclxufSlcclxuZXhwb3J0IGNsYXNzIENvbnRyb2xWYWxpZGF0aW9uU2VydmljZSB7XHJcbiAgcHJpdmF0ZSByZXF1ZXN0T3B0aW9uczogUmVxdWVzdE9wdGlvbnNNb2RlbCA9IG5ldyBSZXF1ZXN0T3B0aW9uc01vZGVsKCk7XHJcblxyXG4gIGNvbnN0cnVjdG9yXHJcbiAgICAoXHJcbiAgICAgIHByaXZhdGUgdXRpbGl0eVNlcnZpY2U6IFV0aWxpdHlTZXJ2aWNlXHJcbiAgICApIHtcclxuXHJcbiAgfVxyXG5cclxuICBpc0NyZWF0ZWRCZWZvciA9IGZhbHNlO1xyXG5cclxuICBAQmxvY2tVSSgpIGJsb2NrVUk6IE5nQmxvY2tVSTtcclxuXHJcbiAgc2hvd0dsb2JhbEVycm9yKGVycm9yTWVzc2FnZT86IHN0cmluZ3xzdHJpbmdbXSwgZm9ybUlkPzogc3RyaW5nLGRlbGV0ZU9sZD86Ym9vbGVhbikge1xyXG4gICAgbGV0IGdsb2JhbEVyb3JyRWxlbWVudCA9IGRvY3VtZW50LmdldEVsZW1lbnRzQnlDbGFzc05hbWUoJ2FsZXJ0IGFsZXJ0LWRhbmdlciBhbGVydC1JbnZhbGlkVmFsaWRhdGlvbicpXHJcbiAgICBpZiAoZ2xvYmFsRXJvcnJFbGVtZW50Lmxlbmd0aCA+IDAgKSB7XHJcbiAgICAgIHRoaXMucmVtb3ZlRWxlbWVudHNCeUNsYXNzKCdhbGVydCBhbGVydC1kYW5nZXIgYWxlcnQtSW52YWxpZFZhbGlkYXRpb24nKTtcclxuICAgIH1cclxuXHJcblxyXG4gICAgaWYgKHRoaXMuaXNDcmVhdGVkQmVmb3IgPT0gdHJ1ZSkge1xyXG4gICAgICB0aGlzLnJlbW92ZUVsZW1lbnRzQnlDbGFzcygnYWxlcnQgYWxlcnQtZGFuZ2VyIGFsZXJ0LUludmFsaWRWYWxpZGF0aW9uJyk7XHJcbiAgICB9XHJcblxyXG4gICAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOiBwcmVmZXItY29uc3RcclxuICAgIGlmICghZm9ybUlkKVxyXG4gICAgICBmb3JtSWQgPSBcImN1cnJlbnRGb3JtXCJcclxuICAgIHZhciBvYmplY3QgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChmb3JtSWQpO1xyXG4gICAgY29uc3QgdGFnTmFtZSA9ICdkaXYnO1xyXG4gICAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOiBwcmVmZXItY29uc3RcclxuICAgIHZhciBlbGVtZW50VG9BcHBlbmQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHRhZ05hbWUpOyAvLyBZb3VyIHRhZyBuYW1lIGhlcmVcclxuICAgIGxldCBtZXNzYWdlOnN0cmluZ3xzdHJpbmdbXSA9IFwiXCI7XHJcbiAgICBcclxuXHJcbiAgICBpZighZXJyb3JNZXNzYWdlfHwodHlwZW9mIGVycm9yTWVzc2FnZT09XCJzdHJpbmdcIikpXHJcbiAgICB7XHJcbiAgICAgIGlmIChsb2NhbFN0b3JhZ2UuZ2V0SXRlbSgnbGFuZ3VhZ2UnKSA9PSBcImFyXCIpXHJcbiAgICAgIG1lc3NhZ2UgPSBlcnJvck1lc3NhZ2UgPyBlcnJvck1lc3NhZ2UgOiBcItmE2K/ZitmDINio2LnYtSDYp9mE2KPYrti32KfYoSAuINmF2YYg2YHYttmE2YMg2YLZhSDYqNin2YTZhdix2KfYrNi52YcgXCI7XHJcbiAgICAgZWxzZVxyXG4gICAgICBtZXNzYWdlID0gZXJyb3JNZXNzYWdlID8gZXJyb3JNZXNzYWdlIDogXCJZb3UgaGF2ZSBzb21lIHZhbGlkYXRpb24gZXJyb3JzLiBQbGVhc2UgY2hlY2sgYmVsb3dcIlxyXG4gICAgICBlbGVtZW50VG9BcHBlbmQuaW5uZXJIVE1MID0gXCI8dWw+PGxpPlwiICsgbWVzc2FnZSArIFwiPC9saT48L3VsPlwiO1xyXG4gICAgICBlbGVtZW50VG9BcHBlbmQuY2xhc3NOYW1lICs9ICdhbGVydCBhbGVydC1kYW5nZXIgYWxlcnQtSW52YWxpZFZhbGlkYXRpb24nO1xyXG4gICAgICBlbGVtZW50VG9BcHBlbmQuaWQgKz0gJ2Vycm9ySWQnO1xyXG4gICAgICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6IHByZWZlci1mb3Itb2ZcclxuICAgICAgY29uc3QgZWxlbWVudFRvQXBwZW4gPSBlbGVtZW50VG9BcHBlbmQuY2xvbmVOb2RlKHRydWUpO1xyXG4gICAgICAvLyBsZXQgdGFyZ2V0RWxlbWVudCA9IG9iamVjdC5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKFwiYi1jb250cm9sXCIpWzBdO1xyXG4gICAgICBvYmplY3QuaW5zZXJ0QmVmb3JlKGVsZW1lbnRUb0FwcGVuLCBvYmplY3QuZmlyc3RDaGlsZCk7XHJcbiAgICB9XHJcbiAgICBlbHNlXHJcbiAgICB7XHJcbiAgICAgIGVsZW1lbnRUb0FwcGVuZC5pbm5lckhUTUwgPSBcIjx1bD5cIjtcclxuXHJcbiAgICAgIGZvciAoY29uc3QgaXRlcmF0b3Igb2YgZXJyb3JNZXNzYWdlKSB7XHJcbiAgICBcclxuICAgICAgICBlbGVtZW50VG9BcHBlbmQuaW5uZXJIVE1MID0gXCI8bGk+XCIgKyBpdGVyYXRvciArIFwiPC9saT5cIjtcclxuICAgICAgfVxyXG5cclxuICAgICAgZWxlbWVudFRvQXBwZW5kLmlubmVySFRNTCA9IFwiPC91bD5cIjtcclxuICAgICAgZWxlbWVudFRvQXBwZW5kLmNsYXNzTmFtZSArPSAnYWxlcnQgYWxlcnQtZGFuZ2VyIGFsZXJ0LUludmFsaWRWYWxpZGF0aW9uJztcclxuICAgICAgZWxlbWVudFRvQXBwZW5kLmlkICs9ICdlcnJvcklkJztcclxuICAgICAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOiBwcmVmZXItZm9yLW9mXHJcbiAgICAgIGNvbnN0IGVsZW1lbnRUb0FwcGVuID0gZWxlbWVudFRvQXBwZW5kLmNsb25lTm9kZSh0cnVlKTtcclxuICAgICAgLy8gbGV0IHRhcmdldEVsZW1lbnQgPSBvYmplY3QuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZShcImItY29udHJvbFwiKVswXTtcclxuICAgICAgb2JqZWN0Lmluc2VydEJlZm9yZShlbGVtZW50VG9BcHBlbiwgb2JqZWN0LmZpcnN0Q2hpbGQpO1xyXG4gICAgfVxyXG4gIFxyXG4gICAgdGhpcy5pc0NyZWF0ZWRCZWZvciA9IHRydWU7XHJcblxyXG4gIH1cclxuXHJcbiAgUmVtb3ZlR2xvYmFsRXJyb3IoKSB7XHJcbiAgICBjb25zdCByZW1vdmVkTGlzdCA9IGRvY3VtZW50LmdldEVsZW1lbnRzQnlDbGFzc05hbWUoJ2FsZXJ0IGFsZXJ0LWRhbmdlciBhbGVydC1JbnZhbGlkVmFsaWRhdGlvbicpO1xyXG4gICAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOiBwcmVmZXItZm9yLW9mXHJcbiAgICBmb3IgKGxldCBpbmRleCA9IDA7IGluZGV4IDwgcmVtb3ZlZExpc3QubGVuZ3RoOyBpbmRleCsrKSB7XHJcbiAgICAgIGNvbnN0IGVsZW1lbnQgPSByZW1vdmVkTGlzdFtpbmRleF07XHJcbiAgICAgIGVsZW1lbnQucmVtb3ZlKCk7XHJcbiAgICB9XHJcbiAgICB0aGlzLmlzQ3JlYXRlZEJlZm9yID0gZmFsc2U7XHJcbiAgfVxyXG5cclxuICBzaG93SW5wdXRFcnJvKGVycm9yczogYW55KSB7XHJcblxyXG4gICAgLy8gc2hvdyBlcnJvciBvbiB0b3Agb2YgZm9ybSBcclxuICAgIHRoaXMuc2hvd0dsb2JhbEVycm9yKCk7XHJcbiAgICAvLyByZW1vdmUgb2xkIGVycm9yIGZyb20gc2VydmVyXHJcbiAgICB0aGlzLnJlbW92ZUVsZW1lbnRzQnlDbGFzcygnZXJyb3J0ZW1wbGV0Jyk7XHJcbiAgICAvLyBMb29waW5nIGluIGVycm9yIE9iamVjdFxyXG4gICAgZm9yIChjb25zdCBrZXkgaW4gZXJyb3JzKSB7XHJcbiAgICAgIGlmIChlcnJvcnMuaGFzT3duUHJvcGVydHkoa2V5KSkge1xyXG4gICAgICAgIGZvciAoY29uc3QgaXRlcmF0b3Igb2YgZXJyb3JzW2tleV0pIHtcclxuICAgICAgICAgIGNvbnN0IGlucHV0ID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgnW25nLXJlZmxlY3QtbmFtZT0nICsga2V5ICsgJ10nKVswXTtcclxuICAgICAgICAgIGlmICgoaW5wdXQuYXR0cmlidXRlc1snbmctcmVmbGVjdC1uYW1lJ10udmFsdWUgYXMgc3RyaW5nKSA9PT0ga2V5KSB7XHJcbiAgICAgICAgICAgIHRoaXMucmVtb3ZlRWxlbWVudHNCeUNsYXNzKCdlcnJvY2xhc3MtJyArIGtleSk7XHJcbiAgICAgICAgICAgIGNvbnN0IHRhZ05hbWUgPSAncCdcclxuICAgICAgICAgICAgY29uc3QgZWxlbWVudFRvQXBwZW5kID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTsgLy8gWW91ciB0YWcgbmFtZSBoZXJlXHJcbiAgICAgICAgICAgIGVsZW1lbnRUb0FwcGVuZC5pbm5lckhUTUwgPSBpdGVyYXRvcjtcclxuICAgICAgICAgICAgZWxlbWVudFRvQXBwZW5kLnN0eWxlLmNvbG9yID0gJ3JlZCdcclxuICAgICAgICAgICAgZWxlbWVudFRvQXBwZW5kLmNsYXNzTmFtZSArPSAnZXJyb3J0ZW1wbGV0IGVycm9jbGFzcy0nICsga2V5O1xyXG4gICAgICAgICAgICBjb25zdCBlbGVtZW50VG9hcHBlbiA9IGVsZW1lbnRUb0FwcGVuZC5jbG9uZU5vZGUodHJ1ZSk7XHJcbiAgICAgICAgICAgIGlucHV0LnBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKGVsZW1lbnRUb2FwcGVuLCBpbnB1dC5sYXN0Q2hpbGQpO1xyXG4gICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIHJlbW92ZUVsZW1lbnRzQnlDbGFzcyhjbGFzc05hbWUpIHtcclxuICAgIGNvbnN0IGVsZW1lbnRzID0gZG9jdW1lbnQuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZShjbGFzc05hbWUpO1xyXG4gICAgd2hpbGUgKGVsZW1lbnRzLmxlbmd0aCA+IDApIHtcclxuICAgICAgZWxlbWVudHNbMF0ucGFyZW50Tm9kZS5yZW1vdmVDaGlsZChlbGVtZW50c1swXSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuXHJcbiAgcmVuZGVyU2VydmVyRXJyb3JzKGZvcm06IEZvcm1Hcm91cCwgZXJyOiBIdHRwRXJyb3JSZXNwb25zZSwgcmVxdWVzdE9wdGlvbnM6IFJlcXVlc3RPcHRpb25zTW9kZWwsZm9ybUlkPzpzdHJpbmcpIHtcclxuICAgIGlmIChlcnIuZXJyb3IgPT0gbnVsbCkge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICBsZXQgZXJyb3JzQXJyYXk6c3RyaW5nW10gPVtdO1xyXG4gXHJcbiAgICB0aGlzLnJlcXVlc3RPcHRpb25zID0gcmVxdWVzdE9wdGlvbnM7XHJcbiAgICBlcnIuZXJyb3IudmFsaWRhdGlvbl9lcnJvcnMuZm9yRWFjaCgoZWxlbWVudDogRXJyb3JNb2RlbCkgPT4ge1xyXG4gICAgICBsZXQgZmllbGROYW1lID0gZWxlbWVudC5maWVsZDtcclxuICAgICAgbGV0IGNvbnRyb2xOYW1lID0gZWxlbWVudC5jb250cm9sX25hbWU7XHJcbiAgICAgIGxldCBtZXNzYWdlID0gZWxlbWVudC5tZXNzYWdlO1xyXG4gICAgICBpZiAoZm9ybSA9PSBudWxsKSB7XHJcbiAgICAgICAgdGhpcy5yZXF1ZXN0T3B0aW9ucy5jdXN0b21FcnJvck1lc3NhZ2UgPyB0aGlzLnV0aWxpdHlTZXJ2aWNlLm5vdGlmeUVycm9yTWVzc2FnZSh0aGlzLnJlcXVlc3RPcHRpb25zLmN1c3RvbUVycm9yTWVzc2FnZSkgOiB0aGlzLnV0aWxpdHlTZXJ2aWNlLm5vdGlmeUVycm9yTWVzc2FnZShgJHtmaWVsZE5hbWV9OiAke21lc3NhZ2V9YClcclxuICAgICAgfVxyXG4gICAgICBlbHNlIGlmICghdGhpcy5oYXNDb250cm9sTmFtZShmb3JtLCBjb250cm9sTmFtZSkpIHtcclxuICAgICAgICBlcnJvcnNBcnJheS5wdXNoKGAke2ZpZWxkTmFtZX06ICR7bWVzc2FnZX1gKVxyXG4gICAgICAgIC8vIHRoaXMuc2hvd0dsb2JhbEVycm9yKGAke2ZpZWxkTmFtZX06ICR7bWVzc2FnZX1gLGZvcm1JZCApXHJcbiAgICAgIH1cclxuICAgICAgZWxzZSB7XHJcbiAgICAgICAgdGhpcy5zZXRGaWVsZEVycm9yKGZvcm0sIGNvbnRyb2xOYW1lLCBmaWVsZE5hbWUsIG1lc3NhZ2UpO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICAgIGlmKGVycm9yc0FycmF5Lmxlbmd0aD4wKVxyXG4gICAgICB0aGlzLnNob3dHbG9iYWxFcnJvcihlcnJvcnNBcnJheSxmb3JtSWQgKVxyXG5cclxuXHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGhhc0NvbnRyb2xOYW1lKGZvcm06IEZvcm1Hcm91cCwgY29udHJvbE5hbWU6IHN0cmluZyk6IGJvb2xlYW4ge1xyXG4gICAgbGV0IGNvbnRyb2wgPSBmb3JtLmdldChjb250cm9sTmFtZSk7XHJcbiAgICByZXR1cm4gY29udHJvbCAhPSBudWxsO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBzZXRGaWVsZEVycm9yKGZvcm06IEZvcm1Hcm91cCwgY29udHJvbE5hbWU6IHN0cmluZywgZmllbGROYW1lOiBzdHJpbmcsIG1lc3NhZ2U6IHN0cmluZykge1xyXG4gICAgbGV0IGNvbnRyb2wgPW51bGxcclxuICAgICAgICBpZihjb250cm9sTmFtZSlcclxuICAgICAgICBjb250cm9sID0gZm9ybS5nZXQoY29udHJvbE5hbWUpO1xyXG4gICAgICAgIGVsc2VcclxuICAgICAgICBjb250cm9sID0gZm9ybS5nZXQoZmllbGROYW1lLnNwbGl0KCcuJylbMF0pO1xyXG4gICAgICAgIGxldCBlcnJvcnMgPSAge1wiZXJyb3JNYXNzYWdlXCI6IG1lc3NhZ2V9O1xyXG4gICAgICAgIGxldCBmaWVsZE5hbWVBcnJheSA9IGZpZWxkTmFtZS5zcGxpdCgnLicpO1xyXG4gICAgICAgIGlmIChmaWVsZE5hbWVBcnJheS5sZW5ndGggPj0gMSkge1xyXG4gICAgICAgICAgICBzd2l0Y2ggKGZpZWxkTmFtZUFycmF5W2ZpZWxkTmFtZUFycmF5Lmxlbmd0aCAtIDFdLnRvTG9jYWxlTG93ZXJDYXNlKCkpIHtcclxuICAgICAgICBjYXNlIFwiZW5nbGlzaFwiOlxyXG4gICAgICAgICAgbGV0IGVuZ2xpc2hDb250cm9sID0gY29udHJvbC5nZXQoXCJFbmdsaXNoXCIpXHJcbiAgICAgICAgICBlbmdsaXNoQ29udHJvbC5zZXRFcnJvcnMoZXJyb3JzKTtcclxuICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgIGNhc2UgXCJhcmFiaWNcIjpcclxuICAgICAgICAgIGxldCBhcmFiaWNDb250cm9sID0gY29udHJvbC5nZXQoXCJBcmFiaWNcIilcclxuICAgICAgICAgIGFyYWJpY0NvbnRyb2wuc2V0RXJyb3JzKGVycm9ycyk7XHJcbiAgICAgICAgICBicmVhaztcclxuXHJcbiAgICAgICAgZGVmYXVsdDpcclxuICAgICAgICAgIGNvbnRyb2wuc2V0RXJyb3JzKGVycm9ycyk7XHJcbiAgICAgIH1cclxuXHJcbiAgICB9XHJcbiAgICBlbHNlIGlmKGZpZWxkTmFtZUFycmF5Lmxlbmd0aCA9PSAxKVxyXG4gICAgeyAgICAgICAgIFxyXG4gICAgICAgY29udHJvbC5zZXRFcnJvcnMoZXJyb3JzKTtcclxuICAgIH1cclxuICAgIGVsc2Uge1xyXG4gICAgICB0aGlzLnJlcXVlc3RPcHRpb25zLmN1c3RvbUVycm9yTWVzc2FnZSA/IHRoaXMudXRpbGl0eVNlcnZpY2Uubm90aWZ5RXJyb3JNZXNzYWdlKHRoaXMucmVxdWVzdE9wdGlvbnMuY3VzdG9tRXJyb3JNZXNzYWdlKSA6IHRoaXMudXRpbGl0eVNlcnZpY2Uubm90aWZ5RXJyb3JNZXNzYWdlKGAke2ZpZWxkTmFtZX06ICR7bWVzc2FnZX1gKVxyXG4gICAgfVxyXG5cclxuXHJcbiAgfVxyXG5cclxuXHJcbn1cclxuIl19
@@ -17,6 +17,10 @@ export class EnvironmentService {
17
17
  let Mode = environment["BBSF_IsProduction"];
18
18
  return Mode;
19
19
  }
20
+ getDefaultLanguage() {
21
+ let Mode = environment["BBSF_DefaultLanguage"];
22
+ return Mode;
23
+ }
20
24
  getIdentityServerUrl() {
21
25
  let Url = environment["BBSF_IdentityServerUrl"];
22
26
  return Url;
@@ -28,4 +32,4 @@ EnvironmentService.decorators = [
28
32
  providedIn: 'root'
29
33
  },] }
30
34
  ];
31
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW52aXJvbm1lbnQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Jic2YtdXRpbGl0aWVzL3NyYy9saWIvc2hhcmVkL3NlcnZpY2VzL2Vudmlyb25tZW50LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7O0FBS3BELE1BQU0sT0FBTyxrQkFBa0I7SUFFN0Isb0JBQW9CO1FBQ2xCLE9BQU8sV0FBVyxDQUFDO0lBQ3JCLENBQUM7SUFFRCxVQUFVO1FBQ1IsSUFBSSxHQUFHLEdBQUcsV0FBVyxDQUFDLGNBQWMsQ0FBQyxDQUFBO1FBQ3JDLE9BQU8sR0FBRyxDQUFDO0lBQ2IsQ0FBQztJQUNELFNBQVM7UUFDUCxJQUFJLEdBQUcsR0FBRyxXQUFXLENBQUMsYUFBYSxDQUFDLENBQUE7UUFDcEMsT0FBTyxHQUFHLENBQUM7SUFDYixDQUFDO0lBR0QsaUJBQWlCO1FBQ2YsSUFBSSxJQUFJLEdBQUcsV0FBVyxDQUFDLG1CQUFtQixDQUFZLENBQUE7UUFDdEQsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQsb0JBQW9CO1FBQ2xCLElBQUksR0FBRyxHQUFHLFdBQVcsQ0FBQyx3QkFBd0IsQ0FBQyxDQUFBO1FBQy9DLE9BQU8sR0FBRyxDQUFDO0lBQ2IsQ0FBQzs7OztZQTNCRixVQUFVLFNBQUM7Z0JBQ1YsVUFBVSxFQUFFLE1BQU07YUFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IGVudmlyb25tZW50IH0gZnJvbSAnLi4vY29uZmlnL2Vudmlyb25tZW50JztcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCdcclxufSlcclxuZXhwb3J0IGNsYXNzIEVudmlyb25tZW50U2VydmljZSB7XHJcblxyXG4gIGdldEVudmlyb25tZW50T2JqZWN0KCkge1xyXG4gICAgcmV0dXJuIGVudmlyb25tZW50O1xyXG4gIH1cclxuXHJcbiAgZ2V0QmFzZVVybCgpIHtcclxuICAgIGxldCBVcmwgPSBlbnZpcm9ubWVudFtcIkJCU0ZfQmFzZVVybFwiXVxyXG4gICAgcmV0dXJuIFVybDtcclxuICB9XHJcbiAgZ2V0QXBpVXJsKCkge1xyXG4gICAgbGV0IFVybCA9IGVudmlyb25tZW50W1wiQkJTRl9BcGlVcmxcIl1cclxuICAgIHJldHVybiBVcmw7XHJcbiAgfVxyXG5cclxuXHJcbiAgZ2V0UHJvZHVjdGlvbk1vZGUoKSB7XHJcbiAgICBsZXQgTW9kZSA9IGVudmlyb25tZW50W1wiQkJTRl9Jc1Byb2R1Y3Rpb25cIl0gYXMgYm9vbGVhblxyXG4gICAgcmV0dXJuIE1vZGU7XHJcbiAgfVxyXG5cclxuICBnZXRJZGVudGl0eVNlcnZlclVybCgpIHtcclxuICAgIGxldCBVcmwgPSBlbnZpcm9ubWVudFtcIkJCU0ZfSWRlbnRpdHlTZXJ2ZXJVcmxcIl1cclxuICAgIHJldHVybiBVcmw7XHJcbiAgfVxyXG59Il19
35
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW52aXJvbm1lbnQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Jic2YtdXRpbGl0aWVzL3NyYy9saWIvc2hhcmVkL3NlcnZpY2VzL2Vudmlyb25tZW50LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7O0FBS3BELE1BQU0sT0FBTyxrQkFBa0I7SUFFN0Isb0JBQW9CO1FBQ2xCLE9BQU8sV0FBVyxDQUFDO0lBQ3JCLENBQUM7SUFFRCxVQUFVO1FBQ1IsSUFBSSxHQUFHLEdBQUcsV0FBVyxDQUFDLGNBQWMsQ0FBQyxDQUFBO1FBQ3JDLE9BQU8sR0FBRyxDQUFDO0lBQ2IsQ0FBQztJQUNELFNBQVM7UUFDUCxJQUFJLEdBQUcsR0FBRyxXQUFXLENBQUMsYUFBYSxDQUFDLENBQUE7UUFDcEMsT0FBTyxHQUFHLENBQUM7SUFDYixDQUFDO0lBR0QsaUJBQWlCO1FBQ2YsSUFBSSxJQUFJLEdBQUcsV0FBVyxDQUFDLG1CQUFtQixDQUFZLENBQUE7UUFDdEQsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQsa0JBQWtCO1FBQ2hCLElBQUksSUFBSSxHQUFHLFdBQVcsQ0FBQyxzQkFBc0IsQ0FBVyxDQUFBO1FBQ3hELE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUNELG9CQUFvQjtRQUNsQixJQUFJLEdBQUcsR0FBRyxXQUFXLENBQUMsd0JBQXdCLENBQUMsQ0FBQTtRQUMvQyxPQUFPLEdBQUcsQ0FBQztJQUNiLENBQUM7Ozs7WUEvQkYsVUFBVSxTQUFDO2dCQUNWLFVBQVUsRUFBRSxNQUFNO2FBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBlbnZpcm9ubWVudCB9IGZyb20gJy4uL2NvbmZpZy9lbnZpcm9ubWVudCc7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBFbnZpcm9ubWVudFNlcnZpY2Uge1xyXG5cclxuICBnZXRFbnZpcm9ubWVudE9iamVjdCgpIHtcclxuICAgIHJldHVybiBlbnZpcm9ubWVudDtcclxuICB9XHJcblxyXG4gIGdldEJhc2VVcmwoKSB7XHJcbiAgICBsZXQgVXJsID0gZW52aXJvbm1lbnRbXCJCQlNGX0Jhc2VVcmxcIl1cclxuICAgIHJldHVybiBVcmw7XHJcbiAgfVxyXG4gIGdldEFwaVVybCgpIHtcclxuICAgIGxldCBVcmwgPSBlbnZpcm9ubWVudFtcIkJCU0ZfQXBpVXJsXCJdXHJcbiAgICByZXR1cm4gVXJsO1xyXG4gIH1cclxuXHJcblxyXG4gIGdldFByb2R1Y3Rpb25Nb2RlKCkge1xyXG4gICAgbGV0IE1vZGUgPSBlbnZpcm9ubWVudFtcIkJCU0ZfSXNQcm9kdWN0aW9uXCJdIGFzIGJvb2xlYW5cclxuICAgIHJldHVybiBNb2RlO1xyXG4gIH1cclxuXHJcbiAgZ2V0RGVmYXVsdExhbmd1YWdlKCkge1xyXG4gICAgbGV0IE1vZGUgPSBlbnZpcm9ubWVudFtcIkJCU0ZfRGVmYXVsdExhbmd1YWdlXCJdIGFzIHN0cmluZ1xyXG4gICAgcmV0dXJuIE1vZGU7XHJcbiAgfVxyXG4gIGdldElkZW50aXR5U2VydmVyVXJsKCkge1xyXG4gICAgbGV0IFVybCA9IGVudmlyb25tZW50W1wiQkJTRl9JZGVudGl0eVNlcnZlclVybFwiXVxyXG4gICAgcmV0dXJuIFVybDtcclxuICB9XHJcbn0iXX0=
@@ -1,39 +1,39 @@
1
1
  import { Injectable } from '@angular/core';
2
2
  import { HttpClient, HttpHeaders } from "@angular/common/http";
3
3
  import { RequestOptionsModel } from '../models/RequestOptionsModel';
4
+ import { Observable } from 'rxjs/internal/Observable';
4
5
  import { AuthService } from '../authentication/auth.service';
5
6
  import { EnvironmentService } from './environment.service';
6
7
  import { Subject } from 'rxjs';
7
8
  import { UtilityService } from './utility.service';
8
9
  import { takeUntil, tap } from 'rxjs/operators';
9
- import { ControlValidationService } from './controlvalidation.service';
10
10
  import { BBSFTranslateService } from './translate.service';
11
- import * as i0 from "@angular/core";
12
- import * as i1 from "@angular/common/http";
13
- import * as i2 from "../authentication/auth.service";
14
- import * as i3 from "./environment.service";
15
- import * as i4 from "./utility.service";
16
- import * as i5 from "./controlvalidation.service";
17
- import * as i6 from "./translate.service";
18
11
  export class RequestHandlerService {
19
- constructor(http, authService, environmentService, utilityService, controlValidationService, bbsfTranslateService) {
12
+ constructor(http, authService, environmentService, utilityService, bbsfTranslateService) {
13
+ //using localStorage to avoid call getCurrentLanguage() because it is not all to use async in constructor
20
14
  this.http = http;
21
15
  this.authService = authService;
22
16
  this.environmentService = environmentService;
23
17
  this.utilityService = utilityService;
24
- this.controlValidationService = controlValidationService;
25
18
  this.bbsfTranslateService = bbsfTranslateService;
26
19
  this.requestOptions = new RequestOptionsModel();
27
20
  this.currentLanguage = "";
28
21
  this.onDestroy$ = new Subject();
29
- //using localStorage to avoid call getCurrentLanguage() because it is not all to use async in constructor
30
- this.currentLanguage = localStorage.getItem('language');
31
22
  this.bbsfTranslateService.onLangChange.subscribe((event) => {
32
23
  if (this.currentLanguage != event.lang) {
33
24
  this.currentLanguage = event.lang;
34
25
  }
35
26
  });
36
27
  }
28
+ getLuckyNumber() {
29
+ return Observable.create((subject) => {
30
+ setInterval(() => {
31
+ const number = Math.floor(Math.random() * 10);
32
+ console.log(number);
33
+ subject.next(number);
34
+ }, 1000);
35
+ }).pipe(takeUntil(this.onDestroy$));
36
+ }
37
37
  get(Url, params, requestOptions) {
38
38
  if (requestOptions)
39
39
  this.requestOptions = requestOptions;
@@ -41,7 +41,9 @@ export class RequestHandlerService {
41
41
  'Content-Type': 'application/json',
42
42
  'Authorization': this.authService.authorizationHeaderValue(),
43
43
  });
44
+ this.currentLanguage = localStorage.getItem('language');
44
45
  headers = headers.set('Accept-Language', this.currentLanguage.toString());
46
+ headers = headers.set('ignore-cookies', 'true');
45
47
  if (!this.requestOptions.disableBlockUI)
46
48
  this.utilityService.startBlockUI();
47
49
  return this.http.get(this.environmentService.getApiUrl() + Url, { headers: headers, params: params }).pipe(takeUntil(this.onDestroy$), tap((result) => {
@@ -56,7 +58,9 @@ export class RequestHandlerService {
56
58
  'Content-Type': 'application/json',
57
59
  'Authorization': this.authService.authorizationHeaderValue(),
58
60
  });
61
+ this.currentLanguage = localStorage.getItem('language');
59
62
  headers = headers.set('Accept-Language', this.currentLanguage.toString());
63
+ headers = headers.set('ignore-cookies', 'true');
60
64
  if (!this.requestOptions.disableBlockUI)
61
65
  this.utilityService.startBlockUI();
62
66
  return this.http.post(this.environmentService.getApiUrl() + Url, model, { headers: headers, params: params, responseType: this.requestOptions.responseType }).pipe(takeUntil(this.onDestroy$), tap((result) => {
@@ -64,22 +68,56 @@ export class RequestHandlerService {
64
68
  this.utilityService.stopBlockUI();
65
69
  }));
66
70
  }
71
+ delete(Url, deletedId, params, requestOptions) {
72
+ if (requestOptions)
73
+ this.requestOptions = requestOptions;
74
+ let headers = new HttpHeaders({
75
+ 'Content-Type': 'application/json',
76
+ 'Authorization': this.authService.authorizationHeaderValue(),
77
+ });
78
+ this.currentLanguage = localStorage.getItem('language');
79
+ headers = headers.set('Accept-Language', this.currentLanguage.toString());
80
+ headers = headers.set('ignore-cookies', 'true');
81
+ if (!this.requestOptions.disableBlockUI)
82
+ this.utilityService.startBlockUI();
83
+ return this.http.delete(this.environmentService.getApiUrl() + Url + `/${deletedId}`, { headers: headers, params: params }).pipe(takeUntil(this.onDestroy$), tap((result) => {
84
+ if (!this.requestOptions.disableBlockUI)
85
+ this.utilityService.stopBlockUI();
86
+ }));
87
+ }
88
+ put(Url, model, params, requestOptions) {
89
+ if (requestOptions)
90
+ this.requestOptions = requestOptions;
91
+ let headers = new HttpHeaders({
92
+ 'Content-Type': 'application/json',
93
+ 'Authorization': this.authService.authorizationHeaderValue(),
94
+ });
95
+ this.currentLanguage = localStorage.getItem('language');
96
+ headers = headers.set('Accept-Language', this.currentLanguage.toString());
97
+ headers = headers.set('ignore-cookies', 'true');
98
+ if (!this.requestOptions.disableBlockUI)
99
+ this.utilityService.startBlockUI();
100
+ return this.http.put(this.environmentService.getApiUrl() + Url, model, { headers: headers, params: params, responseType: this.requestOptions.responseType }).pipe(takeUntil(this.onDestroy$), tap((result) => {
101
+ if (!this.requestOptions.disableBlockUI)
102
+ this.utilityService.stopBlockUI();
103
+ }));
104
+ }
67
105
  destroyHandler() {
68
106
  this.onDestroy$.next();
69
107
  }
108
+ ngOnDestroy() {
109
+ console.log("clearInterval");
110
+ this.destroyHandler();
111
+ }
70
112
  }
71
- RequestHandlerService.ɵprov = i0.ɵɵdefineInjectable({ factory: function RequestHandlerService_Factory() { return new RequestHandlerService(i0.ɵɵinject(i1.HttpClient), i0.ɵɵinject(i2.AuthService), i0.ɵɵinject(i3.EnvironmentService), i0.ɵɵinject(i4.UtilityService), i0.ɵɵinject(i5.ControlValidationService), i0.ɵɵinject(i6.BBSFTranslateService)); }, token: RequestHandlerService, providedIn: "root" });
72
113
  RequestHandlerService.decorators = [
73
- { type: Injectable, args: [{
74
- providedIn: 'root'
75
- },] }
114
+ { type: Injectable }
76
115
  ];
77
116
  RequestHandlerService.ctorParameters = () => [
78
117
  { type: HttpClient },
79
118
  { type: AuthService },
80
119
  { type: EnvironmentService },
81
120
  { type: UtilityService },
82
- { type: ControlValidationService },
83
121
  { type: BBSFTranslateService }
84
122
  ];
85
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVxdWVzdGhhbmRsZXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Jic2YtdXRpbGl0aWVzL3NyYy9saWIvc2hhcmVkL3NlcnZpY2VzL3JlcXVlc3RoYW5kbGVyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsVUFBVSxFQUFxQixXQUFXLEVBQWMsTUFBTSxzQkFBc0IsQ0FBQztBQUM5RixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUVwRSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDN0QsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDM0QsT0FBTyxFQUFFLE9BQU8sRUFBYyxNQUFNLE1BQU0sQ0FBQztBQUMzQyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDbkQsT0FBTyxFQUFjLFNBQVMsRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUc1RCxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUN2RSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQzs7Ozs7Ozs7QUFLM0QsTUFBTSxPQUFPLHFCQUFxQjtJQUloQyxZQUVZLElBQWdCLEVBQ2hCLFdBQXdCLEVBQ3hCLGtCQUFzQyxFQUN0QyxjQUE4QixFQUM5Qix3QkFBa0QsRUFDbEQsb0JBQTBDO1FBTDFDLFNBQUksR0FBSixJQUFJLENBQVk7UUFDaEIsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFDeEIsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUFvQjtRQUN0QyxtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFDOUIsNkJBQXdCLEdBQXhCLHdCQUF3QixDQUEw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QUFFO1lBQ2IsSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsY0FBYztnQkFDcEMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUN2QyxDQUFDLENBQUMsQ0FDSCxDQUFDO0lBQ0osQ0FBQztJQUVNLGNBQWM7UUFDbkIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUN6QixDQUFDOzs7O1lBbkVGLFVBQVUsU0FBQztnQkFDVixVQUFVLEVBQUUsTUFBTTthQUNuQjs7O1lBZlEsVUFBVTtZQUdWLFdBQVc7WUFDWCxrQkFBa0I7WUFFbEIsY0FBYztZQUlkLHdCQUF3QjtZQUN4QixvQkFBb0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEh0dHBDbGllbnQsIEh0dHBFcnJvclJlc3BvbnNlLCBIdHRwSGVhZGVycywgSHR0cFBhcmFtcyB9IGZyb20gXCJAYW5ndWxhci9jb21tb24vaHR0cFwiO1xyXG5pbXBvcnQgeyBSZXF1ZXN0T3B0aW9uc01vZGVsIH0gZnJvbSAnLi4vbW9kZWxzL1JlcXVlc3RPcHRpb25zTW9kZWwnO1xyXG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcy9pbnRlcm5hbC9PYnNlcnZhYmxlJztcclxuaW1wb3J0IHsgQXV0aFNlcnZpY2UgfSBmcm9tICcuLi9hdXRoZW50aWNhdGlvbi9hdXRoLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBFbnZpcm9ubWVudFNlcnZpY2UgfSBmcm9tICcuL2Vudmlyb25tZW50LnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBTdWJqZWN0LCB0aHJvd0Vycm9yIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IFV0aWxpdHlTZXJ2aWNlIH0gZnJvbSAnLi91dGlsaXR5LnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBjYXRjaEVycm9yLCB0YWtlVW50aWwsIHRhcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHsgRm9ybUdyb3VwIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBFcnJvck1vZGVsIH0gZnJvbSAnLi4vbW9kZWxzL0Vycm9yTW9kZWwnO1xyXG5pbXBvcnQgeyBDb250cm9sVmFsaWRhdGlvblNlcnZpY2UgfSBmcm9tICcuL2NvbnRyb2x2YWxpZGF0aW9uLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBCQlNGVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJy4vdHJhbnNsYXRlLnNlcnZpY2UnO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290J1xyXG59KVxyXG5leHBvcnQgY2xhc3MgUmVxdWVzdEhhbmRsZXJTZXJ2aWNlIHtcclxuICBwcml2YXRlIHJlcXVlc3RPcHRpb25zOiBSZXF1ZXN0T3B0aW9uc01vZGVsID0gbmV3IFJlcXVlc3RPcHRpb25zTW9kZWwoKTtcclxuICBwcml2YXRlIGN1cnJlbnRMYW5ndWFnZSA9IFwiXCI7XHJcbiAgcHJpdmF0ZSBvbkRlc3Ryb3kkOiBTdWJqZWN0PHZvaWQ+ID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcclxuICBjb25zdHJ1Y3RvclxyXG4gICAgKFxyXG4gICAgICBwcml2YXRlIGh0dHA6IEh0dHBDbGllbnQsXHJcbiAgICAgIHByaXZhdGUgYXV0aFNlcnZpY2U6IEF1dGhTZXJ2aWNlLFxyXG4gICAgICBwcml2YXRlIGVudmlyb25tZW50U2VydmljZTogRW52aXJvbm1lbnRTZXJ2aWNlLFxyXG4gICAgICBwcml2YXRlIHV0aWxpdHlTZXJ2aWNlOiBVdGlsaXR5U2VydmljZSxcclxuICAgICAgcHJpdmF0ZSBjb250cm9sVmFsaWRhdGlvblNlcnZpY2U6IENvbnRyb2xWYWxpZGF0aW9uU2VydmljZSxcclxuICAgICAgcHJpdmF0ZSBiYnNmVHJhbnNsYXRlU2VydmljZTogQkJTRlRyYW5zbGF0ZVNlcnZpY2VcclxuICAgICkge1xyXG4gICAgLy91c2luZyBsb2NhbFN0b3JhZ2UgIHRvIGF2b2lkIGNhbGwgZ2V0Q3VycmVudExhbmd1YWdlKCkgYmVjYXVzZSBpdCBpcyBub3QgYWxsIHRvIHVzZSBhc3luYyBpbiBjb25zdHJ1Y3RvclxyXG4gICAgdGhpcy5jdXJyZW50TGFuZ3VhZ2UgPSBsb2NhbFN0b3JhZ2UuZ2V0SXRlbSgnbGFuZ3VhZ2UnKTtcclxuXHJcbiAgICB0aGlzLmJic2ZUcmFuc2xhdGVTZXJ2aWNlLm9uTGFuZ0NoYW5nZS5zdWJzY3JpYmUoKGV2ZW50KSA9PiB7XHJcbiAgICAgIGlmICh0aGlzLmN1cnJlbnRMYW5ndWFnZSAhPSBldmVudC5sYW5nKSB7XHJcbiAgICAgICAgdGhpcy5jdXJyZW50TGFuZ3VhZ2UgPSBldmVudC5sYW5nO1xyXG4gICAgICB9XHJcbiAgICB9KVxyXG4gIH1cclxuXHJcbiAgZ2V0KFVybDogc3RyaW5nLCBwYXJhbXM/OiBIdHRwUGFyYW1zLCByZXF1ZXN0T3B0aW9ucz86IFJlcXVlc3RPcHRpb25zTW9kZWwpIHtcclxuICAgIGlmIChyZXF1ZXN0T3B0aW9ucylcclxuICAgICAgdGhpcy5yZXF1ZXN0T3B0aW9ucyA9IHJlcXVlc3RPcHRpb25zO1xyXG4gICAgbGV0IGhlYWRlcnMgPSBuZXcgSHR0cEhlYWRlcnMoe1xyXG4gICAgICAnQ29udGVudC1UeXBlJzogJ2FwcGxpY2F0aW9uL2pzb24nLFxyXG4gICAgICAnQXV0aG9yaXphdGlvbic6IHRoaXMuYXV0aFNlcnZpY2UuYXV0aG9yaXphdGlvbkhlYWRlclZhbHVlKCksXHJcbiAgICB9KTtcclxuICAgIGhlYWRlcnMgPSBoZWFkZXJzLnNldCgnQWNjZXB0LUxhbmd1YWdlJywgdGhpcy5jdXJyZW50TGFuZ3VhZ2UudG9TdHJpbmcoKSk7XHJcbiAgICBpZiAoIXRoaXMucmVxdWVzdE9wdGlvbnMuZGlzYWJsZUJsb2NrVUkpXHJcbiAgICAgIHRoaXMudXRpbGl0eVNlcnZpY2Uuc3RhcnRCbG9ja1VJKCk7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldCh0aGlzLmVudmlyb25tZW50U2VydmljZS5nZXRBcGlVcmwoKSArIFVybCwgeyBoZWFkZXJzOiBoZWFkZXJzLCBwYXJhbXM6IHBhcmFtcyB9KS5waXBlKFxyXG4gICAgICB0YWtlVW50aWwodGhpcy5vbkRlc3Ryb3kkKSxcclxuICAgICAgdGFwKChyZXN1bHQpID0+IHtcclxuICAgICAgICBpZiAoIXRoaXMucmVxdWVzdE9wdGlvbnMuZGlzYWJsZUJsb2NrVUkpXHJcbiAgICAgICAgICB0aGlzLnV0aWxpdHlTZXJ2aWNlLnN0b3BCbG9ja1VJKCk7XHJcbiAgICAgIH0pXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgcG9zdChVcmw6IHN0cmluZywgbW9kZWw/OiBhbnksIHBhcmFtcz86IEh0dHBQYXJhbXMsIHJlcXVlc3RPcHRpb25zPzogUmVxdWVzdE9wdGlvbnNNb2RlbCkge1xyXG4gICAgaWYgKHJlcXVlc3RPcHRpb25zKVxyXG4gICAgICB0aGlzLnJlcXVlc3RPcHRpb25zID0gcmVxdWVzdE9wdGlvbnM7XHJcbiAgICBsZXQgaGVhZGVycyA9IG5ldyBIdHRwSGVhZGVycyh7XHJcbiAgICAgICdDb250ZW50LVR5cGUnOiAnYXBwbGljYXRpb24vanNvbicsXHJcbiAgICAgICdBdXRob3JpemF0aW9uJzogdGhpcy5hdXRoU2VydmljZS5hdXRob3JpemF0aW9uSGVhZGVyVmFsdWUoKSxcclxuXHJcbiAgICB9KTtcclxuICAgIGhlYWRlcnMgPSBoZWFkZXJzLnNldCgnQWNjZXB0LUxhbmd1YWdlJywgdGhpcy5jdXJyZW50TGFuZ3VhZ2UudG9TdHJpbmcoKSk7XHJcbiAgICBpZiAoIXRoaXMucmVxdWVzdE9wdGlvbnMuZGlzYWJsZUJsb2NrVUkpXHJcbiAgICAgIHRoaXMudXRpbGl0eVNlcnZpY2Uuc3RhcnRCbG9ja1VJKCk7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QodGhpcy5lbnZpcm9ubWVudFNlcnZpY2UuZ2V0QXBpVXJsKCkgKyBVcmwsIG1vZGVsLCB7IGhlYWRlcnM6IGhlYWRlcnMsIHBhcmFtczogcGFyYW1zLCByZXNwb25zZVR5cGU6IHRoaXMucmVxdWVzdE9wdGlvbnMucmVzcG9uc2VUeXBlIH0pLnBpcGUoXHJcbiAgICAgIHRha2VVbnRpbCh0aGlzLm9uRGVzdHJveSQpLFxyXG4gICAgICB0YXAoKHJlc3VsdCkgPT4ge1xyXG4gICAgICAgIGlmICghdGhpcy5yZXF1ZXN0T3B0aW9ucy5kaXNhYmxlQmxvY2tVSSlcclxuICAgICAgICAgICB0aGlzLnV0aWxpdHlTZXJ2aWNlLnN0b3BCbG9ja1VJKCk7XHJcbiAgICAgIH0pXHJcbiAgICApO1xyXG4gIH1cclxuICBcclxuICBwdWJsaWMgZGVzdHJveUhhbmRsZXIoKTogdm9pZCB7XHJcbiAgICB0aGlzLm9uRGVzdHJveSQubmV4dCgpO1xyXG4gIH1cclxufVxyXG5cclxuIl19
123
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVxdWVzdGhhbmRsZXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Jic2YtdXRpbGl0aWVzL3NyYy9saWIvc2hhcmVkL3NlcnZpY2VzL3JlcXVlc3RoYW5kbGVyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBbUIsTUFBTSxlQUFlLENBQUM7QUFDNUQsT0FBTyxFQUFFLFVBQVUsRUFBcUIsV0FBVyxFQUFjLE1BQU0sc0JBQXNCLENBQUM7QUFDOUYsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDcEUsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUM3RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9CLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNuRCxPQUFPLEVBQUcsU0FBUyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRWpELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRzNELE1BQU0sT0FBTyxxQkFBcUI7SUFJaEMsWUFFWSxJQUFnQixFQUNoQixXQUF3QixFQUN4QixrQkFBc0MsRUFDdEMsY0FBOEIsRUFDOUIsb0JBQTBDO1FBRXBELDBHQUEwRztRQU5oRyxTQUFJLEdBQUosSUFBSSxDQUFZO1FBQ2hCLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBQ3hCLHVCQUFrQixHQUFsQixrQkFBa0IsQ0FBb0I7UUFDdEMsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBQzlCLHlCQUFvQixHQUFwQixvQkFBb0IsQ0FBc0I7UUFUOUMs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QUcsT0FBTyxDQUFDLEdBQUcsQ0FBQyxpQkFBaUIsRUFBRSxJQUFJLENBQUMsZUFBZSxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7UUFDMUUsT0FBTyxHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUMsZ0JBQWdCLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFDaEQsSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsY0FBYztZQUNyQyxJQUFJLENBQUMsY0FBYyxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQ3JDLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUksSUFBSSxDQUFDLGtCQUFrQixDQUFDLFNBQVMsRUFBRSxHQUFHLEdBQUcsRUFBRSxLQUFLLEVBQUUsRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFFLElBQUksQ0FBQyxjQUFjLENBQUMsWUFBWSxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQ2xLLFNBQVMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLEVBQzFCLEdBQUcsQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFO1lBQ2IsSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsY0FBYztnQkFDcEMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUN2QyxDQUFDLENBQUMsQ0FDSCxDQUFDO0lBQ0osQ0FBQztJQUVNLGNBQWM7UUFDbkIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUN6QixDQUFDO0lBRUQsV0FBVztRQUNULE9BQU8sQ0FBQyxHQUFHLENBQUMsZUFBZSxDQUFDLENBQUE7UUFDNUIsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFBO0lBQ3ZCLENBQUM7OztZQXZJRixVQUFVOzs7WUFYRixVQUFVO1lBR1YsV0FBVztZQUNYLGtCQUFrQjtZQUVsQixjQUFjO1lBR2Qsb0JBQW9CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgT25EZXN0cm95LCBQaXBlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEh0dHBDbGllbnQsIEh0dHBFcnJvclJlc3BvbnNlLCBIdHRwSGVhZGVycywgSHR0cFBhcmFtcyB9IGZyb20gXCJAYW5ndWxhci9jb21tb24vaHR0cFwiO1xyXG5pbXBvcnQgeyBSZXF1ZXN0T3B0aW9uc01vZGVsIH0gZnJvbSAnLi4vbW9kZWxzL1JlcXVlc3RPcHRpb25zTW9kZWwnO1xyXG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcy9pbnRlcm5hbC9PYnNlcnZhYmxlJztcclxuaW1wb3J0IHsgQXV0aFNlcnZpY2UgfSBmcm9tICcuLi9hdXRoZW50aWNhdGlvbi9hdXRoLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBFbnZpcm9ubWVudFNlcnZpY2UgfSBmcm9tICcuL2Vudmlyb25tZW50LnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IFV0aWxpdHlTZXJ2aWNlIH0gZnJvbSAnLi91dGlsaXR5LnNlcnZpY2UnO1xyXG5pbXBvcnQgeyAgdGFrZVVudGlsLCB0YXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IENvbnRyb2xWYWxpZGF0aW9uU2VydmljZSB9IGZyb20gJy4vY29udHJvbHZhbGlkYXRpb24uc2VydmljZSc7XHJcbmltcG9ydCB7IEJCU0ZUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnLi90cmFuc2xhdGUuc2VydmljZSc7XHJcblxyXG5ASW5qZWN0YWJsZSgpXHJcbmV4cG9ydCBjbGFzcyBSZXF1ZXN0SGFuZGxlclNlcnZpY2UgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xyXG4gIHByaXZhdGUgcmVxdWVzdE9wdGlvbnM6IFJlcXVlc3RPcHRpb25zTW9kZWwgPSBuZXcgUmVxdWVzdE9wdGlvbnNNb2RlbCgpO1xyXG4gIHByaXZhdGUgY3VycmVudExhbmd1YWdlID0gXCJcIjtcclxuICBwdWJsaWMgb25EZXN0cm95JDogU3ViamVjdDx2b2lkPiA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XHJcbiAgY29uc3RydWN0b3JcclxuICAgIChcclxuICAgICAgcHJpdmF0ZSBodHRwOiBIdHRwQ2xpZW50LFxyXG4gICAgICBwcml2YXRlIGF1dGhTZXJ2aWNlOiBBdXRoU2VydmljZSxcclxuICAgICAgcHJpdmF0ZSBlbnZpcm9ubWVudFNlcnZpY2U6IEVudmlyb25tZW50U2VydmljZSxcclxuICAgICAgcHJpdmF0ZSB1dGlsaXR5U2VydmljZTogVXRpbGl0eVNlcnZpY2UsXHJcbiAgICAgIHByaXZhdGUgYmJzZlRyYW5zbGF0ZVNlcnZpY2U6IEJCU0ZUcmFuc2xhdGVTZXJ2aWNlXHJcbiAgICApIHtcclxuICAgIC8vdXNpbmcgbG9jYWxTdG9yYWdlICB0byBhdm9pZCBjYWxsIGdldEN1cnJlbnRMYW5ndWFnZSgpIGJlY2F1c2UgaXQgaXMgbm90IGFsbCB0byB1c2UgYXN5bmMgaW4gY29uc3RydWN0b3JcclxuXHJcbiAgICB0aGlzLmJic2ZUcmFuc2xhdGVTZXJ2aWNlLm9uTGFuZ0NoYW5nZS5zdWJzY3JpYmUoKGV2ZW50KSA9PiB7XHJcbiAgICAgIGlmICh0aGlzLmN1cnJlbnRMYW5ndWFnZSAhPSBldmVudC5sYW5nKSB7XHJcbiAgICAgICAgdGhpcy5jdXJyZW50TGFuZ3VhZ2UgPSBldmVudC5sYW5nO1xyXG4gICAgICB9XHJcbiAgICB9KVxyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldEx1Y2t5TnVtYmVyKCk6IE9ic2VydmFibGU8bnVtYmVyPiB7XHJcbiAgICBcclxuICAgIHJldHVybiBPYnNlcnZhYmxlLmNyZWF0ZSgoc3ViamVjdDogU3ViamVjdDxudW1iZXI+KSA9PiB7XHJcbiAgICAgICAgc2V0SW50ZXJ2YWwoKCkgPT4ge1xyXG4gICAgICAgICAgY29uc3QgbnVtYmVyID0gTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpICogMTApO1xyXG4gICAgICAgICAgY29uc29sZS5sb2cobnVtYmVyKVxyXG4gICAgICAgICAgc3ViamVjdC5uZXh0KG51bWJlcik7XHJcbiAgICAgICAgfSwgMTAwMCk7XHJcbiAgICAgIH0pLnBpcGUoXHJcbiAgICAgICAgdGFrZVVudGlsKHRoaXMub25EZXN0cm95JCkpO1xyXG4gICAgfVxyXG5cclxuXHJcbiAgZ2V0PFQ+KFVybDogc3RyaW5nLCBwYXJhbXM/OiBIdHRwUGFyYW1zLCByZXF1ZXN0T3B0aW9ucz86IFJlcXVlc3RPcHRpb25zTW9kZWwpOk9ic2VydmFibGU8VD57XHJcbiAgICBpZiAocmVxdWVzdE9wdGlvbnMpXHJcbiAgICAgIHRoaXMucmVxdWVzdE9wdGlvbnMgPSByZXF1ZXN0T3B0aW9ucztcclxuICAgIGxldCBoZWFkZXJzID0gbmV3IEh0dHBIZWFkZXJzKHtcclxuICAgICAgJ0NvbnRlbnQtVHlwZSc6ICdhcHBsaWNhdGlvbi9qc29uJyxcclxuICAgICAgJ0F1dGhvcml6YXRpb24nOiB0aGlzLmF1dGhTZXJ2aWNlLmF1dGhvcml6YXRpb25IZWFkZXJWYWx1ZSgpLFxyXG4gICAgfSk7XHJcbiAgICB0aGlzLmN1cnJlbnRMYW5ndWFnZSA9IGxvY2FsU3RvcmFnZS5nZXRJdGVtKCdsYW5ndWFnZScpO1xyXG4gICAgaGVhZGVycyA9IGhlYWRlcnMuc2V0KCdBY2NlcHQtTGFuZ3VhZ2UnLCB0aGlzLmN1cnJlbnRMYW5ndWFnZS50b1N0cmluZygpKTtcclxuICAgIGhlYWRlcnMgPSBoZWFkZXJzLnNldCgnaWdub3JlLWNvb2tpZXMnLCAndHJ1ZScpO1xyXG4gICAgaWYgKCF0aGlzLnJlcXVlc3RPcHRpb25zLmRpc2FibGVCbG9ja1VJKVxyXG4gICAgICB0aGlzLnV0aWxpdHlTZXJ2aWNlLnN0YXJ0QmxvY2tVSSgpO1xyXG4gICAgICBcclxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PFQ+KHRoaXMuZW52aXJvbm1lbnRTZXJ2aWNlLmdldEFwaVVybCgpICsgVXJsLCB7IGhlYWRlcnM6IGhlYWRlcnMsIHBhcmFtczogcGFyYW1zIH0pLnBpcGUoXHJcbiAgICAgIHRha2VVbnRpbCh0aGlzLm9uRGVzdHJveSQpLFxyXG4gICAgICB0YXAoKHJlc3VsdCkgPT4ge1xyXG4gICAgICAgIGlmICghdGhpcy5yZXF1ZXN0T3B0aW9ucy5kaXNhYmxlQmxvY2tVSSlcclxuICAgICAgICAgIHRoaXMudXRpbGl0eVNlcnZpY2Uuc3RvcEJsb2NrVUkoKTtcclxuICAgICAgfSlcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBwb3N0PFQ+KFVybDogc3RyaW5nLCBtb2RlbD86IGFueSwgcGFyYW1zPzogSHR0cFBhcmFtcywgcmVxdWVzdE9wdGlvbnM/OiBSZXF1ZXN0T3B0aW9uc01vZGVsKTpPYnNlcnZhYmxlPFQ+ICAge1xyXG4gICAgXHJcbiAgIFxyXG4gICAgaWYgKHJlcXVlc3RPcHRpb25zKVxyXG4gICAgICB0aGlzLnJlcXVlc3RPcHRpb25zID0gcmVxdWVzdE9wdGlvbnM7XHJcbiAgICBsZXQgaGVhZGVycyA9IG5ldyBIdHRwSGVhZGVycyh7XHJcbiAgICAgICdDb250ZW50LVR5cGUnOiAnYXBwbGljYXRpb24vanNvbicsXHJcbiAgICAgICdBdXRob3JpemF0aW9uJzogdGhpcy5hdXRoU2VydmljZS5hdXRob3JpemF0aW9uSGVhZGVyVmFsdWUoKSxcclxuXHJcbiAgICB9KTtcclxuICAgIHRoaXMuY3VycmVudExhbmd1YWdlID0gbG9jYWxTdG9yYWdlLmdldEl0ZW0oJ2xhbmd1YWdlJyk7XHJcbiAgICBoZWFkZXJzID0gaGVhZGVycy5zZXQoJ0FjY2VwdC1MYW5ndWFnZScsIHRoaXMuY3VycmVudExhbmd1YWdlLnRvU3RyaW5nKCkpO1xyXG4gICAgaGVhZGVycyA9IGhlYWRlcnMuc2V0KCdpZ25vcmUtY29va2llcycsICd0cnVlJyk7XHJcbiAgICBpZiAoIXRoaXMucmVxdWVzdE9wdGlvbnMuZGlzYWJsZUJsb2NrVUkpXHJcbiAgICAgIHRoaXMudXRpbGl0eVNlcnZpY2Uuc3RhcnRCbG9ja1VJKCk7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8VD4odGhpcy5lbnZpcm9ubWVudFNlcnZpY2UuZ2V0QXBpVXJsKCkgKyBVcmwsIG1vZGVsLCB7IGhlYWRlcnM6IGhlYWRlcnMsIHBhcmFtczogcGFyYW1zLCByZXNwb25zZVR5cGU6IHRoaXMucmVxdWVzdE9wdGlvbnMucmVzcG9uc2VUeXBlIH0pLnBpcGUoXHJcbiAgICAgIHRha2VVbnRpbCh0aGlzLm9uRGVzdHJveSQpLFxyXG4gICAgICB0YXAoKHJlc3VsdCkgPT4ge1xyXG4gICAgICAgIGlmICghdGhpcy5yZXF1ZXN0T3B0aW9ucy5kaXNhYmxlQmxvY2tVSSlcclxuICAgICAgICAgICB0aGlzLnV0aWxpdHlTZXJ2aWNlLnN0b3BCbG9ja1VJKCk7XHJcbiAgICAgIH0pXHJcbiAgICApO1xyXG4gIH1cclxuXHJcblxyXG4gIFxyXG4gIGRlbGV0ZTxUPihVcmw6IHN0cmluZyxkZWxldGVkSWQ6c3RyaW5nLHBhcmFtcz86IEh0dHBQYXJhbXMsIHJlcXVlc3RPcHRpb25zPzogUmVxdWVzdE9wdGlvbnNNb2RlbCk6T2JzZXJ2YWJsZTxUPntcclxuICAgIGlmIChyZXF1ZXN0T3B0aW9ucylcclxuICAgICAgdGhpcy5yZXF1ZXN0T3B0aW9ucyA9IHJlcXVlc3RPcHRpb25zO1xyXG4gICAgbGV0IGhlYWRlcnMgPSBuZXcgSHR0cEhlYWRlcnMoe1xyXG4gICAgICAnQ29udGVudC1UeXBlJzogJ2FwcGxpY2F0aW9uL2pzb24nLFxyXG4gICAgICAnQXV0aG9yaXphdGlvbic6IHRoaXMuYXV0aFNlcnZpY2UuYXV0aG9yaXphdGlvbkhlYWRlclZhbHVlKCksXHJcbiAgICB9KTtcclxuICAgIHRoaXMuY3VycmVudExhbmd1YWdlID0gbG9jYWxTdG9yYWdlLmdldEl0ZW0oJ2xhbmd1YWdlJyk7XHJcbiAgICBoZWFkZXJzID0gaGVhZGVycy5zZXQoJ0FjY2VwdC1MYW5ndWFnZScsIHRoaXMuY3VycmVudExhbmd1YWdlLnRvU3RyaW5nKCkpO1xyXG4gICAgaGVhZGVycyA9IGhlYWRlcnMuc2V0KCdpZ25vcmUtY29va2llcycsICd0cnVlJyk7XHJcblxyXG4gICAgaWYgKCF0aGlzLnJlcXVlc3RPcHRpb25zLmRpc2FibGVCbG9ja1VJKVxyXG4gICAgICB0aGlzLnV0aWxpdHlTZXJ2aWNlLnN0YXJ0QmxvY2tVSSgpO1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5kZWxldGU8VD4odGhpcy5lbnZpcm9ubWVudFNlcnZpY2UuZ2V0QXBpVXJsKCkgKyBVcmwrYC8ke2RlbGV0ZWRJZH1gLCB7IGhlYWRlcnM6IGhlYWRlcnMsIHBhcmFtczogcGFyYW1zIH0pLnBpcGUoXHJcbiAgICAgIHRha2VVbnRpbCh0aGlzLm9uRGVzdHJveSQpLFxyXG4gICAgICB0YXAoKHJlc3VsdCkgPT4ge1xyXG4gICAgICAgIGlmICghdGhpcy5yZXF1ZXN0T3B0aW9ucy5kaXNhYmxlQmxvY2tVSSlcclxuICAgICAgICAgIHRoaXMudXRpbGl0eVNlcnZpY2Uuc3RvcEJsb2NrVUkoKTtcclxuICAgICAgfSlcclxuICAgICk7XHJcbiAgfVxyXG5cclxuXHJcbiAgcHV0PFQ+KFVybDogc3RyaW5nLCBtb2RlbD86IGFueSwgcGFyYW1zPzogSHR0cFBhcmFtcywgcmVxdWVzdE9wdGlvbnM/OiBSZXF1ZXN0T3B0aW9uc01vZGVsKTpPYnNlcnZhYmxlPFQ+IHtcclxuICAgIGlmIChyZXF1ZXN0T3B0aW9ucylcclxuICAgICAgdGhpcy5yZXF1ZXN0T3B0aW9ucyA9IHJlcXVlc3RPcHRpb25zO1xyXG4gICAgbGV0IGhlYWRlcnMgPSBuZXcgSHR0cEhlYWRlcnMoe1xyXG4gICAgICAnQ29udGVudC1UeXBlJzogJ2FwcGxpY2F0aW9uL2pzb24nLFxyXG4gICAgICAnQXV0aG9yaXphdGlvbic6IHRoaXMuYXV0aFNlcnZpY2UuYXV0aG9yaXphdGlvbkhlYWRlclZhbHVlKCksXHJcblxyXG4gICAgfSk7XHJcbiAgICB0aGlzLmN1cnJlbnRMYW5ndWFnZSA9IGxvY2FsU3RvcmFnZS5nZXRJdGVtKCdsYW5ndWFnZScpO1xyXG4gICAgaGVhZGVycyA9IGhlYWRlcnMuc2V0KCdBY2NlcHQtTGFuZ3VhZ2UnLCB0aGlzLmN1cnJlbnRMYW5ndWFnZS50b1N0cmluZygpKTtcclxuICAgIGhlYWRlcnMgPSBoZWFkZXJzLnNldCgnaWdub3JlLWNvb2tpZXMnLCAndHJ1ZScpO1xyXG4gICAgaWYgKCF0aGlzLnJlcXVlc3RPcHRpb25zLmRpc2FibGVCbG9ja1VJKVxyXG4gICAgICB0aGlzLnV0aWxpdHlTZXJ2aWNlLnN0YXJ0QmxvY2tVSSgpO1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wdXQ8VD4odGhpcy5lbnZpcm9ubWVudFNlcnZpY2UuZ2V0QXBpVXJsKCkgKyBVcmwsIG1vZGVsLCB7IGhlYWRlcnM6IGhlYWRlcnMsIHBhcmFtczogcGFyYW1zLCByZXNwb25zZVR5cGU6IHRoaXMucmVxdWVzdE9wdGlvbnMucmVzcG9uc2VUeXBlIH0pLnBpcGUoXHJcbiAgICAgIHRha2VVbnRpbCh0aGlzLm9uRGVzdHJveSQpLFxyXG4gICAgICB0YXAoKHJlc3VsdCkgPT4ge1xyXG4gICAgICAgIGlmICghdGhpcy5yZXF1ZXN0T3B0aW9ucy5kaXNhYmxlQmxvY2tVSSlcclxuICAgICAgICAgICB0aGlzLnV0aWxpdHlTZXJ2aWNlLnN0b3BCbG9ja1VJKCk7XHJcbiAgICAgIH0pXHJcbiAgICApO1xyXG4gIH1cclxuICBcclxuICBwdWJsaWMgZGVzdHJveUhhbmRsZXIoKTogdm9pZCB7XHJcbiAgICB0aGlzLm9uRGVzdHJveSQubmV4dCgpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICBjb25zb2xlLmxvZyhcImNsZWFySW50ZXJ2YWxcIilcclxuICAgIHRoaXMuZGVzdHJveUhhbmRsZXIoKVxyXG4gIH1cclxufVxyXG5cclxuIl19
@@ -1,10 +1,13 @@
1
1
  import { DOCUMENT } from '@angular/common';
2
2
  import { Inject, Injectable } from '@angular/core';
3
+ import { BBSFTranslateService } from './translate.service';
3
4
  import * as i0 from "@angular/core";
4
5
  import * as i1 from "@angular/common";
6
+ import * as i2 from "./translate.service";
5
7
  export class StylesBundleService {
6
- constructor(document) {
8
+ constructor(document, translateService) {
7
9
  this.document = document;
10
+ this.translateService = translateService;
8
11
  }
9
12
  loadThemes(lang, bundleEnglishName, bundleArabicName) {
10
13
  if (lang == "ar") {
@@ -34,13 +37,14 @@ export class StylesBundleService {
34
37
  head.appendChild(style);
35
38
  }
36
39
  }
37
- StylesBundleService.ɵprov = i0.ɵɵdefineInjectable({ factory: function StylesBundleService_Factory() { return new StylesBundleService(i0.ɵɵinject(i1.DOCUMENT)); }, token: StylesBundleService, providedIn: "root" });
40
+ StylesBundleService.ɵprov = i0.ɵɵdefineInjectable({ factory: function StylesBundleService_Factory() { return new StylesBundleService(i0.ɵɵinject(i1.DOCUMENT), i0.ɵɵinject(i2.BBSFTranslateService)); }, token: StylesBundleService, providedIn: "root" });
38
41
  StylesBundleService.decorators = [
39
42
  { type: Injectable, args: [{
40
43
  providedIn: 'root'
41
44
  },] }
42
45
  ];
43
46
  StylesBundleService.ctorParameters = () => [
44
- { type: Document, decorators: [{ type: Inject, args: [DOCUMENT,] }] }
47
+ { type: Document, decorators: [{ type: Inject, args: [DOCUMENT,] }] },
48
+ { type: BBSFTranslateService }
45
49
  ];
46
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3R5bGVzYnVuZGxlLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYnNmLXV0aWxpdGllcy9zcmMvbGliL3NoYXJlZC9zZXJ2aWNlcy9zdHlsZXNidW5kbGUuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDM0MsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7OztBQU1uRCxNQUFNLE9BQU8sbUJBQW1CO0lBRTlCLFlBQXNDLFFBQWtCO1FBQWxCLGFBQVEsR0FBUixRQUFRLENBQVU7SUFBRSxDQUFDO0lBRTNELFVBQVUsQ0FBQyxJQUFZLEVBQUMsaUJBQXdCLEVBQUMsZ0JBQXVCO1FBQ3RFLElBQUksSUFBSSxJQUFJLElBQUksRUFBRTtZQUNoQixJQUFJLENBQUMsZUFBZSxDQUFDLGdCQUFnQixDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUE7WUFDakQsUUFBUSxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxZQUFZLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxDQUFDO1lBQzFELFFBQVEsQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLENBQUMsWUFBWSxDQUFDLEtBQUssRUFBRSxLQUFLLENBQUMsQ0FBQztTQUMzRDthQUFNO1lBQ0wsSUFBSSxDQUFDLGVBQWUsQ0FBQyxpQkFBaUIsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFBO1lBQ2xELFFBQVEsQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLENBQUMsWUFBWSxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsQ0FBQztZQUMxRCxRQUFRLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxDQUFDLFlBQVksQ0FBQyxLQUFLLEVBQUUsS0FBSyxDQUFDLENBQUM7U0FDM0Q7SUFFSCxDQUFDO0lBRUQsZUFBZSxDQUFDLFNBQWlCO1FBQy9CLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsb0JBQW9CLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFFM0QsSUFBSSxTQUFTLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxjQUFjLENBQUMsY0FBYyxDQUFvQixDQUFDO1FBRWhGLElBQUksU0FBUyxJQUFJLFNBQVMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxFQUFFO1lBQ25ELE9BQU87U0FDUjthQUNJLElBQUksU0FBUyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLEVBQUU7WUFDekQsU0FBUyxDQUFDLE1BQU0sRUFBRSxDQUFDO1NBQ3BCO1FBQ0QsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDbEQsS0FBSyxDQUFDLEVBQUUsR0FBRyxjQUFjLENBQUM7UUFDMUIsS0FBSyxDQUFDLEdBQUcsR0FBRyxZQUFZLENBQUM7UUFDekIsS0FBSyxDQUFDLElBQUksR0FBRyxHQUFHLFNBQVMsRUFBRSxDQUFDO1FBQzVCLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDMUIsQ0FBQzs7OztZQXBDRixVQUFVLFNBQUM7Z0JBQ1YsVUFBVSxFQUFFLE1BQU07YUFDbkI7OztZQUdpRCxRQUFRLHVCQUEzQyxNQUFNLFNBQUMsUUFBUSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERPQ1VNRU5UIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEJsb2NrVUksIE5nQmxvY2tVSSB9IGZyb20gJ25nLWJsb2NrLXVpJztcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCdcclxufSlcclxuZXhwb3J0IGNsYXNzIFN0eWxlc0J1bmRsZVNlcnZpY2Uge1xyXG5cclxuICBjb25zdHJ1Y3RvcihASW5qZWN0KERPQ1VNRU5UKSBwcml2YXRlIGRvY3VtZW50OiBEb2N1bWVudCl7fVxyXG5cclxuICBsb2FkVGhlbWVzKGxhbmc6IHN0cmluZyxidW5kbGVFbmdsaXNoTmFtZTpzdHJpbmcsYnVuZGxlQXJhYmljTmFtZTpzdHJpbmcpIHtcclxuICAgIGlmIChsYW5nID09IFwiYXJcIikge1xyXG4gICAgICB0aGlzLmxvYWRTdHlsZUJ1bmRsZShidW5kbGVBcmFiaWNOYW1lLnRvU3RyaW5nKCkpXHJcbiAgICAgIGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJ2h0bWwnKS5zZXRBdHRyaWJ1dGUoXCJsYW5nXCIsIFwiYXJcIik7XHJcbiAgICAgIGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJ2h0bWwnKS5zZXRBdHRyaWJ1dGUoXCJkaXJcIiwgXCJydGxcIik7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLmxvYWRTdHlsZUJ1bmRsZShidW5kbGVFbmdsaXNoTmFtZS50b1N0cmluZygpKVxyXG4gICAgICBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCdodG1sJykuc2V0QXR0cmlidXRlKFwibGFuZ1wiLCBcImVuXCIpO1xyXG4gICAgICBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCdodG1sJykuc2V0QXR0cmlidXRlKFwiZGlyXCIsIFwibHRyXCIpO1xyXG4gICAgfVxyXG5cclxuICB9XHJcblxyXG4gIGxvYWRTdHlsZUJ1bmRsZShzdHlsZU5hbWU6IHN0cmluZykge1xyXG4gICAgY29uc3QgaGVhZCA9IHRoaXMuZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ2hlYWQnKVswXTtcclxuXHJcbiAgICBsZXQgdGhlbWVMaW5rID0gdGhpcy5kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnY2xpZW50LXRoZW1lJykgYXMgSFRNTExpbmtFbGVtZW50O1xyXG5cclxuICAgIGlmICh0aGVtZUxpbmsgJiYgdGhlbWVMaW5rLmhyZWYuaW5jbHVkZXMoc3R5bGVOYW1lKSkge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICBlbHNlIGlmICh0aGVtZUxpbmsgJiYgIXRoZW1lTGluay5ocmVmLmluY2x1ZGVzKHN0eWxlTmFtZSkpIHtcclxuICAgICAgdGhlbWVMaW5rLnJlbW92ZSgpO1xyXG4gICAgfVxyXG4gICAgY29uc3Qgc3R5bGUgPSB0aGlzLmRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2xpbmsnKTtcclxuICAgIHN0eWxlLmlkID0gJ2NsaWVudC10aGVtZSc7XHJcbiAgICBzdHlsZS5yZWwgPSAnc3R5bGVzaGVldCc7XHJcbiAgICBzdHlsZS5ocmVmID0gYCR7c3R5bGVOYW1lfWA7XHJcbiAgICBoZWFkLmFwcGVuZENoaWxkKHN0eWxlKTtcclxuICB9XHJcblxyXG59XHJcblxyXG4iXX0=
50
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3R5bGVzYnVuZGxlLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYnNmLXV0aWxpdGllcy9zcmMvbGliL3NoYXJlZC9zZXJ2aWNlcy9zdHlsZXNidW5kbGUuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDM0MsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFbkQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0scUJBQXFCLENBQUM7Ozs7QUFLM0QsTUFBTSxPQUFPLG1CQUFtQjtJQUU5QixZQUFzQyxRQUFrQixFQUFTLGdCQUFzQztRQUFqRSxhQUFRLEdBQVIsUUFBUSxDQUFVO1FBQVMscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFzQjtJQUFFLENBQUM7SUFFMUcsVUFBVSxDQUFDLElBQVksRUFBQyxpQkFBd0IsRUFBQyxnQkFBdUI7UUFDdEUsSUFBSSxJQUFJLElBQUksSUFBSSxFQUFFO1lBQ2hCLElBQUksQ0FBQyxlQUFlLENBQUMsZ0JBQWdCLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQTtZQUNqRCxRQUFRLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxDQUFDLFlBQVksQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLENBQUM7WUFDMUQsUUFBUSxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxZQUFZLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQyxDQUFDO1NBQzNEO2FBQU07WUFDTCxJQUFJLENBQUMsZUFBZSxDQUFDLGlCQUFpQixDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUE7WUFDbEQsUUFBUSxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxZQUFZLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxDQUFDO1lBQzFELFFBQVEsQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLENBQUMsWUFBWSxDQUFDLEtBQUssRUFBRSxLQUFLLENBQUMsQ0FBQztTQUMzRDtJQUVILENBQUM7SUFFRCxlQUFlLENBQUMsU0FBaUI7UUFDL0IsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxvQkFBb0IsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUUzRCxJQUFJLFNBQVMsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLGNBQWMsQ0FBQyxjQUFjLENBQW9CLENBQUM7UUFFaEYsSUFBSSxTQUFTLElBQUksU0FBUyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLEVBQUU7WUFDbkQsT0FBTztTQUNSO2FBQ0ksSUFBSSxTQUFTLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsRUFBRTtZQUN6RCxTQUFTLENBQUMsTUFBTSxFQUFFLENBQUM7U0FDcEI7UUFDRCxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNsRCxLQUFLLENBQUMsRUFBRSxHQUFHLGNBQWMsQ0FBQztRQUMxQixLQUFLLENBQUMsR0FBRyxHQUFHLFlBQVksQ0FBQztRQUN6QixLQUFLLENBQUMsSUFBSSxHQUFHLEdBQUcsU0FBUyxFQUFFLENBQUM7UUFDNUIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUMxQixDQUFDOzs7O1lBcENGLFVBQVUsU0FBQztnQkFDVixVQUFVLEVBQUUsTUFBTTthQUNuQjs7O1lBR2lELFFBQVEsdUJBQTNDLE1BQU0sU0FBQyxRQUFRO1lBUHJCLG9CQUFvQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERPQ1VNRU5UIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEJsb2NrVUksIE5nQmxvY2tVSSB9IGZyb20gJ25nLWJsb2NrLXVpJztcclxuaW1wb3J0IHsgQkJTRlRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICcuL3RyYW5zbGF0ZS5zZXJ2aWNlJztcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCdcclxufSlcclxuZXhwb3J0IGNsYXNzIFN0eWxlc0J1bmRsZVNlcnZpY2Uge1xyXG5cclxuICBjb25zdHJ1Y3RvcihASW5qZWN0KERPQ1VNRU5UKSBwcml2YXRlIGRvY3VtZW50OiBEb2N1bWVudCxwcml2YXRlIHRyYW5zbGF0ZVNlcnZpY2U6IEJCU0ZUcmFuc2xhdGVTZXJ2aWNlKXt9XHJcblxyXG4gIGxvYWRUaGVtZXMobGFuZzogc3RyaW5nLGJ1bmRsZUVuZ2xpc2hOYW1lOnN0cmluZyxidW5kbGVBcmFiaWNOYW1lOnN0cmluZykge1xyXG4gICAgaWYgKGxhbmcgPT0gXCJhclwiKSB7XHJcbiAgICAgIHRoaXMubG9hZFN0eWxlQnVuZGxlKGJ1bmRsZUFyYWJpY05hbWUudG9TdHJpbmcoKSlcclxuICAgICAgZG9jdW1lbnQucXVlcnlTZWxlY3RvcignaHRtbCcpLnNldEF0dHJpYnV0ZShcImxhbmdcIiwgXCJhclwiKTtcclxuICAgICAgZG9jdW1lbnQucXVlcnlTZWxlY3RvcignaHRtbCcpLnNldEF0dHJpYnV0ZShcImRpclwiLCBcInJ0bFwiKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMubG9hZFN0eWxlQnVuZGxlKGJ1bmRsZUVuZ2xpc2hOYW1lLnRvU3RyaW5nKCkpXHJcbiAgICAgIGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJ2h0bWwnKS5zZXRBdHRyaWJ1dGUoXCJsYW5nXCIsIFwiZW5cIik7XHJcbiAgICAgIGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJ2h0bWwnKS5zZXRBdHRyaWJ1dGUoXCJkaXJcIiwgXCJsdHJcIik7XHJcbiAgICB9XHJcbiAgIFxyXG4gIH1cclxuXHJcbiAgbG9hZFN0eWxlQnVuZGxlKHN0eWxlTmFtZTogc3RyaW5nKSB7XHJcbiAgICBjb25zdCBoZWFkID0gdGhpcy5kb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgnaGVhZCcpWzBdO1xyXG5cclxuICAgIGxldCB0aGVtZUxpbmsgPSB0aGlzLmRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdjbGllbnQtdGhlbWUnKSBhcyBIVE1MTGlua0VsZW1lbnQ7XHJcblxyXG4gICAgaWYgKHRoZW1lTGluayAmJiB0aGVtZUxpbmsuaHJlZi5pbmNsdWRlcyhzdHlsZU5hbWUpKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIGVsc2UgaWYgKHRoZW1lTGluayAmJiAhdGhlbWVMaW5rLmhyZWYuaW5jbHVkZXMoc3R5bGVOYW1lKSkge1xyXG4gICAgICB0aGVtZUxpbmsucmVtb3ZlKCk7XHJcbiAgICB9XHJcbiAgICBjb25zdCBzdHlsZSA9IHRoaXMuZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnbGluaycpO1xyXG4gICAgc3R5bGUuaWQgPSAnY2xpZW50LXRoZW1lJztcclxuICAgIHN0eWxlLnJlbCA9ICdzdHlsZXNoZWV0JztcclxuICAgIHN0eWxlLmhyZWYgPSBgJHtzdHlsZU5hbWV9YDtcclxuICAgIGhlYWQuYXBwZW5kQ2hpbGQoc3R5bGUpO1xyXG4gIH1cclxuXHJcbn1cclxuXHJcbiJdfQ==
@@ -0,0 +1,20 @@
1
+ import { Injectable } from "@angular/core";
2
+ import { BBSFTranslateService } from "./translate.service";
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "./translate.service";
5
+ export class TranslationResolverService {
6
+ constructor(translateService) {
7
+ this.translateService = translateService;
8
+ }
9
+ resolve() {
10
+ return this.translateService.getTranslation(this.translateService.currentLang);
11
+ }
12
+ }
13
+ TranslationResolverService.ɵprov = i0.ɵɵdefineInjectable({ factory: function TranslationResolverService_Factory() { return new TranslationResolverService(i0.ɵɵinject(i1.BBSFTranslateService)); }, token: TranslationResolverService, providedIn: "root" });
14
+ TranslationResolverService.decorators = [
15
+ { type: Injectable, args: [{ providedIn: 'root' },] }
16
+ ];
17
+ TranslationResolverService.ctorParameters = () => [
18
+ { type: BBSFTranslateService }
19
+ ];
20
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNsYXRpb25yZXNvbHZlci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmJzZi11dGlsaXRpZXMvc3JjL2xpYi9zaGFyZWQvc2VydmljZXMvdHJhbnNsYXRpb25yZXNvbHZlci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHM0MsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0scUJBQXFCLENBQUM7OztBQUkzRCxNQUFNLE9BQU8sMEJBQTBCO0lBQ3JDLFlBQW9CLGdCQUFzQztRQUF0QyxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQXNCO0lBQUcsQ0FBQztJQUU5RCxPQUFPO1FBQ0wsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsY0FBYyxDQUN6QyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsV0FBVyxDQUNsQyxDQUFDO0lBQ0osQ0FBQzs7OztZQVJGLFVBQVUsU0FBQyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUU7OztZQUh6QixvQkFBb0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgUmVzb2x2ZSB9IGZyb20gXCJAYW5ndWxhci9yb3V0ZXJcIjtcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gXCJyeGpzXCI7XHJcbmltcG9ydCB7IEJCU0ZUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSBcIi4vdHJhbnNsYXRlLnNlcnZpY2VcIjtcclxuXHJcblxyXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxyXG5leHBvcnQgY2xhc3MgVHJhbnNsYXRpb25SZXNvbHZlclNlcnZpY2UgaW1wbGVtZW50cyBSZXNvbHZlPGFueT4ge1xyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgdHJhbnNsYXRlU2VydmljZTogQkJTRlRyYW5zbGF0ZVNlcnZpY2UpIHt9XHJcblxyXG4gIHJlc29sdmUoKTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIHJldHVybiB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuZ2V0VHJhbnNsYXRpb24oXHJcbiAgICAgIHRoaXMudHJhbnNsYXRlU2VydmljZS5jdXJyZW50TGFuZ1xyXG4gICAgKTtcclxuICB9XHJcbn1cclxuIl19
@@ -1,41 +1,40 @@
1
- import { __awaiter, __decorate } from "tslib";
1
+ import { __decorate } from "tslib";
2
2
  import { Injectable } from '@angular/core';
3
3
  import { ToastrService } from 'ngx-toastr';
4
4
  import { BlockUI } from 'ng-block-ui';
5
- import { AppInjector } from '../../bbsf-utilities.module';
6
5
  import { AuthService } from '../authentication/auth.service';
7
6
  import { BBSFTranslateService } from './translate.service';
7
+ import { AppInjector } from '../../bbsf-utilities.module';
8
+ import { EnvironmentService } from './environment.service';
8
9
  import * as i0 from "@angular/core";
9
10
  import * as i1 from "./translate.service";
10
11
  import * as i2 from "../authentication/auth.service";
12
+ import * as i3 from "./environment.service";
11
13
  export class UtilityService {
12
- constructor(Translator, authService) {
13
- this.Translator = Translator;
14
+ constructor(translator, authService, environmentService) {
15
+ this.translator = translator;
14
16
  this.authService = authService;
17
+ this.environmentService = environmentService;
15
18
  this.isCreatedBefore = false;
16
19
  }
17
20
  getResourceValue(Key) {
18
- let ResourceValue = "";
19
- this.Translator.get(Key).subscribe(data => { ResourceValue = data; return ResourceValue; });
21
+ let ResourceValue = this.translator.instant(Key);
20
22
  return ResourceValue;
21
23
  }
22
24
  getCurrentLanguage() {
23
- return __awaiter(this, void 0, void 0, function* () {
24
- let user = yield this.authService.getCurrentUser().then((user) => {
25
- return user;
26
- });
27
- return user.profile.locale;
28
- });
25
+ let currentLanguage = this.environmentService.getDefaultLanguage();
26
+ let lang = localStorage.getItem('language');
27
+ if (lang)
28
+ currentLanguage = lang;
29
+ else
30
+ localStorage.setItem('language', currentLanguage);
31
+ return currentLanguage;
29
32
  }
30
33
  isCurrentLanguageEnglish() {
31
- return __awaiter(this, void 0, void 0, function* () {
32
- (yield this.getCurrentLanguage()) == "en" ? true : false;
33
- });
34
+ this.getCurrentLanguage() == "en";
34
35
  }
35
36
  isCurrentLanguageArabic() {
36
- return __awaiter(this, void 0, void 0, function* () {
37
- (yield this.getCurrentLanguage()) == "ar" ? true : false;
38
- });
37
+ this.getCurrentLanguage() == "ar";
39
38
  }
40
39
  notifySuccessMessage(Message, title, time) {
41
40
  let MessageTemplate = this.getResourceValue("SuccessMessage");
@@ -80,7 +79,7 @@ export class UtilityService {
80
79
  this.blockUI.stop();
81
80
  }
82
81
  }
83
- UtilityService.ɵprov = i0.ɵɵdefineInjectable({ factory: function UtilityService_Factory() { return new UtilityService(i0.ɵɵinject(i1.BBSFTranslateService), i0.ɵɵinject(i2.AuthService)); }, token: UtilityService, providedIn: "root" });
82
+ UtilityService.ɵprov = i0.ɵɵdefineInjectable({ factory: function UtilityService_Factory() { return new UtilityService(i0.ɵɵinject(i1.BBSFTranslateService), i0.ɵɵinject(i2.AuthService), i0.ɵɵinject(i3.EnvironmentService)); }, token: UtilityService, providedIn: "root" });
84
83
  UtilityService.decorators = [
85
84
  { type: Injectable, args: [{
86
85
  providedIn: 'root'
@@ -88,9 +87,10 @@ UtilityService.decorators = [
88
87
  ];
89
88
  UtilityService.ctorParameters = () => [
90
89
  { type: BBSFTranslateService },
91
- { type: AuthService }
90
+ { type: AuthService },
91
+ { type: EnvironmentService }
92
92
  ];
93
93
  __decorate([
94
94
  BlockUI()
95
95
  ], UtilityService.prototype, "blockUI", void 0);
96
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbGl0eS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmJzZi11dGlsaXRpZXMvc3JjL2xpYi9zaGFyZWQvc2VydmljZXMvdXRpbGl0eS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsVUFBVSxFQUF1QyxNQUFNLGVBQWUsQ0FBQztBQUNoRixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxPQUFPLEVBQWEsTUFBTSxhQUFhLENBQUM7QUFDakQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQzFELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUM3RCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQzs7OztBQU8zRCxNQUFNLE9BQU8sY0FBYztJQUt2QixZQUFvQixVQUFnQyxFQUFVLFdBQXdCO1FBQWxFLGVBQVUsR0FBVixVQUFVLENBQXNCO1FBQVUsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFIdEYsb0JBQWUsR0FBRyxLQUFLLENBQUM7SUFLeEIsQ0FBQztJQUdELGdCQUFnQixDQUFDLEdBQVc7UUFDeEIsSUFBSSxhQUFhLEdBQUcsRUFBRSxDQUFBO1FBQ3RCLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxHQUFHLGFBQWEsR0FBRyxJQUFJLENBQUMsQ0FBQyxPQUFPLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzVGLE9BQU8sYUFBYSxDQUFDO0lBRXpCLENBQUM7SUFJSyxrQkFBa0I7O1lBQ3BCLElBQUksSUFBSSxHQUFHLE1BQU0sSUFBSSxDQUFDLFdBQVcsQ0FBQyxjQUFjLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRTtnQkFDN0QsT0FBTyxJQUFJLENBQUM7WUFDaEIsQ0FBQyxDQUFDLENBQUE7WUFDRixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDO1FBQy9CLENBQUM7S0FBQTtJQUNLLHdCQUF3Qjs7WUFDMUIsQ0FBQSxNQUFNLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxLQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUE7UUFDMUQsQ0FBQztLQUFBO0lBQ0ssdUJBQXVCOztZQUN6QixDQUFBLE1BQU0sSUFBSSxDQUFDLGtCQUFrQixFQUFFLEtBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQTtRQUMxRCxDQUFDO0tBQUE7SUFFRCxvQkFBb0IsQ0FBQyxPQUFnQixFQUFFLEtBQWMsRUFBRSxJQUFhO1FBRWhFLElBQUksZUFBZSxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBQzlELElBQUksYUFBYSxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUNyRCxJQUFJLE9BQU8sRUFBRTtZQUNULGVBQWUsR0FBRyxPQUFPLENBQUM7U0FDN0I7UUFDRCxJQUFJLEtBQUssRUFBRTtZQUNQLGFBQWEsR0FBRyxLQUFLLENBQUM7U0FDekI7UUFDRCxJQUFJLE9BQU8sR0FBRyxXQUFXLENBQUMsR0FBRyxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQzdDLE9BQU8sQ0FBQyxPQUFPLENBQUMsZUFBZSxFQUFFLGFBQWEsQ0FBQyxDQUFDO0lBQ3BELENBQUM7SUFFRCxrQkFBa0IsQ0FBQyxPQUFnQixFQUFFLEtBQWMsRUFBRSxJQUFhO1FBRTlELElBQUksZUFBZSxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUM1RCxJQUFJLGFBQWEsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDbkQsSUFBSSxPQUFPLEVBQUU7WUFDVCxlQUFlLEdBQUcsT0FBTyxDQUFDO1NBQzdCO1FBQ0QsSUFBSSxLQUFLLEVBQUU7WUFDUCxhQUFhLEdBQUcsS0FBSyxDQUFDO1NBQ3pCO1FBQ0QsTUFBTSxPQUFPLEdBQUcsV0FBVyxDQUFDLEdBQUcsQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUMvQyxPQUFPLENBQUMsS0FBSyxDQUFDLGVBQWUsRUFBRSxhQUFhLENBQUMsQ0FBQztJQUNsRCxDQUFDO0lBRUQsb0JBQW9CLENBQUMsT0FBZ0IsRUFBRSxLQUFjLEVBQUUsSUFBYTtRQUVoRSxJQUFJLGVBQWUsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztRQUM5RCxJQUFJLGFBQWEsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDckQsSUFBSSxPQUFPLEVBQUU7WUFDVCxlQUFlLEdBQUcsT0FBTyxDQUFDO1NBQzdCO1FBQ0QsSUFBSSxLQUFLLEVBQUU7WUFDUCxhQUFhLEdBQUcsS0FBSyxDQUFDO1NBQ3pCO1FBQ0QsTUFBTSxPQUFPLEdBQUcsV0FBVyxDQUFDLEdBQUcsQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUMvQyxPQUFPLENBQUMsT0FBTyxDQUFDLGVBQWUsRUFBRSxhQUFhLENBQUMsQ0FBQztJQUNwRCxDQUFDO0lBRUQsWUFBWTtRQUNSLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDekIsQ0FBQztJQUNELFdBQVc7UUFDUCxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3hCLENBQUM7Ozs7WUFsRkosVUFBVSxTQUFDO2dCQUNSLFVBQVUsRUFBRSxNQUFNO2FBQ3JCOzs7WUFOUSxvQkFBb0I7WUFEcEIsV0FBVzs7QUFXTDtJQUFWLE9BQU8sRUFBRTsrQ0FBb0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBPcHRpb25hbCwgSG9zdCwgU2tpcFNlbGYsIENvbXBvbmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBUb2FzdHJTZXJ2aWNlIH0gZnJvbSAnbmd4LXRvYXN0cic7XHJcbmltcG9ydCB7IEJsb2NrVUksIE5nQmxvY2tVSSB9IGZyb20gJ25nLWJsb2NrLXVpJztcclxuaW1wb3J0IHsgQXBwSW5qZWN0b3IgfSBmcm9tICcuLi8uLi9iYnNmLXV0aWxpdGllcy5tb2R1bGUnO1xyXG5pbXBvcnQgeyBBdXRoU2VydmljZSB9IGZyb20gJy4uL2F1dGhlbnRpY2F0aW9uL2F1dGguc2VydmljZSc7XHJcbmltcG9ydCB7IEJCU0ZUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnLi90cmFuc2xhdGUuc2VydmljZSc7XHJcblxyXG5cclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICAgIHByb3ZpZGVkSW46ICdyb290J1xyXG59KVxyXG5leHBvcnQgY2xhc3MgVXRpbGl0eVNlcnZpY2Uge1xyXG5cclxuICAgIGlzQ3JlYXRlZEJlZm9yZSA9IGZhbHNlO1xyXG4gICAgQEJsb2NrVUkoKSBibG9ja1VJOiBOZ0Jsb2NrVUk7XHJcblxyXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBUcmFuc2xhdG9yOiBCQlNGVHJhbnNsYXRlU2VydmljZSwgcHJpdmF0ZSBhdXRoU2VydmljZTogQXV0aFNlcnZpY2UpIHtcclxuXHJcbiAgICB9XHJcblxyXG5cclxuICAgIGdldFJlc291cmNlVmFsdWUoS2V5OiBzdHJpbmcpOiBzdHJpbmcge1xyXG4gICAgICAgIGxldCBSZXNvdXJjZVZhbHVlID0gXCJcIlxyXG4gICAgICAgIHRoaXMuVHJhbnNsYXRvci5nZXQoS2V5KS5zdWJzY3JpYmUoZGF0YSA9PiB7IFJlc291cmNlVmFsdWUgPSBkYXRhOyByZXR1cm4gUmVzb3VyY2VWYWx1ZTsgfSk7XHJcbiAgICAgICAgcmV0dXJuIFJlc291cmNlVmFsdWU7XHJcblxyXG4gICAgfVxyXG5cclxuIFxyXG4gICAgXHJcbiAgICBhc3luYyBnZXRDdXJyZW50TGFuZ3VhZ2UoKSB7XHJcbiAgICAgICAgbGV0IHVzZXIgPSBhd2FpdCB0aGlzLmF1dGhTZXJ2aWNlLmdldEN1cnJlbnRVc2VyKCkudGhlbigodXNlcikgPT4ge1xyXG4gICAgICAgICAgICByZXR1cm4gdXNlcjtcclxuICAgICAgICB9KVxyXG4gICAgICAgIHJldHVybiB1c2VyLnByb2ZpbGUubG9jYWxlO1xyXG4gICAgfVxyXG4gICAgYXN5bmMgaXNDdXJyZW50TGFuZ3VhZ2VFbmdsaXNoKCkge1xyXG4gICAgICAgIGF3YWl0IHRoaXMuZ2V0Q3VycmVudExhbmd1YWdlKCkgPT0gXCJlblwiID8gdHJ1ZSA6IGZhbHNlXHJcbiAgICB9XHJcbiAgICBhc3luYyBpc0N1cnJlbnRMYW5ndWFnZUFyYWJpYygpIHtcclxuICAgICAgICBhd2FpdCB0aGlzLmdldEN1cnJlbnRMYW5ndWFnZSgpID09IFwiYXJcIiA/IHRydWUgOiBmYWxzZVxyXG4gICAgfVxyXG5cclxuICAgIG5vdGlmeVN1Y2Nlc3NNZXNzYWdlKE1lc3NhZ2U/OiBzdHJpbmcsIHRpdGxlPzogc3RyaW5nLCB0aW1lPzogbnVtYmVyKSB7XHJcblxyXG4gICAgICAgIGxldCBNZXNzYWdlVGVtcGxhdGUgPSB0aGlzLmdldFJlc291cmNlVmFsdWUoXCJTdWNjZXNzTWVzc2FnZVwiKTtcclxuICAgICAgICBsZXQgdGl0bGVUZW1wbGF0ZSA9IHRoaXMuZ2V0UmVzb3VyY2VWYWx1ZShcIlN1Y2Nlc3NcIik7XHJcbiAgICAgICAgaWYgKE1lc3NhZ2UpIHtcclxuICAgICAgICAgICAgTWVzc2FnZVRlbXBsYXRlID0gTWVzc2FnZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKHRpdGxlKSB7XHJcbiAgICAgICAgICAgIHRpdGxlVGVtcGxhdGUgPSB0aXRsZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgbGV0IHRvYXN0ZXIgPSBBcHBJbmplY3Rvci5nZXQoVG9hc3RyU2VydmljZSk7XHJcbiAgICAgICAgdG9hc3Rlci5zdWNjZXNzKE1lc3NhZ2VUZW1wbGF0ZSwgdGl0bGVUZW1wbGF0ZSk7XHJcbiAgICB9XHJcblxyXG4gICAgbm90aWZ5RXJyb3JNZXNzYWdlKE1lc3NhZ2U/OiBzdHJpbmcsIHRpdGxlPzogc3RyaW5nLCB0aW1lPzogbnVtYmVyKSB7XHJcblxyXG4gICAgICAgIGxldCBNZXNzYWdlVGVtcGxhdGUgPSB0aGlzLmdldFJlc291cmNlVmFsdWUoXCJFcnJvck1lc3NhZ2VcIik7XHJcbiAgICAgICAgbGV0IHRpdGxlVGVtcGxhdGUgPSB0aGlzLmdldFJlc291cmNlVmFsdWUoXCJFcnJvclwiKTtcclxuICAgICAgICBpZiAoTWVzc2FnZSkge1xyXG4gICAgICAgICAgICBNZXNzYWdlVGVtcGxhdGUgPSBNZXNzYWdlO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAodGl0bGUpIHtcclxuICAgICAgICAgICAgdGl0bGVUZW1wbGF0ZSA9IHRpdGxlO1xyXG4gICAgICAgIH1cclxuICAgICAgICBjb25zdCB0b2FzdGVyID0gQXBwSW5qZWN0b3IuZ2V0KFRvYXN0clNlcnZpY2UpO1xyXG4gICAgICAgIHRvYXN0ZXIuZXJyb3IoTWVzc2FnZVRlbXBsYXRlLCB0aXRsZVRlbXBsYXRlKTtcclxuICAgIH1cclxuXHJcbiAgICBub3RpZnlXYXJuaW5nTWVzc2FnZShNZXNzYWdlPzogc3RyaW5nLCB0aXRsZT86IHN0cmluZywgdGltZT86IG51bWJlcikge1xyXG5cclxuICAgICAgICBsZXQgTWVzc2FnZVRlbXBsYXRlID0gdGhpcy5nZXRSZXNvdXJjZVZhbHVlKFwiV2FybmluZ01lc3NhZ2VcIik7XHJcbiAgICAgICAgbGV0IHRpdGxlVGVtcGxhdGUgPSB0aGlzLmdldFJlc291cmNlVmFsdWUoXCJXYXJuaW5nXCIpO1xyXG4gICAgICAgIGlmIChNZXNzYWdlKSB7XHJcbiAgICAgICAgICAgIE1lc3NhZ2VUZW1wbGF0ZSA9IE1lc3NhZ2U7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmICh0aXRsZSkge1xyXG4gICAgICAgICAgICB0aXRsZVRlbXBsYXRlID0gdGl0bGU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGNvbnN0IHRvYXN0ZXIgPSBBcHBJbmplY3Rvci5nZXQoVG9hc3RyU2VydmljZSk7XHJcbiAgICAgICAgdG9hc3Rlci53YXJuaW5nKE1lc3NhZ2VUZW1wbGF0ZSwgdGl0bGVUZW1wbGF0ZSk7XHJcbiAgICB9XHJcblxyXG4gICAgc3RhcnRCbG9ja1VJKCkge1xyXG4gICAgICAgIHRoaXMuYmxvY2tVSS5zdGFydCgpO1xyXG4gICAgfVxyXG4gICAgc3RvcEJsb2NrVUkoKSB7XHJcbiAgICAgICAgdGhpcy5ibG9ja1VJLnN0b3AoKTtcclxuICAgIH1cclxufVxyXG4iXX0=
96
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbGl0eS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmJzZi11dGlsaXRpZXMvc3JjL2xpYi9zaGFyZWQvc2VydmljZXMvdXRpbGl0eS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsVUFBVSxFQUF1QyxNQUFNLGVBQWUsQ0FBQztBQUNoRixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxPQUFPLEVBQWEsTUFBTSxhQUFhLENBQUM7QUFDakQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQzdELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQzNELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQzs7Ozs7QUFPM0QsTUFBTSxPQUFPLGNBQWM7SUFLdkIsWUFBb0IsVUFBZ0MsRUFBVSxXQUF3QixFQUFXLGtCQUFzQztRQUFuSCxlQUFVLEdBQVYsVUFBVSxDQUFzQjtRQUFVLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBQVcsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUFvQjtRQUh2SSxvQkFBZSxHQUFHLEtBQUssQ0FBQztJQUt4QixDQUFDO0lBR0QsZ0JBQWdCLENBQUMsR0FBVztRQUN4QixJQUFJLGFBQWEsR0FBRSxJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQTtRQUMvQyxPQUFPLGFBQWEsQ0FBQztJQUV6QixDQUFDO0lBRUEsa0JBQWtCO1FBQ2IsSUFBSSxlQUFlLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDLGtCQUFrQixFQUFFLENBQUM7UUFDbkUsSUFBSSxJQUFJLEdBQUcsWUFBWSxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUM1QyxJQUFLLElBQUk7WUFDVCxlQUFlLEdBQUMsSUFBSSxDQUFDOztZQUVwQixZQUFZLENBQUMsT0FBTyxDQUFDLFVBQVUsRUFBRSxlQUFlLENBQUMsQ0FBQztRQUNuRCxPQUFPLGVBQWUsQ0FBQztJQUM3QixDQUFDO0lBQ0Esd0JBQXdCO1FBQ3BCLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxJQUFJLElBQUksQ0FBQTtJQUN0QyxDQUFDO0lBQ0QsdUJBQXVCO1FBQ2xCLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxJQUFJLElBQUksQ0FBQTtJQUN0QyxDQUFDO0lBRUQsb0JBQW9CLENBQUMsT0FBZ0IsRUFBRSxLQUFjLEVBQUUsSUFBYTtRQUVoRSxJQUFJLGVBQWUsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztRQUM5RCxJQUFJLGFBQWEsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDckQsSUFBSSxPQUFPLEVBQUU7WUFDVCxlQUFlLEdBQUcsT0FBTyxDQUFDO1NBQzdCO1FBQ0QsSUFBSSxLQUFLLEVBQUU7WUFDUCxhQUFhLEdBQUcsS0FBSyxDQUFDO1NBQ3pCO1FBQ0QsSUFBSSxPQUFPLEdBQUcsV0FBVyxDQUFDLEdBQUcsQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUM3QyxPQUFPLENBQUMsT0FBTyxDQUFDLGVBQWUsRUFBRSxhQUFhLENBQUMsQ0FBQztJQUNwRCxDQUFDO0lBRUQsa0JBQWtCLENBQUMsT0FBZ0IsRUFBRSxLQUFjLEVBQUUsSUFBYTtRQUU5RCxJQUFJLGVBQWUsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsY0FBYyxDQUFDLENBQUM7UUFDNUQsSUFBSSxhQUFhLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ25ELElBQUksT0FBTyxFQUFFO1lBQ1QsZUFBZSxHQUFHLE9BQU8sQ0FBQztTQUM3QjtRQUNELElBQUksS0FBSyxFQUFFO1lBQ1AsYUFBYSxHQUFHLEtBQUssQ0FBQztTQUN6QjtRQUNELE1BQU0sT0FBTyxHQUFHLFdBQVcsQ0FBQyxHQUFHLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDL0MsT0FBTyxDQUFDLEtBQUssQ0FBQyxlQUFlLEVBQUUsYUFBYSxDQUFDLENBQUM7SUFDbEQsQ0FBQztJQUVELG9CQUFvQixDQUFDLE9BQWdCLEVBQUUsS0FBYyxFQUFFLElBQWE7UUFFaEUsSUFBSSxlQUFlLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLGdCQUFnQixDQUFDLENBQUM7UUFDOUQsSUFBSSxhQUFhLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ3JELElBQUksT0FBTyxFQUFFO1lBQ1QsZUFBZSxHQUFHLE9BQU8sQ0FBQztTQUM3QjtRQUNELElBQUksS0FBSyxFQUFFO1lBQ1AsYUFBYSxHQUFHLEtBQUssQ0FBQztTQUN6QjtRQUNELE1BQU0sT0FBTyxHQUFHLFdBQVcsQ0FBQyxHQUFHLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDL0MsT0FBTyxDQUFDLE9BQU8sQ0FBQyxlQUFlLEVBQUUsYUFBYSxDQUFDLENBQUM7SUFDcEQsQ0FBQztJQUVELFlBQVk7UUFDUixJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQ3pCLENBQUM7SUFDRCxXQUFXO1FBQ1AsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUN4QixDQUFDOzs7O1lBbEZKLFVBQVUsU0FBQztnQkFDUixVQUFVLEVBQUUsTUFBTTthQUNyQjs7O1lBUlEsb0JBQW9CO1lBRHBCLFdBQVc7WUFHWCxrQkFBa0I7O0FBVVo7SUFBVixPQUFPLEVBQUU7K0NBQW9CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgT3B0aW9uYWwsIEhvc3QsIFNraXBTZWxmLCBDb21wb25lbnQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgVG9hc3RyU2VydmljZSB9IGZyb20gJ25neC10b2FzdHInO1xyXG5pbXBvcnQgeyBCbG9ja1VJLCBOZ0Jsb2NrVUkgfSBmcm9tICduZy1ibG9jay11aSc7XHJcbmltcG9ydCB7IEF1dGhTZXJ2aWNlIH0gZnJvbSAnLi4vYXV0aGVudGljYXRpb24vYXV0aC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgQkJTRlRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICcuL3RyYW5zbGF0ZS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgQXBwSW5qZWN0b3IgfSBmcm9tICcuLi8uLi9iYnNmLXV0aWxpdGllcy5tb2R1bGUnO1xyXG5pbXBvcnQgeyBFbnZpcm9ubWVudFNlcnZpY2UgfSBmcm9tICcuL2Vudmlyb25tZW50LnNlcnZpY2UnO1xyXG5cclxuXHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgICBwcm92aWRlZEluOiAncm9vdCdcclxufSlcclxuZXhwb3J0IGNsYXNzIFV0aWxpdHlTZXJ2aWNlIHtcclxuXHJcbiAgICBpc0NyZWF0ZWRCZWZvcmUgPSBmYWxzZTtcclxuICAgIEBCbG9ja1VJKCkgYmxvY2tVSTogTmdCbG9ja1VJO1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgdHJhbnNsYXRvcjogQkJTRlRyYW5zbGF0ZVNlcnZpY2UsIHByaXZhdGUgYXV0aFNlcnZpY2U6IEF1dGhTZXJ2aWNlICwgcHJpdmF0ZSBlbnZpcm9ubWVudFNlcnZpY2U6IEVudmlyb25tZW50U2VydmljZSwpIHtcclxuXHJcbiAgICB9XHJcblxyXG5cclxuICAgIGdldFJlc291cmNlVmFsdWUoS2V5OiBzdHJpbmcpOiBzdHJpbmcge1xyXG4gICAgICAgIGxldCBSZXNvdXJjZVZhbHVlID10aGlzLnRyYW5zbGF0b3IuaW5zdGFudChLZXkpXHJcbiAgICAgICAgcmV0dXJuIFJlc291cmNlVmFsdWU7XHJcblxyXG4gICAgfVxyXG5cclxuICAgICBnZXRDdXJyZW50TGFuZ3VhZ2UoKSB7XHJcbiAgICAgICAgICBsZXQgY3VycmVudExhbmd1YWdlID0gdGhpcy5lbnZpcm9ubWVudFNlcnZpY2UuZ2V0RGVmYXVsdExhbmd1YWdlKCk7XHJcbiAgICAgICAgICBsZXQgbGFuZyA9IGxvY2FsU3RvcmFnZS5nZXRJdGVtKCdsYW5ndWFnZScpO1xyXG4gICAgICAgICAgaWYgKCBsYW5nKSBcclxuICAgICAgICAgIGN1cnJlbnRMYW5ndWFnZT1sYW5nO1xyXG4gICAgICAgICAgZWxzZSBcclxuICAgICAgICAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbSgnbGFuZ3VhZ2UnLCBjdXJyZW50TGFuZ3VhZ2UpO1xyXG4gICAgICAgICAgcmV0dXJuIGN1cnJlbnRMYW5ndWFnZTtcclxuICAgIH1cclxuICAgICBpc0N1cnJlbnRMYW5ndWFnZUVuZ2xpc2goKSB7XHJcbiAgICAgICAgIHRoaXMuZ2V0Q3VycmVudExhbmd1YWdlKCkgPT0gXCJlblwiXHJcbiAgICB9XHJcbiAgICBpc0N1cnJlbnRMYW5ndWFnZUFyYWJpYygpIHtcclxuICAgICAgICAgdGhpcy5nZXRDdXJyZW50TGFuZ3VhZ2UoKSA9PSBcImFyXCJcclxuICAgIH1cclxuXHJcbiAgICBub3RpZnlTdWNjZXNzTWVzc2FnZShNZXNzYWdlPzogc3RyaW5nLCB0aXRsZT86IHN0cmluZywgdGltZT86IG51bWJlcikge1xyXG5cclxuICAgICAgICBsZXQgTWVzc2FnZVRlbXBsYXRlID0gdGhpcy5nZXRSZXNvdXJjZVZhbHVlKFwiU3VjY2Vzc01lc3NhZ2VcIik7XHJcbiAgICAgICAgbGV0IHRpdGxlVGVtcGxhdGUgPSB0aGlzLmdldFJlc291cmNlVmFsdWUoXCJTdWNjZXNzXCIpO1xyXG4gICAgICAgIGlmIChNZXNzYWdlKSB7XHJcbiAgICAgICAgICAgIE1lc3NhZ2VUZW1wbGF0ZSA9IE1lc3NhZ2U7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmICh0aXRsZSkge1xyXG4gICAgICAgICAgICB0aXRsZVRlbXBsYXRlID0gdGl0bGU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGxldCB0b2FzdGVyID0gQXBwSW5qZWN0b3IuZ2V0KFRvYXN0clNlcnZpY2UpO1xyXG4gICAgICAgIHRvYXN0ZXIuc3VjY2VzcyhNZXNzYWdlVGVtcGxhdGUsIHRpdGxlVGVtcGxhdGUpO1xyXG4gICAgfVxyXG5cclxuICAgIG5vdGlmeUVycm9yTWVzc2FnZShNZXNzYWdlPzogc3RyaW5nLCB0aXRsZT86IHN0cmluZywgdGltZT86IG51bWJlcikge1xyXG5cclxuICAgICAgICBsZXQgTWVzc2FnZVRlbXBsYXRlID0gdGhpcy5nZXRSZXNvdXJjZVZhbHVlKFwiRXJyb3JNZXNzYWdlXCIpO1xyXG4gICAgICAgIGxldCB0aXRsZVRlbXBsYXRlID0gdGhpcy5nZXRSZXNvdXJjZVZhbHVlKFwiRXJyb3JcIik7XHJcbiAgICAgICAgaWYgKE1lc3NhZ2UpIHtcclxuICAgICAgICAgICAgTWVzc2FnZVRlbXBsYXRlID0gTWVzc2FnZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKHRpdGxlKSB7XHJcbiAgICAgICAgICAgIHRpdGxlVGVtcGxhdGUgPSB0aXRsZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgY29uc3QgdG9hc3RlciA9IEFwcEluamVjdG9yLmdldChUb2FzdHJTZXJ2aWNlKTtcclxuICAgICAgICB0b2FzdGVyLmVycm9yKE1lc3NhZ2VUZW1wbGF0ZSwgdGl0bGVUZW1wbGF0ZSk7XHJcbiAgICB9XHJcblxyXG4gICAgbm90aWZ5V2FybmluZ01lc3NhZ2UoTWVzc2FnZT86IHN0cmluZywgdGl0bGU/OiBzdHJpbmcsIHRpbWU/OiBudW1iZXIpIHtcclxuXHJcbiAgICAgICAgbGV0IE1lc3NhZ2VUZW1wbGF0ZSA9IHRoaXMuZ2V0UmVzb3VyY2VWYWx1ZShcIldhcm5pbmdNZXNzYWdlXCIpO1xyXG4gICAgICAgIGxldCB0aXRsZVRlbXBsYXRlID0gdGhpcy5nZXRSZXNvdXJjZVZhbHVlKFwiV2FybmluZ1wiKTtcclxuICAgICAgICBpZiAoTWVzc2FnZSkge1xyXG4gICAgICAgICAgICBNZXNzYWdlVGVtcGxhdGUgPSBNZXNzYWdlO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAodGl0bGUpIHtcclxuICAgICAgICAgICAgdGl0bGVUZW1wbGF0ZSA9IHRpdGxlO1xyXG4gICAgICAgIH1cclxuICAgICAgICBjb25zdCB0b2FzdGVyID0gQXBwSW5qZWN0b3IuZ2V0KFRvYXN0clNlcnZpY2UpO1xyXG4gICAgICAgIHRvYXN0ZXIud2FybmluZyhNZXNzYWdlVGVtcGxhdGUsIHRpdGxlVGVtcGxhdGUpO1xyXG4gICAgfVxyXG5cclxuICAgIHN0YXJ0QmxvY2tVSSgpIHtcclxuICAgICAgICB0aGlzLmJsb2NrVUkuc3RhcnQoKTtcclxuICAgIH1cclxuICAgIHN0b3BCbG9ja1VJKCkge1xyXG4gICAgICAgIHRoaXMuYmxvY2tVSS5zdG9wKCk7XHJcbiAgICB9XHJcbn1cclxuIl19