@eui/core 13.0.0-rc.45 → 13.0.0-rc.49
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/esm2020/lib/services/i18n/i18n.loader.mjs +3 -1
- package/esm2020/lib/services/i18n/i18n.service.mjs +1 -7
- package/fesm2015/eui-core.mjs +2 -6
- package/fesm2015/eui-core.mjs.map +1 -1
- package/fesm2020/eui-core.mjs +2 -6
- package/fesm2020/eui-core.mjs.map +1 -1
- package/lib/services/i18n/i18n.loader.d.ts.map +1 -1
- package/lib/services/i18n/i18n.service.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -148,6 +148,8 @@ export class I18nLoader {
|
|
|
148
148
|
// return the translations
|
|
149
149
|
return translations;
|
|
150
150
|
}), catchError((err) => {
|
|
151
|
+
// remove failed resource from loaded resource array
|
|
152
|
+
this.removeResources([resource]);
|
|
151
153
|
// resource not loaded properly, send a warning message
|
|
152
154
|
if (this.logService) {
|
|
153
155
|
this.logService.warn(`I18n resource NOT loaded from path ${path}`, err);
|
|
@@ -180,4 +182,4 @@ export const translateConfig = {
|
|
|
180
182
|
useClass: I18nLoader,
|
|
181
183
|
},
|
|
182
184
|
};
|
|
183
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaTE4bi5sb2FkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL3NlcnZpY2VzL2kxOG4vaTE4bi5sb2FkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQWtCLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUU3RSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdEQsT0FBTyxFQUFFLFFBQVEsRUFBYyxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDaEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVqRCxPQUFPLEVBRUgsbUJBQW1CLEdBSXRCLE1BQU0sV0FBVyxDQUFDO0FBQ25CLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFFckMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGtCQUFrQixDQUFDOzs7O0FBc0JoRCxNQUFNLE9BQU8sVUFBVTtJQUluQixZQUFzQixJQUFnQixFQUNKLFVBQXNCLEVBQ1osWUFBMEI7UUFGaEQsU0FBSSxHQUFKLElBQUksQ0FBWTtRQUNKLGVBQVUsR0FBVixVQUFVLENBQVk7UUFDWixpQkFBWSxHQUFaLFlBQVksQ0FBYztRQUw1RCxjQUFTLEdBQXVCLEVBQUUsQ0FBQztRQUNuQyxvQkFBZSxHQUFnQyxFQUFFLENBQUM7UUFLeEQsOENBQThDO1FBQzlDLE1BQU0sVUFBVSxHQUFlLElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQztRQUN6RixNQUFNLGdCQUFnQixHQUFxQixVQUFVLElBQUksVUFBVSxDQUFDLFVBQVUsQ0FBQztRQUMvRSxJQUFJLENBQUMsU0FBUyxD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QVU7a0JBRHRCLFVBQVU7OzBCQU1NLFFBQVE7OzBCQUNSLE1BQU07MkJBQUMsWUFBWTs7QUEyS3BDLE1BQU0sQ0FBQyxNQUFNLGVBQWUsR0FBRztJQUMzQixNQUFNLEVBQUU7UUFDSixPQUFPLEVBQUUsZUFBZTtRQUN4QixRQUFRLEVBQUUsVUFBVTtLQUN2QjtDQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUsIEluamVjdGlvblRva2VuLCBPcHRpb25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IFRyYW5zbGF0ZUxvYWRlciB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHsgZm9ya0pvaW4sIE9ic2VydmFibGUsIG9mIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBjYXRjaEVycm9yLCBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7XG4gICAgR2xvYmFsQ29uZmlnLFxuICAgIGdldEkxOG5Mb2FkZXJDb25maWcsXG4gICAgSTE4blJlc291cmNlLFxuICAgIEkxOG5TZXJ2aWNlQ29uZmlnLFxuICAgIEV1aUFwcENvbmZpZyxcbn0gZnJvbSAnQGV1aS9iYXNlJztcbmltcG9ydCB7IEkxOG5SZXNvdXJjZUltcGwgfSBmcm9tICcuL2kxOG4ucmVzb3VyY2UnO1xuaW1wb3J0IHsgbWVyZ2VBbGwgfSBmcm9tICdAZXVpL2Jhc2UnO1xuaW1wb3J0IHsgSTE4bkxvYWRlckNvbmZpZywgSTE4bkNvbmZpZywgVHJhbnNsYXRpb25zQ29tcGlsZXIgfSBmcm9tICdAZXVpL2Jhc2UnO1xuaW1wb3J0IHsgQ09ORklHX1RPS0VOIH0gZnJvbSAnLi4vY29uZmlnL3Rva2Vucyc7XG5pbXBvcnQgeyBMb2dTZXJ2aWNlIH0gZnJvbSAnLi4vbG9nL2xvZy5zZXJ2aWNlJztcblxuLy8gZXhwb3J0IGNvbnN0IEkxOE5fTE9BREVSX0NPTkZJR19UT0tFTiA9IG5ldyBJbmplY3Rpb25Ub2tlbjxJMThuTG9hZGVyQ29uZmlnPignSTE4Tl9MT0FERVJfQ09ORklHJyk7XG5pbnRlcmZhY2UgUmVzb3VyY2VFcnJvciB7XG4gICAgaXNFcnJvcjogYm9vbGVhbjtcbiAgICBlcnJvcj86IHN0cmluZztcbiAgICByZXNvdXJjZT86IEkxOG5SZXNvdXJjZUltcGw7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTG9hZGVkUmVzb3VyY2VzIHtcbiAgICB0cmFuc2xhdGlvbnM6IG9iamVjdDtcbiAgICBoYXNFcnJvcjogYm9vbGVhbjtcbiAgICBlcnJvcnM/OiBBcnJheTxMb2FkZWRSZXNvdXJjZXNFcnJvcj47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTG9hZGVkUmVzb3VyY2VzRXJyb3Ige1xuICAgIHJlc291cmNlOiBJMThuUmVzb3VyY2VJbXBsO1xuICAgIGVycm9yOiBzdHJpbmc7XG59XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBJMThuTG9hZGVyIGltcGxlbWVudHMgVHJhbnNsYXRlTG9hZGVyIHtcbiAgICBwcm90ZWN0ZWQgcmVzb3VyY2VzOiBJMThuUmVzb3VyY2VJbXBsW10gPSBbXTtcbiAgICBwcm90ZWN0ZWQgZmFpbGVkUmVzb3VyY2VzOiBBcnJheTxMb2FkZWRSZXNvdXJjZXNFcnJvcj4gPSBbXTtcblxuICAgIGNvbnN0cnVjdG9yKHByb3RlY3RlZCBodHRwOiBIdHRwQ2xpZW50LFxuICAgICAgICAgICAgICAgIEBPcHRpb25hbCgpIHByb3RlY3RlZCBsb2dTZXJ2aWNlOiBMb2dTZXJ2aWNlLFxuICAgICAgICAgICAgICAgIEBJbmplY3QoQ09ORklHX1RPS0VOKSBwcm90ZWN0ZWQgZXVpQXBwQ29uZmlnOiBFdWlBcHBDb25maWcpIHtcbiAgICAgICAgLy8gY3JlYXRlIHRoZSByZXNvdXJjZXMgZnJvbSB0aGUgY29uZmlnIG9iamVjdFxuICAgICAgICBjb25zdCBpMThuQ29uZmlnOiBJMThuQ29uZmlnID0gdGhpcy5ldWlBcHBDb25maWcuZ2xvYmFsICYmIHRoaXMuZXVpQXBwQ29uZmlnLmdsb2JhbC5pMThuO1xuICAgICAgICBjb25zdCBpMThuTG9hZGVyQ29uZmlnOiBJMThuTG9hZGVyQ29uZmlnID0gaTE4bkNvbmZpZyAmJiBpMThuQ29uZmlnLmkxOG5Mb2FkZXI7XG4gICAgICAgIHRoaXMucmVzb3VyY2VzLnB1c2goLi4udGhpcy5jcmVhdGVSZXNvdXJjZXMoaTE4bkxvYWRlckNvbmZpZykpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEdldHMgdGhlIHRyYW5zbGF0aW9ucyBmcm9tIHRoZSBzZXJ2ZXJcbiAgICAgKiBAcGFyYW0gbGFuZ1xuICAgICAqIEByZXR1cm5zIE9ic2VydmFibGU8YW55PlxuICAgICAqL1xuICAgIHB1YmxpYyBnZXRUcmFuc2xhdGlvbihsYW5nOiBzdHJpbmcpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5sb2FkUmVzb3VyY2VzKHRoaXMucmVzb3VyY2VzLCBsYW5nKS5waXBlKG1hcCgobG9hZGVkUmVzb3VyY2VzOiBMb2FkZWRSZXNvdXJjZXMpID0+IHtcbiAgICAgICAgICAgIHRoaXMuZmFpbGVkUmVzb3VyY2VzID0gbG9hZGVkUmVzb3VyY2VzLmhhc0Vycm9yID8gbG9hZGVkUmVzb3VyY2VzLmVycm9ycyA6IFtdO1xuICAgICAgICAgICAgcmV0dXJuIGxvYWRlZFJlc291cmNlcy50cmFuc2xhdGlvbnM7XG4gICAgICAgIH0pKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBBZGRzIHJlc291cmNlc1xuICAgICAqIEBwYXJhbSBjb25maWcgbG9hZGVyIGNvbmZpZ3VyYXRpb25cbiAgICAgKiBAcmV0dXJucyBPYnNlcnZhYmxlPGFueT4gfCBmYWxzZVxuICAgICAqL1xuICAgIHB1YmxpYyBhZGRSZXNvdXJjZXMoY29uZmlnOiBJMThuTG9hZGVyQ29uZmlnKTogSTE4blJlc291cmNlSW1wbFtdIHtcblxuICAgICAgICAvLyBjcmVhdGUgdGhlIHJlc291cmNlc1xuICAgICAgICBsZXQgcmVzb3VyY2VzID0gdGhpcy5jcmVhdGVSZXNvdXJjZXMoY29uZmlnKTtcblxuICAgICAgICAvLyBmaWx0ZXIgdGhlIHJlc291cmNlcyBmaXJzdCwgdG8gYXZvaWQgZHVwbGljYXRlc1xuICAgICAgICByZXNvdXJjZXMgPSByZXNvdXJjZXMuZmlsdGVyKHJlc291cmNlID0+ICF0aGlzLnJlc291cmNlcy5zb21lKHJlcyA9PiByZXMuZXF1YWxzKHJlc291cmNlKSkpO1xuXG4gICAgICAgIC8vIGFkZCB0aGUgbmV3IHJlc291cmNlcyB0byB0aGUgbGlzdCBvZiBleGlzdGluZyByZXNvdXJjZXNcbiAgICAgICAgdGhpcy5yZXNvdXJjZXMucHVzaCguLi5yZXNvdXJjZXMpO1xuXG4gICAgICAgIC8vIHJldHVybiB0aGUgZmlsdGVyZWQgcmVzb3VyY2VzXG4gICAgICAgIHJldHVybiByZXNvdXJjZXM7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmVtb3ZlcyByZXNvdXJjZXMgZnJvbSB0aGUgbG9hZGVyIGluc3RhbmNlXG4gICAgICovXG4gICAgcHVibGljIHJlbW92ZVJlc291cmNlcyhyZW1vdmVkUmVzb3VyY2VzOiBJMThuUmVzb3VyY2VJbXBsW10pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5yZXNvdXJjZXMgPSB0aGlzLnJlc291cmNlcy5maWx0ZXIocmVzID0+ICFyZW1vdmVkUmVzb3VyY2VzLnNvbWUoKHJlbW92ZWRSZXNvdXJjZSkgPT4gcmVtb3ZlZFJlc291cmNlLmVxdWFscyhyZXMpKSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogTG9hZHMgYW4gYXJyYXkgb2YgcmVzb3VyY2VzLCBieSBsYW5ndWFnZVxuICAgICAqIEBwYXJhbSByZXNvdXJjZXMgdGhlIGRlZmluaXRpb24gb2YgdGhlIHJlc291cmNlc1xuICAgICAqIEBwYXJhbSBsYW5nIHRoZSByZXNvdXJjZSBsYW5ndWFnZSB0byBsb2FkXG4gICAgICogQHJldHVybnMgT2JzZXJ2YWJsZTxhbnk+XG4gICAgICovXG4gICAgcHVibGljIGxvYWRSZXNvdXJjZXMocmVzb3VyY2VzOiBJMThuUmVzb3VyY2VJbXBsW10sIGxhbmc6IHN0cmluZyk6IE9ic2VydmFibGU8YW55PiB7XG5cbiAgICAgICAgLy8gaWYgdGhlcmUgYXJlIHJlc291cmNlcyB0byBsb2FkXG4gICAgICAgIGlmIChBcnJheS5pc0FycmF5KHJlc291cmNlcykgJiYgcmVzb3VyY2VzLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgIC8vIGxvYWQgYWxsIHRoZSByZXNvdXJjZXMgaW4gYW4gYXJyYXkgb2YgT2JzZXJ2YWJsZVxuICAgICAgICAgICAgY29uc3QgcmVxdWVzdHMgPSByZXNvdXJjZXMubWFwKHJlc291cmNlID0+IHRoaXMubG9hZFJlc291cmNlKHJlc291cmNlLCBsYW5nKSk7XG4gICAgICAgICAgICAvLyBncm91cCBhbGwgdGhlIG9ic2VydmFibGVzIHdpdGggZm9ya0pvaW4gYW5kIGRlZXAgbWVyZ2UgdGhlbVxuICAgICAgICAgICAgcmV0dXJuIGZvcmtKb2luKHJlcXVlc3RzKS5waXBlKG1hcChyZXNwb25zZSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3Qgc3VjY2Vzc1Jlc3AgPSBbXTtcbiAgICAgICAgICAgICAgICBjb25zdCBlcnJSZXNwOiBBcnJheTxMb2FkZWRSZXNvdXJjZXNFcnJvcj4gPSBbXTtcbiAgICAgICAgICAgICAgICByZXNwb25zZS5mb3JFYWNoKChpdGVtKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGlmICgoPFJlc291cmNlRXJyb3I+aXRlbSkuaXNFcnJvcikge1xuICAgICAgICAgICAgICAgICAgICAgICAgZXJyUmVzcC5wdXNoKHsgcmVzb3VyY2U6ICg8UmVzb3VyY2VFcnJvcj5pdGVtKS5yZXNvdXJjZSwgZXJyb3I6ICg8UmVzb3VyY2VFcnJvcj5pdGVtKS5lcnJvciB9KTtcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHN1Y2Nlc3NSZXNwLnB1c2goaXRlbSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICBpZiAoc3VjY2Vzc1Jlc3AubGVuZ3RoID09PSByZXNwb25zZS5sZW5ndGgpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHsgaGFzRXJyb3I6IGZhbHNlLCB0cmFuc2xhdGlvbnM6IG1lcmdlQWxsKHN1Y2Nlc3NSZXNwKSB9O1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB7IGhhc0Vycm9yOiB0cnVlLCB0cmFuc2xhdGlvbnM6IG1lcmdlQWxsKHN1Y2Nlc3NSZXNwKSwgZXJyb3JzOiBlcnJSZXNwIH07XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSkpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgLy8gbm8gcmVzb3VyY2VzIHRvIGxvYWRcbiAgICAgICAgICAgIHJldHVybiBvZih7IGhhc0Vycm9yOiBmYWxzZSwgdHJhbnNsYXRpb25zOiB7fSB9KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJldHVybnMgcmVzb3VyY2VzIHRoYXQgZmFpbGVkXG4gICAgICovXG4gICAgcHVibGljIGdldEZhaWxlZFJlc291cmNlcygpOiBBcnJheTxMb2FkZWRSZXNvdXJjZXNFcnJvcj4ge1xuICAgICAgICByZXR1cm4gdGhpcy5mYWlsZWRSZXNvdXJjZXM7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ3JlYXRlIHJlc291cmNlcyBmcm9tIGEgY29uZmlnIGZpbGVcbiAgICAgKiBAcGFyYW0gY29uZmlnIGxvYWRlciBjb25maWd1cmF0aW9uXG4gICAgICogQHJldHVybnMgSTE4blJlc291cmNlSW1wbFtdIHJlc291cmNlc1xuICAgICAqL1xuICAgIHByb3RlY3RlZCBjcmVhdGVSZXNvdXJjZXMoY29uZmlnOiBJMThuTG9hZGVyQ29uZmlnKTogSTE4blJlc291cmNlSW1wbFtdIHtcbiAgICAgICAgLy8gdXNlIHRoZSBkZWZhdWx0IGNvbmZpZyBhcyBhIHJlZmVyZW5jZSBiYXNlXG4gICAgICAgIGNvbmZpZyA9IGdldEkxOG5Mb2FkZXJDb25maWcoY29uZmlnKTtcblxuICAgICAgICBjb25zdCByZXNvdXJjZXMgPSBbXTtcblxuICAgICAgICAvLyBleHRyYWN0IHRoZSBpMThuIGZvbGRlcnMgZnJvbSBjb25maWdcbiAgICAgICAgY29uc3QgaTE4bkZvbGRlcnM6IHN0cmluZ1tdID0gQXJyYXkuaXNBcnJheShjb25maWcuaTE4bkZvbGRlcnMpID9cbiAgICAgICAgICAgIGNvbmZpZy5pMThuRm9sZGVycyA6IChjb25maWcuaTE4bkZvbGRlcnMgPyBbY29uZmlnLmkxOG5Gb2xkZXJzXSA6IFtdKTtcbiAgICAgICAgaWYgKGkxOG5Gb2xkZXJzKSB7XG4gICAgICAgICAgICAvLyBhZGQgdGhlIGkxOG4gZm9sZGVycyB0byByZXNvdXJjZXNcbiAgICAgICAgICAgIHJlc291cmNlcy5wdXNoKC4uLmkxOG5Gb2xkZXJzLm1hcChmb2xkZXIgPT4gbmV3IEkxOG5SZXNvdXJjZUltcGwoYGFzc2V0cy8ke2ZvbGRlcn0vYCwgJy5qc29uJykpKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIGV4dHJhY3QgdGhlIGkxOG4gc2VydmljZXMgZnJvbSBjb25maWdcbiAgICAgICAgY29uc3QgaTE4blNlcnZpY2VzOiBzdHJpbmdbXSA9IEFycmF5LmlzQXJyYXkoY29uZmlnLmkxOG5TZXJ2aWNlcykgP1xuICAgICAgICAgICAgY29uZmlnLmkxOG5TZXJ2aWNlcyA6IChjb25maWcuaTE4blNlcnZpY2VzID8gW2NvbmZpZy5pMThuU2VydmljZXNdIDogW10pO1xuICAgICAgICBpZiAoaTE4blNlcnZpY2VzKSB7XG4gICAgICAgICAgICAvLyBhZGQgdGhlIGkxOG4gc2VydmljZXMgdG8gcmVzb3VyY2VzXG4gICAgICAgICAgICByZXNvdXJjZXMucHVzaCguLi5pMThuU2VydmljZXMubWFwKHNlcnZpY2UgPT4gbmV3IEkxOG5SZXNvdXJjZUltcGwoc2VydmljZSkpKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIGV4dHJhY3QgdGhlIGkxOG4gcmVzb3VyY2VzIGZyb20gY29uZmlnXG4gICAgICAgIGNvbnN0IGkxOG5SZXNvdXJjZXM6IEkxOG5SZXNvdXJjZVtdID0gQXJyYXkuaXNBcnJheShjb25maWcuaTE4blJlc291cmNlcykgP1xuICAgICAgICAgICAgY29uZmlnLmkxOG5SZXNvdXJjZXMgOiAoY29uZmlnLmkxOG5SZXNvdXJjZXMgPyBbY29uZmlnLmkxOG5SZXNvdXJjZXNdIDogW10pO1xuICAgICAgICBpZiAoaTE4blJlc291cmNlcykge1xuICAgICAgICAgICAgLy8gYWRkIHRoZSBpMThuIHJlc291cmNlcyB0byByZXNvdXJjZXNcbiAgICAgICAgICAgIHJlc291cmNlcy5wdXNoKC4uLmkxOG5SZXNvdXJjZXMubWFwKHJlc291cmNlID0+IG5ldyBJMThuUmVzb3VyY2VJbXBsKFxuICAgICAgICAgICAgICAgIHJlc291cmNlLnByZWZpeCwgcmVzb3VyY2Uuc3VmZml4LCB0aGlzLmdldFJlc291cmNlQ29tcGlsZUZ1bmN0aW9uKHJlc291cmNlLmNvbXBpbGVUcmFuc2xhdGlvbnMpKSkpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHJlc291cmNlcztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBMb2FkcyBhIHJlc291cmNlLCBieSBsYW5ndWFnZVxuICAgICAqIEBwYXJhbSByZXNvdXJjZSB0aGUgZGVmaW5pdGlvbiBvZiB0aGUgcmVzb3VyY2VcbiAgICAgKiBAcGFyYW0gbGFuZyB0aGUgcmVzb3VyY2UgbGFuZ3VhZ2UgdG8gbG9hZFxuICAgICAqIEByZXR1cm5zIE9ic2VydmFibGU8YW55PlxuICAgICAqL1xuICAgIHByb3RlY3RlZCBsb2FkUmVzb3VyY2UocmVzb3VyY2U6IEkxOG5SZXNvdXJjZUltcGwsIGxhbmc6IHN0cmluZyk6IE9ic2VydmFibGU8YW55PiB7XG5cbiAgICAgICAgLy8gdGhlIHBhdGggdG8gdGhlIHJlc291cmNlXG4gICAgICAgIGNvbnN0IHBhdGggPSByZXNvdXJjZS5nZXRQYXRoKGxhbmcpO1xuXG4gICAgICAgIC8vIGxvYWQgdGhlIHRyYW5zbGF0aW9ucyBmcm9tIHRoZSBwYXRoXG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KHBhdGgpXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICAvLyBwcmVwcm9jZXNzIHRoZSB0cmFuc2xhdGlvbnMgdXNpbmcgdGhlIHJlc291cmNlIGNvbXBpbGVyXG4gICAgICAgICAgICAgICAgbWFwKCh0cmFuc2xhdGlvbnM6IGFueSkgPT4gcmVzb3VyY2UuY29tcGlsZVRyYW5zbGF0aW9ucyh0cmFuc2xhdGlvbnMsIGxhbmcpKSxcbiAgICAgICAgICAgICAgICBtYXAoKHRyYW5zbGF0aW9uczogYW55KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIC8vIHJlc291cmNlIGxvYWRlZCBwcm9wZXJseSwgc2VuZCBhIGluZm8gbWVzc2FnZVxuICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy5sb2dTZXJ2aWNlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmxvZ1NlcnZpY2UuaW5mbyhgSTE4biByZXNvdXJjZSBsb2FkZWQgZnJvbSBwYXRoICR7cGF0aH1gKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAvLyByZXR1cm4gdGhlIHRyYW5zbGF0aW9uc1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gdHJhbnNsYXRpb25zO1xuICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgIGNhdGNoRXJyb3IoKGVycikgPT4ge1xuICAgICAgICAgICAgICAgICAgICAvLyByZXNvdXJjZSBub3QgbG9hZGVkIHByb3Blcmx5LCBzZW5kIGEgd2FybmluZyBtZXNzYWdlXG4gICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLmxvZ1NlcnZpY2UpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMubG9nU2VydmljZS53YXJuKGBJMThuIHJlc291cmNlIE5PVCBsb2FkZWQgZnJvbSBwYXRoICR7cGF0aH1gLCBlcnIpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHJlc291cmNlRXJyb3I6IFJlc291cmNlRXJyb3IgPSB7IGVycm9yOiBgSTE4biByZXNvdXJjZSBOT1QgbG9hZGVkIGZyb20gcGF0aCAke3BhdGh9YCwgcmVzb3VyY2UsIGlzRXJyb3I6IHRydWUgfTtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG9mKHJlc291cmNlRXJyb3IpO1xuICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldFJlc291cmNlQ29tcGlsZUZ1bmN0aW9uKGlkOiBzdHJpbmcpOiBUcmFuc2xhdGlvbnNDb21waWxlciB7XG4gICAgICAgIGNvbnN0IGN1c3RvbUhhbmRsZXJzID0gdGhpcy5ldWlBcHBDb25maWcuY3VzdG9tSGFuZGxlcjtcbiAgICAgICAgaWYgKGN1c3RvbUhhbmRsZXJzICYmIHR5cGVvZiBjdXN0b21IYW5kbGVyc1tpZF0gPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgICAgIHJldHVybiBjdXN0b21IYW5kbGVyc1tpZF07XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICB9XG59XG5cbmV4cG9ydCBjb25zdCB0cmFuc2xhdGVDb25maWcgPSB7XG4gICAgbG9hZGVyOiB7XG4gICAgICAgIHByb3ZpZGU6IFRyYW5zbGF0ZUxvYWRlcixcbiAgICAgICAgdXNlQ2xhc3M6IEkxOG5Mb2FkZXIsXG4gICAgfSxcbn07XG4iXX0=
|
|
185
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaTE4bi5sb2FkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL3NlcnZpY2VzL2kxOG4vaTE4bi5sb2FkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQWtCLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUU3RSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdEQsT0FBTyxFQUFFLFFBQVEsRUFBYyxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDaEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVqRCxPQUFPLEVBRUgsbUJBQW1CLEdBSXRCLE1BQU0sV0FBVyxDQUFDO0FBQ25CLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFFckMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGtCQUFrQixDQUFDOzs7O0FBc0JoRCxNQUFNLE9BQU8sVUFBVTtJQUluQixZQUFzQixJQUFnQixFQUNKLFVBQXNCLEVBQ1osWUFBMEI7UUFGaEQsU0FBSSxHQUFKLElBQUksQ0FBWTtRQUNKLGVBQVUsR0FBVixVQUFVLENBQVk7UUFDWixpQkFBWSxHQUFaLFlBQVksQ0FBYztRQUw1RCxjQUFTLEdBQXVCLEVBQUUsQ0FBQztRQUNuQyxvQkFBZSxHQUFnQyxFQUFFLENBQUM7UUFLeEQsOENBQThDO1FBQzlDLE1BQU0sVUFBVSxHQUFlLElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQztRQUN6RixNQUFNLGdCQUFnQixHQUFxQixVQUFVLElBQUksVUFBVSxDQUFDLFVBQVUsQ0FBQztRQUMvRSxJQUFJLENBQUMsU0FBUyxD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QUFTLENBQUM7SUFDckIsQ0FBQzs7NklBaExRLFVBQVUsc0ZBTUMsWUFBWTtpSkFOdkIsVUFBVTsyRkFBVixVQUFVO2tCQUR0QixVQUFVOzswQkFNTSxRQUFROzswQkFDUixNQUFNOzJCQUFDLFlBQVk7O0FBNktwQyxNQUFNLENBQUMsTUFBTSxlQUFlLEdBQUc7SUFDM0IsTUFBTSxFQUFFO1FBQ0osT0FBTyxFQUFFLGVBQWU7UUFDeEIsUUFBUSxFQUFFLFVBQVU7S0FDdkI7Q0FDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlLCBJbmplY3Rpb25Ub2tlbiwgT3B0aW9uYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBUcmFuc2xhdGVMb2FkZXIgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7IGZvcmtKb2luLCBPYnNlcnZhYmxlLCBvZiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgY2F0Y2hFcnJvciwgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQge1xuICAgIEdsb2JhbENvbmZpZyxcbiAgICBnZXRJMThuTG9hZGVyQ29uZmlnLFxuICAgIEkxOG5SZXNvdXJjZSxcbiAgICBJMThuU2VydmljZUNvbmZpZyxcbiAgICBFdWlBcHBDb25maWcsXG59IGZyb20gJ0BldWkvYmFzZSc7XG5pbXBvcnQgeyBJMThuUmVzb3VyY2VJbXBsIH0gZnJvbSAnLi9pMThuLnJlc291cmNlJztcbmltcG9ydCB7IG1lcmdlQWxsIH0gZnJvbSAnQGV1aS9iYXNlJztcbmltcG9ydCB7IEkxOG5Mb2FkZXJDb25maWcsIEkxOG5Db25maWcsIFRyYW5zbGF0aW9uc0NvbXBpbGVyIH0gZnJvbSAnQGV1aS9iYXNlJztcbmltcG9ydCB7IENPTkZJR19UT0tFTiB9IGZyb20gJy4uL2NvbmZpZy90b2tlbnMnO1xuaW1wb3J0IHsgTG9nU2VydmljZSB9IGZyb20gJy4uL2xvZy9sb2cuc2VydmljZSc7XG5cbi8vIGV4cG9ydCBjb25zdCBJMThOX0xPQURFUl9DT05GSUdfVE9LRU4gPSBuZXcgSW5qZWN0aW9uVG9rZW48STE4bkxvYWRlckNvbmZpZz4oJ0kxOE5fTE9BREVSX0NPTkZJRycpO1xuaW50ZXJmYWNlIFJlc291cmNlRXJyb3Ige1xuICAgIGlzRXJyb3I6IGJvb2xlYW47XG4gICAgZXJyb3I/OiBzdHJpbmc7XG4gICAgcmVzb3VyY2U/OiBJMThuUmVzb3VyY2VJbXBsO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIExvYWRlZFJlc291cmNlcyB7XG4gICAgdHJhbnNsYXRpb25zOiBvYmplY3Q7XG4gICAgaGFzRXJyb3I6IGJvb2xlYW47XG4gICAgZXJyb3JzPzogQXJyYXk8TG9hZGVkUmVzb3VyY2VzRXJyb3I+O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIExvYWRlZFJlc291cmNlc0Vycm9yIHtcbiAgICByZXNvdXJjZTogSTE4blJlc291cmNlSW1wbDtcbiAgICBlcnJvcjogc3RyaW5nO1xufVxuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgSTE4bkxvYWRlciBpbXBsZW1lbnRzIFRyYW5zbGF0ZUxvYWRlciB7XG4gICAgcHJvdGVjdGVkIHJlc291cmNlczogSTE4blJlc291cmNlSW1wbFtdID0gW107XG4gICAgcHJvdGVjdGVkIGZhaWxlZFJlc291cmNlczogQXJyYXk8TG9hZGVkUmVzb3VyY2VzRXJyb3I+ID0gW107XG5cbiAgICBjb25zdHJ1Y3Rvcihwcm90ZWN0ZWQgaHR0cDogSHR0cENsaWVudCxcbiAgICAgICAgICAgICAgICBAT3B0aW9uYWwoKSBwcm90ZWN0ZWQgbG9nU2VydmljZTogTG9nU2VydmljZSxcbiAgICAgICAgICAgICAgICBASW5qZWN0KENPTkZJR19UT0tFTikgcHJvdGVjdGVkIGV1aUFwcENvbmZpZzogRXVpQXBwQ29uZmlnKSB7XG4gICAgICAgIC8vIGNyZWF0ZSB0aGUgcmVzb3VyY2VzIGZyb20gdGhlIGNvbmZpZyBvYmplY3RcbiAgICAgICAgY29uc3QgaTE4bkNvbmZpZzogSTE4bkNvbmZpZyA9IHRoaXMuZXVpQXBwQ29uZmlnLmdsb2JhbCAmJiB0aGlzLmV1aUFwcENvbmZpZy5nbG9iYWwuaTE4bjtcbiAgICAgICAgY29uc3QgaTE4bkxvYWRlckNvbmZpZzogSTE4bkxvYWRlckNvbmZpZyA9IGkxOG5Db25maWcgJiYgaTE4bkNvbmZpZy5pMThuTG9hZGVyO1xuICAgICAgICB0aGlzLnJlc291cmNlcy5wdXNoKC4uLnRoaXMuY3JlYXRlUmVzb3VyY2VzKGkxOG5Mb2FkZXJDb25maWcpKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBHZXRzIHRoZSB0cmFuc2xhdGlvbnMgZnJvbSB0aGUgc2VydmVyXG4gICAgICogQHBhcmFtIGxhbmdcbiAgICAgKiBAcmV0dXJucyBPYnNlcnZhYmxlPGFueT5cbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0VHJhbnNsYXRpb24obGFuZzogc3RyaW5nKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMubG9hZFJlc291cmNlcyh0aGlzLnJlc291cmNlcywgbGFuZykucGlwZShtYXAoKGxvYWRlZFJlc291cmNlczogTG9hZGVkUmVzb3VyY2VzKSA9PiB7XG4gICAgICAgICAgICB0aGlzLmZhaWxlZFJlc291cmNlcyA9IGxvYWRlZFJlc291cmNlcy5oYXNFcnJvciA/IGxvYWRlZFJlc291cmNlcy5lcnJvcnMgOiBbXTtcbiAgICAgICAgICAgIHJldHVybiBsb2FkZWRSZXNvdXJjZXMudHJhbnNsYXRpb25zO1xuICAgICAgICB9KSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQWRkcyByZXNvdXJjZXNcbiAgICAgKiBAcGFyYW0gY29uZmlnIGxvYWRlciBjb25maWd1cmF0aW9uXG4gICAgICogQHJldHVybnMgT2JzZXJ2YWJsZTxhbnk+IHwgZmFsc2VcbiAgICAgKi9cbiAgICBwdWJsaWMgYWRkUmVzb3VyY2VzKGNvbmZpZzogSTE4bkxvYWRlckNvbmZpZyk6IEkxOG5SZXNvdXJjZUltcGxbXSB7XG5cbiAgICAgICAgLy8gY3JlYXRlIHRoZSByZXNvdXJjZXNcbiAgICAgICAgbGV0IHJlc291cmNlcyA9IHRoaXMuY3JlYXRlUmVzb3VyY2VzKGNvbmZpZyk7XG5cbiAgICAgICAgLy8gZmlsdGVyIHRoZSByZXNvdXJjZXMgZmlyc3QsIHRvIGF2b2lkIGR1cGxpY2F0ZXNcbiAgICAgICAgcmVzb3VyY2VzID0gcmVzb3VyY2VzLmZpbHRlcihyZXNvdXJjZSA9PiAhdGhpcy5yZXNvdXJjZXMuc29tZShyZXMgPT4gcmVzLmVxdWFscyhyZXNvdXJjZSkpKTtcblxuICAgICAgICAvLyBhZGQgdGhlIG5ldyByZXNvdXJjZXMgdG8gdGhlIGxpc3Qgb2YgZXhpc3RpbmcgcmVzb3VyY2VzXG4gICAgICAgIHRoaXMucmVzb3VyY2VzLnB1c2goLi4ucmVzb3VyY2VzKTtcblxuICAgICAgICAvLyByZXR1cm4gdGhlIGZpbHRlcmVkIHJlc291cmNlc1xuICAgICAgICByZXR1cm4gcmVzb3VyY2VzO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJlbW92ZXMgcmVzb3VyY2VzIGZyb20gdGhlIGxvYWRlciBpbnN0YW5jZVxuICAgICAqL1xuICAgIHB1YmxpYyByZW1vdmVSZXNvdXJjZXMocmVtb3ZlZFJlc291cmNlczogSTE4blJlc291cmNlSW1wbFtdKTogdm9pZCB7XG4gICAgICAgIHRoaXMucmVzb3VyY2VzID0gdGhpcy5yZXNvdXJjZXMuZmlsdGVyKHJlcyA9PiAhcmVtb3ZlZFJlc291cmNlcy5zb21lKChyZW1vdmVkUmVzb3VyY2UpID0+IHJlbW92ZWRSZXNvdXJjZS5lcXVhbHMocmVzKSkpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIExvYWRzIGFuIGFycmF5IG9mIHJlc291cmNlcywgYnkgbGFuZ3VhZ2VcbiAgICAgKiBAcGFyYW0gcmVzb3VyY2VzIHRoZSBkZWZpbml0aW9uIG9mIHRoZSByZXNvdXJjZXNcbiAgICAgKiBAcGFyYW0gbGFuZyB0aGUgcmVzb3VyY2UgbGFuZ3VhZ2UgdG8gbG9hZFxuICAgICAqIEByZXR1cm5zIE9ic2VydmFibGU8YW55PlxuICAgICAqL1xuICAgIHB1YmxpYyBsb2FkUmVzb3VyY2VzKHJlc291cmNlczogSTE4blJlc291cmNlSW1wbFtdLCBsYW5nOiBzdHJpbmcpOiBPYnNlcnZhYmxlPGFueT4ge1xuXG4gICAgICAgIC8vIGlmIHRoZXJlIGFyZSByZXNvdXJjZXMgdG8gbG9hZFxuICAgICAgICBpZiAoQXJyYXkuaXNBcnJheShyZXNvdXJjZXMpICYmIHJlc291cmNlcy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICAvLyBsb2FkIGFsbCB0aGUgcmVzb3VyY2VzIGluIGFuIGFycmF5IG9mIE9ic2VydmFibGVcbiAgICAgICAgICAgIGNvbnN0IHJlcXVlc3RzID0gcmVzb3VyY2VzLm1hcChyZXNvdXJjZSA9PiB0aGlzLmxvYWRSZXNvdXJjZShyZXNvdXJjZSwgbGFuZykpO1xuICAgICAgICAgICAgLy8gZ3JvdXAgYWxsIHRoZSBvYnNlcnZhYmxlcyB3aXRoIGZvcmtKb2luIGFuZCBkZWVwIG1lcmdlIHRoZW1cbiAgICAgICAgICAgIHJldHVybiBmb3JrSm9pbihyZXF1ZXN0cykucGlwZShtYXAocmVzcG9uc2UgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IHN1Y2Nlc3NSZXNwID0gW107XG4gICAgICAgICAgICAgICAgY29uc3QgZXJyUmVzcDogQXJyYXk8TG9hZGVkUmVzb3VyY2VzRXJyb3I+ID0gW107XG4gICAgICAgICAgICAgICAgcmVzcG9uc2UuZm9yRWFjaCgoaXRlbSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBpZiAoKDxSZXNvdXJjZUVycm9yPml0ZW0pLmlzRXJyb3IpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGVyclJlc3AucHVzaCh7IHJlc291cmNlOiAoPFJlc291cmNlRXJyb3I+aXRlbSkucmVzb3VyY2UsIGVycm9yOiAoPFJlc291cmNlRXJyb3I+aXRlbSkuZXJyb3IgfSk7XG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBzdWNjZXNzUmVzcC5wdXNoKGl0ZW0pO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgaWYgKHN1Y2Nlc3NSZXNwLmxlbmd0aCA9PT0gcmVzcG9uc2UubGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB7IGhhc0Vycm9yOiBmYWxzZSwgdHJhbnNsYXRpb25zOiBtZXJnZUFsbChzdWNjZXNzUmVzcCkgfTtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4geyBoYXNFcnJvcjogdHJ1ZSwgdHJhbnNsYXRpb25zOiBtZXJnZUFsbChzdWNjZXNzUmVzcCksIGVycm9yczogZXJyUmVzcCB9O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIC8vIG5vIHJlc291cmNlcyB0byBsb2FkXG4gICAgICAgICAgICByZXR1cm4gb2YoeyBoYXNFcnJvcjogZmFsc2UsIHRyYW5zbGF0aW9uczoge30gfSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZXR1cm5zIHJlc291cmNlcyB0aGF0IGZhaWxlZFxuICAgICAqL1xuICAgIHB1YmxpYyBnZXRGYWlsZWRSZXNvdXJjZXMoKTogQXJyYXk8TG9hZGVkUmVzb3VyY2VzRXJyb3I+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZmFpbGVkUmVzb3VyY2VzO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENyZWF0ZSByZXNvdXJjZXMgZnJvbSBhIGNvbmZpZyBmaWxlXG4gICAgICogQHBhcmFtIGNvbmZpZyBsb2FkZXIgY29uZmlndXJhdGlvblxuICAgICAqIEByZXR1cm5zIEkxOG5SZXNvdXJjZUltcGxbXSByZXNvdXJjZXNcbiAgICAgKi9cbiAgICBwcm90ZWN0ZWQgY3JlYXRlUmVzb3VyY2VzKGNvbmZpZzogSTE4bkxvYWRlckNvbmZpZyk6IEkxOG5SZXNvdXJjZUltcGxbXSB7XG4gICAgICAgIC8vIHVzZSB0aGUgZGVmYXVsdCBjb25maWcgYXMgYSByZWZlcmVuY2UgYmFzZVxuICAgICAgICBjb25maWcgPSBnZXRJMThuTG9hZGVyQ29uZmlnKGNvbmZpZyk7XG5cbiAgICAgICAgY29uc3QgcmVzb3VyY2VzID0gW107XG5cbiAgICAgICAgLy8gZXh0cmFjdCB0aGUgaTE4biBmb2xkZXJzIGZyb20gY29uZmlnXG4gICAgICAgIGNvbnN0IGkxOG5Gb2xkZXJzOiBzdHJpbmdbXSA9IEFycmF5LmlzQXJyYXkoY29uZmlnLmkxOG5Gb2xkZXJzKSA/XG4gICAgICAgICAgICBjb25maWcuaTE4bkZvbGRlcnMgOiAoY29uZmlnLmkxOG5Gb2xkZXJzID8gW2NvbmZpZy5pMThuRm9sZGVyc10gOiBbXSk7XG4gICAgICAgIGlmIChpMThuRm9sZGVycykge1xuICAgICAgICAgICAgLy8gYWRkIHRoZSBpMThuIGZvbGRlcnMgdG8gcmVzb3VyY2VzXG4gICAgICAgICAgICByZXNvdXJjZXMucHVzaCguLi5pMThuRm9sZGVycy5tYXAoZm9sZGVyID0+IG5ldyBJMThuUmVzb3VyY2VJbXBsKGBhc3NldHMvJHtmb2xkZXJ9L2AsICcuanNvbicpKSk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBleHRyYWN0IHRoZSBpMThuIHNlcnZpY2VzIGZyb20gY29uZmlnXG4gICAgICAgIGNvbnN0IGkxOG5TZXJ2aWNlczogc3RyaW5nW10gPSBBcnJheS5pc0FycmF5KGNvbmZpZy5pMThuU2VydmljZXMpID9cbiAgICAgICAgICAgIGNvbmZpZy5pMThuU2VydmljZXMgOiAoY29uZmlnLmkxOG5TZXJ2aWNlcyA/IFtjb25maWcuaTE4blNlcnZpY2VzXSA6IFtdKTtcbiAgICAgICAgaWYgKGkxOG5TZXJ2aWNlcykge1xuICAgICAgICAgICAgLy8gYWRkIHRoZSBpMThuIHNlcnZpY2VzIHRvIHJlc291cmNlc1xuICAgICAgICAgICAgcmVzb3VyY2VzLnB1c2goLi4uaTE4blNlcnZpY2VzLm1hcChzZXJ2aWNlID0+IG5ldyBJMThuUmVzb3VyY2VJbXBsKHNlcnZpY2UpKSk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBleHRyYWN0IHRoZSBpMThuIHJlc291cmNlcyBmcm9tIGNvbmZpZ1xuICAgICAgICBjb25zdCBpMThuUmVzb3VyY2VzOiBJMThuUmVzb3VyY2VbXSA9IEFycmF5LmlzQXJyYXkoY29uZmlnLmkxOG5SZXNvdXJjZXMpID9cbiAgICAgICAgICAgIGNvbmZpZy5pMThuUmVzb3VyY2VzIDogKGNvbmZpZy5pMThuUmVzb3VyY2VzID8gW2NvbmZpZy5pMThuUmVzb3VyY2VzXSA6IFtdKTtcbiAgICAgICAgaWYgKGkxOG5SZXNvdXJjZXMpIHtcbiAgICAgICAgICAgIC8vIGFkZCB0aGUgaTE4biByZXNvdXJjZXMgdG8gcmVzb3VyY2VzXG4gICAgICAgICAgICByZXNvdXJjZXMucHVzaCguLi5pMThuUmVzb3VyY2VzLm1hcChyZXNvdXJjZSA9PiBuZXcgSTE4blJlc291cmNlSW1wbChcbiAgICAgICAgICAgICAgICByZXNvdXJjZS5wcmVmaXgsIHJlc291cmNlLnN1ZmZpeCwgdGhpcy5nZXRSZXNvdXJjZUNvbXBpbGVGdW5jdGlvbihyZXNvdXJjZS5jb21waWxlVHJhbnNsYXRpb25zKSkpKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiByZXNvdXJjZXM7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogTG9hZHMgYSByZXNvdXJjZSwgYnkgbGFuZ3VhZ2VcbiAgICAgKiBAcGFyYW0gcmVzb3VyY2UgdGhlIGRlZmluaXRpb24gb2YgdGhlIHJlc291cmNlXG4gICAgICogQHBhcmFtIGxhbmcgdGhlIHJlc291cmNlIGxhbmd1YWdlIHRvIGxvYWRcbiAgICAgKiBAcmV0dXJucyBPYnNlcnZhYmxlPGFueT5cbiAgICAgKi9cbiAgICBwcm90ZWN0ZWQgbG9hZFJlc291cmNlKHJlc291cmNlOiBJMThuUmVzb3VyY2VJbXBsLCBsYW5nOiBzdHJpbmcpOiBPYnNlcnZhYmxlPGFueT4ge1xuXG4gICAgICAgIC8vIHRoZSBwYXRoIHRvIHRoZSByZXNvdXJjZVxuICAgICAgICBjb25zdCBwYXRoID0gcmVzb3VyY2UuZ2V0UGF0aChsYW5nKTtcblxuICAgICAgICAvLyBsb2FkIHRoZSB0cmFuc2xhdGlvbnMgZnJvbSB0aGUgcGF0aFxuICAgICAgICByZXR1cm4gdGhpcy5odHRwLmdldChwYXRoKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgLy8gcHJlcHJvY2VzcyB0aGUgdHJhbnNsYXRpb25zIHVzaW5nIHRoZSByZXNvdXJjZSBjb21waWxlclxuICAgICAgICAgICAgICAgIG1hcCgodHJhbnNsYXRpb25zOiBhbnkpID0+IHJlc291cmNlLmNvbXBpbGVUcmFuc2xhdGlvbnModHJhbnNsYXRpb25zLCBsYW5nKSksXG4gICAgICAgICAgICAgICAgbWFwKCh0cmFuc2xhdGlvbnM6IGFueSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAvLyByZXNvdXJjZSBsb2FkZWQgcHJvcGVybHksIHNlbmQgYSBpbmZvIG1lc3NhZ2VcbiAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMubG9nU2VydmljZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5sb2dTZXJ2aWNlLmluZm8oYEkxOG4gcmVzb3VyY2UgbG9hZGVkIGZyb20gcGF0aCAke3BhdGh9YCk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgLy8gcmV0dXJuIHRoZSB0cmFuc2xhdGlvbnNcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRyYW5zbGF0aW9ucztcbiAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICBjYXRjaEVycm9yKChlcnIpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgLy8gcmVtb3ZlIGZhaWxlZCByZXNvdXJjZSBmcm9tIGxvYWRlZCByZXNvdXJjZSBhcnJheVxuICAgICAgICAgICAgICAgICAgICB0aGlzLnJlbW92ZVJlc291cmNlcyhbcmVzb3VyY2VdKTtcbiAgICAgICAgICAgICAgICAgICAgLy8gcmVzb3VyY2Ugbm90IGxvYWRlZCBwcm9wZXJseSwgc2VuZCBhIHdhcm5pbmcgbWVzc2FnZVxuICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy5sb2dTZXJ2aWNlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmxvZ1NlcnZpY2Uud2FybihgSTE4biByZXNvdXJjZSBOT1QgbG9hZGVkIGZyb20gcGF0aCAke3BhdGh9YCwgZXJyKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBjb25zdCByZXNvdXJjZUVycm9yOiBSZXNvdXJjZUVycm9yID0geyBlcnJvcjogYEkxOG4gcmVzb3VyY2UgTk9UIGxvYWRlZCBmcm9tIHBhdGggJHtwYXRofWAsIHJlc291cmNlLCBpc0Vycm9yOiB0cnVlIH07XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBvZihyZXNvdXJjZUVycm9yKTtcbiAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRSZXNvdXJjZUNvbXBpbGVGdW5jdGlvbihpZDogc3RyaW5nKTogVHJhbnNsYXRpb25zQ29tcGlsZXIge1xuICAgICAgICBjb25zdCBjdXN0b21IYW5kbGVycyA9IHRoaXMuZXVpQXBwQ29uZmlnLmN1c3RvbUhhbmRsZXI7XG4gICAgICAgIGlmIChjdXN0b21IYW5kbGVycyAmJiB0eXBlb2YgY3VzdG9tSGFuZGxlcnNbaWRdID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgICAgICByZXR1cm4gY3VzdG9tSGFuZGxlcnNbaWRdO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgfVxufVxuXG5leHBvcnQgY29uc3QgdHJhbnNsYXRlQ29uZmlnID0ge1xuICAgIGxvYWRlcjoge1xuICAgICAgICBwcm92aWRlOiBUcmFuc2xhdGVMb2FkZXIsXG4gICAgICAgIHVzZUNsYXNzOiBJMThuTG9hZGVyLFxuICAgIH0sXG59O1xuIl19
|
|
@@ -86,9 +86,6 @@ export class I18nService extends EuiLazyService {
|
|
|
86
86
|
.pipe(take(1), tap((loadedResources) => {
|
|
87
87
|
// add the new set of translations to the current language
|
|
88
88
|
this.translateService.setTranslation(this.translateService.currentLang, loadedResources.translations, true);
|
|
89
|
-
if (loadedResources.hasError) {
|
|
90
|
-
i18nLoader.removeResources(loadedResources.errors.map(err => err.resource));
|
|
91
|
-
}
|
|
92
89
|
})));
|
|
93
90
|
// if the current language is different than the DEFAULT language
|
|
94
91
|
if (this.translateService.currentLang !== this.translateService.defaultLang) {
|
|
@@ -96,9 +93,6 @@ export class I18nService extends EuiLazyService {
|
|
|
96
93
|
langSubscription.push(i18nLoader.loadResources(resources, this.translateService.defaultLang)
|
|
97
94
|
.pipe(take(1), tap((loadedResources) => {
|
|
98
95
|
this.translateService.setTranslation(this.translateService.defaultLang, loadedResources.translations, true);
|
|
99
|
-
if (loadedResources.hasError) {
|
|
100
|
-
i18nLoader.removeResources(loadedResources.errors.map(err => err.resource));
|
|
101
|
-
}
|
|
102
96
|
})));
|
|
103
97
|
}
|
|
104
98
|
return forkJoin(langSubscription).pipe(map((loadedResourcesArr) => {
|
|
@@ -222,4 +216,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.2", ngImpor
|
|
|
222
216
|
type: Inject,
|
|
223
217
|
args: [DOCUMENT]
|
|
224
218
|
}] }]; } });
|
|
225
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaTE4bi5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9zZXJ2aWNlcy9pMThuL2kxOG4uc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDM0MsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTdELE9BQU8sRUFBRSxlQUFlLEVBQUUsUUFBUSxFQUFjLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNqRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMvRSxPQUFPLEVBRUgsY0FBYyxFQUVkLDRCQUE0QixFQUM1QixZQUFZLEVBQ1osYUFBYSxFQUNiLGtCQUFrQixFQUtsQix5QkFBeUIsRUFDekIsYUFBYSxHQUNoQixNQUFNLFdBQVcsQ0FBQztBQUVuQixPQUFPLEVBQUUsVUFBVSxFQUFtQixNQUFNLGVBQWUsQ0FBQztBQUM1RCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUd2RCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUN0RSxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQzs7Ozs7QUFXakUsTUFBTSxPQUFPLFdBQTZDLFNBQVEsY0FBNkI7SUFLM0YsWUFDMkMsZ0JBQThCLEVBQzNELGdCQUFrQyxFQUN0QixVQUFzQixFQUNsQyxLQUFtQixFQUNILFFBQWtCO1FBRTVDLEtBQUssQ0FBQyxFQUFFLFVBQVUsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBTlcscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFjO1FBQzNELHFCQUFnQixHQUFoQixnQkFBZ0Is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QUMsQ0FBQztTQUMzRTtJQUNMLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNLLEdBQUcsQ0FBQyxJQUFZO1FBQ3BCLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUMzQyxDQUFDO0lBRUQ7OztPQUdHO0lBQ0ssaUJBQWlCLENBQUMsSUFBWTtRQUNsQyxJQUFJLENBQUMsUUFBUSxDQUFDLGVBQWUsQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDO0lBQzlDLENBQUM7OzhJQTFPUSxXQUFXLGtCQU1SLG1CQUFtQixtSEFJbkIsUUFBUTtrSkFWWCxXQUFXLGNBRlIsTUFBTTsyRkFFVCxXQUFXO2tCQUh2QixVQUFVO21CQUFDO29CQUNSLFVBQVUsRUFBRSxNQUFNO2lCQUNyQjs7MEJBT1EsTUFBTTsyQkFBQyxtQkFBbUI7OzBCQUUxQixRQUFRO3lEQUUyQixRQUFROzBCQUEzQyxNQUFNOzJCQUFDLFFBQVEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBET0NVTUVOVCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUsIE9wdGlvbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBMYW5nQ2hhbmdlRXZlbnQsIFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgZm9ya0pvaW4sIE9ic2VydmFibGUsIG9mIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBjYXRjaEVycm9yLCBmaWx0ZXIsIG1hcCwgdGFrZSwgdGFwLCBzd2l0Y2hNYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQge1xuICAgIEdsb2JhbENvbmZpZyxcbiAgICBFdWlMYXp5U2VydmljZSxcbiAgICBFdWlTZXJ2aWNlU3RhdHVzLFxuICAgIGdldEkxOG5TZXJ2aWNlQ29uZmlnRnJvbUJhc2UsXG4gICAgZ2V0STE4blN0YXRlLFxuICAgIGdldEFjdGl2ZUxhbmcsXG4gICAgZ2V0TGFzdEFkZGVkTW9kdWxlLFxuICAgIEkxOG5Mb2FkZXJDb25maWcsXG4gICAgSTE4blNlcnZpY2VDb25maWcsXG4gICAgSTE4blN0YXRlLFxuICAgIE1vZHVsZUNvbmZpZyxcbiAgICBnZXRCcm93c2VyRGVmYXVsdExhbmd1YWdlLFxuICAgIFV4RXVMYW5ndWFnZXMsXG59IGZyb20gJ0BldWkvYmFzZSc7XG5cbmltcG9ydCB7IEkxOG5Mb2FkZXIsIExvYWRlZFJlc291cmNlcyB9IGZyb20gJy4vaTE4bi5sb2FkZXInO1xuaW1wb3J0IHsgR0xPQkFMX0NPTkZJR19UT0tFTiB9IGZyb20gJy4uL2NvbmZpZy90b2tlbnMnO1xuaW1wb3J0IHsgTG9nU2VydmljZSB9IGZyb20gJy4uL2xvZy9sb2cuc2VydmljZSc7XG5pbXBvcnQgeyBTdG9yZVNlcnZpY2UgfSBmcm9tICcuLi9zdG9yZS9zdG9yZS5zZXJ2aWNlJztcbmltcG9ydCB7IFVwZGF0ZUkxOG5TdGF0ZUFjdGlvbiB9IGZyb20gJy4uL3N0b3JlL2FjdGlvbnMvaTE4bi5hY3Rpb25zJztcbmltcG9ydCB7IERFRkFVTFRfSTE4Tl9TRVJWSUNFX0NPTkZJRyB9IGZyb20gJy4uL2NvbmZpZy9kZWZhdWx0cyc7XG5cbmludGVyZmFjZSBNb2R1bGVMb2FkRXZlbnQge1xuICAgIHJlYWR5OiBib29sZWFuO1xuICAgIG5hbWU6IHN0cmluZztcbiAgICBlcnJvcj86IGFueTtcbn1cblxuQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgSTE4blNlcnZpY2U8VCBleHRlbmRzIEkxOG5TdGF0ZSA9IEkxOG5TdGF0ZT4gZXh0ZW5kcyBFdWlMYXp5U2VydmljZTxUIHwgSTE4blN0YXRlPiB7XG5cbiAgICBwcm90ZWN0ZWQgY29uZmlnOiBJMThuU2VydmljZUNvbmZpZztcbiAgICBwcm90ZWN0ZWQgb25Nb2R1bGVMb2FkOiBCZWhhdmlvclN1YmplY3Q8TW9kdWxlTG9hZEV2ZW50PjtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBASW5qZWN0KEdMT0JBTF9DT05GSUdfVE9LRU4pIHByb3RlY3RlZCBiYXNlR2xvYmFsQ29uZmlnOiBHbG9iYWxDb25maWcsXG4gICAgICAgIHByb3RlY3RlZCB0cmFuc2xhdGVTZXJ2aWNlOiBUcmFuc2xhdGVTZXJ2aWNlLFxuICAgICAgICBAT3B0aW9uYWwoKSBwcm90ZWN0ZWQgbG9nU2VydmljZTogTG9nU2VydmljZSxcbiAgICAgICAgcHJvdGVjdGVkIHN0b3JlOiBTdG9yZVNlcnZpY2UsXG4gICAgICAgIEBJbmplY3QoRE9DVU1FTlQpIHByaXZhdGUgZG9jdW1lbnQ6IERvY3VtZW50LFxuICAgICkge1xuICAgICAgICBzdXBlcih7IGFjdGl2ZUxhbmc6ICdlbicgfSk7XG4gICAgICAgIHRoaXMuY29uZmlnID0gZ2V0STE4blNlcnZpY2VDb25maWdGcm9tQmFzZSh0aGlzLmJhc2VHbG9iYWxDb25maWcpO1xuICAgICAgICB0aGlzLm9uTW9kdWxlTG9hZCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8TW9kdWxlTG9hZEV2ZW50Pih7IHJlYWR5OiBmYWxzZSwgbmFtZTogbnVsbCB9KTtcbiAgICB9XG5cbiAgICBnZXRTdGF0ZTxLID0gVD4obWFwRm4/OiAoc3RhdGU6IFQpID0+IEspOiBPYnNlcnZhYmxlPEs+O1xuICAgIGdldFN0YXRlPGEgZXh0ZW5kcyBrZXlvZiBUPihrZXk/OiBhKTogT2JzZXJ2YWJsZTxUW2FdPjtcbiAgICBnZXRTdGF0ZTxLPihrZXlPck1hcEZuPzogKChzdGF0ZTogVCkgPT4gSykgfCBzdHJpbmcpOiBPYnNlcnZhYmxlPEs+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc3RvcmUuc2VsZWN0KGdldEkxOG5TdGF0ZSk7XG4gICAgfVxuXG4gICAgdXBkYXRlU3RhdGUobGFuZ1N0YXRlOiBUIHwgSTE4blN0YXRlKTogdm9pZCB7XG4gICAgICAgIHRoaXMudXBkYXRlSFRNTERPTUxhbmcobGFuZ1N0YXRlLmFjdGl2ZUxhbmcpO1xuICAgICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKG5ldyBVcGRhdGVJMThuU3RhdGVBY3Rpb24obGFuZ1N0YXRlKSk7XG4gICAgfVxuXG4gICAgaW5pdChsYW5nU3RhdGU/OiBUKTogT2JzZXJ2YWJsZTxFdWlTZXJ2aWNlU3RhdHVzPiB7XG4gICAgICAgIGNvbnN0IGluaXRMYW5nID0gbGFuZ1N0YXRlICYmIGxhbmdTdGF0ZS5hY3RpdmVMYW5nID8gbGFuZ1N0YXRlLmFjdGl2ZUxhbmcgOiB0aGlzLnByZXBhcmVkRGVmYXVsdExhbmd1YWdlKCk7XG4gICAgICAgIGNvbnN0IGluaXRTdGF0ZSA9IHtcbiAgICAgICAgICAgIC4uLmxhbmdTdGF0ZSxcbiAgICAgICAgICAgIGFjdGl2ZUxhbmc6IGluaXRMYW5nLFxuICAgICAgICB9O1xuICAgICAgICBpZiAodHlwZW9mIGluaXRMYW5nID09PSAnc3RyaW5nJykge1xuICAgICAgICAgICAgc3VwZXIuaW5pdEV1aVNlcnZpY2UodGhpcy5zdG9yZSk7XG4gICAgICAgICAgICB0aGlzLnVwZGF0ZVN0YXRlKGluaXRTdGF0ZSk7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5zZXR1cChpbml0TGFuZyk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIG9mKHsgc3VjY2VzczogZmFsc2UsIGVycm9yOiAnSW5pdGlhbCBhY3RpdmUgbGFuZyBzaG91bGQgYmUgc3RyaW5nJyB9KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBBIHBpcGUgZnVuY3Rpb24gdGhhdCBjb3VsZCBzZXJ2ZSBhcyBhIHdyYXBwZXIgb2YgYW5vdGhlciBvYnNlcnZhYmxlXG4gICAgICogZS5nLiBuZ3gtdHJhbnNsYXRlIGkxOG4ub25SZWFkeSgnbXlfbW9kdWxlJykucGlwZShzd2l0Y2hNYXAoKCk9PnRyYW5zbGF0ZS5nZXQoJ2V1aS5LRVknKSkpO1xuICAgICAqIFdBUk5JTkc6IG9uUmVhZHkgd2lsbCBlbWl0IG9ubHkgb25jZSBmb3IgYSBsb2FkZWQgTW9kdWxlLCBnb2luZyB0byBhbm90aGVyIGFuZCB0aGVuIGdvaW5nIGJhY2sgd2lsbCBub3QgcmVzdWx0XG4gICAgICogaW50byBhbm90aGVyIGVtaXNzaW9uLlxuICAgICAqIEBwYXJhbSBtb2R1bGVOYW1lIHRoZSBuYW1lIG9mIHRoZSBtb2R1bGUgdGhhdCBoYXMgYmVlbiBnaXZlbiB0aHJvdWdoIHRoZSBlVUkgZ2xvYmFsQ29uZmlnLiBJbiBjYXNlIG5vbiBwcm92aWRlZFxuICAgICAqIGZldGNoIG1vZHVsZSBuYW1lIGZyb20gdGhlIHN0YXRlLlxuICAgICAqL1xuICAgIG9uUmVhZHkobW9kdWxlTmFtZT86IHN0cmluZyk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgICAgIHJldHVybiB0aGlzLm9uTW9kdWxlTG9hZC5waXBlKFxuICAgICAgICAgICAgc3dpdGNoTWFwKChldnQ6IE1vZHVsZUxvYWRFdmVudCkgPT4gbW9kdWxlTmFtZSA/IG9mKGV2dCkgOlxuICAgICAgICAgICAgICAgIHRoaXMuc3RvcmUuc2VsZWN0KGdldExhc3RBZGRlZE1vZHVsZSkucGlwZSh0YXAobSA9PiBtb2R1bGVOYW1lID0gbSksIG1hcCgoKSA9PiBldnQpKSksXG4gICAgICAgICAgICAvLyBlbWl0IG9ubHkgaWYgZXZlbnQgZW1pdHRlZCBtYXRjaGVzIHRoZSBtb2R1bGUgbmFtZSBhbmQgaXMgcmVhZHlcbiAgICAgICAgICAgIGZpbHRlcigoZXZ0OiBNb2R1bGVMb2FkRXZlbnQpID0+IGV2dC5yZWFkeSA9PT0gdHJ1ZSAmJiBldnQubmFtZSA9PT0gbW9kdWxlTmFtZSksXG4gICAgICAgICAgICAvLyBtYWtlIHN1cmUgdGhhdCBvYnNlcnZhYmxlIGNvbXBsZXRlc1xuICAgICAgICAgICAgdGFrZSgxKSxcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgbGF6eUxvYWQoY29uZmlnOiBJMThuTG9hZGVyQ29uZmlnKTogT2JzZXJ2YWJsZTxFdWlTZXJ2aWNlU3RhdHVzPiB7XG4gICAgICAgIGNvbnN0IG1vZHVsZUlkID0gTWF0aC5mbG9vcigoTWF0aC5yYW5kb20oKSAqIDEwMDAwMCkgKyAxKS50b0xvY2FsZVN0cmluZygpO1xuICAgICAgICByZXR1cm4gdGhpcy5hZGRSZXNvdXJjZXMoY29uZmlnLCBtb2R1bGVJZCk7XG4gICAgfVxuXG4gICAgbGF6eUxvYWRJbml0KG1vZHVsZUNvbmZpZzogTW9kdWxlQ29uZmlnLCBtb2R1bGVOYW1lPzogc3RyaW5nKTogT2JzZXJ2YWJsZTxFdWlTZXJ2aWNlU3RhdHVzPiB7XG4gICAgICAgIGNvbnN0IGkxOG5Mb2FkZXJDb25maWcgPSBtb2R1bGVDb25maWcgYXMgSTE4bkxvYWRlckNvbmZpZztcbiAgICAgICAgLy8gYWRkIHJlc291cmNlc1xuICAgICAgICByZXR1cm4gdGhpcy5hZGRSZXNvdXJjZXMoaTE4bkxvYWRlckNvbmZpZywgbW9kdWxlTmFtZSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQWRkIHJlc291cmNlcyBiYXNlZCBvZiBhIGNvbmZpZyBsb2FkZXJcbiAgICAgKiBAcGFyYW0gY29uZmlnIEkxOG5Mb2FkZXJDb25maWdcbiAgICAgKiBAcmV0dXJuIFByb21pc2U8RXVpU2VydmljZVN0YXR1cz4gYW4gRXVpU2VydmljZVN0YXR1cyB3aGVuIHRyYW5zbGF0aW9uIGhhcyBmdWxseSBsb2FkZWRcbiAgICAgKi9cbiAgICBwdWJsaWMgYWRkUmVzb3VyY2VzKGNvbmZpZzogSTE4bkxvYWRlckNvbmZpZywgbW9kdWxlTmFtZT86IHN0cmluZyk6IE9ic2VydmFibGU8RXVpU2VydmljZVN0YXR1cz4ge1xuXG4gICAgICAgIC8vIGVtaXQgdGhhdCBtb2R1bGUgaXMgbG9hZGluZ1xuICAgICAgICB0aGlzLm9uTW9kdWxlTG9hZC5uZXh0KHsgcmVhZHk6IGZhbHNlLCBuYW1lOiBtb2R1bGVOYW1lIH0pO1xuXG4gICAgICAgIGNvbnN0IGxvYWRlciA9IHRoaXMudHJhbnNsYXRlU2VydmljZS5jdXJyZW50TG9hZGVyO1xuICAgICAgICBpZiAobG9hZGVyIGluc3RhbmNlb2YgSTE4bkxvYWRlcikge1xuICAgICAgICAgICAgY29uc3QgbGFuZ1N1YnNjcmlwdGlvbjogT2JzZXJ2YWJsZTxhbnk+W10gPSBbXTtcbiAgICAgICAgICAgIGNvbnN0IGkxOG5Mb2FkZXIgPSA8STE4bkxvYWRlcj5sb2FkZXI7XG5cbiAgICAgICAgICAgIC8vIGFkZCB0aGUgcmVzb3VyY2VzIHRvIHRoZSBsb2FkZXJcbiAgICAgICAgICAgIGNvbnN0IHJlc291cmNlcyA9IGkxOG5Mb2FkZXIuYWRkUmVzb3VyY2VzKGNvbmZpZyk7XG5cbiAgICAgICAgICAgIC8vIG1hbnVhbGx5IGxvYWQgdGhlIHJlc291cmNlcyBmb3IgdGhlIENVUlJFTlQgbGFuZ3VhZ2UgYW5kIGFkZCB0aGVtIHRvIHRoZSB0cmFuc2xhdGUgc2VydmljZVxuICAgICAgICAgICAgbGFuZ1N1YnNjcmlwdGlvbi5wdXNoKGkxOG5Mb2FkZXIubG9hZFJlc291cmNlcyhyZXNvdXJjZXMsIHRoaXMudHJhbnNsYXRlU2VydmljZS5jdXJyZW50TGFuZylcbiAgICAgICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICAgICAgdGFrZSgxKSxcbiAgICAgICAgICAgICAgICAgICAgdGFwKChsb2FkZWRSZXNvdXJjZXM6IExvYWRlZFJlc291cmNlcykgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgLy8gYWRkIHRoZSBuZXcgc2V0IG9mIHRyYW5zbGF0aW9ucyB0byB0aGUgY3VycmVudCBsYW5ndWFnZVxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy50cmFuc2xhdGVTZXJ2aWNlLnNldFRyYW5zbGF0aW9uKHRoaXMudHJhbnNsYXRlU2VydmljZS5jdXJyZW50TGFuZywgbG9hZGVkUmVzb3VyY2VzLnRyYW5zbGF0aW9ucywgdHJ1ZSk7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAobG9hZGVkUmVzb3VyY2VzLmhhc0Vycm9yKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaTE4bkxvYWRlci5yZW1vdmVSZXNvdXJjZXMobG9hZGVkUmVzb3VyY2VzLmVycm9ycy5tYXAoZXJyID0+IGVyci5yZXNvdXJjZSkpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICApKTtcblxuICAgICAgICAgICAgLy8gaWYgdGhlIGN1cnJlbnQgbGFuZ3VhZ2UgaXMgZGlmZmVyZW50IHRoYW4gdGhlIERFRkFVTFQgbGFuZ3VhZ2VcbiAgICAgICAgICAgIGlmICh0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuY3VycmVudExhbmcgIT09IHRoaXMudHJhbnNsYXRlU2VydmljZS5kZWZhdWx0TGFuZykge1xuICAgICAgICAgICAgICAgIC8vIG1hbnVhbGx5IGxvYWQgdGhlIHJlc291cmNlcyBmb3IgdGhlIGRlZmF1bHQgbGFuZ3VhZ2UgYW5kIGFkZCB0aGVtIHRvIHRoZSB0cmFuc2xhdGUgc2VydmljZVxuICAgICAgICAgICAgICAgIGxhbmdTdWJzY3JpcHRpb24ucHVzaChpMThuTG9hZGVyLmxvYWRSZXNvdXJjZXMocmVzb3VyY2VzLCB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuZGVmYXVsdExhbmcpXG4gICAgICAgICAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgICAgICAgICAgdGFrZSgxKSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHRhcCgobG9hZGVkUmVzb3VyY2VzOiBMb2FkZWRSZXNvdXJjZXMpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnRyYW5zbGF0ZVNlcnZpY2Uuc2V0VHJhbnNsYXRpb24odGhpcy50cmFuc2xhdGVTZXJ2aWNlLmRlZmF1bHRMYW5nLCBsb2FkZWRSZXNvdXJjZXMudHJhbnNsYXRpb25zLCB0cnVlKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAobG9hZGVkUmVzb3VyY2VzLmhhc0Vycm9yKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGkxOG5Mb2FkZXIucmVtb3ZlUmVzb3VyY2VzKGxvYWRlZFJlc291cmNlcy5lcnJvcnMubWFwKGVyciA9PiBlcnIucmVzb3VyY2UpKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICAgICAgKSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHJldHVybiBmb3JrSm9pbihsYW5nU3Vic2NyaXB0aW9uKS5waXBlKFxuICAgICAgICAgICAgICAgIG1hcCgobG9hZGVkUmVzb3VyY2VzQXJyOiBMb2FkZWRSZXNvdXJjZXNbXSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gIWxvYWRlZFJlc291cmNlc0FyclswXS5oYXNFcnJvciA/XG4gICAgICAgICAgICAgICAgICAgICAgICB7IHN1Y2Nlc3M6IHRydWUgfSA6XG4gICAgICAgICAgICAgICAgICAgICAgICB7IHN1Y2Nlc3M6IGZhbHNlLCBlcnJvcjogbG9hZGVkUmVzb3VyY2VzQXJyWzBdLmVycm9ycyB9O1xuICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgIHRhcCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIC8vIGVtaXQgc3RhdHVzIG9mIG1vZHVsZSBsb2FkaW5nIHByb2dyZXNzXG4gICAgICAgICAgICAgICAgICAgIHRoaXMub25Nb2R1bGVMb2FkLm5leHQoeyByZWFkeTogdHJ1ZSwgbmFtZTogbW9kdWxlTmFtZSB9KTtcbiAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICBjYXRjaEVycm9yKGVycm9yID0+IHtcbiAgICAgICAgICAgICAgICAgICAgLy8gZW1pdCBzdGF0dXMgb2YgbW9kdWxlIGxvYWRpbmcgcHJvZ3Jlc3NcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5vbk1vZHVsZUxvYWQubmV4dCh7IHJlYWR5OiB0cnVlLCBuYW1lOiBtb2R1bGVOYW1lLCBlcnJvcjogZXJyb3IgfSk7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBvZih7IHN1Y2Nlc3M6IGZhbHNlLCBlcnJvcjogZXJyb3IgfSk7XG4gICAgICAgICAgICAgICAgfSkpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIG9mKHsgc3VjY2VzczogZmFsc2UsIGVycm9yOiAnY3VycmVudExvYWRlciBpcyBub3QgYW4gSTE4bkxvYWRlci4nIH0pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUHJlcGFyZXMgdGhlIGRlZmF1bHQgbGFuZ3VhZ2VcbiAgICAgKi9cbiAgICBwcml2YXRlIHByZXBhcmVkRGVmYXVsdExhbmd1YWdlKCk6IHN0cmluZyB7XG4gICAgICAgIGNvbnN0IGJyb3dzZXJQcmVmID0gZ2V0QnJvd3NlckRlZmF1bHRMYW5ndWFnZSgpO1xuICAgICAgICAvLyBJZiB1c2VyIGhhcyBicm93c2VyIHByZWZlcnJlZCBsYW5nLCBhbmQgdGhhdCBsYW5ndWFnZSBpcyBwYXJ0IG9mIHRoZSBsYW5ndWFnZXMgYXJyYXlcbiAgICAgICAgaWYgKGJyb3dzZXJQcmVmICYmIHRoaXMuY29uZmlnLmxhbmd1YWdlcyAmJiBVeEV1TGFuZ3VhZ2VzLmdldExhbmd1YWdlQ29kZXModGhpcy5jb25maWcubGFuZ3VhZ2VzKS5pbmNsdWRlcyhicm93c2VyUHJlZikpIHtcbiAgICAgICAgICAgIHJldHVybiBicm93c2VyUHJlZjtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdGhpcy5jb25maWcuZGVmYXVsdExhbmd1YWdlO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBwYXJhbSBkZWZhdWx0X2xhbmd1YWdlIGlmIGdpdmVuIGRlZmF1bHQgbGFuZ3VhZ2UgdG8gb3ZlcnJpZGUgZGVmYXVsdCBsYW5ndWFnZSBjb21pbmcgZnJvbSB0aGVcbiAgICAgKiBjb25maWd1cmF0aW9uIHRva2VuLlxuICAgICAqL1xuICAgIHByaXZhdGUgc2V0dXAoaW5pdExhbmd1YWdlOiBzdHJpbmcpOiBPYnNlcnZhYmxlPEV1aVNlcnZpY2VTdGF0dXM+IHtcbiAgICAgICAgLy8gdXNlIHRoZSBkZWZhdWx0IGNvbmZpZyBhcyBhIHJlZmVyZW5jZSBiYXNlXG4gICAgICAgIHRoaXMuY29uZmlnID0gT2JqZWN0LmFzc2lnbih7fSwgREVGQVVMVF9JMThOX1NFUlZJQ0VfQ09ORklHLCB0aGlzLmNvbmZpZyk7XG4gICAgICAgIC8vIGNvbmZpZ3VyZSB0aGUgdHJhbnNsYXRlIGNvbmZpZyBzZXJ2aWNlXG4gICAgICAgIGlmICh0aGlzLmNvbmZpZy5sYW5ndWFnZXMpIHtcbiAgICAgICAgICAgIHRoaXMudHJhbnNsYXRlU2VydmljZS5hZGRMYW5ncyhVeEV1TGFuZ3VhZ2VzLmdldExhbmd1YWdlQ29kZXModGhpcy5jb25maWcubGFuZ3VhZ2VzKSk7XG4gICAgICAgICAgICBpZiAodGhpcy5sb2dTZXJ2aWNlKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5sb2dTZXJ2aWNlLmluZm8oYEkxOG4gYWNjZXB0ZWQgbGFuZ3VhZ2VzIHNldCB0byAke1V4RXVMYW5ndWFnZXMuZ2V0TGFuZ3VhZ2VDb2Rlcyh0aGlzLmNvbmZpZy5sYW5ndWFnZXMpfWApO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC8vIHNldCB0aGUgY3VycmVudCBsYW5ndWFnZSwgY2F1c2luZyB0byBsb2FkIHRyYW5zbGF0aW9uc1xuICAgICAgICByZXR1cm4gdGhpcy50cmFuc2xhdGVTZXJ2aWNlXG4gICAgICAgICAgICAudXNlKGluaXRMYW5ndWFnZSlcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIHRhcCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuYmluZEFjdGl2ZUxhbmdTdGF0ZVRvVHJhbnNsYXRlU2VydmljZSgpO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmJpbmRUcmFuc2xhdGVTZXJ2aWNlTGFuZ0NoYW5nZVRvU3RhdGUoKTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMuY29uZmlnLmRlZmF1bHRMYW5ndWFnZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5zZXREZWZhdWx0TGFuZ3VhZ2UodGhpcy5jb25maWcuZGVmYXVsdExhbmd1YWdlKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgIG1hcCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuY3VycmVudExvYWRlciBpbnN0YW5jZW9mIEkxOG5Mb2FkZXIpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGZhaWxlZFJlc291cmNlcyA9IHRoaXMudHJhbnNsYXRlU2VydmljZS5jdXJyZW50TG9hZGVyLmdldEZhaWxlZFJlc291cmNlcygpO1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGZhaWxlZFJlc291cmNlcy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHsgc3VjY2VzczogZmFsc2UsIGVycm9yOiBmYWlsZWRSZXNvdXJjZXMgfTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICByZXR1cm4geyBzdWNjZXNzOiB0cnVlIH07XG4gICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgY2F0Y2hFcnJvcigoZXJyb3IpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG9mKHsgc3VjY2VzczogZmFsc2UsIGVycm9yOiBlcnJvciB9KTtcbiAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBiaW5kQWN0aXZlTGFuZ1N0YXRlVG9UcmFuc2xhdGVTZXJ2aWNlKCk6IHZvaWQge1xuICAgICAgICB0aGlzLnN0b3JlLnNlbGVjdChnZXRBY3RpdmVMYW5nKS5zdWJzY3JpYmUoKGxhbmc6IHN0cmluZykgPT4ge1xuICAgICAgICAgICAgaWYgKGxhbmcgIT09IG51bGwgJiYgKHRoaXMudHJhbnNsYXRlU2VydmljZS5jdXJyZW50TGFuZyAhPT0gbGFuZykpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnVzZShsYW5nKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBiaW5kVHJhbnNsYXRlU2VydmljZUxhbmdDaGFuZ2VUb1N0YXRlKCk6IHZvaWQge1xuICAgICAgICB0aGlzLnRyYW5zbGF0ZVNlcnZpY2Uub25MYW5nQ2hhbmdlLnN1YnNjcmliZSgoZXZlbnQ6IExhbmdDaGFuZ2VFdmVudCkgPT4ge1xuICAgICAgICAgICAgaWYgKHRoaXMuc3RhdGVJbnN0YW5jZS5hY3RpdmVMYW5nICE9PSBldmVudC5sYW5nKSB7XG4gICAgICAgICAgICAgICAgdGhpcy51cGRhdGVTdGF0ZSh7IGFjdGl2ZUxhbmc6IGV2ZW50LmxhbmcgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAodGhpcy5sb2dTZXJ2aWNlKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5sb2dTZXJ2aWNlLmluZm8oYEkxOG4gY3VycmVudCBsYW5ndWFnZSBzZXQgdG8gJHtldmVudC5sYW5nfWApO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHNldERlZmF1bHRMYW5ndWFnZShkZWZhdWx0TGFuZ3VhZ2U6IHN0cmluZykge1xuICAgICAgICAvLyByZW1vdmVkLCBjdXJyZW50IGxhbmd1YWdlIGlzIGFscmVhZHkgY2FsY3VsYXRlZCBpbiBpbml0LCBzZXR1cCBmdW5jdGlvbiBmaWxsIHVzZSBpdCBkaXJlY3RseSwgbm90IGRlZmF1bHRcbiAgICAgICAgLy8gdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmN1cnJlbnRMYW5nID0gZGVmYXVsdF9sYW5ndWFnZSB8fCB0aGlzLmNvbmZpZy5kZWZhdWx0TGFuZ3VhZ2U7XG4gICAgICAgIHRoaXMudHJhbnNsYXRlU2VydmljZS5zZXREZWZhdWx0TGFuZyhkZWZhdWx0TGFuZ3VhZ2UpO1xuICAgICAgICBpZiAodGhpcy5sb2dTZXJ2aWNlKSB7XG4gICAgICAgICAgICB0aGlzLmxvZ1NlcnZpY2UuaW5mbyhgSTE4biBkZWZhdWx0IGxhbmd1YWdlIHNldCB0byAke2RlZmF1bHRMYW5ndWFnZX1gKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIGNoYW5nZSB0aGUgY3VycmVudGx5IHVzZWQgbGFuZ3VhZ2VcbiAgICAgKiBAcGFyYW0gbGFuZyBpcyB0aGUgbGFuZ3VhZ2UgY29kZSBiYXNlZCBvbiB0aGUgY29udmVudGlvbiB5b3UgdXNlZCBlLmcuIChlbiBvciBlbi1FTilcbiAgICAgKiBAcmV0dXJucyBPYnNlcnZhYmxlIHRoYXQgcmV0dXJucyBhbiBvYmplY3QgY29udGFpbiB0aGUgb2JqZWN0IHRyYW5zbGF0aW9uIGZvciBnaXZlbiBsYW5ndWFnZSBhZnRlciBsYW5ndWFnZVxuICAgICAqIGZ1bGx5IGxvYWRlZC5cbiAgICAgKi9cbiAgICBwcml2YXRlIHVzZShsYW5nOiBzdHJpbmcpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgICAgICByZXR1cm4gdGhpcy50cmFuc2xhdGVTZXJ2aWNlLnVzZShsYW5nKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiB1cGRhdGVzIHRoZSBIVE1MIGVsZW1lbnQgbGFuZyBhdHRyaWJ1dGVcbiAgICAgKiBAcHJpdmF0ZVxuICAgICAqL1xuICAgIHByaXZhdGUgdXBkYXRlSFRNTERPTUxhbmcobGFuZzogc3RyaW5nKSB7XG4gICAgICAgIHRoaXMuZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmxhbmcgPSBsYW5nO1xuICAgIH1cbn1cbiJdfQ==
|
|
219
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaTE4bi5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9zZXJ2aWNlcy9pMThuL2kxOG4uc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDM0MsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTdELE9BQU8sRUFBRSxlQUFlLEVBQUUsUUFBUSxFQUFjLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNqRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMvRSxPQUFPLEVBRUgsY0FBYyxFQUVkLDRCQUE0QixFQUM1QixZQUFZLEVBQ1osYUFBYSxFQUNiLGtCQUFrQixFQUtsQix5QkFBeUIsRUFDekIsYUFBYSxHQUNoQixNQUFNLFdBQVcsQ0FBQztBQUVuQixPQUFPLEVBQUUsVUFBVSxFQUFtQixNQUFNLGVBQWUsQ0FBQztBQUM1RCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUd2RCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUN0RSxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQzs7Ozs7QUFXakUsTUFBTSxPQUFPLFdBQTZDLFNBQVEsY0FBNkI7SUFLM0YsWUFDMkMsZ0JBQThCLEVBQzNELGdCQUFrQyxFQUN0QixVQUFzQixFQUNsQyxLQUFtQixFQUNILFFBQWtCO1FBRTVDLEtBQUssQ0FBQyxFQUFFLFVBQVUsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBTlcscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFjO1FBQzNELHFCQUFnQixHQUFoQixnQkFBZ0Is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RVQsV0FBVztrQkFIdkIsVUFBVTttQkFBQztvQkFDUixVQUFVLEVBQUUsTUFBTTtpQkFDckI7OzBCQU9RLE1BQU07MkJBQUMsbUJBQW1COzswQkFFMUIsUUFBUTt5REFFMkIsUUFBUTswQkFBM0MsTUFBTTsyQkFBQyxRQUFRIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRE9DVU1FTlQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlLCBPcHRpb25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTGFuZ0NoYW5nZUV2ZW50LCBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIGZvcmtKb2luLCBPYnNlcnZhYmxlLCBvZiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgY2F0Y2hFcnJvciwgZmlsdGVyLCBtYXAsIHRha2UsIHRhcCwgc3dpdGNoTWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHtcbiAgICBHbG9iYWxDb25maWcsXG4gICAgRXVpTGF6eVNlcnZpY2UsXG4gICAgRXVpU2VydmljZVN0YXR1cyxcbiAgICBnZXRJMThuU2VydmljZUNvbmZpZ0Zyb21CYXNlLFxuICAgIGdldEkxOG5TdGF0ZSxcbiAgICBnZXRBY3RpdmVMYW5nLFxuICAgIGdldExhc3RBZGRlZE1vZHVsZSxcbiAgICBJMThuTG9hZGVyQ29uZmlnLFxuICAgIEkxOG5TZXJ2aWNlQ29uZmlnLFxuICAgIEkxOG5TdGF0ZSxcbiAgICBNb2R1bGVDb25maWcsXG4gICAgZ2V0QnJvd3NlckRlZmF1bHRMYW5ndWFnZSxcbiAgICBVeEV1TGFuZ3VhZ2VzLFxufSBmcm9tICdAZXVpL2Jhc2UnO1xuXG5pbXBvcnQgeyBJMThuTG9hZGVyLCBMb2FkZWRSZXNvdXJjZXMgfSBmcm9tICcuL2kxOG4ubG9hZGVyJztcbmltcG9ydCB7IEdMT0JBTF9DT05GSUdfVE9LRU4gfSBmcm9tICcuLi9jb25maWcvdG9rZW5zJztcbmltcG9ydCB7IExvZ1NlcnZpY2UgfSBmcm9tICcuLi9sb2cvbG9nLnNlcnZpY2UnO1xuaW1wb3J0IHsgU3RvcmVTZXJ2aWNlIH0gZnJvbSAnLi4vc3RvcmUvc3RvcmUuc2VydmljZSc7XG5pbXBvcnQgeyBVcGRhdGVJMThuU3RhdGVBY3Rpb24gfSBmcm9tICcuLi9zdG9yZS9hY3Rpb25zL2kxOG4uYWN0aW9ucyc7XG5pbXBvcnQgeyBERUZBVUxUX0kxOE5fU0VSVklDRV9DT05GSUcgfSBmcm9tICcuLi9jb25maWcvZGVmYXVsdHMnO1xuXG5pbnRlcmZhY2UgTW9kdWxlTG9hZEV2ZW50IHtcbiAgICByZWFkeTogYm9vbGVhbjtcbiAgICBuYW1lOiBzdHJpbmc7XG4gICAgZXJyb3I/OiBhbnk7XG59XG5cbkBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIEkxOG5TZXJ2aWNlPFQgZXh0ZW5kcyBJMThuU3RhdGUgPSBJMThuU3RhdGU+IGV4dGVuZHMgRXVpTGF6eVNlcnZpY2U8VCB8IEkxOG5TdGF0ZT4ge1xuXG4gICAgcHJvdGVjdGVkIGNvbmZpZzogSTE4blNlcnZpY2VDb25maWc7XG4gICAgcHJvdGVjdGVkIG9uTW9kdWxlTG9hZDogQmVoYXZpb3JTdWJqZWN0PE1vZHVsZUxvYWRFdmVudD47XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgQEluamVjdChHTE9CQUxfQ09ORklHX1RPS0VOKSBwcm90ZWN0ZWQgYmFzZUdsb2JhbENvbmZpZzogR2xvYmFsQ29uZmlnLFxuICAgICAgICBwcm90ZWN0ZWQgdHJhbnNsYXRlU2VydmljZTogVHJhbnNsYXRlU2VydmljZSxcbiAgICAgICAgQE9wdGlvbmFsKCkgcHJvdGVjdGVkIGxvZ1NlcnZpY2U6IExvZ1NlcnZpY2UsXG4gICAgICAgIHByb3RlY3RlZCBzdG9yZTogU3RvcmVTZXJ2aWNlLFxuICAgICAgICBASW5qZWN0KERPQ1VNRU5UKSBwcml2YXRlIGRvY3VtZW50OiBEb2N1bWVudCxcbiAgICApIHtcbiAgICAgICAgc3VwZXIoeyBhY3RpdmVMYW5nOiAnZW4nIH0pO1xuICAgICAgICB0aGlzLmNvbmZpZyA9IGdldEkxOG5TZXJ2aWNlQ29uZmlnRnJvbUJhc2UodGhpcy5iYXNlR2xvYmFsQ29uZmlnKTtcbiAgICAgICAgdGhpcy5vbk1vZHVsZUxvYWQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PE1vZHVsZUxvYWRFdmVudD4oeyByZWFkeTogZmFsc2UsIG5hbWU6IG51bGwgfSk7XG4gICAgfVxuXG4gICAgZ2V0U3RhdGU8SyA9IFQ+KG1hcEZuPzogKHN0YXRlOiBUKSA9PiBLKTogT2JzZXJ2YWJsZTxLPjtcbiAgICBnZXRTdGF0ZTxhIGV4dGVuZHMga2V5b2YgVD4oa2V5PzogYSk6IE9ic2VydmFibGU8VFthXT47XG4gICAgZ2V0U3RhdGU8Sz4oa2V5T3JNYXBGbj86ICgoc3RhdGU6IFQpID0+IEspIHwgc3RyaW5nKTogT2JzZXJ2YWJsZTxLPiB7XG4gICAgICAgIHJldHVybiB0aGlzLnN0b3JlLnNlbGVjdChnZXRJMThuU3RhdGUpO1xuICAgIH1cblxuICAgIHVwZGF0ZVN0YXRlKGxhbmdTdGF0ZTogVCB8IEkxOG5TdGF0ZSk6IHZvaWQge1xuICAgICAgICB0aGlzLnVwZGF0ZUhUTUxET01MYW5nKGxhbmdTdGF0ZS5hY3RpdmVMYW5nKTtcbiAgICAgICAgdGhpcy5zdG9yZS5kaXNwYXRjaChuZXcgVXBkYXRlSTE4blN0YXRlQWN0aW9uKGxhbmdTdGF0ZSkpO1xuICAgIH1cblxuICAgIGluaXQobGFuZ1N0YXRlPzogVCk6IE9ic2VydmFibGU8RXVpU2VydmljZVN0YXR1cz4ge1xuICAgICAgICBjb25zdCBpbml0TGFuZyA9IGxhbmdTdGF0ZSAmJiBsYW5nU3RhdGUuYWN0aXZlTGFuZyA/IGxhbmdTdGF0ZS5hY3RpdmVMYW5nIDogdGhpcy5wcmVwYXJlZERlZmF1bHRMYW5ndWFnZSgpO1xuICAgICAgICBjb25zdCBpbml0U3RhdGUgPSB7XG4gICAgICAgICAgICAuLi5sYW5nU3RhdGUsXG4gICAgICAgICAgICBhY3RpdmVMYW5nOiBpbml0TGFuZyxcbiAgICAgICAgfTtcbiAgICAgICAgaWYgKHR5cGVvZiBpbml0TGFuZyA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgICAgIHN1cGVyLmluaXRFdWlTZXJ2aWNlKHRoaXMuc3RvcmUpO1xuICAgICAgICAgICAgdGhpcy51cGRhdGVTdGF0ZShpbml0U3RhdGUpO1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuc2V0dXAoaW5pdExhbmcpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBvZih7IHN1Y2Nlc3M6IGZhbHNlLCBlcnJvcjogJ0luaXRpYWwgYWN0aXZlIGxhbmcgc2hvdWxkIGJlIHN0cmluZycgfSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQSBwaXBlIGZ1bmN0aW9uIHRoYXQgY291bGQgc2VydmUgYXMgYSB3cmFwcGVyIG9mIGFub3RoZXIgb2JzZXJ2YWJsZVxuICAgICAqIGUuZy4gbmd4LXRyYW5zbGF0ZSBpMThuLm9uUmVhZHkoJ215X21vZHVsZScpLnBpcGUoc3dpdGNoTWFwKCgpPT50cmFuc2xhdGUuZ2V0KCdldWkuS0VZJykpKTtcbiAgICAgKiBXQVJOSU5HOiBvblJlYWR5IHdpbGwgZW1pdCBvbmx5IG9uY2UgZm9yIGEgbG9hZGVkIE1vZHVsZSwgZ29pbmcgdG8gYW5vdGhlciBhbmQgdGhlbiBnb2luZyBiYWNrIHdpbGwgbm90IHJlc3VsdFxuICAgICAqIGludG8gYW5vdGhlciBlbWlzc2lvbi5cbiAgICAgKiBAcGFyYW0gbW9kdWxlTmFtZSB0aGUgbmFtZSBvZiB0aGUgbW9kdWxlIHRoYXQgaGFzIGJlZW4gZ2l2ZW4gdGhyb3VnaCB0aGUgZVVJIGdsb2JhbENvbmZpZy4gSW4gY2FzZSBub24gcHJvdmlkZWRcbiAgICAgKiBmZXRjaCBtb2R1bGUgbmFtZSBmcm9tIHRoZSBzdGF0ZS5cbiAgICAgKi9cbiAgICBvblJlYWR5KG1vZHVsZU5hbWU/OiBzdHJpbmcpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5vbk1vZHVsZUxvYWQucGlwZShcbiAgICAgICAgICAgIHN3aXRjaE1hcCgoZXZ0OiBNb2R1bGVMb2FkRXZlbnQpID0+IG1vZHVsZU5hbWUgPyBvZihldnQpIDpcbiAgICAgICAgICAgICAgICB0aGlzLnN0b3JlLnNlbGVjdChnZXRMYXN0QWRkZWRNb2R1bGUpLnBpcGUodGFwKG0gPT4gbW9kdWxlTmFtZSA9IG0pLCBtYXAoKCkgPT4gZXZ0KSkpLFxuICAgICAgICAgICAgLy8gZW1pdCBvbmx5IGlmIGV2ZW50IGVtaXR0ZWQgbWF0Y2hlcyB0aGUgbW9kdWxlIG5hbWUgYW5kIGlzIHJlYWR5XG4gICAgICAgICAgICBmaWx0ZXIoKGV2dDogTW9kdWxlTG9hZEV2ZW50KSA9PiBldnQucmVhZHkgPT09IHRydWUgJiYgZXZ0Lm5hbWUgPT09IG1vZHVsZU5hbWUpLFxuICAgICAgICAgICAgLy8gbWFrZSBzdXJlIHRoYXQgb2JzZXJ2YWJsZSBjb21wbGV0ZXNcbiAgICAgICAgICAgIHRha2UoMSksXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgcHVibGljIGxhenlMb2FkKGNvbmZpZzogSTE4bkxvYWRlckNvbmZpZyk6IE9ic2VydmFibGU8RXVpU2VydmljZVN0YXR1cz4ge1xuICAgICAgICBjb25zdCBtb2R1bGVJZCA9IE1hdGguZmxvb3IoKE1hdGgucmFuZG9tKCkgKiAxMDAwMDApICsgMSkudG9Mb2NhbGVTdHJpbmcoKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuYWRkUmVzb3VyY2VzKGNvbmZpZywgbW9kdWxlSWQpO1xuICAgIH1cblxuICAgIGxhenlMb2FkSW5pdChtb2R1bGVDb25maWc6IE1vZHVsZUNvbmZpZywgbW9kdWxlTmFtZT86IHN0cmluZyk6IE9ic2VydmFibGU8RXVpU2VydmljZVN0YXR1cz4ge1xuICAgICAgICBjb25zdCBpMThuTG9hZGVyQ29uZmlnID0gbW9kdWxlQ29uZmlnIGFzIEkxOG5Mb2FkZXJDb25maWc7XG4gICAgICAgIC8vIGFkZCByZXNvdXJjZXNcbiAgICAgICAgcmV0dXJuIHRoaXMuYWRkUmVzb3VyY2VzKGkxOG5Mb2FkZXJDb25maWcsIG1vZHVsZU5hbWUpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEFkZCByZXNvdXJjZXMgYmFzZWQgb2YgYSBjb25maWcgbG9hZGVyXG4gICAgICogQHBhcmFtIGNvbmZpZyBJMThuTG9hZGVyQ29uZmlnXG4gICAgICogQHJldHVybiBQcm9taXNlPEV1aVNlcnZpY2VTdGF0dXM+IGFuIEV1aVNlcnZpY2VTdGF0dXMgd2hlbiB0cmFuc2xhdGlvbiBoYXMgZnVsbHkgbG9hZGVkXG4gICAgICovXG4gICAgcHVibGljIGFkZFJlc291cmNlcyhjb25maWc6IEkxOG5Mb2FkZXJDb25maWcsIG1vZHVsZU5hbWU/OiBzdHJpbmcpOiBPYnNlcnZhYmxlPEV1aVNlcnZpY2VTdGF0dXM+IHtcblxuICAgICAgICAvLyBlbWl0IHRoYXQgbW9kdWxlIGlzIGxvYWRpbmdcbiAgICAgICAgdGhpcy5vbk1vZHVsZUxvYWQubmV4dCh7IHJlYWR5OiBmYWxzZSwgbmFtZTogbW9kdWxlTmFtZSB9KTtcblxuICAgICAgICBjb25zdCBsb2FkZXIgPSB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuY3VycmVudExvYWRlcjtcbiAgICAgICAgaWYgKGxvYWRlciBpbnN0YW5jZW9mIEkxOG5Mb2FkZXIpIHtcbiAgICAgICAgICAgIGNvbnN0IGxhbmdTdWJzY3JpcHRpb246IE9ic2VydmFibGU8YW55PltdID0gW107XG4gICAgICAgICAgICBjb25zdCBpMThuTG9hZGVyID0gPEkxOG5Mb2FkZXI+bG9hZGVyO1xuXG4gICAgICAgICAgICAvLyBhZGQgdGhlIHJlc291cmNlcyB0byB0aGUgbG9hZGVyXG4gICAgICAgICAgICBjb25zdCByZXNvdXJjZXMgPSBpMThuTG9hZGVyLmFkZFJlc291cmNlcyhjb25maWcpO1xuXG4gICAgICAgICAgICAvLyBtYW51YWxseSBsb2FkIHRoZSByZXNvdXJjZXMgZm9yIHRoZSBDVVJSRU5UIGxhbmd1YWdlIGFuZCBhZGQgdGhlbSB0byB0aGUgdHJhbnNsYXRlIHNlcnZpY2VcbiAgICAgICAgICAgIGxhbmdTdWJzY3JpcHRpb24ucHVzaChpMThuTG9hZGVyLmxvYWRSZXNvdXJjZXMocmVzb3VyY2VzLCB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuY3VycmVudExhbmcpXG4gICAgICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgICAgIHRha2UoMSksXG4gICAgICAgICAgICAgICAgICAgIHRhcCgobG9hZGVkUmVzb3VyY2VzOiBMb2FkZWRSZXNvdXJjZXMpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIGFkZCB0aGUgbmV3IHNldCBvZiB0cmFuc2xhdGlvbnMgdG8gdGhlIGN1cnJlbnQgbGFuZ3VhZ2VcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMudHJhbnNsYXRlU2VydmljZS5zZXRUcmFuc2xhdGlvbih0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuY3VycmVudExhbmcsIGxvYWRlZFJlc291cmNlcy50cmFuc2xhdGlvbnMsIHRydWUpO1xuICAgICAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICApKTtcblxuICAgICAgICAgICAgLy8gaWYgdGhlIGN1cnJlbnQgbGFuZ3VhZ2UgaXMgZGlmZmVyZW50IHRoYW4gdGhlIERFRkFVTFQgbGFuZ3VhZ2VcbiAgICAgICAgICAgIGlmICh0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuY3VycmVudExhbmcgIT09IHRoaXMudHJhbnNsYXRlU2VydmljZS5kZWZhdWx0TGFuZykge1xuICAgICAgICAgICAgICAgIC8vIG1hbnVhbGx5IGxvYWQgdGhlIHJlc291cmNlcyBmb3IgdGhlIGRlZmF1bHQgbGFuZ3VhZ2UgYW5kIGFkZCB0aGVtIHRvIHRoZSB0cmFuc2xhdGUgc2VydmljZVxuICAgICAgICAgICAgICAgIGxhbmdTdWJzY3JpcHRpb24ucHVzaChpMThuTG9hZGVyLmxvYWRSZXNvdXJjZXMocmVzb3VyY2VzLCB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuZGVmYXVsdExhbmcpXG4gICAgICAgICAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgICAgICAgICAgdGFrZSgxKSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHRhcCgobG9hZGVkUmVzb3VyY2VzOiBMb2FkZWRSZXNvdXJjZXMpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnRyYW5zbGF0ZVNlcnZpY2Uuc2V0VHJhbnNsYXRpb24odGhpcy50cmFuc2xhdGVTZXJ2aWNlLmRlZmF1bHRMYW5nLCBsb2FkZWRSZXNvdXJjZXMudHJhbnNsYXRpb25zLCB0cnVlKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgICAgICApKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcmV0dXJuIGZvcmtKb2luKGxhbmdTdWJzY3JpcHRpb24pLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKChsb2FkZWRSZXNvdXJjZXNBcnI6IExvYWRlZFJlc291cmNlc1tdKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiAhbG9hZGVkUmVzb3VyY2VzQXJyWzBdLmhhc0Vycm9yID9cbiAgICAgICAgICAgICAgICAgICAgICAgIHsgc3VjY2VzczogdHJ1ZSB9IDpcbiAgICAgICAgICAgICAgICAgICAgICAgIHsgc3VjY2VzczogZmFsc2UsIGVycm9yOiBsb2FkZWRSZXNvdXJjZXNBcnJbMF0uZXJyb3JzIH07XG4gICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgdGFwKCgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgLy8gZW1pdCBzdGF0dXMgb2YgbW9kdWxlIGxvYWRpbmcgcHJvZ3Jlc3NcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5vbk1vZHVsZUxvYWQubmV4dCh7IHJlYWR5OiB0cnVlLCBuYW1lOiBtb2R1bGVOYW1lIH0pO1xuICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgIGNhdGNoRXJyb3IoZXJyb3IgPT4ge1xuICAgICAgICAgICAgICAgICAgICAvLyBlbWl0IHN0YXR1cyBvZiBtb2R1bGUgbG9hZGluZyBwcm9ncmVzc1xuICAgICAgICAgICAgICAgICAgICB0aGlzLm9uTW9kdWxlTG9hZC5uZXh0KHsgcmVhZHk6IHRydWUsIG5hbWU6IG1vZHVsZU5hbWUsIGVycm9yOiBlcnJvciB9KTtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG9mKHsgc3VjY2VzczogZmFsc2UsIGVycm9yOiBlcnJvciB9KTtcbiAgICAgICAgICAgICAgICB9KSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gb2YoeyBzdWNjZXNzOiBmYWxzZSwgZXJyb3I6ICdjdXJyZW50TG9hZGVyIGlzIG5vdCBhbiBJMThuTG9hZGVyLicgfSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBQcmVwYXJlcyB0aGUgZGVmYXVsdCBsYW5ndWFnZVxuICAgICAqL1xuICAgIHByaXZhdGUgcHJlcGFyZWREZWZhdWx0TGFuZ3VhZ2UoKTogc3RyaW5nIHtcbiAgICAgICAgY29uc3QgYnJvd3NlclByZWYgPSBnZXRCcm93c2VyRGVmYXVsdExhbmd1YWdlKCk7XG4gICAgICAgIC8vIElmIHVzZXIgaGFzIGJyb3dzZXIgcHJlZmVycmVkIGxhbmcsIGFuZCB0aGF0IGxhbmd1YWdlIGlzIHBhcnQgb2YgdGhlIGxhbmd1YWdlcyBhcnJheVxuICAgICAgICBpZiAoYnJvd3NlclByZWYgJiYgdGhpcy5jb25maWcubGFuZ3VhZ2VzICYmIFV4RXVMYW5ndWFnZXMuZ2V0TGFuZ3VhZ2VDb2Rlcyh0aGlzLmNvbmZpZy5sYW5ndWFnZXMpLmluY2x1ZGVzKGJyb3dzZXJQcmVmKSkge1xuICAgICAgICAgICAgcmV0dXJuIGJyb3dzZXJQcmVmO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0aGlzLmNvbmZpZy5kZWZhdWx0TGFuZ3VhZ2U7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQHBhcmFtIGRlZmF1bHRfbGFuZ3VhZ2UgaWYgZ2l2ZW4gZGVmYXVsdCBsYW5ndWFnZSB0byBvdmVycmlkZSBkZWZhdWx0IGxhbmd1YWdlIGNvbWluZyBmcm9tIHRoZVxuICAgICAqIGNvbmZpZ3VyYXRpb24gdG9rZW4uXG4gICAgICovXG4gICAgcHJpdmF0ZSBzZXR1cChpbml0TGFuZ3VhZ2U6IHN0cmluZyk6IE9ic2VydmFibGU8RXVpU2VydmljZVN0YXR1cz4ge1xuICAgICAgICAvLyB1c2UgdGhlIGRlZmF1bHQgY29uZmlnIGFzIGEgcmVmZXJlbmNlIGJhc2VcbiAgICAgICAgdGhpcy5jb25maWcgPSBPYmplY3QuYXNzaWduKHt9LCBERUZBVUxUX0kxOE5fU0VSVklDRV9DT05GSUcsIHRoaXMuY29uZmlnKTtcbiAgICAgICAgLy8gY29uZmlndXJlIHRoZSB0cmFuc2xhdGUgY29uZmlnIHNlcnZpY2VcbiAgICAgICAgaWYgKHRoaXMuY29uZmlnLmxhbmd1YWdlcykge1xuICAgICAgICAgICAgdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmFkZExhbmdzKFV4RXVMYW5ndWFnZXMuZ2V0TGFuZ3VhZ2VDb2Rlcyh0aGlzLmNvbmZpZy5sYW5ndWFnZXMpKTtcbiAgICAgICAgICAgIGlmICh0aGlzLmxvZ1NlcnZpY2UpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmxvZ1NlcnZpY2UuaW5mbyhgSTE4biBhY2NlcHRlZCBsYW5ndWFnZXMgc2V0IHRvICR7VXhFdUxhbmd1YWdlcy5nZXRMYW5ndWFnZUNvZGVzKHRoaXMuY29uZmlnLmxhbmd1YWdlcyl9YCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLy8gc2V0IHRoZSBjdXJyZW50IGxhbmd1YWdlLCBjYXVzaW5nIHRvIGxvYWQgdHJhbnNsYXRpb25zXG4gICAgICAgIHJldHVybiB0aGlzLnRyYW5zbGF0ZVNlcnZpY2VcbiAgICAgICAgICAgIC51c2UoaW5pdExhbmd1YWdlKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgdGFwKCgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5iaW5kQWN0aXZlTGFuZ1N0YXRlVG9UcmFuc2xhdGVTZXJ2aWNlKCk7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuYmluZFRyYW5zbGF0ZVNlcnZpY2VMYW5nQ2hhbmdlVG9TdGF0ZSgpO1xuICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy5jb25maWcuZGVmYXVsdExhbmd1YWdlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnNldERlZmF1bHRMYW5ndWFnZSh0aGlzLmNvbmZpZy5kZWZhdWx0TGFuZ3VhZ2UpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgbWFwKCgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMudHJhbnNsYXRlU2VydmljZS5jdXJyZW50TG9hZGVyIGluc3RhbmNlb2YgSTE4bkxvYWRlcikge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgZmFpbGVkUmVzb3VyY2VzID0gdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmN1cnJlbnRMb2FkZXIuZ2V0RmFpbGVkUmVzb3VyY2VzKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoZmFpbGVkUmVzb3VyY2VzLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4geyBzdWNjZXNzOiBmYWxzZSwgZXJyb3I6IGZhaWxlZFJlc291cmNlcyB9O1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB7IHN1Y2Nlc3M6IHRydWUgfTtcbiAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICBjYXRjaEVycm9yKChlcnJvcikgPT4ge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gb2YoeyBzdWNjZXNzOiBmYWxzZSwgZXJyb3I6IGVycm9yIH0pO1xuICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGJpbmRBY3RpdmVMYW5nU3RhdGVUb1RyYW5zbGF0ZVNlcnZpY2UoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuc3RvcmUuc2VsZWN0KGdldEFjdGl2ZUxhbmcpLnN1YnNjcmliZSgobGFuZzogc3RyaW5nKSA9PiB7XG4gICAgICAgICAgICBpZiAobGFuZyAhPT0gbnVsbCAmJiAodGhpcy50cmFuc2xhdGVTZXJ2aWNlLmN1cnJlbnRMYW5nICE9PSBsYW5nKSkge1xuICAgICAgICAgICAgICAgIHRoaXMudXNlKGxhbmcpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGJpbmRUcmFuc2xhdGVTZXJ2aWNlTGFuZ0NoYW5nZVRvU3RhdGUoKTogdm9pZCB7XG4gICAgICAgIHRoaXMudHJhbnNsYXRlU2VydmljZS5vbkxhbmdDaGFuZ2Uuc3Vic2NyaWJlKChldmVudDogTGFuZ0NoYW5nZUV2ZW50KSA9PiB7XG4gICAgICAgICAgICBpZiAodGhpcy5zdGF0ZUluc3RhbmNlLmFjdGl2ZUxhbmcgIT09IGV2ZW50LmxhbmcpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnVwZGF0ZVN0YXRlKHsgYWN0aXZlTGFuZzogZXZlbnQubGFuZyB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmICh0aGlzLmxvZ1NlcnZpY2UpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmxvZ1NlcnZpY2UuaW5mbyhgSTE4biBjdXJyZW50IGxhbmd1YWdlIHNldCB0byAke2V2ZW50Lmxhbmd9YCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgc2V0RGVmYXVsdExhbmd1YWdlKGRlZmF1bHRMYW5ndWFnZTogc3RyaW5nKSB7XG4gICAgICAgIC8vIHJlbW92ZWQsIGN1cnJlbnQgbGFuZ3VhZ2UgaXMgYWxyZWFkeSBjYWxjdWxhdGVkIGluIGluaXQsIHNldHVwIGZ1bmN0aW9uIGZpbGwgdXNlIGl0IGRpcmVjdGx5LCBub3QgZGVmYXVsdFxuICAgICAgICAvLyB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuY3VycmVudExhbmcgPSBkZWZhdWx0X2xhbmd1YWdlIHx8IHRoaXMuY29uZmlnLmRlZmF1bHRMYW5ndWFnZTtcbiAgICAgICAgdGhpcy50cmFuc2xhdGVTZXJ2aWNlLnNldERlZmF1bHRMYW5nKGRlZmF1bHRMYW5ndWFnZSk7XG4gICAgICAgIGlmICh0aGlzLmxvZ1NlcnZpY2UpIHtcbiAgICAgICAgICAgIHRoaXMubG9nU2VydmljZS5pbmZvKGBJMThuIGRlZmF1bHQgbGFuZ3VhZ2Ugc2V0IHRvICR7ZGVmYXVsdExhbmd1YWdlfWApO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogY2hhbmdlIHRoZSBjdXJyZW50bHkgdXNlZCBsYW5ndWFnZVxuICAgICAqIEBwYXJhbSBsYW5nIGlzIHRoZSBsYW5ndWFnZSBjb2RlIGJhc2VkIG9uIHRoZSBjb252ZW50aW9uIHlvdSB1c2VkIGUuZy4gKGVuIG9yIGVuLUVOKVxuICAgICAqIEByZXR1cm5zIE9ic2VydmFibGUgdGhhdCByZXR1cm5zIGFuIG9iamVjdCBjb250YWluIHRoZSBvYmplY3QgdHJhbnNsYXRpb24gZm9yIGdpdmVuIGxhbmd1YWdlIGFmdGVyIGxhbmd1YWdlXG4gICAgICogZnVsbHkgbG9hZGVkLlxuICAgICAqL1xuICAgIHByaXZhdGUgdXNlKGxhbmc6IHN0cmluZyk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgICAgIHJldHVybiB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UudXNlKGxhbmcpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIHVwZGF0ZXMgdGhlIEhUTUwgZWxlbWVudCBsYW5nIGF0dHJpYnV0ZVxuICAgICAqIEBwcml2YXRlXG4gICAgICovXG4gICAgcHJpdmF0ZSB1cGRhdGVIVE1MRE9NTGFuZyhsYW5nOiBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy5kb2N1bWVudC5kb2N1bWVudEVsZW1lbnQubGFuZyA9IGxhbmc7XG4gICAgfVxufVxuIl19
|
package/fesm2015/eui-core.mjs
CHANGED
|
@@ -759,6 +759,8 @@ class I18nLoader {
|
|
|
759
759
|
// return the translations
|
|
760
760
|
return translations;
|
|
761
761
|
}), catchError((err) => {
|
|
762
|
+
// remove failed resource from loaded resource array
|
|
763
|
+
this.removeResources([resource]);
|
|
762
764
|
// resource not loaded properly, send a warning message
|
|
763
765
|
if (this.logService) {
|
|
764
766
|
this.logService.warn(`I18n resource NOT loaded from path ${path}`, err);
|
|
@@ -866,9 +868,6 @@ class I18nService extends EuiLazyService {
|
|
|
866
868
|
.pipe(take(1), tap((loadedResources) => {
|
|
867
869
|
// add the new set of translations to the current language
|
|
868
870
|
this.translateService.setTranslation(this.translateService.currentLang, loadedResources.translations, true);
|
|
869
|
-
if (loadedResources.hasError) {
|
|
870
|
-
i18nLoader.removeResources(loadedResources.errors.map(err => err.resource));
|
|
871
|
-
}
|
|
872
871
|
})));
|
|
873
872
|
// if the current language is different than the DEFAULT language
|
|
874
873
|
if (this.translateService.currentLang !== this.translateService.defaultLang) {
|
|
@@ -876,9 +875,6 @@ class I18nService extends EuiLazyService {
|
|
|
876
875
|
langSubscription.push(i18nLoader.loadResources(resources, this.translateService.defaultLang)
|
|
877
876
|
.pipe(take(1), tap((loadedResources) => {
|
|
878
877
|
this.translateService.setTranslation(this.translateService.defaultLang, loadedResources.translations, true);
|
|
879
|
-
if (loadedResources.hasError) {
|
|
880
|
-
i18nLoader.removeResources(loadedResources.errors.map(err => err.resource));
|
|
881
|
-
}
|
|
882
878
|
})));
|
|
883
879
|
}
|
|
884
880
|
return forkJoin(langSubscription).pipe(map((loadedResourcesArr) => {
|