@huntsman-cancer-institute/cod 16.0.1 → 16.1.1

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.
@@ -1,11 +1,11 @@
1
- import { ElementRef, Renderer2 } from "@angular/core";
2
- import { NgbModal } from "@ng-bootstrap/ng-bootstrap";
3
- import { AttributeBase } from "./attribute-base";
4
- import { AttributeService } from "../services/attribute.service";
1
+ import { ElementRef, Renderer2 } from '@angular/core';
2
+ import { NgbModal } from '@ng-bootstrap/ng-bootstrap';
3
+ import { AttributeBase } from './attribute-base';
4
+ import { AttributeService } from '../services/attribute.service';
5
5
  import * as i0 from "@angular/core";
6
6
  /**
7
- * This component is specifically designed to exist in a modal for editing. This is different from the flex attribute
8
- * because components such as the grid need extra configuration for editing.
7
+ * This component is specifically designed to exist in a modal for editing.
8
+ * This is different from the flex attribute because components such as the grid need extra configuration for editing.
9
9
  */
10
10
  export declare class AttributeEditComponent extends AttributeBase {
11
11
  constructor(attributeService: AttributeService, elementRef: ElementRef, renderer: Renderer2, modalService: NgbModal);
@@ -111,7 +111,7 @@ export class AttributeConfigurationComponent {
111
111
  <div *ngIf="editPopup" [id]="'id-attribute-container-' + attributeContainer.idAttributeContainer + '-header'"
112
112
  class="d-flex flex-grow-1 attribute-container-header {{'sort-order-' + attributeContainer.sortOrder}}">
113
113
  <div class="ml-auto mr-0" (click)="edit(editModal, attributeContainer)">
114
- <i class="fas fa-pencil"></i>
114
+ <i class="fas fa-pencil-alt"></i>
115
115
  </div>
116
116
  </div>
117
117
  </ng-template>
@@ -180,7 +180,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
180
180
  <div *ngIf="editPopup" [id]="'id-attribute-container-' + attributeContainer.idAttributeContainer + '-header'"
181
181
  class="d-flex flex-grow-1 attribute-container-header {{'sort-order-' + attributeContainer.sortOrder}}">
182
182
  <div class="ml-auto mr-0" (click)="edit(editModal, attributeContainer)">
183
- <i class="fas fa-pencil"></i>
183
+ <i class="fas fa-pencil-alt"></i>
184
184
  </div>
185
185
  </div>
186
186
  </ng-template>
@@ -260,4 +260,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
260
260
  type: ViewChild,
261
261
  args: [NgbAccordion, { static: false }]
262
262
  }] } });
