@eui/components 18.2.4-snapshot-1733451076143 → 18.2.4-snapshot-1733710123090

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.
@@ -55,6 +55,7 @@ export class EuiTableV2Component {
55
55
  this.isLoading = false;
56
56
  this.isSelectOnlyVisibleRows = true;
57
57
  this.isTableBordered = false;
58
+ /** @deprecated This will be removed in next version */
58
59
  this.isTableCondensed = false;
59
60
  this.loading = [];
60
61
  this.nbCols = [];
@@ -571,4 +572,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
571
572
  }], sortChange: [{
572
573
  type: Output
573
574
  }] } });
574
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXVpLXRhYmxlLXYyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2V1aS10YWJsZS12Mi9ldWktdGFibGUtdjIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vZXVpLXRhYmxlLXYyL2V1aS10YWJsZS12Mi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxlQUFlLEVBQTRDLFNBQVMsRUFBaUIsVUFBVSxFQUFFLGdCQUFnQixFQUFFLFdBQVcsRUFDckosaUJBQWlCLEVBQUUsdUJBQXVCLEVBQXFCLE1BQU0sRUFBRSxZQUFZLEVBQTRCLGVBQWUsRUFDbkgsTUFBTSxlQUFlLENBQUM7QUFFckMsT0FBTyxFQUFFLGVBQWUsRUFBRSxVQUFVLEVBQUUsT0FBTyxFQUFFLFlBQVksRUFBRSxhQUFhLEVBQUUsWUFBWSxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFJeEgsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDbEUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFFN0QsT0FBTyxFQUFFLDhCQUE4QixFQUFFLE1BQU0sZ0RBQWdELENBQUM7QUFFaEcsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7Ozs7Ozs7O0FBRzdFLE1BQU0sQ0FBTixJQUFZLGlCQUdYO0FBSEQsV0FBWSxpQkFBaUI7SUFDekIsOEJBQVMsQ0FBQTtJQUNULGtDQUFhLENBQUE7QUFDakIsQ0FBQyxFQUhXLGlCQUFpQixLQUFqQixpQkFBaUIsUUFHNUI7QUFnQkQsTUFBTSxPQUFPLG1CQUFtQjtJQUM1QixJQUNXLFVBQVU7UUFDakIsT0FBTztZQUNILElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxhQUFhLENBQUMsZ0NBQWdDLENBQUM7WUFDeEUsSUFBSSxDQUFDLGVBQWUs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QUFTO3VCQUFDLDBCQUEwQixFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRTtnQkFDcUMsK0JBQStCO3NCQUEzSCxTQUFTO3VCQUFDLGlDQUFpQyxFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFO2dCQUMxRCxRQUFRO3NCQUE5QixTQUFTO3VCQUFDLFVBQVU7Z0JBQ0UsUUFBUTtzQkFBOUIsU0FBUzt1QkFBQyxVQUFVO2dCQUNFLFFBQVE7c0JBQTlCLFNBQVM7dUJBQUMsVUFBVTtnQkFFWCxZQUFZO3NCQUFyQixNQUFNO2dCQUNHLFVBQVU7c0JBQW5CLE1BQU07Z0JBQ0csVUFBVTtzQkFBbkIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIENvbnRlbnRDaGlsZHJlbiwgUXVlcnlMaXN0LCBBZnRlckNvbnRlbnRJbml0LCBUZW1wbGF0ZVJlZiwgVmlld0NoaWxkLCBBZnRlclZpZXdJbml0LCBFbGVtZW50UmVmLCBib29sZWFuQXR0cmlidXRlLCBIb3N0QmluZGluZyxcbiAgICBWaWV3RW5jYXBzdWxhdGlvbiwgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIE9uRGVzdHJveSwgT25Jbml0LCBPdXRwdXQsIEV2ZW50RW1pdHRlciwgU2ltcGxlQ2hhbmdlcywgT25DaGFuZ2VzLCBudW1iZXJBdHRyaWJ1dGUsIENoYW5nZURldGVjdG9yUmVmLFxuICAgIFJlbmRlcmVyMiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ2RrVmlydHVhbFNjcm9sbFZpZXdwb3J0IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3Njcm9sbGluZyc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIE9ic2VydmFibGUsIFN1YmplY3QsIFN1YnNjcmlwdGlvbiwgY29tYmluZUxhdGVzdCwgZGVib3VuY2VUaW1lLCBza2lwLCB0YWtlVW50aWwgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IExpc3RSYW5nZSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9jb2xsZWN0aW9ucyc7XG5cbmltcG9ydCB7IEV1aVBhZ2luYXRpb25FdmVudCwgRXVpUGFnaW5hdG9yQ29tcG9uZW50IH0gZnJvbSAnQGV1aS9jb21wb25lbnRzL2V1aS1wYWdpbmF0b3InO1xuaW1wb3J0IHsgRXVpVGVtcGxhdGVEaXJlY3RpdmUgfSBmcm9tICdAZXVpL2NvbXBvbmVudHMvZGlyZWN0aXZlcyc7XG5pbXBvcnQgeyBCYXNlU3RhdGVzRGlyZWN0aXZlIH0gZnJvbSAnQGV1aS9jb21wb25lbnRzL3NoYXJlZCc7XG5cbmltcG9ydCB7IEV1aVRhYmxlVjJTZWxlY3RhYmxlUm93U2VydmljZSB9IGZyb20gJy4vc2VydmljZXMvZXVpLXRhYmxlLXYyLXNlbGVjdGFibGUtcm93LnNlcnZpY2UnO1xuaW1wb3J0IHsgRXVpVGFibGVWMkZpbHRlckNvbXBvbmVudCB9IGZyb20gJy4vZmlsdGVyL2V1aS10YWJsZS12Mi1maWx0ZXIuY29tcG9uZW50JztcbmltcG9ydCB7IEV1aVRhYmxlVjJTb3J0U2VydmljZSB9IGZyb20gJy4vc2VydmljZXMvZXVpLXRhYmxlLXYyLXNvcnQuc2VydmljZSc7XG5pbXBvcnQgeyBTb3J0LCBTb3J0T3JkZXIgfSBmcm9tICcuL21vZGVscy9zb3J0Lm1vZGVsJztcblxuZXhwb3J0IGVudW0gU2Nyb2xsaW5EaXJlY3Rpb24ge1xuICAgIFVQID0gJ1VQJyxcbiAgICBET1dOID0gJ0RPV04nLFxufVxuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2V1aS10YWJsZS12MiwgdGFibGVbZXVpVGFibGVWMl0nLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9ldWktdGFibGUtdjIuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL3N0eWxlcy9faW5kZXguc2NzcyddLFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgcHJvdmlkZXJzOiBbRXVpVGFibGVWMlNlbGVjdGFibGVSb3dTZXJ2aWNlLCBFdWlUYWJsZVYyU29ydFNlcnZpY2VdLFxuICAgIGhvc3REaXJlY3RpdmVzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICAgIGRpcmVjdGl2ZTogQmFzZVN0YXRlc0RpcmVjdGl2ZSxcbiAgICAgICAgICAgIGlucHV0czogW10sXG4gICAgICAgIH0sXG4gICAgXSxcbn0pXG5leHBvcnQgY2xhc3MgRXVpVGFibGVWMkNvbXBvbmVudDxEQVRBID0gdW5rbm93bj4gaW1wbGVtZW50cyBBZnRlckNvbnRlbnRJbml0LCBBZnRlclZpZXdJbml0LCBPbkRlc3Ryb3ksIE9uSW5pdCwgT25DaGFuZ2VzIHtcbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzJylcbiAgICBwdWJsaWMgZ2V0IGNzc0NsYXNzZXMoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIFtcbiAgICAgICAgICAgIHRoaXMuYmFzZVN0YXRlc0RpcmVjdGl2ZS5nZXRDc3NDbGFzc2VzKCdldWktdGFibGUtZGVmYXVsdCBldWktdGFibGUtdjInKSxcbiAgICAgICAgICAgIHRoaXMuaXNWaXJ0dWFsU2Nyb2xsID8gJ2V1aS10YWJsZS12Mi0tdmlydHVhbC1zY3JvbGwnIDogJycsXG4gICAgICAgICAgICB0aGlzLmhhc1N0aWNreUhlYWRlciA/ICdldWktdGFibGUtdjItLXN0aWNreSBldWktdGFibGUtdjItLXN0aWNreS1oZWFkZXInIDogJycsXG4gICAgICAgICAgICB0aGlzLmhhc1N0aWNreUZvb3RlciA/ICdldWktdGFibGUtdjItLXN0aWNreSBldWktdGFibGUtdjItLXN0aWNreS1mb290ZXInIDogJycsXG4gICAgICAgICAgICB0aGlzLmhhc1N0aWNreUNvbHMgPyAnZXVpLXRhYmxlLXYyLS1zdGlja3kgZXVpLXRhYmxlLXYyLS1zdGlja3ktY29scycgOiAnJyxcbiAgICAgICAgICAgIHRoaXMuaXNUYWJsZVJlc3BvbnNpdmUgPyAnZXVpLXRhYmxlLWRlZmF1bHQtLXJlc3BvbnNpdmUnIDogJycsXG4gICAgICAgICAgICB0aGlzLmlzQ29sc09yZGVyYWJsZSA/ICdldWktdGFibGUtdjItLWNvbHMtb3JkZXJhYmxlJyA6ICcnLFxuICAgICAgICAgICAgdGhpcy5pc0xvYWRpbmcgPyAnZXVpLXRhYmxlLXYyLS1sb2FkaW5nJyA6ICcnLFxuICAgICAgICBdXG4gICAgICAgICAgICAuam9pbignICcpXG4gICAgICAgICAgICAudHJpbSgpO1xuICAgIH1cblxuICAgIEBJbnB1dCgpIGRhdGE6IERBVEFbXSA9IFtdO1xuICAgIEBJbnB1dCgpIHByb3BJZCA9ICdpZCc7XG4gICAgQElucHV0KCkgaXRlbVNpemUgPSA0MTtcbiAgICBASW5wdXQoKSBwYWdpbmF0b3I6IEV1aVBhZ2luYXRvckNvbXBvbmVudDtcbiAgICBASW5wdXQoKSBmaWx0ZXI6IEV1aVRhYmxlVjJGaWx0ZXJDb21wb25lbnQ7XG4gICAgQElucHV0KCkgcHJlc2VsZWN0ZWRSb3dzOiBEQVRBW10gPSBbXTtcblxuICAgIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KSBpc1ZpcnR1YWxTY3JvbGwgPSBmYWxzZTtcbiAgICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSkgaXNWaXJ0dWFsU2Nyb2xsQ2FjaGUgPSBmYWxzZTtcbiAgICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSkgaGFzU3RpY2t5SGVhZGVyID0gZmFsc2U7XG4gICAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pIGhhc1N0aWNreUZvb3RlciA9IGZhbHNlO1xuICAgIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KSBoYXNTdGlja3lDb2xzID0gZmFsc2U7XG4gICAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pIGlzVGFibGVSZXNwb25zaXZlID0gZmFsc2U7XG4gICAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pIGlzQXN5bmMgPSBmYWxzZTtcbiAgICBASW5wdXQoeyB0cmFuc2Zvcm06IG51bWJlckF0dHJpYnV0ZSB9KSB2aXJ0dWFsU2Nyb2xsQXN5bmNJdGVtc0xlbmd0aCA9IDA7XG4gICAgQElucHV0KHsgdHJhbnNmb3JtOiBudW1iZXJBdHRyaWJ1dGUgfSkgdmlydHVhbFNjcm9sbE5iUm93cyA9IDUwO1xuICAgIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KSBpc0NvbHNPcmRlcmFibGUgPSBmYWxzZTtcbiAgICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSkgaXNMb2FkaW5nID0gZmFsc2U7XG4gICAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pIGlzU2VsZWN0T25seVZpc2libGVSb3dzID0gdHJ1ZTtcbiAgICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSkgaXNUYWJsZUJvcmRlcmVkID0gZmFsc2U7XG4gICAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pIGlzVGFibGVDb25kZW5zZWQgPSBmYWxzZTtcblxuICAgIHByb3RlY3RlZCBoZWFkZXJUZW1wbGF0ZTogVGVtcGxhdGVSZWY8SFRNTEVsZW1lbnQ+O1xuICAgIHByb3RlY3RlZCBib2R5VGVtcGxhdGU6IFRlbXBsYXRlUmVmPHsgJGltcGxpY2l0OiBEQVRBOyBpbmRleDogbnVtYmVyIH0+O1xuICAgIHByb3RlY3RlZCBmb290ZXJUZW1wbGF0ZTogVGVtcGxhdGVSZWY8SFRNTEVsZW1lbnQ+O1xuICAgIHByb3RlY3RlZCBub0RhdGFUZW1wbGF0ZTogVGVtcGxhdGVSZWY8SFRNTEVsZW1lbnQ+O1xuICAgIHByb3RlY3RlZCBsb2FkaW5nID0gW107XG4gICAgcHJvdGVjdGVkIG5iQ29sczogSFRNTFRhYmxlQ2VsbEVsZW1lbnRbXSA9IFtdO1xuICAgIHByb3RlY3RlZCBkYXRhUmVuZGVyZWQ6IERBVEFbXSA9IFtdO1xuICAgIHByb3RlY3RlZCBjZGtWaXJ0dWFsU2Nyb2xsVmlld3BvcnRPdmVyZmxvd1ZhbHVlOiAoJ2hpZGRlbicgfCAnYXV0bycpID0gJ2F1dG8nO1xuXG4gICAgQENvbnRlbnRDaGlsZHJlbihFdWlUZW1wbGF0ZURpcmVjdGl2ZSkgdGVtcGxhdGVzOiBRdWVyeUxpc3Q8RXVpVGVtcGxhdGVEaXJlY3RpdmU+O1xuXG4gICAgQFZpZXdDaGlsZCgnY2RrVmlydHVhbFNjcm9sbFZpZXdwb3J0JywgeyBzdGF0aWM6IGZhbHNlIH0pIHByb3RlY3RlZCBjZGtWaXJ0dWFsU2Nyb2xsVmlld3BvcnQ6IENka1ZpcnR1YWxTY3JvbGxWaWV3cG9ydDtcbiAgICBAVmlld0NoaWxkKCdjZGtWaXJ0dWFsU2Nyb2xsVmlld3BvcnRFbGVtZW50JywgeyBzdGF0aWM6IGZhbHNlLCByZWFkOiBFbGVtZW50UmVmIH0pIHByb3RlY3RlZCBjZGtWaXJ0dWFsU2Nyb2xsVmlld3BvcnRFbGVtZW50OiBFbGVtZW50UmVmO1xuICAgIEBWaWV3Q2hpbGQoJ3RoZWFkUmVmJykgdGhlYWRSZWY6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+O1xuICAgIEBWaWV3Q2hpbGQoJ3Rib2R5UmVmJykgdGJvZHlSZWY6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+O1xuICAgIEBWaWV3Q2hpbGQoJ3Rmb290UmVmJykgdGZvb3RSZWY6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+O1xuXG4gICAgQE91dHB1dCgpIHNjcm9sbENoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgICBAT3V0cHV0KCkgcm93c1NlbGVjdCA9IG5ldyBFdmVudEVtaXR0ZXI8REFUQVtdPigpO1xuICAgIEBPdXRwdXQoKSBzb3J0Q2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxTb3J0W10+KCk7XG5cbiAgICBwcml2YXRlIGRlc3Ryb3kkOiBTdWJqZWN0PGJvb2xlYW4+ID0gbmV3IFN1YmplY3Q8Ym9vbGVhbj4oKTtcbiAgICBwcml2YXRlIHZpcnR1YWxTY3JvbGxMYXN0TXVsdGlwbGUgPSAwO1xuICAgIHByaXZhdGUgdmlydHVhbFNjcm9sbFNwbGljZUZyb20gPSAwO1xuICAgIHByaXZhdGUgc2Nyb2xsZWRJbmRleCA9IDA7XG4gICAgcHJpdmF0ZSBuYkl0ZW1EaXNwbGF5ZWQgPSAwO1xuICAgIHByaXZhdGUgc2Nyb2xsaW5nRGlyZWN0aW9uOiBTY3JvbGxpbkRpcmVjdGlvbjtcbiAgICBwcml2YXRlIG11dGF0aW9uT2JzZXJ2ZXI6IE11dGF0aW9uT2JzZXJ2ZXI7XG4gICAgcHJpdmF0ZSBkYXRhU3JjOiBEQVRBW10gPSBbXTtcbiAgICBwcml2YXRlIHBhZ2UgPSAwO1xuICAgIHByaXZhdGUgcGFnZVNpemUgPSAwO1xuICAgIHByaXZhdGUgdGFibGVGZWF0dXJlc0hhbmRsZXJTdWJzY3JpcHRpb24gPSBuZXcgU3Vic2NyaXB0aW9uKCk7XG4gICAgcHJpdmF0ZSBmaWx0ZXJlZERhdGE6IERBVEFbXSA9IFtdO1xuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBlbGVtZW50UmVmOiBFbGVtZW50UmVmLFxuICAgICAgICAgICAgICAgIHByaXZhdGUgY2Q6IENoYW5nZURldGVjdG9yUmVmLFxuICAgICAgICAgICAgICAgIHByaXZhdGUgZXVpVGFibGVWMlNlbGVjdGFibGVSb3dTZXJ2aWNlOiBFdWlUYWJsZVYyU2VsZWN0YWJsZVJvd1NlcnZpY2U8REFUQT4sXG4gICAgICAgICAgICAgICAgcHJpdmF0ZSBldWlUYWJsZVYyU29ydFNlcnZpY2U6IEV1aVRhYmxlVjJTb3J0U2VydmljZSxcbiAgICAgICAgICAgICAgICBwcml2YXRlIGJhc2VTdGF0ZXNEaXJlY3RpdmU6IEJhc2VTdGF0ZXNEaXJlY3RpdmUsXG4gICAgICAgICAgICAgICAgcHJpdmF0ZSByZW5kZXJlcjogUmVuZGVyZXIyLFxuICAgICAgICAgICAgICAgICkge31cblxuICAgIG5nT25DaGFuZ2VzKGM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICAgICAgaWYgKCF0aGlzLmRhdGEpIHtcbiAgICAgICAgICAgIHRoaXMuZGF0YSA9IFtdO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5ldWlUYWJsZVYyU2VsZWN0YWJsZVJvd1NlcnZpY2Uuc2V0UHJvcElkKHRoaXMucHJvcElkKTtcbiAgICAgICAgaWYgKHRoaXMuaXNWaXJ0dWFsU2Nyb2xsKSB7XG4gICAgICAgICAgICBpZiAoYy5kYXRhICYmIGMuZGF0YS5pc0ZpcnN0Q2hhbmdlKCkpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmRhdGFSZW5kZXJlZCA9IFsuLi5jLmRhdGEuY3VycmVudFZhbHVlLCAuLi5BcnJheS5mcm9tKHsgbGVuZ3RoOiB0aGlzLnZpcnR1YWxTY3JvbGxBc3luY0l0ZW1zTGVuZ3RoIC0gYy5kYXRhLmN1cnJlbnRWYWx1ZS5sZW5ndGggfSldO1xuXG4gICAgICAgICAgICAgICAgdGhpcy5ldWlUYWJsZVYyU2VsZWN0YWJsZVJvd1NlcnZpY2UudW5yZWdpc3RlclJvd3MoKTtcbiAgICAgICAgICAgICAgICB0aGlzLmV1aVRhYmxlVjJTZWxlY3RhYmxlUm93U2VydmljZS5yZWdpc3RlclJvd3ModGhpcy5kYXRhUmVuZGVyZWQpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAoYy5kYXRhICYmICFjLmRhdGEuaXNGaXJzdENoYW5nZSgpKSB7XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuaXNBc3luYykge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBzb3VyY2UgPSBbLi4udGhpcy5kYXRhUmVuZGVyZWRdO1xuICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy5pc1ZpcnR1YWxTY3JvbGxDYWNoZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5kYXRhUmVuZGVyZWQgPSBbLi4uc291cmNlLnNsaWNlKDAsIHRoaXMudmlydHVhbFNjcm9sbFNwbGljZUZyb20pLCAuLi5jLmRhdGEuY3VycmVudFZhbHVlLCAuLi5zb3VyY2Uuc2xpY2UodGhpcy52aXJ0dWFsU2Nyb2xsU3BsaWNlRnJvbSArIHRoaXMudmlydHVhbFNjcm9sbE5iUm93cyldO1xuICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5kYXRhUmVuZGVyZWQgPSBbXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLi4uQXJyYXkuZnJvbSh7IGxlbmd0aDogdGhpcy52aXJ0dWFsU2Nyb2xsU3BsaWNlRnJvbSAtIHRoaXMubmJJdGVtRGlzcGxheWVkIH0pLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC4uLnNvdXJjZS5zbGljZSh0aGlzLnZpcnR1YWxTY3JvbGxTcGxpY2VGcm9tIC0gdGhpcy5uYkl0ZW1EaXNwbGF5ZWQsIHRoaXMudmlydHVhbFNjcm9sbFNwbGljZUZyb20pLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC4uLmMuZGF0YS5jdXJyZW50VmFsdWUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLi4uc291cmNlLnNsaWNlKHRoaXMudmlydHVhbFNjcm9sbFNwbGljZUZyb20gKyB0aGlzLnZpcnR1YWxTY3JvbGxOYlJvd3MsIHRoaXMudmlydHVhbFNjcm9sbFNwbGljZUZyb20gKyB0aGlzLnZpcnR1YWxTY3JvbGxOYlJvd3MgKyB0aGlzLm5iSXRlbURpc3BsYXllZCksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLi4uQXJyYXkuZnJvbSh7IGxlbmd0aDogdGhpcy52aXJ0dWFsU2Nyb2xsQXN5bmNJdGVtc0xlbmd0aCAtICh0aGlzLnZpcnR1YWxTY3JvbGxTcGxpY2VGcm9tICsgdGhpcy52aXJ0dWFsU2Nyb2xsTmJSb3dzICsgdGhpcy5uYkl0ZW1EaXNwbGF5ZWQpIH0pLFxuICAgICAgICAgICAgICAgICAgICAgICAgXTtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIGlmIChjICYmIGMudmlydHVhbFNjcm9sbEFzeW5jSXRlbXNMZW5ndGgpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChjLnZpcnR1YWxTY3JvbGxBc3luY0l0ZW1zTGVuZ3RoLnByZXZpb3VzVmFsdWUgPiBjLnZpcnR1YWxTY3JvbGxBc3luY0l0ZW1zTGVuZ3RoLmN1cnJlbnRWYWx1ZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZGF0YVJlbmRlcmVkID0gdGhpcy5kYXRhUmVuZGVyZWQuc2xpY2UoMCwgYy52aXJ0dWFsU2Nyb2xsQXN5bmNJdGVtc0xlbmd0aC5jdXJyZW50VmFsdWUpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmRhdGFSZW5kZXJlZCA9IFsuLi5jLmRhdGEuY3VycmVudFZhbHVlLCAuLi5BcnJheS5mcm9tKHsgbGVuZ3RoOiB0aGlzLnZpcnR1YWxTY3JvbGxBc3luY0l0ZW1zTGVuZ3RoIC0gYy5kYXRhLmN1cnJlbnRWYWx1ZS5sZW5ndGggfSldO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgdGhpcy5ldWlUYWJsZVYyU2VsZWN0YWJsZVJvd1NlcnZpY2UudW5yZWdpc3RlclJvd3MoKTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5ldWlUYWJsZVYyU2VsZWN0YWJsZVJvd1NlcnZpY2UucmVnaXN0ZXJSb3dzKHRoaXMuZGF0YVJlbmRlcmVkKTtcblxuICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy5zY3JvbGxpbmdEaXJlY3Rpb24gPT09IFNjcm9sbGluRGlyZWN0aW9uLkRPV04pIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmICgodGhpcy5oYXNVbmRlZmluZWRJblJhbmdlKHRoaXMuc2Nyb2xsZWRJbmRleCwgdGhpcy5uYkl0ZW1EaXNwbGF5ZWQsIHRoaXMuZGF0YVJlbmRlcmVkKSAhPT0gLTEgfHxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnNjcm9sbGVkSW5kZXggPT09IHRoaXMudmlydHVhbFNjcm9sbFNwbGljZUZyb20gJiZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAhdGhpcy5kYXRhUmVuZGVyZWRbdGhpcy5zY3JvbGxlZEluZGV4IC0gMV0pICYmXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5oYXNVbmRlZmluZWRJblJhbmdlKHRoaXMuc2Nyb2xsZWRJbmRleCwgdGhpcy5uYkl0ZW1EaXNwbGF5ZWQsIHRoaXMuZGF0YVJlbmRlcmVkKSAhPT0gdGhpcy5kYXRhUmVuZGVyZWQubGVuZ3RoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gY29uc29sZS5sb2coJ3JlcG9zaXRpb24gZG93bicpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5jZGtWaXJ0dWFsU2Nyb2xsVmlld3BvcnQuc2Nyb2xsVG9JbmRleCh0aGlzLnZpcnR1YWxTY3JvbGxTcGxpY2VGcm9tICsgMSk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy5zY3JvbGxpbmdEaXJlY3Rpb24gPT09IFNjcm9sbGluRGlyZWN0aW9uLlVQKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy5oYXNVbmRlZmluZWRJblJhbmdlKHRoaXMuc2Nyb2xsZWRJbmRleCwgdGhpcy5uYkl0ZW1EaXNwbGF5ZWQsIHRoaXMuZGF0YVJlbmRlcmVkKSAhPT0gLTEpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBjb25zb2xlLmxvZygncmVwb3NpdGlvbiB1cCcpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5jZGtWaXJ0dWFsU2Nyb2xsVmlld3BvcnQuc2Nyb2xsVG9JbmRleCh0aGlzLnZpcnR1YWxTY3JvbGxTcGxpY2VGcm9tICsgMSk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICB0aGlzLnN0aWNreUZlYXR1cmVIYW5kbGVyKCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgaWYgKGMgJiYgYy5kYXRhKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgbGVuZ3RoQ2hhbmdlZCA9IHRoaXMuZGF0YVNyYy5sZW5ndGggIT09IGMuZGF0YS5jdXJyZW50VmFsdWUubGVuZ3RoO1xuICAgICAgICAgICAgICAgIHRoaXMuZGF0YVNyYyA9IGMuZGF0YS5jdXJyZW50VmFsdWUgPyBbLi4uYy5kYXRhLmN1cnJlbnRWYWx1ZV0gOiBbXTtcblxuICAgICAgICAgICAgICAgIGlmICh0aGlzLnBhZ2luYXRvciAmJiBsZW5ndGhDaGFuZ2VkKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMucGFnaW5hdG9yLmdvRmlyc3RQYWdlKCk7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgaWYgKCF0aGlzLmlzQXN5bmMgJiYgIWMuZGF0YS5pc0ZpcnN0Q2hhbmdlKCkpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy50YWJsZUZlYXR1cmVzSGFuZGxlclN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnRhYmxlRmVhdHVyZXNIYW5kbGVyKCk7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgdGhpcy5ldWlUYWJsZVYyU2VsZWN0YWJsZVJvd1NlcnZpY2UucmVnaXN0ZXJSb3dzKHRoaXMuZGF0YVNyYyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoYyAmJiBjLnBhZ2luYXRvcj8uY3VycmVudFZhbHVlKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5wYWdpbmF0b3Iuc2V0TGVuZ3RoKHRoaXMuZGF0YS5sZW5ndGgpO1xuICAgICAgICAgICAgICAgIGlmICghYy5wYWdpbmF0b3I/LmlzRmlyc3RDaGFuZ2UoKSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnBhZ2luYXRvci5nb0ZpcnN0UGFnZSgpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgLy8gdGhpcy5kYXRhIGNhbiBiZSBjaGFuZ2VkIGFueXRpbWUsIHRoZW4gdGhpcyBlbHNlIGNhbiBiZSBleGVjdXRlZCBhdCB0aGF0IHRpbWUsIHRlc3RpbmcgdGhpcy5wYWdpbmF0b3IgYWxsb3dzIHRvIG1ha2Ugc3VyZVxuICAgICAgICAgICAgICAgIC8vIHRoZSB1c2VyIHdhbnRzIHRvIGRpc2FibGUgcGFnaW5hdGlvbiBvciBjaGFuZ2UgdGhlIGRhdGFzb3VyY2VcbiAgICAgICAgICAgICAgICBpZiAoIXRoaXMucGFnaW5hdG9yKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZGF0YVJlbmRlcmVkID0gdGhpcy5kYXRhU3JjO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnBhZ2UgPSAwO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChjICYmIGMucHJlc2VsZWN0ZWRSb3dzICYmICFjLnByZXNlbGVjdGVkUm93cy5pc0ZpcnN0Q2hhbmdlKCkpIHtcbiAgICAgICAgICAgIHRoaXMuZXVpVGFibGVWMlNlbGVjdGFibGVSb3dTZXJ2aWNlLnNlbGVjdFJvd3MoYy5wcmVzZWxlY3RlZFJvd3MuY3VycmVudFZhbHVlKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmRhdGFTcmMgPSBbLi4udGhpcy5kYXRhXTtcbiAgICB9XG5cbiAgICBuZ0FmdGVyQ29udGVudEluaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMudGVtcGxhdGVzLmZvckVhY2goKGl0ZW0pID0+IHtcbiAgICAgICAgICAgIGlmIChpdGVtLmdldFR5cGUoKSA9PT0gJ2hlYWRlcicpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmhlYWRlclRlbXBsYXRlID0gaXRlbS50ZW1wbGF0ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChpdGVtLmdldFR5cGUoKSA9PT0gJ2JvZHknKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5ib2R5VGVtcGxhdGUgPSBpdGVtLnRlbXBsYXRlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKGl0ZW0uZ2V0VHlwZSgpID09PSAnZm9vdGVyJykge1xuICAgICAgICAgICAgICAgIHRoaXMuZm9vdGVyVGVtcGxhdGUgPSBpdGVtLnRlbXBsYXRlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKGl0ZW0uZ2V0VHlwZSgpID09PSAnbm9EYXRhJykge1xuICAgICAgICAgICAgICAgIHRoaXMubm9EYXRhVGVtcGxhdGUgPSBpdGVtLnRlbXBsYXRlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICB0ZXN0KGluZGV4KTogdm9pZCB7XG4gICAgICAgIHRoaXMuY2RrVmlydHVhbFNjcm9sbFZpZXdwb3J0LnNjcm9sbFRvSW5kZXgoaW5kZXgpXG4gICAgfVxuXG4gICAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLnN0aWNreUZlYXR1cmVIYW5kbGVyKCk7XG5cbiAgICAgICAgaWYgKHRoaXMuaXNWaXJ0dWFsU2Nyb2xsKSB7XG4gICAgICAgICAgICB0aGlzLmNka1ZpcnR1YWxTY3JvbGxWaWV3cG9ydD8ucmVuZGVyZWRSYW5nZVN0cmVhbVxuICAgICAgICAgICAgICAgIC5waXBlKGRlYm91bmNlVGltZSg1MDApLCB0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpXG4gICAgICAgICAgICAgICAgLnN1YnNjcmliZSgobGlzdFJhbmdlOiBMaXN0UmFuZ2UpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5zdGlja3lGZWF0dXJlSGFuZGxlcigpO1xuICAgICAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICBjb25zdCB0aGVhZEVsZW1lbnRzID0gQXJyYXkuZnJvbSh0aGlzLnRoZWFkUmVmLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvckFsbCgndGgnKSk7XG4gICAgICAgICAgICB0aGlzLm5iQ29scyA9IG5ldyBBcnJheSh0aGVhZEVsZW1lbnRzLmxlbmd0aCk7XG5cbiAgICAgICAgICAgIHRoaXMuY2RrVmlydHVhbFNjcm9sbFZpZXdwb3J0LnNjcm9sbGVkSW5kZXhDaGFuZ2VcbiAgICAgICAgICAgICAgICAucGlwZShkZWJvdW5jZVRpbWUoNTAwKSwgdGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKVxuICAgICAgICAgICAgICAgIC5zdWJzY3JpYmUoKHNjcm9sbGVkSW5kZXg6IG51bWJlcikgPT4ge1xuICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy5pc0FzeW5jKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnNjcm9sbGluZ0RpcmVjdGlvbiA9IHNjcm9sbGVkSW5kZXggPiB0aGlzLnNjcm9sbGVkSW5kZXggPyBTY3JvbGxpbkRpcmVjdGlvbi5ET1dOIDogU2Nyb2xsaW5EaXJlY3Rpb24uVVA7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnNjcm9sbGVkSW5kZXggPSBzY3JvbGxlZEluZGV4O1xuXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmNka1ZpcnR1YWxTY3JvbGxWaWV3cG9ydC5zZXRUb3RhbENvbnRlbnRTaXplKHRoaXMudmlydHVhbFNjcm9sbEFzeW5jSXRlbXNMZW5ndGggKiB0aGlzLml0ZW1TaXplKTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc2Nyb2xsT2Zmc2V0ID0gdGhpcy5jZGtWaXJ0dWFsU2Nyb2xsVmlld3BvcnQubWVhc3VyZVNjcm9sbE9mZnNldCgndG9wJyk7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBlbmRJbmRleCA9IE1hdGguY2VpbCgoc2Nyb2xsT2Zmc2V0ICsgdGhpcy5jZGtWaXJ0dWFsU2Nyb2xsVmlld3BvcnQuZ2V0Vmlld3BvcnRTaXplKCkpIC8gdGhpcy5pdGVtU2l6ZSk7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLm5iSXRlbURpc3BsYXllZCA9IGVuZEluZGV4IC0gc2Nyb2xsZWRJbmRleDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHZpcnR1YWxTY3JvbGxDdXJyZW50TXVsdGlwbGUgPSBNYXRoLmZsb29yKChzY3JvbGxlZEluZGV4ICsgdGhpcy5uYkl0ZW1EaXNwbGF5ZWQpIC8gdGhpcy52aXJ0dWFsU2Nyb2xsTmJSb3dzKTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHNjcm9sbGVkSW5kZXggPiAwKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMuZGF0YVJlbmRlcmVkW3Njcm9sbGVkSW5kZXhdIHx8ICh0aGlzLnNjcm9sbGluZ0RpcmVjdGlvbiA9PT0gU2Nyb2xsaW5EaXJlY3Rpb24uVVAgJiYgdGhpcy5kYXRhUmVuZGVyZWRbc2Nyb2xsZWRJbmRleCAtIDFdKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBjb25zb2xlLmxvZygndmlydHVhbFNjcm9sbEN1cnJlbnRNdWx0aXBsZScsIHZpcnR1YWxTY3JvbGxDdXJyZW50TXVsdGlwbGUpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIGNvbnNvbGUubG9nKCd0aGlzLnZpcnR1YWxTY3JvbGxMYXN0TXVsdGlwbGUnLCB0aGlzLnZpcnR1YWxTY3JvbGxMYXN0TXVsdGlwbGUpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIGNvbnNvbGUubG9nKCd2aXJ0dWFsU2Nyb2xsQ3VycmVudE11bHRpcGxlID4gdGhpcy52aXJ0dWFsU2Nyb2xsTGFzdE11bHRpcGxlJywgdmlydHVhbFNjcm9sbEN1cnJlbnRNdWx0aXBsZSA+IHRoaXMudmlydHVhbFNjcm9sbExhc3RNdWx0aXBsZSlcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAodmlydHVhbFNjcm9sbEN1cnJlbnRNdWx0aXBsZSA+IHRoaXMudmlydHVhbFNjcm9sbExhc3RNdWx0aXBsZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy52aXJ0dWFsU2Nyb2xsU3BsaWNlRnJvbSA9IHZpcnR1YWxTY3JvbGxDdXJyZW50TXVsdGlwbGUgKiB0aGlzLnZpcnR1YWxTY3JvbGxOYlJvd3M7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnNjcm9sbENoYW5nZS5lbWl0KHsgc3RhcnQ6IHZpcnR1YWxTY3JvbGxDdXJyZW50TXVsdGlwbGUgKiB0aGlzLnZpcnR1YWxTY3JvbGxOYlJvd3MsIGVuZDogdGhpcy52aXJ0dWFsU2Nyb2xsTmJSb3dzIH0pO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMudmlydHVhbFNjcm9sbFNwbGljZUZyb20gPSB0aGlzLnJvdW5kRG93bihzY3JvbGxlZEluZGV4LCB0aGlzLnZpcnR1YWxTY3JvbGxOYlJvd3MpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5zY3JvbGxDaGFuZ2UuZW1pdCh7IHN0YXJ0OiB0aGlzLnZpcnR1YWxTY3JvbGxTcGxpY2VGcm9tLCBlbmQ6IHRoaXMudmlydHVhbFNjcm9sbE5iUm93cyB9KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMudmlydHVhbFNjcm9sbExhc3RNdWx0aXBsZSA9IHZpcnR1YWxTY3JvbGxDdXJyZW50TXVsdGlwbGU7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLmNka1ZpcnR1YWxTY3JvbGxWaWV3cG9ydEVsZW1lbnQpIHtcbiAgICAgICAgICAgIHRoaXMuY2RrVmlydHVhbFNjcm9sbFZpZXdwb3J0RWxlbWVudC5uYXRpdmVFbGVtZW50LnN0eWxlLmhlaWdodCA9IHRoaXMuY2RrVmlydHVhbFNjcm9sbFZpZXdwb3J0LmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5wYXJlbnRFbGVtZW50LmNsaWVudEhlaWdodCArICdweCc7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBtdXRhdGlvbk9ic2VydmFibGUgPSBuZXcgT2JzZXJ2YWJsZTxNdXRhdGlvblJlY29yZFtdPigob2JzZXJ2ZXIpID0+IHtcbiAgICAgICAgICAgIHRoaXMubXV0YXRpb25PYnNlcnZlciA9IG5ldyBNdXRhdGlvbk9ic2VydmVyKChtdXRhdGlvbnMpID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBmaWx0ZXJlZE11dGF0aW9ucyA9IG11dGF0aW9ucy5maWx0ZXIoKG11dGF0aW9uKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgICAgICAgICAgICBtdXRhdGlvbi50YXJnZXQgaW5zdGFuY2VvZiBIVE1MRWxlbWVudCAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgbXV0YXRpb24udGFyZ2V0LnRhZ05hbWUudG9Mb3dlckNhc2UoKSA9PT0gJ3RoJyAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgbXV0YXRpb24uYXR0cmlidXRlTmFtZSA9PT0gJ3N0eWxlJ1xuICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICAgICAgaWYgKGZpbHRlcmVkTXV0YXRpb25zLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgICAgICAgICAgb2JzZXJ2ZXIubmV4dChmaWx0ZXJlZE11dGF0aW9ucyk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgIGNvbnN0IGNvbmZpZyA9IHsgYXR0cmlidXRlczogdHJ1ZSwgc3VidHJlZTogdHJ1ZSwgYXR0cmlidXRlRmlsdGVyOiBbJ3N0eWxlJ10gfTtcbiAgICAgICAgICAgIHRoaXMubXV0YXRpb25PYnNlcnZlci5vYnNlcnZlKHRoaXMudGhlYWRSZWYubmF0aXZlRWxlbWVudCwgY29uZmlnKTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgbXV0YXRpb25PYnNlcnZhYmxlLnBpcGUoZGVib3VuY2VUaW1lKDI1MCksIHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSkuc3Vic2NyaWJlKChtdXRhdGlvbnMpID0+IHtcbiAgICAgICAgICAgIHRoaXMuc3RpY2t5RmVhdHVyZUhhbmRsZXIoKTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgaWYgKCF0aGlzLmlzQXN5bmMgJiYgIXRoaXMuaXNWaXJ0dWFsU2Nyb2xsKSB7XG4gICAgICAgICAgICB0aGlzLnRhYmxlRmVhdHVyZXNIYW5kbGVyU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgICAgICAgICB0aGlzLnRhYmxlRmVhdHVyZXNIYW5kbGVyKCk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnNlbGVjdFJvd3NGZWF0dXJlSGFuZGxlcigpO1xuICAgICAgICB0aGlzLnNvcnRGZWF0dXJlSGFuZGxlcigpO1xuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmRlc3Ryb3kkLm5leHQodHJ1ZSk7XG4gICAgICAgIHRoaXMuZGVzdHJveSQudW5zdWJzY3JpYmUoKTtcbiAgICAgICAgdGhpcy5tdXRhdGlvbk9ic2VydmVyPy5kaXNjb25uZWN0KCk7XG4gICAgICAgIHRoaXMudGFibGVGZWF0dXJlc0hhbmRsZXJTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBNb3ZlcyBhbiBlbGVtZW50IHdpdGhpbiB0aGUgcmVuZGVyZWQgZGF0YSBhcnJheS5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBpdGVtSWQgLSBUaGUgaWRlbnRpZmllciAoZGVmYXVsdDogaWQpIG9mIHRoZSBlbGVtZW50IHRvIG1vdmUuXG4gICAgICogQHBhcmFtIGZyb21JbmRleCAtIFRoZSBjdXJyZW50IGluZGV4IG9mIHRoZSBlbGVtZW50IHRvIG1vdmUuXG4gICAgICogQHBhcmFtIHRvSW5kZXggLSBUaGUgbmV3IGRlc2lyZWQgcG9zaXRpb24gZm9yIHRoZSBlbGVtZW50LlxuICAgICAqL1xuICAgIHB1YmxpYyBtb3ZlSXRlbShpdGVtSWQ6IG51bWJlciB8IHN0cmluZywgZnJvbUluZGV4OiBudW1iZXIsIHRvSW5kZXg6IG51bWJlcik6IHZvaWQge1xuICAgICAgICBjb25zdCBpdGVtUG9zaXRpb24gPSB0aGlzLmRhdGFSZW5kZXJlZC5maW5kSW5kZXgoZCA9PiBkICYmIGRbdGhpcy5wcm9wSWRdID09PSBpdGVtSWQpO1xuICAgICAgICBjb25zdCBtb3ZlID0gdG9JbmRleCAtIGZyb21JbmRleDtcblxuICAgICAgICBjb25zdCBzb3VyY2UgPSBbLi4udGhpcy5kYXRhUmVuZGVyZWRdO1xuICAgICAgICBjb25zdCBbZWxlbWVudFRvTW92ZV0gPSBzb3VyY2Uuc3BsaWNlKGl0ZW1Qb3NpdGlvbiwgMSk7XG5cbiAgICAgICAgc291cmNlLnNwbGljZShpdGVtUG9zaXRpb24gKyBtb3ZlLCAwLCBlbGVtZW50VG9Nb3ZlKTtcblxuICAgICAgICB0aGlzLmRhdGFSZW5kZXJlZCA9IHNvdXJjZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBTZWxlY3QgYWxsIHJvd3NcbiAgICAgKi9cbiAgICBwdWJsaWMgc2VsZWN0QWxsUm93cygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5ldWlUYWJsZVYyU2VsZWN0YWJsZVJvd1NlcnZpY2Uuc2VsZWN0QWxsUm93cygpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFVuc2VsZWN0IGFsbCByb3dzXG4gICAgICovXG4gICAgcHVibGljIHVuc2VsZWN0QWxsUm93cygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5ldWlUYWJsZVYyU2VsZWN0YWJsZVJvd1NlcnZpY2UudW5zZWxlY3RBbGxSb3dzKCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmV0dXJuIGFuIGFycmF5IHdpdGggdGhlIGRhdGEgbWF0Y2hpbmcgdGhlIHN0cmluZyBmaWx0ZXJcbiAgICAgKiBAcmV0dXJuc1xuICAgICAqL1xuICAgIHB1YmxpYyBnZXRGaWx0ZXJlZERhdGEoKTogREFUQVtdIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZmlsdGVyZWREYXRhO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFNvcnQgdGhlIHRhYmxlJ3MgZGF0YS5cbiAgICAgKiBAcGFyYW0gc29ydHMgQW4gYXJyYXkgb2YgU29ydE9yZGVyLiBTZWUge0BsaW5rIFNvcnRPcmRlcn1cbiAgICAgKi9cbiAgICBwdWJsaWMgc2V0U29ydChzb3J0czogU29ydFtdKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZXVpVGFibGVWMlNvcnRTZXJ2aWNlLnNldFNvcnRzKHNvcnRzKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZmlsdGVyRGF0YShmaWx0ZXI6IHN0cmluZywgcjogREFUQVtdKTogREFUQVtdIHtcbiAgICAgICAgY29uc3Qgcm93cyA9IGZpbHRlciA/XG4gICAgICAgICAgICByLmZpbHRlcigocm93KSA9PiB7XG4gICAgICAgICAgICAgICAgICBjb25zdCBtYXRjaGluZyA9IHRoaXMuZ2V0UHJvcHMocm93LCBmaWx0ZXIpLmZpbHRlcigocCkgPT4gcC5tYXRjaCA9PT0gdHJ1ZSk7XG4gICAgICAgICAgICAgICAgICByZXR1cm4gbWF0Y2hpbmc/Lmxlbmd0aCA+IDA7XG4gICAgICAgICAgICB9KSA6IHI7XG5cbiAgICAgICAgdGhpcy5ldWlUYWJsZVYyU2VsZWN0YWJsZVJvd1NlcnZpY2UudW5yZWdpc3RlclJvd3MoKTtcbiAgICAgICAgdGhpcy5ldWlUYWJsZVYyU2VsZWN0YWJsZVJvd1NlcnZpY2UucmVnaXN0ZXJSb3dzKHJvd3MpO1xuXG4gICAgICAgIHRoaXMuZmlsdGVyZWREYXRhID0gcm93cztcblxuICAgICAgICByZXR1cm4gcm93cztcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgZ2V0IHN0aWNreUhlYWRlclRvcFBvc2l0aW9uKCk6IHN0cmluZyB7XG4gICAgICAgIGlmICghdGhpcy5jZGtWaXJ0dWFsU2Nyb2xsVmlld3BvcnQgfHwgIXRoaXMuY2RrVmlydHVhbFNjcm9sbFZpZXdwb3J0WydfcmVuZGVyZWRDb250ZW50T2Zmc2V0J10pIHtcbiAgICAgICAgICAgIHJldHVybiAnMCc7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gKC10aGlzLmNka1ZpcnR1YWxTY3JvbGxWaWV3cG9ydFsnX3JlbmRlcmVkQ29udGVudE9mZnNldCddIC0gMSkgKyAncHgnO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBnZXQgc3RpY2t5Rm9vdGVyQm90dG9tUG9zaXRpb24oKTogc3RyaW5nIHtcbiAgICAgICAgaWYgKCF0aGlzLmNka1ZpcnR1YWxTY3JvbGxWaWV3cG9ydCB8fCAhdGhpcy5jZGtWaXJ0dWFsU2Nyb2xsVmlld3BvcnRbJ19yZW5kZXJlZENvbnRlbnRPZmZzZXQnXSkge1xuICAgICAgICAgICAgcmV0dXJuICctMXB4JztcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB0aGlzLmNka1ZpcnR1YWxTY3JvbGxWaWV3cG9ydFsnX3JlbmRlcmVkQ29udGVudE9mZnNldCddIC0gMSArICdweCc7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGdldCBjZGtWaXJ0dWFsU2Nyb2xsVmlld3BvcnRXaWR0aCgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gKHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50Py5wYXJlbnRFbGVtZW50Py5jbGllbnRXaWR0aCB8fCAwKSArICdweCc7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGdldCBob3N0V2lkdGgoKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnN0eWxlLndpZHRoO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCB0cmFja0J5Rm4oaW5kZXg6IG51bWJlcik6IG51bWJlciB7XG4gICAgICAgIHJldHVybiBpbmRleDtcbiAgICB9XG5cbiAgICBwcml2YXRlIHRhYmxlRmVhdHVyZXNIYW5kbGVyKCk6IHZvaWQge1xuICAgICAgICB0aGlzLnRhYmxlRmVhdHVyZXNIYW5kbGVyU3Vic2NyaXB0aW9uID0gY29tYmluZUxhdGVzdChcbiAgICAgICAgICAgIHRoaXMucGFnaW5hdG9yID8gdGhpcy5wYWdpbmF0b3IucGFnZSQgOiBuZXcgQmVoYXZpb3JTdWJqZWN0KG51bGwpLFxuICAgICAgICAgICAgdGhpcy5maWx0ZXIgPyB0aGlzLmZpbHRlci5maWx0ZXIkIDogbmV3IEJlaGF2aW9yU3ViamVjdChudWxsKSxcbiAgICAgICAgICAgIHRoaXMuZXVpVGFibGVWMlNvcnRTZXJ2aWNlLnNvcnRzLFxuICAgICAgICApLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKS5zdWJzY3JpYmUoKFtwYWdpbmF0aW9uLCBmaWx0ZXIsIHNvcnRzXTogW0V1aVBhZ2luYXRpb25FdmVudCwgc3RyaW5nLCBTb3J0W11dKSA9PiB7XG4gICAgICAgICAgICBsZXQgciA9IFsuLi50aGlzLmRhdGFTcmNdO1xuXG4gICAgICAgICAgICBpZiAoc29ydHMubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgICAgIHIgPSB0aGlzLnNvcnREYXRhKHNvcnRzLCByKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgciA9IHRoaXMuZmlsdGVyRGF0YShmaWx0ZXIsIHIpO1xuXG4gICAgICAgICAgICBpZiAodGhpcy5wYWdpbmF0b3IpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnBhZ2luYXRvci5zZXRMZW5ndGgoci5sZW5ndGgpO1xuICAgICAgICAgICAgICAgIHIgPSB0aGlzLnBhZ2luYXRlUm93cyhwYWdpbmF0aW9uLCByKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgdGhpcy5kYXRhUmVuZGVyZWQgPSByO1xuICAgICAgICAgICAgaWYgKHRoaXMuaXNTZWxlY3RPbmx5VmlzaWJsZVJvd3MpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmV1aVRhYmxlVjJTZWxlY3RhYmxlUm93U2VydmljZS51bnNlbGVjdEFsbFJvd3MoKTtcbiAgICAgICAgICAgICAgICB0aGlzLmV1aVRhYmxlVjJTZWxlY3RhYmxlUm93U2VydmljZS51bnJlZ2lzdGVyUm93cygpO1xuICAgICAgICAgICAgICAgIHRoaXMuZXVpVGFibGVWMlNlbGVjdGFibGVSb3dTZXJ2aWNlLnJlZ2lzdGVyUm93cyh0aGlzLmRhdGFSZW5kZXJlZCk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmICh0aGlzLnByZXNlbGVjdGVkUm93cykge1xuICAgICAgICAgICAgICAgIHRoaXMuZXVpVGFibGVWMlNlbGVjdGFibGVSb3dTZXJ2aWNlLnNlbGVjdFJvd3ModGhpcy5wcmVzZWxlY3RlZFJvd3MpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB0aGlzLmNkLmRldGVjdENoYW5nZXMoKTtcblxuICAgICAgICAgICAgaWYgKHRoaXMuaGFzU3RpY2t5Q29scykge1xuICAgICAgICAgICAgICAgIHRoaXMuc3RpY2t5RmVhdHVyZUhhbmRsZXIoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzb3J0RGF0YShzb3J0Q3JpdGVyaWFzOiB7IHNvcnQ6IHN0cmluZywgb3JkZXI6IFNvcnRPcmRlciB9W10sIHI6IERBVEFbXSk6IERBVEFbXSB7XG4gICAgICAgIGlmIChzb3J0Q3JpdGVyaWFzLmV2ZXJ5KGNyaXRlcmlhID0+IGNyaXRlcmlhLm9yZGVyID09PSBudWxsKSkge1xuICAgICAgICAgICAgcmV0dXJuIHIuc2xpY2UoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiByLnNvcnQoKGEsIGIpID0+IHtcbiAgICAgICAgICAgIGZvciAoY29uc3QgY3JpdGVyaWEgb2Ygc29ydENyaXRlcmlhcykge1xuICAgICAgICAgICAgICAgIGNvbnN0IGFWYWx1ZSA9IHRoaXMuZ2V0T2JqUHJvcChhLCBjcml0ZXJpYS5zb3J0KTtcbiAgICAgICAgICAgICAgICBjb25zdCBiVmFsdWUgPSB0aGlzLmdldE9ialByb3AoYiwgY3JpdGVyaWEuc29ydCk7XG5cbiAgICAgICAgICAgICAgICBpZiAoYVZhbHVlID09PSBiVmFsdWUpIHtcbiAgICAgICAgICAgICAgICAgICAgY29udGludWU7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgaWYgKGFWYWx1ZSA9PT0gbnVsbCB8fCBhVmFsdWUgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gY3JpdGVyaWEub3JkZXIgPT09ICdhc2MnID8gLTEgOiAxO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAoYlZhbHVlID09PSBudWxsIHx8IGJWYWx1ZSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBjcml0ZXJpYS5vcmRlciA9PT0gJ2FzYycgPyAxIDogLTE7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgaWYgKHR5cGVvZiBhVmFsdWUgPT09ICdib29sZWFuJyAmJiB0eXBlb2YgYlZhbHVlID09PSAnYm9vbGVhbicpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGNyaXRlcmlhLm9yZGVyID09PSAnYXNjJyA/IChhVmFsdWUgPyAtMSA6IDEpIDogKGJWYWx1ZSA/IC0xIDogMSk7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgaWYgKHR5cGVvZiBhVmFsdWUgPT09ICdudW1iZXInICYmIHR5cGVvZiBiVmFsdWUgPT09ICdudW1iZXInKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBjcml0ZXJpYS5vcmRlciA9PT0gJ2FzYycgPyBhVmFsdWUgLSBiVmFsdWUgOiBiVmFsdWUgLSBhVmFsdWU7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgY29uc3QgYVZhbHVlU3RyID0gdHlwZW9mIGFWYWx1ZSA9PT0gJ3N0cmluZycgPyBhVmFsdWUudG9Mb3dlckNhc2UoKSA6IGFWYWx1ZTtcbiAgICAgICAgICAgICAgICBjb25zdCBiVmFsdWVTdHIgPSB0eXBlb2YgYlZhbHVlID09PSAnc3RyaW5nJyA/IGJWYWx1ZS50b0xvd2VyQ2FzZSgpIDogYlZhbHVlO1xuXG4gICAgICAgICAgICAgICAgY29uc3QgY29tcGFyaXNvbiA9IGNyaXRlcmlhLm9yZGVyID09PSAnYXNjJyA/IGFWYWx1ZVN0ci5sb2NhbGVDb21wYXJlKGJWYWx1ZVN0cikgOiBiVmFsdWVTdHIubG9jYWxlQ29tcGFyZShhVmFsdWVTdHIpO1xuXG4gICAgICAgICAgICAgICAgaWYgKGNvbXBhcmlzb24gIT09IDApIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGNvbXBhcmlzb247XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICByZXR1cm4gMDtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBwYWdpbmF0ZVJvd3MocGFnaW5hdGlvbjogRXVpUGFnaW5hdGlvbkV2ZW50LCByOiBEQVRBW10pOiBEQVRBW10ge1xuICAgICAgICB0aGlzLnBhZ2UgPSBwYWdpbmF0aW9uLnBhZ2U7XG4gICAgICAgIHRoaXMucGFnZVNpemUgPSBwYWdpbmF0aW9uLnBhZ2VTaXplO1xuXG4gICAgICAgIHJldHVybiByLnNsaWNlKHRoaXMucGFnZSAqIHRoaXMucGFnZVNpemUsIHRoaXMucGFnZSAqIHRoaXMucGFnZVNpemUgKyB0aGlzLnBhZ2VTaXplKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHJvdW5kRG93bihpbmRleDogbnVtYmVyLCBuYlJvd3M6IG51bWJlcik6IG51bWJlciB7XG4gICAgICAgIHJldHVybiBNYXRoLmZsb29yKGluZGV4IC8gbmJSb3dzKSAqIG5iUm93cztcbiAgICB9XG5cbiAgICBwcml2YXRlIGhhc1VuZGVmaW5lZEluUmFuZ2Uoc3RhcnRJbmRleDogbnVtYmVyLCBsaW1pdDogbnVtYmVyLCBkYXRhUmVuZGVyZWQ6IERBVEFbXSk6IG51bWJlciB7XG4gICAgICAgIGZvciAobGV0IGkgPSBzdGFydEluZGV4OyBpIDwgc3RhcnRJbmRleCArIGxpbWl0OyBpICsrKSB7XG4gICAgICAgICAgICBpZiAoZGF0YVJlbmRlcmVkW2ldID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gaTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiAtMTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHN0aWNreUZlYXR1cmVIYW5kbGVyKCk6IHZvaWQge1xuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGNvbnRhaW5lcldpZHRoID0gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQ/LnBhcmVudEVsZW1lbnQ/LmNsaWVudFdpZHRoIHx8IDA7XG5cbiAgICAgICAgICAgIGNvbnN0IHByb2Nlc3NTdGlja3lJdGVtcyA9IChpdGVtczogSFRNTFRhYmxlQ2VsbEVsZW1lbnRbXSk6IHZvaWQgPT4ge1xuICAgICAgICAgICAgICAgIGl0ZW1zLmZvckVhY2goKGl0ZW0sIGkpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgaXNTdGlja3lGaXJzdENvbCA9IGl0ZW0ub2Zmc2V0TGVmdCArIGl0ZW0uY2xpZW50V2lkdGggPCBjb250YWluZXJXaWR0aDtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgaXNTdGlja3lMYXN0Q29sID0gaXRlbS5vZmZzZXRMZWZ0ICsgaXRlbS5jbGllbnRXaWR0aCA+IGNvbnRhaW5lcldpZHRoO1xuXG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGl0ZW1zU3RpY2t5ID0gaXNTdGlja3lGaXJzdENvbFxuICAgICAgICAgICAgICAgICAgICAgICAgPyBpdGVtcy5maWx0ZXIoKGl0KSA9PiBpdC5vZmZzZXRMZWZ0ICsgaXQuY2xpZW50V2lkdGggPCBjb250YWluZXJXaWR0aClcbiAgICAgICAgICAgICAgICAgICAgICAgIDogaXNTdGlja3lMYXN0Q29sXG4gICAgICAgICAgICAgICAgICAgICAgICA/IGl0ZW1zLmZpbHRlcigoaXQpID0+IGl0Lm9mZnNldExlZnQgKyBpdC5jbGllbnRXaWR0aCA+IGNvbnRhaW5lcldpZHRoKVxuICAgICAgICAgICAgICAgICAgICAgICAgOiBbXTtcblxuICAgICAgICAgICAgICAgICAgICBpdGVtc1N0aWNreS5mb3JFYWNoKChpdCwgaikgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdyA9IGl0ZW1zU3RpY2t5W2ogLSAxXT8uY2xpZW50V2lkdGg7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBvZmZzZXQgPSBpc1N0aWNreUZpcnN0Q29sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPyBwYXJzZUludChpdGVtc1N0aWNreVtqIC0gMV0/LnN0eWxlLmxlZnQsIDEwKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogcGFyc2VJbnQoaXRlbXNTdGlja3lbaiAtIDFdPy5zdHlsZS5yaWdodCwgMTApO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoaXNTdGlja3lGaXJzdENvbCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGl0LnN0eWxlLmxlZnQgPSAoaiA9PT0gMCA/IDAgOiB3ICsgb2Zmc2V0KSArICdweCc7XG4gICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKGlzU3RpY2t5TGFzdENvbCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGl0LnN0eWxlLnJpZ2h0ID0gKGogPT09IDAgPyAwIDogdyArIG9mZnNldCkgKyAncHgnO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoaiArIDEgPT09IGl0ZW1zU3RpY2t5Lmxlbmd0aCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMucmVuZGVyZXIuYWRkQ2xhc3MoaXQsIGBldWktdGFibGUtdjJfX2NvbC0tc3RpY2t5LXNoYWRvd2VkLSR7aXNTdGlja3lGaXJzdENvbCA/ICdmaXJzdCcgOiAnbGFzdCd9YCk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfTtcblxuICAgICAgICAgICAgaWYgKHRoaXMudGhlYWRSZWYpIHtcbiAgICAgICAgICAgICAgICBjb25zdCB0aEl0ZW1zOiBIVE1MVGFibGVDZWxsRWxlbWVudFtdID0gQXJyYXkuZnJvbSh0aGlzLnRoZWFkUmVmLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvckFsbCgnLmV1aS10YWJsZS12Ml9fY29sLS1zdGlja3knKSk7XG4gICAgICAgICAgICAgICAgcHJvY2Vzc1N0aWNreUl0ZW1zKHRoSXRlbXMpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBjb25zdCBib2R5VHJJdGVtcyA9IEFycmF5LmZyb20odGhpcy50Ym9keVJlZi5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJ3RyJykpO1xuICAgICAgICAgICAgYm9keVRySXRlbXMuZm9yRWFjaCgodHIpID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCB0ZEl0ZW1zOiBIVE1MVGFibGVDZWxsRWxlbWVudFtdID0gQXJyYXkuZnJvbSh0ci5xdWVyeVNlbGVjdG9yQWxsKCcuZXVpLXRhYmxlLXYyX19jb2wtLXN0aWNreScpKTtcbiAgICAgICAgICAgICAgICBwcm9jZXNzU3RpY2t5SXRlbXModGRJdGVtcyk7XG4gICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgaWYgKHRoaXMudGZvb3RSZWYpIHtcbiAgICAgICAgICAgICAgICBjb25zdCB0ZEl0ZW1zOiBIVE1MVGFibGVDZWxsRWxlbWVudFtdID0gQXJyYXkuZnJvbSh0aGlzLnRmb290UmVmLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvckFsbCgnLmV1aS10YWJsZS12Ml9fY29sLS1zdGlja3knKSk7XG4gICAgICAgICAgICAgICAgcHJvY2Vzc1N0aWNreUl0ZW1zKHRkSXRlbXMpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9LCAyNTApO1xuICAgIH1cblxuICAgIHByaXZhdGUgc2VsZWN0Um93c0ZlYXR1cmVIYW5kbGVyKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmV1aVRhYmxlVjJTZWxlY3RhYmxlUm93U2VydmljZS5zZWxlY3RlZFJvd3MucGlwZShza2lwKDEpLCB0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpLnN1YnNjcmliZSgoc2VsZWN0ZWQpID0+IHtcbiAgICAgICAgICAgIHRoaXMucm93c1NlbGVjdC5lbWl0KHNlbGVjdGVkKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzb3J0RmVhdHVyZUhhbmRsZXIoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZXVpVGFibGVWMlNvcnRTZXJ2aWNlLnNvcnRzLnBpcGUoc2tpcCgxKSwgdGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKS5zdWJzY3JpYmUoKHNvcnRzOiBTb3J0W10pID0+IHtcbiAgICAgICAgICAgIHRoaXMuc29ydENoYW5nZS5lbWl0KHNvcnRzKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRQcm9wcyhyb3c6IERBVEEsIGZpbHRlcjogc3RyaW5nKTogeyBrZXk6IHN0cmluZzsgbWF0Y2g6IGJvb2xlYW47IHZhbHVlOiBzdHJpbmcgfCBudW1iZXIgfVtdIHtcbiAgICAgICAgY29uc3QgaXNPYmplY3QgPSAodmFsOiBzdHJpbmcgfCBudW1iZXIpOiBib29sZWFuID0+IHZhbCAmJiB0eXBlb2YgdmFsID09PSAnb2JqZWN0JztcbiAgICAgICAgY29uc3QgYWRkRGVsaW1pdGVyID0gKGE6IHN0cmluZywgYjogc3RyaW5nKTogc3RyaW5nID0+IChhICYmIGEgIT09ICcwJyA/IGAke2F9LiR7Yn1gIDogYik7XG4gICAgICAgIGNvbnN0IHByb3BzOiB7IGtleTogc3RyaW5nLCBtYXRjaDogYm9vbGVhbiwgdmFsdWU6IHN0cmluZyB8IG51bWJlciB9W10gPSBbXTtcbiAgICAgICAgY29uc3QgcGF0aHMgPSAocGF0aE9iajogREFUQSwgaGVhZCA9ICcnKTogc3RyaW5nW10gPT4ge1xuICAgICAgICAgICAgcmV0dXJuIE9iamVjdC5lbnRyaWVzKHBhdGhPYmopLnJlZHVjZSgocHJvZHVjdCwgW2tleSwgdmFsdWVdKSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgZnVsbFBhdGggPSBhZGREZWxpbWl0ZXIoaGVhZCwga2V5KTtcbiAgICAgICAgICAgICAgICBjb25zdCBtYXRjaCA9ICh2OiBzdHJpbmcgfCBudW1iZXIpOiBib29sZWFuID0+IHYgJiYgdHlwZW9mIHYgIT09ICdvYmplY3QnICYmIHY/LnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKS5pbmRleE9mKGZpbHRlcj8udHJpbSgpLnRvTG93ZXJDYXNlKCkpICE9PSAtMTtcblxuICAgICAgICAgICAgICAgIGlmIChrZXkgIT09ICcwJyAmJiB0eXBlb2YgdmFsdWUgIT09ICdvYmplY3QnKSB7XG4gICAgICAgICAgICAgICAgICAgIHByb3BzLnB1c2goeyBrZXk6IGFkZERlbGltaXRlcihoZWFkLCBrZXkpLCBtYXRjaDogbWF0Y2godmFsdWUpLCB2YWx1ZSB9KTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICByZXR1cm4gaXNPYmplY3QodmFsdWUpID8gcHJvZHVjdC5jb25jYXQocGF0aHModmFsdWUsIGZ1bGxQYXRoKSkgOiBwcm9kdWN0LmNvbmNhdChmdWxsUGF0aCk7XG4gICAgICAgICAgICB9LCBbXSk7XG4gICAgICAgIH07XG5cbiAgICAgICAgcGF0aHMocm93KTtcbiAgICAgICAgcmV0dXJuIHByb3BzO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0T2JqUHJvcChvYmo6IERBVEEsIHByb3A6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiBwcm9wID8gcHJvcC5zcGxpdCgnLicpLnJlZHVjZSgocHJldiwgY3VycikgPT4gKHByZXYgPyBwcmV2W2N1cnJdIDogbnVsbCksIG9iaiB8fCBzZWxmKSA6IG51bGw7XG4gICAgfVxufVxuIiwiPCEtLSA8YnV0dG9uIChjbGljayk9XCJ0ZXN0KDE5MjUwKVwiPjE5MjUwPC9idXR0b24+XG48YnV0dG9uIChjbGljayk9XCJ0ZXN0KDc4OTUpXCI+Nzg5NTwvYnV0dG9uPlxuPGJ1dHRvbiAoY2xpY2spPVwidGVzdCgxNjg2MClcIj4xNjg2MDwvYnV0dG9uPlxuPGJ1dHRvbiAoY2xpY2spPVwidGVzdCgxNjg3MClcIj4xNjg3MDwvYnV0dG9uPlxuPGJ1dHRvbiAoY2xpY2spPVwidGVzdCgxNjg4MClcIj4xNjg4MDwvYnV0dG9uPlxuPGJ1dHRvbiAoY2xpY2spPVwidGVzdCgxNjg5MClcIj4xNjg5MDwvYnV0dG9uPlxuPGJ1dHRvbiAoY2xpY2spPVwidGVzdCgxNjkwMClcIj4xNjkwMDwvYnV0dG9uPlxuPGJ1dHRvbiAoY2xpY2spPVwidGVzdCgyNjk5OClcIj4yNjk5ODwvYnV0dG9uPlxuPGJ1dHRvbiAoY2xpY2spPVwidGVzdCgyODAwMClcIj4yODAwMDwvYnV0dG9uPiAtLT5cbkBpZiAoaXNWaXJ0dWFsU2Nyb2xsKSB7XG4gICAgPGNkay12aXJ0dWFsLXNjcm9sbC12aWV3cG9ydFxuICAgICAgICAjY2RrVmlydHVhbFNjcm9sbFZpZXdwb3J0XG4gICAgICAgICNjZGtWaXJ0dWFsU2Nyb2xsVmlld3BvcnRFbGVtZW50XG4gICAgICAgIGNsYXNzPVwiZXVpLXRhYmxlLXYyX19zY3JvbGwtdmlld3BvcnRcIlxuICAgICAgICBbaXRlbVNpemVdPVwiaXRlbVNpemVcIlxuICAgICAgICBbc3R5bGUub3ZlcmZsb3ddPVwiY2RrVmlydHVhbFNjcm9sbFZpZXdwb3J0T3ZlcmZsb3dWYWx1ZVwiXG4gICAgICAgIHRhYmluZGV4PVwiMFwiPlxuICAgICAgICA8dGFibGUgY2xhc3M9XCJ7eyBjc3NDbGFzc2VzIH19XCIgW3N0eWxlLndpZHRoXT1cImhvc3RXaWR0aFwiPlxuICAgICAgICAgICAgQGlmIChoZWFkZXJUZW1wbGF0ZSkge1xuICAgICAgICAgICAgICAgIDx0aGVhZCAjdGhlYWRSZWYgW3N0eWxlLnRvcF09XCJzdGlja3lIZWFkZXJUb3BQb3NpdGlvblwiPlxuICAgICAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgW25nVGVtcGxhdGVPdXRsZXRdPVwiaGVhZGVyVGVtcGxhdGVcIj48L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgICAgIDwvdGhlYWQ+XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBAaWYgKGJvZHlUZW1wbGF0ZSkge1xuICAgICAgICAgICAgICAgIDx0Ym9keSAjdGJvZHlSZWY+XG4gICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKmNka1ZpcnR1YWxGb3I9XCJsZXQgcm93IG9mIGRhdGFSZW5kZXJlZDsgbGV0IGkgPSBpbmRleDsgdHJhY2tCeTogdHJhY2tCeUZuXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICBAaWYgKHJvdykge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJib2R5VGVtcGxhdGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwieyAkaW1wbGljaXQ6IHJvdywgaW5kZXg6IGkgfVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgICAgICAgICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgW25nVGVtcGxhdGVPdXRsZXRdPVwic2tlbGV0b25Mb2FkaW5nXCI+PC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgICAgICAgICAgICAgICAgQGlmIChub0RhdGFUZW1wbGF0ZSAmJiAoZGF0YT8ubGVuZ3RoID09PSAwIHx8IGRhdGFSZW5kZXJlZD8ubGVuZ3RoID09PSAwKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlIFtuZ1RlbXBsYXRlT3V0bGV0XT1cIm5vRGF0YVRlbXBsYXRlXCI+PC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIDwvdGJvZHk+XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBAaWYgKGZvb3RlclRlbXBsYXRlKSB7XG4gICAgICAgICAgICAgICAgPHRmb290ICN0Zm9vdFJlZiBbc3R5bGUuYm90dG9tXT1cInN0aWNreUZvb3RlckJvdHRvbVBvc2l0aW9uXCI+XG4gICAgICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSBbbmdUZW1wbGF0ZU91dGxldF09XCJmb290ZXJUZW1wbGF0ZVwiPjwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgICAgICAgPC90Zm9vdD5cbiAgICAgICAgICAgIH1cbiAgICAgICAgPC90YWJsZT5cbiAgICA8L2Nkay12aXJ0dWFsLXNjcm9sbC12aWV3cG9ydD5cbn0gQGVsc2Uge1xuICAgIEBpZiAoaGVhZGVyVGVtcGxhdGUpIHtcbiAgICAgICAgPHRoZWFkICN0aGVhZFJlZj5cbiAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSBbbmdUZW1wbGF0ZU91dGxldF09XCJoZWFkZXJUZW1wbGF0ZVwiPjwvbmctdGVtcGxhdGU+XG4gICAgICAgIDwvdGhlYWQ+XG4gICAgfVxuICAgIEBpZiAoYm9keVRlbXBsYXRlKSB7XG4gICAgICAgIDx0Ym9keSAjdGJvZHlSZWY+XG4gICAgICAgICAgICBAZm9yIChyb3cgb2YgZGF0YVJlbmRlcmVkOyBsZXQgaSA9ICRpbmRleDsgdHJhY2sgJGluZGV4KSB7XG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlXG4gICAgICAgICAgICAgICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJib2R5VGVtcGxhdGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cInsgJGltcGxpY2l0OiByb3csIGluZGV4OiBpIH1cIj5cbiAgICAgICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIEBpZiAobm9EYXRhVGVtcGxhdGUgJiYgKGRhdGE/Lmxlbmd0aCA9PT0gMCB8fCBkYXRhUmVuZGVyZWQ/Lmxlbmd0aCA9PT0gMCkpIHtcbiAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgW25nVGVtcGxhdGVPdXRsZXRdPVwibm9EYXRhVGVtcGxhdGVcIj48L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgfVxuICAgICAgICA8L3Rib2R5PlxuICAgIH1cbiAgICBAaWYgKGZvb3RlclRlbXBsYXRlKSB7XG4gICAgICAgIDx0Zm9vdCAjdGZvb3RSZWY+XG4gICAgICAgICAgICA8bmctdGVtcGxhdGUgW25nVGVtcGxhdGVPdXRsZXRdPVwiZm9vdGVyVGVtcGxhdGVcIj48L25nLXRlbXBsYXRlPlxuICAgICAgICA8L3Rmb290PlxuICAgIH1cbn1cblxuPG5nLXRlbXBsYXRlICNza2VsZXRvbkxvYWRpbmc+XG4gICAgPHRyIFtzdHlsZS5oZWlnaHQucHhdPVwiaXRlbVNpemVcIj5cbiAgICAgICAgPHRkICpuZ0Zvcj1cImxldCBfXyBvZiBuYkNvbHNcIj48ZXVpLXNrZWxldG9uIGxpbmUgZXVpUm91bmRlZD48L2V1aS1za2VsZXRvbj48L3RkPlxuICAgIDwvdHI+XG48L25nLXRlbXBsYXRlPlxuIl19
575
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXVpLXRhYmxlLXYyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2V1aS10YWJsZS12Mi9ldWktdGFibGUtdjIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vZXVpLXRhYmxlLXYyL2V1aS10YWJsZS12Mi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxlQUFlLEVBQTRDLFNBQVMsRUFBaUIsVUFBVSxFQUFFLGdCQUFnQixFQUFFLFdBQVcsRUFDckosaUJBQWlCLEVBQUUsdUJBQXVCLEVBQXFCLE1BQU0sRUFBRSxZQUFZLEVBQTRCLGVBQWUsRUFDbkgsTUFBTSxlQUFlLENBQUM7QUFFckMsT0FBTyxFQUFFLGVBQWUsRUFBRSxVQUFVLEVBQUUsT0FBTyxFQUFFLFlBQVksRUFBRSxhQUFhLEVBQUUsWUFBWSxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFJeEgsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDbEUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFFN0QsT0FBTyxFQUFFLDhCQUE4QixFQUFFLE1BQU0sZ0RBQWdELENBQUM7QUFFaEcsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7Ozs7Ozs7O0FBRzdFLE1BQU0sQ0FBTixJQUFZLGlCQUdYO0FBSEQsV0FBWSxpQkFBaUI7SUFDekIsOEJBQVMsQ0FBQTtJQUNULGtDQUFhLENBQUE7QUFDakIsQ0FBQyxFQUhXLGlCQUFpQixLQUFqQixpQkFBaUIsUUFHNUI7QUFnQkQsTUFBTSxPQUFPLG1CQUFtQjtJQUM1QixJQUNXLFVBQVU7UUFDakIsT0FBTztZQUNILElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxhQUFhLENBQUMsZ0NBQWdDLENBQUM7WUFDeEUsSUFBSSxDQUFDLGVBQWUs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QXdCO3NCQUEzRixTQUFTO3VCQUFDLDBCQUEwQixFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRTtnQkFDcUMsK0JBQStCO3NCQUEzSCxTQUFTO3VCQUFDLGlDQUFpQyxFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFO2dCQUMxRCxRQUFRO3NCQUE5QixTQUFTO3VCQUFDLFVBQVU7Z0JBQ0UsUUFBUTtzQkFBOUIsU0FBUzt1QkFBQyxVQUFVO2dCQUNFLFFBQVE7c0JBQTlCLFNBQVM7dUJBQUMsVUFBVTtnQkFFWCxZQUFZO3NCQUFyQixNQUFNO2dCQUNHLFVBQVU7c0JBQW5CLE1BQU07Z0JBQ0csVUFBVTtzQkFBbkIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIENvbnRlbnRDaGlsZHJlbiwgUXVlcnlMaXN0LCBBZnRlckNvbnRlbnRJbml0LCBUZW1wbGF0ZVJlZiwgVmlld0NoaWxkLCBBZnRlclZpZXdJbml0LCBFbGVtZW50UmVmLCBib29sZWFuQXR0cmlidXRlLCBIb3N0QmluZGluZyxcbiAgICBWaWV3RW5jYXBzdWxhdGlvbiwgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIE9uRGVzdHJveSwgT25Jbml0LCBPdXRwdXQsIEV2ZW50RW1pdHRlciwgU2ltcGxlQ2hhbmdlcywgT25DaGFuZ2VzLCBudW1iZXJBdHRyaWJ1dGUsIENoYW5nZURldGVjdG9yUmVmLFxuICAgIFJlbmRlcmVyMiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ2RrVmlydHVhbFNjcm9sbFZpZXdwb3J0IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3Njcm9sbGluZyc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIE9ic2VydmFibGUsIFN1YmplY3QsIFN1YnNjcmlwdGlvbiwgY29tYmluZUxhdGVzdCwgZGVib3VuY2VUaW1lLCBza2lwLCB0YWtlVW50aWwgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IExpc3RSYW5nZSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9jb2xsZWN0aW9ucyc7XG5cbmltcG9ydCB7IEV1aVBhZ2luYXRpb25FdmVudCwgRXVpUGFnaW5hdG9yQ29tcG9uZW50IH0gZnJvbSAnQGV1aS9jb21wb25lbnRzL2V1aS1wYWdpbmF0b3InO1xuaW1wb3J0IHsgRXVpVGVtcGxhdGVEaXJlY3RpdmUgfSBmcm9tICdAZXVpL2NvbXBvbmVudHMvZGlyZWN0aXZlcyc7XG5pbXBvcnQgeyBCYXNlU3RhdGVzRGlyZWN0aXZlIH0gZnJvbSAnQGV1aS9jb21wb25lbnRzL3NoYXJlZCc7XG5cbmltcG9ydCB7IEV1aVRhYmxlVjJTZWxlY3RhYmxlUm93U2VydmljZSB9IGZyb20gJy4vc2VydmljZXMvZXVpLXRhYmxlLXYyLXNlbGVjdGFibGUtcm93LnNlcnZpY2UnO1xuaW1wb3J0IHsgRXVpVGFibGVWMkZpbHRlckNvbXBvbmVudCB9IGZyb20gJy4vZmlsdGVyL2V1aS10YWJsZS12Mi1maWx0ZXIuY29tcG9uZW50JztcbmltcG9ydCB7IEV1aVRhYmxlVjJTb3J0U2VydmljZSB9IGZyb20gJy4vc2VydmljZXMvZXVpLXRhYmxlLXYyLXNvcnQuc2VydmljZSc7XG5pbXBvcnQgeyBTb3J0LCBTb3J0T3JkZXIgfSBmcm9tICcuL21vZGVscy9zb3J0Lm1vZGVsJztcblxuZXhwb3J0IGVudW0gU2Nyb2xsaW5EaXJlY3Rpb24ge1xuICAgIFVQID0gJ1VQJyxcbiAgICBET1dOID0gJ0RPV04nLFxufVxuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2V1aS10YWJsZS12MiwgdGFibGVbZXVpVGFibGVWMl0nLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9ldWktdGFibGUtdjIuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL3N0eWxlcy9faW5kZXguc2NzcyddLFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgcHJvdmlkZXJzOiBbRXVpVGFibGVWMlNlbGVjdGFibGVSb3dTZXJ2aWNlLCBFdWlUYWJsZVYyU29ydFNlcnZpY2VdLFxuICAgIGhvc3REaXJlY3RpdmVzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICAgIGRpcmVjdGl2ZTogQmFzZVN0YXRlc0RpcmVjdGl2ZSxcbiAgICAgICAgICAgIGlucHV0czogW10sXG4gICAgICAgIH0sXG4gICAgXSxcbn0pXG5leHBvcnQgY2xhc3MgRXVpVGFibGVWMkNvbXBvbmVudDxEQVRBID0gdW5rbm93bj4gaW1wbGVtZW50cyBBZnRlckNvbnRlbnRJbml0LCBBZnRlclZpZXdJbml0LCBPbkRlc3Ryb3ksIE9uSW5pdCwgT25DaGFuZ2VzIHtcbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzJylcbiAgICBwdWJsaWMgZ2V0IGNzc0NsYXNzZXMoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIFtcbiAgICAgICAgICAgIHRoaXMuYmFzZVN0YXRlc0RpcmVjdGl2ZS5nZXRDc3NDbGFzc2VzKCdldWktdGFibGUtZGVmYXVsdCBldWktdGFibGUtdjInKSxcbiAgICAgICAgICAgIHRoaXMuaXNWaXJ0dWFsU2Nyb2xsID8gJ2V1aS10YWJsZS12Mi0tdmlydHVhbC1zY3JvbGwnIDogJycsXG4gICAgICAgICAgICB0aGlzLmhhc1N0aWNreUhlYWRlciA/ICdldWktdGFibGUtdjItLXN0aWNreSBldWktdGFibGUtdjItLXN0aWNreS1oZWFkZXInIDogJycsXG4gICAgICAgICAgICB0aGlzLmhhc1N0aWNreUZvb3RlciA/ICdldWktdGFibGUtdjItLXN0aWNreSBldWktdGFibGUtdjItLXN0aWNreS1mb290ZXInIDogJycsXG4gICAgICAgICAgICB0aGlzLmhhc1N0aWNreUNvbHMgPyAnZXVpLXRhYmxlLXYyLS1zdGlja3kgZXVpLXRhYmxlLXYyLS1zdGlja3ktY29scycgOiAnJyxcbiAgICAgICAgICAgIHRoaXMuaXNUYWJsZVJlc3BvbnNpdmUgPyAnZXVpLXRhYmxlLWRlZmF1bHQtLXJlc3BvbnNpdmUnIDogJycsXG4gICAgICAgICAgICB0aGlzLmlzQ29sc09yZGVyYWJsZSA/ICdldWktdGFibGUtdjItLWNvbHMtb3JkZXJhYmxlJyA6ICcnLFxuICAgICAgICAgICAgdGhpcy5pc0xvYWRpbmcgPyAnZXVpLXRhYmxlLXYyLS1sb2FkaW5nJyA6ICcnLFxuICAgICAgICBdXG4gICAgICAgICAgICAuam9pbignICcpXG4gICAgICAgICAgICAudHJpbSgpO1xuICAgIH1cblxuICAgIEBJbnB1dCgpIGRhdGE6IERBVEFbXSA9IFtdO1xuICAgIEBJbnB1dCgpIHByb3BJZCA9ICdpZCc7XG4gICAgQElucHV0KCkgaXRlbVNpemUgPSA0MTtcbiAgICBASW5wdXQoKSBwYWdpbmF0b3I6IEV1aVBhZ2luYXRvckNvbXBvbmVudDtcbiAgICBASW5wdXQoKSBmaWx0ZXI6IEV1aVRhYmxlVjJGaWx0ZXJDb21wb25lbnQ7XG4gICAgQElucHV0KCkgcHJlc2VsZWN0ZWRSb3dzOiBEQVRBW10gPSBbXTtcblxuICAgIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KSBpc1ZpcnR1YWxTY3JvbGwgPSBmYWxzZTtcbiAgICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSkgaXNWaXJ0dWFsU2Nyb2xsQ2FjaGUgPSBmYWxzZTtcbiAgICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSkgaGFzU3RpY2t5SGVhZGVyID0gZmFsc2U7XG4gICAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pIGhhc1N0aWNreUZvb3RlciA9IGZhbHNlO1xuICAgIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KSBoYXNTdGlja3lDb2xzID0gZmFsc2U7XG4gICAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pIGlzVGFibGVSZXNwb25zaXZlID0gZmFsc2U7XG4gICAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pIGlzQXN5bmMgPSBmYWxzZTtcbiAgICBASW5wdXQoeyB0cmFuc2Zvcm06IG51bWJlckF0dHJpYnV0ZSB9KSB2aXJ0dWFsU2Nyb2xsQXN5bmNJdGVtc0xlbmd0aCA9IDA7XG4gICAgQElucHV0KHsgdHJhbnNmb3JtOiBudW1iZXJBdHRyaWJ1dGUgfSkgdmlydHVhbFNjcm9sbE5iUm93cyA9IDUwO1xuICAgIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KSBpc0NvbHNPcmRlcmFibGUgPSBmYWxzZTtcbiAgICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSkgaXNMb2FkaW5nID0gZmFsc2U7XG4gICAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pIGlzU2VsZWN0T25seVZpc2libGVSb3dzID0gdHJ1ZTtcbiAgICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSkgaXNUYWJsZUJvcmRlcmVkID0gZmFsc2U7XG4gICAgLyoqIEBkZXByZWNhdGVkIFRoaXMgd2lsbCBiZSByZW1vdmVkIGluIG5leHQgdmVyc2lvbiAqL1xuICAgIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KSBpc1RhYmxlQ29uZGVuc2VkID0gZmFsc2U7XG5cbiAgICBwcm90ZWN0ZWQgaGVhZGVyVGVtcGxhdGU6IFRlbXBsYXRlUmVmPEhUTUxFbGVtZW50PjtcbiAgICBwcm90ZWN0ZWQgYm9keVRlbXBsYXRlOiBUZW1wbGF0ZVJlZjx7ICRpbXBsaWNpdDogREFUQTsgaW5kZXg6IG51bWJlciB9PjtcbiAgICBwcm90ZWN0ZWQgZm9vdGVyVGVtcGxhdGU6IFRlbXBsYXRlUmVmPEhUTUxFbGVtZW50PjtcbiAgICBwcm90ZWN0ZWQgbm9EYXRhVGVtcGxhdGU6IFRlbXBsYXRlUmVmPEhUTUxFbGVtZW50PjtcbiAgICBwcm90ZWN0ZWQgbG9hZGluZyA9IFtdO1xuICAgIHByb3RlY3RlZCBuYkNvbHM6IEhUTUxUYWJsZUNlbGxFbGVtZW50W10gPSBbXTtcbiAgICBwcm90ZWN0ZWQgZGF0YVJlbmRlcmVkOiBEQVRBW10gPSBbXTtcbiAgICBwcm90ZWN0ZWQgY2RrVmlydHVhbFNjcm9sbFZpZXdwb3J0T3ZlcmZsb3dWYWx1ZTogKCdoaWRkZW4nIHwgJ2F1dG8nKSA9ICdhdXRvJztcblxuICAgIEBDb250ZW50Q2hpbGRyZW4oRXVpVGVtcGxhdGVEaXJlY3RpdmUpIHRlbXBsYXRlczogUXVlcnlMaXN0PEV1aVRlbXBsYXRlRGlyZWN0aXZlPjtcblxuICAgIEBWaWV3Q2hpbGQoJ2Nka1ZpcnR1YWxTY3JvbGxWaWV3cG9ydCcsIHsgc3RhdGljOiBmYWxzZSB9KSBwcm90ZWN0ZWQgY2RrVmlydHVhbFNjcm9sbFZpZXdwb3J0OiBDZGtWaXJ0dWFsU2Nyb2xsVmlld3BvcnQ7XG4gICAgQFZpZXdDaGlsZCgnY2RrVmlydHVhbFNjcm9sbFZpZXdwb3J0RWxlbWVudCcsIHsgc3RhdGljOiBmYWxzZSwgcmVhZDogRWxlbWVudFJlZiB9KSBwcm90ZWN0ZWQgY2RrVmlydHVhbFNjcm9sbFZpZXdwb3J0RWxlbWVudDogRWxlbWVudFJlZjtcbiAgICBAVmlld0NoaWxkKCd0aGVhZFJlZicpIHRoZWFkUmVmOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PjtcbiAgICBAVmlld0NoaWxkKCd0Ym9keVJlZicpIHRib2R5UmVmOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PjtcbiAgICBAVmlld0NoaWxkKCd0Zm9vdFJlZicpIHRmb290UmVmOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PjtcblxuICAgIEBPdXRwdXQoKSBzY3JvbGxDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gICAgQE91dHB1dCgpIHJvd3NTZWxlY3QgPSBuZXcgRXZlbnRFbWl0dGVyPERBVEFbXT4oKTtcbiAgICBAT3V0cHV0KCkgc29ydENoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8U29ydFtdPigpO1xuXG4gICAgcHJpdmF0ZSBkZXN0cm95JDogU3ViamVjdDxib29sZWFuPiA9IG5ldyBTdWJqZWN0PGJvb2xlYW4+KCk7XG4gICAgcHJpdmF0ZSB2aXJ0dWFsU2Nyb2xsTGFzdE11bHRpcGxlID0gMDtcbiAgICBwcml2YXRlIHZpcnR1YWxTY3JvbGxTcGxpY2VGcm9tID0gMDtcbiAgICBwcml2YXRlIHNjcm9sbGVkSW5kZXggPSAwO1xuICAgIHByaXZhdGUgbmJJdGVtRGlzcGxheWVkID0gMDtcbiAgICBwcml2YXRlIHNjcm9sbGluZ0RpcmVjdGlvbjogU2Nyb2xsaW5EaXJlY3Rpb247XG4gICAgcHJpdmF0ZSBtdXRhdGlvbk9ic2VydmVyOiBNdXRhdGlvbk9ic2VydmVyO1xuICAgIHByaXZhdGUgZGF0YVNyYzogREFUQVtdID0gW107XG4gICAgcHJpdmF0ZSBwYWdlID0gMDtcbiAgICBwcml2YXRlIHBhZ2VTaXplID0gMDtcbiAgICBwcml2YXRlIHRhYmxlRmVhdHVyZXNIYW5kbGVyU3Vic2NyaXB0aW9uID0gbmV3IFN1YnNjcmlwdGlvbigpO1xuICAgIHByaXZhdGUgZmlsdGVyZWREYXRhOiBEQVRBW10gPSBbXTtcblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgZWxlbWVudFJlZjogRWxlbWVudFJlZixcbiAgICAgICAgICAgICAgICBwcml2YXRlIGNkOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICAgICAgICAgICAgICBwcml2YXRlIGV1aVRhYmxlVjJTZWxlY3RhYmxlUm93U2VydmljZTogRXVpVGFibGVWMlNlbGVjdGFibGVSb3dTZXJ2aWNlPERBVEE+LFxuICAgICAgICAgICAgICAgIHByaXZhdGUgZXVpVGFibGVWMlNvcnRTZXJ2aWNlOiBFdWlUYWJsZVYyU29ydFNlcnZpY2UsXG4gICAgICAgICAgICAgICAgcHJpdmF0ZSBiYXNlU3RhdGVzRGlyZWN0aXZlOiBCYXNlU3RhdGVzRGlyZWN0aXZlLFxuICAgICAgICAgICAgICAgIHByaXZhdGUgcmVuZGVyZXI6IFJlbmRlcmVyMixcbiAgICAgICAgICAgICAgICApIHt9XG5cbiAgICBuZ09uQ2hhbmdlcyhjOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgICAgIGlmICghdGhpcy5kYXRhKSB7XG4gICAgICAgICAgICB0aGlzLmRhdGEgPSBbXTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuZXVpVGFibGVWMlNlbGVjdGFibGVSb3dTZXJ2aWNlLnNldFByb3BJZCh0aGlzLnByb3BJZCk7XG4gICAgICAgIGlmICh0aGlzLmlzVmlydHVhbFNjcm9sbCkge1xuICAgICAgICAgICAgaWYgKGMuZGF0YSAmJiBjLmRhdGEuaXNGaXJzdENoYW5nZSgpKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5kYXRhUmVuZGVyZWQgPSBbLi4uYy5kYXRhLmN1cnJlbnRWYWx1ZSwgLi4uQXJyYXkuZnJvbSh7IGxlbmd0aDogdGhpcy52aXJ0dWFsU2Nyb2xsQXN5bmNJdGVtc0xlbmd0aCAtIGMuZGF0YS5jdXJyZW50VmFsdWUubGVuZ3RoIH0pXTtcblxuICAgICAgICAgICAgICAgIHRoaXMuZXVpVGFibGVWMlNlbGVjdGFibGVSb3dTZXJ2aWNlLnVucmVnaXN0ZXJSb3dzKCk7XG4gICAgICAgICAgICAgICAgdGhpcy5ldWlUYWJsZVYyU2VsZWN0YWJsZVJvd1NlcnZpY2UucmVnaXN0ZXJSb3dzKHRoaXMuZGF0YVJlbmRlcmVkKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKGMuZGF0YSAmJiAhYy5kYXRhLmlzRmlyc3RDaGFuZ2UoKSkge1xuICAgICAgICAgICAgICAgIGlmICh0aGlzLmlzQXN5bmMpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3Qgc291cmNlID0gWy4uLnRoaXMuZGF0YVJlbmRlcmVkXTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMuaXNWaXJ0dWFsU2Nyb2xsQ2FjaGUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZGF0YVJlbmRlcmVkID0gWy4uLnNvdXJjZS5zbGljZSgwLCB0aGlzLnZpcnR1YWxTY3JvbGxTcGxpY2VGcm9tKSwgLi4uYy5kYXRhLmN1cnJlbnRWYWx1ZSwgLi4uc291cmNlLnNsaWNlKHRoaXMudmlydHVhbFNjcm9sbFNwbGljZUZyb20gKyB0aGlzLnZpcnR1YWxTY3JvbGxOYlJvd3MpXTtcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZGF0YVJlbmRlcmVkID0gW1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC4uLkFycmF5LmZyb20oeyBsZW5ndGg6IHRoaXMudmlydHVhbFNjcm9sbFNwbGljZUZyb20gLSB0aGlzLm5iSXRlbURpc3BsYXllZCB9KSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAuLi5zb3VyY2Uuc2xpY2UodGhpcy52aXJ0dWFsU2Nyb2xsU3BsaWNlRnJvbSAtIHRoaXMubmJJdGVtRGlzcGxheWVkLCB0aGlzLnZpcnR1YWxTY3JvbGxTcGxpY2VGcm9tKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAuLi5jLmRhdGEuY3VycmVudFZhbHVlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC4uLnNvdXJjZS5zbGljZSh0aGlzLnZpcnR1YWxTY3JvbGxTcGxpY2VGcm9tICsgdGhpcy52aXJ0dWFsU2Nyb2xsTmJSb3dzLCB0aGlzLnZpcnR1YWxTY3JvbGxTcGxpY2VGcm9tICsgdGhpcy52aXJ0dWFsU2Nyb2xsTmJSb3dzICsgdGhpcy5uYkl0ZW1EaXNwbGF5ZWQpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC4uLkFycmF5LmZyb20oeyBsZW5ndGg6IHRoaXMudmlydHVhbFNjcm9sbEFzeW5jSXRlbXNMZW5ndGggLSAodGhpcy52aXJ0dWFsU2Nyb2xsU3BsaWNlRnJvbSArIHRoaXMudmlydHVhbFNjcm9sbE5iUm93cyArIHRoaXMubmJJdGVtRGlzcGxheWVkKSB9KSxcbiAgICAgICAgICAgICAgICAgICAgICAgIF07XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICBpZiAoYyAmJiBjLnZpcnR1YWxTY3JvbGxBc3luY0l0ZW1zTGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoYy52aXJ0dWFsU2Nyb2xsQXN5bmNJdGVtc0xlbmd0aC5wcmV2aW91c1ZhbHVlID4gYy52aXJ0dWFsU2Nyb2xsQXN5bmNJdGVtc0xlbmd0aC5jdXJyZW50VmFsdWUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmRhdGFSZW5kZXJlZCA9IHRoaXMuZGF0YVJlbmRlcmVkLnNsaWNlKDAsIGMudmlydHVhbFNjcm9sbEFzeW5jSXRlbXNMZW5ndGguY3VycmVudFZhbHVlKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5kYXRhUmVuZGVyZWQgPSBbLi4uYy5kYXRhLmN1cnJlbnRWYWx1ZSwgLi4uQXJyYXkuZnJvbSh7IGxlbmd0aDogdGhpcy52aXJ0dWFsU2Nyb2xsQXN5bmNJdGVtc0xlbmd0aCAtIGMuZGF0YS5jdXJyZW50VmFsdWUubGVuZ3RoIH0pXTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZXVpVGFibGVWMlNlbGVjdGFibGVSb3dTZXJ2aWNlLnVucmVnaXN0ZXJSb3dzKCk7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZXVpVGFibGVWMlNlbGVjdGFibGVSb3dTZXJ2aWNlLnJlZ2lzdGVyUm93cyh0aGlzLmRhdGFSZW5kZXJlZCk7XG5cbiAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMuc2Nyb2xsaW5nRGlyZWN0aW9uID09PSBTY3JvbGxpbkRpcmVjdGlvbi5ET1dOKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoKHRoaXMuaGFzVW5kZWZpbmVkSW5SYW5nZSh0aGlzLnNjcm9sbGVkSW5kZXgsIHRoaXMubmJJdGVtRGlzcGxheWVkLCB0aGlzLmRhdGFSZW5kZXJlZCkgIT09IC0xIHx8XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5zY3JvbGxlZEluZGV4ID09PSB0aGlzLnZpcnR1YWxTY3JvbGxTcGxpY2VGcm9tICYmXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIXRoaXMuZGF0YVJlbmRlcmVkW3RoaXMuc2Nyb2xsZWRJbmRleCAtIDFdKSAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuaGFzVW5kZWZpbmVkSW5SYW5nZSh0aGlzLnNjcm9sbGVkSW5kZXgsIHRoaXMubmJJdGVtRGlzcGxheWVkLCB0aGlzLmRhdGFSZW5kZXJlZCkgIT09IHRoaXMuZGF0YVJlbmRlcmVkLmxlbmd0aFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIGNvbnNvbGUubG9nKCdyZXBvc2l0aW9uIGRvd24nKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuY2RrVmlydHVhbFNjcm9sbFZpZXdwb3J0LnNjcm9sbFRvSW5kZXgodGhpcy52aXJ0dWFsU2Nyb2xsU3BsaWNlRnJvbSArIDEpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMuc2Nyb2xsaW5nRGlyZWN0aW9uID09PSBTY3JvbGxpbkRpcmVjdGlvbi5VUCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMuaGFzVW5kZWZpbmVkSW5SYW5nZSh0aGlzLnNjcm9sbGVkSW5kZXgsIHRoaXMubmJJdGVtRGlzcGxheWVkLCB0aGlzLmRhdGFSZW5kZXJlZCkgIT09IC0xKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gY29uc29sZS5sb2coJ3JlcG9zaXRpb24gdXAnKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuY2RrVmlydHVhbFNjcm9sbFZpZXdwb3J0LnNjcm9sbFRvSW5kZXgodGhpcy52aXJ0dWFsU2Nyb2xsU3BsaWNlRnJvbSArIDEpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgdGhpcy5zdGlja3lGZWF0dXJlSGFuZGxlcigpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGlmIChjICYmIGMuZGF0YSkge1xuICAgICAgICAgICAgICAgIGNvbnN0IGxlbmd0aENoYW5nZWQgPSB0aGlzLmRhdGFTcmMubGVuZ3RoICE9PSBjLmRhdGEuY3VycmVudFZhbHVlLmxlbmd0aDtcbiAgICAgICAgICAgICAgICB0aGlzLmRhdGFTcmMgPSBjLmRhdGEuY3VycmVudFZhbHVlID8gWy4uLmMuZGF0YS5jdXJyZW50VmFsdWVdIDogW107XG5cbiAgICAgICAgICAgICAgICBpZiAodGhpcy5wYWdpbmF0b3IgJiYgbGVuZ3RoQ2hhbmdlZCkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnBhZ2luYXRvci5nb0ZpcnN0UGFnZSgpO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGlmICghdGhpcy5pc0FzeW5jICYmICFjLmRhdGEuaXNGaXJzdENoYW5nZSgpKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMudGFibGVGZWF0dXJlc0hhbmRsZXJTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy50YWJsZUZlYXR1cmVzSGFuZGxlcigpO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIHRoaXMuZXVpVGFibGVWMlNlbGVjdGFibGVSb3dTZXJ2aWNlLnJlZ2lzdGVyUm93cyh0aGlzLmRhdGFTcmMpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKGMgJiYgYy5wYWdpbmF0b3I/LmN1cnJlbnRWYWx1ZSkge1xuICAgICAgICAgICAgICAgIHRoaXMucGFnaW5hdG9yLnNldExlbmd0aCh0aGlzLmRhdGEubGVuZ3RoKTtcbiAgICAgICAgICAgICAgICBpZiAoIWMucGFnaW5hdG9yPy5pc0ZpcnN0Q2hhbmdlKCkpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5wYWdpbmF0b3IuZ29GaXJzdFBhZ2UoKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIC8vIHRoaXMuZGF0YSBjYW4gYmUgY2hhbmdlZCBhbnl0aW1lLCB0aGVuIHRoaXMgZWxzZSBjYW4gYmUgZXhlY3V0ZWQgYXQgdGhhdCB0aW1lLCB0ZXN0aW5nIHRoaXMucGFnaW5hdG9yIGFsbG93cyB0byBtYWtlIHN1cmVcbiAgICAgICAgICAgICAgICAvLyB0aGUgdXNlciB3YW50cyB0byBkaXNhYmxlIHBhZ2luYXRpb24gb3IgY2hhbmdlIHRoZSBkYXRhc291cmNlXG4gICAgICAgICAgICAgICAgaWYgKCF0aGlzLnBhZ2luYXRvcikge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmRhdGFSZW5kZXJlZCA9IHRoaXMuZGF0YVNyYztcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5wYWdlID0gMDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoYyAmJiBjLnByZXNlbGVjdGVkUm93cyAmJiAhYy5wcmVzZWxlY3RlZFJvd3MuaXNGaXJzdENoYW5nZSgpKSB7XG4gICAgICAgICAgICB0aGlzLmV1aVRhYmxlVjJTZWxlY3RhYmxlUm93U2VydmljZS5zZWxlY3RSb3dzKGMucHJlc2VsZWN0ZWRSb3dzLmN1cnJlbnRWYWx1ZSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5kYXRhU3JjID0gWy4uLnRoaXMuZGF0YV07XG4gICAgfVxuXG4gICAgbmdBZnRlckNvbnRlbnRJbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLnRlbXBsYXRlcy5mb3JFYWNoKChpdGVtKSA9PiB7XG4gICAgICAgICAgICBpZiAoaXRlbS5nZXRUeXBlKCkgPT09ICdoZWFkZXInKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5oZWFkZXJUZW1wbGF0ZSA9IGl0ZW0udGVtcGxhdGU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoaXRlbS5nZXRUeXBlKCkgPT09ICdib2R5Jykge1xuICAgICAgICAgICAgICAgIHRoaXMuYm9keVRlbXBsYXRlID0gaXRlbS50ZW1wbGF0ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChpdGVtLmdldFR5cGUoKSA9PT0gJ2Zvb3RlcicpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmZvb3RlclRlbXBsYXRlID0gaXRlbS50ZW1wbGF0ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChpdGVtLmdldFR5cGUoKSA9PT0gJ25vRGF0YScpIHtcbiAgICAgICAgICAgICAgICB0aGlzLm5vRGF0YVRlbXBsYXRlID0gaXRlbS50ZW1wbGF0ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgdGVzdChpbmRleCk6IHZvaWQge1xuICAgICAgICB0aGlzLmNka1ZpcnR1YWxTY3JvbGxWaWV3cG9ydC5zY3JvbGxUb0luZGV4KGluZGV4KVxuICAgIH1cblxuICAgIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5zdGlja3lGZWF0dXJlSGFuZGxlcigpO1xuXG4gICAgICAgIGlmICh0aGlzLmlzVmlydHVhbFNjcm9sbCkge1xuICAgICAgICAgICAgdGhpcy5jZGtWaXJ0dWFsU2Nyb2xsVmlld3BvcnQ/LnJlbmRlcmVkUmFuZ2VTdHJlYW1cbiAgICAgICAgICAgICAgICAucGlwZShkZWJvdW5jZVRpbWUoNTAwKSwgdGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKVxuICAgICAgICAgICAgICAgIC5zdWJzY3JpYmUoKGxpc3RSYW5nZTogTGlzdFJhbmdlKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc3RpY2t5RmVhdHVyZUhhbmRsZXIoKTtcbiAgICAgICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgY29uc3QgdGhlYWRFbGVtZW50cyA9IEFycmF5LmZyb20odGhpcy50aGVhZFJlZi5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJ3RoJykpO1xuICAgICAgICAgICAgdGhpcy5uYkNvbHMgPSBuZXcgQXJyYXkodGhlYWRFbGVtZW50cy5sZW5ndGgpO1xuXG4gICAgICAgICAgICB0aGlzLmNka1ZpcnR1YWxTY3JvbGxWaWV3cG9ydC5zY3JvbGxlZEluZGV4Q2hhbmdlXG4gICAgICAgICAgICAgICAgLnBpcGUoZGVib3VuY2VUaW1lKDUwMCksIHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcbiAgICAgICAgICAgICAgICAuc3Vic2NyaWJlKChzY3JvbGxlZEluZGV4OiBudW1iZXIpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMuaXNBc3luYykge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5zY3JvbGxpbmdEaXJlY3Rpb24gPSBzY3JvbGxlZEluZGV4ID4gdGhpcy5zY3JvbGxlZEluZGV4ID8gU2Nyb2xsaW5EaXJlY3Rpb24uRE9XTiA6IFNjcm9sbGluRGlyZWN0aW9uLlVQO1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5zY3JvbGxlZEluZGV4ID0gc2Nyb2xsZWRJbmRleDtcblxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5jZGtWaXJ0dWFsU2Nyb2xsVmlld3BvcnQuc2V0VG90YWxDb250ZW50U2l6ZSh0aGlzLnZpcnR1YWxTY3JvbGxBc3luY0l0ZW1zTGVuZ3RoICogdGhpcy5pdGVtU2l6ZSk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHNjcm9sbE9mZnNldCA9IHRoaXMuY2RrVmlydHVhbFNjcm9sbFZpZXdwb3J0Lm1lYXN1cmVTY3JvbGxPZmZzZXQoJ3RvcCcpO1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgZW5kSW5kZXggPSBNYXRoLmNlaWwoKHNjcm9sbE9mZnNldCArIHRoaXMuY2RrVmlydHVhbFNjcm9sbFZpZXdwb3J0LmdldFZpZXdwb3J0U2l6ZSgpKSAvIHRoaXMuaXRlbVNpemUpO1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5uYkl0ZW1EaXNwbGF5ZWQgPSBlbmRJbmRleCAtIHNjcm9sbGVkSW5kZXg7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB2aXJ0dWFsU2Nyb2xsQ3VycmVudE11bHRpcGxlID0gTWF0aC5mbG9vcigoc2Nyb2xsZWRJbmRleCArIHRoaXMubmJJdGVtRGlzcGxheWVkKSAvIHRoaXMudmlydHVhbFNjcm9sbE5iUm93cyk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChzY3JvbGxlZEluZGV4ID4gMCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLmRhdGFSZW5kZXJlZFtzY3JvbGxlZEluZGV4XSB8fCAodGhpcy5zY3JvbGxpbmdEaXJlY3Rpb24gPT09IFNjcm9sbGluRGlyZWN0aW9uLlVQICYmIHRoaXMuZGF0YVJlbmRlcmVkW3Njcm9sbGVkSW5kZXggLSAxXSkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gY29uc29sZS5sb2coJ3ZpcnR1YWxTY3JvbGxDdXJyZW50TXVsdGlwbGUnLCB2aXJ0dWFsU2Nyb2xsQ3VycmVudE11bHRpcGxlKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBjb25zb2xlLmxvZygndGhpcy52aXJ0dWFsU2Nyb2xsTGFzdE11bHRpcGxlJywgdGhpcy52aXJ0dWFsU2Nyb2xsTGFzdE11bHRpcGxlKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBjb25zb2xlLmxvZygndmlydHVhbFNjcm9sbEN1cnJlbnRNdWx0aXBsZSA+IHRoaXMudmlydHVhbFNjcm9sbExhc3RNdWx0aXBsZScsIHZpcnR1YWxTY3JvbGxDdXJyZW50TXVsdGlwbGUgPiB0aGlzLnZpcnR1YWxTY3JvbGxMYXN0TXVsdGlwbGUpXG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHZpcnR1YWxTY3JvbGxDdXJyZW50TXVsdGlwbGUgPiB0aGlzLnZpcnR1YWxTY3JvbGxMYXN0TXVsdGlwbGUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMudmlydHVhbFNjcm9sbFNwbGljZUZyb20gPSB2aXJ0dWFsU2Nyb2xsQ3VycmVudE11bHRpcGxlICogdGhpcy52aXJ0dWFsU2Nyb2xsTmJSb3dzO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5zY3JvbGxDaGFuZ2UuZW1pdCh7IHN0YXJ0OiB2aXJ0dWFsU2Nyb2xsQ3VycmVudE11bHRpcGxlICogdGhpcy52aXJ0dWFsU2Nyb2xsTmJSb3dzLCBlbmQ6IHRoaXMudmlydHVhbFNjcm9sbE5iUm93cyB9KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnZpcnR1YWxTY3JvbGxTcGxpY2VGcm9tID0gdGhpcy5yb3VuZERvd24oc2Nyb2xsZWRJbmRleCwgdGhpcy52aXJ0dWFsU2Nyb2xsTmJSb3dzKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuc2Nyb2xsQ2hhbmdlLmVtaXQoeyBzdGFydDogdGhpcy52aXJ0dWFsU2Nyb2xsU3BsaWNlRnJvbSwgZW5kOiB0aGlzLnZpcnR1YWxTY3JvbGxOYlJvd3MgfSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnZpcnR1YWxTY3JvbGxMYXN0TXVsdGlwbGUgPSB2aXJ0dWFsU2Nyb2xsQ3VycmVudE11bHRpcGxlO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy5jZGtWaXJ0dWFsU2Nyb2xsVmlld3BvcnRFbGVtZW50KSB7XG4gICAgICAgICAgICB0aGlzLmNka1ZpcnR1YWxTY3JvbGxWaWV3cG9ydEVsZW1lbnQubmF0aXZlRWxlbWVudC5zdHlsZS5oZWlnaHQgPSB0aGlzLmNka1ZpcnR1YWxTY3JvbGxWaWV3cG9ydC5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQucGFyZW50RWxlbWVudC5jbGllbnRIZWlnaHQgKyAncHgnO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgbXV0YXRpb25PYnNlcnZhYmxlID0gbmV3IE9ic2VydmFibGU8TXV0YXRpb25SZWNvcmRbXT4oKG9ic2VydmVyKSA9PiB7XG4gICAgICAgICAgICB0aGlzLm11dGF0aW9uT2JzZXJ2ZXIgPSBuZXcgTXV0YXRpb25PYnNlcnZlcigobXV0YXRpb25zKSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgZmlsdGVyZWRNdXRhdGlvbnMgPSBtdXRhdGlvbnMuZmlsdGVyKChtdXRhdGlvbikgPT4ge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgICAgICAgICAgICAgbXV0YXRpb24udGFyZ2V0IGluc3RhbmNlb2YgSFRNTEVsZW1lbnQgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgIG11dGF0aW9uLnRhcmdldC50YWdOYW1lLnRvTG93ZXJDYXNlKCkgPT09ICd0aCcgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgIG11dGF0aW9uLmF0dHJpYnV0ZU5hbWUgPT09ICdzdHlsZSdcbiAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgICAgIGlmIChmaWx0ZXJlZE11dGF0aW9ucy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICAgICAgICAgIG9ic2VydmVyLm5leHQoZmlsdGVyZWRNdXRhdGlvbnMpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICBjb25zdCBjb25maWcgPSB7IGF0dHJpYnV0ZXM6IHRydWUsIHN1YnRyZWU6IHRydWUsIGF0dHJpYnV0ZUZpbHRlcjogWydzdHlsZSddIH07XG4gICAgICAgICAgICB0aGlzLm11dGF0aW9uT2JzZXJ2ZXIub2JzZXJ2ZSh0aGlzLnRoZWFkUmVmLm5hdGl2ZUVsZW1lbnQsIGNvbmZpZyk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIG11dGF0aW9uT2JzZXJ2YWJsZS5waXBlKGRlYm91bmNlVGltZSgyNTApLCB0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpLnN1YnNjcmliZSgobXV0YXRpb25zKSA9PiB7XG4gICAgICAgICAgICB0aGlzLnN0aWNreUZlYXR1cmVIYW5kbGVyKCk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIGlmICghdGhpcy5pc0FzeW5jICYmICF0aGlzLmlzVmlydHVhbFNjcm9sbCkge1xuICAgICAgICAgICAgdGhpcy50YWJsZUZlYXR1cmVzSGFuZGxlclN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgICAgICAgICAgdGhpcy50YWJsZUZlYXR1cmVzSGFuZGxlcigpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5zZWxlY3RSb3dzRmVhdHVyZUhhbmRsZXIoKTtcbiAgICAgICAgdGhpcy5zb3J0RmVhdHVyZUhhbmRsZXIoKTtcbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5kZXN0cm95JC5uZXh0KHRydWUpO1xuICAgICAgICB0aGlzLmRlc3Ryb3kkLnVuc3Vic2NyaWJlKCk7XG4gICAgICAgIHRoaXMubXV0YXRpb25PYnNlcnZlcj8uZGlzY29ubmVjdCgpO1xuICAgICAgICB0aGlzLnRhYmxlRmVhdHVyZXNIYW5kbGVyU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogTW92ZXMgYW4gZWxlbWVudCB3aXRoaW4gdGhlIHJlbmRlcmVkIGRhdGEgYXJyYXkuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gaXRlbUlkIC0gVGhlIGlkZW50aWZpZXIgKGRlZmF1bHQ6IGlkKSBvZiB0aGUgZWxlbWVudCB0byBtb3ZlLlxuICAgICAqIEBwYXJhbSBmcm9tSW5kZXggLSBUaGUgY3VycmVudCBpbmRleCBvZiB0aGUgZWxlbWVudCB0byBtb3ZlLlxuICAgICAqIEBwYXJhbSB0b0luZGV4IC0gVGhlIG5ldyBkZXNpcmVkIHBvc2l0aW9uIGZvciB0aGUgZWxlbWVudC5cbiAgICAgKi9cbiAgICBwdWJsaWMgbW92ZUl0ZW0oaXRlbUlkOiBudW1iZXIgfCBzdHJpbmcsIGZyb21JbmRleDogbnVtYmVyLCB0b0luZGV4OiBudW1iZXIpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgaXRlbVBvc2l0aW9uID0gdGhpcy5kYXRhUmVuZGVyZWQuZmluZEluZGV4KGQgPT4gZCAmJiBkW3RoaXMucHJvcElkXSA9PT0gaXRlbUlkKTtcbiAgICAgICAgY29uc3QgbW92ZSA9IHRvSW5kZXggLSBmcm9tSW5kZXg7XG5cbiAgICAgICAgY29uc3Qgc291cmNlID0gWy4uLnRoaXMuZGF0YVJlbmRlcmVkXTtcbiAgICAgICAgY29uc3QgW2VsZW1lbnRUb01vdmVdID0gc291cmNlLnNwbGljZShpdGVtUG9zaXRpb24sIDEpO1xuXG4gICAgICAgIHNvdXJjZS5zcGxpY2UoaXRlbVBvc2l0aW9uICsgbW92ZSwgMCwgZWxlbWVudFRvTW92ZSk7XG5cbiAgICAgICAgdGhpcy5kYXRhUmVuZGVyZWQgPSBzb3VyY2U7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogU2VsZWN0IGFsbCByb3dzXG4gICAgICovXG4gICAgcHVibGljIHNlbGVjdEFsbFJvd3MoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZXVpVGFibGVWMlNlbGVjdGFibGVSb3dTZXJ2aWNlLnNlbGVjdEFsbFJvd3MoKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBVbnNlbGVjdCBhbGwgcm93c1xuICAgICAqL1xuICAgIHB1YmxpYyB1bnNlbGVjdEFsbFJvd3MoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZXVpVGFibGVWMlNlbGVjdGFibGVSb3dTZXJ2aWNlLnVuc2VsZWN0QWxsUm93cygpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJldHVybiBhbiBhcnJheSB3aXRoIHRoZSBkYXRhIG1hdGNoaW5nIHRoZSBzdHJpbmcgZmlsdGVyXG4gICAgICogQHJldHVybnNcbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0RmlsdGVyZWREYXRhKCk6IERBVEFbXSB7XG4gICAgICAgIHJldHVybiB0aGlzLmZpbHRlcmVkRGF0YTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBTb3J0IHRoZSB0YWJsZSdzIGRhdGEuXG4gICAgICogQHBhcmFtIHNvcnRzIEFuIGFycmF5IG9mIFNvcnRPcmRlci4gU2VlIHtAbGluayBTb3J0T3JkZXJ9XG4gICAgICovXG4gICAgcHVibGljIHNldFNvcnQoc29ydHM6IFNvcnRbXSk6IHZvaWQge1xuICAgICAgICB0aGlzLmV1aVRhYmxlVjJTb3J0U2VydmljZS5zZXRTb3J0cyhzb3J0cyk7XG4gICAgfVxuXG4gICAgcHVibGljIGZpbHRlckRhdGEoZmlsdGVyOiBzdHJpbmcsIHI6IERBVEFbXSk6IERBVEFbXSB7XG4gICAgICAgIGNvbnN0IHJvd3MgPSBmaWx0ZXIgP1xuICAgICAgICAgICAgci5maWx0ZXIoKHJvdykgPT4ge1xuICAgICAgICAgICAgICAgICAgY29uc3QgbWF0Y2hpbmcgPSB0aGlzLmdldFByb3BzKHJvdywgZmlsdGVyKS5maWx0ZXIoKHApID0+IHAubWF0Y2ggPT09IHRydWUpO1xuICAgICAgICAgICAgICAgICAgcmV0dXJuIG1hdGNoaW5nPy5sZW5ndGggPiAwO1xuICAgICAgICAgICAgfSkgOiByO1xuXG4gICAgICAgIHRoaXMuZXVpVGFibGVWMlNlbGVjdGFibGVSb3dTZXJ2aWNlLnVucmVnaXN0ZXJSb3dzKCk7XG4gICAgICAgIHRoaXMuZXVpVGFibGVWMlNlbGVjdGFibGVSb3dTZXJ2aWNlLnJlZ2lzdGVyUm93cyhyb3dzKTtcblxuICAgICAgICB0aGlzLmZpbHRlcmVkRGF0YSA9IHJvd3M7XG5cbiAgICAgICAgcmV0dXJuIHJvd3M7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGdldCBzdGlja3lIZWFkZXJUb3BQb3NpdGlvbigpOiBzdHJpbmcge1xuICAgICAgICBpZiAoIXRoaXMuY2RrVmlydHVhbFNjcm9sbFZpZXdwb3J0IHx8ICF0aGlzLmNka1ZpcnR1YWxTY3JvbGxWaWV3cG9ydFsnX3JlbmRlcmVkQ29udGVudE9mZnNldCddKSB7XG4gICAgICAgICAgICByZXR1cm4gJzAnO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuICgtdGhpcy5jZGtWaXJ0dWFsU2Nyb2xsVmlld3BvcnRbJ19yZW5kZXJlZENvbnRlbnRPZmZzZXQnXSAtIDEpICsgJ3B4JztcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgZ2V0IHN0aWNreUZvb3RlckJvdHRvbVBvc2l0aW9uKCk6IHN0cmluZyB7XG4gICAgICAgIGlmICghdGhpcy5jZGtWaXJ0dWFsU2Nyb2xsVmlld3BvcnQgfHwgIXRoaXMuY2RrVmlydHVhbFNjcm9sbFZpZXdwb3J0WydfcmVuZGVyZWRDb250ZW50T2Zmc2V0J10pIHtcbiAgICAgICAgICAgIHJldHVybiAnLTFweCc7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdGhpcy5jZGtWaXJ0dWFsU2Nyb2xsVmlld3BvcnRbJ19yZW5kZXJlZENvbnRlbnRPZmZzZXQnXSAtIDEgKyAncHgnO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBnZXQgY2RrVmlydHVhbFNjcm9sbFZpZXdwb3J0V2lkdGgoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuICh0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudD8ucGFyZW50RWxlbWVudD8uY2xpZW50V2lkdGggfHwgMCkgKyAncHgnO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBnZXQgaG9zdFdpZHRoKCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5zdHlsZS53aWR0aDtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgdHJhY2tCeUZuKGluZGV4OiBudW1iZXIpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gaW5kZXg7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSB0YWJsZUZlYXR1cmVzSGFuZGxlcigpOiB2b2lkIHtcbiAgICAgICAgdGhpcy50YWJsZUZlYXR1cmVzSGFuZGxlclN1YnNjcmlwdGlvbiA9IGNvbWJpbmVMYXRlc3QoXG4gICAgICAgICAgICB0aGlzLnBhZ2luYXRvciA/IHRoaXMucGFnaW5hdG9yLnBhZ2UkIDogbmV3IEJlaGF2aW9yU3ViamVjdChudWxsKSxcbiAgICAgICAgICAgIHRoaXMuZmlsdGVyID8gdGhpcy5maWx0ZXIuZmlsdGVyJCA6IG5ldyBCZWhhdmlvclN1YmplY3QobnVsbCksXG4gICAgICAgICAgICB0aGlzLmV1aVRhYmxlVjJTb3J0U2VydmljZS5zb3J0cyxcbiAgICAgICAgKS5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSkuc3Vic2NyaWJlKChbcGFnaW5hdGlvbiwgZmlsdGVyLCBzb3J0c106IFtFdWlQYWdpbmF0aW9uRXZlbnQsIHN0cmluZywgU29ydFtdXSkgPT4ge1xuICAgICAgICAgICAgbGV0IHIgPSBbLi4udGhpcy5kYXRhU3JjXTtcblxuICAgICAgICAgICAgaWYgKHNvcnRzLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgICAgICByID0gdGhpcy5zb3J0RGF0YShzb3J0cywgcik7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHIgPSB0aGlzLmZpbHRlckRhdGEoZmlsdGVyLCByKTtcblxuICAgICAgICAgICAgaWYgKHRoaXMucGFnaW5hdG9yKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5wYWdpbmF0b3Iuc2V0TGVuZ3RoKHIubGVuZ3RoKTtcbiAgICAgICAgICAgICAgICByID0gdGhpcy5wYWdpbmF0ZVJvd3MocGFnaW5hdGlvbiwgcik7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHRoaXMuZGF0YVJlbmRlcmVkID0gcjtcbiAgICAgICAgICAgIGlmICh0aGlzLmlzU2VsZWN0T25seVZpc2libGVSb3dzKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5ldWlUYWJsZVYyU2VsZWN0YWJsZVJvd1NlcnZpY2UudW5zZWxlY3RBbGxSb3dzKCk7XG4gICAgICAgICAgICAgICAgdGhpcy5ldWlUYWJsZVYyU2VsZWN0YWJsZVJvd1NlcnZpY2UudW5yZWdpc3RlclJvd3MoKTtcbiAgICAgICAgICAgICAgICB0aGlzLmV1aVRhYmxlVjJTZWxlY3RhYmxlUm93U2VydmljZS5yZWdpc3RlclJvd3ModGhpcy5kYXRhUmVuZGVyZWQpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAodGhpcy5wcmVzZWxlY3RlZFJvd3MpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmV1aVRhYmxlVjJTZWxlY3RhYmxlUm93U2VydmljZS5zZWxlY3RSb3dzKHRoaXMucHJlc2VsZWN0ZWRSb3dzKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgdGhpcy5jZC5kZXRlY3RDaGFuZ2VzKCk7XG5cbiAgICAgICAgICAgIGlmICh0aGlzLmhhc1N0aWNreUNvbHMpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnN0aWNreUZlYXR1cmVIYW5kbGVyKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgc29ydERhdGEoc29ydENyaXRlcmlhczogeyBzb3J0OiBzdHJpbmcsIG9yZGVyOiBTb3J0T3JkZXIgfVtdLCByOiBEQVRBW10pOiBEQVRBW10ge1xuICAgICAgICBpZiAoc29ydENyaXRlcmlhcy5ldmVyeShjcml0ZXJpYSA9PiBjcml0ZXJpYS5vcmRlciA9PT0gbnVsbCkpIHtcbiAgICAgICAgICAgIHJldHVybiByLnNsaWNlKCk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gci5zb3J0KChhLCBiKSA9PiB7XG4gICAgICAgICAgICBmb3IgKGNvbnN0IGNyaXRlcmlhIG9mIHNvcnRDcml0ZXJpYXMpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBhVmFsdWUgPSB0aGlzLmdldE9ialByb3AoYSwgY3JpdGVyaWEuc29ydCk7XG4gICAgICAgICAgICAgICAgY29uc3QgYlZhbHVlID0gdGhpcy5nZXRPYmpQcm9wKGIsIGNyaXRlcmlhLnNvcnQpO1xuXG4gICAgICAgICAgICAgICAgaWYgKGFWYWx1ZSA9PT0gYlZhbHVlKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGlmIChhVmFsdWUgPT09IG51bGwgfHwgYVZhbHVlID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGNyaXRlcmlhLm9yZGVyID09PSAnYXNjJyA/IC0xIDogMTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKGJWYWx1ZSA9PT0gbnVsbCB8fCBiVmFsdWUgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gY3JpdGVyaWEub3JkZXIgPT09ICdhc2MnID8gMSA6IC0xO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGlmICh0eXBlb2YgYVZhbHVlID09PSAnYm9vbGVhbicgJiYgdHlwZW9mIGJWYWx1ZSA9PT0gJ2Jvb2xlYW4nKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBjcml0ZXJpYS5vcmRlciA9PT0gJ2FzYycgPyAoYVZhbHVlID8gLTEgOiAxKSA6IChiVmFsdWUgPyAtMSA6IDEpO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGlmICh0eXBlb2YgYVZhbHVlID09PSAnbnVtYmVyJyAmJiB0eXBlb2YgYlZhbHVlID09PSAnbnVtYmVyJykge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gY3JpdGVyaWEub3JkZXIgPT09ICdhc2MnID8gYVZhbHVlIC0gYlZhbHVlIDogYlZhbHVlIC0gYVZhbHVlO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGNvbnN0IGFWYWx1ZVN0ciA9IHR5cGVvZiBhVmFsdWUgPT09ICdzdHJpbmcnID8gYVZhbHVlLnRvTG93ZXJDYXNlKCkgOiBhVmFsdWU7XG4gICAgICAgICAgICAgICAgY29uc3QgYlZhbHVlU3RyID0gdHlwZW9mIGJWYWx1ZSA9PT0gJ3N0cmluZycgPyBiVmFsdWUudG9Mb3dlckNhc2UoKSA6IGJWYWx1ZTtcblxuICAgICAgICAgICAgICAgIGNvbnN0IGNvbXBhcmlzb24gPSBjcml0ZXJpYS5vcmRlciA9PT0gJ2FzYycgPyBhVmFsdWVTdHIubG9jYWxlQ29tcGFyZShiVmFsdWVTdHIpIDogYlZhbHVlU3RyLmxvY2FsZUNvbXBhcmUoYVZhbHVlU3RyKTtcblxuICAgICAgICAgICAgICAgIGlmIChjb21wYXJpc29uICE9PSAwKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBjb21wYXJpc29uO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcmV0dXJuIDA7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgcGFnaW5hdGVSb3dzKHBhZ2luYXRpb246IEV1aVBhZ2luYXRpb25FdmVudCwgcjogREFUQVtdKTogREFUQVtdIHtcbiAgICAgICAgdGhpcy5wYWdlID0gcGFnaW5hdGlvbi5wYWdlO1xuICAgICAgICB0aGlzLnBhZ2VTaXplID0gcGFnaW5hdGlvbi5wYWdlU2l6ZTtcblxuICAgICAgICByZXR1cm4gci5zbGljZSh0aGlzLnBhZ2UgKiB0aGlzLnBhZ2VTaXplLCB0aGlzLnBhZ2UgKiB0aGlzLnBhZ2VTaXplICsgdGhpcy5wYWdlU2l6ZSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSByb3VuZERvd24oaW5kZXg6IG51bWJlciwgbmJSb3dzOiBudW1iZXIpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gTWF0aC5mbG9vcihpbmRleCAvIG5iUm93cykgKiBuYlJvd3M7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBoYXNVbmRlZmluZWRJblJhbmdlKHN0YXJ0SW5kZXg6IG51bWJlciwgbGltaXQ6IG51bWJlciwgZGF0YVJlbmRlcmVkOiBEQVRBW10pOiBudW1iZXIge1xuICAgICAgICBmb3IgKGxldCBpID0gc3RhcnRJbmRleDsgaSA8IHN0YXJ0SW5kZXggKyBsaW1pdDsgaSArKykge1xuICAgICAgICAgICAgaWYgKGRhdGFSZW5kZXJlZFtpXSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gLTE7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzdGlja3lGZWF0dXJlSGFuZGxlcigpOiB2b2lkIHtcbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBjb250YWluZXJXaWR0aCA9IHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50Py5wYXJlbnRFbGVtZW50Py5jbGllbnRXaWR0aCB8fCAwO1xuXG4gICAgICAgICAgICBjb25zdCBwcm9jZXNzU3RpY2t5SXRlbXMgPSAoaXRlbXM6IEhUTUxUYWJsZUNlbGxFbGVtZW50W10pOiB2b2lkID0+IHtcbiAgICAgICAgICAgICAgICBpdGVtcy5mb3JFYWNoKChpdGVtLCBpKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGlzU3RpY2t5Rmlyc3RDb2wgPSBpdGVtLm9mZnNldExlZnQgKyBpdGVtLmNsaWVudFdpZHRoIDwgY29udGFpbmVyV2lkdGg7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGlzU3RpY2t5TGFzdENvbCA9IGl0ZW0ub2Zmc2V0TGVmdCArIGl0ZW0uY2xpZW50V2lkdGggPiBjb250YWluZXJXaWR0aDtcblxuICAgICAgICAgICAgICAgICAgICBjb25zdCBpdGVtc1N0aWNreSA9IGlzU3RpY2t5Rmlyc3RDb2xcbiAgICAgICAgICAgICAgICAgICAgICAgID8gaXRlbXMuZmlsdGVyKChpdCkgPT4gaXQub2Zmc2V0TGVmdCArIGl0LmNsaWVudFdpZHRoIDwgY29udGFpbmVyV2lkdGgpXG4gICAgICAgICAgICAgICAgICAgICAgICA6IGlzU3RpY2t5TGFzdENvbFxuICAgICAgICAgICAgICAgICAgICAgICAgPyBpdGVtcy5maWx0ZXIoKGl0KSA9PiBpdC5vZmZzZXRMZWZ0ICsgaXQuY2xpZW50V2lkdGggPiBjb250YWluZXJXaWR0aClcbiAgICAgICAgICAgICAgICAgICAgICAgIDogW107XG5cbiAgICAgICAgICAgICAgICAgICAgaXRlbXNTdGlja3kuZm9yRWFjaCgoaXQsIGopID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHcgPSBpdGVtc1N0aWNreVtqIC0gMV0/LmNsaWVudFdpZHRoO1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgb2Zmc2V0ID0gaXNTdGlja3lGaXJzdENvbFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgID8gcGFyc2VJbnQoaXRlbXNTdGlja3lbaiAtIDFdPy5zdHlsZS5sZWZ0LCAxMClcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IHBhcnNlSW50KGl0ZW1zU3RpY2t5W2ogLSAxXT8uc3R5bGUucmlnaHQsIDEwKTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGlzU3RpY2t5Rmlyc3RDb2wpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpdC5zdHlsZS5sZWZ0ID0gKGogPT09IDAgPyAwIDogdyArIG9mZnNldCkgKyAncHgnO1xuICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIGlmIChpc1N0aWNreUxhc3RDb2wpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpdC5zdHlsZS5yaWdodCA9IChqID09PSAwID8gMCA6IHcgKyBvZmZzZXQpICsgJ3B4JztcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGogKyAxID09PSBpdGVtc1N0aWNreS5sZW5ndGgpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnJlbmRlcmVyLmFkZENsYXNzKGl0LCBgZXVpLXRhYmxlLXYyX19jb2wtLXN0aWNreS1zaGFkb3dlZC0ke2lzU3RpY2t5Rmlyc3RDb2wgPyAnZmlyc3QnIDogJ2xhc3QnfWApO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH07XG5cbiAgICAgICAgICAgIGlmICh0aGlzLnRoZWFkUmVmKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgdGhJdGVtczogSFRNTFRhYmxlQ2VsbEVsZW1lbnRbXSA9IEFycmF5LmZyb20odGhpcy50aGVhZFJlZi5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJy5ldWktdGFibGUtdjJfX2NvbC0tc3RpY2t5JykpO1xuICAgICAgICAgICAgICAgIHByb2Nlc3NTdGlja3lJdGVtcyh0aEl0ZW1zKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgY29uc3QgYm9keVRySXRlbXMgPSBBcnJheS5mcm9tKHRoaXMudGJvZHlSZWYubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yQWxsKCd0cicpKTtcbiAgICAgICAgICAgIGJvZHlUckl0ZW1zLmZvckVhY2goKHRyKSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgdGRJdGVtczogSFRNTFRhYmxlQ2VsbEVsZW1lbnRbXSA9IEFycmF5LmZyb20odHIucXVlcnlTZWxlY3RvckFsbCgnLmV1aS10YWJsZS12Ml9fY29sLS1zdGlja3knKSk7XG4gICAgICAgICAgICAgICAgcHJvY2Vzc1N0aWNreUl0ZW1zKHRkSXRlbXMpO1xuICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgIGlmICh0aGlzLnRmb290UmVmKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgdGRJdGVtczogSFRNTFRhYmxlQ2VsbEVsZW1lbnRbXSA9IEFycmF5LmZyb20odGhpcy50Zm9vdFJlZi5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJy5ldWktdGFibGUtdjJfX2NvbC0tc3RpY2t5JykpO1xuICAgICAgICAgICAgICAgIHByb2Nlc3NTdGlja3lJdGVtcyh0ZEl0ZW1zKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSwgMjUwKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHNlbGVjdFJvd3NGZWF0dXJlSGFuZGxlcigpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5ldWlUYWJsZVYyU2VsZWN0YWJsZVJvd1NlcnZpY2Uuc2VsZWN0ZWRSb3dzLnBpcGUoc2tpcCgxKSwgdGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKS5zdWJzY3JpYmUoKHNlbGVjdGVkKSA9PiB7XG4gICAgICAgICAgICB0aGlzLnJvd3NTZWxlY3QuZW1pdChzZWxlY3RlZCk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgc29ydEZlYXR1cmVIYW5kbGVyKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmV1aVRhYmxlVjJTb3J0U2VydmljZS5zb3J0cy5waXBlKHNraXAoMSksIHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSkuc3Vic2NyaWJlKChzb3J0czogU29ydFtdKSA9PiB7XG4gICAgICAgICAgICB0aGlzLnNvcnRDaGFuZ2UuZW1pdChzb3J0cyk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0UHJvcHMocm93OiBEQVRBLCBmaWx0ZXI6IHN0cmluZyk6IHsga2V5OiBzdHJpbmc7IG1hdGNoOiBib29sZWFuOyB2YWx1ZTogc3RyaW5nIHwgbnVtYmVyIH1bXSB7XG4gICAgICAgIGNvbnN0IGlzT2JqZWN0ID0gKHZhbDogc3RyaW5nIHwgbnVtYmVyKTogYm9vbGVhbiA9PiB2YWwgJiYgdHlwZW9mIHZhbCA9PT0gJ29iamVjdCc7XG4gICAgICAgIGNvbnN0IGFkZERlbGltaXRlciA9IChhOiBzdHJpbmcsIGI6IHN0cmluZyk6IHN0cmluZyA9PiAoYSAmJiBhICE9PSAnMCcgPyBgJHthfS4ke2J9YCA6IGIpO1xuICAgICAgICBjb25zdCBwcm9wczogeyBrZXk6IHN0cmluZywgbWF0Y2g6IGJvb2xlYW4sIHZhbHVlOiBzdHJpbmcgfCBudW1iZXIgfVtdID0gW107XG4gICAgICAgIGNvbnN0IHBhdGhzID0gKHBhdGhPYmo6IERBVEEsIGhlYWQgPSAnJyk6IHN0cmluZ1tdID0+IHtcbiAgICAgICAgICAgIHJldHVybiBPYmplY3QuZW50cmllcyhwYXRoT2JqKS5yZWR1Y2UoKHByb2R1Y3QsIFtrZXksIHZhbHVlXSkgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IGZ1bGxQYXRoID0gYWRkRGVsaW1pdGVyKGhlYWQsIGtleSk7XG4gICAgICAgICAgICAgICAgY29uc3QgbWF0Y2ggPSAodjogc3RyaW5nIHwgbnVtYmVyKTogYm9vbGVhbiA9PiB2ICYmIHR5cGVvZiB2ICE9PSAnb2JqZWN0JyAmJiB2Py50b1N0cmluZygpLnRvTG93ZXJDYXNlKCkuaW5kZXhPZihmaWx0ZXI/LnRyaW0oKS50b0xvd2VyQ2FzZSgpKSAhPT0gLTE7XG5cbiAgICAgICAgICAgICAgICBpZiAoa2V5ICE9PSAnMCcgJiYgdHlwZW9mIHZhbHVlICE9PSAnb2JqZWN0Jykge1xuICAgICAgICAgICAgICAgICAgICBwcm9wcy5wdXNoKHsga2V5OiBhZGREZWxpbWl0ZXIoaGVhZCwga2V5KSwgbWF0Y2g6IG1hdGNoKHZhbHVlKSwgdmFsdWUgfSk7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgcmV0dXJuIGlzT2JqZWN0KHZhbHVlKSA/IHByb2R1Y3QuY29uY2F0KHBhdGhzKHZhbHVlLCBmdWxsUGF0aCkpIDogcHJvZHVjdC5jb25jYXQoZnVsbFBhdGgpO1xuICAgICAgICAgICAgfSwgW10pO1xuICAgICAgICB9O1xuXG4gICAgICAgIHBhdGhzKHJvdyk7XG4gICAgICAgIHJldHVybiBwcm9wcztcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldE9ialByb3Aob2JqOiBEQVRBLCBwcm9wOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gcHJvcCA/IHByb3Auc3BsaXQoJy4nKS5yZWR1Y2UoKHByZXYsIGN1cnIpID0+IChwcmV2ID8gcHJldltjdXJyXSA6IG51bGwpLCBvYmogfHwgc2VsZikgOiBudWxsO1xuICAgIH1cbn1cbiIsIjwhLS0gPGJ1dHRvbiAoY2xpY2spPVwidGVzdCgxOTI1MClcIj4xOTI1MDwvYnV0dG9uPlxuPGJ1dHRvbiAoY2xpY2spPVwidGVzdCg3ODk1KVwiPjc4OTU8L2J1dHRvbj5cbjxidXR0b24gKGNsaWNrKT1cInRlc3QoMTY4NjApXCI+MTY4NjA8L2J1dHRvbj5cbjxidXR0b24gKGNsaWNrKT1cInRlc3QoMTY4NzApXCI+MTY4NzA8L2J1dHRvbj5cbjxidXR0b24gKGNsaWNrKT1cInRlc3QoMTY4ODApXCI+MTY4ODA8L2J1dHRvbj5cbjxidXR0b24gKGNsaWNrKT1cInRlc3QoMTY4OTApXCI+MTY4OTA8L2J1dHRvbj5cbjxidXR0b24gKGNsaWNrKT1cInRlc3QoMTY5MDApXCI+MTY5MDA8L2J1dHRvbj5cbjxidXR0b24gKGNsaWNrKT1cInRlc3QoMjY5OTgpXCI+MjY5OTg8L2J1dHRvbj5cbjxidXR0b24gKGNsaWNrKT1cInRlc3QoMjgwMDApXCI+MjgwMDA8L2J1dHRvbj4gLS0+XG5AaWYgKGlzVmlydHVhbFNjcm9sbCkge1xuICAgIDxjZGstdmlydHVhbC1zY3JvbGwtdmlld3BvcnRcbiAgICAgICAgI2Nka1ZpcnR1YWxTY3JvbGxWaWV3cG9ydFxuICAgICAgICAjY2RrVmlydHVhbFNjcm9sbFZpZXdwb3J0RWxlbWVudFxuICAgICAgICBjbGFzcz1cImV1aS10YWJsZS12Ml9fc2Nyb2xsLXZpZXdwb3J0XCJcbiAgICAgICAgW2l0ZW1TaXplXT1cIml0ZW1TaXplXCJcbiAgICAgICAgW3N0eWxlLm92ZXJmbG93XT1cImNka1ZpcnR1YWxTY3JvbGxWaWV3cG9ydE92ZXJmbG93VmFsdWVcIlxuICAgICAgICB0YWJpbmRleD1cIjBcIj5cbiAgICAgICAgPHRhYmxlIGNsYXNzPVwie3sgY3NzQ2xhc3NlcyB9fVwiIFtzdHlsZS53aWR0aF09XCJob3N0V2lkdGhcIj5cbiAgICAgICAgICAgIEBpZiAoaGVhZGVyVGVtcGxhdGUpIHtcbiAgICAgICAgICAgICAgICA8dGhlYWQgI3RoZWFkUmVmIFtzdHlsZS50b3BdPVwic3RpY2t5SGVhZGVyVG9wUG9zaXRpb25cIj5cbiAgICAgICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImhlYWRlclRlbXBsYXRlXCI+PC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgICAgICA8L3RoZWFkPlxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgQGlmIChib2R5VGVtcGxhdGUpIHtcbiAgICAgICAgICAgICAgICA8dGJvZHkgI3Rib2R5UmVmPlxuICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpjZGtWaXJ0dWFsRm9yPVwibGV0IHJvdyBvZiBkYXRhUmVuZGVyZWQ7IGxldCBpID0gaW5kZXg7IHRyYWNrQnk6IHRyYWNrQnlGblwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgQGlmIChyb3cpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRdPVwiYm9keVRlbXBsYXRlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cInsgJGltcGxpY2l0OiByb3csIGluZGV4OiBpIH1cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgICAgICAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlIFtuZ1RlbXBsYXRlT3V0bGV0XT1cInNrZWxldG9uTG9hZGluZ1wiPjwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICAgICAgICAgICAgICAgIEBpZiAobm9EYXRhVGVtcGxhdGUgJiYgKGRhdGE/Lmxlbmd0aCA9PT0gMCB8fCBkYXRhUmVuZGVyZWQ/Lmxlbmd0aCA9PT0gMCkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSBbbmdUZW1wbGF0ZU91dGxldF09XCJub0RhdGFUZW1wbGF0ZVwiPjwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICA8L3Rib2R5PlxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgQGlmIChmb290ZXJUZW1wbGF0ZSkge1xuICAgICAgICAgICAgICAgIDx0Zm9vdCAjdGZvb3RSZWYgW3N0eWxlLmJvdHRvbV09XCJzdGlja3lGb290ZXJCb3R0b21Qb3NpdGlvblwiPlxuICAgICAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgW25nVGVtcGxhdGVPdXRsZXRdPVwiZm9vdGVyVGVtcGxhdGVcIj48L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgICAgIDwvdGZvb3Q+XG4gICAgICAgICAgICB9XG4gICAgICAgIDwvdGFibGU+XG4gICAgPC9jZGstdmlydHVhbC1zY3JvbGwtdmlld3BvcnQ+XG59IEBlbHNlIHtcbiAgICBAaWYgKGhlYWRlclRlbXBsYXRlKSB7XG4gICAgICAgIDx0aGVhZCAjdGhlYWRSZWY+XG4gICAgICAgICAgICA8bmctdGVtcGxhdGUgW25nVGVtcGxhdGVPdXRsZXRdPVwiaGVhZGVyVGVtcGxhdGVcIj48L25nLXRlbXBsYXRlPlxuICAgICAgICA8L3RoZWFkPlxuICAgIH1cbiAgICBAaWYgKGJvZHlUZW1wbGF0ZSkge1xuICAgICAgICA8dGJvZHkgI3Rib2R5UmVmPlxuICAgICAgICAgICAgQGZvciAocm93IG9mIGRhdGFSZW5kZXJlZDsgbGV0IGkgPSAkaW5kZXg7IHRyYWNrICRpbmRleCkge1xuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZVxuICAgICAgICAgICAgICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRdPVwiYm9keVRlbXBsYXRlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7ICRpbXBsaWNpdDogcm93LCBpbmRleDogaSB9XCI+XG4gICAgICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBAaWYgKG5vRGF0YVRlbXBsYXRlICYmIChkYXRhPy5sZW5ndGggPT09IDAgfHwgZGF0YVJlbmRlcmVkPy5sZW5ndGggPT09IDApKSB7XG4gICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlIFtuZ1RlbXBsYXRlT3V0bGV0XT1cIm5vRGF0YVRlbXBsYXRlXCI+PC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgIH1cbiAgICAgICAgPC90Ym9keT5cbiAgICB9XG4gICAgQGlmIChmb290ZXJUZW1wbGF0ZSkge1xuICAgICAgICA8dGZvb3QgI3Rmb290UmVmPlxuICAgICAgICAgICAgPG5nLXRlbXBsYXRlIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImZvb3RlclRlbXBsYXRlXCI+PC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgPC90Zm9vdD5cbiAgICB9XG59XG5cbjxuZy10ZW1wbGF0ZSAjc2tlbGV0b25Mb2FkaW5nPlxuICAgIDx0ciBbc3R5bGUuaGVpZ2h0LnB4XT1cIml0ZW1TaXplXCI+XG4gICAgICAgIDx0ZCAqbmdGb3I9XCJsZXQgX18gb2YgbmJDb2xzXCI+PGV1aS1za2VsZXRvbiBsaW5lIGV1aVJvdW5kZWQ+PC9ldWktc2tlbGV0b24+PC90ZD5cbiAgICA8L3RyPlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
@@ -40,6 +40,7 @@ export declare class EuiTableV2Component<DATA = unknown> implements AfterContent
40
40
  isLoading: boolean;
41
41
  isSelectOnlyVisibleRows: boolean;
42
42
  isTableBordered: boolean;
43
+ /** @deprecated This will be removed in next version */
43
44
  isTableCondensed: boolean;
44
45
  protected headerTemplate: TemplateRef<HTMLElement>;
45
46
  protected bodyTemplate: TemplateRef<{
@@ -1 +1 @@
1
- {"version":3,"file":"eui-table-v2.component.d.ts","sourceRoot":"","sources":["../../eui-table-v2/eui-table-v2.component.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"eui-table-v2.component.d.ts","sourceRoot":"","sources":["../../eui-table-v2/eui-table-v2.component.ts"],"names":[],"mappings":"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"}
@@ -195,6 +195,7 @@ class EuiTableV2Component {
195
195
  this.isLoading = false;
196
196
  this.isSelectOnlyVisibleRows = true;
197
197
  this.isTableBordered = false;
198
+ /** @deprecated This will be removed in next version */
198
199
  this.isTableCondensed = false;
199
200
  this.loading = [];
200
201
  this.nbCols = [];