@huntsman-cancer-institute/dashboard 17.3.4 → 17.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2022/configure/widget-add.component.mjs +5 -5
- package/esm2022/configure/widget-configure.component.mjs +1 -1
- package/esm2022/dashboard.component.mjs +247 -247
- package/fesm2022/huntsman-cancer-institute-dashboard.mjs +250 -250
- package/fesm2022/huntsman-cancer-institute-dashboard.mjs.map +1 -1
- package/package.json +1 -1
|
@@ -150,7 +150,7 @@ export class WidgetAddComponent {
|
|
|
150
150
|
<ng-container *ngIf="!widgetCategory.icon">
|
|
151
151
|
<i class="fas fa-question-circle fa-2x widget-category-icon"></i>
|
|
152
152
|
</ng-container>
|
|
153
|
-
|
|
153
|
+
|
|
154
154
|
</div>
|
|
155
155
|
</ng-template>
|
|
156
156
|
</div>
|
|
@@ -164,7 +164,7 @@ export class WidgetAddComponent {
|
|
|
164
164
|
class="form-control"
|
|
165
165
|
placeholder=""
|
|
166
166
|
aria-describedby="search"
|
|
167
|
-
(keyup)="searchWidgets(searchWidget.value)">
|
|
167
|
+
(keyup)="searchWidgets(searchWidget.value)" aria-label="hci-ng-search-widget-add">
|
|
168
168
|
<button class="btn" style="margin-left: 10px;" (click)="setDisplayMode('list')">
|
|
169
169
|
<i class="fas fa-list"></i>
|
|
170
170
|
</button>
|
|
@@ -285,7 +285,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImpor
|
|
|
285
285
|
<ng-container *ngIf="!widgetCategory.icon">
|
|
286
286
|
<i class="fas fa-question-circle fa-2x widget-category-icon"></i>
|
|
287
287
|
</ng-container>
|
|
288
|
-
|
|
288
|
+
|
|
289
289
|
</div>
|
|
290
290
|
</ng-template>
|
|
291
291
|
</div>
|
|
@@ -299,7 +299,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImpor
|
|
|
299
299
|
class="form-control"
|
|
300
300
|
placeholder=""
|
|
301
301
|
aria-describedby="search"
|
|
302
|
-
(keyup)="searchWidgets(searchWidget.value)">
|
|
302
|
+
(keyup)="searchWidgets(searchWidget.value)" aria-label="hci-ng-search-widget-add">
|
|
303
303
|
<button class="btn" style="margin-left: 10px;" (click)="setDisplayMode('list')">
|
|
304
304
|
<i class="fas fa-list"></i>
|
|
305
305
|
</button>
|
|
@@ -397,4 +397,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImpor
|
|
|
397
397
|
type: ViewChild,
|
|
398
398
|
args: [WidgetConfigureComponent, { static: false }]
|
|
399
399
|
}] } });
|
|
400
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2lkZ2V0LWFkZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9kYXNoYm9hcmQvc3JjL2NvbmZpZ3VyZS93aWRnZXQtYWRkLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUNILE9BQU8sRUFBQyxTQUFTLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUMxRCxPQUFPLEVBQUMsT0FBTyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBSS9FLE9BQU8sRUFBMEIsY0FBYyxFQUFFLG9CQUFvQixFQUFFLHVCQUF1QixFQUEyQixNQUFNLGdCQUFnQixDQUFDO0FBQ2hKLE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLCtCQUErQixDQUFDO0FBRS9ELE9BQU8sRUFBQyx3QkFBd0IsRUFBQyxNQUFNLDhCQUE4QixDQUFDOzs7O0FBRXRFOztHQUVHO0FBK1BILE1BQU0sT0FBTyxrQkFBa0I7SUF3QjdCLFlBQW9CLGdCQUFrQztRQUFsQyxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBckJ0RCxtQkFBYyxHQUFXLENBQUMsQ0FBQztRQUVwQixTQUFJLEdBQVcsQ0FBQyxDQUFDO1FBS2pCLGdCQUFXLEdBQVcsTUFBTSxDQUFDO1FBQzdCLGNBQVMsR0FBVyxRQUFRLENBQUM7UUFDN0IsbUJBQWMsR0FBWSxLQUFLLENBQUM7SUFZa0IsQ0FBQztJQUUxRCxRQUFRO1FBQ04sSUFBSSxDQUFDLGdCQUFnQixDQUFDLGdCQUFnQixDQUFDLFNBQVMsQ0FBQyxDQUFDLFNBQWtCLEVBQUUsRUFBRTtZQUN0RSxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDWixJQUFJLENBQUMsU0FBUyxHQUFHLFFBQVEsQ0FBQztRQUM1QixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxJ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QUMsR0FBRyxDQUFDLENBQUM7eUJBQzdDLENBQ0Y7d0JBQ0QsT0FBTyxDQUFDLFdBQVcsRUFDakI7NEJBQ0UsS0FBSyxDQUFDLElBQUksRUFBRSxLQUFLLENBQUM7Z0NBQ2hCLE9BQU8sRUFBRSxHQUFHOzZCQUNiLENBQUMsQ0FBQzs0QkFDSCxLQUFLLENBQUMsUUFBUSxFQUFFLEtBQUssQ0FBQztnQ0FDcEIsT0FBTyxFQUFFLEdBQUc7NkJBQ2IsQ0FBQyxDQUFDOzRCQUNILEtBQUssQ0FBQyxRQUFRLEVBQUUsS0FBSyxDQUFDO2dDQUNwQixPQUFPLEVBQUUsR0FBRzs2QkFDYixDQUFDLENBQUM7NEJBQ0gsVUFBVSxDQUFDLGtCQUFrQixFQUFFLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQzs0QkFDNUMsVUFBVSxDQUFDLGtCQUFrQixFQUFFLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQzt5QkFDN0MsQ0FDRjtxQkFDRjtxRkF1SEQsY0FBYztzQkFEYixLQUFLO2dCQW9CRSx3QkFBd0I7c0JBRC9CLFNBQVM7dUJBQUMsd0JBQXdCLEVBQUUsRUFBQyxNQUFNLEVBQUUsS0FBSyxFQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLypcclxuICogQ29weXJpZ2h0IChjKSAyMDE2IEh1bnRzbWFuIENhbmNlciBJbnN0aXR1dGUgYXQgdGhlIFVuaXZlcnNpdHkgb2YgVXRhaCwgQ29uZmlkZW50aWFsIGFuZCBQcm9wcmlldGFyeVxyXG4gKi9cclxuaW1wb3J0IHtDb21wb25lbnQsIElucHV0LCBWaWV3Q2hpbGR9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7YW5pbWF0ZSwgc3RhdGUsIHN0eWxlLCB0cmFuc2l0aW9uLCB0cmlnZ2VyfSBmcm9tIFwiQGFuZ3VsYXIvYW5pbWF0aW9uc1wiO1xyXG5cclxuaW1wb3J0IHtTdWJzY3JpcHRpb259IGZyb20gXCJyeGpzXCI7XHJcblxyXG5pbXBvcnQgeyBXaWRnZXQsIFdpZGdldENhdGVnb3J5LCBXaWRnZXRJbnN0YW5jZSwgV2lkZ2V0QXR0cmlidXRlVmFsdWUsIFdpZGdldEF0dHJpYnV0ZVZhbHVlU2V0LCBXaWRnZXRBdHRyaWJ1dGVDb250YWluZXJ9IGZyb20gXCIuLi9tb2RlbC9tb2RlbFwiO1xyXG5pbXBvcnQge0Rhc2hib2FyZFNlcnZpY2V9IGZyb20gXCIuLi9zZXJ2aWNlcy9kYXNoYm9hcmQuc2VydmljZVwiO1xyXG5pbXBvcnQge1dpZGdldENvbXBvbmVudH0gZnJvbSBcIi4uL3dpZGdldC93aWRnZXQuY29tcG9uZW50XCI7XHJcbmltcG9ydCB7V2lkZ2V0Q29uZmlndXJlQ29tcG9uZW50fSBmcm9tIFwiLi93aWRnZXQtY29uZmlndXJlLmNvbXBvbmVudFwiO1xyXG5cclxuLyoqXHJcbiAqIEBzaW5jZSAxLjAuMFxyXG4gKi9cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6IFwid2lkZ2V0LWFkZFwiLFxyXG4gIHRlbXBsYXRlOiBgXHJcbiAgICA8ZGl2IGNsYXNzPVwib3ZlcmxheVwiIFtAb3BlbkJhY2tzcGxhc2hdPVwib3BlblN0YXRlXCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJtb2RhbC1kaWFsb2dcIiBbQG9wZW5Nb2RhbF09XCJvcGVuU3RhdGVcIiByb2xlPVwiZG9jdW1lbnRcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwibW9kYWwtaGVhZGVyXCI+XHJcbiAgICAgICAgICA8aDQgY2xhc3M9XCJtb2RhbC10aXRsZVwiPkFkZCBXaWRnZXQ8L2g0PlxyXG4gICAgICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJjbG9zZVwiIGFyaWEtbGFiZWw9XCJDbG9zZVwiIChjbGljayk9XCJjbG9zZSgpXCI+XHJcbiAgICAgICAgICAgIDxzcGFuIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPiZ0aW1lczs8L3NwYW4+XHJcbiAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwibW9kYWwtYm9keVwiIFtzdHlsZS5kaXNwbGF5XT1cInN0ZXAgPT09IDEgPyAnYmxvY2snIDogJ25vbmUnXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtb2RhbC1ib2R5LWxlZnRcIj5cclxuICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgbmdGb3IgbGV0LXdpZGdldENhdGVnb3J5IFtuZ0Zvck9mXT1cIndpZGdldENhdGVnb3JpZXNcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ3aWRnZXQtY2F0ZWdvcnlcIlxyXG4gICAgICAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJ3aWRnZXRDYXRlZ29yeS5pZFdpZGdldENhdGVnb3J5ID09PSBzZWxlY3RlZFdpZGdldENhdGVnb3J5Py5pZFdpZGdldENhdGVnb3J5ID8gJ3NlbGVjdGVkJyA6ICcnXCJcclxuICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cInNlbGVjdFdpZGdldENhdGVnb3J5KHdpZGdldENhdGVnb3J5KVwiPlxyXG4gICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwid2lkZ2V0Q2F0ZWdvcnkuaWNvblwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJ3aWRnZXRDYXRlZ29yeS5pY29uLmluZGV4T2YoJy5zdmcnKSA+IDA7IGVsc2UgZmFJY29uXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8aW1nIFtzcmNdPVwid2lkZ2V0Q2F0ZWdvcnkuaWNvblwiIGNsYXNzPVwid2lkZ2V0LWNhdGVnb3J5LWljb25cIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjZmFJY29uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9XCJ7e3dpZGdldENhdGVnb3J5Lmljb259fSBmYS0yeCB3aWRnZXQtY2F0ZWdvcnktaWNvblwiPjwvaT5cclxuICAgICAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiF3aWRnZXRDYXRlZ29yeS5pY29uXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9XCJmYXMgZmEtcXVlc3Rpb24tY2lyY2xlIGZhLTJ4IHdpZGdldC1jYXRlZ29yeS1pY29uXCI+PC9pPlxyXG4gICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1vZGFsLWJvZHktcmlnaHRcIj5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaW5wdXQtZ3JvdXAgd2lkZ2V0LXNlYXJjaFwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImlucHV0LWdyb3VwLXByZXBlbmRcIj5cclxuICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJpbnB1dC1ncm91cC10ZXh0XCIgaWQ9XCJzZWFyY2hcIj48aSBjbGFzcz1cImZhcyBmYS1zZWFyY2ggZmEtbGdcIj48L2k+PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT1cInRleHRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICNzZWFyY2hXaWRnZXRcclxuICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImZvcm0tY29udHJvbFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCJcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgIGFyaWEtZGVzY3JpYmVkYnk9XCJzZWFyY2hcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgIChrZXl1cCk9XCJzZWFyY2hXaWRnZXRzKHNlYXJjaFdpZGdldC52YWx1ZSlcIj5cclxuICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9XCJidG5cIiBzdHlsZT1cIm1hcmdpbi1sZWZ0OiAxMHB4O1wiIChjbGljayk9XCJzZXREaXNwbGF5TW9kZSgnbGlzdCcpXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPVwiZmFzIGZhLWxpc3RcIj48L2k+XHJcbiAgICAgICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9XCJidG5cIiBzdHlsZT1cIm1hcmdpbi1sZWZ0OiAxMHB4O1wiIChjbGljayk9XCJzZXREaXNwbGF5TW9kZSgnZ3JpZCcpXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPVwiZmFzIGZhLXRoXCI+PC9pPlxyXG4gICAgICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIndpZGdldHMgJiYgd2lkZ2V0cy5sZW5ndGggPiAwXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2Pk5vIHdpZGdldHMgbWF0Y2hlZCB0aGUgc2VhcmNoIGNyaXRlcmlhLjwvZGl2PlxyXG4gICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSBuZ0ZvciBsZXQtd2lkZ2V0IFtuZ0Zvck9mXT1cIndpZGdldHNcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ3aWRnZXQtbGFiZWxcIlxyXG4gICAgICAgICAgICAgICAgICAgICAqbmdJZj1cImRpc3BsYXlNb2RlID09PSAnbGlzdCdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwic2VsZWN0V2lkZ2V0KHdpZGdldClcIj5cclxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIndpZGdldC1pY29uLWhvc3RcIj5cclxuICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwid2lkZ2V0Lmljb25cIj5cclxuICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJ3aWRnZXQuaWNvbi5pbmRleE9mKCcuc3ZnJykgPiAwOyBlbHNlIGZhSWNvblwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8aW1nIFtzcmNdPVwid2lkZ2V0Lmljb25cIiBjbGFzcz1cIndpZGdldC1pY29uXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlICNmYUljb24+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPVwie3t3aWRnZXQuaWNvbn19IGZhLTJ4IHdpZGdldC1pY29uXCI+PC9pPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIXdpZGdldC5pY29uXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8aSBjbGFzcz1cImZhcyBmYS1xdWVzdGlvbi1jaXJjbGUgZmEtMnggd2lkZ2V0LWljb25cIj48L2k+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwid2lkZ2V0LWRlc2NyaXB0aW9uLWhvc3RcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwid2lkZ2V0LXRpdGxlXCI+e3t3aWRnZXQudGl0bGV9fTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXY+e3t3aWRnZXQuZGVzY3JpcHRpb259fTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImdyaWQgd2lkZ2V0LWxhYmVsXCJcclxuICAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJkaXNwbGF5TW9kZSA9PT0gJ2dyaWQnXCJcclxuICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cInNlbGVjdFdpZGdldCh3aWRnZXQpXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJncmlkIHdpZGdldC1pY29uLWhvc3RcIj5cclxuICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwid2lkZ2V0Lmljb25cIj5cclxuICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJ3aWRnZXQuaWNvbi5pbmRleE9mKCcuc3ZnJykgPiAwOyBlbHNlIGZhSWNvblwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8aW1nIFtzcmNdPVwid2lkZ2V0Lmljb25cIiBjbGFzcz1cIndpZGdldC1pY29uXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlICNmYUljb24+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPVwie3t3aWRnZXQuaWNvbn19IGZhLTJ4IHdpZGdldC1pY29uXCI+PC9pPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIXdpZGdldC5pY29uXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8aSBjbGFzcz1cImZhcyBmYS1xdWVzdGlvbi1jaXJjbGUgZmEtMnggd2lkZ2V0LWljb25cIj48L2k+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZ3JpZCB3aWRnZXQtZGVzY3JpcHRpb24taG9zdFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJncmlkIHdpZGdldC10aXRsZVwiPnt7d2lkZ2V0LnRpdGxlfX08L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwibW9kYWwtZm9vdGVyXCI+XHJcbiAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwic3RlcCA9PT0gMVwiPlxyXG4gICAgICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cImJ0biBidG4tc2Vjb25kYXJ5XCIgKGNsaWNrKT1cImNsb3NlKClcIj5DYW5jZWw8L2J1dHRvbj5cclxuICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJidG4gYnRuLXNlY29uZGFyeVwiIChjbGljayk9XCJhZGQoKVwiPkFkZDwvYnV0dG9uPlxyXG4gICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgYCxcclxuICBhbmltYXRpb25zOiBbXHJcbiAgICB0cmlnZ2VyKFwib3BlbkJhY2tzcGxhc2hcIixcclxuICAgICAgW1xyXG4gICAgICAgIHN0YXRlKFwiaW5cIiwgc3R5bGUoe1xyXG4gICAgICAgICAgZGlzcGxheTogXCJub25lXCJcclxuICAgICAgICB9KSksXHJcbiAgICAgICAgc3RhdGUoXCJoaWRkZW5cIiwgc3R5bGUoe1xyXG4gICAgICAgICAgZGlzcGxheTogXCJub25lXCJcclxuICAgICAgICB9KSksXHJcbiAgICAgICAgc3RhdGUoXCJvcGVuZWRcIiwgc3R5bGUoe1xyXG4gICAgICAgICAgZGlzcGxheTogXCJmbGV4XCJcclxuICAgICAgICB9KSksXHJcbiAgICAgICAgdHJhbnNpdGlvbihcImhpZGRlbiA9PiBvcGVuZWRcIiwgYW5pbWF0ZSgwKSksXHJcbiAgICAgICAgdHJhbnNpdGlvbihcIm9wZW5lZCA9PiBoaWRkZW5cIiwgYW5pbWF0ZSgyMDApKVxyXG4gICAgICBdXHJcbiAgICApLFxyXG4gICAgdHJpZ2dlcihcIm9wZW5Nb2RhbFwiLFxyXG4gICAgICBbXHJcbiAgICAgICAgc3RhdGUoXCJpblwiLCBzdHlsZSh7XHJcbiAgICAgICAgICBvcGFjaXR5OiBcIjBcIlxyXG4gICAgICAgIH0pKSxcclxuICAgICAgICBzdGF0ZShcImhpZGRlblwiLCBzdHlsZSh7XHJcbiAgICAgICAgICBvcGFjaXR5OiBcIjBcIlxyXG4gICAgICAgIH0pKSxcclxuICAgICAgICBzdGF0ZShcIm9wZW5lZFwiLCBzdHlsZSh7XHJcbiAgICAgICAgICBvcGFjaXR5OiBcIjFcIlxyXG4gICAgICAgIH0pKSxcclxuICAgICAgICB0cmFuc2l0aW9uKFwiaGlkZGVuID0+IG9wZW5lZFwiLCBhbmltYXRlKDUwMCkpLFxyXG4gICAgICAgIHRyYW5zaXRpb24oXCJvcGVuZWQgPT4gaGlkZGVuXCIsIGFuaW1hdGUoMjAwKSlcclxuICAgICAgXVxyXG4gICAgKVxyXG4gIF0sXHJcbiAgc3R5bGVzOiBbYFxyXG5cclxuICAgIC5vdmVybGF5IHtcclxuICAgICAgcG9zaXRpb246IGZpeGVkO1xyXG4gICAgICB6LWluZGV4OiA5OTk5O1xyXG4gICAgICB0b3A6IDA7XHJcbiAgICAgIGJvdHRvbTogMDtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjQpO1xyXG4gICAgICB3aWR0aDogMTAwdnc7XHJcbiAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICB9XHJcbiAgICBcclxuICAgIC5tb2RhbC1kaWFsb2cge1xyXG4gICAgICBtYXgtd2lkdGg6IDc1dnc7XHJcbiAgICAgIG1pbi13aWR0aDogNzV2dztcclxuICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XHJcbiAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcclxuICAgICAgbWFyZ2luLXRvcDogYXV0bztcclxuICAgICAgbWFyZ2luLWJvdHRvbTogYXV0bztcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XHJcbiAgICAgIGJvcmRlcjogYmxhY2sgMXB4IHNvbGlkO1xyXG4gICAgICBib3JkZXItbGVmdDogbm9uZTtcclxuICAgICAgcG9pbnRlci1ldmVudHM6IGFsbDtcclxuICAgIH1cclxuICAgIFxyXG4gICAgLm1vZGFsLWJvZHkge1xyXG4gICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XHJcbiAgICB9XHJcbiAgICBcclxuICAgIC5tb2RhbC1ib2R5LWxlZnQge1xyXG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgIG92ZXJmbG93LXk6IGF1dG87XHJcbiAgICAgIG92ZXJmbG93LXg6IGhpZGRlbjtcclxuICAgICAgbWluLWhlaWdodDogMzAwcHg7XHJcbiAgICAgIG1heC1oZWlnaHQ6IDMwMHB4O1xyXG4gICAgfVxyXG4gICAgXHJcbiAgICAubW9kYWwtYm9keS1yaWdodCB7XHJcbiAgICAgIHdpZHRoOiA3MCU7XHJcbiAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XHJcbiAgICAgIHBhZGRpbmctbGVmdDogMTVweDtcclxuICAgICAgYm9yZGVyLWxlZnQ6IGJsYWNrIDFweCBzb2xpZDtcclxuICAgICAgbWFyZ2luLWxlZnQ6IDE1cHg7XHJcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgb3ZlcmZsb3cteTogYXV0bztcclxuICAgICAgbWluLWhlaWdodDogMzAwcHg7XHJcbiAgICAgIG1heC1oZWlnaHQ6IDMwMHB4O1xyXG4gICAgfVxyXG4gICAgXHJcbiAgICAud2lkZ2V0LWNhdGVnb3J5IHtcclxuICAgICAgbWFyZ2luOiAxMHB4O1xyXG4gICAgICBib3JkZXItcmFkaXVzOiAyMHB4O1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWVlZWVlO1xyXG4gICAgfVxyXG4gICAgXHJcbiAgICAud2lkZ2V0LWNhdGVnb3J5LnNlbGVjdGVkIHtcclxuICAgICAgYm9yZGVyOiByZWQgMnB4IHNvbGlkO1xyXG4gICAgfVxyXG4gICAgXHJcbiAgICAud2lkZ2V0LWNhdGVnb3J5LWljb24ge1xyXG4gICAgICB3aWR0aDogODBweDtcclxuICAgICAgaGVpZ2h0OiA4MHB4O1xyXG4gICAgICBwYWRkaW5nOiA1cHg7XHJcbiAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xyXG4gICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XHJcbiAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICB9XHJcbiAgICBcclxuICAgIC53aWRnZXQtc2VhcmNoIHtcclxuICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcclxuICAgIH1cclxuXHJcbiAgICAud2lkZ2V0LWxhYmVsIHtcclxuICAgICAgcGFkZGluZzogMTBweDtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2VlZWVlZTtcclxuICAgICAgYm9yZGVyLXJhZGl1czogMTBweDtcclxuICAgICAgbWFyZ2luLWJvdHRvbTogNXB4O1xyXG4gICAgfVxyXG5cclxuICAgIC53aWRnZXQtbGFiZWwuZ3JpZCB7XHJcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgd2lkdGg6IDE1MHB4O1xyXG4gICAgICBvdmVyZmxvdy15OiBoaWRkZW47XHJcbiAgICAgIG92ZXJmbG93LXg6IGhpZGRlbjtcclxuICAgICAgbWF4LWhlaWdodDogMTAwcHg7XHJcbiAgICAgIG1pbi1oZWlnaHQ6IDEwMHB4O1xyXG4gICAgICBtYXJnaW46IDVweDtcclxuICAgIH1cclxuXHJcbiAgICAud2lkZ2V0LWljb24taG9zdCB7XHJcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgd2lkdGg6IDUwcHg7XHJcbiAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XHJcbiAgICB9XHJcblxyXG4gICAgLndpZGdldC1pY29uIHtcclxuICAgICAgd2lkdGg6IDUwcHg7XHJcbiAgICAgIGhlaWdodDogNTBweDtcclxuICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XHJcbiAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcclxuICAgICAgZGlzcGxheTogZmxleDtcclxuICAgIH1cclxuXHJcbiAgICAud2lkZ2V0LXRpdGxlIHtcclxuICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgICB9XHJcbiAgICBcclxuICAgIC53aWRnZXQtZGVzY3JpcHRpb24taG9zdCB7XHJcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDU1cHgpO1xyXG4gICAgfVxyXG4gICAgXHJcbiAgYF1cclxufSlcclxuZXhwb3J0IGNsYXNzIFdpZGdldEFkZENvbXBvbmVudCB7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgZGFzaGJvYXJkSW5kZXg6IG51bWJlciA9IDA7XHJcblxyXG4gIHB1YmxpYyBzdGVwOiBudW1iZXIgPSAwO1xyXG5cclxuICBwdWJsaWMgd2lkZ2V0czogV2lkZ2V0W107XHJcbiAgcHVibGljIHdpZGdldENhdGVnb3JpZXM6IFdpZGdldENhdGVnb3J5W107XHJcblxyXG4gIHB1YmxpYyBkaXNwbGF5TW9kZTogc3RyaW5nID0gXCJsaXN0XCI7XHJcbiAgcHVibGljIG9wZW5TdGF0ZTogc3RyaW5nID0gXCJoaWRkZW5cIjtcclxuICBwdWJsaWMgd2lkZ2V0UmVuZGVyZWQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgcHVibGljIHNlbGVjdGVkV2lkZ2V0OiBXaWRnZXQ7XHJcbiAgcHVibGljIHNlbGVjdGVkV2lkZ2V0Q2F0ZWdvcnk6IFdpZGdldENhdGVnb3J5O1xyXG5cclxuICBwcml2YXRlIHdpZGdldEluc3RhbmNlOiBXaWRnZXRJbnN0YW5jZTtcclxuXHJcbiAgcHJpdmF0ZSB3aWRnZXRSZW5kZXJlZFN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uO1xyXG5cclxuICBAVmlld0NoaWxkKFdpZGdldENvbmZpZ3VyZUNvbXBvbmVudCwge3N0YXRpYzogZmFsc2V9KVxyXG4gIHByaXZhdGUgd2lkZ2V0Q29uZmlndXJlQ29tcG9uZW50OiBXaWRnZXRDb25maWd1cmVDb21wb25lbnQ7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZGFzaGJvYXJkU2VydmljZTogRGFzaGJvYXJkU2VydmljZSkge31cclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICB0aGlzLmRhc2hib2FyZFNlcnZpY2UuYWRkV2lkZ2V0U3ViamVjdC5zdWJzY3JpYmUoKGFkZFdpZGdldDogYm9vbGVhbikgPT4ge1xyXG4gICAgICB0aGlzLmluaXQoKTtcclxuICAgICAgdGhpcy5vcGVuU3RhdGUgPSBcIm9wZW5lZFwiO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBpbml0KCkge1xyXG4gICAgdGhpcy53aWRnZXRSZW5kZXJlZFN1YnNjcmlwdGlvbiA9IHRoaXMuZGFzaGJvYXJkU2VydmljZS5nZXRXaWRnZXRSZW5kZXJlZCgpLnN1YnNjcmliZSgod2lkZ2V0UmVuZGVyZWQ6IGJvb2xlYW4pID0+IHtcclxuICAgICAgaWYgKHdpZGdldFJlbmRlcmVkICYmIHRoaXMuc3RlcCA9PT0gMikge1xyXG4gICAgICAgIHRoaXMud2lkZ2V0UmVuZGVyZWQgPSB0cnVlO1xyXG4gICAgICB9XHJcbiAgICAgIHRoaXMud2lkZ2V0UmVuZGVyZWRTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcclxuICAgIH0pO1xyXG5cclxuICAgIHRoaXMud2lkZ2V0cyA9IHRoaXMuZGFzaGJvYXJkU2VydmljZS5nZXRXaWRnZXRzQnlGaWx0ZXIodW5kZWZpbmVkKTtcclxuICAgIHRoaXMud2lkZ2V0Q2F0ZWdvcmllcyA9IHRoaXMuZGFzaGJvYXJkU2VydmljZS5nZXRXaWRnZXRDYXRlZ29yaWVzKCk7XHJcbiAgICB0aGlzLnN0ZXAgPSAxO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogUmUtZmlsdGVyIHRoZSB3aWRnZXQgbGlzdCBiYXNlZCB1cG9uIGEgY2hhbmdlIGluIHdpZGdldCBjYXRlZ29yeS5cclxuICAgKlxyXG4gICAqIEBwYXJhbSB7V2lkZ2V0Q2F0ZWdvcnl9IHdpZGdldENhdGVnb3J5XHJcbiAgICovXHJcbiAgc2VsZWN0V2lkZ2V0Q2F0ZWdvcnkoc2VsZWN0ZWRXaWRnZXRDYXRlZ29yeTogV2lkZ2V0Q2F0ZWdvcnkpIHtcclxuICAgIHRoaXMud2lkZ2V0cyA9IHRoaXMuZGFzaGJvYXJkU2VydmljZS5nZXRXaWRnZXRzQnlGaWx0ZXIodW5kZWZpbmVkKTtcclxuICAgIGlmICh0aGlzLnNlbGVjdGVkV2lkZ2V0Q2F0ZWdvcnkgJiYgdGhpcy5zZWxlY3RlZFdpZGdldENhdGVnb3J5LmlkV2lkZ2V0Q2F0ZWdvcnkgPT09IHNlbGVjdGVkV2lkZ2V0Q2F0ZWdvcnkuaWRXaWRnZXRDYXRlZ29yeSkge1xyXG4gICAgICB0aGlzLnNlbGVjdGVkV2lkZ2V0Q2F0ZWdvcnkgPSB1bmRlZmluZWQ7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLnNlbGVjdGVkV2lkZ2V0Q2F0ZWdvcnkgPSBzZWxlY3RlZFdpZGdldENhdGVnb3J5O1xyXG4gICAgICB0aGlzLndpZGdldHMgPSB0aGlzLndpZGdldHMuZmlsdGVyKCh3aWRnZXQ6IFdpZGdldCkgPT4ge1xyXG4gICAgICAgIGlmICh3aWRnZXQud2lkZ2V0Q2F0ZWdvcmllcyAmJiB3aWRnZXQud2lkZ2V0Q2F0ZWdvcmllcy5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgICByZXR1cm4gd2lkZ2V0LndpZGdldENhdGVnb3JpZXMuZmlsdGVyKCh3aWRnZXRDYXRlZ29yeTogV2lkZ2V0Q2F0ZWdvcnkpID0+IHtcclxuICAgICAgICAgICAgcmV0dXJuIHdpZGdldENhdGVnb3J5LmlkV2lkZ2V0Q2F0ZWdvcnkgPT09IHNlbGVjdGVkV2lkZ2V0Q2F0ZWdvcnkuaWRXaWRnZXRDYXRlZ29yeTtcclxuICAgICAgICAgIH0pLmxlbmd0aCA+IDA7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogV2hlbiB0aGUgd2lkZ2V0IGlzIHNlbGVjdGVkIHRoZXJlIGFyZSB0d28gb3B0aW9ucy4gIElmIHRoZXJlIGFyZSBubyBhdHRyaWJ1dGVzIHRvIGJlIHNldCBieSB0aGUgdXNlciwgdGhlbiBhZGQgdGhlXHJcbiAgICogd2lkZ2V0LiAgSWYgdGhlcmUgYXJlIGluc3RhbmNlIGF0dHJpYnV0ZXMgdGhhdCBtdXN0IGJlIHNldCwgdGhlbiBzd2l0Y2ggdG8gYSB3aWRnZXQgY29uZmlndXJhdGlvbiBzY3JlZW4uXHJcbiAgICpcclxuICAgKiBAcGFyYW0gd2lkZ2V0XHJcbiAgICovXHJcbiAgc2VsZWN0V2lkZ2V0KHdpZGdldDogV2lkZ2V0KSB7XHJcbiAgICB0aGlzLndpZGdldEluc3RhbmNlID0gbmV3IFdpZGdldEluc3RhbmNlKCk7XHJcbiAgICB0aGlzLndpZGdldEluc3RhbmNlLmlkV2lkZ2V0SW5zdGFuY2UgPSB0aGlzLmRhc2hib2FyZFNlcnZpY2UuZ2V0SWROZXcoKTtcclxuICAgIHRoaXMud2lkZ2V0SW5zdGFuY2Uud2lkZ2V0ID0gd2lkZ2V0O1xyXG4gICAgdGhpcy53aWRnZXRJbnN0YW5jZS5hdHRyaWJ1dGVWYWx1ZVNldCA9IHRoaXMuZ2V0RGVmYXVsdFdpZGdldEF0dHJpYnV0ZVZhbHVlcyh0aGlzLndpZGdldEluc3RhbmNlLmlkV2lkZ2V0SW5zdGFuY2UsIHdpZGdldC5hdHRyaWJ1dGVDb250YWluZXJzKTtcclxuICAgIHRoaXMuYWRkKCk7XHJcbiAgfVxyXG5cclxuICBzZXREaXNwbGF5TW9kZShkaXNwbGF5TW9kZTogc3RyaW5nKSB7XHJcbiAgICB0aGlzLmRpc3BsYXlNb2RlID0gZGlzcGxheU1vZGU7XHJcbiAgfVxyXG5cclxuICBnZXREZWZhdWx0V2lkZ2V0QXR0cmlidXRlVmFsdWVzKGlkV2lkZ2V0SW5zdGFuY2U6IG51bWJlciwgYXR0cmlidXRlQ29udGFpbmVyczogV2lkZ2V0QXR0cmlidXRlQ29udGFpbmVyW10pOiBXaWRnZXRBdHRyaWJ1dGVWYWx1ZVNldCB7XHJcbiAgICBsZXQgdmFsdWVTZXQ6IFdpZGdldEF0dHJpYnV0ZVZhbHVlU2V0ID0gbmV3IFdpZGdldEF0dHJpYnV0ZVZhbHVlU2V0KCk7XHJcbiAgICB2YWx1ZVNldC5pZFdpZGdldEF0dHJpYnV0ZVZhbHVlU2V0ID0gdGhpcy5kYXNoYm9hcmRTZXJ2aWNlLmdldElkTmV3KCk7XHJcbiAgICBsZXQgdmFsdWVzOiBXaWRnZXRBdHRyaWJ1dGVWYWx1ZVtdID0gW107XHJcblxyXG4gICAgZm9yIChsZXQgY29udGFpbmVyIG9mIGF0dHJpYnV0ZUNvbnRhaW5lcnMpIHtcclxuICAgICAgZm9yIChsZXQgYXR0cmlidXRlIG9mIGNvbnRhaW5lci5hdHRyaWJ1dGVzKSB7XHJcbiAgICAgICAgaWYgKCFhdHRyaWJ1dGUudXNlckVkaXRhYmxlKSB7XHJcbiAgICAgICAgICBjb250aW51ZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKGF0dHJpYnV0ZS5tdWx0aVZhbHVlKSB7XHJcbiAgICAgICAgICBjb250aW51ZTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGxldCB2YWx1ZSA9IG5ldyBXaWRnZXRBdHRyaWJ1dGVWYWx1ZSgpO1xyXG4gICAgICAgIHZhbHVlLmlkV2lkZ2V0QXR0cmlidXRlVmFsdWUgPSB0aGlzLmRhc2hib2FyZFNlcnZpY2UuZ2V0SWROZXcoKTtcclxuICAgICAgICB2YWx1ZS5pZFdpZGdldEF0dHJpYnV0ZSA9IGF0dHJpYnV0ZS5pZFdpZGdldEF0dHJpYnV0ZTtcclxuXHJcbiAgICAgICAgaWYgKGF0dHJpYnV0ZS5kYXRhVHlwZSA9PT0gXCJpbnRlZ2VyXCIpIHtcclxuICAgICAgICAgIHZhbHVlLnZhbHVlSW50ZWdlciA9IHBhcnNlSW50KGF0dHJpYnV0ZS5kZWZhdWx0VmFsdWUpO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICB2YWx1ZS52YWx1ZVN0cmluZyA9IGF0dHJpYnV0ZS5kZWZhdWx0VmFsdWU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHZhbHVlcy5wdXNoKHZhbHVlKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHZhbHVlU2V0LmF0dHJpYnV0ZVZhbHVlcyA9IHZhbHVlcztcclxuICAgIHJldHVybiB2YWx1ZVNldDtcclxuICB9XHJcblxyXG4gIGFkZCgpIHtcclxuICAgIHRoaXMuZGFzaGJvYXJkU2VydmljZS5hZGRXaWRnZXQodGhpcy5zZWxlY3RlZFdpZGdldCwgdGhpcy53aWRnZXRJbnN0YW5jZSwgdGhpcy5kYXNoYm9hcmRJbmRleCwgdGhpcy5zdGVwKTtcclxuICAgIHRoaXMuY2xvc2UoKTtcclxuICB9XHJcblxyXG4gIGJhY2soKSB7XHJcbiAgICB0aGlzLmRhc2hib2FyZFNlcnZpY2Uuc2V0V2lkZ2V0UmVuZGVyZWQoZmFsc2UpO1xyXG4gICAgdGhpcy53aWRnZXRSZW5kZXJlZCA9IGZhbHNlO1xyXG4gICAgdGhpcy5zdGVwID0gMTtcclxuICB9XHJcblxyXG4gIGNsb3NlKCkge1xyXG4gICAgdGhpcy5kYXNoYm9hcmRTZXJ2aWNlLnNldFdpZGdldFJlbmRlcmVkKGZhbHNlKTtcclxuICAgIHRoaXMud2lkZ2V0UmVuZGVyZWQgPSBmYWxzZTtcclxuICAgIHRoaXMuc3RlcCA9IDA7XHJcbiAgICB0aGlzLm9wZW5TdGF0ZSA9IFwiaGlkZGVuXCI7XHJcbiAgfVxyXG5cclxuICBzZWFyY2hXaWRnZXRzKGZpbHRlcjogc3RyaW5nKSB7XHJcbiAgICB0aGlzLndpZGdldHMgPSB0aGlzLmRhc2hib2FyZFNlcnZpY2UuZ2V0V2lkZ2V0c0J5RmlsdGVyKGZpbHRlcik7XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
400
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2lkZ2V0LWFkZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9kYXNoYm9hcmQvc3JjL2NvbmZpZ3VyZS93aWRnZXQtYWRkLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUNILE9BQU8sRUFBQyxTQUFTLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUMxRCxPQUFPLEVBQUMsT0FBTyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBSS9FLE9BQU8sRUFBMEIsY0FBYyxFQUFFLG9CQUFvQixFQUFFLHVCQUF1QixFQUEyQixNQUFNLGdCQUFnQixDQUFDO0FBQ2hKLE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLCtCQUErQixDQUFDO0FBRS9ELE9BQU8sRUFBQyx3QkFBd0IsRUFBQyxNQUFNLDhCQUE4QixDQUFDOzs7O0FBRXRFOztHQUVHO0FBK1BILE1BQU0sT0FBTyxrQkFBa0I7SUF3QjdCLFlBQW9CLGdCQUFrQztRQUFsQyxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBckJ0RCxtQkFBYyxHQUFXLENBQUMsQ0FBQztRQUVwQixTQUFJLEdBQVcsQ0FBQyxDQUFDO1FBS2pCLGdCQUFXLEdBQVcsTUFBTSxDQUFDO1FBQzdCLGNBQVMsR0FBVyxRQUFRLENBQUM7UUFDN0IsbUJBQWMsR0FBWSxLQUFLLENBQUM7SUFZa0IsQ0FBQztJQUUxRCxRQUFRO1FBQ04sSUFBSSxDQUFDLGdCQUFnQixDQUFDLGdCQUFnQixDQUFDLFNBQVMsQ0FBQyxDQUFDLFNBQWtCLEVBQUUsRUFBRTtZQUN0RSxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDWixJQUFJLENBQUMsU0FBUyxHQUFHLFFBQVEsQ0FBQztRQUM1QixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxJ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QUMsR0FBRyxDQUFDLENBQUM7eUJBQzdDLENBQ0Y7d0JBQ0QsT0FBTyxDQUFDLFdBQVcsRUFDakI7NEJBQ0UsS0FBSyxDQUFDLElBQUksRUFBRSxLQUFLLENBQUM7Z0NBQ2hCLE9BQU8sRUFBRSxHQUFHOzZCQUNiLENBQUMsQ0FBQzs0QkFDSCxLQUFLLENBQUMsUUFBUSxFQUFFLEtBQUssQ0FBQztnQ0FDcEIsT0FBTyxFQUFFLEdBQUc7NkJBQ2IsQ0FBQyxDQUFDOzRCQUNILEtBQUssQ0FBQyxRQUFRLEVBQUUsS0FBSyxDQUFDO2dDQUNwQixPQUFPLEVBQUUsR0FBRzs2QkFDYixDQUFDLENBQUM7NEJBQ0gsVUFBVSxDQUFDLGtCQUFrQixFQUFFLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQzs0QkFDNUMsVUFBVSxDQUFDLGtCQUFrQixFQUFFLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQzt5QkFDN0MsQ0FDRjtxQkFDRjtxRkF1SEQsY0FBYztzQkFEYixLQUFLO2dCQW9CRSx3QkFBd0I7c0JBRC9CLFNBQVM7dUJBQUMsd0JBQXdCLEVBQUUsRUFBQyxNQUFNLEVBQUUsS0FBSyxFQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLypcclxuICogQ29weXJpZ2h0IChjKSAyMDE2IEh1bnRzbWFuIENhbmNlciBJbnN0aXR1dGUgYXQgdGhlIFVuaXZlcnNpdHkgb2YgVXRhaCwgQ29uZmlkZW50aWFsIGFuZCBQcm9wcmlldGFyeVxyXG4gKi9cclxuaW1wb3J0IHtDb21wb25lbnQsIElucHV0LCBWaWV3Q2hpbGR9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7YW5pbWF0ZSwgc3RhdGUsIHN0eWxlLCB0cmFuc2l0aW9uLCB0cmlnZ2VyfSBmcm9tIFwiQGFuZ3VsYXIvYW5pbWF0aW9uc1wiO1xyXG5cclxuaW1wb3J0IHtTdWJzY3JpcHRpb259IGZyb20gXCJyeGpzXCI7XHJcblxyXG5pbXBvcnQgeyBXaWRnZXQsIFdpZGdldENhdGVnb3J5LCBXaWRnZXRJbnN0YW5jZSwgV2lkZ2V0QXR0cmlidXRlVmFsdWUsIFdpZGdldEF0dHJpYnV0ZVZhbHVlU2V0LCBXaWRnZXRBdHRyaWJ1dGVDb250YWluZXJ9IGZyb20gXCIuLi9tb2RlbC9tb2RlbFwiO1xyXG5pbXBvcnQge0Rhc2hib2FyZFNlcnZpY2V9IGZyb20gXCIuLi9zZXJ2aWNlcy9kYXNoYm9hcmQuc2VydmljZVwiO1xyXG5pbXBvcnQge1dpZGdldENvbXBvbmVudH0gZnJvbSBcIi4uL3dpZGdldC93aWRnZXQuY29tcG9uZW50XCI7XHJcbmltcG9ydCB7V2lkZ2V0Q29uZmlndXJlQ29tcG9uZW50fSBmcm9tIFwiLi93aWRnZXQtY29uZmlndXJlLmNvbXBvbmVudFwiO1xyXG5cclxuLyoqXHJcbiAqIEBzaW5jZSAxLjAuMFxyXG4gKi9cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6IFwid2lkZ2V0LWFkZFwiLFxyXG4gIHRlbXBsYXRlOiBgXHJcbiAgICA8ZGl2IGNsYXNzPVwib3ZlcmxheVwiIFtAb3BlbkJhY2tzcGxhc2hdPVwib3BlblN0YXRlXCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJtb2RhbC1kaWFsb2dcIiBbQG9wZW5Nb2RhbF09XCJvcGVuU3RhdGVcIiByb2xlPVwiZG9jdW1lbnRcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwibW9kYWwtaGVhZGVyXCI+XHJcbiAgICAgICAgICA8aDQgY2xhc3M9XCJtb2RhbC10aXRsZVwiPkFkZCBXaWRnZXQ8L2g0PlxyXG4gICAgICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJjbG9zZVwiIGFyaWEtbGFiZWw9XCJDbG9zZVwiIChjbGljayk9XCJjbG9zZSgpXCI+XHJcbiAgICAgICAgICAgIDxzcGFuIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPiZ0aW1lczs8L3NwYW4+XHJcbiAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwibW9kYWwtYm9keVwiIFtzdHlsZS5kaXNwbGF5XT1cInN0ZXAgPT09IDEgPyAnYmxvY2snIDogJ25vbmUnXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtb2RhbC1ib2R5LWxlZnRcIj5cclxuICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgbmdGb3IgbGV0LXdpZGdldENhdGVnb3J5IFtuZ0Zvck9mXT1cIndpZGdldENhdGVnb3JpZXNcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ3aWRnZXQtY2F0ZWdvcnlcIlxyXG4gICAgICAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJ3aWRnZXRDYXRlZ29yeS5pZFdpZGdldENhdGVnb3J5ID09PSBzZWxlY3RlZFdpZGdldENhdGVnb3J5Py5pZFdpZGdldENhdGVnb3J5ID8gJ3NlbGVjdGVkJyA6ICcnXCJcclxuICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cInNlbGVjdFdpZGdldENhdGVnb3J5KHdpZGdldENhdGVnb3J5KVwiPlxyXG4gICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwid2lkZ2V0Q2F0ZWdvcnkuaWNvblwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJ3aWRnZXRDYXRlZ29yeS5pY29uLmluZGV4T2YoJy5zdmcnKSA+IDA7IGVsc2UgZmFJY29uXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8aW1nIFtzcmNdPVwid2lkZ2V0Q2F0ZWdvcnkuaWNvblwiIGNsYXNzPVwid2lkZ2V0LWNhdGVnb3J5LWljb25cIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjZmFJY29uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9XCJ7e3dpZGdldENhdGVnb3J5Lmljb259fSBmYS0yeCB3aWRnZXQtY2F0ZWdvcnktaWNvblwiPjwvaT5cclxuICAgICAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiF3aWRnZXRDYXRlZ29yeS5pY29uXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9XCJmYXMgZmEtcXVlc3Rpb24tY2lyY2xlIGZhLTJ4IHdpZGdldC1jYXRlZ29yeS1pY29uXCI+PC9pPlxyXG4gICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuXHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1vZGFsLWJvZHktcmlnaHRcIj5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaW5wdXQtZ3JvdXAgd2lkZ2V0LXNlYXJjaFwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImlucHV0LWdyb3VwLXByZXBlbmRcIj5cclxuICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJpbnB1dC1ncm91cC10ZXh0XCIgaWQ9XCJzZWFyY2hcIj48aSBjbGFzcz1cImZhcyBmYS1zZWFyY2ggZmEtbGdcIj48L2k+PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT1cInRleHRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICNzZWFyY2hXaWRnZXRcclxuICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImZvcm0tY29udHJvbFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCJcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgIGFyaWEtZGVzY3JpYmVkYnk9XCJzZWFyY2hcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgIChrZXl1cCk9XCJzZWFyY2hXaWRnZXRzKHNlYXJjaFdpZGdldC52YWx1ZSlcIiBhcmlhLWxhYmVsPVwiaGNpLW5nLXNlYXJjaC13aWRnZXQtYWRkXCI+XHJcbiAgICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPVwiYnRuXCIgc3R5bGU9XCJtYXJnaW4tbGVmdDogMTBweDtcIiAoY2xpY2spPVwic2V0RGlzcGxheU1vZGUoJ2xpc3QnKVwiPlxyXG4gICAgICAgICAgICAgICAgICA8aSBjbGFzcz1cImZhcyBmYS1saXN0XCI+PC9pPlxyXG4gICAgICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPVwiYnRuXCIgc3R5bGU9XCJtYXJnaW4tbGVmdDogMTBweDtcIiAoY2xpY2spPVwic2V0RGlzcGxheU1vZGUoJ2dyaWQnKVwiPlxyXG4gICAgICAgICAgICAgICAgICA8aSBjbGFzcz1cImZhcyBmYS10aFwiPjwvaT5cclxuICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJ3aWRnZXRzICYmIHdpZGdldHMubGVuZ3RoID4gMFwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdj5ObyB3aWRnZXRzIG1hdGNoZWQgdGhlIHNlYXJjaCBjcml0ZXJpYS48L2Rpdj5cclxuICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgbmdGb3IgbGV0LXdpZGdldCBbbmdGb3JPZl09XCJ3aWRnZXRzXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwid2lkZ2V0LWxhYmVsXCJcclxuICAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJkaXNwbGF5TW9kZSA9PT0gJ2xpc3QnXCJcclxuICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cInNlbGVjdFdpZGdldCh3aWRnZXQpXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ3aWRnZXQtaWNvbi1ob3N0XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIndpZGdldC5pY29uXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwid2lkZ2V0Lmljb24uaW5kZXhPZignLnN2ZycpID4gMDsgZWxzZSBmYUljb25cIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGltZyBbc3JjXT1cIndpZGdldC5pY29uXCIgY2xhc3M9XCJ3aWRnZXQtaWNvblwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjZmFJY29uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8aSBjbGFzcz1cInt7d2lkZ2V0Lmljb259fSBmYS0yeCB3aWRnZXQtaWNvblwiPjwvaT5cclxuICAgICAgICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiF3aWRnZXQuaWNvblwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9XCJmYXMgZmEtcXVlc3Rpb24tY2lyY2xlIGZhLTJ4IHdpZGdldC1pY29uXCI+PC9pPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIndpZGdldC1kZXNjcmlwdGlvbi1ob3N0XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIndpZGdldC10aXRsZVwiPnt7d2lkZ2V0LnRpdGxlfX08L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2Pnt7d2lkZ2V0LmRlc2NyaXB0aW9ufX08L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJncmlkIHdpZGdldC1sYWJlbFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiZGlzcGxheU1vZGUgPT09ICdncmlkJ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJzZWxlY3RXaWRnZXQod2lkZ2V0KVwiPlxyXG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZ3JpZCB3aWRnZXQtaWNvbi1ob3N0XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIndpZGdldC5pY29uXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwid2lkZ2V0Lmljb24uaW5kZXhPZignLnN2ZycpID4gMDsgZWxzZSBmYUljb25cIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGltZyBbc3JjXT1cIndpZGdldC5pY29uXCIgY2xhc3M9XCJ3aWRnZXQtaWNvblwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjZmFJY29uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8aSBjbGFzcz1cInt7d2lkZ2V0Lmljb259fSBmYS0yeCB3aWRnZXQtaWNvblwiPjwvaT5cclxuICAgICAgICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiF3aWRnZXQuaWNvblwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9XCJmYXMgZmEtcXVlc3Rpb24tY2lyY2xlIGZhLTJ4IHdpZGdldC1pY29uXCI+PC9pPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImdyaWQgd2lkZ2V0LWRlc2NyaXB0aW9uLWhvc3RcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZ3JpZCB3aWRnZXQtdGl0bGVcIj57e3dpZGdldC50aXRsZX19PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cIm1vZGFsLWZvb3RlclwiPlxyXG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInN0ZXAgPT09IDFcIj5cclxuICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJidG4gYnRuLXNlY29uZGFyeVwiIChjbGljayk9XCJjbG9zZSgpXCI+Q2FuY2VsPC9idXR0b24+XHJcbiAgICAgICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwiYnRuIGJ0bi1zZWNvbmRhcnlcIiAoY2xpY2spPVwiYWRkKClcIj5BZGQ8L2J1dHRvbj5cclxuICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gIGAsXHJcbiAgYW5pbWF0aW9uczogW1xyXG4gICAgdHJpZ2dlcihcIm9wZW5CYWNrc3BsYXNoXCIsXHJcbiAgICAgIFtcclxuICAgICAgICBzdGF0ZShcImluXCIsIHN0eWxlKHtcclxuICAgICAgICAgIGRpc3BsYXk6IFwibm9uZVwiXHJcbiAgICAgICAgfSkpLFxyXG4gICAgICAgIHN0YXRlKFwiaGlkZGVuXCIsIHN0eWxlKHtcclxuICAgICAgICAgIGRpc3BsYXk6IFwibm9uZVwiXHJcbiAgICAgICAgfSkpLFxyXG4gICAgICAgIHN0YXRlKFwib3BlbmVkXCIsIHN0eWxlKHtcclxuICAgICAgICAgIGRpc3BsYXk6IFwiZmxleFwiXHJcbiAgICAgICAgfSkpLFxyXG4gICAgICAgIHRyYW5zaXRpb24oXCJoaWRkZW4gPT4gb3BlbmVkXCIsIGFuaW1hdGUoMCkpLFxyXG4gICAgICAgIHRyYW5zaXRpb24oXCJvcGVuZWQgPT4gaGlkZGVuXCIsIGFuaW1hdGUoMjAwKSlcclxuICAgICAgXVxyXG4gICAgKSxcclxuICAgIHRyaWdnZXIoXCJvcGVuTW9kYWxcIixcclxuICAgICAgW1xyXG4gICAgICAgIHN0YXRlKFwiaW5cIiwgc3R5bGUoe1xyXG4gICAgICAgICAgb3BhY2l0eTogXCIwXCJcclxuICAgICAgICB9KSksXHJcbiAgICAgICAgc3RhdGUoXCJoaWRkZW5cIiwgc3R5bGUoe1xyXG4gICAgICAgICAgb3BhY2l0eTogXCIwXCJcclxuICAgICAgICB9KSksXHJcbiAgICAgICAgc3RhdGUoXCJvcGVuZWRcIiwgc3R5bGUoe1xyXG4gICAgICAgICAgb3BhY2l0eTogXCIxXCJcclxuICAgICAgICB9KSksXHJcbiAgICAgICAgdHJhbnNpdGlvbihcImhpZGRlbiA9PiBvcGVuZWRcIiwgYW5pbWF0ZSg1MDApKSxcclxuICAgICAgICB0cmFuc2l0aW9uKFwib3BlbmVkID0+IGhpZGRlblwiLCBhbmltYXRlKDIwMCkpXHJcbiAgICAgIF1cclxuICAgIClcclxuICBdLFxyXG4gIHN0eWxlczogW2BcclxuXHJcbiAgICAub3ZlcmxheSB7XHJcbiAgICAgIHBvc2l0aW9uOiBmaXhlZDtcclxuICAgICAgei1pbmRleDogOTk5OTtcclxuICAgICAgdG9wOiAwO1xyXG4gICAgICBib3R0b206IDA7XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC40KTtcclxuICAgICAgd2lkdGg6IDEwMHZ3O1xyXG4gICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgfVxyXG5cclxuICAgIC5tb2RhbC1kaWFsb2cge1xyXG4gICAgICBtYXgtd2lkdGg6IDc1dnc7XHJcbiAgICAgIG1pbi13aWR0aDogNzV2dztcclxuICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XHJcbiAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcclxuICAgICAgbWFyZ2luLXRvcDogYXV0bztcclxuICAgICAgbWFyZ2luLWJvdHRvbTogYXV0bztcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XHJcbiAgICAgIGJvcmRlcjogYmxhY2sgMXB4IHNvbGlkO1xyXG4gICAgICBib3JkZXItbGVmdDogbm9uZTtcclxuICAgICAgcG9pbnRlci1ldmVudHM6IGFsbDtcclxuICAgIH1cclxuXHJcbiAgICAubW9kYWwtYm9keSB7XHJcbiAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcclxuICAgIH1cclxuXHJcbiAgICAubW9kYWwtYm9keS1sZWZ0IHtcclxuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICBvdmVyZmxvdy15OiBhdXRvO1xyXG4gICAgICBvdmVyZmxvdy14OiBoaWRkZW47XHJcbiAgICAgIG1pbi1oZWlnaHQ6IDMwMHB4O1xyXG4gICAgICBtYXgtaGVpZ2h0OiAzMDBweDtcclxuICAgIH1cclxuXHJcbiAgICAubW9kYWwtYm9keS1yaWdodCB7XHJcbiAgICAgIHdpZHRoOiA3MCU7XHJcbiAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XHJcbiAgICAgIHBhZGRpbmctbGVmdDogMTVweDtcclxuICAgICAgYm9yZGVyLWxlZnQ6IGJsYWNrIDFweCBzb2xpZDtcclxuICAgICAgbWFyZ2luLWxlZnQ6IDE1cHg7XHJcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgb3ZlcmZsb3cteTogYXV0bztcclxuICAgICAgbWluLWhlaWdodDogMzAwcHg7XHJcbiAgICAgIG1heC1oZWlnaHQ6IDMwMHB4O1xyXG4gICAgfVxyXG5cclxuICAgIC53aWRnZXQtY2F0ZWdvcnkge1xyXG4gICAgICBtYXJnaW46IDEwcHg7XHJcbiAgICAgIGJvcmRlci1yYWRpdXM6IDIwcHg7XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNlZWVlZWU7XHJcbiAgICB9XHJcblxyXG4gICAgLndpZGdldC1jYXRlZ29yeS5zZWxlY3RlZCB7XHJcbiAgICAgIGJvcmRlcjogcmVkIDJweCBzb2xpZDtcclxuICAgIH1cclxuXHJcbiAgICAud2lkZ2V0LWNhdGVnb3J5LWljb24ge1xyXG4gICAgICB3aWR0aDogODBweDtcclxuICAgICAgaGVpZ2h0OiA4MHB4O1xyXG4gICAgICBwYWRkaW5nOiA1cHg7XHJcbiAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xyXG4gICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XHJcbiAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICB9XHJcblxyXG4gICAgLndpZGdldC1zZWFyY2gge1xyXG4gICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xyXG4gICAgfVxyXG5cclxuICAgIC53aWRnZXQtbGFiZWwge1xyXG4gICAgICBwYWRkaW5nOiAxMHB4O1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWVlZWVlO1xyXG4gICAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xyXG4gICAgICBtYXJnaW4tYm90dG9tOiA1cHg7XHJcbiAgICB9XHJcblxyXG4gICAgLndpZGdldC1sYWJlbC5ncmlkIHtcclxuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICB3aWR0aDogMTUwcHg7XHJcbiAgICAgIG92ZXJmbG93LXk6IGhpZGRlbjtcclxuICAgICAgb3ZlcmZsb3cteDogaGlkZGVuO1xyXG4gICAgICBtYXgtaGVpZ2h0OiAxMDBweDtcclxuICAgICAgbWluLWhlaWdodDogMTAwcHg7XHJcbiAgICAgIG1hcmdpbjogNXB4O1xyXG4gICAgfVxyXG5cclxuICAgIC53aWRnZXQtaWNvbi1ob3N0IHtcclxuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICB3aWR0aDogNTBweDtcclxuICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcclxuICAgIH1cclxuXHJcbiAgICAud2lkZ2V0LWljb24ge1xyXG4gICAgICB3aWR0aDogNTBweDtcclxuICAgICAgaGVpZ2h0OiA1MHB4O1xyXG4gICAgICBtYXJnaW4tbGVmdDogYXV0bztcclxuICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xyXG4gICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgfVxyXG5cclxuICAgIC53aWRnZXQtdGl0bGUge1xyXG4gICAgICBmb250LXdlaWdodDogYm9sZDtcclxuICAgIH1cclxuXHJcbiAgICAud2lkZ2V0LWRlc2NyaXB0aW9uLWhvc3Qge1xyXG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSA1NXB4KTtcclxuICAgIH1cclxuXHJcbiAgYF1cclxufSlcclxuZXhwb3J0IGNsYXNzIFdpZGdldEFkZENvbXBvbmVudCB7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgZGFzaGJvYXJkSW5kZXg6IG51bWJlciA9IDA7XHJcblxyXG4gIHB1YmxpYyBzdGVwOiBudW1iZXIgPSAwO1xyXG5cclxuICBwdWJsaWMgd2lkZ2V0czogV2lkZ2V0W107XHJcbiAgcHVibGljIHdpZGdldENhdGVnb3JpZXM6IFdpZGdldENhdGVnb3J5W107XHJcblxyXG4gIHB1YmxpYyBkaXNwbGF5TW9kZTogc3RyaW5nID0gXCJsaXN0XCI7XHJcbiAgcHVibGljIG9wZW5TdGF0ZTogc3RyaW5nID0gXCJoaWRkZW5cIjtcclxuICBwdWJsaWMgd2lkZ2V0UmVuZGVyZWQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgcHVibGljIHNlbGVjdGVkV2lkZ2V0OiBXaWRnZXQ7XHJcbiAgcHVibGljIHNlbGVjdGVkV2lkZ2V0Q2F0ZWdvcnk6IFdpZGdldENhdGVnb3J5O1xyXG5cclxuICBwcml2YXRlIHdpZGdldEluc3RhbmNlOiBXaWRnZXRJbnN0YW5jZTtcclxuXHJcbiAgcHJpdmF0ZSB3aWRnZXRSZW5kZXJlZFN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uO1xyXG5cclxuICBAVmlld0NoaWxkKFdpZGdldENvbmZpZ3VyZUNvbXBvbmVudCwge3N0YXRpYzogZmFsc2V9KVxyXG4gIHByaXZhdGUgd2lkZ2V0Q29uZmlndXJlQ29tcG9uZW50OiBXaWRnZXRDb25maWd1cmVDb21wb25lbnQ7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZGFzaGJvYXJkU2VydmljZTogRGFzaGJvYXJkU2VydmljZSkge31cclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICB0aGlzLmRhc2hib2FyZFNlcnZpY2UuYWRkV2lkZ2V0U3ViamVjdC5zdWJzY3JpYmUoKGFkZFdpZGdldDogYm9vbGVhbikgPT4ge1xyXG4gICAgICB0aGlzLmluaXQoKTtcclxuICAgICAgdGhpcy5vcGVuU3RhdGUgPSBcIm9wZW5lZFwiO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBpbml0KCkge1xyXG4gICAgdGhpcy53aWRnZXRSZW5kZXJlZFN1YnNjcmlwdGlvbiA9IHRoaXMuZGFzaGJvYXJkU2VydmljZS5nZXRXaWRnZXRSZW5kZXJlZCgpLnN1YnNjcmliZSgod2lkZ2V0UmVuZGVyZWQ6IGJvb2xlYW4pID0+IHtcclxuICAgICAgaWYgKHdpZGdldFJlbmRlcmVkICYmIHRoaXMuc3RlcCA9PT0gMikge1xyXG4gICAgICAgIHRoaXMud2lkZ2V0UmVuZGVyZWQgPSB0cnVlO1xyXG4gICAgICB9XHJcbiAgICAgIHRoaXMud2lkZ2V0UmVuZGVyZWRTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcclxuICAgIH0pO1xyXG5cclxuICAgIHRoaXMud2lkZ2V0cyA9IHRoaXMuZGFzaGJvYXJkU2VydmljZS5nZXRXaWRnZXRzQnlGaWx0ZXIodW5kZWZpbmVkKTtcclxuICAgIHRoaXMud2lkZ2V0Q2F0ZWdvcmllcyA9IHRoaXMuZGFzaGJvYXJkU2VydmljZS5nZXRXaWRnZXRDYXRlZ29yaWVzKCk7XHJcbiAgICB0aGlzLnN0ZXAgPSAxO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogUmUtZmlsdGVyIHRoZSB3aWRnZXQgbGlzdCBiYXNlZCB1cG9uIGEgY2hhbmdlIGluIHdpZGdldCBjYXRlZ29yeS5cclxuICAgKlxyXG4gICAqIEBwYXJhbSB7V2lkZ2V0Q2F0ZWdvcnl9IHdpZGdldENhdGVnb3J5XHJcbiAgICovXHJcbiAgc2VsZWN0V2lkZ2V0Q2F0ZWdvcnkoc2VsZWN0ZWRXaWRnZXRDYXRlZ29yeTogV2lkZ2V0Q2F0ZWdvcnkpIHtcclxuICAgIHRoaXMud2lkZ2V0cyA9IHRoaXMuZGFzaGJvYXJkU2VydmljZS5nZXRXaWRnZXRzQnlGaWx0ZXIodW5kZWZpbmVkKTtcclxuICAgIGlmICh0aGlzLnNlbGVjdGVkV2lkZ2V0Q2F0ZWdvcnkgJiYgdGhpcy5zZWxlY3RlZFdpZGdldENhdGVnb3J5LmlkV2lkZ2V0Q2F0ZWdvcnkgPT09IHNlbGVjdGVkV2lkZ2V0Q2F0ZWdvcnkuaWRXaWRnZXRDYXRlZ29yeSkge1xyXG4gICAgICB0aGlzLnNlbGVjdGVkV2lkZ2V0Q2F0ZWdvcnkgPSB1bmRlZmluZWQ7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLnNlbGVjdGVkV2lkZ2V0Q2F0ZWdvcnkgPSBzZWxlY3RlZFdpZGdldENhdGVnb3J5O1xyXG4gICAgICB0aGlzLndpZGdldHMgPSB0aGlzLndpZGdldHMuZmlsdGVyKCh3aWRnZXQ6IFdpZGdldCkgPT4ge1xyXG4gICAgICAgIGlmICh3aWRnZXQud2lkZ2V0Q2F0ZWdvcmllcyAmJiB3aWRnZXQud2lkZ2V0Q2F0ZWdvcmllcy5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgICByZXR1cm4gd2lkZ2V0LndpZGdldENhdGVnb3JpZXMuZmlsdGVyKCh3aWRnZXRDYXRlZ29yeTogV2lkZ2V0Q2F0ZWdvcnkpID0+IHtcclxuICAgICAgICAgICAgcmV0dXJuIHdpZGdldENhdGVnb3J5LmlkV2lkZ2V0Q2F0ZWdvcnkgPT09IHNlbGVjdGVkV2lkZ2V0Q2F0ZWdvcnkuaWRXaWRnZXRDYXRlZ29yeTtcclxuICAgICAgICAgIH0pLmxlbmd0aCA+IDA7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogV2hlbiB0aGUgd2lkZ2V0IGlzIHNlbGVjdGVkIHRoZXJlIGFyZSB0d28gb3B0aW9ucy4gIElmIHRoZXJlIGFyZSBubyBhdHRyaWJ1dGVzIHRvIGJlIHNldCBieSB0aGUgdXNlciwgdGhlbiBhZGQgdGhlXHJcbiAgICogd2lkZ2V0LiAgSWYgdGhlcmUgYXJlIGluc3RhbmNlIGF0dHJpYnV0ZXMgdGhhdCBtdXN0IGJlIHNldCwgdGhlbiBzd2l0Y2ggdG8gYSB3aWRnZXQgY29uZmlndXJhdGlvbiBzY3JlZW4uXHJcbiAgICpcclxuICAgKiBAcGFyYW0gd2lkZ2V0XHJcbiAgICovXHJcbiAgc2VsZWN0V2lkZ2V0KHdpZGdldDogV2lkZ2V0KSB7XHJcbiAgICB0aGlzLndpZGdldEluc3RhbmNlID0gbmV3IFdpZGdldEluc3RhbmNlKCk7XHJcbiAgICB0aGlzLndpZGdldEluc3RhbmNlLmlkV2lkZ2V0SW5zdGFuY2UgPSB0aGlzLmRhc2hib2FyZFNlcnZpY2UuZ2V0SWROZXcoKTtcclxuICAgIHRoaXMud2lkZ2V0SW5zdGFuY2Uud2lkZ2V0ID0gd2lkZ2V0O1xyXG4gICAgdGhpcy53aWRnZXRJbnN0YW5jZS5hdHRyaWJ1dGVWYWx1ZVNldCA9IHRoaXMuZ2V0RGVmYXVsdFdpZGdldEF0dHJpYnV0ZVZhbHVlcyh0aGlzLndpZGdldEluc3RhbmNlLmlkV2lkZ2V0SW5zdGFuY2UsIHdpZGdldC5hdHRyaWJ1dGVDb250YWluZXJzKTtcclxuICAgIHRoaXMuYWRkKCk7XHJcbiAgfVxyXG5cclxuICBzZXREaXNwbGF5TW9kZShkaXNwbGF5TW9kZTogc3RyaW5nKSB7XHJcbiAgICB0aGlzLmRpc3BsYXlNb2RlID0gZGlzcGxheU1vZGU7XHJcbiAgfVxyXG5cclxuICBnZXREZWZhdWx0V2lkZ2V0QXR0cmlidXRlVmFsdWVzKGlkV2lkZ2V0SW5zdGFuY2U6IG51bWJlciwgYXR0cmlidXRlQ29udGFpbmVyczogV2lkZ2V0QXR0cmlidXRlQ29udGFpbmVyW10pOiBXaWRnZXRBdHRyaWJ1dGVWYWx1ZVNldCB7XHJcbiAgICBsZXQgdmFsdWVTZXQ6IFdpZGdldEF0dHJpYnV0ZVZhbHVlU2V0ID0gbmV3IFdpZGdldEF0dHJpYnV0ZVZhbHVlU2V0KCk7XHJcbiAgICB2YWx1ZVNldC5pZFdpZGdldEF0dHJpYnV0ZVZhbHVlU2V0ID0gdGhpcy5kYXNoYm9hcmRTZXJ2aWNlLmdldElkTmV3KCk7XHJcbiAgICBsZXQgdmFsdWVzOiBXaWRnZXRBdHRyaWJ1dGVWYWx1ZVtdID0gW107XHJcblxyXG4gICAgZm9yIChsZXQgY29udGFpbmVyIG9mIGF0dHJpYnV0ZUNvbnRhaW5lcnMpIHtcclxuICAgICAgZm9yIChsZXQgYXR0cmlidXRlIG9mIGNvbnRhaW5lci5hdHRyaWJ1dGVzKSB7XHJcbiAgICAgICAgaWYgKCFhdHRyaWJ1dGUudXNlckVkaXRhYmxlKSB7XHJcbiAgICAgICAgICBjb250aW51ZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKGF0dHJpYnV0ZS5tdWx0aVZhbHVlKSB7XHJcbiAgICAgICAgICBjb250aW51ZTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGxldCB2YWx1ZSA9IG5ldyBXaWRnZXRBdHRyaWJ1dGVWYWx1ZSgpO1xyXG4gICAgICAgIHZhbHVlLmlkV2lkZ2V0QXR0cmlidXRlVmFsdWUgPSB0aGlzLmRhc2hib2FyZFNlcnZpY2UuZ2V0SWROZXcoKTtcclxuICAgICAgICB2YWx1ZS5pZFdpZGdldEF0dHJpYnV0ZSA9IGF0dHJpYnV0ZS5pZFdpZGdldEF0dHJpYnV0ZTtcclxuXHJcbiAgICAgICAgaWYgKGF0dHJpYnV0ZS5kYXRhVHlwZSA9PT0gXCJpbnRlZ2VyXCIpIHtcclxuICAgICAgICAgIHZhbHVlLnZhbHVlSW50ZWdlciA9IHBhcnNlSW50KGF0dHJpYnV0ZS5kZWZhdWx0VmFsdWUpO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICB2YWx1ZS52YWx1ZVN0cmluZyA9IGF0dHJpYnV0ZS5kZWZhdWx0VmFsdWU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHZhbHVlcy5wdXNoKHZhbHVlKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHZhbHVlU2V0LmF0dHJpYnV0ZVZhbHVlcyA9IHZhbHVlcztcclxuICAgIHJldHVybiB2YWx1ZVNldDtcclxuICB9XHJcblxyXG4gIGFkZCgpIHtcclxuICAgIHRoaXMuZGFzaGJvYXJkU2VydmljZS5hZGRXaWRnZXQodGhpcy5zZWxlY3RlZFdpZGdldCwgdGhpcy53aWRnZXRJbnN0YW5jZSwgdGhpcy5kYXNoYm9hcmRJbmRleCwgdGhpcy5zdGVwKTtcclxuICAgIHRoaXMuY2xvc2UoKTtcclxuICB9XHJcblxyXG4gIGJhY2soKSB7XHJcbiAgICB0aGlzLmRhc2hib2FyZFNlcnZpY2Uuc2V0V2lkZ2V0UmVuZGVyZWQoZmFsc2UpO1xyXG4gICAgdGhpcy53aWRnZXRSZW5kZXJlZCA9IGZhbHNlO1xyXG4gICAgdGhpcy5zdGVwID0gMTtcclxuICB9XHJcblxyXG4gIGNsb3NlKCkge1xyXG4gICAgdGhpcy5kYXNoYm9hcmRTZXJ2aWNlLnNldFdpZGdldFJlbmRlcmVkKGZhbHNlKTtcclxuICAgIHRoaXMud2lkZ2V0UmVuZGVyZWQgPSBmYWxzZTtcclxuICAgIHRoaXMuc3RlcCA9IDA7XHJcbiAgICB0aGlzLm9wZW5TdGF0ZSA9IFwiaGlkZGVuXCI7XHJcbiAgfVxyXG5cclxuICBzZWFyY2hXaWRnZXRzKGZpbHRlcjogc3RyaW5nKSB7XHJcbiAgICB0aGlzLndpZGdldHMgPSB0aGlzLmRhc2hib2FyZFNlcnZpY2UuZ2V0V2lkZ2V0c0J5RmlsdGVyKGZpbHRlcik7XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -224,4 +224,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImpor
|
|
|
224
224
|
type: HostBinding,
|
|
225
225
|
args: ["class"]
|
|
226
226
|
}] } });
|
|
227
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2lkZ2V0LWNvbmZpZ3VyZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9kYXNoYm9hcmQvc3JjL2NvbmZpZ3VyZS93aWRnZXQtY29uZmlndXJlLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUNILE9BQU8sRUFBQyxTQUFTLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUloRSxPQUFPLEVBQTRELE1BQU0sRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQ2pHLE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLCtCQUErQixDQUFDOzs7Ozs7O0FBRy9EOztHQUVHO0FBK0RILE1BQU0sT0FBTyx3QkFBd0I7SUFlbkMsWUFBb0IsZ0JBQWtDO1FBQWxDLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFiaEMsY0FBUyxHQUFXLGVBQWUsQ0FBQztRQUluRCx3QkFBbUIsR0FBK0IsRUFBRSxDQUFDO0lBU0gsQ0FBQztJQUUxRCxRQUFRO1FBQ04sSUFBSSxDQUFDLGdCQUFnQixDQUFDLGtDQUFrQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLGNBQThCLEVBQUUsRUFBRTtZQUNwRyxJQUFJLFNBQVMsRUFBRSxFQUFFLENBQUM7Z0JBQ2hCLE9BQU8sQ0FBQyxLQUFLLENBQUMsd0VBQXdFLENBQUMsQ0FBQztnQkFDeEYsT0FBTyxDQUFDLEtBQUssQ0FBQyxjQUFjLENBQUMsQ0FBQztZQUNoQyxDQUFDO1lBRUQsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO2dCQUNwQixJQUFJLENBQUMsY0FBYyxHQUFHLFNBQVMsQ0FBQztnQkFDaEMsSUFBSSxDQUFDLGVBQWUsR0FBRyxTQUFTLENBQUM7Z0JBQ2pDLElBQUksQ0FBQywwQkFBMEIsR0FBRyxTQUFTLENBQUM7Z0JBQzVDLElBQUksQ0FBQyxTQUFTLEdBQUcsU0FBUyxDQUFDO2dCQUU3QixJQUFJLENB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aWdodCAoYykgMjAxNiBIdW50c21hbiBDYW5jZXIgSW5zdGl0dXRlIGF0IHRoZSBVbml2ZXJzaXR5IG9mIFV0YWgsIENvbmZpZGVudGlhbCBhbmQgUHJvcHJpZXRhcnlcclxuICovXHJcbmltcG9ydCB7Q29tcG9uZW50LCBIb3N0QmluZGluZywgaXNEZXZNb2RlfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5cclxuaW1wb3J0IHtTdWJzY3JpcHRpb259IGZyb20gXCJyeGpzXCI7XHJcblxyXG5pbXBvcnQge1dpZGdldEF0dHJpYnV0ZSwgV2lkZ2V0QXR0cmlidXRlQ29udGFpbmVyLCBXaWRnZXRJbnN0YW5jZSwgV2lkZ2V0fSBmcm9tIFwiLi4vbW9kZWwvbW9kZWxcIjtcclxuaW1wb3J0IHtEYXNoYm9hcmRTZXJ2aWNlfSBmcm9tIFwiLi4vc2VydmljZXMvZGFzaGJvYXJkLnNlcnZpY2VcIjtcclxuaW1wb3J0IHtXaWRnZXRDb21wb25lbnR9IGZyb20gXCIuLi93aWRnZXQvd2lkZ2V0LmNvbXBvbmVudFwiO1xyXG5cclxuLyoqXHJcbiAqIEBzaW5jZSAxLjAuMFxyXG4gKi9cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6IFwid2lkZ2V0LWNvbmZpZ3VyZVwiLFxyXG4gIHRlbXBsYXRlOiBgXHJcbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwid2lkZ2V0SW5zdGFuY2UgJiYgc2VsZWN0ZWRBdHRyaWJ1dGVDb250YWluZXJcIj5cclxuICAgICAgPGRpdiBjbGFzcz1cImF0dHJpYnV0ZS1jb250YWluZXItaGVhZGVyLXBhcmVudFwiPlxyXG4gICAgICAgIDxuZy10ZW1wbGF0ZSBuZ0ZvciBsZXQtYXR0cmlidXRlQ29udGFpbmVyIGxldC1pPVwiaW5kZXhcIiBbbmdGb3JPZl09XCJhdHRyaWJ1dGVDb250YWluZXJzIHwgaGFzRWRpdGFibGVBdHRyaWJ1dGVzXCI+XHJcbiAgICAgICAgICA8ZGl2IChjbGljayk9XCJzZWxlY3RlZEF0dHJpYnV0ZUNvbnRhaW5lciA9IGF0dHJpYnV0ZUNvbnRhaW5lcjsgaVNlbGVjdGVkID0gaTtcIlxyXG4gICAgICAgICAgICAgICBjbGFzcz1cImF0dHJpYnV0ZS1jb250YWluZXItaGVhZGVyXCJcclxuICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwic2VsZWN0ZWRBdHRyaWJ1dGVDb250YWluZXIubmFtZSA9PT0gYXR0cmlidXRlQ29udGFpbmVyLm5hbWUgPyAnc2VsZWN0ZWQnIDogJydcIlxyXG4gICAgICAgICAgICAgICBbbmdiVG9vbHRpcF09XCJhdHRyaWJ1dGVDb250YWluZXIubmFtZVwiPlxyXG4gICAgICAgICAgICA8c3BhbiAqbmdJZj1cInNlbGVjdGVkQXR0cmlidXRlQ29udGFpbmVyLm5hbWUgPT09IGF0dHJpYnV0ZUNvbnRhaW5lci5uYW1lXCI+e3tzZWxlY3RlZEF0dHJpYnV0ZUNvbnRhaW5lci5uYW1lfX08L3NwYW4+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICA8L2Rpdj5cclxuICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBmbGV4LWNvbHVtbiBmbGV4LWdyb3ctMSBhdHRyaWJ1dGUtY29udGFpbmVyXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBmbGV4LWNvbHVtbiBmbGV4LWdyb3ctMSB5LWF1dG9cIj5cclxuICAgICAgICAgIDxuZy10ZW1wbGF0ZSBuZ0ZvciBsZXQtYXR0cmlidXRlIFtuZ0Zvck9mXT1cInNlbGVjdGVkQXR0cmlidXRlQ29udGFpbmVyLmF0dHJpYnV0ZXNcIj5cclxuICAgICAgICAgICAgPHdpZGdldC1hdHRyaWJ1dGUgW2F0dHJpYnV0ZV09XCJhdHRyaWJ1dGVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbaWRXaWRnZXRBdHRyaWJ1dGVWYWx1ZVNldF09XCJ3aWRnZXRJbnN0YW5jZS5hdHRyaWJ1dGVWYWx1ZVNldC5pZFdpZGdldEF0dHJpYnV0ZVZhbHVlU2V0XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3dpZGdldENvbXBvbmVudF09XCJ3aWRnZXRDb21wb25lbnRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj1cImF0dHJpYnV0ZS51c2VyRWRpdGFibGVcIj48L3dpZGdldC1hdHRyaWJ1dGU+XHJcbiAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuICAgICAgPGRpdiAqbmdJZj1cImF0dHJpYnV0ZUNvbnRhaW5lcnMubGVuZ3RoID09PSAwXCI+XHJcbiAgICAgICAgVGhlcmUgYXJlIG5vIGNvbmZpZ3VyYXRpb24gb3B0aW9ucyBmb3IgdGhpcyB3aWRnZXQuXHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9uZy1jb250YWluZXI+XHJcbiAgYCxcclxuICBzdHlsZXM6IFtgXHJcblxyXG4gICAgLmF0dHJpYnV0ZS1jb250YWluZXItaGVhZGVyLXBhcmVudCB7XHJcbiAgICAgIGJvcmRlci1ib3R0b206IGJsYWNrIDJweCBzb2xpZDtcclxuICAgICAgcGFkZGluZy1ib3R0b206IDVweDtcclxuICAgICAgbWFyZ2luLWJvdHRvbTogNXB4O1xyXG4gICAgfVxyXG5cclxuICAgIC5hdHRyaWJ1dGUtY29udGFpbmVyLWhlYWRlciB7XHJcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgd2lkdGg6IDM1cHg7XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICM2NmFhZmY7XHJcbiAgICAgIGJvcmRlcjogYmxhY2sgMXB4IHNvbGlkO1xyXG4gICAgICBib3JkZXItcmFkaXVzOiAyMHB4O1xyXG4gICAgICBwYWRkaW5nOiA0cHg7XHJcbiAgICAgIGZvbnQtc2l6ZTogbGFyZ2U7XHJcbiAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgIG1pbi1oZWlnaHQ6IDM1cHg7XHJcbiAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XHJcbiAgICB9XHJcblxyXG4gICAgLmF0dHJpYnV0ZS1jb250YWluZXItaGVhZGVyLnNlbGVjdGVkIHtcclxuICAgICAgd2lkdGg6IDQ1JTtcclxuICAgIH1cclxuXHJcbiAgICAuYXR0cmlidXRlLWNvbnRhaW5lciB7XHJcbiAgICAgIG92ZXJmbG93LXk6IGF1dG87XHJcbiAgICAgIG92ZXJmbG93LXg6IGhpZGRlbjtcclxuICAgIH1cclxuXHJcbiAgYF1cclxufSlcclxuZXhwb3J0IGNsYXNzIFdpZGdldENvbmZpZ3VyZUNvbXBvbmVudCB7XHJcblxyXG4gIEBIb3N0QmluZGluZyhcImNsYXNzXCIpIGNsYXNzTGlzdDogc3RyaW5nID0gXCJvdXRsZXQtY29sdW1uXCI7XHJcblxyXG4gIHB1YmxpYyBpU2VsZWN0ZWQ6IG51bWJlcjtcclxuICBwdWJsaWMgc2VsZWN0ZWRBdHRyaWJ1dGVDb250YWluZXI6IFdpZGdldEF0dHJpYnV0ZUNvbnRhaW5lcjtcclxuICBwdWJsaWMgYXR0cmlidXRlQ29udGFpbmVyczogV2lkZ2V0QXR0cmlidXRlQ29udGFpbmVyW10gPSBbXTtcclxuXHJcbiAgcHVibGljIHdpZGdldEluc3RhbmNlOiBXaWRnZXRJbnN0YW5jZTtcclxuICAgd2lkZ2V0Q29tcG9uZW50OiBXaWRnZXRDb21wb25lbnQ7XHJcbiAgIGF0dHJpYnV0ZUNvbnRhaW5lck1hcDogTWFwPHN0cmluZywgV2lkZ2V0QXR0cmlidXRlQ29udGFpbmVyPjtcclxuXHJcbiAgIHdpZGdldENvbXBvbmVudFN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uO1xyXG4gICBhdHRyaWJ1dGVDb250YWluZXJzU3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZGFzaGJvYXJkU2VydmljZTogRGFzaGJvYXJkU2VydmljZSkge31cclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICB0aGlzLmRhc2hib2FyZFNlcnZpY2UuY29uZmlndXJhdGlvbldpZGdldEluc3RhbmNlU3ViamVjdC5zdWJzY3JpYmUoKHdpZGdldEluc3RhbmNlOiBXaWRnZXRJbnN0YW5jZSkgPT4ge1xyXG4gICAgICBpZiAoaXNEZXZNb2RlKCkpIHtcclxuICAgICAgICBjb25zb2xlLmRlYnVnKFwiV2lkZ2V0Q29uZmlndXJlQ29tcG9uZW50LmNvbmZpZ3VyYXRpb25XaWRnZXRJbnN0YW5jZVN1YmplY3Quc3Vic2NyaWJlOlwiKTtcclxuICAgICAgICBjb25zb2xlLmRlYnVnKHdpZGdldEluc3RhbmNlKTtcclxuICAgICAgfVxyXG5cclxuICAgICAgaWYgKCF3aWRnZXRJbnN0YW5jZSkge1xyXG4gICAgICAgIHRoaXMud2lkZ2V0SW5zdGFuY2UgPSB1bmRlZmluZWQ7XHJcbiAgICAgICAgdGhpcy53aWRnZXRDb21wb25lbnQgPSB1bmRlZmluZWQ7XHJcbiAgICAgICAgdGhpcy5zZWxlY3RlZEF0dHJpYnV0ZUNvbnRhaW5lciA9IHVuZGVmaW5lZDtcclxuICAgICAgICB0aGlzLmlTZWxlY3RlZCA9IHVuZGVmaW5lZDtcclxuXHJcblx0XHQgICAgdGhpcy51bnN1YnNjcmliZSgpO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHRoaXMud2lkZ2V0SW5zdGFuY2UgPSB3aWRnZXRJbnN0YW5jZTtcclxuXHJcbiAgICAgICAgdGhpcy53aWRnZXRDb21wb25lbnRTdWJzY3JpcHRpb24gPSB0aGlzLmRhc2hib2FyZFNlcnZpY2UuZ2V0V2lkZ2V0Q29tcG9uZW50U3ViamVjdCh3aWRnZXRJbnN0YW5jZS5pZFdpZGdldEluc3RhbmNlKVxyXG4gICAgICAgICAgICAuc3Vic2NyaWJlKCh3aWRnZXRDb21wb25lbnQ6IFdpZGdldENvbXBvbmVudCkgPT4ge1xyXG4gICAgICAgICAgaWYgKGlzRGV2TW9kZSgpKSB7XHJcbiAgICAgICAgICAgIGNvbnNvbGUuZGVidWcoXCJXaWRnZXRDb25maWd1cmVDb21wb25lbnQuZ2V0V2lkZ2V0Q29tcG9uZW50U3ViamVjdC5zdWJzY3JpYmVcIik7XHJcbiAgICAgICAgICAgIGNvbnNvbGUuZGVidWcod2lkZ2V0Q29tcG9uZW50KTtcclxuICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICBpZiAodGhpcy5hdHRyaWJ1dGVDb250YWluZXJzU3Vic2NyaXB0aW9uKSB7XHJcbiAgICAgICAgICAgIHRoaXMuYXR0cmlidXRlQ29udGFpbmVyc1N1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xyXG4gICAgICAgICAgfVxyXG5cclxuICAgICAgICAgIHRoaXMud2lkZ2V0Q29tcG9uZW50ID0gd2lkZ2V0Q29tcG9uZW50O1xyXG4gICAgICAgICAgaWYgKHRoaXMud2lkZ2V0Q29tcG9uZW50KSB7XHJcblx0XHRcdCAgICAgIHRoaXMud2lkZ2V0Q29tcG9uZW50LmNvbmZpZyh1bmRlZmluZWQpO1xyXG5cclxuICAgICAgICAgICAgdGhpcy5hdHRyaWJ1dGVDb250YWluZXJzU3Vic2NyaXB0aW9uID0gdGhpcy53aWRnZXRDb21wb25lbnQuYXR0cmlidXRlQ29udGFpbmVycy5zdWJzY3JpYmUoKGF0dHJpYnV0ZUNvbnRhaW5lcnM6IE1hcDxzdHJpbmcsIFdpZGdldEF0dHJpYnV0ZUNvbnRhaW5lcj4pID0+IHtcclxuICAgICAgICAgICAgICBpZiAoaXNEZXZNb2RlKCkpIHtcclxuICAgICAgICAgICAgICAgIGNvbnNvbGUuZGVidWcoXCJXaWRnZXRDb25maWd1cmVDb21wb25lbnQuYXR0cmlidXRlQ29udGFpbmVyc1N1YnNjcmlwdGlvblwiKTtcclxuICAgICAgICAgICAgICAgIGNvbnNvbGUuZGVidWcoYXR0cmlidXRlQ29udGFpbmVycyk7XHJcbiAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICBpZiAoYXR0cmlidXRlQ29udGFpbmVycykge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5hdHRyaWJ1dGVDb250YWluZXJNYXAgPSBXaWRnZXQubWVyZ2UoYXR0cmlidXRlQ29udGFpbmVycywgdGhpcy5kYXNoYm9hcmRTZXJ2aWNlLmdldENvbW1vbkF0dHJpYnV0ZXMoKSk7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmdlbmVyYXRlQXR0cmlidXRlQ29udGFpbmVycygpO1xyXG4gICAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmF0dHJpYnV0ZUNvbnRhaW5lck1hcCA9IHRoaXMuZGFzaGJvYXJkU2VydmljZS5nZXRDb21tb25BdHRyaWJ1dGVzKCk7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmdlbmVyYXRlQXR0cmlidXRlQ29udGFpbmVycygpO1xyXG4gICAgICAgICAgICAgIH1cclxuXHRcdFx0ICAgICAgfSk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgbmdPbkRlc3Ryb3koKSB7XHJcbiAgICB0aGlzLnVuc3Vic2NyaWJlKCk7XHJcbiAgfVxyXG5cclxuICB1bnN1YnNjcmliZSgpIHtcclxuICAgIGlmICh0aGlzLndpZGdldENvbXBvbmVudFN1YnNjcmlwdGlvbikge1xyXG4gICAgICB0aGlzLndpZGdldENvbXBvbmVudFN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMuYXR0cmlidXRlQ29udGFpbmVyc1N1YnNjcmlwdGlvbikge1xyXG4gICAgICB0aGlzLmF0dHJpYnV0ZUNvbnRhaW5lcnNTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFRob3VnaCBhIG1hcCBpcyB1c2VkIHRvIG92ZXJyaWRlIGF0dHJpYnV0ZXMgZWFzaWx5LCB0cmFuc2ZlciBiYWNrIHRvIGFuIGFycmF5IGZvciBlYXN5IHNvcnRpbmcgYW5kIHRvIG1ha2VcclxuICAgKiB0aGUgbmdGb3IgaGFwcHkuXHJcbiAgICovXHJcbiAgZ2VuZXJhdGVBdHRyaWJ1dGVDb250YWluZXJzKCkge1xyXG4gICAgaWYgKGlzRGV2TW9kZSgpKSB7XHJcbiAgICAgIGNvbnNvbGUuZGVidWcoXCJXaWRnZXRDb25maWd1cmVDb21wb25lbnQuZ2VuZXJhdGVBdHRyaWJ1dGVDb250YWluZXJzOiBcIiArIHRoaXMuYXR0cmlidXRlQ29udGFpbmVyTWFwLnNpemUpO1xyXG4gICAgfVxyXG5cclxuICAgIGxldCB0ZW1wQ29udGFpbmVyczogV2lkZ2V0QXR0cmlidXRlQ29udGFpbmVyW10gPSBbXTtcclxuICAgIGZvciAobGV0IGF0dHJpYnV0ZUNvbnRhaW5lciBvZiB0aGlzLmF0dHJpYnV0ZUNvbnRhaW5lck1hcC52YWx1ZXMoKSkge1xyXG4gICAgICBpZiAoYXR0cmlidXRlQ29udGFpbmVyLmhpZGRlbikge1xyXG4gICAgICAgIGNvbnRpbnVlO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBhdHRyaWJ1dGVDb250YWluZXIuYXR0cmlidXRlcyA9IFtdO1xyXG4gICAgICBmb3IgKGxldCBhdHRyaWJ1dGUgb2YgYXR0cmlidXRlQ29udGFpbmVyLmF0dHJpYnV0ZU1hcC52YWx1ZXMoKSkge1xyXG4gICAgICAgIC8qaWYgKGF0dHJpYnV0ZS51c2VyRWRpdGFibGUpIHtcclxuICAgICAgICAgIGF0dHJpYnV0ZUNvbnRhaW5lci5hdHRyaWJ1dGVzLnB1c2goYXR0cmlidXRlKTtcclxuICAgICAgICB9Ki9cclxuICAgICAgICBhdHRyaWJ1dGVDb250YWluZXIuYXR0cmlidXRlcy5wdXNoKGF0dHJpYnV0ZSk7XHJcbiAgICAgIH1cclxuICAgICAgYXR0cmlidXRlQ29udGFpbmVyLmF0dHJpYnV0ZXMuc29ydCgoYTogV2lkZ2V0QXR0cmlidXRlLCBiOiBXaWRnZXRBdHRyaWJ1dGUpID0+IHtcclxuICAgICAgICBpZiAoYS5zb3J0T3JkZXIgPCBiLnNvcnRPcmRlcikge1xyXG4gICAgICAgICAgcmV0dXJuIC0xO1xyXG4gICAgICAgIH0gZWxzZSBpZiAoYS5zb3J0T3JkZXIgPiBiLnNvcnRPcmRlcikge1xyXG4gICAgICAgICAgcmV0dXJuIDE7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIHJldHVybiAwO1xyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcblxyXG4gICAgICB0ZW1wQ29udGFpbmVycy5wdXNoKGF0dHJpYnV0ZUNvbnRhaW5lcik7XHJcbiAgICB9XHJcblxyXG4gICAgdGVtcENvbnRhaW5lcnMuc29ydCgoYTogV2lkZ2V0QXR0cmlidXRlQ29udGFpbmVyLCBiOiBXaWRnZXRBdHRyaWJ1dGVDb250YWluZXIpID0+IHtcclxuICAgICAgaWYgKGEuc29ydE9yZGVyIDwgYi5zb3J0T3JkZXIpIHtcclxuICAgICAgICByZXR1cm4gLTE7XHJcbiAgICAgIH0gZWxzZSBpZiAoYS5zb3J0T3JkZXIgPiBiLnNvcnRPcmRlcikge1xyXG4gICAgICAgIHJldHVybiAxO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHJldHVybiAwO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuXHJcbiAgICBpZiAodGhpcy5hdHRyaWJ1dGVDb250YWluZXJzLmxlbmd0aCA9PT0gMCB8fCAhdGhpcy53YWNFcXVhbHModGVtcENvbnRhaW5lcnMsIHRoaXMuYXR0cmlidXRlQ29udGFpbmVycykpIHtcclxuICAgICAgdGhpcy5hdHRyaWJ1dGVDb250YWluZXJzID0gdGVtcENvbnRhaW5lcnM7XHJcblxyXG4gICAgICBpZiAodGhpcy5pU2VsZWN0ZWQgJiYgdGhpcy5pU2VsZWN0ZWQgPCB0aGlzLmF0dHJpYnV0ZUNvbnRhaW5lcnMubGVuZ3RoICYmIHRoaXMuc2VsZWN0ZWRBdHRyaWJ1dGVDb250YWluZXIubmFtZSA9PT0gdGhpcy5hdHRyaWJ1dGVDb250YWluZXJzW3RoaXMuaVNlbGVjdGVkXS5uYW1lKSB7XHJcbiAgICAgICAgdGhpcy5zZWxlY3RlZEF0dHJpYnV0ZUNvbnRhaW5lciA9IHRoaXMuYXR0cmlidXRlQ29udGFpbmVyc1t0aGlzLmlTZWxlY3RlZF07XHJcbiAgICAgIH0gZWxzZSBpZiAodGhpcy5hdHRyaWJ1dGVDb250YWluZXJzLmxlbmd0aCA+IDApIHtcclxuICAgICAgICB0aGlzLnNlbGVjdGVkQXR0cmlidXRlQ29udGFpbmVyID0gdGhpcy5hdHRyaWJ1dGVDb250YWluZXJzWzBdO1xyXG4gICAgICAgIHRoaXMuaVNlbGVjdGVkID0gMDtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB0aGlzLnNlbGVjdGVkQXR0cmlidXRlQ29udGFpbmVyID0gdW5kZWZpbmVkO1xyXG4gICAgICAgIHRoaXMuaVNlbGVjdGVkID0gdW5kZWZpbmVkO1xyXG4gICAgICB9XHJcbiAgICAgIHRoaXMuZGFzaGJvYXJkU2VydmljZS5zZXRDb25maWd1cmF0aW9uQXR0cmlidXRlQ29udGFpbmVycyh0aGlzLmF0dHJpYnV0ZUNvbnRhaW5lcnMpO1xyXG5cclxuICAgICAgaWYgKGlzRGV2TW9kZSgpKSB7XHJcbiAgICAgICAgY29uc29sZS5kZWJ1Zyh0aGlzLmF0dHJpYnV0ZUNvbnRhaW5lcnMpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICB3YWNFcXVhbHMoYTogV2lkZ2V0QXR0cmlidXRlQ29udGFpbmVyW10sIGI6IFdpZGdldEF0dHJpYnV0ZUNvbnRhaW5lcltdKTogYm9vbGVhbiB7XHJcbiAgICBpZiAoYS5sZW5ndGggIT09IGIubGVuZ3RoKSB7XHJcbiAgICAgIHJldHVybiBmYWxzZTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgYS5sZW5ndGg7IGkrKykge1xyXG4gICAgICAgIGlmIChhW2ldLm5hbWUgIT09IGJbaV0ubmFtZSkge1xyXG4gICAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgICAgIH0gZWxzZSBpZiAoYVtpXS5hdHRyaWJ1dGVzLmxlbmd0aCAhPT0gYltpXS5hdHRyaWJ1dGVzLmxlbmd0aCkge1xyXG4gICAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICBmb3IgKHZhciBqID0gMDsgaiA8IGFbaV0uYXR0cmlidXRlcy5sZW5ndGg7IGorKykge1xyXG4gICAgICAgICAgICBpZiAoYVtpXS5hdHRyaWJ1dGVzW2pdLm5hbWUgIT09IGJbaV0uYXR0cmlidXRlc1tqXS5uYW1lKSB7XHJcbiAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICByZXR1cm4gdHJ1ZTtcclxuICB9XHJcbn1cclxuIl19
|
|
227
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2lkZ2V0LWNvbmZpZ3VyZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9kYXNoYm9hcmQvc3JjL2NvbmZpZ3VyZS93aWRnZXQtY29uZmlndXJlLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUNILE9BQU8sRUFBQyxTQUFTLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUloRSxPQUFPLEVBQTRELE1BQU0sRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQ2pHLE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLCtCQUErQixDQUFDOzs7Ozs7O0FBRy9EOztHQUVHO0FBK0RILE1BQU0sT0FBTyx3QkFBd0I7SUFnQm5DLFlBQW9CLGdCQUFrQztRQUFsQyxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBZGhDLGNBQVMsR0FBVyxlQUFlLENBQUM7UUFJbkQsd0JBQW1CLEdBQStCLEVBQUUsQ0FBQztJQVVILENBQUM7SUFFMUQsUUFBUTtRQUNOLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxrQ0FBa0MsQ0FBQyxTQUFTLENBQUMsQ0FBQyxjQUE4QixFQUFFLEVBQUU7WUFDcEcsSUFBSSxTQUFTLEVBQUUsRUFBRSxDQUFDO2dCQUNoQixPQUFPLENBQUMsS0FBSyxDQUFDLHdFQUF3RSxDQUFDLENBQUM7Z0JBQ3hGLE9BQU8sQ0FBQyxLQUFLLENBQUMsY0FBYyxDQUFDLENBQUM7WUFDaEMsQ0FBQztZQUVELElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztnQkFDcEIsSUFBSSxDQUFDLGNBQWMsR0FBRyxTQUFTLENBQUM7Z0JBQ2hDLElBQUksQ0FBQyxlQUFlLEdBQUcsU0FBUyxDQUFDO2dCQUNqQyxJQUFJLENBQUMsMEJBQTBCLEdBQUcsU0FBUyxDQUFDO2dCQUM1QyxJQUFJLENBQUMsU0FBUyxHQUFHLFNBQVMsQ0FBQztnQkFFN0IsSUFBSSxD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cmlnaHQgKGMpIDIwMTYgSHVudHNtYW4gQ2FuY2VyIEluc3RpdHV0ZSBhdCB0aGUgVW5pdmVyc2l0eSBvZiBVdGFoLCBDb25maWRlbnRpYWwgYW5kIFByb3ByaWV0YXJ5XHJcbiAqL1xyXG5pbXBvcnQge0NvbXBvbmVudCwgSG9zdEJpbmRpbmcsIGlzRGV2TW9kZX0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuXHJcbmltcG9ydCB7U3Vic2NyaXB0aW9ufSBmcm9tIFwicnhqc1wiO1xyXG5cclxuaW1wb3J0IHtXaWRnZXRBdHRyaWJ1dGUsIFdpZGdldEF0dHJpYnV0ZUNvbnRhaW5lciwgV2lkZ2V0SW5zdGFuY2UsIFdpZGdldH0gZnJvbSBcIi4uL21vZGVsL21vZGVsXCI7XHJcbmltcG9ydCB7RGFzaGJvYXJkU2VydmljZX0gZnJvbSBcIi4uL3NlcnZpY2VzL2Rhc2hib2FyZC5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7V2lkZ2V0Q29tcG9uZW50fSBmcm9tIFwiLi4vd2lkZ2V0L3dpZGdldC5jb21wb25lbnRcIjtcclxuXHJcbi8qKlxyXG4gKiBAc2luY2UgMS4wLjBcclxuICovXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiBcIndpZGdldC1jb25maWd1cmVcIixcclxuICB0ZW1wbGF0ZTogYFxyXG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIndpZGdldEluc3RhbmNlICYmIHNlbGVjdGVkQXR0cmlidXRlQ29udGFpbmVyXCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJhdHRyaWJ1dGUtY29udGFpbmVyLWhlYWRlci1wYXJlbnRcIj5cclxuICAgICAgICA8bmctdGVtcGxhdGUgbmdGb3IgbGV0LWF0dHJpYnV0ZUNvbnRhaW5lciBsZXQtaT1cImluZGV4XCIgW25nRm9yT2ZdPVwiYXR0cmlidXRlQ29udGFpbmVycyB8IGhhc0VkaXRhYmxlQXR0cmlidXRlc1wiPlxyXG4gICAgICAgICAgPGRpdiAoY2xpY2spPVwic2VsZWN0ZWRBdHRyaWJ1dGVDb250YWluZXIgPSBhdHRyaWJ1dGVDb250YWluZXI7IGlTZWxlY3RlZCA9IGk7XCJcclxuICAgICAgICAgICAgICAgY2xhc3M9XCJhdHRyaWJ1dGUtY29udGFpbmVyLWhlYWRlclwiXHJcbiAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cInNlbGVjdGVkQXR0cmlidXRlQ29udGFpbmVyLm5hbWUgPT09IGF0dHJpYnV0ZUNvbnRhaW5lci5uYW1lID8gJ3NlbGVjdGVkJyA6ICcnXCJcclxuICAgICAgICAgICAgICAgW25nYlRvb2x0aXBdPVwiYXR0cmlidXRlQ29udGFpbmVyLm5hbWVcIj5cclxuICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJzZWxlY3RlZEF0dHJpYnV0ZUNvbnRhaW5lci5uYW1lID09PSBhdHRyaWJ1dGVDb250YWluZXIubmFtZVwiPnt7c2VsZWN0ZWRBdHRyaWJ1dGVDb250YWluZXIubmFtZX19PC9zcGFuPlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggZmxleC1jb2x1bW4gZmxleC1ncm93LTEgYXR0cmlidXRlLWNvbnRhaW5lclwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggZmxleC1jb2x1bW4gZmxleC1ncm93LTEgeS1hdXRvXCI+XHJcbiAgICAgICAgICA8bmctdGVtcGxhdGUgbmdGb3IgbGV0LWF0dHJpYnV0ZSBbbmdGb3JPZl09XCJzZWxlY3RlZEF0dHJpYnV0ZUNvbnRhaW5lci5hdHRyaWJ1dGVzXCI+XHJcbiAgICAgICAgICAgIDx3aWRnZXQtYXR0cmlidXRlIFthdHRyaWJ1dGVdPVwiYXR0cmlidXRlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2lkV2lkZ2V0QXR0cmlidXRlVmFsdWVTZXRdPVwid2lkZ2V0SW5zdGFuY2UuYXR0cmlidXRlVmFsdWVTZXQuaWRXaWRnZXRBdHRyaWJ1dGVWYWx1ZVNldFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFt3aWRnZXRDb21wb25lbnRdPVwid2lkZ2V0Q29tcG9uZW50XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJhdHRyaWJ1dGUudXNlckVkaXRhYmxlXCI+PC93aWRnZXQtYXR0cmlidXRlPlxyXG4gICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIDxkaXYgKm5nSWY9XCJhdHRyaWJ1dGVDb250YWluZXJzLmxlbmd0aCA9PT0gMFwiPlxyXG4gICAgICAgIFRoZXJlIGFyZSBubyBjb25maWd1cmF0aW9uIG9wdGlvbnMgZm9yIHRoaXMgd2lkZ2V0LlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvbmctY29udGFpbmVyPlxyXG4gIGAsXHJcbiAgc3R5bGVzOiBbYFxyXG5cclxuICAgIC5hdHRyaWJ1dGUtY29udGFpbmVyLWhlYWRlci1wYXJlbnQge1xyXG4gICAgICBib3JkZXItYm90dG9tOiBibGFjayAycHggc29saWQ7XHJcbiAgICAgIHBhZGRpbmctYm90dG9tOiA1cHg7XHJcbiAgICAgIG1hcmdpbi1ib3R0b206IDVweDtcclxuICAgIH1cclxuXHJcbiAgICAuYXR0cmlidXRlLWNvbnRhaW5lci1oZWFkZXIge1xyXG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgIHdpZHRoOiAzNXB4O1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNjZhYWZmO1xyXG4gICAgICBib3JkZXI6IGJsYWNrIDFweCBzb2xpZDtcclxuICAgICAgYm9yZGVyLXJhZGl1czogMjBweDtcclxuICAgICAgcGFkZGluZzogNHB4O1xyXG4gICAgICBmb250LXNpemU6IGxhcmdlO1xyXG4gICAgICBmb250LXdlaWdodDogYm9sZDtcclxuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICBtaW4taGVpZ2h0OiAzNXB4O1xyXG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xyXG4gICAgfVxyXG5cclxuICAgIC5hdHRyaWJ1dGUtY29udGFpbmVyLWhlYWRlci5zZWxlY3RlZCB7XHJcbiAgICAgIHdpZHRoOiA0NSU7XHJcbiAgICB9XHJcblxyXG4gICAgLmF0dHJpYnV0ZS1jb250YWluZXIge1xyXG4gICAgICBvdmVyZmxvdy15OiBhdXRvO1xyXG4gICAgICBvdmVyZmxvdy14OiBoaWRkZW47XHJcbiAgICB9XHJcblxyXG4gIGBdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBXaWRnZXRDb25maWd1cmVDb21wb25lbnQge1xyXG5cclxuICBASG9zdEJpbmRpbmcoXCJjbGFzc1wiKSBjbGFzc0xpc3Q6IHN0cmluZyA9IFwib3V0bGV0LWNvbHVtblwiO1xyXG5cclxuICBwdWJsaWMgaVNlbGVjdGVkOiBudW1iZXI7XHJcbiAgcHVibGljIHNlbGVjdGVkQXR0cmlidXRlQ29udGFpbmVyOiBXaWRnZXRBdHRyaWJ1dGVDb250YWluZXI7XHJcbiAgcHVibGljIGF0dHJpYnV0ZUNvbnRhaW5lcnM6IFdpZGdldEF0dHJpYnV0ZUNvbnRhaW5lcltdID0gW107XHJcblxyXG4gIHB1YmxpYyB3aWRnZXRJbnN0YW5jZTogV2lkZ2V0SW5zdGFuY2U7XHJcbiAgXHJcbiAgd2lkZ2V0Q29tcG9uZW50OiBXaWRnZXRDb21wb25lbnQ7XHJcbiAgYXR0cmlidXRlQ29udGFpbmVyTWFwOiBNYXA8c3RyaW5nLCBXaWRnZXRBdHRyaWJ1dGVDb250YWluZXI+O1xyXG5cclxuICB3aWRnZXRDb21wb25lbnRTdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbjtcclxuICBhdHRyaWJ1dGVDb250YWluZXJzU3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZGFzaGJvYXJkU2VydmljZTogRGFzaGJvYXJkU2VydmljZSkge31cclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICB0aGlzLmRhc2hib2FyZFNlcnZpY2UuY29uZmlndXJhdGlvbldpZGdldEluc3RhbmNlU3ViamVjdC5zdWJzY3JpYmUoKHdpZGdldEluc3RhbmNlOiBXaWRnZXRJbnN0YW5jZSkgPT4ge1xyXG4gICAgICBpZiAoaXNEZXZNb2RlKCkpIHtcclxuICAgICAgICBjb25zb2xlLmRlYnVnKFwiV2lkZ2V0Q29uZmlndXJlQ29tcG9uZW50LmNvbmZpZ3VyYXRpb25XaWRnZXRJbnN0YW5jZVN1YmplY3Quc3Vic2NyaWJlOlwiKTtcclxuICAgICAgICBjb25zb2xlLmRlYnVnKHdpZGdldEluc3RhbmNlKTtcclxuICAgICAgfVxyXG5cclxuICAgICAgaWYgKCF3aWRnZXRJbnN0YW5jZSkge1xyXG4gICAgICAgIHRoaXMud2lkZ2V0SW5zdGFuY2UgPSB1bmRlZmluZWQ7XHJcbiAgICAgICAgdGhpcy53aWRnZXRDb21wb25lbnQgPSB1bmRlZmluZWQ7XHJcbiAgICAgICAgdGhpcy5zZWxlY3RlZEF0dHJpYnV0ZUNvbnRhaW5lciA9IHVuZGVmaW5lZDtcclxuICAgICAgICB0aGlzLmlTZWxlY3RlZCA9IHVuZGVmaW5lZDtcclxuXHJcblx0XHQgICAgdGhpcy51bnN1YnNjcmliZSgpO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHRoaXMud2lkZ2V0SW5zdGFuY2UgPSB3aWRnZXRJbnN0YW5jZTtcclxuXHJcbiAgICAgICAgdGhpcy53aWRnZXRDb21wb25lbnRTdWJzY3JpcHRpb24gPSB0aGlzLmRhc2hib2FyZFNlcnZpY2UuZ2V0V2lkZ2V0Q29tcG9uZW50U3ViamVjdCh3aWRnZXRJbnN0YW5jZS5pZFdpZGdldEluc3RhbmNlKVxyXG4gICAgICAgICAgICAuc3Vic2NyaWJlKCh3aWRnZXRDb21wb25lbnQ6IFdpZGdldENvbXBvbmVudCkgPT4ge1xyXG4gICAgICAgICAgaWYgKGlzRGV2TW9kZSgpKSB7XHJcbiAgICAgICAgICAgIGNvbnNvbGUuZGVidWcoXCJXaWRnZXRDb25maWd1cmVDb21wb25lbnQuZ2V0V2lkZ2V0Q29tcG9uZW50U3ViamVjdC5zdWJzY3JpYmVcIik7XHJcbiAgICAgICAgICAgIGNvbnNvbGUuZGVidWcod2lkZ2V0Q29tcG9uZW50KTtcclxuICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICBpZiAodGhpcy5hdHRyaWJ1dGVDb250YWluZXJzU3Vic2NyaXB0aW9uKSB7XHJcbiAgICAgICAgICAgIHRoaXMuYXR0cmlidXRlQ29udGFpbmVyc1N1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xyXG4gICAgICAgICAgfVxyXG5cclxuICAgICAgICAgIHRoaXMud2lkZ2V0Q29tcG9uZW50ID0gd2lkZ2V0Q29tcG9uZW50O1xyXG4gICAgICAgICAgaWYgKHRoaXMud2lkZ2V0Q29tcG9uZW50KSB7XHJcblx0XHRcdCAgICAgIHRoaXMud2lkZ2V0Q29tcG9uZW50LmNvbmZpZyh1bmRlZmluZWQpO1xyXG5cclxuICAgICAgICAgICAgdGhpcy5hdHRyaWJ1dGVDb250YWluZXJzU3Vic2NyaXB0aW9uID0gdGhpcy53aWRnZXRDb21wb25lbnQuYXR0cmlidXRlQ29udGFpbmVycy5zdWJzY3JpYmUoKGF0dHJpYnV0ZUNvbnRhaW5lcnM6IE1hcDxzdHJpbmcsIFdpZGdldEF0dHJpYnV0ZUNvbnRhaW5lcj4pID0+IHtcclxuICAgICAgICAgICAgICBpZiAoaXNEZXZNb2RlKCkpIHtcclxuICAgICAgICAgICAgICAgIGNvbnNvbGUuZGVidWcoXCJXaWRnZXRDb25maWd1cmVDb21wb25lbnQuYXR0cmlidXRlQ29udGFpbmVyc1N1YnNjcmlwdGlvblwiKTtcclxuICAgICAgICAgICAgICAgIGNvbnNvbGUuZGVidWcoYXR0cmlidXRlQ29udGFpbmVycyk7XHJcbiAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICBpZiAoYXR0cmlidXRlQ29udGFpbmVycykge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5hdHRyaWJ1dGVDb250YWluZXJNYXAgPSBXaWRnZXQubWVyZ2UoYXR0cmlidXRlQ29udGFpbmVycywgdGhpcy5kYXNoYm9hcmRTZXJ2aWNlLmdldENvbW1vbkF0dHJpYnV0ZXMoKSk7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmdlbmVyYXRlQXR0cmlidXRlQ29udGFpbmVycygpO1xyXG4gICAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmF0dHJpYnV0ZUNvbnRhaW5lck1hcCA9IHRoaXMuZGFzaGJvYXJkU2VydmljZS5nZXRDb21tb25BdHRyaWJ1dGVzKCk7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmdlbmVyYXRlQXR0cmlidXRlQ29udGFpbmVycygpO1xyXG4gICAgICAgICAgICAgIH1cclxuXHRcdFx0ICAgICAgfSk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgbmdPbkRlc3Ryb3koKSB7XHJcbiAgICB0aGlzLnVuc3Vic2NyaWJlKCk7XHJcbiAgfVxyXG5cclxuICB1bnN1YnNjcmliZSgpIHtcclxuICAgIGlmICh0aGlzLndpZGdldENvbXBvbmVudFN1YnNjcmlwdGlvbikge1xyXG4gICAgICB0aGlzLndpZGdldENvbXBvbmVudFN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMuYXR0cmlidXRlQ29udGFpbmVyc1N1YnNjcmlwdGlvbikge1xyXG4gICAgICB0aGlzLmF0dHJpYnV0ZUNvbnRhaW5lcnNTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFRob3VnaCBhIG1hcCBpcyB1c2VkIHRvIG92ZXJyaWRlIGF0dHJpYnV0ZXMgZWFzaWx5LCB0cmFuc2ZlciBiYWNrIHRvIGFuIGFycmF5IGZvciBlYXN5IHNvcnRpbmcgYW5kIHRvIG1ha2VcclxuICAgKiB0aGUgbmdGb3IgaGFwcHkuXHJcbiAgICovXHJcbiAgZ2VuZXJhdGVBdHRyaWJ1dGVDb250YWluZXJzKCkge1xyXG4gICAgaWYgKGlzRGV2TW9kZSgpKSB7XHJcbiAgICAgIGNvbnNvbGUuZGVidWcoXCJXaWRnZXRDb25maWd1cmVDb21wb25lbnQuZ2VuZXJhdGVBdHRyaWJ1dGVDb250YWluZXJzOiBcIiArIHRoaXMuYXR0cmlidXRlQ29udGFpbmVyTWFwLnNpemUpO1xyXG4gICAgfVxyXG5cclxuICAgIGxldCB0ZW1wQ29udGFpbmVyczogV2lkZ2V0QXR0cmlidXRlQ29udGFpbmVyW10gPSBbXTtcclxuICAgIGZvciAobGV0IGF0dHJpYnV0ZUNvbnRhaW5lciBvZiB0aGlzLmF0dHJpYnV0ZUNvbnRhaW5lck1hcC52YWx1ZXMoKSkge1xyXG4gICAgICBpZiAoYXR0cmlidXRlQ29udGFpbmVyLmhpZGRlbikge1xyXG4gICAgICAgIGNvbnRpbnVlO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBhdHRyaWJ1dGVDb250YWluZXIuYXR0cmlidXRlcyA9IFtdO1xyXG4gICAgICBmb3IgKGxldCBhdHRyaWJ1dGUgb2YgYXR0cmlidXRlQ29udGFpbmVyLmF0dHJpYnV0ZU1hcC52YWx1ZXMoKSkge1xyXG4gICAgICAgIC8qaWYgKGF0dHJpYnV0ZS51c2VyRWRpdGFibGUpIHtcclxuICAgICAgICAgIGF0dHJpYnV0ZUNvbnRhaW5lci5hdHRyaWJ1dGVzLnB1c2goYXR0cmlidXRlKTtcclxuICAgICAgICB9Ki9cclxuICAgICAgICBhdHRyaWJ1dGVDb250YWluZXIuYXR0cmlidXRlcy5wdXNoKGF0dHJpYnV0ZSk7XHJcbiAgICAgIH1cclxuICAgICAgYXR0cmlidXRlQ29udGFpbmVyLmF0dHJpYnV0ZXMuc29ydCgoYTogV2lkZ2V0QXR0cmlidXRlLCBiOiBXaWRnZXRBdHRyaWJ1dGUpID0+IHtcclxuICAgICAgICBpZiAoYS5zb3J0T3JkZXIgPCBiLnNvcnRPcmRlcikge1xyXG4gICAgICAgICAgcmV0dXJuIC0xO1xyXG4gICAgICAgIH0gZWxzZSBpZiAoYS5zb3J0T3JkZXIgPiBiLnNvcnRPcmRlcikge1xyXG4gICAgICAgICAgcmV0dXJuIDE7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIHJldHVybiAwO1xyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcblxyXG4gICAgICB0ZW1wQ29udGFpbmVycy5wdXNoKGF0dHJpYnV0ZUNvbnRhaW5lcik7XHJcbiAgICB9XHJcblxyXG4gICAgdGVtcENvbnRhaW5lcnMuc29ydCgoYTogV2lkZ2V0QXR0cmlidXRlQ29udGFpbmVyLCBiOiBXaWRnZXRBdHRyaWJ1dGVDb250YWluZXIpID0+IHtcclxuICAgICAgaWYgKGEuc29ydE9yZGVyIDwgYi5zb3J0T3JkZXIpIHtcclxuICAgICAgICByZXR1cm4gLTE7XHJcbiAgICAgIH0gZWxzZSBpZiAoYS5zb3J0T3JkZXIgPiBiLnNvcnRPcmRlcikge1xyXG4gICAgICAgIHJldHVybiAxO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHJldHVybiAwO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuXHJcbiAgICBpZiAodGhpcy5hdHRyaWJ1dGVDb250YWluZXJzLmxlbmd0aCA9PT0gMCB8fCAhdGhpcy53YWNFcXVhbHModGVtcENvbnRhaW5lcnMsIHRoaXMuYXR0cmlidXRlQ29udGFpbmVycykpIHtcclxuICAgICAgdGhpcy5hdHRyaWJ1dGVDb250YWluZXJzID0gdGVtcENvbnRhaW5lcnM7XHJcblxyXG4gICAgICBpZiAodGhpcy5pU2VsZWN0ZWQgJiYgdGhpcy5pU2VsZWN0ZWQgPCB0aGlzLmF0dHJpYnV0ZUNvbnRhaW5lcnMubGVuZ3RoICYmIHRoaXMuc2VsZWN0ZWRBdHRyaWJ1dGVDb250YWluZXIubmFtZSA9PT0gdGhpcy5hdHRyaWJ1dGVDb250YWluZXJzW3RoaXMuaVNlbGVjdGVkXS5uYW1lKSB7XHJcbiAgICAgICAgdGhpcy5zZWxlY3RlZEF0dHJpYnV0ZUNvbnRhaW5lciA9IHRoaXMuYXR0cmlidXRlQ29udGFpbmVyc1t0aGlzLmlTZWxlY3RlZF07XHJcbiAgICAgIH0gZWxzZSBpZiAodGhpcy5hdHRyaWJ1dGVDb250YWluZXJzLmxlbmd0aCA+IDApIHtcclxuICAgICAgICB0aGlzLnNlbGVjdGVkQXR0cmlidXRlQ29udGFpbmVyID0gdGhpcy5hdHRyaWJ1dGVDb250YWluZXJzWzBdO1xyXG4gICAgICAgIHRoaXMuaVNlbGVjdGVkID0gMDtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB0aGlzLnNlbGVjdGVkQXR0cmlidXRlQ29udGFpbmVyID0gdW5kZWZpbmVkO1xyXG4gICAgICAgIHRoaXMuaVNlbGVjdGVkID0gdW5kZWZpbmVkO1xyXG4gICAgICB9XHJcbiAgICAgIHRoaXMuZGFzaGJvYXJkU2VydmljZS5zZXRDb25maWd1cmF0aW9uQXR0cmlidXRlQ29udGFpbmVycyh0aGlzLmF0dHJpYnV0ZUNvbnRhaW5lcnMpO1xyXG5cclxuICAgICAgaWYgKGlzRGV2TW9kZSgpKSB7XHJcbiAgICAgICAgY29uc29sZS5kZWJ1Zyh0aGlzLmF0dHJpYnV0ZUNvbnRhaW5lcnMpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICB3YWNFcXVhbHMoYTogV2lkZ2V0QXR0cmlidXRlQ29udGFpbmVyW10sIGI6IFdpZGdldEF0dHJpYnV0ZUNvbnRhaW5lcltdKTogYm9vbGVhbiB7XHJcbiAgICBpZiAoYS5sZW5ndGggIT09IGIubGVuZ3RoKSB7XHJcbiAgICAgIHJldHVybiBmYWxzZTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgYS5sZW5ndGg7IGkrKykge1xyXG4gICAgICAgIGlmIChhW2ldLm5hbWUgIT09IGJbaV0ubmFtZSkge1xyXG4gICAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgICAgIH0gZWxzZSBpZiAoYVtpXS5hdHRyaWJ1dGVzLmxlbmd0aCAhPT0gYltpXS5hdHRyaWJ1dGVzLmxlbmd0aCkge1xyXG4gICAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICBmb3IgKHZhciBqID0gMDsgaiA8IGFbaV0uYXR0cmlidXRlcy5sZW5ndGg7IGorKykge1xyXG4gICAgICAgICAgICBpZiAoYVtpXS5hdHRyaWJ1dGVzW2pdLm5hbWUgIT09IGJbaV0uYXR0cmlidXRlc1tqXS5uYW1lKSB7XHJcbiAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICByZXR1cm4gdHJ1ZTtcclxuICB9XHJcbn1cclxuIl19
|