263
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXR0cmlidXRlLWNvbmZpZ3VyYXRpb24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvY29kL3NyYy9jb21wb25lbnRzL2F0dHJpYnV0ZS1jb25maWd1cmF0aW9uLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsaUJBQWlCLEVBQUUsU0FBUyxFQUFFLGVBQWUsRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUNoRSxTQUFTLEVBQUUsU0FBUyxFQUFnQixTQUFTLEVBQUUsWUFBWSxFQUFxQixXQUFXLEVBQzVGLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzdDLE9BQU8sRUFBQyxZQUFZLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBQyxNQUFNLDRCQUE0QixDQUFDO0FBRTVFLE9BQU8sRUFBQyxxQkFBcUIsRUFBQyxNQUFNLGlDQUFpQyxDQUFDO0FBRXRFLE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLCtCQUErQixDQUFDOzs7Ozs7Ozs7O0FBSy9EOzs7O0dBSUc7QUFvRUgsTUFBTSxPQUFPLCtCQUErQjtJQTBCMUMsWUFBb0IsZ0JBQWtDLEVBQ2xDLFVBQXNCLEVBQ3RCLFFBQW1CLEVBQ25CLGlCQUFvQyxFQUNwQyxZQUFzQjtRQUp0QixxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBQ2xDLGVBQVUsR0FBVixVQUFVLENBQVk7UUFDdEIsYUFBUSxHQUFSLFFBQVEsQ0FBVztRQUNuQixzQkFBaUIsR0FBakIsaUJBQWlCLENBQW1CO1FBQ3BDLGlCQUFZLEdBQVosWUFBWSxDQUFVO1FBN0JwQixjQUFTLEdBQVcsb0VBQW9FLENBQUM7UUFPdEcsZUFBVSxHQUFZLElBQUksQ0FBQztRQUMzQixjQUFTLEdBQWEsS0FBSyxDQUFDO1FBQzVCLGFBQVEsR0FBWSxJQUFJLENBQUM7UUFRbEMs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RjsrTUFFdUIsU0FBUztzQkFBOUIsV0FBVzt1QkFBQyxPQUFPO2dCQUVYLG1CQUFtQjtzQkFBM0IsS0FBSztnQkFDRyxjQUFjO3NCQUF0QixLQUFLO2dCQUVHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBRUcsVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBRWtCLE9BQU87c0JBQTlCLFlBQVk7dUJBQUMsUUFBUTtnQkFDSyxPQUFPO3NCQUFqQyxlQUFlO3VCQUFDLFFBQVE7Z0JBaURaLFNBQVM7c0JBQXJCLEtBQUs7Z0JBU0YsU0FBUztzQkFEWixTQUFTO3VCQUFDLFlBQVksRUFBRSxFQUFDLE1BQU0sRUFBRSxLQUFLLEVBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIENoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQsIENvbnRlbnRDaGlsZHJlbiwgRWxlbWVudFJlZiwgSW5wdXQsIGlzRGV2TW9kZSwgVGVtcGxhdGVSZWYsXHJcbiAgUXVlcnlMaXN0LCBSZW5kZXJlcjIsIFNpbXBsZUNoYW5nZSwgVmlld0NoaWxkLCBWaWV3Q2hpbGRyZW4sIE9uSW5pdCwgT25EZXN0cm95LCBIb3N0QmluZGluZ1xyXG59IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcblxyXG5pbXBvcnQgeyBTdWJqZWN0LCBTdWJzY3JpcHRpb24gfSBmcm9tIFwicnhqc1wiO1xyXG5pbXBvcnQge05nYkFjY29yZGlvbiwgTmdiTW9kYWwsIE5nYlBhbmVsfSBmcm9tIFwiQG5nLWJvb3RzdHJhcC9uZy1ib290c3RyYXBcIjtcclxuXHJcbmltcG9ydCB7QWNjb3JkaW9uTmF2Q29tcG9uZW50fSBmcm9tIFwiQGh1bnRzbWFuLWNhbmNlci1pbnN0aXR1dGUvbWlzY1wiO1xyXG5cclxuaW1wb3J0IHtBdHRyaWJ1dGVTZXJ2aWNlfSBmcm9tIFwiLi4vc2VydmljZXMvYXR0cmlidXRlLnNlcnZpY2VcIjtcclxuaW1wb3J0IHtBdHRyaWJ1dGVDb25maWd1cmF0aW9ufSBmcm9tIFwiLi4vbW9kZWwvYXR0cmlidXRlLWNvbmZpZ3VyYXRpb24uZW50aXR5XCI7XHJcbmltcG9ydCB7QXR0cmlidXRlVmFsdWVTZXR9IGZyb20gXCIuLi9tb2RlbC9hdHRyaWJ1dGUtdmFsdWUtc2V0LmVudGl0eVwiO1xyXG5pbXBvcnQge0F0dHJpYnV0ZUNvbnRhaW5lcn0gZnJvbSBcIi4uL21vZGVsL2F0dHJpYnV0ZS1jb250YWluZXIuZW50aXR5XCI7XHJcblxyXG4vKipcclxuICogVGhpcyBjb21wb25lbnQgc2hvdWxkIGJlIGFkZGVkIG9uIHRvIGFueSBzY3JlZW4gdGhhdCBkaXNwbGF5cyBhbiBlbnRpdHkgd2l0aCBhbiBpZEF0dHJpYnV0ZVZhbHVlU2V0LiAgVGhpcyBjb25maWd1cmF0aW9uXHJcbiAqIHJlcHJlc2VudHMgdGhlIHBhcmVudCBvZiBzZXBhcmF0ZSBjb250YWluZXJzLCB3aGljaCBpbiB0dXJuIGNvbnRhaW4gYXR0cmlidXRlcyB3aGljaCBkaXNwbGF5IHRob3NlIHZhbHVlcyBpbiB0aGVcclxuICogYXR0cmlidXRlVmFsdWVTZXQuXHJcbiAqL1xyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogXCJoY2ktYXR0cmlidXRlLWNvbmZpZ3VyYXRpb25cIixcclxuICB0ZW1wbGF0ZTogYFxyXG4gICAgPGhjaS1idXN5IFtidXN5U3ViamVjdHNdPVwiW2xvYWRpbmdTdWJqZWN0XVwiPjwvaGNpLWJ1c3k+XHJcblxyXG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImF0dHJpYnV0ZUNvbmZpZ3VyYXRpb24gJiYgYXR0cmlidXRlVmFsdWVTZXRcIj5cclxuICAgICAgPG5nYi1hY2NvcmRpb24gI2FjY29yZGlvbj1cIm5nYkFjY29yZGlvblwiIGNsYXNzPVwieS1hdXRvXCI+XHJcbiAgICAgICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxyXG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGF0dHJpYnV0ZUNvbnRhaW5lciBvZiBhdHRyaWJ1dGVDb25maWd1cmF0aW9uLmF0dHJpYnV0ZUNvbnRhaW5lcnNcIj5cclxuICAgICAgICAgIDxuZ2ItcGFuZWwgW2lkXT1cIidpZC1hdHRyaWJ1dGUtY29udGFpbmVyLScgKyBhdHRyaWJ1dGVDb250YWluZXIuaWRBdHRyaWJ1dGVDb250YWluZXJcIiBbdGl0bGVdPVwiYXR0cmlidXRlQ29udGFpbmVyLmNvbnRhaW5lck5hbWVcIj5cclxuICAgICAgICAgICAgPG5nLXRlbXBsYXRlIG5nYlBhbmVsVGl0bGU+XHJcbiAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cImVkaXRQb3B1cFwiIFtpZF09XCInaWQtYXR0cmlidXRlLWNvbnRhaW5lci0nICsgYXR0cmlidXRlQ29udGFpbmVyLmlkQXR0cmlidXRlQ29udGFpbmVyICsgJy1oZWFkZXInXCJcclxuICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZC1mbGV4IGZsZXgtZ3Jvdy0xIGF0dHJpYnV0ZS1jb250YWluZXItaGVhZGVyIHt7J3NvcnQtb3JkZXItJyArIGF0dHJpYnV0ZUNvbnRhaW5lci5zb3J0T3JkZXJ9fVwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1sLWF1dG8gbXItMFwiIChjbGljayk9XCJlZGl0KGVkaXRNb2RhbCwgYXR0cmlidXRlQ29udGFpbmVyKVwiPlxyXG4gICAgICAgICAgICAgICAgICA8aSBjbGFzcz1cImZhcyBmYS1wZW5jaWxcIj48L2k+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICAgICAgPG5nLXRlbXBsYXRlIG5nYlBhbmVsQ29udGVudD5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYXR0cmlidXRlLWNvbnRhaW5lclwiXHJcbiAgICAgICAgICAgICAgICAgICBbY2xhc3MuY29sLW1kLTEyXT1cImF0dHJpYnV0ZUNvbnRhaW5lci5pc0F1dG9MYXlvdXQgJiYgYXR0cmlidXRlQ29udGFpbmVyLmlzQXV0b0xheW91dCA9PT0gJ1knXCJcclxuICAgICAgICAgICAgICAgICAgIFtjbGFzcy5mbGV4XT1cImF0dHJpYnV0ZUNvbnRhaW5lci5pc0F1dG9MYXlvdXQgJiYgYXR0cmlidXRlQ29udGFpbmVyLmlzQXV0b0xheW91dCA9PT0gJ1knXCJcclxuICAgICAgICAgICAgICAgICAgIFtjbGFzcy5mbGV4LXdyYXBdPVwiYXR0cmlidXRlQ29udGFpbmVyLmlzQXV0b0xheW91dCAmJiBhdHRyaWJ1dGVDb250YWluZXIuaXNBdXRvTGF5b3V0ID09PSAnWSdcIlxyXG4gICAgICAgICAgICAgICAgICAgW2NsYXNzLmFic29sdXRlXT1cIiFhdHRyaWJ1dGVDb250YWluZXIuaXNBdXRvTGF5b3V0IHx8IGF0dHJpYnV0ZUNvbnRhaW5lci5pc0F1dG9MYXlvdXQgPT09ICdOJ1wiXHJcbiAgICAgICAgICAgICAgICAgICBbY2xhc3MueC1hdXRvXT1cIiFhdHRyaWJ1dGVDb250YWluZXIuaXNBdXRvTGF5b3V0IHx8IGF0dHJpYnV0ZUNvbnRhaW5lci5pc0F1dG9MYXlvdXQgPT09ICdOJ1wiXHJcbiAgICAgICAgICAgICAgICAgICBbc3R5bGUuaGVpZ2h0LnB4XT1cIighYXR0cmlidXRlQ29udGFpbmVyLmlzQXV0b0xheW91dCB8fCBhdHRyaWJ1dGVDb250YWluZXIuaXNBdXRvTGF5b3V0ID09PSAnTicpID8gd2luZG93RGltZW5zaW9uLmhlaWdodCA6ICdhdXRvJ1wiPlxyXG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgYXR0cmlidXRlIG9mIGF0dHJpYnV0ZUNvbnRhaW5lci5ncmFwaGljYWxBdHRyaWJ1dGVzIHwgaXNHcm91cEF0dHJpYnV0ZTogZmFsc2VcIj5cclxuICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImF0dHJpYnV0ZUNvbnRhaW5lci5pc0F1dG9MYXlvdXQgJiYgYXR0cmlidXRlQ29udGFpbmVyLmlzQXV0b0xheW91dCA9PT0gJ1knICYmIGF0dHJpYnV0ZS5jb2RlQXR0cmlidXRlRGF0YVR5cGUgIT09ICdMSU5FJ1wiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxoY2ktYXR0cmlidXRlLWZsZXggW2lkXT1cIidpZC1hdHRyaWJ1dGUtJyArIGF0dHJpYnV0ZS5pZEF0dHJpYnV0ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYXR0cmlidXRlXT1cImF0dHJpYnV0ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZWRpdElubGluZV09XCJlZGl0SW5saW5lXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjbGFzcy5hdHRyaWJ1dGVdPVwidHJ1ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY2xhc3MuY29sLTRdPVwiYXR0cmlidXRlLmNvZGVBdHRyaWJ1dGVEYXRhVHlwZSAhPT0gJ0dBJyAmJiBhdHRyaWJ1dGUuY29kZUF0dHJpYnV0ZURhdGFUeXBlICE9PSAnTElORSdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NsYXNzLmNvbC0xMl09XCJhdHRyaWJ1dGUuY29kZUF0dHJpYnV0ZURhdGFUeXBlID09PSAnR0EnIHx8IGF0dHJpYnV0ZS5jb2RlQXR0cmlidXRlRGF0YVR5cGUgPT09ICdMSU5FJ1wiPjwvaGNpLWF0dHJpYnV0ZS1mbGV4PlxyXG4gICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFhdHRyaWJ1dGVDb250YWluZXIuaXNBdXRvTGF5b3V0IHx8IGF0dHJpYnV0ZUNvbnRhaW5lci5pc0F1dG9MYXlvdXQgPT09ICdOJ1wiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxoY2ktYXR0cmlidXRlLWFic29sdXRlIFtpZF09XCInaWQtYXR0cmlidXRlLScgKyBhdHRyaWJ1dGUuaWRBdHRyaWJ1dGVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthdHRyaWJ1dGVdPVwiYXR0cmlidXRlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZWRpdElubGluZV09XCJlZGl0SW5saW5lXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY2xhc3MuYXR0cmlidXRlXT1cInRydWVcIj48L2hjaS1hdHRyaWJ1dGUtYWJzb2x1dGU+XHJcbiAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgICA8L25nYi1wYW5lbD5cclxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgPC9uZ2ItYWNjb3JkaW9uPlxyXG4gICAgPC9uZy1jb250YWluZXI+XHJcblxyXG4gICAgPG5nLXRlbXBsYXRlICNlZGl0TW9kYWwgbGV0LWNsb3NlPVwiY2xvc2VcIj5cclxuICAgICAgPGRpdiBjbGFzcz1cIm1vZGFsLWhlYWRlclwiPlxyXG4gICAgICAgIHt7ZWRpdENvbnRhaW5lci5jb250YWluZXJOYW1lfX1cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJtb2RhbC1ib2R5IGQtZmxleCBmbGV4LWNvbHVtbiBoY2ktY29kLWVkaXRcIj5cclxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBhdHRyaWJ1dGUgb2YgZWRpdENvbnRhaW5lci5ncmFwaGljYWxBdHRyaWJ1dGVzIHwgaXNHcm91cEF0dHJpYnV0ZTogZmFsc2VcIj5cclxuICAgICAgICAgIDxoY2ktYXR0cmlidXRlLWVkaXQgW2lkXT1cIidlZGl0LWlkLWF0dHJpYnV0ZS0nICsgYXR0cmlidXRlLmlkQXR0cmlidXRlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2F0dHJpYnV0ZV09XCJhdHRyaWJ1dGVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImF0dHJpYnV0ZVwiPjwvaGNpLWF0dHJpYnV0ZS1lZGl0PlxyXG4gICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICA8L2Rpdj5cclxuICAgICAgPGRpdiBjbGFzcz1cIm1vZGFsLWZvb3RlclwiPlxyXG4gICAgICAgIDxidXR0b24gY2xhc3M9XCJidG4gYnRuLXByaW1hcnlcIiAoY2xpY2spPVwiY2xvc2UoJ1NhdmUnKVwiPlNhdmU8L2J1dHRvbj5cclxuICAgICAgICA8YnV0dG9uIGNsYXNzPVwiYnRuIGJ0bi1wcmltYXJ5XCIgKGNsaWNrKT1cImNsb3NlKCdDYW5jZWwnKVwiPkNhbmNlbDwvYnV0dG9uPlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgYFxyXG59KVxyXG5leHBvcnQgY2xhc3MgQXR0cmlidXRlQ29uZmlndXJhdGlvbkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcclxuICBASG9zdEJpbmRpbmcoXCJjbGFzc1wiKSBjbGFzc0xpc3Q6IHN0cmluZyA9IFwiaGNpLWF0dHJpYnV0ZS1jb25maWd1cmF0aW9uIGhjaS1jb2QgZC1mbGV4IGZsZXgtY29sdW1uIGZsZXgtZ3Jvdy0xXCI7XHJcblxyXG4gIEBJbnB1dCgpIGlkQXR0cmlidXRlVmFsdWVTZXQ6IG51bWJlcjtcclxuICBASW5wdXQoKSBpZFBhcmVudE9iamVjdDogbnVtYmVyO1xyXG4gIFxyXG4gIEBJbnB1dCgpIGFjY29yZGlvbk5hdjogQWNjb3JkaW9uTmF2Q29tcG9uZW50O1xyXG4gIFxyXG4gIEBJbnB1dCgpIGVkaXRJbmxpbmU6IGJvb2xlYW4gPSB0cnVlO1xyXG4gIEBJbnB1dCgpIGVkaXRQb3B1cDogYm9vbGVhbiA9ICBmYWxzZTtcclxuICBASW5wdXQoKSBlZGl0YWJsZTogYm9vbGVhbiA9IHRydWU7XHJcblxyXG4gIEBWaWV3Q2hpbGRyZW4oTmdiUGFuZWwpIHZQYW5lbHM6IFF1ZXJ5TGlzdDxOZ2JQYW5lbD47XHJcbiAgQENvbnRlbnRDaGlsZHJlbihOZ2JQYW5lbCkgY1BhbmVsczogUXVlcnlMaXN0PE5nYlBhbmVsPjtcclxuXHJcbiAgYXR0cmlidXRlQ29uZmlndXJhdGlvbjogQXR0cmlidXRlQ29uZmlndXJhdGlvbjtcclxuICBhdHRyaWJ1dGVWYWx1ZVNldDogQXR0cmlidXRlVmFsdWVTZXQ7XHJcblxyXG4gIGxvYWRpbmdTdWJqZWN0OiBTdWJqZWN0PGJvb2xlYW4+ID0gbmV3IFN1YmplY3Q8Ym9vbGVhbj4oKTtcclxuXHJcbiAgZWRpdENvbnRhaW5lcjogQXR0cmlidXRlQ29udGFpbmVyO1xyXG5cclxuICB3aW5kb3dEaW1lbnNpb246IGFueSA9IHt9O1xyXG5cclxuICBzdWJzY3JpcHRpb25zOiBTdWJzY3JpcHRpb24gPSBuZXcgU3Vic2NyaXB0aW9uKCk7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgYXR0cmlidXRlU2VydmljZTogQXR0cmlidXRlU2VydmljZSxcclxuICAgICAgICAgICAgICBwcml2YXRlIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYsXHJcbiAgICAgICAgICAgICAgcHJpdmF0ZSByZW5kZXJlcjogUmVuZGVyZXIyLFxyXG4gICAgICAgICAgICAgIHByaXZhdGUgY2hhbmdlRGV0ZWN0b3JSZWY6IENoYW5nZURldGVjdG9yUmVmLFxyXG4gICAgICAgICAgICAgIHByaXZhdGUgbW9kYWxTZXJ2aWNlOiBOZ2JNb2RhbCkge31cclxuXHJcbiAgLyoqXHJcbiAgICogVXBvbiBpbml0LCBzdWJzY3JpYmUgdG8gdGhlIGNvbmZpZ3VyYXRpb24gYW5kIHZhbHVlIHNldC5cclxuICAgKi9cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIGlmICghIHRoaXMuZWRpdGFibGUpIHtcclxuICAgICAgdGhpcy5lZGl0SW5saW5lID0gZmFsc2U7XHJcbiAgICAgIHRoaXMuZWRpdFBvcHVwID0gZmFsc2U7XHJcbiAgICB9XHJcbiAgICBcclxuICAgIHRoaXMubG9hZGluZ1N1YmplY3QgPSB0aGlzLmF0dHJpYnV0ZVNlcnZpY2UuZ2V0TG9hZGluZ1N1YmplY3QoKTtcclxuXHJcbiAgICB0aGlzLnN1YnNjcmlwdGlvbnMuYWRkKHRoaXMuYXR0cmlidXRlU2VydmljZS5nZXRBdHRyaWJ1dGVDb25maWd1cmF0aW9uU3ViamVjdCgpLnN1YnNjcmliZSgoYXR0cmlidXRlQ29uZmlndXJhdGlvbjogQXR0cmlidXRlQ29uZmlndXJhdGlvbikgPT4ge1xyXG4gICAgICB0aGlzLmF0dHJpYnV0ZUNvbmZpZ3VyYXRpb24gPSBhdHRyaWJ1dGVDb25maWd1cmF0aW9uO1xyXG4gICAgICBcclxuICAgICAgdGhpcy5hdHRyaWJ1dGVTZXJ2aWNlLnNldEF0dHJpYnV0ZVZhbHVlU2V0KHRoaXMuaWRBdHRyaWJ1dGVWYWx1ZVNldCwgdGhpcy5pZFBhcmVudE9iamVjdCk7XHJcbiAgICB9KSk7XHJcblxyXG4gICAgdGhpcy5zdWJzY3JpcHRpb25zLmFkZCh0aGlzLmF0dHJpYnV0ZVNlcnZpY2UuYXR0cmlidXRlQ29uZmlndXJhdGlvbkRpbWVuc2lvblN1YmplY3Quc3Vic2NyaWJlKCh3aW5kb3dEaW1lbnNpb246IGFueSkgPT4ge1xyXG4gICAgICB0aGlzLndpbmRvd0RpbWVuc2lvbiA9IHdpbmRvd0RpbWVuc2lvbjtcclxuICAgIH0pKTtcclxuXHJcbiAgICB0aGlzLnN1YnNjcmlwdGlvbnMuYWRkKHRoaXMuYXR0cmlidXRlU2VydmljZS5nZXRBdHRyaWJ1dGVWYWx1ZVNldCgpLnN1YnNjcmliZSgoYXR0cmlidXRlVmFsdWVTZXQ6IEF0dHJpYnV0ZVZhbHVlU2V0KSA9PiB7XHJcbiAgICAgIHRoaXMuYXR0cmlidXRlVmFsdWVTZXQgPSBhdHRyaWJ1dGVWYWx1ZVNldDtcclxuICAgICAgXHJcbiAgICAgIGlmICh0aGlzLmF0dHJpYnV0ZVZhbHVlU2V0KSB7XHJcbiAgICAgICAgdGhpcy5hdHRyaWJ1dGVTZXJ2aWNlLm5vdGlmeUF0dHJpYnV0ZXMoKTtcclxuICAgICAgfVxyXG4gICAgfSkpO1xyXG4gIH1cclxuICBcclxuICBASW5wdXQoKSBzZXQgYm91bmREYXRhKHZhbHVlOiBhbnkpIHtcclxuICAgIHRoaXMuYXR0cmlidXRlU2VydmljZS5zZXRCb3VuZERhdGEodmFsdWUpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkRlc3Ryb3koKSB7XHJcbiAgICB0aGlzLnN1YnNjcmlwdGlvbnMudW5zdWJzY3JpYmUoKTtcclxuICB9XHJcblxyXG4gIEBWaWV3Q2hpbGQoTmdiQWNjb3JkaW9uLCB7c3RhdGljOiBmYWxzZX0pXHJcbiAgc2V0IGFjY29yZGlvbihhY2NvcmRpb246IE5nYkFjY29yZGlvbikge1xyXG4gICAgaWYgKGFjY29yZGlvbikge1xyXG4gICAgICBhY2NvcmRpb24ucGFuZWxzLnJlc2V0KFt0aGlzLmNQYW5lbHMudG9BcnJheSgpLCB0aGlzLnZQYW5lbHMudG9BcnJheSgpXSk7XHJcbiAgICAgIGFjY29yZGlvbi5uZ0FmdGVyQ29udGVudENoZWNrZWQoKTtcclxuXHJcbiAgICAgIGlmICh0aGlzLmFjY29yZGlvbk5hdiAmJiAhdGhpcy5hY2NvcmRpb25OYXYuYWNjb3JkaW9uKSB7XHJcbiAgICAgICAgdGhpcy5hY2NvcmRpb25OYXYuc2V0QWNjb3JkaW9uKGFjY29yZGlvbik7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3JSZWYuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgbmdPbkNoYW5nZXMoY2hhbmdlczoge1twcm9wTmFtZTogc3RyaW5nXTogU2ltcGxlQ2hhbmdlfSkge1xyXG4gICAgaWYgKCEgdGhpcy5lZGl0YWJsZSkge1xyXG4gICAgICB0aGlzLmVkaXRJbmxpbmUgPSBmYWxzZTtcclxuICAgICAgdGhpcy5lZGl0UG9wdXAgPSBmYWxzZTtcclxuICAgIH1cclxuICAgIFxyXG4gICAgaWYgKGNoYW5nZXNbXCJhY2NvcmRpb25OYXZcIl0gJiYgdGhpcy5hY2NvcmRpb25OYXYgJiYgdGhpcy5hY2NvcmRpb24pIHtcclxuICAgICAgdGhpcy5hY2NvcmRpb25OYXYuYWNjb3JkaW9uID0gdGhpcy5hY2NvcmRpb247XHJcbiAgICAgIHRoaXMuYWNjb3JkaW9uTmF2LnBhbmVscyA9IHRoaXMuYWNjb3JkaW9uLnBhbmVscztcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGdldEF0dHJpYnV0ZVNlcnZpY2UoKTogQXR0cmlidXRlU2VydmljZSB7XHJcbiAgICByZXR1cm4gdGhpcy5hdHRyaWJ1dGVTZXJ2aWNlO1xyXG4gIH1cclxuXHJcbiAgZWRpdChtb2RhbDogVGVtcGxhdGVSZWY8YW55PiwgZWRpdENvbnRhaW5lcjogQXR0cmlidXRlQ29udGFpbmVyKTogdm9pZCB7XHJcbiAgICB0aGlzLmVkaXRDb250YWluZXIgPSBlZGl0Q29udGFpbmVyO1xyXG5cclxuICAgIHRoaXMubW9kYWxTZXJ2aWNlLm9wZW4obW9kYWwsIHt3aW5kb3dDbGFzczogXCJtb2RhbC1sZ1wifSkucmVzdWx0LnRoZW4oKHJlc3VsdCkgPT4ge1xyXG4gICAgICBpZiAocmVzdWx0ID09PSBcIlNhdmVcIikge1xyXG4gICAgICAgIHRoaXMuYXR0cmlidXRlU2VydmljZS51cGRhdGVBdHRyaWJ1dGVWYWx1ZVNldCgpO1xyXG4gICAgICB9IGVsc2UgaWYgKHJlc3VsdCA9PT0gXCJDYW5jZWxcIikge1xyXG4gICAgICAgIHRoaXMuYXR0cmlidXRlU2VydmljZS5jbGVhclVwZGF0ZWRBdHRyaWJ1dGVWYWx1ZXMoKTtcclxuICAgICAgfVxyXG4gICAgfSwgKHJlYXNvbikgPT4ge30pO1xyXG4gIH1cclxuXHJcbiAgcG9zdCgpOiB2b2lkIHtcclxuICAgIHRoaXMuYXR0cmlidXRlU2VydmljZS51cGRhdGVBdHRyaWJ1dGVWYWx1ZVNldCgpO1xyXG4gIH1cclxuXHJcbn1cclxuIl19
263
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXR0cmlidXRlLWNvbmZpZ3VyYXRpb24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvY29kL3NyYy9jb21wb25lbnRzL2F0dHJpYnV0ZS1jb25maWd1cmF0aW9uLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsaUJBQWlCLEVBQUUsU0FBUyxFQUFFLGVBQWUsRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUNoRSxTQUFTLEVBQUUsU0FBUyxFQUFnQixTQUFTLEVBQUUsWUFBWSxFQUFxQixXQUFXLEVBQzVGLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzdDLE9BQU8sRUFBQyxZQUFZLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBQyxNQUFNLDRCQUE0QixDQUFDO0FBRTVFLE9BQU8sRUFBQyxxQkFBcUIsRUFBQyxNQUFNLGlDQUFpQyxDQUFDO0FBRXRFLE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLCtCQUErQixDQUFDOzs7Ozs7Ozs7O0FBSy9EOzs7O0dBSUc7QUFvRUgsTUFBTSxPQUFPLCtCQUErQjtJQTBCMUMsWUFBb0IsZ0JBQWtDLEVBQ2xDLFVBQXNCLEVBQ3RCLFFBQW1CLEVBQ25CLGlCQUFvQyxFQUNwQyxZQUFzQjtRQUp0QixxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBQ2xDLGVBQVUsR0FBVixVQUFVLENBQVk7UUFDdEIsYUFBUSxHQUFSLFFBQVEsQ0FBVztRQUNuQixzQkFBaUIsR0FBakIsaUJBQWlCLENBQW1CO1FBQ3BDLGlCQUFZLEdBQVosWUFBWSxDQUFVO1FBN0JwQixjQUFTLEdBQVcsb0VBQW9FLENBQUM7UUFPdEcsZUFBVSxHQUFZLElBQUksQ0FBQztRQUMzQixjQUFTLEdBQWEsS0FBSyxDQUFDO1FBQzVCLGFBQVEsR0FBWSxJQUFJLENBQUM7UUFRbEMs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RjsrTUFFdUIsU0FBUztzQkFBOUIsV0FBVzt1QkFBQyxPQUFPO2dCQUVYLG1CQUFtQjtzQkFBM0IsS0FBSztnQkFDRyxjQUFjO3NCQUF0QixLQUFLO2dCQUVHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBRUcsVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBRWtCLE9BQU87c0JBQTlCLFlBQVk7dUJBQUMsUUFBUTtnQkFDSyxPQUFPO3NCQUFqQyxlQUFlO3VCQUFDLFFBQVE7Z0JBaURaLFNBQVM7c0JBQXJCLEtBQUs7Z0JBU0YsU0FBUztzQkFEWixTQUFTO3VCQUFDLFlBQVksRUFBRSxFQUFDLE1BQU0sRUFBRSxLQUFLLEVBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIENoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQsIENvbnRlbnRDaGlsZHJlbiwgRWxlbWVudFJlZiwgSW5wdXQsIGlzRGV2TW9kZSwgVGVtcGxhdGVSZWYsXHJcbiAgUXVlcnlMaXN0LCBSZW5kZXJlcjIsIFNpbXBsZUNoYW5nZSwgVmlld0NoaWxkLCBWaWV3Q2hpbGRyZW4sIE9uSW5pdCwgT25EZXN0cm95LCBIb3N0QmluZGluZ1xyXG59IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcblxyXG5pbXBvcnQgeyBTdWJqZWN0LCBTdWJzY3JpcHRpb24gfSBmcm9tIFwicnhqc1wiO1xyXG5pbXBvcnQge05nYkFjY29yZGlvbiwgTmdiTW9kYWwsIE5nYlBhbmVsfSBmcm9tIFwiQG5nLWJvb3RzdHJhcC9uZy1ib290c3RyYXBcIjtcclxuXHJcbmltcG9ydCB7QWNjb3JkaW9uTmF2Q29tcG9uZW50fSBmcm9tIFwiQGh1bnRzbWFuLWNhbmNlci1pbnN0aXR1dGUvbWlzY1wiO1xyXG5cclxuaW1wb3J0IHtBdHRyaWJ1dGVTZXJ2aWNlfSBmcm9tIFwiLi4vc2VydmljZXMvYXR0cmlidXRlLnNlcnZpY2VcIjtcclxuaW1wb3J0IHtBdHRyaWJ1dGVDb25maWd1cmF0aW9ufSBmcm9tIFwiLi4vbW9kZWwvYXR0cmlidXRlLWNvbmZpZ3VyYXRpb24uZW50aXR5XCI7XHJcbmltcG9ydCB7QXR0cmlidXRlVmFsdWVTZXR9IGZyb20gXCIuLi9tb2RlbC9hdHRyaWJ1dGUtdmFsdWUtc2V0LmVudGl0eVwiO1xyXG5pbXBvcnQge0F0dHJpYnV0ZUNvbnRhaW5lcn0gZnJvbSBcIi4uL21vZGVsL2F0dHJpYnV0ZS1jb250YWluZXIuZW50aXR5XCI7XHJcblxyXG4vKipcclxuICogVGhpcyBjb21wb25lbnQgc2hvdWxkIGJlIGFkZGVkIG9uIHRvIGFueSBzY3JlZW4gdGhhdCBkaXNwbGF5cyBhbiBlbnRpdHkgd2l0aCBhbiBpZEF0dHJpYnV0ZVZhbHVlU2V0LiAgVGhpcyBjb25maWd1cmF0aW9uXHJcbiAqIHJlcHJlc2VudHMgdGhlIHBhcmVudCBvZiBzZXBhcmF0ZSBjb250YWluZXJzLCB3aGljaCBpbiB0dXJuIGNvbnRhaW4gYXR0cmlidXRlcyB3aGljaCBkaXNwbGF5IHRob3NlIHZhbHVlcyBpbiB0aGVcclxuICogYXR0cmlidXRlVmFsdWVTZXQuXHJcbiAqL1xyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogXCJoY2ktYXR0cmlidXRlLWNvbmZpZ3VyYXRpb25cIixcclxuICB0ZW1wbGF0ZTogYFxyXG4gICAgPGhjaS1idXN5IFtidXN5U3ViamVjdHNdPVwiW2xvYWRpbmdTdWJqZWN0XVwiPjwvaGNpLWJ1c3k+XHJcblxyXG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImF0dHJpYnV0ZUNvbmZpZ3VyYXRpb24gJiYgYXR0cmlidXRlVmFsdWVTZXRcIj5cclxuICAgICAgPG5nYi1hY2NvcmRpb24gI2FjY29yZGlvbj1cIm5nYkFjY29yZGlvblwiIGNsYXNzPVwieS1hdXRvXCI+XHJcbiAgICAgICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxyXG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGF0dHJpYnV0ZUNvbnRhaW5lciBvZiBhdHRyaWJ1dGVDb25maWd1cmF0aW9uLmF0dHJpYnV0ZUNvbnRhaW5lcnNcIj5cclxuICAgICAgICAgIDxuZ2ItcGFuZWwgW2lkXT1cIidpZC1hdHRyaWJ1dGUtY29udGFpbmVyLScgKyBhdHRyaWJ1dGVDb250YWluZXIuaWRBdHRyaWJ1dGVDb250YWluZXJcIiBbdGl0bGVdPVwiYXR0cmlidXRlQ29udGFpbmVyLmNvbnRhaW5lck5hbWVcIj5cclxuICAgICAgICAgICAgPG5nLXRlbXBsYXRlIG5nYlBhbmVsVGl0bGU+XHJcbiAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cImVkaXRQb3B1cFwiIFtpZF09XCInaWQtYXR0cmlidXRlLWNvbnRhaW5lci0nICsgYXR0cmlidXRlQ29udGFpbmVyLmlkQXR0cmlidXRlQ29udGFpbmVyICsgJy1oZWFkZXInXCJcclxuICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZC1mbGV4IGZsZXgtZ3Jvdy0xIGF0dHJpYnV0ZS1jb250YWluZXItaGVhZGVyIHt7J3NvcnQtb3JkZXItJyArIGF0dHJpYnV0ZUNvbnRhaW5lci5zb3J0T3JkZXJ9fVwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1sLWF1dG8gbXItMFwiIChjbGljayk9XCJlZGl0KGVkaXRNb2RhbCwgYXR0cmlidXRlQ29udGFpbmVyKVwiPlxyXG4gICAgICAgICAgICAgICAgICA8aSBjbGFzcz1cImZhcyBmYS1wZW5jaWwtYWx0XCI+PC9pPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSBuZ2JQYW5lbENvbnRlbnQ+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImF0dHJpYnV0ZS1jb250YWluZXJcIlxyXG4gICAgICAgICAgICAgICAgICAgW2NsYXNzLmNvbC1tZC0xMl09XCJhdHRyaWJ1dGVDb250YWluZXIuaXNBdXRvTGF5b3V0ICYmIGF0dHJpYnV0ZUNvbnRhaW5lci5pc0F1dG9MYXlvdXQgPT09ICdZJ1wiXHJcbiAgICAgICAgICAgICAgICAgICBbY2xhc3MuZmxleF09XCJhdHRyaWJ1dGVDb250YWluZXIuaXNBdXRvTGF5b3V0ICYmIGF0dHJpYnV0ZUNvbnRhaW5lci5pc0F1dG9MYXlvdXQgPT09ICdZJ1wiXHJcbiAgICAgICAgICAgICAgICAgICBbY2xhc3MuZmxleC13cmFwXT1cImF0dHJpYnV0ZUNvbnRhaW5lci5pc0F1dG9MYXlvdXQgJiYgYXR0cmlidXRlQ29udGFpbmVyLmlzQXV0b0xheW91dCA9PT0gJ1knXCJcclxuICAgICAgICAgICAgICAgICAgIFtjbGFzcy5hYnNvbHV0ZV09XCIhYXR0cmlidXRlQ29udGFpbmVyLmlzQXV0b0xheW91dCB8fCBhdHRyaWJ1dGVDb250YWluZXIuaXNBdXRvTGF5b3V0ID09PSAnTidcIlxyXG4gICAgICAgICAgICAgICAgICAgW2NsYXNzLngtYXV0b109XCIhYXR0cmlidXRlQ29udGFpbmVyLmlzQXV0b0xheW91dCB8fCBhdHRyaWJ1dGVDb250YWluZXIuaXNBdXRvTGF5b3V0ID09PSAnTidcIlxyXG4gICAgICAgICAgICAgICAgICAgW3N0eWxlLmhlaWdodC5weF09XCIoIWF0dHJpYnV0ZUNvbnRhaW5lci5pc0F1dG9MYXlvdXQgfHwgYXR0cmlidXRlQ29udGFpbmVyLmlzQXV0b0xheW91dCA9PT0gJ04nKSA/IHdpbmRvd0RpbWVuc2lvbi5oZWlnaHQgOiAnYXV0bydcIj5cclxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGF0dHJpYnV0ZSBvZiBhdHRyaWJ1dGVDb250YWluZXIuZ3JhcGhpY2FsQXR0cmlidXRlcyB8IGlzR3JvdXBBdHRyaWJ1dGU6IGZhbHNlXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJhdHRyaWJ1dGVDb250YWluZXIuaXNBdXRvTGF5b3V0ICYmIGF0dHJpYnV0ZUNvbnRhaW5lci5pc0F1dG9MYXlvdXQgPT09ICdZJyAmJiBhdHRyaWJ1dGUuY29kZUF0dHJpYnV0ZURhdGFUeXBlICE9PSAnTElORSdcIj5cclxuICAgICAgICAgICAgICAgICAgICA8aGNpLWF0dHJpYnV0ZS1mbGV4IFtpZF09XCInaWQtYXR0cmlidXRlLScgKyBhdHRyaWJ1dGUuaWRBdHRyaWJ1dGVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2F0dHJpYnV0ZV09XCJhdHRyaWJ1dGVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2VkaXRJbmxpbmVdPVwiZWRpdElubGluZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY2xhc3MuYXR0cmlidXRlXT1cInRydWVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NsYXNzLmNvbC00XT1cImF0dHJpYnV0ZS5jb2RlQXR0cmlidXRlRGF0YVR5cGUgIT09ICdHQScgJiYgYXR0cmlidXRlLmNvZGVBdHRyaWJ1dGVEYXRhVHlwZSAhPT0gJ0xJTkUnXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjbGFzcy5jb2wtMTJdPVwiYXR0cmlidXRlLmNvZGVBdHRyaWJ1dGVEYXRhVHlwZSA9PT0gJ0dBJyB8fCBhdHRyaWJ1dGUuY29kZUF0dHJpYnV0ZURhdGFUeXBlID09PSAnTElORSdcIj48L2hjaS1hdHRyaWJ1dGUtZmxleD5cclxuICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhYXR0cmlidXRlQ29udGFpbmVyLmlzQXV0b0xheW91dCB8fCBhdHRyaWJ1dGVDb250YWluZXIuaXNBdXRvTGF5b3V0ID09PSAnTidcIj5cclxuICAgICAgICAgICAgICAgICAgICA8aGNpLWF0dHJpYnV0ZS1hYnNvbHV0ZSBbaWRdPVwiJ2lkLWF0dHJpYnV0ZS0nICsgYXR0cmlidXRlLmlkQXR0cmlidXRlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYXR0cmlidXRlXT1cImF0dHJpYnV0ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2VkaXRJbmxpbmVdPVwiZWRpdElubGluZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NsYXNzLmF0dHJpYnV0ZV09XCJ0cnVlXCI+PC9oY2ktYXR0cmlidXRlLWFic29sdXRlPlxyXG4gICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgICAgPC9uZ2ItcGFuZWw+XHJcbiAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgIDwvbmdiLWFjY29yZGlvbj5cclxuICAgIDwvbmctY29udGFpbmVyPlxyXG5cclxuICAgIDxuZy10ZW1wbGF0ZSAjZWRpdE1vZGFsIGxldC1jbG9zZT1cImNsb3NlXCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJtb2RhbC1oZWFkZXJcIj5cclxuICAgICAgICB7e2VkaXRDb250YWluZXIuY29udGFpbmVyTmFtZX19XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8ZGl2IGNsYXNzPVwibW9kYWwtYm9keSBkLWZsZXggZmxleC1jb2x1bW4gaGNpLWNvZC1lZGl0XCI+XHJcbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgYXR0cmlidXRlIG9mIGVkaXRDb250YWluZXIuZ3JhcGhpY2FsQXR0cmlidXRlcyB8IGlzR3JvdXBBdHRyaWJ1dGU6IGZhbHNlXCI+XHJcbiAgICAgICAgICA8aGNpLWF0dHJpYnV0ZS1lZGl0IFtpZF09XCInZWRpdC1pZC1hdHRyaWJ1dGUtJyArIGF0dHJpYnV0ZS5pZEF0dHJpYnV0ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthdHRyaWJ1dGVdPVwiYXR0cmlidXRlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJhdHRyaWJ1dGVcIj48L2hjaS1hdHRyaWJ1dGUtZWRpdD5cclxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJtb2RhbC1mb290ZXJcIj5cclxuICAgICAgICA8YnV0dG9uIGNsYXNzPVwiYnRuIGJ0bi1wcmltYXJ5XCIgKGNsaWNrKT1cImNsb3NlKCdTYXZlJylcIj5TYXZlPC9idXR0b24+XHJcbiAgICAgICAgPGJ1dHRvbiBjbGFzcz1cImJ0biBidG4tcHJpbWFyeVwiIChjbGljayk9XCJjbG9zZSgnQ2FuY2VsJylcIj5DYW5jZWw8L2J1dHRvbj5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L25nLXRlbXBsYXRlPlxyXG4gIGBcclxufSlcclxuZXhwb3J0IGNsYXNzIEF0dHJpYnV0ZUNvbmZpZ3VyYXRpb25Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XHJcbiAgQEhvc3RCaW5kaW5nKFwiY2xhc3NcIikgY2xhc3NMaXN0OiBzdHJpbmcgPSBcImhjaS1hdHRyaWJ1dGUtY29uZmlndXJhdGlvbiBoY2ktY29kIGQtZmxleCBmbGV4LWNvbHVtbiBmbGV4LWdyb3ctMVwiO1xyXG5cclxuICBASW5wdXQoKSBpZEF0dHJpYnV0ZVZhbHVlU2V0OiBudW1iZXI7XHJcbiAgQElucHV0KCkgaWRQYXJlbnRPYmplY3Q6IG51bWJlcjtcclxuXHJcbiAgQElucHV0KCkgYWNjb3JkaW9uTmF2OiBBY2NvcmRpb25OYXZDb21wb25lbnQ7XHJcblxyXG4gIEBJbnB1dCgpIGVkaXRJbmxpbmU6IGJvb2xlYW4gPSB0cnVlO1xyXG4gIEBJbnB1dCgpIGVkaXRQb3B1cDogYm9vbGVhbiA9ICBmYWxzZTtcclxuICBASW5wdXQoKSBlZGl0YWJsZTogYm9vbGVhbiA9IHRydWU7XHJcblxyXG4gIEBWaWV3Q2hpbGRyZW4oTmdiUGFuZWwpIHZQYW5lbHM6IFF1ZXJ5TGlzdDxOZ2JQYW5lbD47XHJcbiAgQENvbnRlbnRDaGlsZHJlbihOZ2JQYW5lbCkgY1BhbmVsczogUXVlcnlMaXN0PE5nYlBhbmVsPjtcclxuXHJcbiAgYXR0cmlidXRlQ29uZmlndXJhdGlvbjogQXR0cmlidXRlQ29uZmlndXJhdGlvbjtcclxuICBhdHRyaWJ1dGVWYWx1ZVNldDogQXR0cmlidXRlVmFsdWVTZXQ7XHJcblxyXG4gIGxvYWRpbmdTdWJqZWN0OiBTdWJqZWN0PGJvb2xlYW4+ID0gbmV3IFN1YmplY3Q8Ym9vbGVhbj4oKTtcclxuXHJcbiAgZWRpdENvbnRhaW5lcjogQXR0cmlidXRlQ29udGFpbmVyO1xyXG5cclxuICB3aW5kb3dEaW1lbnNpb246IGFueSA9IHt9O1xyXG5cclxuICBzdWJzY3JpcHRpb25zOiBTdWJzY3JpcHRpb24gPSBuZXcgU3Vic2NyaXB0aW9uKCk7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgYXR0cmlidXRlU2VydmljZTogQXR0cmlidXRlU2VydmljZSxcclxuICAgICAgICAgICAgICBwcml2YXRlIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYsXHJcbiAgICAgICAgICAgICAgcHJpdmF0ZSByZW5kZXJlcjogUmVuZGVyZXIyLFxyXG4gICAgICAgICAgICAgIHByaXZhdGUgY2hhbmdlRGV0ZWN0b3JSZWY6IENoYW5nZURldGVjdG9yUmVmLFxyXG4gICAgICAgICAgICAgIHByaXZhdGUgbW9kYWxTZXJ2aWNlOiBOZ2JNb2RhbCkge31cclxuXHJcbiAgLyoqXHJcbiAgICogVXBvbiBpbml0LCBzdWJzY3JpYmUgdG8gdGhlIGNvbmZpZ3VyYXRpb24gYW5kIHZhbHVlIHNldC5cclxuICAgKi9cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIGlmICghIHRoaXMuZWRpdGFibGUpIHtcclxuICAgICAgdGhpcy5lZGl0SW5saW5lID0gZmFsc2U7XHJcbiAgICAgIHRoaXMuZWRpdFBvcHVwID0gZmFsc2U7XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5sb2FkaW5nU3ViamVjdCA9IHRoaXMuYXR0cmlidXRlU2VydmljZS5nZXRMb2FkaW5nU3ViamVjdCgpO1xyXG5cclxuICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5hZGQodGhpcy5hdHRyaWJ1dGVTZXJ2aWNlLmdldEF0dHJpYnV0ZUNvbmZpZ3VyYXRpb25TdWJqZWN0KCkuc3Vic2NyaWJlKChhdHRyaWJ1dGVDb25maWd1cmF0aW9uOiBBdHRyaWJ1dGVDb25maWd1cmF0aW9uKSA9PiB7XHJcbiAgICAgIHRoaXMuYXR0cmlidXRlQ29uZmlndXJhdGlvbiA9IGF0dHJpYnV0ZUNvbmZpZ3VyYXRpb247XHJcblxyXG4gICAgICB0aGlzLmF0dHJpYnV0ZVNlcnZpY2Uuc2V0QXR0cmlidXRlVmFsdWVTZXQodGhpcy5pZEF0dHJpYnV0ZVZhbHVlU2V0LCB0aGlzLmlkUGFyZW50T2JqZWN0KTtcclxuICAgIH0pKTtcclxuXHJcbiAgICB0aGlzLnN1YnNjcmlwdGlvbnMuYWRkKHRoaXMuYXR0cmlidXRlU2VydmljZS5hdHRyaWJ1dGVDb25maWd1cmF0aW9uRGltZW5zaW9uU3ViamVjdC5zdWJzY3JpYmUoKHdpbmRvd0RpbWVuc2lvbjogYW55KSA9PiB7XHJcbiAgICAgIHRoaXMud2luZG93RGltZW5zaW9uID0gd2luZG93RGltZW5zaW9uO1xyXG4gICAgfSkpO1xyXG5cclxuICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5hZGQodGhpcy5hdHRyaWJ1dGVTZXJ2aWNlLmdldEF0dHJpYnV0ZVZhbHVlU2V0KCkuc3Vic2NyaWJlKChhdHRyaWJ1dGVWYWx1ZVNldDogQXR0cmlidXRlVmFsdWVTZXQpID0+IHtcclxuICAgICAgdGhpcy5hdHRyaWJ1dGVWYWx1ZVNldCA9IGF0dHJpYnV0ZVZhbHVlU2V0O1xyXG5cclxuICAgICAgaWYgKHRoaXMuYXR0cmlidXRlVmFsdWVTZXQpIHtcclxuICAgICAgICB0aGlzLmF0dHJpYnV0ZVNlcnZpY2Uubm90aWZ5QXR0cmlidXRlcygpO1xyXG4gICAgICB9XHJcbiAgICB9KSk7XHJcbiAgfVxyXG5cclxuICBASW5wdXQoKSBzZXQgYm91bmREYXRhKHZhbHVlOiBhbnkpIHtcclxuICAgIHRoaXMuYXR0cmlidXRlU2VydmljZS5zZXRCb3VuZERhdGEodmFsdWUpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkRlc3Ryb3koKSB7XHJcbiAgICB0aGlzLnN1YnNjcmlwdGlvbnMudW5zdWJzY3JpYmUoKTtcclxuICB9XHJcblxyXG4gIEBWaWV3Q2hpbGQoTmdiQWNjb3JkaW9uLCB7c3RhdGljOiBmYWxzZX0pXHJcbiAgc2V0IGFjY29yZGlvbihhY2NvcmRpb246IE5nYkFjY29yZGlvbikge1xyXG4gICAgaWYgKGFjY29yZGlvbikge1xyXG4gICAgICBhY2NvcmRpb24ucGFuZWxzLnJlc2V0KFt0aGlzLmNQYW5lbHMudG9BcnJheSgpLCB0aGlzLnZQYW5lbHMudG9BcnJheSgpXSk7XHJcbiAgICAgIGFjY29yZGlvbi5uZ0FmdGVyQ29udGVudENoZWNrZWQoKTtcclxuXHJcbiAgICAgIGlmICh0aGlzLmFjY29yZGlvbk5hdiAmJiAhdGhpcy5hY2NvcmRpb25OYXYuYWNjb3JkaW9uKSB7XHJcbiAgICAgICAgdGhpcy5hY2NvcmRpb25OYXYuc2V0QWNjb3JkaW9uKGFjY29yZGlvbik7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3JSZWYuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgbmdPbkNoYW5nZXMoY2hhbmdlczoge1twcm9wTmFtZTogc3RyaW5nXTogU2ltcGxlQ2hhbmdlfSkge1xyXG4gICAgaWYgKCEgdGhpcy5lZGl0YWJsZSkge1xyXG4gICAgICB0aGlzLmVkaXRJbmxpbmUgPSBmYWxzZTtcclxuICAgICAgdGhpcy5lZGl0UG9wdXAgPSBmYWxzZTtcclxuICAgIH1cclxuXHJcbiAgICBpZiAoY2hhbmdlc1tcImFjY29yZGlvbk5hdlwiXSAmJiB0aGlzLmFjY29yZGlvbk5hdiAmJiB0aGlzLmFjY29yZGlvbikge1xyXG4gICAgICB0aGlzLmFjY29yZGlvbk5hdi5hY2NvcmRpb24gPSB0aGlzLmFjY29yZGlvbjtcclxuICAgICAgdGhpcy5hY2NvcmRpb25OYXYucGFuZWxzID0gdGhpcy5hY2NvcmRpb24ucGFuZWxzO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgZ2V0QXR0cmlidXRlU2VydmljZSgpOiBBdHRyaWJ1dGVTZXJ2aWNlIHtcclxuICAgIHJldHVybiB0aGlzLmF0dHJpYnV0ZVNlcnZpY2U7XHJcbiAgfVxyXG5cclxuICBlZGl0KG1vZGFsOiBUZW1wbGF0ZVJlZjxhbnk+LCBlZGl0Q29udGFpbmVyOiBBdHRyaWJ1dGVDb250YWluZXIpOiB2b2lkIHtcclxuICAgIHRoaXMuZWRpdENvbnRhaW5lciA9IGVkaXRDb250YWluZXI7XHJcblxyXG4gICAgdGhpcy5tb2RhbFNlcnZpY2Uub3Blbihtb2RhbCwge3dpbmRvd0NsYXNzOiBcIm1vZGFsLWxnXCJ9KS5yZXN1bHQudGhlbigocmVzdWx0KSA9PiB7XHJcbiAgICAgIGlmIChyZXN1bHQgPT09IFwiU2F2ZVwiKSB7XHJcbiAgICAgICAgdGhpcy5hdHRyaWJ1dGVTZXJ2aWNlLnVwZGF0ZUF0dHJpYnV0ZVZhbHVlU2V0KCk7XHJcbiAgICAgIH0gZWxzZSBpZiAocmVzdWx0ID09PSBcIkNhbmNlbFwiKSB7XHJcbiAgICAgICAgdGhpcy5hdHRyaWJ1dGVTZXJ2aWNlLmNsZWFyVXBkYXRlZEF0dHJpYnV0ZVZhbHVlcygpO1xyXG4gICAgICB9XHJcbiAgICB9LCAocmVhc29uKSA9PiB7fSk7XHJcbiAgfVxyXG5cclxuICBwb3N0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5hdHRyaWJ1dGVTZXJ2aWNlLnVwZGF0ZUF0dHJpYnV0ZVZhbHVlU2V0KCk7XHJcbiAgfVxyXG5cclxufVxyXG4iXX0=
@@ -117,12 +117,12 @@ export class AttributeContainerComponent {
117
117
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AttributeContainerComponent, deps: [{ token: i1.AttributeService }, { token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i0.ChangeDetectorRef }, { token: i2.NgbModal }], target: i0.ɵɵFactoryTarget.Component }); }
118
118
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: AttributeContainerComponent, selector: "hci-attribute-container", inputs: { idAttributeValueSet: "idAttributeValueSet", idAttributeConfiguration: "idAttributeConfiguration", idAttributeContainer: "idAttributeContainer", indexOfContainer: "indexOfContainer", idParentObject: "idParentObject", attributeContainer: "attributeContainer", attributeConfiguration: "attributeConfiguration", attributeValueSet: "attributeValueSet", editInline: "editInline", editPopup: "editPopup", editable: "editable", boundData: "boundData" }, host: { properties: { "class": "this.classList" } }, usesOnChanges: true, ngImport: i0, template: `
119
119
  <hci-busy [getBusySubjects]="getBusySubjects"></hci-busy>
120
-
120
+
121
121
  <ng-container *ngIf="attributeContainer">
122
122
  <div *ngIf="editPopup" [id]="'id-attribute-container-' + attributeContainer.idAttributeContainer + '-header'"
123
123
  class="d-flex attribute-container-header {{'sort-order-' + attributeContainer.sortOrder}}">
124
124
  <div class="ml-auto mr-0" (click)="edit(editModal, attributeContainer)">
125
- <i class="fas fa-pencil"></i>
125
+ <i class="fas fa-pencil-alt"></i>
126
126
  </div>
127
127
  </div>
128
128
  <div class="d-flex flex-grow-1 y-auto" style="flex: 1 1 1px;">
@@ -175,12 +175,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
175
175
  selector: "hci-attribute-container",
176
176
  template: `
177
177
  <hci-busy [getBusySubjects]="getBusySubjects"></hci-busy>
178
-
178
+
179
179
  <ng-container *ngIf="attributeContainer">
180
180
  <div *ngIf="editPopup" [id]="'id-attribute-container-' + attributeContainer.idAttributeContainer + '-header'"
181
181
  class="d-flex attribute-container-header {{'sort-order-' + attributeContainer.sortOrder}}">
182
182
  <div class="ml-auto mr-0" (click)="edit(editModal, attributeContainer)">
183
- <i class="fas fa-pencil"></i>
183
+ <i class="fas fa-pencil-alt"></i>
184
184
  </div>
185
185
  </div>
186
186
  <div class="d-flex flex-grow-1 y-auto" style="flex: 1 1 1px;">
@@ -255,4 +255,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
255
255
  }], boundData: [{
256
256
  type: Input
257
257
  }] } });
258
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXR0cmlidXRlLWNvbnRhaW5lci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9jb2Qvc3JjL2NvbXBvbmVudHMvYXR0cmlidXRlLWNvbnRhaW5lci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLGlCQUFpQixFQUFFLFNBQVMsRUFBbUIsVUFBVSxFQUFFLEtBQUssRUFDckQsU0FBUyxFQUErQixXQUFXLEVBQy9ELE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBVyxZQUFZLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDN0MsT0FBTyxFQUFDLFFBQVEsRUFBVyxNQUFNLDRCQUE0QixDQUFDO0FBRTlELE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLCtCQUErQixDQUFDOzs7Ozs7Ozs7O0FBSy9EOzs7O0dBSUc7QUF5REgsTUFBTSxPQUFPLDJCQUEyQjtJQWdDdEMsWUFBb0IsZ0JBQWtDLEVBQ2xDLFVBQXNCLEVBQ3RCLFFBQW1CLEVBQ25CLGlCQUFvQyxFQUNwQyxZQUFzQjtRQUp0QixxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBQ2xDLGVBQVUsR0FBVixVQUFVLENBQVk7UUFDdEIsYUFBUSxHQUFSLFFBQVEsQ0FBVztRQUNuQixzQkFBaUIsR0FBakIsaUJBQWlCLENBQW1CO1FBQ3BDLGlCQUFZLEdBQVosWUFBWSxDQUFVO1FBbkNwQixjQUFTLEdBQVcsb0VBQW9FLENBQUM7UUFZdEcsZUFBVSxHQUFZLElBQUksQ0FBQztRQUMzQixjQUFTLEdBQWEsS0FBSyxDQUFDO1FBQzVCLGFBQVEsR0FBWSxJQUFJLENBQUM7UUFJbEMsb0JBQWUsR0FBUSxFQUFFLENBQUM7UUFFMUIsa0JBQWEsR0FBaUIsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUVqRCxvQkFBZSxHQUFhLEdBQUcsRUFBRTtZQUMvQixJQUFJLFFBQVEsR0FBVSxFQUFFLENBQUM7WUFFekIs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LElBQUksSUFBSSxDQUFDLHNCQUFzQixFQUFFO1lBQy9CLE9BQU8sSUFBSSxDQUFDLHNCQUFzQixDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxvQkFBb0IsS0FBSyxvQkFBb0IsQ0FBQyxDQUFDO1NBQ25IO0lBQ0gsQ0FBQzsrR0FwSVUsMkJBQTJCO21HQUEzQiwyQkFBMkIsaWxCQXRENUI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FvRFQ7OzRGQUVVLDJCQUEyQjtrQkF4RHZDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLHlCQUF5QjtvQkFDbkMsUUFBUSxFQUFFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBb0RUO2lCQUNGOytNQUV1QixTQUFTO3NCQUE5QixXQUFXO3VCQUFDLE9BQU87Z0JBRVgsbUJBQW1CO3NCQUEzQixLQUFLO2dCQUNHLHdCQUF3QjtzQkFBaEMsS0FBSztnQkFDRyxvQkFBb0I7c0JBQTVCLEtBQUs7Z0JBQ0csZ0JBQWdCO3NCQUF4QixLQUFLO2dCQUNHLGNBQWM7c0JBQXRCLEtBQUs7Z0JBRUcsa0JBQWtCO3NCQUExQixLQUFLO2dCQUNHLHNCQUFzQjtzQkFBOUIsS0FBSztnQkFDRyxpQkFBaUI7c0JBQXpCLEtBQUs7Z0JBRUcsVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBaUVPLFNBQVM7c0JBQXJCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIENoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQsIENvbnRlbnRDaGlsZHJlbiwgRWxlbWVudFJlZiwgSW5wdXQsIGlzRGV2TW9kZSxcclxuICBRdWVyeUxpc3QsIFJlbmRlcmVyMiwgVmlld0NoaWxkcmVuLCBTaW1wbGVDaGFuZ2VzLCBIb3N0QmluZGluZywgVGVtcGxhdGVSZWZcclxufSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBTdWJqZWN0LCBTdWJzY3JpcHRpb24gfSBmcm9tIFwicnhqc1wiO1xyXG5pbXBvcnQge05nYk1vZGFsLCBOZ2JQYW5lbH0gZnJvbSBcIkBuZy1ib290c3RyYXAvbmctYm9vdHN0cmFwXCI7XHJcbmltcG9ydCB7QWNjb3JkaW9uTmF2Q29tcG9uZW50fSBmcm9tIFwiQGh1bnRzbWFuLWNhbmNlci1pbnN0aXR1dGUvbWlzY1wiO1xyXG5pbXBvcnQge0F0dHJpYnV0ZVNlcnZpY2V9IGZyb20gXCIuLi9zZXJ2aWNlcy9hdHRyaWJ1dGUuc2VydmljZVwiO1xyXG5pbXBvcnQge0F0dHJpYnV0ZUNvbmZpZ3VyYXRpb259IGZyb20gXCIuLi9tb2RlbC9hdHRyaWJ1dGUtY29uZmlndXJhdGlvbi5lbnRpdHlcIjtcclxuaW1wb3J0IHtBdHRyaWJ1dGVWYWx1ZVNldH0gZnJvbSBcIi4uL21vZGVsL2F0dHJpYnV0ZS12YWx1ZS1zZXQuZW50aXR5XCI7XHJcbmltcG9ydCB7QXR0cmlidXRlQ29udGFpbmVyfSBmcm9tIFwiLi4vbW9kZWwvYXR0cmlidXRlLWNvbnRhaW5lci5lbnRpdHlcIjtcclxuXHJcbi8qKlxyXG4gKiBUaGlzIGNvbXBvbmVudCBzaG91bGQgYmUgYWRkZWQgb24gdG8gYW55IHNjcmVlbiB0aGF0IGRpc3BsYXlzIGEgY29udGFpbmVyIHdpdGggQ09EIGNvbnRlbnQuICBUaGlzIGNvbnRhaW5lclxyXG4gKiByZXByZXNlbnRzIHRoZSBvbmUgb2YgdGhlIGNvbnRhaW5lcnMsIHdoaWNoIGluIHR1cm4gY29udGFpbiBhdHRyaWJ1dGVzIHdoaWNoIGRpc3BsYXkgdGhvc2UgdmFsdWVzIGluIHRoZVxyXG4gKiBhdHRyaWJ1dGVWYWx1ZVNldC5cclxuICovXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiBcImhjaS1hdHRyaWJ1dGUtY29udGFpbmVyXCIsXHJcbiAgdGVtcGxhdGU6IGBcclxuICAgIDxoY2ktYnVzeSBbZ2V0QnVzeVN1YmplY3RzXT1cImdldEJ1c3lTdWJqZWN0c1wiPjwvaGNpLWJ1c3k+XHJcbiAgXHJcbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiYXR0cmlidXRlQ29udGFpbmVyXCI+XHJcbiAgICAgIDxkaXYgKm5nSWY9XCJlZGl0UG9wdXBcIiBbaWRdPVwiJ2lkLWF0dHJpYnV0ZS1jb250YWluZXItJyArIGF0dHJpYnV0ZUNvbnRhaW5lci5pZEF0dHJpYnV0ZUNvbnRhaW5lciArICctaGVhZGVyJ1wiXHJcbiAgICAgICAgICAgY2xhc3M9XCJkLWZsZXggYXR0cmlidXRlLWNvbnRhaW5lci1oZWFkZXIge3snc29ydC1vcmRlci0nICsgYXR0cmlidXRlQ29udGFpbmVyLnNvcnRPcmRlcn19XCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cIm1sLWF1dG8gbXItMFwiIChjbGljayk9XCJlZGl0KGVkaXRNb2RhbCwgYXR0cmlidXRlQ29udGFpbmVyKVwiPlxyXG4gICAgICAgICAgPGkgY2xhc3M9XCJmYXMgZmEtcGVuY2lsXCI+PC9pPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBmbGV4LWdyb3ctMSB5LWF1dG9cIiBzdHlsZT1cImZsZXg6IDEgMSAxcHg7XCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImF0dHJpYnV0ZS1jb250YWluZXJcIlxyXG4gICAgICAgICAgICAgW2NsYXNzLmNvbC1tZC0xMl09XCJhdHRyaWJ1dGVDb250YWluZXIuaXNBdXRvTGF5b3V0ICYmIGF0dHJpYnV0ZUNvbnRhaW5lci5pc0F1dG9MYXlvdXQgPT09ICdZJ1wiXHJcbiAgICAgICAgICAgICBbY2xhc3MuZmxleF09XCJhdHRyaWJ1dGVDb250YWluZXIuaXNBdXRvTGF5b3V0ICYmIGF0dHJpYnV0ZUNvbnRhaW5lci5pc0F1dG9MYXlvdXQgPT09ICdZJ1wiXHJcbiAgICAgICAgICAgICBbY2xhc3MuZmxleC13cmFwXT1cImF0dHJpYnV0ZUNvbnRhaW5lci5pc0F1dG9MYXlvdXQgJiYgYXR0cmlidXRlQ29udGFpbmVyLmlzQXV0b0xheW91dCA9PT0gJ1knXCJcclxuICAgICAgICAgICAgIFtjbGFzcy5hYnNvbHV0ZV09XCIhYXR0cmlidXRlQ29udGFpbmVyLmlzQXV0b0xheW91dCB8fCBhdHRyaWJ1dGVDb250YWluZXIuaXNBdXRvTGF5b3V0ID09PSAnTidcIj5cclxuICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGF0dHJpYnV0ZSBvZiBhdHRyaWJ1dGVDb250YWluZXIuZ3JhcGhpY2FsQXR0cmlidXRlcyB8IGlzR3JvdXBBdHRyaWJ1dGU6IGZhbHNlXCI+XHJcbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJhdHRyaWJ1dGVDb250YWluZXIuaXNBdXRvTGF5b3V0ICYmIGF0dHJpYnV0ZUNvbnRhaW5lci5pc0F1dG9MYXlvdXQgPT09ICdZJyAmJiBhdHRyaWJ1dGUuY29kZUF0dHJpYnV0ZURhdGFUeXBlICE9PSAnTElORSdcIj5cclxuICAgICAgICAgICAgICA8aGNpLWF0dHJpYnV0ZS1mbGV4IFtpZF09XCInaWQtYXR0cmlidXRlLScgKyBhdHRyaWJ1dGUuaWRBdHRyaWJ1dGVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2F0dHJpYnV0ZV09XCJhdHRyaWJ1dGVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2VkaXRJbmxpbmVdPVwiZWRpdElubGluZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY2xhc3MuYXR0cmlidXRlXT1cInRydWVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NsYXNzLmNvbC00XT1cImF0dHJpYnV0ZS5jb2RlQXR0cmlidXRlRGF0YVR5cGUgIT09ICdHQScgJiYgYXR0cmlidXRlLmNvZGVBdHRyaWJ1dGVEYXRhVHlwZSAhPT0gJ0xJTkUnXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjbGFzcy5jb2wtMTJdPVwiYXR0cmlidXRlLmNvZGVBdHRyaWJ1dGVEYXRhVHlwZSA9PT0gJ0dBJyB8fCBhdHRyaWJ1dGUuY29kZUF0dHJpYnV0ZURhdGFUeXBlID09PSAnTElORSdcIj48L2hjaS1hdHRyaWJ1dGUtZmxleD5cclxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhYXR0cmlidXRlQ29udGFpbmVyLmlzQXV0b0xheW91dCB8fCBhdHRyaWJ1dGVDb250YWluZXIuaXNBdXRvTGF5b3V0ID09PSAnTidcIj5cclxuICAgICAgICAgICAgICA8aGNpLWF0dHJpYnV0ZS1hYnNvbHV0ZSBbaWRdPVwiJ2lkLWF0dHJpYnV0ZS0nICsgYXR0cmlidXRlLmlkQXR0cmlidXRlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYXR0cmlidXRlXT1cImF0dHJpYnV0ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2VkaXRJbmxpbmVdPVwiZWRpdElubGluZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NsYXNzLmF0dHJpYnV0ZV09XCJ0cnVlXCI+PC9oY2ktYXR0cmlidXRlLWFic29sdXRlPlxyXG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvbmctY29udGFpbmVyPlxyXG5cclxuICAgIDxuZy10ZW1wbGF0ZSAjZWRpdE1vZGFsIGxldC1jbG9zZT1cImNsb3NlXCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJtb2RhbC1oZWFkZXJcIj5cclxuICAgICAgICB7e2VkaXRDb250YWluZXIuY29udGFpbmVyTmFtZX19XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8ZGl2IGNsYXNzPVwibW9kYWwtYm9keSBkLWZsZXggZmxleC1jb2x1bW4gaGNpLWNvZC1lZGl0XCI+XHJcbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgYXR0cmlidXRlIG9mIGVkaXRDb250YWluZXIuZ3JhcGhpY2FsQXR0cmlidXRlcyB8IGlzR3JvdXBBdHRyaWJ1dGU6IGZhbHNlXCI+XHJcbiAgICAgICAgICA8aGNpLWF0dHJpYnV0ZS1lZGl0IFtpZF09XCInZWRpdC1pZC1hdHRyaWJ1dGUtJyArIGF0dHJpYnV0ZS5pZEF0dHJpYnV0ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthdHRyaWJ1dGVdPVwiYXR0cmlidXRlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJhdHRyaWJ1dGVcIj48L2hjaS1hdHRyaWJ1dGUtZWRpdD5cclxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJtb2RhbC1mb290ZXJcIj5cclxuICAgICAgICA8YnV0dG9uIGNsYXNzPVwiYnRuIGJ0bi1wcmltYXJ5XCIgKGNsaWNrKT1cImNsb3NlKCdTYXZlJylcIj5TYXZlPC9idXR0b24+XHJcbiAgICAgICAgPGJ1dHRvbiBjbGFzcz1cImJ0biBidG4tcHJpbWFyeVwiIChjbGljayk9XCJjbG9zZSgnQ2FuY2VsJylcIj5DYW5jZWw8L2J1dHRvbj5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L25nLXRlbXBsYXRlPlxyXG4gIGBcclxufSlcclxuZXhwb3J0IGNsYXNzIEF0dHJpYnV0ZUNvbnRhaW5lckNvbXBvbmVudCB7XHJcbiAgQEhvc3RCaW5kaW5nKFwiY2xhc3NcIikgY2xhc3NMaXN0OiBzdHJpbmcgPSBcImhjaS1hdHRyaWJ1dGUtY29uZmlndXJhdGlvbiBoY2ktY29kIGQtZmxleCBmbGV4LWNvbHVtbiBmbGV4LWdyb3ctMVwiO1xyXG5cclxuICBASW5wdXQoKSBpZEF0dHJpYnV0ZVZhbHVlU2V0OiBudW1iZXI7XHJcbiAgQElucHV0KCkgaWRBdHRyaWJ1dGVDb25maWd1cmF0aW9uOiBudW1iZXI7XHJcbiAgQElucHV0KCkgaWRBdHRyaWJ1dGVDb250YWluZXI6IG51bWJlcjtcclxuICBASW5wdXQoKSBpbmRleE9mQ29udGFpbmVyOiBudW1iZXI7XHJcbiAgQElucHV0KCkgaWRQYXJlbnRPYmplY3Q6IG51bWJlcjtcclxuXHJcbiAgQElucHV0KCkgYXR0cmlidXRlQ29udGFpbmVyOiBBdHRyaWJ1dGVDb250YWluZXI7XHJcbiAgQElucHV0KCkgYXR0cmlidXRlQ29uZmlndXJhdGlvbjogQXR0cmlidXRlQ29uZmlndXJhdGlvbjtcclxuICBASW5wdXQoKSBhdHRyaWJ1dGVWYWx1ZVNldDogQXR0cmlidXRlVmFsdWVTZXQ7XHJcbiAgXHJcbiAgQElucHV0KCkgZWRpdElubGluZTogYm9vbGVhbiA9IHRydWU7XHJcbiAgQElucHV0KCkgZWRpdFBvcHVwOiBib29sZWFuID0gIGZhbHNlO1xyXG4gIEBJbnB1dCgpIGVkaXRhYmxlOiBib29sZWFuID0gdHJ1ZTtcclxuXHJcbiAgZWRpdENvbnRhaW5lcjogQXR0cmlidXRlQ29udGFpbmVyO1xyXG5cclxuICB3aW5kb3dEaW1lbnNpb246IGFueSA9IHt9O1xyXG5cclxuICBzdWJzY3JpcHRpb25zOiBTdWJzY3JpcHRpb24gPSBuZXcgU3Vic2NyaXB0aW9uKCk7XHJcbiAgXHJcbiAgZ2V0QnVzeVN1YmplY3RzOiBGdW5jdGlvbiA9ICgpID0+IHtcclxuICAgIGxldCBzdWJqZWN0czogYW55W10gPSBbXTtcclxuICBcclxuICAgIC8vc3ViamVjdHMucHVzaCh0aGlzLmF0dHJpYnV0ZVNlcnZpY2UuZ2V0QXR0cmlidXRlQ29uZmlndXJhdGlvbkxvYWRpbmdTdWJqZWN0KCkpO1xyXG4gICAgc3ViamVjdHMucHVzaCh0aGlzLmF0dHJpYnV0ZVNlcnZpY2UuZ2V0TG9hZGluZ1N1YmplY3QoKSk7XHJcbiAgICBcclxuICAgIHJldHVybiBzdWJqZWN0cztcclxuICB9O1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGF0dHJpYnV0ZVNlcnZpY2U6IEF0dHJpYnV0ZVNlcnZpY2UsXHJcbiAgICAgICAgICAgICAgcHJpdmF0ZSBlbGVtZW50UmVmOiBFbGVtZW50UmVmLFxyXG4gICAgICAgICAgICAgIHByaXZhdGUgcmVuZGVyZXI6IFJlbmRlcmVyMixcclxuICAgICAgICAgICAgICBwcml2YXRlIGNoYW5nZURldGVjdG9yUmVmOiBDaGFuZ2VEZXRlY3RvclJlZixcclxuICAgICAgICAgICAgICBwcml2YXRlIG1vZGFsU2VydmljZTogTmdiTW9kYWwpIHt9XHJcblxyXG4gIC8qKlxyXG4gICAqIFVwb24gaW5pdCwgc3Vic2NyaWJlIHRvIHRoZSBjb25maWd1cmF0aW9uIGFuZCB2YWx1ZSBzZXQuXHJcbiAgICovXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICBpZiAoISB0aGlzLmVkaXRhYmxlKSB7XHJcbiAgICAgIHRoaXMuZWRpdElubGluZSA9IGZhbHNlO1xyXG4gICAgICB0aGlzLmVkaXRQb3B1cCA9IGZhbHNlO1xyXG4gICAgfVxyXG4gICAgXHJcbiAgICB0aGlzLmF0dHJpYnV0ZVNlcnZpY2Uuc2V0QXR0cmlidXRlQ29uZmlndXJhdGlvbkJ5SWQodGhpcy5pZEF0dHJpYnV0ZUNvbmZpZ3VyYXRpb24sIHRoaXMuaWRBdHRyaWJ1dGVWYWx1ZVNldCwgdGhpcy5pZFBhcmVudE9iamVjdCk7XHJcblxyXG4gICAgdGhpcy5zdWJzY3JpcHRpb25zLmFkZCh0aGlzLmF0dHJpYnV0ZVNlcnZpY2UuZ2V0QXR0cmlidXRlQ29uZmlndXJhdGlvblN1YmplY3QoKS5zdWJzY3JpYmUoKGF0dHJpYnV0ZUNvbmZpZ3VyYXRpb246IEF0dHJpYnV0ZUNvbmZpZ3VyYXRpb24pID0+IHtcclxuICAgICAgaWYoYXR0cmlidXRlQ29uZmlndXJhdGlvbikge1xyXG4gICAgICAgIHRoaXMuYXR0cmlidXRlQ29uZmlndXJhdGlvbiA9IGF0dHJpYnV0ZUNvbmZpZ3VyYXRpb247XHJcblxyXG4gICAgICAgIGlmICh0aGlzLmlkQXR0cmlidXRlQ29udGFpbmVyICE9PSB1bmRlZmluZWQpIHtcclxuICAgICAgICAgIHRoaXMuYXR0cmlidXRlQ29udGFpbmVyID0gdGhpcy5nZXRBdHRyaWJ1dGVDb250YWluZXJCeUlkKHRoaXMuaWRBdHRyaWJ1dGVDb250YWluZXIpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaWYgKHRoaXMuaW5kZXhPZkNvbnRhaW5lciAhPT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgICAgICBpZiAodGhpcy5hdHRyaWJ1dGVDb25maWd1cmF0aW9uLmF0dHJpYnV0ZUNvbnRhaW5lcnNbdGhpcy5pbmRleE9mQ29udGFpbmVyXSkge1xyXG4gICAgICAgICAgICB0aGlzLmF0dHJpYnV0ZUNvbnRhaW5lciA9IHRoaXMuYXR0cmlidXRlQ29uZmlndXJhdGlvbi5hdHRyaWJ1dGVDb250YWluZXJzW3RoaXMuaW5kZXhPZkNvbnRhaW5lcl07XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9KSk7XHJcblxyXG4gICAgdGhpcy5zdWJzY3JpcHRpb25zLmFkZCh0aGlzLmF0dHJpYnV0ZVNlcnZpY2UuYXR0cmlidXRlQ29uZmlndXJhdGlvbkRpbWVuc2lvblN1YmplY3Quc3Vic2NyaWJlKCh3aW5kb3dEaW1lbnNpb246IGFueSkgPT4ge1xyXG4gICAgICBpZih3aW5kb3dEaW1lbnNpb24pe1xyXG4gICAgICAgIHRoaXMud2luZG93RGltZW5zaW9uID0gd2luZG93RGltZW5zaW9uO1xyXG4gICAgICB9XHJcbiAgICB9KSk7XHJcblxyXG4gICAgdGhpcy5zdWJzY3JpcHRpb25zLmFkZCh0aGlzLmF0dHJpYnV0ZVNlcnZpY2UuZ2V0QXR0cmlidXRlVmFsdWVTZXQoKS5zdWJzY3JpYmUoKGF0dHJpYnV0ZVZhbHVlU2V0OiBBdHRyaWJ1dGVWYWx1ZVNldCkgPT4ge1xyXG4gICAgICB0aGlzLmF0dHJpYnV0ZVZhbHVlU2V0ID0gYXR0cmlidXRlVmFsdWVTZXQ7XHJcblxyXG4gICAgICBpZiAodGhpcy5hdHRyaWJ1dGVWYWx1ZVNldCkge1xyXG4gICAgICAgIHRoaXMuYXR0cmlidXRlU2VydmljZS5ub3RpZnlBdHRyaWJ1dGVzKCk7XHJcbiAgICAgIH1cclxuICAgIH0pKTtcclxuICB9XHJcblxyXG4gIEBJbnB1dCgpIHNldCBib3VuZERhdGEodmFsdWU6IGFueSkge1xyXG4gICAgdGhpcy5hdHRyaWJ1dGVTZXJ2aWNlLnNldEJvdW5kRGF0YSh2YWx1ZSk7XHJcbiAgfVxyXG5cclxuICBuZ09uRGVzdHJveSgpIHtcclxuICAgIHRoaXMuc3Vic2NyaXB0aW9ucy51bnN1YnNjcmliZSgpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xyXG4gICAgaWYgKCEgdGhpcy5lZGl0YWJsZSkge1xyXG4gICAgICB0aGlzLmVkaXRJbmxpbmUgPSBmYWxzZTtcclxuICAgICAgdGhpcy5lZGl0UG9wdXAgPSBmYWxzZTtcclxuICAgIH1cclxuICAgIFxyXG4gICAgaWYgKGNoYW5nZXMuaWRBdHRyaWJ1dGVDb250YWluZXIpIHtcclxuICAgICAgdGhpcy5pZEF0dHJpYnV0ZUNvbnRhaW5lciA9IGNoYW5nZXMuaWRBdHRyaWJ1dGVDb250YWluZXIuY3VycmVudFZhbHVlO1xyXG5cclxuICAgICAgdGhpcy5hdHRyaWJ1dGVDb250YWluZXIgPSB0aGlzLmdldEF0dHJpYnV0ZUNvbnRhaW5lckJ5SWQodGhpcy5pZEF0dHJpYnV0ZUNvbnRhaW5lcik7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKGNoYW5nZXMuaW5kZXhPZkNvbnRhaW5lcikge1xyXG4gICAgICB0aGlzLmluZGV4T2ZDb250YWluZXIgPSBjaGFuZ2VzLmluZGV4T2ZDb250YWluZXIuY3VycmVudFZhbHVlO1xyXG4gICAgICBpZiAodGhpcy5hdHRyaWJ1dGVDb25maWd1cmF0aW9uICYmIHRoaXMuYXR0cmlidXRlQ29uZmlndXJhdGlvbi5hdHRyaWJ1dGVDb250YWluZXJzW3RoaXMuaW5kZXhPZkNvbnRhaW5lcl0pIHtcclxuICAgICAgICB0aGlzLmF0dHJpYnV0ZUNvbnRhaW5lciA9IHRoaXMuYXR0cmlidXRlQ29uZmlndXJhdGlvbi5hdHRyaWJ1dGVDb250YWluZXJzW3RoaXMuaW5kZXhPZkNvbnRhaW5lcl07XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIGdldEF0dHJpYnV0ZVNlcnZpY2UoKTogQXR0cmlidXRlU2VydmljZSB7XHJcbiAgICByZXR1cm4gdGhpcy5hdHRyaWJ1dGVTZXJ2aWNlO1xyXG4gIH1cclxuXHJcbiAgZWRpdChtb2RhbDogVGVtcGxhdGVSZWY8YW55PiwgZWRpdENvbnRhaW5lcjogQXR0cmlidXRlQ29udGFpbmVyKTogdm9pZCB7XHJcbiAgICB0aGlzLmVkaXRDb250YWluZXIgPSBlZGl0Q29udGFpbmVyO1xyXG5cclxuICAgIHRoaXMubW9kYWxTZXJ2aWNlLm9wZW4obW9kYWwsIHt3aW5kb3dDbGFzczogXCJtb2RhbC1sZ1wifSkucmVzdWx0LnRoZW4oKHJlc3VsdCkgPT4ge1xyXG4gICAgICBpZiAocmVzdWx0ID09PSBcIlNhdmVcIikge1xyXG4gICAgICAgIHRoaXMuYXR0cmlidXRlU2VydmljZS51cGRhdGVBdHRyaWJ1dGVWYWx1ZVNldCgpO1xyXG4gICAgICB9IGVsc2UgaWYgKHJlc3VsdCA9PT0gXCJDYW5jZWxcIikge1xyXG4gICAgICAgIHRoaXMuYXR0cmlidXRlU2VydmljZS5jbGVhclVwZGF0ZWRBdHRyaWJ1dGVWYWx1ZXMoKTtcclxuICAgICAgfVxyXG4gICAgfSwgKHJlYXNvbikgPT4ge30pO1xyXG4gIH1cclxuXHJcbiAgcG9zdCgpOiB2b2lkIHtcclxuICAgIHRoaXMuYXR0cmlidXRlU2VydmljZS51cGRhdGVBdHRyaWJ1dGVWYWx1ZVNldCgpO1xyXG4gIH1cclxuXHJcbiAgZ2V0QXR0cmlidXRlQ29udGFpbmVyQnlJZChpZEF0dHJpYnV0ZUNvbnRhaW5lcjogbnVtYmVyKTogQXR0cmlidXRlQ29udGFpbmVyIHtcclxuICAgIGlmICh0aGlzLmF0dHJpYnV0ZUNvbmZpZ3VyYXRpb24pIHtcclxuICAgICAgcmV0dXJuIHRoaXMuYXR0cmlidXRlQ29uZmlndXJhdGlvbi5hdHRyaWJ1dGVDb250YWluZXJzLmZpbmQoeCA9PiB4LmlkQXR0cmlidXRlQ29udGFpbmVyID09PSBpZEF0dHJpYnV0ZUNvbnRhaW5lcik7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiJdfQ==
258
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXR0cmlidXRlLWNvbnRhaW5lci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9jb2Qvc3JjL2NvbXBvbmVudHMvYXR0cmlidXRlLWNvbnRhaW5lci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLGlCQUFpQixFQUFFLFNBQVMsRUFBbUIsVUFBVSxFQUFFLEtBQUssRUFDckQsU0FBUyxFQUErQixXQUFXLEVBQy9ELE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBVyxZQUFZLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDN0MsT0FBTyxFQUFDLFFBQVEsRUFBVyxNQUFNLDRCQUE0QixDQUFDO0FBRTlELE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLCtCQUErQixDQUFDOzs7Ozs7Ozs7O0FBSy9EOzs7O0dBSUc7QUF5REgsTUFBTSxPQUFPLDJCQUEyQjtJQWdDdEMsWUFBb0IsZ0JBQWtDLEVBQ2xDLFVBQXNCLEVBQ3RCLFFBQW1CLEVBQ25CLGlCQUFvQyxFQUNwQyxZQUFzQjtRQUp0QixxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBQ2xDLGVBQVUsR0FBVixVQUFVLENBQVk7UUFDdEIsYUFBUSxHQUFSLFFBQVEsQ0FBVztRQUNuQixzQkFBaUIsR0FBakIsaUJBQWlCLENBQW1CO1FBQ3BDLGlCQUFZLEdBQVosWUFBWSxDQUFVO1FBbkNwQixjQUFTLEdBQVcsb0VBQW9FLENBQUM7UUFZdEcsZUFBVSxHQUFZLElBQUksQ0FBQztRQUMzQixjQUFTLEdBQWEsS0FBSyxDQUFDO1FBQzVCLGFBQVEsR0FBWSxJQUFJLENBQUM7UUFJbEMsb0JBQWUsR0FBUSxFQUFFLENBQUM7UUFFMUIsa0JBQWEsR0FBaUIsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUVqRCxvQkFBZSxHQUFhLEdBQUcsRUFBRTtZQUMvQixJQUFJLFFBQVEsR0FBVSxFQUFFLENBQUM7WUFFekIs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LElBQUksSUFBSSxDQUFDLHNCQUFzQixFQUFFO1lBQy9CLE9BQU8sSUFBSSxDQUFDLHNCQUFzQixDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxvQkFBb0IsS0FBSyxvQkFBb0IsQ0FBQyxDQUFDO1NBQ25IO0lBQ0gsQ0FBQzsrR0FwSVUsMkJBQTJCO21HQUEzQiwyQkFBMkIsaWxCQXRENUI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FvRFQ7OzRGQUVVLDJCQUEyQjtrQkF4RHZDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLHlCQUF5QjtvQkFDbkMsUUFBUSxFQUFFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBb0RUO2lCQUNGOytNQUV1QixTQUFTO3NCQUE5QixXQUFXO3VCQUFDLE9BQU87Z0JBRVgsbUJBQW1CO3NCQUEzQixLQUFLO2dCQUNHLHdCQUF3QjtzQkFBaEMsS0FBSztnQkFDRyxvQkFBb0I7c0JBQTVCLEtBQUs7Z0JBQ0csZ0JBQWdCO3NCQUF4QixLQUFLO2dCQUNHLGNBQWM7c0JBQXRCLEtBQUs7Z0JBRUcsa0JBQWtCO3NCQUExQixLQUFLO2dCQUNHLHNCQUFzQjtzQkFBOUIsS0FBSztnQkFDRyxpQkFBaUI7c0JBQXpCLEtBQUs7Z0JBRUcsVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBaUVPLFNBQVM7c0JBQXJCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIENoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQsIENvbnRlbnRDaGlsZHJlbiwgRWxlbWVudFJlZiwgSW5wdXQsIGlzRGV2TW9kZSxcclxuICBRdWVyeUxpc3QsIFJlbmRlcmVyMiwgVmlld0NoaWxkcmVuLCBTaW1wbGVDaGFuZ2VzLCBIb3N0QmluZGluZywgVGVtcGxhdGVSZWZcclxufSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBTdWJqZWN0LCBTdWJzY3JpcHRpb24gfSBmcm9tIFwicnhqc1wiO1xyXG5pbXBvcnQge05nYk1vZGFsLCBOZ2JQYW5lbH0gZnJvbSBcIkBuZy1ib290c3RyYXAvbmctYm9vdHN0cmFwXCI7XHJcbmltcG9ydCB7QWNjb3JkaW9uTmF2Q29tcG9uZW50fSBmcm9tIFwiQGh1bnRzbWFuLWNhbmNlci1pbnN0aXR1dGUvbWlzY1wiO1xyXG5pbXBvcnQge0F0dHJpYnV0ZVNlcnZpY2V9IGZyb20gXCIuLi9zZXJ2aWNlcy9hdHRyaWJ1dGUuc2VydmljZVwiO1xyXG5pbXBvcnQge0F0dHJpYnV0ZUNvbmZpZ3VyYXRpb259IGZyb20gXCIuLi9tb2RlbC9hdHRyaWJ1dGUtY29uZmlndXJhdGlvbi5lbnRpdHlcIjtcclxuaW1wb3J0IHtBdHRyaWJ1dGVWYWx1ZVNldH0gZnJvbSBcIi4uL21vZGVsL2F0dHJpYnV0ZS12YWx1ZS1zZXQuZW50aXR5XCI7XHJcbmltcG9ydCB7QXR0cmlidXRlQ29udGFpbmVyfSBmcm9tIFwiLi4vbW9kZWwvYXR0cmlidXRlLWNvbnRhaW5lci5lbnRpdHlcIjtcclxuXHJcbi8qKlxyXG4gKiBUaGlzIGNvbXBvbmVudCBzaG91bGQgYmUgYWRkZWQgb24gdG8gYW55IHNjcmVlbiB0aGF0IGRpc3BsYXlzIGEgY29udGFpbmVyIHdpdGggQ09EIGNvbnRlbnQuICBUaGlzIGNvbnRhaW5lclxyXG4gKiByZXByZXNlbnRzIHRoZSBvbmUgb2YgdGhlIGNvbnRhaW5lcnMsIHdoaWNoIGluIHR1cm4gY29udGFpbiBhdHRyaWJ1dGVzIHdoaWNoIGRpc3BsYXkgdGhvc2UgdmFsdWVzIGluIHRoZVxyXG4gKiBhdHRyaWJ1dGVWYWx1ZVNldC5cclxuICovXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiBcImhjaS1hdHRyaWJ1dGUtY29udGFpbmVyXCIsXHJcbiAgdGVtcGxhdGU6IGBcclxuICAgIDxoY2ktYnVzeSBbZ2V0QnVzeVN1YmplY3RzXT1cImdldEJ1c3lTdWJqZWN0c1wiPjwvaGNpLWJ1c3k+XHJcblxyXG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImF0dHJpYnV0ZUNvbnRhaW5lclwiPlxyXG4gICAgICA8ZGl2ICpuZ0lmPVwiZWRpdFBvcHVwXCIgW2lkXT1cIidpZC1hdHRyaWJ1dGUtY29udGFpbmVyLScgKyBhdHRyaWJ1dGVDb250YWluZXIuaWRBdHRyaWJ1dGVDb250YWluZXIgKyAnLWhlYWRlcidcIlxyXG4gICAgICAgICAgIGNsYXNzPVwiZC1mbGV4IGF0dHJpYnV0ZS1jb250YWluZXItaGVhZGVyIHt7J3NvcnQtb3JkZXItJyArIGF0dHJpYnV0ZUNvbnRhaW5lci5zb3J0T3JkZXJ9fVwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJtbC1hdXRvIG1yLTBcIiAoY2xpY2spPVwiZWRpdChlZGl0TW9kYWwsIGF0dHJpYnV0ZUNvbnRhaW5lcilcIj5cclxuICAgICAgICAgIDxpIGNsYXNzPVwiZmFzIGZhLXBlbmNpbC1hbHRcIj48L2k+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGZsZXgtZ3Jvdy0xIHktYXV0b1wiIHN0eWxlPVwiZmxleDogMSAxIDFweDtcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiYXR0cmlidXRlLWNvbnRhaW5lclwiXHJcbiAgICAgICAgICAgICBbY2xhc3MuY29sLW1kLTEyXT1cImF0dHJpYnV0ZUNvbnRhaW5lci5pc0F1dG9MYXlvdXQgJiYgYXR0cmlidXRlQ29udGFpbmVyLmlzQXV0b0xheW91dCA9PT0gJ1knXCJcclxuICAgICAgICAgICAgIFtjbGFzcy5mbGV4XT1cImF0dHJpYnV0ZUNvbnRhaW5lci5pc0F1dG9MYXlvdXQgJiYgYXR0cmlidXRlQ29udGFpbmVyLmlzQXV0b0xheW91dCA9PT0gJ1knXCJcclxuICAgICAgICAgICAgIFtjbGFzcy5mbGV4LXdyYXBdPVwiYXR0cmlidXRlQ29udGFpbmVyLmlzQXV0b0xheW91dCAmJiBhdHRyaWJ1dGVDb250YWluZXIuaXNBdXRvTGF5b3V0ID09PSAnWSdcIlxyXG4gICAgICAgICAgICAgW2NsYXNzLmFic29sdXRlXT1cIiFhdHRyaWJ1dGVDb250YWluZXIuaXNBdXRvTGF5b3V0IHx8IGF0dHJpYnV0ZUNvbnRhaW5lci5pc0F1dG9MYXlvdXQgPT09ICdOJ1wiPlxyXG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgYXR0cmlidXRlIG9mIGF0dHJpYnV0ZUNvbnRhaW5lci5ncmFwaGljYWxBdHRyaWJ1dGVzIHwgaXNHcm91cEF0dHJpYnV0ZTogZmFsc2VcIj5cclxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImF0dHJpYnV0ZUNvbnRhaW5lci5pc0F1dG9MYXlvdXQgJiYgYXR0cmlidXRlQ29udGFpbmVyLmlzQXV0b0xheW91dCA9PT0gJ1knICYmIGF0dHJpYnV0ZS5jb2RlQXR0cmlidXRlRGF0YVR5cGUgIT09ICdMSU5FJ1wiPlxyXG4gICAgICAgICAgICAgIDxoY2ktYXR0cmlidXRlLWZsZXggW2lkXT1cIidpZC1hdHRyaWJ1dGUtJyArIGF0dHJpYnV0ZS5pZEF0dHJpYnV0ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYXR0cmlidXRlXT1cImF0dHJpYnV0ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZWRpdElubGluZV09XCJlZGl0SW5saW5lXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjbGFzcy5hdHRyaWJ1dGVdPVwidHJ1ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY2xhc3MuY29sLTRdPVwiYXR0cmlidXRlLmNvZGVBdHRyaWJ1dGVEYXRhVHlwZSAhPT0gJ0dBJyAmJiBhdHRyaWJ1dGUuY29kZUF0dHJpYnV0ZURhdGFUeXBlICE9PSAnTElORSdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NsYXNzLmNvbC0xMl09XCJhdHRyaWJ1dGUuY29kZUF0dHJpYnV0ZURhdGFUeXBlID09PSAnR0EnIHx8IGF0dHJpYnV0ZS5jb2RlQXR0cmlidXRlRGF0YVR5cGUgPT09ICdMSU5FJ1wiPjwvaGNpLWF0dHJpYnV0ZS1mbGV4PlxyXG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFhdHRyaWJ1dGVDb250YWluZXIuaXNBdXRvTGF5b3V0IHx8IGF0dHJpYnV0ZUNvbnRhaW5lci5pc0F1dG9MYXlvdXQgPT09ICdOJ1wiPlxyXG4gICAgICAgICAgICAgIDxoY2ktYXR0cmlidXRlLWFic29sdXRlIFtpZF09XCInaWQtYXR0cmlidXRlLScgKyBhdHRyaWJ1dGUuaWRBdHRyaWJ1dGVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthdHRyaWJ1dGVdPVwiYXR0cmlidXRlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZWRpdElubGluZV09XCJlZGl0SW5saW5lXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY2xhc3MuYXR0cmlidXRlXT1cInRydWVcIj48L2hjaS1hdHRyaWJ1dGUtYWJzb2x1dGU+XHJcbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9uZy1jb250YWluZXI+XHJcblxyXG4gICAgPG5nLXRlbXBsYXRlICNlZGl0TW9kYWwgbGV0LWNsb3NlPVwiY2xvc2VcIj5cclxuICAgICAgPGRpdiBjbGFzcz1cIm1vZGFsLWhlYWRlclwiPlxyXG4gICAgICAgIHt7ZWRpdENvbnRhaW5lci5jb250YWluZXJOYW1lfX1cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJtb2RhbC1ib2R5IGQtZmxleCBmbGV4LWNvbHVtbiBoY2ktY29kLWVkaXRcIj5cclxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBhdHRyaWJ1dGUgb2YgZWRpdENvbnRhaW5lci5ncmFwaGljYWxBdHRyaWJ1dGVzIHwgaXNHcm91cEF0dHJpYnV0ZTogZmFsc2VcIj5cclxuICAgICAgICAgIDxoY2ktYXR0cmlidXRlLWVkaXQgW2lkXT1cIidlZGl0LWlkLWF0dHJpYnV0ZS0nICsgYXR0cmlidXRlLmlkQXR0cmlidXRlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2F0dHJpYnV0ZV09XCJhdHRyaWJ1dGVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImF0dHJpYnV0ZVwiPjwvaGNpLWF0dHJpYnV0ZS1lZGl0PlxyXG4gICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICA8L2Rpdj5cclxuICAgICAgPGRpdiBjbGFzcz1cIm1vZGFsLWZvb3RlclwiPlxyXG4gICAgICAgIDxidXR0b24gY2xhc3M9XCJidG4gYnRuLXByaW1hcnlcIiAoY2xpY2spPVwiY2xvc2UoJ1NhdmUnKVwiPlNhdmU8L2J1dHRvbj5cclxuICAgICAgICA8YnV0dG9uIGNsYXNzPVwiYnRuIGJ0bi1wcmltYXJ5XCIgKGNsaWNrKT1cImNsb3NlKCdDYW5jZWwnKVwiPkNhbmNlbDwvYnV0dG9uPlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgYFxyXG59KVxyXG5leHBvcnQgY2xhc3MgQXR0cmlidXRlQ29udGFpbmVyQ29tcG9uZW50IHtcclxuICBASG9zdEJpbmRpbmcoXCJjbGFzc1wiKSBjbGFzc0xpc3Q6IHN0cmluZyA9IFwiaGNpLWF0dHJpYnV0ZS1jb25maWd1cmF0aW9uIGhjaS1jb2QgZC1mbGV4IGZsZXgtY29sdW1uIGZsZXgtZ3Jvdy0xXCI7XHJcblxyXG4gIEBJbnB1dCgpIGlkQXR0cmlidXRlVmFsdWVTZXQ6IG51bWJlcjtcclxuICBASW5wdXQoKSBpZEF0dHJpYnV0ZUNvbmZpZ3VyYXRpb246IG51bWJlcjtcclxuICBASW5wdXQoKSBpZEF0dHJpYnV0ZUNvbnRhaW5lcjogbnVtYmVyO1xyXG4gIEBJbnB1dCgpIGluZGV4T2ZDb250YWluZXI6IG51bWJlcjtcclxuICBASW5wdXQoKSBpZFBhcmVudE9iamVjdDogbnVtYmVyO1xyXG5cclxuICBASW5wdXQoKSBhdHRyaWJ1dGVDb250YWluZXI6IEF0dHJpYnV0ZUNvbnRhaW5lcjtcclxuICBASW5wdXQoKSBhdHRyaWJ1dGVDb25maWd1cmF0aW9uOiBBdHRyaWJ1dGVDb25maWd1cmF0aW9uO1xyXG4gIEBJbnB1dCgpIGF0dHJpYnV0ZVZhbHVlU2V0OiBBdHRyaWJ1dGVWYWx1ZVNldDtcclxuXHJcbiAgQElucHV0KCkgZWRpdElubGluZTogYm9vbGVhbiA9IHRydWU7XHJcbiAgQElucHV0KCkgZWRpdFBvcHVwOiBib29sZWFuID0gIGZhbHNlO1xyXG4gIEBJbnB1dCgpIGVkaXRhYmxlOiBib29sZWFuID0gdHJ1ZTtcclxuXHJcbiAgZWRpdENvbnRhaW5lcjogQXR0cmlidXRlQ29udGFpbmVyO1xyXG5cclxuICB3aW5kb3dEaW1lbnNpb246IGFueSA9IHt9O1xyXG5cclxuICBzdWJzY3JpcHRpb25zOiBTdWJzY3JpcHRpb24gPSBuZXcgU3Vic2NyaXB0aW9uKCk7XHJcblxyXG4gIGdldEJ1c3lTdWJqZWN0czogRnVuY3Rpb24gPSAoKSA9PiB7XHJcbiAgICBsZXQgc3ViamVjdHM6IGFueVtdID0gW107XHJcblxyXG4gICAgLy9zdWJqZWN0cy5wdXNoKHRoaXMuYXR0cmlidXRlU2VydmljZS5nZXRBdHRyaWJ1dGVDb25maWd1cmF0aW9uTG9hZGluZ1N1YmplY3QoKSk7XHJcbiAgICBzdWJqZWN0cy5wdXNoKHRoaXMuYXR0cmlidXRlU2VydmljZS5nZXRMb2FkaW5nU3ViamVjdCgpKTtcclxuXHJcbiAgICByZXR1cm4gc3ViamVjdHM7XHJcbiAgfTtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBhdHRyaWJ1dGVTZXJ2aWNlOiBBdHRyaWJ1dGVTZXJ2aWNlLFxyXG4gICAgICAgICAgICAgIHByaXZhdGUgZWxlbWVudFJlZjogRWxlbWVudFJlZixcclxuICAgICAgICAgICAgICBwcml2YXRlIHJlbmRlcmVyOiBSZW5kZXJlcjIsXHJcbiAgICAgICAgICAgICAgcHJpdmF0ZSBjaGFuZ2VEZXRlY3RvclJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgICAgICAgICAgICAgcHJpdmF0ZSBtb2RhbFNlcnZpY2U6IE5nYk1vZGFsKSB7fVxyXG5cclxuICAvKipcclxuICAgKiBVcG9uIGluaXQsIHN1YnNjcmliZSB0byB0aGUgY29uZmlndXJhdGlvbiBhbmQgdmFsdWUgc2V0LlxyXG4gICAqL1xyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgaWYgKCEgdGhpcy5lZGl0YWJsZSkge1xyXG4gICAgICB0aGlzLmVkaXRJbmxpbmUgPSBmYWxzZTtcclxuICAgICAgdGhpcy5lZGl0UG9wdXAgPSBmYWxzZTtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLmF0dHJpYnV0ZVNlcnZpY2Uuc2V0QXR0cmlidXRlQ29uZmlndXJhdGlvbkJ5SWQodGhpcy5pZEF0dHJpYnV0ZUNvbmZpZ3VyYXRpb24sIHRoaXMuaWRBdHRyaWJ1dGVWYWx1ZVNldCwgdGhpcy5pZFBhcmVudE9iamVjdCk7XHJcblxyXG4gICAgdGhpcy5zdWJzY3JpcHRpb25zLmFkZCh0aGlzLmF0dHJpYnV0ZVNlcnZpY2UuZ2V0QXR0cmlidXRlQ29uZmlndXJhdGlvblN1YmplY3QoKS5zdWJzY3JpYmUoKGF0dHJpYnV0ZUNvbmZpZ3VyYXRpb246IEF0dHJpYnV0ZUNvbmZpZ3VyYXRpb24pID0+IHtcclxuICAgICAgaWYoYXR0cmlidXRlQ29uZmlndXJhdGlvbikge1xyXG4gICAgICAgIHRoaXMuYXR0cmlidXRlQ29uZmlndXJhdGlvbiA9IGF0dHJpYnV0ZUNvbmZpZ3VyYXRpb247XHJcblxyXG4gICAgICAgIGlmICh0aGlzLmlkQXR0cmlidXRlQ29udGFpbmVyICE9PSB1bmRlZmluZWQpIHtcclxuICAgICAgICAgIHRoaXMuYXR0cmlidXRlQ29udGFpbmVyID0gdGhpcy5nZXRBdHRyaWJ1dGVDb250YWluZXJCeUlkKHRoaXMuaWRBdHRyaWJ1dGVDb250YWluZXIpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaWYgKHRoaXMuaW5kZXhPZkNvbnRhaW5lciAhPT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgICAgICBpZiAodGhpcy5hdHRyaWJ1dGVDb25maWd1cmF0aW9uLmF0dHJpYnV0ZUNvbnRhaW5lcnNbdGhpcy5pbmRleE9mQ29udGFpbmVyXSkge1xyXG4gICAgICAgICAgICB0aGlzLmF0dHJpYnV0ZUNvbnRhaW5lciA9IHRoaXMuYXR0cmlidXRlQ29uZmlndXJhdGlvbi5hdHRyaWJ1dGVDb250YWluZXJzW3RoaXMuaW5kZXhPZkNvbnRhaW5lcl07XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9KSk7XHJcblxyXG4gICAgdGhpcy5zdWJzY3JpcHRpb25zLmFkZCh0aGlzLmF0dHJpYnV0ZVNlcnZpY2UuYXR0cmlidXRlQ29uZmlndXJhdGlvbkRpbWVuc2lvblN1YmplY3Quc3Vic2NyaWJlKCh3aW5kb3dEaW1lbnNpb246IGFueSkgPT4ge1xyXG4gICAgICBpZih3aW5kb3dEaW1lbnNpb24pe1xyXG4gICAgICAgIHRoaXMud2luZG93RGltZW5zaW9uID0gd2luZG93RGltZW5zaW9uO1xyXG4gICAgICB9XHJcbiAgICB9KSk7XHJcblxyXG4gICAgdGhpcy5zdWJzY3JpcHRpb25zLmFkZCh0aGlzLmF0dHJpYnV0ZVNlcnZpY2UuZ2V0QXR0cmlidXRlVmFsdWVTZXQoKS5zdWJzY3JpYmUoKGF0dHJpYnV0ZVZhbHVlU2V0OiBBdHRyaWJ1dGVWYWx1ZVNldCkgPT4ge1xyXG4gICAgICB0aGlzLmF0dHJpYnV0ZVZhbHVlU2V0ID0gYXR0cmlidXRlVmFsdWVTZXQ7XHJcblxyXG4gICAgICBpZiAodGhpcy5hdHRyaWJ1dGVWYWx1ZVNldCkge1xyXG4gICAgICAgIHRoaXMuYXR0cmlidXRlU2VydmljZS5ub3RpZnlBdHRyaWJ1dGVzKCk7XHJcbiAgICAgIH1cclxuICAgIH0pKTtcclxuICB9XHJcblxyXG4gIEBJbnB1dCgpIHNldCBib3VuZERhdGEodmFsdWU6IGFueSkge1xyXG4gICAgdGhpcy5hdHRyaWJ1dGVTZXJ2aWNlLnNldEJvdW5kRGF0YSh2YWx1ZSk7XHJcbiAgfVxyXG5cclxuICBuZ09uRGVzdHJveSgpIHtcclxuICAgIHRoaXMuc3Vic2NyaXB0aW9ucy51bnN1YnNjcmliZSgpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xyXG4gICAgaWYgKCEgdGhpcy5lZGl0YWJsZSkge1xyXG4gICAgICB0aGlzLmVkaXRJbmxpbmUgPSBmYWxzZTtcclxuICAgICAgdGhpcy5lZGl0UG9wdXAgPSBmYWxzZTtcclxuICAgIH1cclxuXHJcbiAgICBpZiAoY2hhbmdlcy5pZEF0dHJpYnV0ZUNvbnRhaW5lcikge1xyXG4gICAgICB0aGlzLmlkQXR0cmlidXRlQ29udGFpbmVyID0gY2hhbmdlcy5pZEF0dHJpYnV0ZUNvbnRhaW5lci5jdXJyZW50VmFsdWU7XHJcblxyXG4gICAgICB0aGlzLmF0dHJpYnV0ZUNvbnRhaW5lciA9IHRoaXMuZ2V0QXR0cmlidXRlQ29udGFpbmVyQnlJZCh0aGlzLmlkQXR0cmlidXRlQ29udGFpbmVyKTtcclxuICAgIH1cclxuXHJcbiAgICBpZiAoY2hhbmdlcy5pbmRleE9mQ29udGFpbmVyKSB7XHJcbiAgICAgIHRoaXMuaW5kZXhPZkNvbnRhaW5lciA9IGNoYW5nZXMuaW5kZXhPZkNvbnRhaW5lci5jdXJyZW50VmFsdWU7XHJcbiAgICAgIGlmICh0aGlzLmF0dHJpYnV0ZUNvbmZpZ3VyYXRpb24gJiYgdGhpcy5hdHRyaWJ1dGVDb25maWd1cmF0aW9uLmF0dHJpYnV0ZUNvbnRhaW5lcnNbdGhpcy5pbmRleE9mQ29udGFpbmVyXSkge1xyXG4gICAgICAgIHRoaXMuYXR0cmlidXRlQ29udGFpbmVyID0gdGhpcy5hdHRyaWJ1dGVDb25maWd1cmF0aW9uLmF0dHJpYnV0ZUNvbnRhaW5lcnNbdGhpcy5pbmRleE9mQ29udGFpbmVyXTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgZ2V0QXR0cmlidXRlU2VydmljZSgpOiBBdHRyaWJ1dGVTZXJ2aWNlIHtcclxuICAgIHJldHVybiB0aGlzLmF0dHJpYnV0ZVNlcnZpY2U7XHJcbiAgfVxyXG5cclxuICBlZGl0KG1vZGFsOiBUZW1wbGF0ZVJlZjxhbnk+LCBlZGl0Q29udGFpbmVyOiBBdHRyaWJ1dGVDb250YWluZXIpOiB2b2lkIHtcclxuICAgIHRoaXMuZWRpdENvbnRhaW5lciA9IGVkaXRDb250YWluZXI7XHJcblxyXG4gICAgdGhpcy5tb2RhbFNlcnZpY2Uub3Blbihtb2RhbCwge3dpbmRvd0NsYXNzOiBcIm1vZGFsLWxnXCJ9KS5yZXN1bHQudGhlbigocmVzdWx0KSA9PiB7XHJcbiAgICAgIGlmIChyZXN1bHQgPT09IFwiU2F2ZVwiKSB7XHJcbiAgICAgICAgdGhpcy5hdHRyaWJ1dGVTZXJ2aWNlLnVwZGF0ZUF0dHJpYnV0ZVZhbHVlU2V0KCk7XHJcbiAgICAgIH0gZWxzZSBpZiAocmVzdWx0ID09PSBcIkNhbmNlbFwiKSB7XHJcbiAgICAgICAgdGhpcy5hdHRyaWJ1dGVTZXJ2aWNlLmNsZWFyVXBkYXRlZEF0dHJpYnV0ZVZhbHVlcygpO1xyXG4gICAgICB9XHJcbiAgICB9LCAocmVhc29uKSA9PiB7fSk7XHJcbiAgfVxyXG5cclxuICBwb3N0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5hdHRyaWJ1dGVTZXJ2aWNlLnVwZGF0ZUF0dHJpYnV0ZVZhbHVlU2V0KCk7XHJcbiAgfVxyXG5cclxuICBnZXRBdHRyaWJ1dGVDb250YWluZXJCeUlkKGlkQXR0cmlidXRlQ29udGFpbmVyOiBudW1iZXIpOiBBdHRyaWJ1dGVDb250YWluZXIge1xyXG4gICAgaWYgKHRoaXMuYXR0cmlidXRlQ29uZmlndXJhdGlvbikge1xyXG4gICAgICByZXR1cm4gdGhpcy5hdHRyaWJ1dGVDb25maWd1cmF0aW9uLmF0dHJpYnV0ZUNvbnRhaW5lcnMuZmluZCh4ID0+IHguaWRBdHRyaWJ1dGVDb250YWluZXIgPT09IGlkQXR0cmlidXRlQ29udGFpbmVyKTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIl19