@sapui5/sap.fe.templates 1.120.13 → 1.120.15
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/package.json +1 -1
- package/src/sap/fe/templates/.library +1 -1
- package/src/sap/fe/templates/AnalyticalListPage/manifest.json +1 -1
- package/src/sap/fe/templates/ListReport/ExtensionAPI.js +12 -1
- package/src/sap/fe/templates/ListReport/ExtensionAPI.ts +10 -0
- package/src/sap/fe/templates/ListReport/controls/MultipleModeControl.js +63 -25
- package/src/sap/fe/templates/ListReport/controls/MultipleModeControl.ts +45 -12
- package/src/sap/fe/templates/ListReport/manifest.json +1 -1
- package/src/sap/fe/templates/ObjectPage/ObjectPageController.controller.js +5 -1
- package/src/sap/fe/templates/ObjectPage/ObjectPageController.controller.ts +4 -0
- package/src/sap/fe/templates/ObjectPage/manifest.json +1 -1
- package/src/sap/fe/templates/library.js +1 -1
- package/src/sap/fe/templates/messagebundle_en_US_saptrc.properties +67 -65
package/package.json
CHANGED
|
@@ -136,6 +136,17 @@ sap.ui.define(["sap/fe/core/ExtensionAPI", "sap/fe/core/helpers/ClassSupport", "
|
|
|
136
136
|
}
|
|
137
137
|
}
|
|
138
138
|
|
|
139
|
+
/**
|
|
140
|
+
* Destroys the message strip set on the List Report, if any.
|
|
141
|
+
*
|
|
142
|
+
* @private
|
|
143
|
+
*/;
|
|
144
|
+
_proto.destroy = function destroy() {
|
|
145
|
+
var _this$ListReportMessa;
|
|
146
|
+
(_this$ListReportMessa = this.ListReportMessageStrip) === null || _this$ListReportMessa === void 0 ? void 0 : _this$ListReportMessa.destroy();
|
|
147
|
+
_ExtensionAPI.prototype.destroy.call(this);
|
|
148
|
+
}
|
|
149
|
+
|
|
139
150
|
/**
|
|
140
151
|
* Provides an option for the selection of a specific tab programamatically.
|
|
141
152
|
*
|
|
@@ -152,4 +163,4 @@ sap.ui.define(["sap/fe/core/ExtensionAPI", "sap/fe/core/helpers/ClassSupport", "
|
|
|
152
163
|
}(ExtensionAPI)) || _class);
|
|
153
164
|
return ListReportExtensionAPI;
|
|
154
165
|
}, false);
|
|
155
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJMaXN0UmVwb3J0RXh0ZW5zaW9uQVBJIiwiZGVmaW5lVUk1Q2xhc3MiLCJyZWZyZXNoIiwiZmlsdGVyQmFyIiwiX2NvbnRyb2xsZXIiLCJfZ2V0RmlsdGVyQmFyQ29udHJvbCIsImZpbHRlckJhckFQSSIsImdldFBhcmVudCIsInRyaWdnZXJTZWFyY2giLCJQcm9taXNlIiwicmVzb2x2ZSIsImdldFNlbGVjdGVkQ29udGV4dHMiLCJvQ29udHJvbCIsIl9pc011bHRpTW9kZSIsIl9nZXRNdWx0aU1vZGVDb250cm9sIiwiZ2V0U2VsZWN0ZWRJbm5lckNvbnRyb2wiLCJjb250ZW50IiwiX2dldFRhYmxlIiwiaXNBIiwiYVNlbGVjdGVkQ29udGV4dHMiLCJnZXRfY2hhcnQiLCJhU2VsZWN0ZWREYXRhUG9pbnRzIiwiQ2hhcnRVdGlscyIsImdldENoYXJ0U2VsZWN0ZWREYXRhIiwiaSIsImxlbmd0aCIsInB1c2giLCJjb250ZXh0Iiwic2V0RmlsdGVyVmFsdWVzIiwic0NvbmRpdGlvblBhdGgiLCJzT3BlcmF0b3IiLCJ2VmFsdWVzIiwiX2dldEFkYXB0YXRpb25GaWx0ZXJCYXJDb250cm9sIiwiYXJndW1lbnRzIiwiRmlsdGVyVXRpbHMiLCJjcmVhdGVGaWx0ZXJzRnJvbUZpbHRlckNvbmRpdGlvbnMiLCJtRmlsdGVyQ29uZGl0aW9ucyIsIm9GaWx0ZXJCYXIiLCJnZXRGaWx0ZXJJbmZvIiwidW5kZWZpbmVkIiwiZ2V0RmlsdGVycyIsInNldEN1c3RvbU1lc3NhZ2UiLCJtZXNzYWdlIiwidGFiS2V5Iiwib25DbG9zZSIsIkxpc3RSZXBvcnRNZXNzYWdlU3RyaXAiLCJMUk1lc3NhZ2VTdHJpcCIsInNob3dDdXN0b21NZXNzYWdlIiwiSW52aXNpYmxlTWVzc2FnZSIsImdldEluc3RhbmNlIiwiYW5ub3VuY2UiLCJJbnZpc2libGVNZXNzYWdlTW9kZSIsIkFzc2VydGl2ZSIsInNldFNlbGVjdGVkVGFiIiwiY29udHJvbCIsIl9nZXRJY29uVGFiQmFyIiwiZmlyZVNlbGVjdCIsInNlbGVjdGVkS2V5IiwiRXh0ZW5zaW9uQVBJIl0sInNvdXJjZVJvb3QiOiIuIiwic291cmNlcyI6WyJFeHRlbnNpb25BUEkudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IEV4dGVuc2lvbkFQSSBmcm9tIFwic2FwL2ZlL2NvcmUvRXh0ZW5zaW9uQVBJXCI7XG5pbXBvcnQgeyBkZWZpbmVVSTVDbGFzcyB9IGZyb20gXCJzYXAvZmUvY29yZS9oZWxwZXJzL0NsYXNzU3VwcG9ydFwiO1xuaW1wb3J0IENoYXJ0VXRpbHMgZnJvbSBcInNhcC9mZS9tYWNyb3MvY2hhcnQvQ2hhcnRVdGlsc1wiO1xuaW1wb3J0IEZpbHRlclV0aWxzIGZyb20gXCJzYXAvZmUvbWFjcm9zL2ZpbHRlci9GaWx0ZXJVdGlsc1wiO1xuaW1wb3J0IHR5cGUgRmlsdGVyQmFyQVBJIGZyb20gXCJzYXAvZmUvbWFjcm9zL2ZpbHRlckJhci9GaWx0ZXJCYXJBUElcIjtcbmltcG9ydCB0eXBlIExpc3RSZXBvcnRDb250cm9sbGVyIGZyb20gXCJzYXAvZmUvdGVtcGxhdGVzL0xpc3RSZXBvcnQvTGlzdFJlcG9ydENvbnRyb2xsZXIuY29udHJvbGxlclwiO1xuaW1wb3J0IHR5cGUgeyBMUkN1c3RvbU1lc3NhZ2UgfSBmcm9tIFwic2FwL2ZlL3RlbXBsYXRlcy9MaXN0UmVwb3J0L0xSTWVzc2FnZVN0cmlwXCI7XG5pbXBvcnQgeyBMUk1lc3NhZ2VTdHJpcCB9IGZyb20gXCJzYXAvZmUvdGVtcGxhdGVzL0xpc3RSZXBvcnQvTFJNZXNzYWdlU3RyaXBcIjtcbmltcG9ydCBJbnZpc2libGVNZXNzYWdlIGZyb20gXCJzYXAvdWkvY29yZS9JbnZpc2libGVNZXNzYWdlXCI7XG5pbXBvcnQgeyBJbnZpc2libGVNZXNzYWdlTW9kZSB9IGZyb20gXCJzYXAvdWkvY29yZS9saWJyYXJ5XCI7XG5pbXBvcnQgdHlwZSBDb250ZXh0IGZyb20gXCJzYXAvdWkvbW9kZWwvb2RhdGEvdjQvQ29udGV4dFwiO1xuXG4vKipcbiAqIEV4dGVuc2lvbiBBUEkgZm9yIGxpc3QgcmVwb3J0cyBpbiBTQVAgRmlvcmkgZWxlbWVudHMgZm9yIE9EYXRhIFY0LlxuICpcbiAqIFRvIGNvcnJlY3RseSBpbnRlZ3JhdGUgeW91ciBhcHAgZXh0ZW5zaW9uIGNvZGluZyB3aXRoIFNBUCBGaW9yaSBlbGVtZW50cywgdXNlIG9ubHkgdGhlIGV4dGVuc2lvbkFQSSBvZiBTQVAgRmlvcmkgZWxlbWVudHMuIERvbid0IGFjY2VzcyBvciBtYW5pcHVsYXRlIGNvbnRyb2xzLCBwcm9wZXJ0aWVzLCBtb2RlbHMsIG9yIG90aGVyIGludGVybmFsIG9iamVjdHMgY3JlYXRlZCBieSB0aGUgU0FQIEZpb3JpIGVsZW1lbnRzIGZyYW1ld29yay5cbiAqXG4gKiBAcHVibGljXG4gKiBAaGlkZWNvbnN0cnVjdG9yXG4gKiBAZmluYWxcbiAqIEBzaW5jZSAxLjc5LjBcbiAqL1xuQGRlZmluZVVJNUNsYXNzKFwic2FwLmZlLnRlbXBsYXRlcy5MaXN0UmVwb3J0LkV4dGVuc2lvbkFQSVwiKVxuY2xhc3MgTGlzdFJlcG9ydEV4dGVuc2lvbkFQSSBleHRlbmRzIEV4dGVuc2lvbkFQSSB7XG5cdHByb3RlY3RlZCBfY29udHJvbGxlciE6IExpc3RSZXBvcnRDb250cm9sbGVyO1xuXG5cdExpc3RSZXBvcnRNZXNzYWdlU3RyaXAhOiBMUk1lc3NhZ2VTdHJpcDtcblxuXHQvKipcblx0ICogUmVmcmVzaGVzIHRoZSBMaXN0IFJlcG9ydC5cblx0ICogVGhpcyBtZXRob2QgY3VycmVudGx5IG9ubHkgc3VwcG9ydHMgdHJpZ2dlcmluZyB0aGUgc2VhcmNoIChieSBjbGlja2luZyBvbiB0aGUgR08gYnV0dG9uKVxuXHQgKiBpbiB0aGUgTGlzdCBSZXBvcnQgRmlsdGVyIEJhci4gSXQgY2FuIGJlIHVzZWQgdG8gcmVxdWVzdCB0aGUgaW5pdGlhbCBsb2FkIG9yIHRvIHJlZnJlc2ggdGhlXG5cdCAqIGN1cnJlbnRseSBzaG93biBkYXRhIGJhc2VkIG9uIHRoZSBmaWx0ZXJzIGVudGVyZWQgYnkgdGhlIHVzZXIuXG5cdCAqIFBsZWFzZSBub3RlOiBUaGUgUHJvbWlzZSBpcyByZXNvbHZlZCBvbmNlIHRoZSBzZWFyY2ggaXMgdHJpZ2dlcmVkIGFuZCBub3Qgb25jZSB0aGUgZGF0YSBpcyByZXR1cm5lZC5cblx0ICpcblx0ICogQHJldHVybnMgUmVzb2x2ZWQgb25jZSB0aGUgZGF0YSBpcyByZWZyZXNoZWQgb3IgcmVqZWN0ZWQgaWYgdGhlIHJlcXVlc3QgZmFpbGVkXG5cdCAqIEBwdWJsaWNcblx0ICovXG5cdGFzeW5jIHJlZnJlc2goKTogUHJvbWlzZTx2b2lkPiB7XG5cdFx0Y29uc3QgZmlsdGVyQmFyID0gdGhpcy5fY29udHJvbGxlci5fZ2V0RmlsdGVyQmFyQ29udHJvbCgpO1xuXHRcdGNvbnN0IGZpbHRlckJhckFQSSA9IGZpbHRlckJhcj8uZ2V0UGFyZW50KCkgYXMgRmlsdGVyQmFyQVBJO1xuXHRcdGlmIChmaWx0ZXJCYXJBUEkpIHtcblx0XHRcdGZpbHRlckJhckFQSS50cmlnZ2VyU2VhcmNoKCk7XG5cdFx0fVxuXHRcdC8vIFRPRE86IGlmIHRoZXJlIGlzIG5vIGZpbHRlciBiYXIsIG1ha2UgcmVmcmVzaCB3b3JrXG5cdFx0cmV0dXJuIFByb21pc2UucmVzb2x2ZSgpO1xuXHR9XG5cblx0LyoqXG5cdCAqIEdldHMgdGhlIGxpc3QgZW50cmllcyBjdXJyZW50bHkgc2VsZWN0ZWQgZm9yIHRoZSBkaXNwbGF5ZWQgY29udHJvbC5cblx0ICpcblx0ICogQHJldHVybnMgQXJyYXkgY29udGFpbmluZyB0aGUgc2VsZWN0ZWQgY29udGV4dHNcblx0ICogQHB1YmxpY1xuXHQgKi9cblx0Z2V0U2VsZWN0ZWRDb250ZXh0cygpOiBDb250ZXh0W10ge1xuXHRcdGNvbnN0IG9Db250cm9sID0gKCh0aGlzLl9jb250cm9sbGVyLl9pc011bHRpTW9kZSgpICYmXG5cdFx0XHR0aGlzLl9jb250cm9sbGVyLl9nZXRNdWx0aU1vZGVDb250cm9sKCk/LmdldFNlbGVjdGVkSW5uZXJDb250cm9sKCk/LmNvbnRlbnQpIHx8XG5cdFx0XHR0aGlzLl9jb250cm9sbGVyLl9nZXRUYWJsZSgpKSBhcyBhbnk7XG5cdFx0aWYgKG9Db250cm9sLmlzQShcInNhcC51aS5tZGMuQ2hhcnRcIikpIHtcblx0XHRcdGNvbnN0IGFTZWxlY3RlZENvbnRleHRzID0gW107XG5cdFx0XHRpZiAob0NvbnRyb2wgJiYgb0NvbnRyb2wuZ2V0X2NoYXJ0KCkpIHtcblx0XHRcdFx0Y29uc3QgYVNlbGVjdGVkRGF0YVBvaW50cyA9IENoYXJ0VXRpbHMuZ2V0Q2hhcnRTZWxlY3RlZERhdGEob0NvbnRyb2wuZ2V0X2NoYXJ0KCkpO1xuXHRcdFx0XHRmb3IgKGxldCBpID0gMDsgaSA8IGFTZWxlY3RlZERhdGFQb2ludHMubGVuZ3RoOyBpKyspIHtcblx0XHRcdFx0XHRhU2VsZWN0ZWRDb250ZXh0cy5wdXNoKGFTZWxlY3RlZERhdGFQb2ludHNbaV0uY29udGV4dCk7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHRcdHJldHVybiBhU2VsZWN0ZWRDb250ZXh0cztcblx0XHR9IGVsc2Uge1xuXHRcdFx0cmV0dXJuIChvQ29udHJvbCAmJiBvQ29udHJvbC5nZXRTZWxlY3RlZENvbnRleHRzKCkpIHx8IFtdO1xuXHRcdH1cblx0fVxuXG5cdC8qKlxuXHQgKiBTZXQgdGhlIGZpbHRlciB2YWx1ZXMgZm9yIHRoZSBnaXZlbiBwcm9wZXJ0eSBpbiB0aGUgZmlsdGVyIGJhci5cblx0ICogVGhlIGZpbHRlciB2YWx1ZXMgY2FuIGJlIGVpdGhlciBhIHNpbmdsZSB2YWx1ZSBvciBhbiBhcnJheSBvZiB2YWx1ZXMuXG5cdCAqIEVhY2ggZmlsdGVyIHZhbHVlIG11c3QgYmUgcmVwcmVzZW50ZWQgYXMgYSBwcmltaXRpdmUgdmFsdWUuXG5cdCAqXG5cdCAqIEBwYXJhbSBzQ29uZGl0aW9uUGF0aCBUaGUgcGF0aCB0byB0aGUgcHJvcGVydHkgYXMgYSBjb25kaXRpb24gcGF0aFxuXHQgKiBAcGFyYW0gW3NPcGVyYXRvcl0gVGhlIG9wZXJhdG9yIHRvIGJlIHVzZWQgKG9wdGlvbmFsKSAtIGlmIG5vdCBzZXQsIHRoZSBkZWZhdWx0IG9wZXJhdG9yIChFUSkgd2lsbCBiZSB1c2VkXG5cdCAqIEBwYXJhbSB2VmFsdWVzIFRoZSB2YWx1ZXMgdG8gYmUgYXBwbGllZFxuXHQgKiBAcmV0dXJucyBBIHByb21pc2UgZm9yIGFzeW5jaHJvbm91cyBoYW5kbGluZ1xuXHQgKiBAcHVibGljXG5cdCAqL1xuXHRzZXRGaWx0ZXJWYWx1ZXMoXG5cdFx0c0NvbmRpdGlvblBhdGg6IHN0cmluZyxcblx0XHRzT3BlcmF0b3I6IHN0cmluZyB8IHVuZGVmaW5lZCxcblx0XHR2VmFsdWVzPzogdW5kZWZpbmVkIHwgc3RyaW5nIHwgbnVtYmVyIHwgYm9vbGVhbiB8IHN0cmluZ1tdIHwgbnVtYmVyW10gfCBib29sZWFuW11cblx0KTogUHJvbWlzZTx2b2lkPiB7XG5cdFx0Ly8gVGhlIExpc3QgUmVwb3J0IGhhcyB0d28gZmlsdGVyIGJhcnM6IFRoZSBmaWx0ZXIgYmFyIGluIHRoZSBoZWFkZXIgYW5kIHRoZSBmaWx0ZXIgYmFyIGluIHRoZSBcIkFkYXB0IEZpbHRlclwiIGRpYWxvZztcblx0XHQvLyB3aGVuIHRoZSBkaWFsb2cgaXMgb3BlbmVkLCB0aGUgdXNlciBpcyB3b3JraW5nIHdpdGggdGhhdCBhY3RpdmUgY29udHJvbDogUGFzcyBpdCB0byB0aGUgc2V0RmlsdGVyVmFsdWVzIG1ldGhvZCFcblx0XHRjb25zdCBmaWx0ZXJCYXIgPSB0aGlzLl9jb250cm9sbGVyLl9nZXRBZGFwdGF0aW9uRmlsdGVyQmFyQ29udHJvbCgpIHx8IHRoaXMuX2NvbnRyb2xsZXIuX2dldEZpbHRlckJhckNvbnRyb2woKTtcblx0XHRpZiAoYXJndW1lbnRzLmxlbmd0aCA9PT0gMikge1xuXHRcdFx0dlZhbHVlcyA9IHNPcGVyYXRvcjtcblx0XHRcdHJldHVybiBGaWx0ZXJVdGlscy5zZXRGaWx0ZXJWYWx1ZXMoZmlsdGVyQmFyLCBzQ29uZGl0aW9uUGF0aCwgdlZhbHVlcyk7XG5cdFx0fVxuXG5cdFx0cmV0dXJuIEZpbHRlclV0aWxzLnNldEZpbHRlclZhbHVlcyhmaWx0ZXJCYXIsIHNDb25kaXRpb25QYXRoLCBzT3BlcmF0b3IsIHZWYWx1ZXMpO1xuXHR9XG5cblx0LyoqXG5cdCAqIFRoaXMgbWV0aG9kIGNvbnZlcnRzIGZpbHRlciBjb25kaXRpb25zIHRvIGZpbHRlcnMuXG5cdCAqXG5cdCAqIEBwYXJhbSBtRmlsdGVyQ29uZGl0aW9ucyBNYXAgY29udGFpbmluZyB0aGUgZmlsdGVyIGNvbmRpdGlvbnMgb2YgdGhlIEZpbHRlckJhci5cblx0ICogQHJldHVybnMgT2JqZWN0IGNvbnRhaW5pbmcgdGhlIGNvbnZlcnRlZCBGaWx0ZXJCYXIgZmlsdGVycy5cblx0ICogQHB1YmxpY1xuXHQgKi9cblx0Y3JlYXRlRmlsdGVyc0Zyb21GaWx0ZXJDb25kaXRpb25zKG1GaWx0ZXJDb25kaXRpb25zOiBvYmplY3QpOiBvYmplY3Qge1xuXHRcdGNvbnN0IG9GaWx0ZXJCYXIgPSB0aGlzLl9jb250cm9sbGVyLl9nZXRGaWx0ZXJCYXJDb250cm9sKCk7XG5cdFx0cmV0dXJuIEZpbHRlclV0aWxzLmdldEZpbHRlckluZm8ob0ZpbHRlckJhciwgdW5kZWZpbmVkLCBtRmlsdGVyQ29uZGl0aW9ucyk7XG5cdH1cblxuXHQvKipcblx0ICogUHJvdmlkZXMgYWxsIHRoZSBtb2RlbCBmaWx0ZXJzIGZyb20gdGhlIGZpbHRlciBiYXIgdGhhdCBhcmUgY3VycmVudGx5IGFjdGl2ZVxuXHQgKiBhbG9uZyB3aXRoIHRoZSBzZWFyY2ggZXhwcmVzc2lvbi5cblx0ICpcblx0ICogQHJldHVybnMgQW4gYXJyYXkgb2YgYWN0aXZlIGZpbHRlcnMgYW5kIHRoZSBzZWFyY2ggZXhwcmVzc2lvbi5cblx0ICogQHB1YmxpY1xuXHQgKi9cblx0Z2V0RmlsdGVycygpOiBvYmplY3Qge1xuXHRcdGNvbnN0IG9GaWx0ZXJCYXIgPSB0aGlzLl9jb250cm9sbGVyLl9nZXRGaWx0ZXJCYXJDb250cm9sKCk7XG5cdFx0cmV0dXJuIEZpbHRlclV0aWxzLmdldEZpbHRlcnMob0ZpbHRlckJhcik7XG5cdH1cblxuXHQvKipcblx0ICogUHJvdmlkZSBhbiBvcHRpb24gZm9yIHNob3dpbmcgYSBjdXN0b20gbWVzc2FnZSBpbiB0aGUgbWVzc2FnZSBzdHJpcCBhYm92ZSB0aGUgbGlzdCByZXBvcnQgdGFibGUuXG5cdCAqXG5cdCAqIEBwYXJhbSBtZXNzYWdlIEN1c3RvbSBtZXNzYWdlIGFsb25nIHdpdGggdGhlIG1lc3NhZ2UgdHlwZSB0byBiZSBzZXQgb24gdGhlIHRhYmxlLlxuXHQgKiBAcGFyYW0gbWVzc2FnZS5tZXNzYWdlIE1lc3NhZ2Ugc3RyaW5nIHRvIGJlIGRpc3BsYXllZC5cblx0ICogQHBhcmFtIG1lc3NhZ2UudHlwZSBJbmRpY2F0ZXMgdGhlIHR5cGUgb2YgbWVzc2FnZS5cblx0ICogQHBhcmFtIHRhYktleSBUaGUgdGFiS2V5IGlkZW50aWZ5aW5nIHRoZSB0YWJsZSB3aGVyZSB0aGUgY3VzdG9tIG1lc3NhZ2UgaXMgZGlzcGxheWVkLiBJZiB0YWJLZXkgaXMgZW1wdHksIHRoZSBtZXNzYWdlIGlzIGRpc3BsYXllZCBpbiBhbGwgdGFicyAuIElmIHRhYktleSA9IFsnMScsJzInXSwgdGhlIG1lc3NhZ2UgaXMgZGlzcGxheWVkIGluIHRhYnMgMSBhbmQgMiBvbmx5XG5cdCAqIEBwYXJhbSBvbkNsb3NlIEEgZnVuY3Rpb24gdGhhdCBpcyBjYWxsZWQgd2hlbiB0aGUgdXNlciBjbG9zZXMgdGhlIG1lc3NhZ2UgYmFyLlxuXHQgKiBAcHVibGljXG5cdCAqL1xuXHRzZXRDdXN0b21NZXNzYWdlKG1lc3NhZ2U6IExSQ3VzdG9tTWVzc2FnZSB8IHVuZGVmaW5lZCwgdGFiS2V5Pzogc3RyaW5nW10gfCBzdHJpbmcgfCBudWxsLCBvbkNsb3NlPzogRnVuY3Rpb24pIHtcblx0XHRpZiAoIXRoaXMuTGlzdFJlcG9ydE1lc3NhZ2VTdHJpcCkge1xuXHRcdFx0dGhpcy5MaXN0UmVwb3J0TWVzc2FnZVN0cmlwID0gbmV3IExSTWVzc2FnZVN0cmlwKCk7XG5cdFx0fVxuXHRcdHRoaXMuTGlzdFJlcG9ydE1lc3NhZ2VTdHJpcC5zaG93Q3VzdG9tTWVzc2FnZShtZXNzYWdlLCB0aGlzLl9jb250cm9sbGVyLCB0YWJLZXksIG9uQ2xvc2UpO1xuXHRcdGlmIChtZXNzYWdlPy5tZXNzYWdlKSB7XG5cdFx0XHRJbnZpc2libGVNZXNzYWdlLmdldEluc3RhbmNlKCkuYW5ub3VuY2UobWVzc2FnZS5tZXNzYWdlLCBJbnZpc2libGVNZXNzYWdlTW9kZS5Bc3NlcnRpdmUpO1xuXHRcdH1cblx0fVxuXG5cdC8qKlxuXHQgKiBQcm92aWRlcyBhbiBvcHRpb24gZm9yIHRoZSBzZWxlY3Rpb24gb2YgYSBzcGVjaWZpYyB0YWIgcHJvZ3JhbWFtYXRpY2FsbHkuXG5cdCAqXG5cdCAqIEBwYXJhbSB0YWJLZXkgU3BlY2lmaWMgdGFiIHRvIGJlIHNlbGVjdGVkLlxuXHQgKiBAcHVibGljXG5cdCAqL1xuXHRzZXRTZWxlY3RlZFRhYih0YWJLZXk6IHN0cmluZyk6IHZvaWQge1xuXHRcdGNvbnN0IGNvbnRyb2wgPSB0aGlzLl9jb250cm9sbGVyLl9nZXRJY29uVGFiQmFyKCk7XG5cdFx0Y29udHJvbD8uZmlyZVNlbGVjdCh7IHNlbGVjdGVkS2V5OiBcImZlOjp0YWJsZTo6XCIgKyB0YWJLZXkgKyBcIjo6TGluZUl0ZW1cIiB9KTtcblx0fVxufVxuXG5leHBvcnQgZGVmYXVsdCBMaXN0UmVwb3J0RXh0ZW5zaW9uQVBJO1xuIl0sIm1hcHBpbmdzIjoiO0FBQUE7QUFBQTtBQUFBOzs7Ozs7Ozs7O0VBWUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7RUFUQSxJQVdNQSxzQkFBc0IsV0FEM0JDLGNBQWMsQ0FBQywwQ0FBMEMsQ0FBQztJQUFBO0lBQUE7TUFBQTtJQUFBO0lBQUE7SUFNMUQ7QUFDRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7SUFUQyxPQVVNQyxPQUFPLEdBQWIseUJBQStCO01BQzlCLE1BQU1DLFNBQVMsR0FBRyxJQUFJLENBQUNDLFdBQVcs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
|
|
166
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJMaXN0UmVwb3J0RXh0ZW5zaW9uQVBJIiwiZGVmaW5lVUk1Q2xhc3MiLCJyZWZyZXNoIiwiZmlsdGVyQmFyIiwiX2NvbnRyb2xsZXIiLCJfZ2V0RmlsdGVyQmFyQ29udHJvbCIsImZpbHRlckJhckFQSSIsImdldFBhcmVudCIsInRyaWdnZXJTZWFyY2giLCJQcm9taXNlIiwicmVzb2x2ZSIsImdldFNlbGVjdGVkQ29udGV4dHMiLCJvQ29udHJvbCIsIl9pc011bHRpTW9kZSIsIl9nZXRNdWx0aU1vZGVDb250cm9sIiwiZ2V0U2VsZWN0ZWRJbm5lckNvbnRyb2wiLCJjb250ZW50IiwiX2dldFRhYmxlIiwiaXNBIiwiYVNlbGVjdGVkQ29udGV4dHMiLCJnZXRfY2hhcnQiLCJhU2VsZWN0ZWREYXRhUG9pbnRzIiwiQ2hhcnRVdGlscyIsImdldENoYXJ0U2VsZWN0ZWREYXRhIiwiaSIsImxlbmd0aCIsInB1c2giLCJjb250ZXh0Iiwic2V0RmlsdGVyVmFsdWVzIiwic0NvbmRpdGlvblBhdGgiLCJzT3BlcmF0b3IiLCJ2VmFsdWVzIiwiX2dldEFkYXB0YXRpb25GaWx0ZXJCYXJDb250cm9sIiwiYXJndW1lbnRzIiwiRmlsdGVyVXRpbHMiLCJjcmVhdGVGaWx0ZXJzRnJvbUZpbHRlckNvbmRpdGlvbnMiLCJtRmlsdGVyQ29uZGl0aW9ucyIsIm9GaWx0ZXJCYXIiLCJnZXRGaWx0ZXJJbmZvIiwidW5kZWZpbmVkIiwiZ2V0RmlsdGVycyIsInNldEN1c3RvbU1lc3NhZ2UiLCJtZXNzYWdlIiwidGFiS2V5Iiwib25DbG9zZSIsIkxpc3RSZXBvcnRNZXNzYWdlU3RyaXAiLCJMUk1lc3NhZ2VTdHJpcCIsInNob3dDdXN0b21NZXNzYWdlIiwiSW52aXNpYmxlTWVzc2FnZSIsImdldEluc3RhbmNlIiwiYW5ub3VuY2UiLCJJbnZpc2libGVNZXNzYWdlTW9kZSIsIkFzc2VydGl2ZSIsImRlc3Ryb3kiLCJzZXRTZWxlY3RlZFRhYiIsImNvbnRyb2wiLCJfZ2V0SWNvblRhYkJhciIsImZpcmVTZWxlY3QiLCJzZWxlY3RlZEtleSIsIkV4dGVuc2lvbkFQSSJdLCJzb3VyY2VSb290IjoiLiIsInNvdXJjZXMiOlsiRXh0ZW5zaW9uQVBJLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBFeHRlbnNpb25BUEkgZnJvbSBcInNhcC9mZS9jb3JlL0V4dGVuc2lvbkFQSVwiO1xuaW1wb3J0IHsgZGVmaW5lVUk1Q2xhc3MgfSBmcm9tIFwic2FwL2ZlL2NvcmUvaGVscGVycy9DbGFzc1N1cHBvcnRcIjtcbmltcG9ydCBDaGFydFV0aWxzIGZyb20gXCJzYXAvZmUvbWFjcm9zL2NoYXJ0L0NoYXJ0VXRpbHNcIjtcbmltcG9ydCBGaWx0ZXJVdGlscyBmcm9tIFwic2FwL2ZlL21hY3Jvcy9maWx0ZXIvRmlsdGVyVXRpbHNcIjtcbmltcG9ydCB0eXBlIEZpbHRlckJhckFQSSBmcm9tIFwic2FwL2ZlL21hY3Jvcy9maWx0ZXJCYXIvRmlsdGVyQmFyQVBJXCI7XG5pbXBvcnQgdHlwZSBMaXN0UmVwb3J0Q29udHJvbGxlciBmcm9tIFwic2FwL2ZlL3RlbXBsYXRlcy9MaXN0UmVwb3J0L0xpc3RSZXBvcnRDb250cm9sbGVyLmNvbnRyb2xsZXJcIjtcbmltcG9ydCB0eXBlIHsgTFJDdXN0b21NZXNzYWdlIH0gZnJvbSBcInNhcC9mZS90ZW1wbGF0ZXMvTGlzdFJlcG9ydC9MUk1lc3NhZ2VTdHJpcFwiO1xuaW1wb3J0IHsgTFJNZXNzYWdlU3RyaXAgfSBmcm9tIFwic2FwL2ZlL3RlbXBsYXRlcy9MaXN0UmVwb3J0L0xSTWVzc2FnZVN0cmlwXCI7XG5pbXBvcnQgSW52aXNpYmxlTWVzc2FnZSBmcm9tIFwic2FwL3VpL2NvcmUvSW52aXNpYmxlTWVzc2FnZVwiO1xuaW1wb3J0IHsgSW52aXNpYmxlTWVzc2FnZU1vZGUgfSBmcm9tIFwic2FwL3VpL2NvcmUvbGlicmFyeVwiO1xuaW1wb3J0IHR5cGUgQ29udGV4dCBmcm9tIFwic2FwL3VpL21vZGVsL29kYXRhL3Y0L0NvbnRleHRcIjtcblxuLyoqXG4gKiBFeHRlbnNpb24gQVBJIGZvciBsaXN0IHJlcG9ydHMgaW4gU0FQIEZpb3JpIGVsZW1lbnRzIGZvciBPRGF0YSBWNC5cbiAqXG4gKiBUbyBjb3JyZWN0bHkgaW50ZWdyYXRlIHlvdXIgYXBwIGV4dGVuc2lvbiBjb2Rpbmcgd2l0aCBTQVAgRmlvcmkgZWxlbWVudHMsIHVzZSBvbmx5IHRoZSBleHRlbnNpb25BUEkgb2YgU0FQIEZpb3JpIGVsZW1lbnRzLiBEb24ndCBhY2Nlc3Mgb3IgbWFuaXB1bGF0ZSBjb250cm9scywgcHJvcGVydGllcywgbW9kZWxzLCBvciBvdGhlciBpbnRlcm5hbCBvYmplY3RzIGNyZWF0ZWQgYnkgdGhlIFNBUCBGaW9yaSBlbGVtZW50cyBmcmFtZXdvcmsuXG4gKlxuICogQHB1YmxpY1xuICogQGhpZGVjb25zdHJ1Y3RvclxuICogQGZpbmFsXG4gKiBAc2luY2UgMS43OS4wXG4gKi9cbkBkZWZpbmVVSTVDbGFzcyhcInNhcC5mZS50ZW1wbGF0ZXMuTGlzdFJlcG9ydC5FeHRlbnNpb25BUElcIilcbmNsYXNzIExpc3RSZXBvcnRFeHRlbnNpb25BUEkgZXh0ZW5kcyBFeHRlbnNpb25BUEkge1xuXHRwcm90ZWN0ZWQgX2NvbnRyb2xsZXIhOiBMaXN0UmVwb3J0Q29udHJvbGxlcjtcblxuXHRMaXN0UmVwb3J0TWVzc2FnZVN0cmlwITogTFJNZXNzYWdlU3RyaXA7XG5cblx0LyoqXG5cdCAqIFJlZnJlc2hlcyB0aGUgTGlzdCBSZXBvcnQuXG5cdCAqIFRoaXMgbWV0aG9kIGN1cnJlbnRseSBvbmx5IHN1cHBvcnRzIHRyaWdnZXJpbmcgdGhlIHNlYXJjaCAoYnkgY2xpY2tpbmcgb24gdGhlIEdPIGJ1dHRvbilcblx0ICogaW4gdGhlIExpc3QgUmVwb3J0IEZpbHRlciBCYXIuIEl0IGNhbiBiZSB1c2VkIHRvIHJlcXVlc3QgdGhlIGluaXRpYWwgbG9hZCBvciB0byByZWZyZXNoIHRoZVxuXHQgKiBjdXJyZW50bHkgc2hvd24gZGF0YSBiYXNlZCBvbiB0aGUgZmlsdGVycyBlbnRlcmVkIGJ5IHRoZSB1c2VyLlxuXHQgKiBQbGVhc2Ugbm90ZTogVGhlIFByb21pc2UgaXMgcmVzb2x2ZWQgb25jZSB0aGUgc2VhcmNoIGlzIHRyaWdnZXJlZCBhbmQgbm90IG9uY2UgdGhlIGRhdGEgaXMgcmV0dXJuZWQuXG5cdCAqXG5cdCAqIEByZXR1cm5zIFJlc29sdmVkIG9uY2UgdGhlIGRhdGEgaXMgcmVmcmVzaGVkIG9yIHJlamVjdGVkIGlmIHRoZSByZXF1ZXN0IGZhaWxlZFxuXHQgKiBAcHVibGljXG5cdCAqL1xuXHRhc3luYyByZWZyZXNoKCk6IFByb21pc2U8dm9pZD4ge1xuXHRcdGNvbnN0IGZpbHRlckJhciA9IHRoaXMuX2NvbnRyb2xsZXIuX2dldEZpbHRlckJhckNvbnRyb2woKTtcblx0XHRjb25zdCBmaWx0ZXJCYXJBUEkgPSBmaWx0ZXJCYXI/LmdldFBhcmVudCgpIGFzIEZpbHRlckJhckFQSTtcblx0XHRpZiAoZmlsdGVyQmFyQVBJKSB7XG5cdFx0XHRmaWx0ZXJCYXJBUEkudHJpZ2dlclNlYXJjaCgpO1xuXHRcdH1cblx0XHQvLyBUT0RPOiBpZiB0aGVyZSBpcyBubyBmaWx0ZXIgYmFyLCBtYWtlIHJlZnJlc2ggd29ya1xuXHRcdHJldHVybiBQcm9taXNlLnJlc29sdmUoKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZXRzIHRoZSBsaXN0IGVudHJpZXMgY3VycmVudGx5IHNlbGVjdGVkIGZvciB0aGUgZGlzcGxheWVkIGNvbnRyb2wuXG5cdCAqXG5cdCAqIEByZXR1cm5zIEFycmF5IGNvbnRhaW5pbmcgdGhlIHNlbGVjdGVkIGNvbnRleHRzXG5cdCAqIEBwdWJsaWNcblx0ICovXG5cdGdldFNlbGVjdGVkQ29udGV4dHMoKTogQ29udGV4dFtdIHtcblx0XHRjb25zdCBvQ29udHJvbCA9ICgodGhpcy5fY29udHJvbGxlci5faXNNdWx0aU1vZGUoKSAmJlxuXHRcdFx0dGhpcy5fY29udHJvbGxlci5fZ2V0TXVsdGlNb2RlQ29udHJvbCgpPy5nZXRTZWxlY3RlZElubmVyQ29udHJvbCgpPy5jb250ZW50KSB8fFxuXHRcdFx0dGhpcy5fY29udHJvbGxlci5fZ2V0VGFibGUoKSkgYXMgYW55O1xuXHRcdGlmIChvQ29udHJvbC5pc0EoXCJzYXAudWkubWRjLkNoYXJ0XCIpKSB7XG5cdFx0XHRjb25zdCBhU2VsZWN0ZWRDb250ZXh0cyA9IFtdO1xuXHRcdFx0aWYgKG9Db250cm9sICYmIG9Db250cm9sLmdldF9jaGFydCgpKSB7XG5cdFx0XHRcdGNvbnN0IGFTZWxlY3RlZERhdGFQb2ludHMgPSBDaGFydFV0aWxzLmdldENoYXJ0U2VsZWN0ZWREYXRhKG9Db250cm9sLmdldF9jaGFydCgpKTtcblx0XHRcdFx0Zm9yIChsZXQgaSA9IDA7IGkgPCBhU2VsZWN0ZWREYXRhUG9pbnRzLmxlbmd0aDsgaSsrKSB7XG5cdFx0XHRcdFx0YVNlbGVjdGVkQ29udGV4dHMucHVzaChhU2VsZWN0ZWREYXRhUG9pbnRzW2ldLmNvbnRleHQpO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0XHRyZXR1cm4gYVNlbGVjdGVkQ29udGV4dHM7XG5cdFx0fSBlbHNlIHtcblx0XHRcdHJldHVybiAob0NvbnRyb2wgJiYgb0NvbnRyb2wuZ2V0U2VsZWN0ZWRDb250ZXh0cygpKSB8fCBbXTtcblx0XHR9XG5cdH1cblxuXHQvKipcblx0ICogU2V0IHRoZSBmaWx0ZXIgdmFsdWVzIGZvciB0aGUgZ2l2ZW4gcHJvcGVydHkgaW4gdGhlIGZpbHRlciBiYXIuXG5cdCAqIFRoZSBmaWx0ZXIgdmFsdWVzIGNhbiBiZSBlaXRoZXIgYSBzaW5nbGUgdmFsdWUgb3IgYW4gYXJyYXkgb2YgdmFsdWVzLlxuXHQgKiBFYWNoIGZpbHRlciB2YWx1ZSBtdXN0IGJlIHJlcHJlc2VudGVkIGFzIGEgcHJpbWl0aXZlIHZhbHVlLlxuXHQgKlxuXHQgKiBAcGFyYW0gc0NvbmRpdGlvblBhdGggVGhlIHBhdGggdG8gdGhlIHByb3BlcnR5IGFzIGEgY29uZGl0aW9uIHBhdGhcblx0ICogQHBhcmFtIFtzT3BlcmF0b3JdIFRoZSBvcGVyYXRvciB0byBiZSB1c2VkIChvcHRpb25hbCkgLSBpZiBub3Qgc2V0LCB0aGUgZGVmYXVsdCBvcGVyYXRvciAoRVEpIHdpbGwgYmUgdXNlZFxuXHQgKiBAcGFyYW0gdlZhbHVlcyBUaGUgdmFsdWVzIHRvIGJlIGFwcGxpZWRcblx0ICogQHJldHVybnMgQSBwcm9taXNlIGZvciBhc3luY2hyb25vdXMgaGFuZGxpbmdcblx0ICogQHB1YmxpY1xuXHQgKi9cblx0c2V0RmlsdGVyVmFsdWVzKFxuXHRcdHNDb25kaXRpb25QYXRoOiBzdHJpbmcsXG5cdFx0c09wZXJhdG9yOiBzdHJpbmcgfCB1bmRlZmluZWQsXG5cdFx0dlZhbHVlcz86IHVuZGVmaW5lZCB8IHN0cmluZyB8IG51bWJlciB8IGJvb2xlYW4gfCBzdHJpbmdbXSB8IG51bWJlcltdIHwgYm9vbGVhbltdXG5cdCk6IFByb21pc2U8dm9pZD4ge1xuXHRcdC8vIFRoZSBMaXN0IFJlcG9ydCBoYXMgdHdvIGZpbHRlciBiYXJzOiBUaGUgZmlsdGVyIGJhciBpbiB0aGUgaGVhZGVyIGFuZCB0aGUgZmlsdGVyIGJhciBpbiB0aGUgXCJBZGFwdCBGaWx0ZXJcIiBkaWFsb2c7XG5cdFx0Ly8gd2hlbiB0aGUgZGlhbG9nIGlzIG9wZW5lZCwgdGhlIHVzZXIgaXMgd29ya2luZyB3aXRoIHRoYXQgYWN0aXZlIGNvbnRyb2w6IFBhc3MgaXQgdG8gdGhlIHNldEZpbHRlclZhbHVlcyBtZXRob2QhXG5cdFx0Y29uc3QgZmlsdGVyQmFyID0gdGhpcy5fY29udHJvbGxlci5fZ2V0QWRhcHRhdGlvbkZpbHRlckJhckNvbnRyb2woKSB8fCB0aGlzLl9jb250cm9sbGVyLl9nZXRGaWx0ZXJCYXJDb250cm9sKCk7XG5cdFx0aWYgKGFyZ3VtZW50cy5sZW5ndGggPT09IDIpIHtcblx0XHRcdHZWYWx1ZXMgPSBzT3BlcmF0b3I7XG5cdFx0XHRyZXR1cm4gRmlsdGVyVXRpbHMuc2V0RmlsdGVyVmFsdWVzKGZpbHRlckJhciwgc0NvbmRpdGlvblBhdGgsIHZWYWx1ZXMpO1xuXHRcdH1cblxuXHRcdHJldHVybiBGaWx0ZXJVdGlscy5zZXRGaWx0ZXJWYWx1ZXMoZmlsdGVyQmFyLCBzQ29uZGl0aW9uUGF0aCwgc09wZXJhdG9yLCB2VmFsdWVzKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBUaGlzIG1ldGhvZCBjb252ZXJ0cyBmaWx0ZXIgY29uZGl0aW9ucyB0byBmaWx0ZXJzLlxuXHQgKlxuXHQgKiBAcGFyYW0gbUZpbHRlckNvbmRpdGlvbnMgTWFwIGNvbnRhaW5pbmcgdGhlIGZpbHRlciBjb25kaXRpb25zIG9mIHRoZSBGaWx0ZXJCYXIuXG5cdCAqIEByZXR1cm5zIE9iamVjdCBjb250YWluaW5nIHRoZSBjb252ZXJ0ZWQgRmlsdGVyQmFyIGZpbHRlcnMuXG5cdCAqIEBwdWJsaWNcblx0ICovXG5cdGNyZWF0ZUZpbHRlcnNGcm9tRmlsdGVyQ29uZGl0aW9ucyhtRmlsdGVyQ29uZGl0aW9uczogb2JqZWN0KTogb2JqZWN0IHtcblx0XHRjb25zdCBvRmlsdGVyQmFyID0gdGhpcy5fY29udHJvbGxlci5fZ2V0RmlsdGVyQmFyQ29udHJvbCgpO1xuXHRcdHJldHVybiBGaWx0ZXJVdGlscy5nZXRGaWx0ZXJJbmZvKG9GaWx0ZXJCYXIsIHVuZGVmaW5lZCwgbUZpbHRlckNvbmRpdGlvbnMpO1xuXHR9XG5cblx0LyoqXG5cdCAqIFByb3ZpZGVzIGFsbCB0aGUgbW9kZWwgZmlsdGVycyBmcm9tIHRoZSBmaWx0ZXIgYmFyIHRoYXQgYXJlIGN1cnJlbnRseSBhY3RpdmVcblx0ICogYWxvbmcgd2l0aCB0aGUgc2VhcmNoIGV4cHJlc3Npb24uXG5cdCAqXG5cdCAqIEByZXR1cm5zIEFuIGFycmF5IG9mIGFjdGl2ZSBmaWx0ZXJzIGFuZCB0aGUgc2VhcmNoIGV4cHJlc3Npb24uXG5cdCAqIEBwdWJsaWNcblx0ICovXG5cdGdldEZpbHRlcnMoKTogb2JqZWN0IHtcblx0XHRjb25zdCBvRmlsdGVyQmFyID0gdGhpcy5fY29udHJvbGxlci5fZ2V0RmlsdGVyQmFyQ29udHJvbCgpO1xuXHRcdHJldHVybiBGaWx0ZXJVdGlscy5nZXRGaWx0ZXJzKG9GaWx0ZXJCYXIpO1xuXHR9XG5cblx0LyoqXG5cdCAqIFByb3ZpZGUgYW4gb3B0aW9uIGZvciBzaG93aW5nIGEgY3VzdG9tIG1lc3NhZ2UgaW4gdGhlIG1lc3NhZ2Ugc3RyaXAgYWJvdmUgdGhlIGxpc3QgcmVwb3J0IHRhYmxlLlxuXHQgKlxuXHQgKiBAcGFyYW0gbWVzc2FnZSBDdXN0b20gbWVzc2FnZSBhbG9uZyB3aXRoIHRoZSBtZXNzYWdlIHR5cGUgdG8gYmUgc2V0IG9uIHRoZSB0YWJsZS5cblx0ICogQHBhcmFtIG1lc3NhZ2UubWVzc2FnZSBNZXNzYWdlIHN0cmluZyB0byBiZSBkaXNwbGF5ZWQuXG5cdCAqIEBwYXJhbSBtZXNzYWdlLnR5cGUgSW5kaWNhdGVzIHRoZSB0eXBlIG9mIG1lc3NhZ2UuXG5cdCAqIEBwYXJhbSB0YWJLZXkgVGhlIHRhYktleSBpZGVudGlmeWluZyB0aGUgdGFibGUgd2hlcmUgdGhlIGN1c3RvbSBtZXNzYWdlIGlzIGRpc3BsYXllZC4gSWYgdGFiS2V5IGlzIGVtcHR5LCB0aGUgbWVzc2FnZSBpcyBkaXNwbGF5ZWQgaW4gYWxsIHRhYnMgLiBJZiB0YWJLZXkgPSBbJzEnLCcyJ10sIHRoZSBtZXNzYWdlIGlzIGRpc3BsYXllZCBpbiB0YWJzIDEgYW5kIDIgb25seVxuXHQgKiBAcGFyYW0gb25DbG9zZSBBIGZ1bmN0aW9uIHRoYXQgaXMgY2FsbGVkIHdoZW4gdGhlIHVzZXIgY2xvc2VzIHRoZSBtZXNzYWdlIGJhci5cblx0ICogQHB1YmxpY1xuXHQgKi9cblx0c2V0Q3VzdG9tTWVzc2FnZShtZXNzYWdlOiBMUkN1c3RvbU1lc3NhZ2UgfCB1bmRlZmluZWQsIHRhYktleT86IHN0cmluZ1tdIHwgc3RyaW5nIHwgbnVsbCwgb25DbG9zZT86IEZ1bmN0aW9uKSB7XG5cdFx0aWYgKCF0aGlzLkxpc3RSZXBvcnRNZXNzYWdlU3RyaXApIHtcblx0XHRcdHRoaXMuTGlzdFJlcG9ydE1lc3NhZ2VTdHJpcCA9IG5ldyBMUk1lc3NhZ2VTdHJpcCgpO1xuXHRcdH1cblx0XHR0aGlzLkxpc3RSZXBvcnRNZXNzYWdlU3RyaXAuc2hvd0N1c3RvbU1lc3NhZ2UobWVzc2FnZSwgdGhpcy5fY29udHJvbGxlciwgdGFiS2V5LCBvbkNsb3NlKTtcblx0XHRpZiAobWVzc2FnZT8ubWVzc2FnZSkge1xuXHRcdFx0SW52aXNpYmxlTWVzc2FnZS5nZXRJbnN0YW5jZSgpLmFubm91bmNlKG1lc3NhZ2UubWVzc2FnZSwgSW52aXNpYmxlTWVzc2FnZU1vZGUuQXNzZXJ0aXZlKTtcblx0XHR9XG5cdH1cblxuXHQvKipcblx0ICogRGVzdHJveXMgdGhlIG1lc3NhZ2Ugc3RyaXAgc2V0IG9uIHRoZSBMaXN0IFJlcG9ydCwgaWYgYW55LlxuXHQgKlxuICAgICAgICAgKiBAcHJpdmF0ZVxuXHQgKi9cblx0ZGVzdHJveSgpOiB2b2lkIHtcblx0XHR0aGlzLkxpc3RSZXBvcnRNZXNzYWdlU3RyaXA/LmRlc3Ryb3koKTtcblx0XHRzdXBlci5kZXN0cm95KCk7XG5cdH1cblxuXHQvKipcblx0ICogUHJvdmlkZXMgYW4gb3B0aW9uIGZvciB0aGUgc2VsZWN0aW9uIG9mIGEgc3BlY2lmaWMgdGFiIHByb2dyYW1hbWF0aWNhbGx5LlxuXHQgKlxuXHQgKiBAcGFyYW0gdGFiS2V5IFNwZWNpZmljIHRhYiB0byBiZSBzZWxlY3RlZC5cblx0ICogQHB1YmxpY1xuXHQgKi9cblx0c2V0U2VsZWN0ZWRUYWIodGFiS2V5OiBzdHJpbmcpOiB2b2lkIHtcblx0XHRjb25zdCBjb250cm9sID0gdGhpcy5fY29udHJvbGxlci5fZ2V0SWNvblRhYkJhcigpO1xuXHRcdGNvbnRyb2w/LmZpcmVTZWxlY3QoeyBzZWxlY3RlZEtleTogXCJmZTo6dGFibGU6OlwiICsgdGFiS2V5ICsgXCI6OkxpbmVJdGVtXCIgfSk7XG5cdH1cbn1cblxuZXhwb3J0IGRlZmF1bHQgTGlzdFJlcG9ydEV4dGVuc2lvbkFQSTtcbiJdLCJtYXBwaW5ncyI6IjtBQUFBO0FBQUE7QUFBQTs7Ozs7Ozs7OztFQVlBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFD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
|
|
@@ -141,6 +141,16 @@ class ListReportExtensionAPI extends ExtensionAPI {
|
|
|
141
141
|
}
|
|
142
142
|
}
|
|
143
143
|
|
|
144
|
+
/**
|
|
145
|
+
* Destroys the message strip set on the List Report, if any.
|
|
146
|
+
*
|
|
147
|
+
* @private
|
|
148
|
+
*/
|
|
149
|
+
destroy(): void {
|
|
150
|
+
this.ListReportMessageStrip?.destroy();
|
|
151
|
+
super.destroy();
|
|
152
|
+
}
|
|
153
|
+
|
|
144
154
|
/**
|
|
145
155
|
* Provides an option for the selection of a specific tab programamatically.
|
|
146
156
|
*
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
sap.ui.define(["sap/base/Log", "sap/fe/core/CommonUtils", "sap/fe/core/converters/MetaModelConverter", "sap/fe/core/helpers/ClassSupport", "sap/fe/core/helpers/MessageStrip", "sap/fe/core/helpers/ResourceModelHelper", "sap/m/IconTabFilter", "sap/ui/core/Control", "sap/ui/core/Core", "sap/ui/fl/write/api/ControlPersonalizationWriteAPI", "sap/ui/model/json/JSONModel"], function (Log, CommonUtils, MetaModelConverter, ClassSupport, MessageStrip, ResourceModelHelper, IconTabFilter, Control, Core, ControlPersonalizationWriteAPI, JSONModel) {
|
|
6
6
|
"use strict";
|
|
7
7
|
|
|
8
|
-
var _dec, _dec2, _dec3, _dec4, _dec5, _dec6, _dec7, _dec8, _class, _class2, _descriptor, _descriptor2, _descriptor3, _descriptor4, _descriptor5, _descriptor6, _descriptor7;
|
|
8
|
+
var _dec, _dec2, _dec3, _dec4, _dec5, _dec6, _dec7, _dec8, _dec9, _class, _class2, _descriptor, _descriptor2, _descriptor3, _descriptor4, _descriptor5, _descriptor6, _descriptor7, _descriptor8;
|
|
9
9
|
var getResourceModel = ResourceModelHelper.getResourceModel;
|
|
10
10
|
var property = ClassSupport.property;
|
|
11
11
|
var event = ClassSupport.event;
|
|
@@ -31,17 +31,20 @@ sap.ui.define(["sap/base/Log", "sap/fe/core/CommonUtils", "sap/fe/core/converter
|
|
|
31
31
|
}), _dec4 = property({
|
|
32
32
|
type: "boolean",
|
|
33
33
|
defaultValue: false
|
|
34
|
-
}), _dec5 =
|
|
34
|
+
}), _dec5 = property({
|
|
35
|
+
type: "boolean",
|
|
36
|
+
defaultValue: false
|
|
37
|
+
}), _dec6 = aggregation({
|
|
35
38
|
type: "sap.m.IconTabBar",
|
|
36
39
|
multiple: false,
|
|
37
40
|
isDefault: true
|
|
38
|
-
}),
|
|
41
|
+
}), _dec7 = association({
|
|
39
42
|
type: "sap.ui.core.Control",
|
|
40
43
|
multiple: true
|
|
41
|
-
}),
|
|
44
|
+
}), _dec8 = association({
|
|
42
45
|
type: "sap.fe.core.controls.FilterBar",
|
|
43
46
|
multiple: false
|
|
44
|
-
}),
|
|
47
|
+
}), _dec9 = event(), _dec(_class = (_class2 = /*#__PURE__*/function (_Control) {
|
|
45
48
|
_inheritsLoose(MultipleModeControl, _Control);
|
|
46
49
|
function MultipleModeControl() {
|
|
47
50
|
var _this;
|
|
@@ -50,12 +53,13 @@ sap.ui.define(["sap/base/Log", "sap/fe/core/CommonUtils", "sap/fe/core/converter
|
|
|
50
53
|
}
|
|
51
54
|
_this = _Control.call(this, ...args) || this;
|
|
52
55
|
_initializerDefineProperty(_this, "showCounts", _descriptor, _assertThisInitialized(_this));
|
|
53
|
-
_initializerDefineProperty(_this, "
|
|
54
|
-
_initializerDefineProperty(_this, "
|
|
55
|
-
_initializerDefineProperty(_this, "
|
|
56
|
-
_initializerDefineProperty(_this, "
|
|
57
|
-
_initializerDefineProperty(_this, "
|
|
58
|
-
_initializerDefineProperty(_this, "
|
|
56
|
+
_initializerDefineProperty(_this, "setVisibleOverridden", _descriptor2, _assertThisInitialized(_this));
|
|
57
|
+
_initializerDefineProperty(_this, "freezeContent", _descriptor3, _assertThisInitialized(_this));
|
|
58
|
+
_initializerDefineProperty(_this, "countsOutDated", _descriptor4, _assertThisInitialized(_this));
|
|
59
|
+
_initializerDefineProperty(_this, "content", _descriptor5, _assertThisInitialized(_this));
|
|
60
|
+
_initializerDefineProperty(_this, "innerControls", _descriptor6, _assertThisInitialized(_this));
|
|
61
|
+
_initializerDefineProperty(_this, "filterControl", _descriptor7, _assertThisInitialized(_this));
|
|
62
|
+
_initializerDefineProperty(_this, "select", _descriptor8, _assertThisInitialized(_this));
|
|
59
63
|
return _this;
|
|
60
64
|
}
|
|
61
65
|
var _proto = MultipleModeControl.prototype;
|
|
@@ -83,6 +87,21 @@ sap.ui.define(["sap/base/Log", "sap/fe/core/CommonUtils", "sap/fe/core/converter
|
|
|
83
87
|
_proto.onAfterRendering = function onAfterRendering() {
|
|
84
88
|
var _this$getSelectedInne, _this$getSelectedInne2;
|
|
85
89
|
(_this$getSelectedInne = this.getSelectedInnerControl()) === null || _this$getSelectedInne === void 0 ? void 0 : (_this$getSelectedInne2 = _this$getSelectedInne.resumeBinding) === null || _this$getSelectedInne2 === void 0 ? void 0 : _this$getSelectedInne2.call(_this$getSelectedInne, !this.getProperty("freezeContent"));
|
|
90
|
+
if (this.showCounts && !this.setVisibleOverridden) {
|
|
91
|
+
this.setProperty("setVisibleOverridden", true);
|
|
92
|
+
this.getAllInnerControls().forEach(macroAPI => {
|
|
93
|
+
const iconTabFilter = this._getTabFromInnerControl(macroAPI);
|
|
94
|
+
// No count to show
|
|
95
|
+
if (!iconTabFilter) return;
|
|
96
|
+
const originSetVisible = iconTabFilter.setVisible;
|
|
97
|
+
iconTabFilter.setVisible = value => {
|
|
98
|
+
if (iconTabFilter.getVisible() === false && value) {
|
|
99
|
+
this.refreshTabCount(macroAPI);
|
|
100
|
+
}
|
|
101
|
+
return originSetVisible.bind(iconTabFilter)(value);
|
|
102
|
+
};
|
|
103
|
+
});
|
|
104
|
+
}
|
|
86
105
|
};
|
|
87
106
|
MultipleModeControl.render = function render(oRm, oControl) {
|
|
88
107
|
oRm.renderControl(oControl.content);
|
|
@@ -298,6 +317,25 @@ sap.ui.define(["sap/base/Log", "sap/fe/core/CommonUtils", "sap/fe/core/converter
|
|
|
298
317
|
currentTabId: this.content.getSelectedKey(),
|
|
299
318
|
refreshCause: sRefreshCause
|
|
300
319
|
});
|
|
320
|
+
}
|
|
321
|
+
|
|
322
|
+
/**
|
|
323
|
+
* Get the count of the Tab containing the macro passed as parameter.
|
|
324
|
+
* @param macroAPI The content of the tab we want to refresh
|
|
325
|
+
*/;
|
|
326
|
+
_proto.refreshTabCount = function refreshTabCount(macroAPI) {
|
|
327
|
+
const iconTabFilter = this._getTabFromInnerControl(macroAPI);
|
|
328
|
+
if (!iconTabFilter) {
|
|
329
|
+
return;
|
|
330
|
+
}
|
|
331
|
+
if (macroAPI !== null && macroAPI !== void 0 && macroAPI.getCounts) {
|
|
332
|
+
iconTabFilter.setCount("...");
|
|
333
|
+
macroAPI.getCounts().then(count => {
|
|
334
|
+
return iconTabFilter.setCount(count || "0");
|
|
335
|
+
}).catch(function (error) {
|
|
336
|
+
Log.error(`Error while requesting Counts for Control: ${error}`);
|
|
337
|
+
});
|
|
338
|
+
}
|
|
301
339
|
};
|
|
302
340
|
_proto._refreshTabsCount = function _refreshTabsCount(tableEvent) {
|
|
303
341
|
var _this$_getTabFromInne2, _this$content2;
|
|
@@ -310,13 +348,8 @@ sap.ui.define(["sap/base/Log", "sap/fe/core/CommonUtils", "sap/fe/core/converter
|
|
|
310
348
|
const targetKey = eventMacroAPI ? (_this$_getTabFromInne2 = this._getTabFromInnerControl(eventMacroAPI)) === null || _this$_getTabFromInne2 === void 0 ? void 0 : _this$_getTabFromInne2.getKey() : (_this$content2 = this.content) === null || _this$content2 === void 0 ? void 0 : _this$content2.getSelectedKey();
|
|
311
349
|
this.getAllInnerControls(true).forEach(oMacroAPI => {
|
|
312
350
|
const oIconTabFilter = this._getTabFromInnerControl(oMacroAPI);
|
|
313
|
-
if (
|
|
314
|
-
|
|
315
|
-
oIconTabFilter.setCount("...");
|
|
316
|
-
oMacroAPI.getCounts().then(iCount => oIconTabFilter.setCount(iCount || "0")).catch(function (oError) {
|
|
317
|
-
Log.error("Error while requesting Counts for Control", oError);
|
|
318
|
-
});
|
|
319
|
-
}
|
|
351
|
+
if (this.countsOutDated || targetKey === (oIconTabFilter === null || oIconTabFilter === void 0 ? void 0 : oIconTabFilter.getKey())) {
|
|
352
|
+
this.refreshTabCount(oMacroAPI);
|
|
320
353
|
}
|
|
321
354
|
});
|
|
322
355
|
this.setCountsOutDated(false);
|
|
@@ -364,32 +397,37 @@ sap.ui.define(["sap/base/Log", "sap/fe/core/CommonUtils", "sap/fe/core/converter
|
|
|
364
397
|
enumerable: true,
|
|
365
398
|
writable: true,
|
|
366
399
|
initializer: null
|
|
367
|
-
}), _descriptor2 = _applyDecoratedDescriptor(_class2.prototype, "
|
|
400
|
+
}), _descriptor2 = _applyDecoratedDescriptor(_class2.prototype, "setVisibleOverridden", [_dec3], {
|
|
401
|
+
configurable: true,
|
|
402
|
+
enumerable: true,
|
|
403
|
+
writable: true,
|
|
404
|
+
initializer: null
|
|
405
|
+
}), _descriptor3 = _applyDecoratedDescriptor(_class2.prototype, "freezeContent", [_dec4], {
|
|
368
406
|
configurable: true,
|
|
369
407
|
enumerable: true,
|
|
370
408
|
writable: true,
|
|
371
409
|
initializer: null
|
|
372
|
-
}),
|
|
410
|
+
}), _descriptor4 = _applyDecoratedDescriptor(_class2.prototype, "countsOutDated", [_dec5], {
|
|
373
411
|
configurable: true,
|
|
374
412
|
enumerable: true,
|
|
375
413
|
writable: true,
|
|
376
414
|
initializer: null
|
|
377
|
-
}),
|
|
415
|
+
}), _descriptor5 = _applyDecoratedDescriptor(_class2.prototype, "content", [_dec6], {
|
|
378
416
|
configurable: true,
|
|
379
417
|
enumerable: true,
|
|
380
418
|
writable: true,
|
|
381
419
|
initializer: null
|
|
382
|
-
}),
|
|
420
|
+
}), _descriptor6 = _applyDecoratedDescriptor(_class2.prototype, "innerControls", [_dec7], {
|
|
383
421
|
configurable: true,
|
|
384
422
|
enumerable: true,
|
|
385
423
|
writable: true,
|
|
386
424
|
initializer: null
|
|
387
|
-
}),
|
|
425
|
+
}), _descriptor7 = _applyDecoratedDescriptor(_class2.prototype, "filterControl", [_dec8], {
|
|
388
426
|
configurable: true,
|
|
389
427
|
enumerable: true,
|
|
390
428
|
writable: true,
|
|
391
429
|
initializer: null
|
|
392
|
-
}),
|
|
430
|
+
}), _descriptor8 = _applyDecoratedDescriptor(_class2.prototype, "select", [_dec9], {
|
|
393
431
|
configurable: true,
|
|
394
432
|
enumerable: true,
|
|
395
433
|
writable: true,
|
|
@@ -397,4 +435,4 @@ sap.ui.define(["sap/base/Log", "sap/fe/core/CommonUtils", "sap/fe/core/converter
|
|
|
397
435
|
})), _class2)) || _class);
|
|
398
436
|
return MultipleModeControl;
|
|
399
437
|
}, false);
|
|
400
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJCaW5kaW5nQWN0aW9uIiwiTXVsdGlwbGVNb2RlQ29udHJvbCIsImRlZmluZVVJNUNsYXNzIiwicHJvcGVydHkiLCJ0eXBlIiwiZGVmYXVsdFZhbHVlIiwiYWdncmVnYXRpb24iLCJtdWx0aXBsZSIsImlzRGVmYXVsdCIsImFzc29jaWF0aW9uIiwiZXZlbnQiLCJvbkJlZm9yZVJlbmRlcmluZyIsImdldFRhYnNNb2RlbCIsIm9GaWx0ZXJDb250cm9sIiwiX2dldEZpbHRlckNvbnRyb2wiLCJzZXRDb3VudHNPdXREYXRlZCIsIm9GaWx0ZXJCYXJBUEkiLCJnZXRQYXJlbnQiLCJnZXRBbGxJbm5lckNvbnRyb2xzIiwiZm9yRWFjaCIsIm9NYWNyb0FQSSIsInNob3dDb3VudHMiLCJhdHRhY2hFdmVudCIsIl9yZWZyZXNoVGFic0NvdW50IiwiYmluZCIsInN1c3BlbmRCaW5kaW5nIiwiX29uU2VhcmNoIiwiX29uRmlsdGVyQ2hhbmdlZCIsIm9uQWZ0ZXJSZW5kZXJpbmciLCJnZXRTZWxlY3RlZElubmVyQ29udHJvbCIsInJlc3VtZUJpbmRpbmciLCJnZXRQcm9wZXJ0eSIsInJlbmRlciIsIm9SbSIsIm9Db250cm9sIiwicmVuZGVyQ29udHJvbCIsImNvbnRlbnQiLCJzVGFic01vZGVsIiwib0NvbnRlbnQiLCJ1bmRlZmluZWQiLCJvTW9kZWwiLCJnZXRNb2RlbCIsIkpTT05Nb2RlbCIsInNldE1vZGVsIiwib1NlbGVjdGVkVGFiIiwiZ2V0SXRlbXMiLCJmaW5kIiwib0l0ZW0iLCJnZXRLZXkiLCJnZXRTZWxlY3RlZEtleSIsIl9nZXRUYWJGcm9tSW5uZXJDb250cm9sIiwiaGFuZGxlVGFiQ2hhbmdlIiwib0V2ZW50Iiwib0ljb25UYWJCYXIiLCJnZXRTb3VyY2UiLCJvTXVsdGlDb250cm9sIiwibVBhcmFtZXRlcnMiLCJnZXRQYXJhbWV0ZXJzIiwiX3NldElubmVyQmluZGluZyIsInNQcmV2aW91c1NlbGVjdGVkS2V5IiwicHJldmlvdXNLZXkiLCJzU2VsZWN0ZWRLZXkiLCJzZWxlY3RlZEtleSIsIm9GaWx0ZXJCYXIiLCJfcmVmcmVzaEN1c3RvbVZpZXciLCJnZXRGaWx0ZXJDb25kaXRpb25zIiwiQ29udHJvbFBlcnNvbmFsaXphdGlvbldyaXRlQVBJIiwiYWRkIiwiY2hhbmdlcyIsImNoYW5nZVNwZWNpZmljRGF0YSIsImNoYW5nZVR5cGUiLCJwcmV2aW91c1NlbGVjdGVkS2V5Iiwic2VsZWN0b3JFbGVtZW50IiwiX2dldFZpZXdDb250cm9sbGVyIiwiZ2V0RXh0ZW5zaW9uQVBJIiwidXBkYXRlQXBwU3RhdGUiLCJmaXJlRXZlbnQiLCJpY29uVGFiQmFyIiwiaW52YWxpZGF0ZUNvbnRlbnQiLCJiVmFsdWUiLCJzZXRQcm9wZXJ0eSIsInNldEZyZWV6ZUNvbnRlbnQiLCJfdXBkYXRlTXVsdGlUYWJOb3RBcHBsaWNhYmxlRmllbGRzIiwidGFic01vZGVsIiwicmVzdWx0cyIsIm9UYWIiLCJzVGFiSWQiLCJtSWdub3JlZEZpZWxkcyIsInJlZnJlc2hOb3RBcHBsaWNhYmxlRmllbGRzIiwibm90QXBwbGljYWJsZSIsImZpZWxkcyIsInRpdGxlIiwiX3NldFRhYk1lc3NhZ2VTdHJpcCIsImVudGl0eVR5cGVQYXRoIiwiZGF0YSIsImlnbm9yZWRGaWVsZHMiLCJnZXRUZXh0IiwiaXNBIiwiY2hlY2tOb25GaWx0ZXJhYmxlRW50aXR5U2V0Iiwic2V0RGF0YSIsInJlc291cmNlTW9kZWwiLCJnZXRSZXNvdXJjZU1vZGVsIiwib0NoYXJ0IiwiZ2V0Q29udGVudCIsImJFbnRpdHlTZXRGaWxlcmFibGUiLCJNZXRhTW9kZWxDb252ZXJ0ZXIiLCJnZXRJbnZvbHZlZERhdGFNb2RlbE9iamVjdHMiLCJnZXRNZXRhTW9kZWwiLCJnZXRDb250ZXh0IiwidGFyZ2V0T2JqZWN0IiwiYW5ub3RhdGlvbnMiLCJDYXBhYmlsaXRpZXMiLCJGaWx0ZXJSZXN0cmljdGlvbnMiLCJGaWx0ZXJhYmxlIiwiaW5kZXhPZiIsImJPbmx5Rm9yVmlzaWJsZVRhYiIsImlubmVyQ29udHJvbHMiLCJyZWR1Y2UiLCJhSW5uZXJDb250cm9scyIsInNJbm5lckNvbnRyb2wiLCJDb3JlIiwiYnlJZCIsInB1c2giLCJmaWx0ZXIiLCJvSW5uZXJDb250cm9sIiwiZ2V0VmlzaWJsZSIsImZpbHRlckNvbnRyb2wiLCJzU3VwcG9ydGVkQ2xhc3MiLCJJY29uVGFiRmlsdGVyIiwiZ2V0TWV0YWRhdGEiLCJnZXROYW1lIiwib1ZpZXciLCJDb21tb25VdGlscyIsImdldFRhcmdldFZpZXciLCJnZXRDb250cm9sbGVyIiwib0ZpbHRlckNvbmRpdGlvbnMiLCJzUmVmcmVzaENhdXNlIiwib25WaWV3TmVlZHNSZWZyZXNoIiwiZmlsdGVyQ29uZGl0aW9ucyIsImN1cnJlbnRUYWJJZCIsInJlZnJlc2hDYXVzZSIsInRhYmxlRXZlbnQiLCJldmVudE1hY3JvQVBJIiwidGFyZ2V0S2V5Iiwib0ljb25UYWJGaWx0ZXIiLCJnZXRDb3VudHMiLCJjb3VudHNPdXREYXRlZCIsInNldENvdW50IiwidGhlbiIsImlDb3VudCIsImNhdGNoIiwib0Vycm9yIiwiTG9nIiwiZXJyb3IiLCJiUmVxdWVzdElmTm90SW5pdGlhbGl6ZWQiLCJiSXNTZWxlY3RlZEtleSIsInNBY3Rpb24iLCJSZXN1bWUiLCJTdXNwZW5kIiwicHJvcGVydGllcyIsInNUZXh0IiwiYUlnbm9yZWRGaWVsZHMiLCJBcnJheSIsImlzQXJyYXkiLCJsZW5ndGgiLCJhSWdub3JlZExhYmVscyIsIk1lc3NhZ2VTdHJpcCIsImdldExhYmVscyIsImdldFBhcmFtZXRlciIsIkNvbnRyb2wiXSwic291cmNlUm9vdCI6Ii4iLCJzb3VyY2VzIjpbIk11bHRpcGxlTW9kZUNvbnRyb2wudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IExvZyBmcm9tIFwic2FwL2Jhc2UvTG9nXCI7XG5pbXBvcnQgQ29tbW9uVXRpbHMgZnJvbSBcInNhcC9mZS9jb3JlL0NvbW1vblV0aWxzXCI7XG5pbXBvcnQgdHlwZSBGaWx0ZXJCYXIgZnJvbSBcInNhcC9mZS9jb3JlL2NvbnRyb2xzL0ZpbHRlckJhclwiO1xuaW1wb3J0ICogYXMgTWV0YU1vZGVsQ29udmVydGVyIGZyb20gXCJzYXAvZmUvY29yZS9jb252ZXJ0ZXJzL01ldGFNb2RlbENvbnZlcnRlclwiO1xuaW1wb3J0IHsgYWdncmVnYXRpb24sIGFzc29jaWF0aW9uLCBkZWZpbmVVSTVDbGFzcywgZXZlbnQsIHByb3BlcnR5IH0gZnJvbSBcInNhcC9mZS9jb3JlL2hlbHBlcnMvQ2xhc3NTdXBwb3J0XCI7XG5pbXBvcnQgTWVzc2FnZVN0cmlwIGZyb20gXCJzYXAvZmUvY29yZS9oZWxwZXJzL01lc3NhZ2VTdHJpcFwiO1xuaW1wb3J0IHsgZ2V0UmVzb3VyY2VNb2RlbCB9IGZyb20gXCJzYXAvZmUvY29yZS9oZWxwZXJzL1Jlc291cmNlTW9kZWxIZWxwZXJcIjtcbmltcG9ydCB0eXBlIE1hY3JvQVBJIGZyb20gXCJzYXAvZmUvbWFjcm9zL01hY3JvQVBJXCI7XG5pbXBvcnQgdHlwZSBJY29uVGFiQmFyIGZyb20gXCJzYXAvbS9JY29uVGFiQmFyXCI7XG5pbXBvcnQgSWNvblRhYkZpbHRlciBmcm9tIFwic2FwL20vSWNvblRhYkZpbHRlclwiO1xuaW1wb3J0IHR5cGUgQ29yZUV2ZW50IGZyb20gXCJzYXAvdWkvYmFzZS9FdmVudFwiO1xuaW1wb3J0IENvbnRyb2wgZnJvbSBcInNhcC91aS9jb3JlL0NvbnRyb2xcIjtcbmltcG9ydCBDb3JlIGZyb20gXCJzYXAvdWkvY29yZS9Db3JlXCI7XG5pbXBvcnQgdHlwZSBSZW5kZXJNYW5hZ2VyIGZyb20gXCJzYXAvdWkvY29yZS9SZW5kZXJNYW5hZ2VyXCI7XG5pbXBvcnQgQ29udHJvbFBlcnNvbmFsaXphdGlvbldyaXRlQVBJIGZyb20gXCJzYXAvdWkvZmwvd3JpdGUvYXBpL0NvbnRyb2xQZXJzb25hbGl6YXRpb25Xcml0ZUFQSVwiO1xuaW1wb3J0IEpTT05Nb2RlbCBmcm9tIFwic2FwL3VpL21vZGVsL2pzb24vSlNPTk1vZGVsXCI7XG5pbXBvcnQgdHlwZSBNb2RlbCBmcm9tIFwic2FwL3VpL21vZGVsL01vZGVsXCI7XG5cbmV4cG9ydCB0eXBlIElubmVyQ29udHJvbFR5cGUgPSBNYWNyb0FQSSAmXG5cdFBhcnRpYWw8e1xuXHRcdHJlc3VtZUJpbmRpbmc6IEZ1bmN0aW9uO1xuXHRcdHN1c3BlbmRCaW5kaW5nOiBGdW5jdGlvbjtcblx0XHRnZXRDb3VudHM6IEZ1bmN0aW9uO1xuXHRcdHJlZnJlc2hOb3RBcHBsaWNhYmxlRmllbGRzOiBGdW5jdGlvbjtcblx0XHRpbnZhbGlkYXRlQ29udGVudDogRnVuY3Rpb247XG5cdFx0Z2V0Q29udGVudDogRnVuY3Rpb247XG5cdH0+O1xuXG50eXBlIE1lc3NhZ2VTdHJpcFByb3BlcnRpZXMgPSB7XG5cdGVudGl0eVR5cGVQYXRoOiBzdHJpbmc7XG5cdGlnbm9yZWRGaWVsZHM6IGFueVtdO1xuXHR0aXRsZTogc3RyaW5nO1xufTtcblxuZW51bSBCaW5kaW5nQWN0aW9uIHtcblx0U3VzcGVuZCA9IFwic3VzcGVuZEJpbmRpbmdcIixcblx0UmVzdW1lID0gXCJyZXN1bWVCaW5kaW5nXCJcbn1cblxuQGRlZmluZVVJNUNsYXNzKFwic2FwLmZlLnRlbXBsYXRlcy5MaXN0UmVwb3J0LmNvbnRyb2xzLk11bHRpcGxlTW9kZUNvbnRyb2xcIilcbmNsYXNzIE11bHRpcGxlTW9kZUNvbnRyb2wgZXh0ZW5kcyBDb250cm9sIHtcblx0QHByb3BlcnR5KHsgdHlwZTogXCJib29sZWFuXCIgfSlcblx0c2hvd0NvdW50cyE6IGJvb2xlYW47XG5cblx0QHByb3BlcnR5KHsgdHlwZTogXCJib29sZWFuXCIsIGRlZmF1bHRWYWx1ZTogZmFsc2UgfSlcblx0ZnJlZXplQ29udGVudCE6IGJvb2xlYW47XG5cblx0QHByb3BlcnR5KHsgdHlwZTogXCJib29sZWFuXCIsIGRlZmF1bHRWYWx1ZTogZmFsc2UgfSlcblx0Y291bnRzT3V0RGF0ZWQhOiBib29sZWFuO1xuXG5cdEBhZ2dyZWdhdGlvbih7IHR5cGU6IFwic2FwLm0uSWNvblRhYkJhclwiLCBtdWx0aXBsZTogZmFsc2UsIGlzRGVmYXVsdDogdHJ1ZSB9KVxuXHRjb250ZW50ITogSWNvblRhYkJhcjtcblxuXHRAYXNzb2NpYXRpb24oeyB0eXBlOiBcInNhcC51aS5jb3JlLkNvbnRyb2xcIiwgbXVsdGlwbGU6IHRydWUgfSlcblx0aW5uZXJDb250cm9scyE6IHN0cmluZ1tdO1xuXG5cdEBhc3NvY2lhdGlvbih7IHR5cGU6IFwic2FwLmZlLmNvcmUuY29udHJvbHMuRmlsdGVyQmFyXCIsIG11bHRpcGxlOiBmYWxzZSB9KVxuXHRmaWx0ZXJDb250cm9sITogc3RyaW5nO1xuXG5cdEBldmVudCgpXG5cdHNlbGVjdCE6IEZ1bmN0aW9uO1xuXG5cdG9uQmVmb3JlUmVuZGVyaW5nKCkge1xuXHRcdHRoaXMuZ2V0VGFic01vZGVsKCk7IC8vIEdlbmVyYXRlIHRoZSBtb2RlbCB3aGljaCBpcyBtYW5kYXRvcnkgZm9yIHNvbWUgYmluZGluZ3NcblxuXHRcdGNvbnN0IG9GaWx0ZXJDb250cm9sID0gdGhpcy5fZ2V0RmlsdGVyQ29udHJvbCgpO1xuXHRcdGlmICghb0ZpbHRlckNvbnRyb2wpIHtcblx0XHRcdC8vIEluIGNhc2UgdGhlcmUncyBubyBmaWx0ZXJiYXIsIHdlIGhhdmUgdG8gdXBkYXRlIHRoZSBjb3VudHMgaW4gdGhlIHRhYnMgaW1tZWRpYXRlbHlcblx0XHRcdHRoaXMuc2V0Q291bnRzT3V0RGF0ZWQodHJ1ZSk7XG5cdFx0fVxuXHRcdGNvbnN0IG9GaWx0ZXJCYXJBUEkgPSBvRmlsdGVyQ29udHJvbD8uZ2V0UGFyZW50KCk7XG5cdFx0dGhpcy5nZXRBbGxJbm5lckNvbnRyb2xzKCkuZm9yRWFjaCgob01hY3JvQVBJKSA9PiB7XG5cdFx0XHRpZiAodGhpcy5zaG93Q291bnRzKSB7XG5cdFx0XHRcdG9NYWNyb0FQSS5hdHRhY2hFdmVudChcImludGVybmFsRGF0YVJlcXVlc3RlZFwiLCB0aGlzLl9yZWZyZXNoVGFic0NvdW50LmJpbmQodGhpcykpO1xuXHRcdFx0fVxuXHRcdFx0b01hY3JvQVBJLnN1c3BlbmRCaW5kaW5nPy4oKTtcblx0XHR9KTtcblx0XHRpZiAob0ZpbHRlckJhckFQSSkge1xuXHRcdFx0b0ZpbHRlckJhckFQSS5hdHRhY2hFdmVudChcImludGVybmFsU2VhcmNoXCIsIHRoaXMuX29uU2VhcmNoLmJpbmQodGhpcykpO1xuXHRcdFx0b0ZpbHRlckJhckFQSS5hdHRhY2hFdmVudChcImludGVybmFsRmlsdGVyQ2hhbmdlZFwiLCB0aGlzLl9vbkZpbHRlckNoYW5nZWQuYmluZCh0aGlzKSk7XG5cdFx0fVxuXHR9XG5cblx0b25BZnRlclJlbmRlcmluZygpIHtcblx0XHR0aGlzLmdldFNlbGVjdGVkSW5uZXJDb250cm9sKCk/LnJlc3VtZUJpbmRpbmc/LighdGhpcy5nZXRQcm9wZXJ0eShcImZyZWV6ZUNvbnRlbnRcIikpO1xuXHR9XG5cblx0c3RhdGljIHJlbmRlcihvUm06IFJlbmRlck1hbmFnZXIsIG9Db250cm9sOiBNdWx0aXBsZU1vZGVDb250cm9sKSB7XG5cdFx0b1JtLnJlbmRlckNvbnRyb2wob0NvbnRyb2wuY29udGVudCk7XG5cdH1cblxuXHQvKipcblx0ICogR2V0cyB0aGUgbW9kZWwgY29udGFpbmluZyBpbmZvcm1hdGlvbiByZWxhdGVkIHRvIHRoZSBJY29uVGFiRmlsdGVycy5cblx0ICpcblx0ICogQHJldHVybnMgVGhlIG1vZGVsXG5cdCAqL1xuXHRnZXRUYWJzTW9kZWwoKTogTW9kZWwgfCB1bmRlZmluZWQge1xuXHRcdGNvbnN0IHNUYWJzTW9kZWwgPSBcInRhYnNJbnRlcm5hbFwiO1xuXHRcdGNvbnN0IG9Db250ZW50ID0gdGhpcy5jb250ZW50O1xuXHRcdGlmICghb0NvbnRlbnQpIHtcblx0XHRcdHJldHVybiB1bmRlZmluZWQ7XG5cdFx0fVxuXHRcdGxldCBvTW9kZWwgPSBvQ29udGVudC5nZXRNb2RlbChzVGFic01vZGVsKTtcblx0XHRpZiAoIW9Nb2RlbCkge1xuXHRcdFx0b01vZGVsID0gbmV3IEpTT05Nb2RlbCh7fSk7XG5cdFx0XHRvQ29udGVudC5zZXRNb2RlbChvTW9kZWwsIHNUYWJzTW9kZWwpO1xuXHRcdH1cblx0XHRyZXR1cm4gb01vZGVsO1xuXHR9XG5cblx0LyoqXG5cdCAqIEdldHMgdGhlIGlubmVyIGNvbnRyb2wgb2YgdGhlIGRpc3BsYXllZCB0YWIuXG5cdCAqXG5cdCAqIEByZXR1cm5zIFRoZSBjb250cm9sXG5cdCAqL1xuXHRnZXRTZWxlY3RlZElubmVyQ29udHJvbCgpOiBJbm5lckNvbnRyb2xUeXBlIHwgdW5kZWZpbmVkIHtcblx0XHRjb25zdCBvU2VsZWN0ZWRUYWIgPSB0aGlzLmNvbnRlbnQ/LmdldEl0ZW1zKCkuZmluZCgob0l0ZW0pID0+IChvSXRlbSBhcyBJY29uVGFiRmlsdGVyKS5nZXRLZXkoKSA9PT0gdGhpcy5jb250ZW50LmdldFNlbGVjdGVkS2V5KCkpO1xuXHRcdHJldHVybiBvU2VsZWN0ZWRUYWJcblx0XHRcdD8gdGhpcy5nZXRBbGxJbm5lckNvbnRyb2xzKCkuZmluZCgob01hY3JvQVBJKSA9PiB0aGlzLl9nZXRUYWJGcm9tSW5uZXJDb250cm9sKG9NYWNyb0FQSSkgPT09IG9TZWxlY3RlZFRhYilcblx0XHRcdDogdW5kZWZpbmVkO1xuXHR9XG5cblx0LyoqXG5cdCAqIE1hbmFnZXMgdGhlIGJpbmRpbmcgb2YgYWxsIGlubmVyIGNvbnRyb2xzIHdoZW4gdGhlIHNlbGVjdGVkIEljb25UYWJGaWx0ZXIgaXMgY2hhbmdlZC5cblx0ICpcblx0ICogQHBhcmFtIG9FdmVudCBFdmVudCBmaXJlZCBieSB0aGUgSWNvblRhYkJhclxuXHQgKi9cblx0c3RhdGljIGhhbmRsZVRhYkNoYW5nZShvRXZlbnQ6IGFueSk6IHZvaWQge1xuXHRcdGNvbnN0IG9JY29uVGFiQmFyID0gb0V2ZW50LmdldFNvdXJjZSgpO1xuXHRcdGNvbnN0IG9NdWx0aUNvbnRyb2wgPSBvSWNvblRhYkJhci5nZXRQYXJlbnQoKTtcblxuXHRcdGNvbnN0IG1QYXJhbWV0ZXJzID0gb0V2ZW50LmdldFBhcmFtZXRlcnMoKTtcblx0XHRvTXVsdGlDb250cm9sLl9zZXRJbm5lckJpbmRpbmcodHJ1ZSk7XG5cdFx0Y29uc3Qgc1ByZXZpb3VzU2VsZWN0ZWRLZXkgPSBtUGFyYW1ldGVycz8ucHJldmlvdXNLZXk7XG5cdFx0Y29uc3Qgc1NlbGVjdGVkS2V5ID0gbVBhcmFtZXRlcnM/LnNlbGVjdGVkS2V5O1xuXG5cdFx0aWYgKHNTZWxlY3RlZEtleSAmJiBzUHJldmlvdXNTZWxlY3RlZEtleSAhPT0gc1NlbGVjdGVkS2V5KSB7XG5cdFx0XHRjb25zdCBvRmlsdGVyQmFyID0gb011bHRpQ29udHJvbC5fZ2V0RmlsdGVyQ29udHJvbCgpO1xuXHRcdFx0aWYgKG9GaWx0ZXJCYXIgJiYgIW9NdWx0aUNvbnRyb2wuZ2V0UHJvcGVydHkoXCJmcmVlemVDb250ZW50XCIpKSB7XG5cdFx0XHRcdGlmICghb011bHRpQ29udHJvbC5nZXRTZWxlY3RlZElubmVyQ29udHJvbCgpKSB7XG5cdFx0XHRcdFx0Ly9jdXN0b20gdGFiXG5cdFx0XHRcdFx0b011bHRpQ29udHJvbC5fcmVmcmVzaEN1c3RvbVZpZXcob0ZpbHRlckJhci5nZXRGaWx0ZXJDb25kaXRpb25zKCksIFwidGFiQ2hhbmdlZFwiKTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdFx0Q29udHJvbFBlcnNvbmFsaXphdGlvbldyaXRlQVBJLmFkZCh7XG5cdFx0XHRcdGNoYW5nZXM6IFtcblx0XHRcdFx0XHR7XG5cdFx0XHRcdFx0XHRjaGFuZ2VTcGVjaWZpY0RhdGE6IHtcblx0XHRcdFx0XHRcdFx0Y2hhbmdlVHlwZTogXCJzZWxlY3RJY29uVGFiQmFyRmlsdGVyXCIsXG5cdFx0XHRcdFx0XHRcdGNvbnRlbnQ6IHtcblx0XHRcdFx0XHRcdFx0XHRzZWxlY3RlZEtleTogc1NlbGVjdGVkS2V5LFxuXHRcdFx0XHRcdFx0XHRcdHByZXZpb3VzU2VsZWN0ZWRLZXk6IHNQcmV2aW91c1NlbGVjdGVkS2V5XG5cdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdH0sXG5cdFx0XHRcdFx0XHRzZWxlY3RvckVsZW1lbnQ6IG9JY29uVGFiQmFyXG5cdFx0XHRcdFx0fVxuXHRcdFx0XHRdXG5cdFx0XHR9KTtcblx0XHR9XG5cblx0XHRvTXVsdGlDb250cm9sLl9nZXRWaWV3Q29udHJvbGxlcigpPy5nZXRFeHRlbnNpb25BUEkoKT8udXBkYXRlQXBwU3RhdGUoKTtcblxuXHRcdG9NdWx0aUNvbnRyb2wuZmlyZUV2ZW50KFwic2VsZWN0XCIsIHtcblx0XHRcdGljb25UYWJCYXI6IG9JY29uVGFiQmFyLFxuXHRcdFx0c2VsZWN0ZWRLZXk6IHNTZWxlY3RlZEtleSxcblx0XHRcdHByZXZpb3VzS2V5OiBzUHJldmlvdXNTZWxlY3RlZEtleVxuXHRcdH0pO1xuXHR9XG5cblx0LyoqXG5cdCAqIEludmFsaWRhdGVzIHRoZSBjb250ZW50IG9mIGFsbCBpbm5lciBjb250cm9scy5cblx0ICovXG5cdGludmFsaWRhdGVDb250ZW50KCkge1xuXHRcdHRoaXMuc2V0Q291bnRzT3V0RGF0ZWQodHJ1ZSk7XG5cdFx0dGhpcy5nZXRBbGxJbm5lckNvbnRyb2xzKCkuZm9yRWFjaCgob01hY3JvQVBJKSA9PiB7XG5cdFx0XHRvTWFjcm9BUEkuaW52YWxpZGF0ZUNvbnRlbnQ/LigpO1xuXHRcdH0pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFNldHMgdGhlIGNvdW50cyB0byBvdXQgb2YgZGF0ZSBvciB1cCB0byBkYXRlXG5cdCAqIElmIHRoZSBjb3VudHMgYXJlIHNldCB0byBcIm91dCBvZiBkYXRlXCIgYW5kIHRoZSBzZWxlY3RlZCBJY29uVGFiRmlsdGVyIGRvZXNuJ3QgY29udGFpbiBhbiBpbm5lciBjb250cm9sIGFsbCBpbm5lciBjb250cm9scyBhcmUgcmVxdWVzdGVkIHRvIGdldCB0aGUgbmV3IGNvdW50cy5cblx0ICpcblx0ICogQHBhcmFtIGJWYWx1ZSBGcmVlemUgb3Igbm90IHRoZSBjb250cm9sXG5cdCAqL1xuXHRzZXRDb3VudHNPdXREYXRlZChiVmFsdWUgPSB0cnVlKSB7XG5cdFx0dGhpcy5zZXRQcm9wZXJ0eShcImNvdW50c091dERhdGVkXCIsIGJWYWx1ZSk7XG5cdFx0Ly8gaWYgdGhlIGN1cnJlbnQgdGFiIGlzIG5vdCBjb25maWd1cmVkIHdpdGggbm8gaW5uZXIgQ29udHJvbFxuXHRcdC8vIHRoZSB0YWIgY291bnRzIG11c3QgYmUgbWFudWFsbHkgcmVmcmVzaGVkIHNpbmNlIG5vIE1hY3JvIEFQSSB3aWxsIHNlbnQgZXZlbnQgaW50ZXJuYWxEYXRhUmVxdWVzdGVkXG5cdFx0aWYgKGJWYWx1ZSAmJiAhdGhpcy5nZXRTZWxlY3RlZElubmVyQ29udHJvbCgpKSB7XG5cdFx0XHR0aGlzLl9yZWZyZXNoVGFic0NvdW50KCk7XG5cdFx0fVxuXHR9XG5cblx0LyoqXG5cdCAqIEZyZWV6ZXMgdGhlIGNvbnRlbnQgOlxuXHQgKiAgLSBjb250ZW50IGlzIGZyb3plbjogdGhlIGJpbmRpbmcgb2YgdGhlIGlubmVyIGNvbnRyb2xzIGFyZSBzdXNwZW5kZWQuXG5cdCAqICAtIGNvbnRlbnQgaXMgdW5mcm96ZW46IHRoZSBiaW5kaW5nIG9mIGlubmVyIGNvbnRyb2wgcmVsYXRlZCB0byB0aGUgc2VsZWN0ZWQgSWNvblRhYkZpbHRlciBpcyByZXN1bWVkLlxuXHQgKlxuXHQgKiBAcGFyYW0gYlZhbHVlIEZyZWV6ZSBvciBub3QgdGhlIGNvbnRyb2xcblx0ICovXG5cdHNldEZyZWV6ZUNvbnRlbnQoYlZhbHVlOiBib29sZWFuKSB7XG5cdFx0dGhpcy5zZXRQcm9wZXJ0eShcImZyZWV6ZUNvbnRlbnRcIiwgYlZhbHVlKTtcblx0XHR0aGlzLl9zZXRJbm5lckJpbmRpbmcoKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBVcGRhdGVzIHRoZSBpbnRlcm5hbCBtb2RlbCB3aXRoIHRoZSBwcm9wZXJ0aWVzIHRoYXQgYXJlIG5vdCBhcHBsaWNhYmxlIG9uIGVhY2ggSWNvblRhYkZpbHRlciAoY29udGFpbmluZyBpbm5lciBjb250cm9sKSBhY2NvcmRpbmcgdG8gdGhlIGVudGl0eVR5cGUgb2YgdGhlIGZpbHRlciBjb250cm9sLlxuXHQgKlxuXHQgKi9cblx0X3VwZGF0ZU11bHRpVGFiTm90QXBwbGljYWJsZUZpZWxkcygpIHtcblx0XHRjb25zdCB0YWJzTW9kZWwgPSB0aGlzLmdldFRhYnNNb2RlbCgpO1xuXHRcdGNvbnN0IG9GaWx0ZXJDb250cm9sID0gdGhpcy5fZ2V0RmlsdGVyQ29udHJvbCgpIGFzIENvbnRyb2w7XG5cdFx0aWYgKHRhYnNNb2RlbCAmJiBvRmlsdGVyQ29udHJvbCkge1xuXHRcdFx0Y29uc3QgcmVzdWx0czogYW55ID0ge307XG5cdFx0XHR0aGlzLmdldEFsbElubmVyQ29udHJvbHMoKS5mb3JFYWNoKChvTWFjcm9BUEkpID0+IHtcblx0XHRcdFx0Y29uc3Qgb1RhYiA9IHRoaXMuX2dldFRhYkZyb21Jbm5lckNvbnRyb2wob01hY3JvQVBJKTtcblx0XHRcdFx0aWYgKG9UYWIpIHtcblx0XHRcdFx0XHRjb25zdCBzVGFiSWQgPSBvVGFiLmdldEtleSgpO1xuXHRcdFx0XHRcdGNvbnN0IG1JZ25vcmVkRmllbGRzID0gb01hY3JvQVBJLnJlZnJlc2hOb3RBcHBsaWNhYmxlRmllbGRzPy4ob0ZpbHRlckNvbnRyb2wpIHx8IFtdO1xuXHRcdFx0XHRcdHJlc3VsdHNbc1RhYklkXSA9IHtcblx0XHRcdFx0XHRcdG5vdEFwcGxpY2FibGU6IHtcblx0XHRcdFx0XHRcdFx0ZmllbGRzOiBtSWdub3JlZEZpZWxkcyxcblx0XHRcdFx0XHRcdFx0dGl0bGU6IHRoaXMuX3NldFRhYk1lc3NhZ2VTdHJpcCh7XG5cdFx0XHRcdFx0XHRcdFx0ZW50aXR5VHlwZVBhdGg6IG9GaWx0ZXJDb250cm9sLmRhdGEoXCJlbnRpdHlUeXBlXCIpLFxuXHRcdFx0XHRcdFx0XHRcdGlnbm9yZWRGaWVsZHM6IG1JZ25vcmVkRmllbGRzLFxuXHRcdFx0XHRcdFx0XHRcdHRpdGxlOiBvVGFiLmdldFRleHQoKVxuXHRcdFx0XHRcdFx0XHR9KVxuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdH07XG5cdFx0XHRcdFx0aWYgKG9NYWNyb0FQSSAmJiBvTWFjcm9BUEkuaXNBKFwic2FwLmZlLm1hY3Jvcy5jaGFydC5DaGFydEFQSVwiKSkge1xuXHRcdFx0XHRcdFx0cmVzdWx0c1tzVGFiSWRdID0gdGhpcy5jaGVja05vbkZpbHRlcmFibGVFbnRpdHlTZXQob01hY3JvQVBJLCBzVGFiSWQsIHJlc3VsdHMpO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fSk7XG5cdFx0XHQodGFic01vZGVsIGFzIGFueSkuc2V0RGF0YShyZXN1bHRzKTtcblx0XHR9XG5cdH1cblxuXHQvKipcblx0ICogTW9kaWZpZXMgdGhlIG1lc3NhZ2VzdHJpcCBtZXNzYWdlIGJhc2VkIG9uIGVudGl0eSBzZXQgaXMgZmlsZXJhYmxlIG9yIG5vdC5cblx0ICpcblx0ICogQHBhcmFtIG9NYWNyb0FQSSBNYWNybyBjaGFydCBhcGlcblx0ICogQHBhcmFtIHNUYWJJZCBUYWIga2V5IElEXG5cdCAqIEBwYXJhbSByZXN1bHRzIFNob3VsZCBjb250YWluIGZpZWxkcyBhbmQgdGl0bGVcblx0ICogQHJldHVybnMgQW4gb2JqZWN0IG9mIG1vZGlmaWVkIGZpZWxkcyBhbmQgdGl0bGVcblx0ICovXG5cdGNoZWNrTm9uRmlsdGVyYWJsZUVudGl0eVNldChvTWFjcm9BUEk6IElubmVyQ29udHJvbFR5cGUsIHNUYWJJZDogc3RyaW5nLCByZXN1bHRzOiBhbnkpIHtcblx0XHRjb25zdCByZXNvdXJjZU1vZGVsID0gZ2V0UmVzb3VyY2VNb2RlbChvTWFjcm9BUEkpO1xuXHRcdGNvbnN0IG9DaGFydCA9IG9NYWNyb0FQST8uZ2V0Q29udGVudCA/IG9NYWNyb0FQSS5nZXRDb250ZW50KCkgOiB1bmRlZmluZWQ7XG5cdFx0Y29uc3QgYkVudGl0eVNldEZpbGVyYWJsZSA9XG5cdFx0XHRvQ2hhcnQgJiZcblx0XHRcdE1ldGFNb2RlbENvbnZlcnRlci5nZXRJbnZvbHZlZERhdGFNb2RlbE9iamVjdHMoXG5cdFx0XHRcdG9DaGFydFxuXHRcdFx0XHRcdC5nZXRNb2RlbCgpXG5cdFx0XHRcdFx0LmdldE1ldGFNb2RlbCgpXG5cdFx0XHRcdFx0LmdldENvbnRleHQoYCR7b0NoYXJ0LmRhdGEoXCJ0YXJnZXRDb2xsZWN0aW9uUGF0aFwiKX1gKVxuXHRcdFx0KT8udGFyZ2V0T2JqZWN0Py5hbm5vdGF0aW9ucz8uQ2FwYWJpbGl0aWVzPy5GaWx0ZXJSZXN0cmljdGlvbnM/LkZpbHRlcmFibGU7XG5cdFx0aWYgKGJFbnRpdHlTZXRGaWxlcmFibGUgIT09IHVuZGVmaW5lZCAmJiAhYkVudGl0eVNldEZpbGVyYWJsZSkge1xuXHRcdFx0aWYgKHJlc3VsdHNbc1RhYklkXS5ub3RBcHBsaWNhYmxlLmZpZWxkcy5pbmRleE9mKFwiJHNlYXJjaFwiKSA+IC0xKSB7XG5cdFx0XHRcdHJlc3VsdHNbc1RhYklkXS5ub3RBcHBsaWNhYmxlLnRpdGxlICs9IFwiIFwiICsgcmVzb3VyY2VNb2RlbC5nZXRUZXh0KFwiQ19MUl9NVUxUSVZJWl9DSEFSVF9NVUxUSV9OT05fRklMVEVSQUJMRVwiKTtcblx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdHJlc3VsdHNbc1RhYklkXS5ub3RBcHBsaWNhYmxlLmZpZWxkcyA9IFtcIm5vbkZpbHRlcmFibGVcIl07XG5cdFx0XHRcdHJlc3VsdHNbc1RhYklkXS5ub3RBcHBsaWNhYmxlLnRpdGxlID0gcmVzb3VyY2VNb2RlbC5nZXRUZXh0KFwiQ19MUl9NVUxUSVZJWl9DSEFSVF9NVUxUSV9OT05fRklMVEVSQUJMRVwiKTtcblx0XHRcdH1cblx0XHR9XG5cdFx0cmV0dXJuIHJlc3VsdHNbc1RhYklkXTtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZXRzIHRoZSBpbm5lciBjb250cm9scy5cblx0ICpcblx0ICogQHBhcmFtIGJPbmx5Rm9yVmlzaWJsZVRhYiBTaG91bGQgZGlzcGxheSBvbmx5IHRoZSB2aXNpYmxlIGNvbnRyb2xzXG5cdCAqIEByZXR1cm5zIEFuIGFycmF5IG9mIGNvbnRyb2xzXG5cdCAqL1xuXHRnZXRBbGxJbm5lckNvbnRyb2xzKGJPbmx5Rm9yVmlzaWJsZVRhYiA9IGZhbHNlKTogSW5uZXJDb250cm9sVHlwZVtdIHtcblx0XHRyZXR1cm4gKFxuXHRcdFx0dGhpcy5pbm5lckNvbnRyb2xzLnJlZHVjZSgoYUlubmVyQ29udHJvbHM6IElubmVyQ29udHJvbFR5cGVbXSwgc0lubmVyQ29udHJvbDogc3RyaW5nKSA9PiB7XG5cdFx0XHRcdGNvbnN0IG9Db250cm9sID0gQ29yZS5ieUlkKHNJbm5lckNvbnRyb2wpIGFzIElubmVyQ29udHJvbFR5cGU7XG5cdFx0XHRcdGlmIChvQ29udHJvbCkge1xuXHRcdFx0XHRcdGFJbm5lckNvbnRyb2xzLnB1c2gob0NvbnRyb2wpO1xuXHRcdFx0XHR9XG5cdFx0XHRcdHJldHVybiBhSW5uZXJDb250cm9scy5maWx0ZXIoXG5cdFx0XHRcdFx0KG9Jbm5lckNvbnRyb2wpID0+ICFiT25seUZvclZpc2libGVUYWIgfHwgdGhpcy5fZ2V0VGFiRnJvbUlubmVyQ29udHJvbChvSW5uZXJDb250cm9sKT8uZ2V0VmlzaWJsZSgpXG5cdFx0XHRcdCk7XG5cdFx0XHR9LCBbXSkgfHwgW11cblx0XHQpO1xuXHR9XG5cblx0X2dldEZpbHRlckNvbnRyb2woKTogRmlsdGVyQmFyIHwgdW5kZWZpbmVkIHtcblx0XHRyZXR1cm4gQ29yZS5ieUlkKHRoaXMuZmlsdGVyQ29udHJvbCkgYXMgRmlsdGVyQmFyIHwgdW5kZWZpbmVkO1xuXHR9XG5cblx0X2dldFRhYkZyb21Jbm5lckNvbnRyb2wob0NvbnRyb2w6IENvbnRyb2wpOiBJY29uVGFiRmlsdGVyIHwgdW5kZWZpbmVkIHtcblx0XHRjb25zdCBzU3VwcG9ydGVkQ2xhc3MgPSBJY29uVGFiRmlsdGVyLmdldE1ldGFkYXRhKCkuZ2V0TmFtZSgpO1xuXHRcdGxldCBvVGFiOiBhbnkgPSBvQ29udHJvbDtcblx0XHRpZiAob1RhYiAmJiAhb1RhYi5pc0Eoc1N1cHBvcnRlZENsYXNzKSAmJiBvVGFiLmdldFBhcmVudCkge1xuXHRcdFx0b1RhYiA9IG9Db250cm9sLmdldFBhcmVudCgpO1xuXHRcdH1cblx0XHRyZXR1cm4gb1RhYiAmJiBvVGFiLmlzQShzU3VwcG9ydGVkQ2xhc3MpID8gKG9UYWIgYXMgSWNvblRhYkZpbHRlcikgOiB1bmRlZmluZWQ7XG5cdH1cblxuXHRfZ2V0Vmlld0NvbnRyb2xsZXIoKSB7XG5cdFx0Y29uc3Qgb1ZpZXcgPSBDb21tb25VdGlscy5nZXRUYXJnZXRWaWV3KHRoaXMpO1xuXHRcdHJldHVybiBvVmlldyAmJiBvVmlldy5nZXRDb250cm9sbGVyKCk7XG5cdH1cblxuXHRfcmVmcmVzaEN1c3RvbVZpZXcob0ZpbHRlckNvbmRpdGlvbnM6IGFueSwgc1JlZnJlc2hDYXVzZTogc3RyaW5nKSB7XG5cdFx0KHRoaXMuX2dldFZpZXdDb250cm9sbGVyKCkgYXMgYW55KT8ub25WaWV3TmVlZHNSZWZyZXNoPy4oe1xuXHRcdFx0ZmlsdGVyQ29uZGl0aW9uczogb0ZpbHRlckNvbmRpdGlvbnMsXG5cdFx0XHRjdXJyZW50VGFiSWQ6IHRoaXMuY29udGVudC5nZXRTZWxlY3RlZEtleSgpLFxuXHRcdFx0cmVmcmVzaENhdXNlOiBzUmVmcmVzaENhdXNlXG5cdFx0fSk7XG5cdH1cblxuXHRfcmVmcmVzaFRhYnNDb3VudCh0YWJsZUV2ZW50PzogQ29yZUV2ZW50KTogdm9pZCB7XG5cdFx0Ly8gSWYgdGhlIHJlZnJlc2ggaXMgdHJpZ2dlcmVkIGJ5IGFuIGV2ZW50IChpbnRlcm5hbERhdGFSZXF1ZXN0ZWQpXG5cdFx0Ly8gd2UgY2Fubm90IHVzZSB0aGUgc2VsZWN0ZWQga2V5IGFzIHJlZmVyZW5jZSBzaW5jZSB0YWJsZSBjYW4gYmUgcmVmcmVzaGVkIGJ5IFNpZGVFZmZlY3RzXG5cdFx0Ly8gc28gdGhlIHRhYmxlIGNvdWxkIGJlIGludG8gYSBkaWZmZXJlbnQgdGFiIC0+IHdlIHVzZSB0aGUgc291cmNlIG9mIHRoZSBldmVudCB0byBmaW5kIHRoZSB0YXJnZXRlZCB0YWJcblx0XHQvLyBJZiBub3QgdHJpZ2dlcmVkIGJ5IGFuIGV2ZW50IC0+IHJlZnJlc2ggYXQgbGVhc3QgdGhlIGNvdW50cyBvZiB0aGUgY3VycmVudCBNYWNyb0FQSVxuXHRcdC8vIEluIGFueSBjYXNlIGlmIHRoZSBjb3VudHMgYXJlIHNldCB0byBPdXRkYXRlZCBmb3IgdGhlIE11bHRpcGxlTW9kZUNvbnRyb2wgYWxsIHRoZSBjb3VudHMgYXJlIHJlZnJlc2hlZFxuXHRcdGNvbnN0IGV2ZW50TWFjcm9BUEkgPSB0YWJsZUV2ZW50Py5nZXRTb3VyY2UoKSBhcyBNYWNyb0FQSTtcblx0XHRjb25zdCB0YXJnZXRLZXkgPSBldmVudE1hY3JvQVBJID8gdGhpcy5fZ2V0VGFiRnJvbUlubmVyQ29udHJvbChldmVudE1hY3JvQVBJKT8uZ2V0S2V5KCkgOiB0aGlzLmNvbnRlbnQ/LmdldFNlbGVjdGVkS2V5KCk7XG5cblx0XHR0aGlzLmdldEFsbElubmVyQ29udHJvbHModHJ1ZSkuZm9yRWFjaCgob01hY3JvQVBJKSA9PiB7XG5cdFx0XHRjb25zdCBvSWNvblRhYkZpbHRlciA9IHRoaXMuX2dldFRhYkZyb21Jbm5lckNvbnRyb2wob01hY3JvQVBJKTtcblx0XHRcdGlmIChvTWFjcm9BUEk/LmdldENvdW50cyAmJiAodGhpcy5jb3VudHNPdXREYXRlZCB8fCB0YXJnZXRLZXkgPT09IG9JY29uVGFiRmlsdGVyPy5nZXRLZXkoKSkpIHtcblx0XHRcdFx0aWYgKG9JY29uVGFiRmlsdGVyICYmIG9JY29uVGFiRmlsdGVyLnNldENvdW50KSB7XG5cdFx0XHRcdFx0b0ljb25UYWJGaWx0ZXIuc2V0Q291bnQoXCIuLi5cIik7XG5cdFx0XHRcdFx0b01hY3JvQVBJXG5cdFx0XHRcdFx0XHQuZ2V0Q291bnRzKClcblx0XHRcdFx0XHRcdC50aGVuKChpQ291bnQ6IHN0cmluZykgPT4gb0ljb25UYWJGaWx0ZXIuc2V0Q291bnQoaUNvdW50IHx8IFwiMFwiKSlcblx0XHRcdFx0XHRcdC5jYXRjaChmdW5jdGlvbiAob0Vycm9yOiBhbnkpIHtcblx0XHRcdFx0XHRcdFx0TG9nLmVycm9yKFwiRXJyb3Igd2hpbGUgcmVxdWVzdGluZyBDb3VudHMgZm9yIENvbnRyb2xcIiwgb0Vycm9yKTtcblx0XHRcdFx0XHRcdH0pO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fSk7XG5cdFx0dGhpcy5zZXRDb3VudHNPdXREYXRlZChmYWxzZSk7XG5cdH1cblxuXHRfc2V0SW5uZXJCaW5kaW5nKGJSZXF1ZXN0SWZOb3RJbml0aWFsaXplZCA9IGZhbHNlKSB7XG5cdFx0aWYgKHRoaXMuY29udGVudCkge1xuXHRcdFx0dGhpcy5nZXRBbGxJbm5lckNvbnRyb2xzKCkuZm9yRWFjaCgob01hY3JvQVBJKSA9PiB7XG5cdFx0XHRcdGNvbnN0IG9JY29uVGFiRmlsdGVyID0gdGhpcy5fZ2V0VGFiRnJvbUlubmVyQ29udHJvbChvTWFjcm9BUEkpO1xuXHRcdFx0XHRjb25zdCBiSXNTZWxlY3RlZEtleSA9IG9JY29uVGFiRmlsdGVyPy5nZXRLZXkoKSA9PT0gdGhpcy5jb250ZW50LmdldFNlbGVjdGVkS2V5KCk7XG5cdFx0XHRcdGNvbnN0IHNBY3Rpb24gPSBiSXNTZWxlY3RlZEtleSAmJiAhdGhpcy5nZXRQcm9wZXJ0eShcImZyZWV6ZUNvbnRlbnRcIikgPyBCaW5kaW5nQWN0aW9uLlJlc3VtZSA6IEJpbmRpbmdBY3Rpb24uU3VzcGVuZDtcblx0XHRcdFx0b01hY3JvQVBJW3NBY3Rpb25dPy4oc0FjdGlvbiA9PT0gQmluZGluZ0FjdGlvbi5SZXN1bWUgPyBiUmVxdWVzdElmTm90SW5pdGlhbGl6ZWQgJiYgYklzU2VsZWN0ZWRLZXkgOiB1bmRlZmluZWQpO1xuXHRcdFx0fSk7XG5cdFx0fVxuXHR9XG5cblx0X3NldFRhYk1lc3NhZ2VTdHJpcChwcm9wZXJ0aWVzOiBNZXNzYWdlU3RyaXBQcm9wZXJ0aWVzKSB7XG5cdFx0bGV0IHNUZXh0ID0gXCJcIjtcblx0XHRjb25zdCBhSWdub3JlZEZpZWxkcyA9IHByb3BlcnRpZXMuaWdub3JlZEZpZWxkcztcblx0XHRjb25zdCBvRmlsdGVyQ29udHJvbCA9IHRoaXMuX2dldEZpbHRlckNvbnRyb2woKSBhcyBDb250cm9sO1xuXHRcdGlmIChvRmlsdGVyQ29udHJvbCAmJiBBcnJheS5pc0FycmF5KGFJZ25vcmVkRmllbGRzKSAmJiBhSWdub3JlZEZpZWxkcy5sZW5ndGggPiAwICYmIHByb3BlcnRpZXMudGl0bGUpIHtcblx0XHRcdGNvbnN0IGFJZ25vcmVkTGFiZWxzID0gTWVzc2FnZVN0cmlwLmdldExhYmVscyhcblx0XHRcdFx0YUlnbm9yZWRGaWVsZHMsXG5cdFx0XHRcdHByb3BlcnRpZXMuZW50aXR5VHlwZVBhdGgsXG5cdFx0XHRcdG9GaWx0ZXJDb250cm9sLFxuXHRcdFx0XHRnZXRSZXNvdXJjZU1vZGVsKG9GaWx0ZXJDb250cm9sKVxuXHRcdFx0KTtcblx0XHRcdHNUZXh0ID0gTWVzc2FnZVN0cmlwLmdldFRleHQoYUlnbm9yZWRMYWJlbHMsIG9GaWx0ZXJDb250cm9sLCBwcm9wZXJ0aWVzLnRpdGxlKTtcblx0XHRcdHJldHVybiBzVGV4dDtcblx0XHR9XG5cdH1cblxuXHRfb25TZWFyY2gob0V2ZW50OiBDb3JlRXZlbnQ8eyBjb25kaXRpb25zOiB1bmtub3duIH0+KTogdm9pZCB7XG5cdFx0dGhpcy5zZXRDb3VudHNPdXREYXRlZCh0cnVlKTtcblx0XHR0aGlzLnNldEZyZWV6ZUNvbnRlbnQoZmFsc2UpO1xuXHRcdGlmICh0aGlzLmdldFNlbGVjdGVkSW5uZXJDb250cm9sKCkpIHtcblx0XHRcdHRoaXMuX3VwZGF0ZU11bHRpVGFiTm90QXBwbGljYWJsZUZpZWxkcygpO1xuXHRcdH0gZWxzZSB7XG5cdFx0XHQvLyBjdXN0b20gdGFiXG5cdFx0XHR0aGlzLl9yZWZyZXNoQ3VzdG9tVmlldyhvRXZlbnQuZ2V0UGFyYW1ldGVyKFwiY29uZGl0aW9uc1wiKSwgXCJzZWFyY2hcIik7XG5cdFx0fVxuXHR9XG5cblx0X29uRmlsdGVyQ2hhbmdlZChvRXZlbnQ6IENvcmVFdmVudDx7IGNvbmRpdGlvbnNCYXNlZDogYm9vbGVhbiB9Pik6IHZvaWQge1xuXHRcdGlmIChvRXZlbnQuZ2V0UGFyYW1ldGVyKFwiY29uZGl0aW9uc0Jhc2VkXCIpKSB7XG5cdFx0XHR0aGlzLnNldEZyZWV6ZUNvbnRlbnQodHJ1ZSk7XG5cdFx0fVxuXHR9XG59XG5cbmV4cG9ydCBkZWZh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
|
|
438
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJCaW5kaW5nQWN0aW9uIiwiTXVsdGlwbGVNb2RlQ29udHJvbCIsImRlZmluZVVJNUNsYXNzIiwicHJvcGVydHkiLCJ0eXBlIiwiZGVmYXVsdFZhbHVlIiwiYWdncmVnYXRpb24iLCJtdWx0aXBsZSIsImlzRGVmYXVsdCIsImFzc29jaWF0aW9uIiwiZXZlbnQiLCJvbkJlZm9yZVJlbmRlcmluZyIsImdldFRhYnNNb2RlbCIsIm9GaWx0ZXJDb250cm9sIiwiX2dldEZpbHRlckNvbnRyb2wiLCJzZXRDb3VudHNPdXREYXRlZCIsIm9GaWx0ZXJCYXJBUEkiLCJnZXRQYXJlbnQiLCJnZXRBbGxJbm5lckNvbnRyb2xzIiwiZm9yRWFjaCIsIm9NYWNyb0FQSSIsInNob3dDb3VudHMiLCJhdHRhY2hFdmVudCIsIl9yZWZyZXNoVGFic0NvdW50IiwiYmluZCIsInN1c3BlbmRCaW5kaW5nIiwiX29uU2VhcmNoIiwiX29uRmlsdGVyQ2hhbmdlZCIsIm9uQWZ0ZXJSZW5kZXJpbmciLCJnZXRTZWxlY3RlZElubmVyQ29udHJvbCIsInJlc3VtZUJpbmRpbmciLCJnZXRQcm9wZXJ0eSIsInNldFZpc2libGVPdmVycmlkZGVuIiwic2V0UHJvcGVydHkiLCJtYWNyb0FQSSIsImljb25UYWJGaWx0ZXIiLCJfZ2V0VGFiRnJvbUlubmVyQ29udHJvbCIsIm9yaWdpblNldFZpc2libGUiLCJzZXRWaXNpYmxlIiwidmFsdWUiLCJnZXRWaXNpYmxlIiwicmVmcmVzaFRhYkNvdW50IiwicmVuZGVyIiwib1JtIiwib0NvbnRyb2wiLCJyZW5kZXJDb250cm9sIiwiY29udGVudCIsInNUYWJzTW9kZWwiLCJvQ29udGVudCIsInVuZGVmaW5lZCIsIm9Nb2RlbCIsImdldE1vZGVsIiwiSlNPTk1vZGVsIiwic2V0TW9kZWwiLCJvU2VsZWN0ZWRUYWIiLCJnZXRJdGVtcyIsImZpbmQiLCJvSXRlbSIsImdldEtleSIsImdldFNlbGVjdGVkS2V5IiwiaGFuZGxlVGFiQ2hhbmdlIiwib0V2ZW50Iiwib0ljb25UYWJCYXIiLCJnZXRTb3VyY2UiLCJvTXVsdGlDb250cm9sIiwibVBhcmFtZXRlcnMiLCJnZXRQYXJhbWV0ZXJzIiwiX3NldElubmVyQmluZGluZyIsInNQcmV2aW91c1NlbGVjdGVkS2V5IiwicHJldmlvdXNLZXkiLCJzU2VsZWN0ZWRLZXkiLCJzZWxlY3RlZEtleSIsIm9GaWx0ZXJCYXIiLCJfcmVmcmVzaEN1c3RvbVZpZXciLCJnZXRGaWx0ZXJDb25kaXRpb25zIiwiQ29udHJvbFBlcnNvbmFsaXphdGlvbldyaXRlQVBJIiwiYWRkIiwiY2hhbmdlcyIsImNoYW5nZVNwZWNpZmljRGF0YSIsImNoYW5nZVR5cGUiLCJwcmV2aW91c1NlbGVjdGVkS2V5Iiwic2VsZWN0b3JFbGVtZW50IiwiX2dldFZpZXdDb250cm9sbGVyIiwiZ2V0RXh0ZW5zaW9uQVBJIiwidXBkYXRlQXBwU3RhdGUiLCJmaXJlRXZlbnQiLCJpY29uVGFiQmFyIiwiaW52YWxpZGF0ZUNvbnRlbnQiLCJiVmFsdWUiLCJzZXRGcmVlemVDb250ZW50IiwiX3VwZGF0ZU11bHRpVGFiTm90QXBwbGljYWJsZUZpZWxkcyIsInRhYnNNb2RlbCIsInJlc3VsdHMiLCJvVGFiIiwic1RhYklkIiwibUlnbm9yZWRGaWVsZHMiLCJyZWZyZXNoTm90QXBwbGljYWJsZUZpZWxkcyIsIm5vdEFwcGxpY2FibGUiLCJmaWVsZHMiLCJ0aXRsZSIsIl9zZXRUYWJNZXNzYWdlU3RyaXAiLCJlbnRpdHlUeXBlUGF0aCIsImRhdGEiLCJpZ25vcmVkRmllbGRzIiwiZ2V0VGV4dCIsImlzQSIsImNoZWNrTm9uRmlsdGVyYWJsZUVudGl0eVNldCIsInNldERhdGEiLCJyZXNvdXJjZU1vZGVsIiwiZ2V0UmVzb3VyY2VNb2RlbCIsIm9DaGFydCIsImdldENvbnRlbnQiLCJiRW50aXR5U2V0RmlsZXJhYmxlIiwiTWV0YU1vZGVsQ29udmVydGVyIiwiZ2V0SW52b2x2ZWREYXRhTW9kZWxPYmplY3RzIiwiZ2V0TWV0YU1vZGVsIiwiZ2V0Q29udGV4dCIsInRhcmdldE9iamVjdCIsImFubm90YXRpb25zIiwiQ2FwYWJpbGl0aWVzIiwiRmlsdGVyUmVzdHJpY3Rpb25zIiwiRmlsdGVyYWJsZSIsImluZGV4T2YiLCJiT25seUZvclZpc2libGVUYWIiLCJpbm5lckNvbnRyb2xzIiwicmVkdWNlIiwiYUlubmVyQ29udHJvbHMiLCJzSW5uZXJDb250cm9sIiwiQ29yZSIsImJ5SWQiLCJwdXNoIiwiZmlsdGVyIiwib0lubmVyQ29udHJvbCIsImZpbHRlckNvbnRyb2wiLCJzU3VwcG9ydGVkQ2xhc3MiLCJJY29uVGFiRmlsdGVyIiwiZ2V0TWV0YWRhdGEiLCJnZXROYW1lIiwib1ZpZXciLCJDb21tb25VdGlscyIsImdldFRhcmdldFZpZXciLCJnZXRDb250cm9sbGVyIiwib0ZpbHRlckNvbmRpdGlvbnMiLCJzUmVmcmVzaENhdXNlIiwib25WaWV3TmVlZHNSZWZyZXNoIiwiZmlsdGVyQ29uZGl0aW9ucyIsImN1cnJlbnRUYWJJZCIsInJlZnJlc2hDYXVzZSIsImdldENvdW50cyIsInNldENvdW50IiwidGhlbiIsImNvdW50IiwiY2F0Y2giLCJlcnJvciIsIkxvZyIsInRhYmxlRXZlbnQiLCJldmVudE1hY3JvQVBJIiwidGFyZ2V0S2V5Iiwib0ljb25UYWJGaWx0ZXIiLCJjb3VudHNPdXREYXRlZCIsImJSZXF1ZXN0SWZOb3RJbml0aWFsaXplZCIsImJJc1NlbGVjdGVkS2V5Iiwic0FjdGlvbiIsIlJlc3VtZSIsIlN1c3BlbmQiLCJwcm9wZXJ0aWVzIiwic1RleHQiLCJhSWdub3JlZEZpZWxkcyIsIkFycmF5IiwiaXNBcnJheSIsImxlbmd0aCIsImFJZ25vcmVkTGFiZWxzIiwiTWVzc2FnZVN0cmlwIiwiZ2V0TGFiZWxzIiwiZ2V0UGFyYW1ldGVyIiwiQ29udHJvbCJdLCJzb3VyY2VSb290IjoiLiIsInNvdXJjZXMiOlsiTXVsdGlwbGVNb2RlQ29udHJvbC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgTG9nIGZyb20gXCJzYXAvYmFzZS9Mb2dcIjtcbmltcG9ydCBDb21tb25VdGlscyBmcm9tIFwic2FwL2ZlL2NvcmUvQ29tbW9uVXRpbHNcIjtcbmltcG9ydCB0eXBlIEZpbHRlckJhciBmcm9tIFwic2FwL2ZlL2NvcmUvY29udHJvbHMvRmlsdGVyQmFyXCI7XG5pbXBvcnQgKiBhcyBNZXRhTW9kZWxDb252ZXJ0ZXIgZnJvbSBcInNhcC9mZS9jb3JlL2NvbnZlcnRlcnMvTWV0YU1vZGVsQ29udmVydGVyXCI7XG5pbXBvcnQgeyBhZ2dyZWdhdGlvbiwgYXNzb2NpYXRpb24sIGRlZmluZVVJNUNsYXNzLCBldmVudCwgcHJvcGVydHkgfSBmcm9tIFwic2FwL2ZlL2NvcmUvaGVscGVycy9DbGFzc1N1cHBvcnRcIjtcbmltcG9ydCBNZXNzYWdlU3RyaXAgZnJvbSBcInNhcC9mZS9jb3JlL2hlbHBlcnMvTWVzc2FnZVN0cmlwXCI7XG5pbXBvcnQgeyBnZXRSZXNvdXJjZU1vZGVsIH0gZnJvbSBcInNhcC9mZS9jb3JlL2hlbHBlcnMvUmVzb3VyY2VNb2RlbEhlbHBlclwiO1xuaW1wb3J0IHR5cGUgTWFjcm9BUEkgZnJvbSBcInNhcC9mZS9tYWNyb3MvTWFjcm9BUElcIjtcbmltcG9ydCB0eXBlIEljb25UYWJCYXIgZnJvbSBcInNhcC9tL0ljb25UYWJCYXJcIjtcbmltcG9ydCBJY29uVGFiRmlsdGVyIGZyb20gXCJzYXAvbS9JY29uVGFiRmlsdGVyXCI7XG5pbXBvcnQgdHlwZSBDb3JlRXZlbnQgZnJvbSBcInNhcC91aS9iYXNlL0V2ZW50XCI7XG5pbXBvcnQgQ29udHJvbCBmcm9tIFwic2FwL3VpL2NvcmUvQ29udHJvbFwiO1xuaW1wb3J0IENvcmUgZnJvbSBcInNhcC91aS9jb3JlL0NvcmVcIjtcbmltcG9ydCB0eXBlIFJlbmRlck1hbmFnZXIgZnJvbSBcInNhcC91aS9jb3JlL1JlbmRlck1hbmFnZXJcIjtcbmltcG9ydCBDb250cm9sUGVyc29uYWxpemF0aW9uV3JpdGVBUEkgZnJvbSBcInNhcC91aS9mbC93cml0ZS9hcGkvQ29udHJvbFBlcnNvbmFsaXphdGlvbldyaXRlQVBJXCI7XG5pbXBvcnQgSlNPTk1vZGVsIGZyb20gXCJzYXAvdWkvbW9kZWwvanNvbi9KU09OTW9kZWxcIjtcbmltcG9ydCB0eXBlIE1vZGVsIGZyb20gXCJzYXAvdWkvbW9kZWwvTW9kZWxcIjtcblxuZXhwb3J0IHR5cGUgSW5uZXJDb250cm9sVHlwZSA9IE1hY3JvQVBJICZcblx0UGFydGlhbDx7XG5cdFx0cmVzdW1lQmluZGluZzogRnVuY3Rpb247XG5cdFx0c3VzcGVuZEJpbmRpbmc6IEZ1bmN0aW9uO1xuXHRcdGdldENvdW50czogRnVuY3Rpb247XG5cdFx0cmVmcmVzaE5vdEFwcGxpY2FibGVGaWVsZHM6IEZ1bmN0aW9uO1xuXHRcdGludmFsaWRhdGVDb250ZW50OiBGdW5jdGlvbjtcblx0XHRnZXRDb250ZW50OiBGdW5jdGlvbjtcblx0fT47XG5cbnR5cGUgTWVzc2FnZVN0cmlwUHJvcGVydGllcyA9IHtcblx0ZW50aXR5VHlwZVBhdGg6IHN0cmluZztcblx0aWdub3JlZEZpZWxkczogYW55W107XG5cdHRpdGxlOiBzdHJpbmc7XG59O1xuXG5lbnVtIEJpbmRpbmdBY3Rpb24ge1xuXHRTdXNwZW5kID0gXCJzdXNwZW5kQmluZGluZ1wiLFxuXHRSZXN1bWUgPSBcInJlc3VtZUJpbmRpbmdcIlxufVxuXG5AZGVmaW5lVUk1Q2xhc3MoXCJzYXAuZmUudGVtcGxhdGVzLkxpc3RSZXBvcnQuY29udHJvbHMuTXVsdGlwbGVNb2RlQ29udHJvbFwiKVxuY2xhc3MgTXVsdGlwbGVNb2RlQ29udHJvbCBleHRlbmRzIENvbnRyb2wge1xuXHRAcHJvcGVydHkoeyB0eXBlOiBcImJvb2xlYW5cIiB9KVxuXHRzaG93Q291bnRzITogYm9vbGVhbjtcblxuXHRAcHJvcGVydHkoeyB0eXBlOiBcImJvb2xlYW5cIiwgZGVmYXVsdFZhbHVlOiBmYWxzZSB9KVxuXHRzZXRWaXNpYmxlT3ZlcnJpZGRlbiE6IGJvb2xlYW47XG5cblx0QHByb3BlcnR5KHsgdHlwZTogXCJib29sZWFuXCIsIGRlZmF1bHRWYWx1ZTogZmFsc2UgfSlcblx0ZnJlZXplQ29udGVudCE6IGJvb2xlYW47XG5cblx0QHByb3BlcnR5KHsgdHlwZTogXCJib29sZWFuXCIsIGRlZmF1bHRWYWx1ZTogZmFsc2UgfSlcblx0Y291bnRzT3V0RGF0ZWQhOiBib29sZWFuO1xuXG5cdEBhZ2dyZWdhdGlvbih7IHR5cGU6IFwic2FwLm0uSWNvblRhYkJhclwiLCBtdWx0aXBsZTogZmFsc2UsIGlzRGVmYXVsdDogdHJ1ZSB9KVxuXHRjb250ZW50ITogSWNvblRhYkJhcjtcblxuXHRAYXNzb2NpYXRpb24oeyB0eXBlOiBcInNhcC51aS5jb3JlLkNvbnRyb2xcIiwgbXVsdGlwbGU6IHRydWUgfSlcblx0aW5uZXJDb250cm9scyE6IHN0cmluZ1tdO1xuXG5cdEBhc3NvY2lhdGlvbih7IHR5cGU6IFwic2FwLmZlLmNvcmUuY29udHJvbHMuRmlsdGVyQmFyXCIsIG11bHRpcGxlOiBmYWxzZSB9KVxuXHRmaWx0ZXJDb250cm9sITogc3RyaW5nO1xuXG5cdEBldmVudCgpXG5cdHNlbGVjdCE6IEZ1bmN0aW9uO1xuXG5cdG9uQmVmb3JlUmVuZGVyaW5nKCkge1xuXHRcdHRoaXMuZ2V0VGFic01vZGVsKCk7IC8vIEdlbmVyYXRlIHRoZSBtb2RlbCB3aGljaCBpcyBtYW5kYXRvcnkgZm9yIHNvbWUgYmluZGluZ3NcblxuXHRcdGNvbnN0IG9GaWx0ZXJDb250cm9sID0gdGhpcy5fZ2V0RmlsdGVyQ29udHJvbCgpO1xuXHRcdGlmICghb0ZpbHRlckNvbnRyb2wpIHtcblx0XHRcdC8vIEluIGNhc2UgdGhlcmUncyBubyBmaWx0ZXJiYXIsIHdlIGhhdmUgdG8gdXBkYXRlIHRoZSBjb3VudHMgaW4gdGhlIHRhYnMgaW1tZWRpYXRlbHlcblx0XHRcdHRoaXMuc2V0Q291bnRzT3V0RGF0ZWQodHJ1ZSk7XG5cdFx0fVxuXHRcdGNvbnN0IG9GaWx0ZXJCYXJBUEkgPSBvRmlsdGVyQ29udHJvbD8uZ2V0UGFyZW50KCk7XG5cdFx0dGhpcy5nZXRBbGxJbm5lckNvbnRyb2xzKCkuZm9yRWFjaCgob01hY3JvQVBJKSA9PiB7XG5cdFx0XHRpZiAodGhpcy5zaG93Q291bnRzKSB7XG5cdFx0XHRcdG9NYWNyb0FQSS5hdHRhY2hFdmVudChcImludGVybmFsRGF0YVJlcXVlc3RlZFwiLCB0aGlzLl9yZWZyZXNoVGFic0NvdW50LmJpbmQodGhpcykpO1xuXHRcdFx0fVxuXHRcdFx0b01hY3JvQVBJLnN1c3BlbmRCaW5kaW5nPy4oKTtcblx0XHR9KTtcblx0XHRpZiAob0ZpbHRlckJhckFQSSkge1xuXHRcdFx0b0ZpbHRlckJhckFQSS5hdHRhY2hFdmVudChcImludGVybmFsU2VhcmNoXCIsIHRoaXMuX29uU2VhcmNoLmJpbmQodGhpcykpO1xuXHRcdFx0b0ZpbHRlckJhckFQSS5hdHRhY2hFdmVudChcImludGVybmFsRmlsdGVyQ2hhbmdlZFwiLCB0aGlzLl9vbkZpbHRlckNoYW5nZWQuYmluZCh0aGlzKSk7XG5cdFx0fVxuXHR9XG5cblx0b25BZnRlclJlbmRlcmluZygpOiB2b2lkIHtcblx0XHR0aGlzLmdldFNlbGVjdGVkSW5uZXJDb250cm9sKCk/LnJlc3VtZUJpbmRpbmc/LighdGhpcy5nZXRQcm9wZXJ0eShcImZyZWV6ZUNvbnRlbnRcIikpO1xuXHRcdGlmICh0aGlzLnNob3dDb3VudHMgJiYgIXRoaXMuc2V0VmlzaWJsZU92ZXJyaWRkZW4pIHtcblx0XHRcdHRoaXMuc2V0UHJvcGVydHkoXCJzZXRWaXNpYmxlT3ZlcnJpZGRlblwiLCB0cnVlKTtcblx0XHRcdHRoaXMuZ2V0QWxsSW5uZXJDb250cm9scygpLmZvckVhY2goKG1hY3JvQVBJOiBNYWNyb0FQSSk6IHZvaWQgPT4ge1xuXHRcdFx0XHRjb25zdCBpY29uVGFiRmlsdGVyID0gdGhpcy5fZ2V0VGFiRnJvbUlubmVyQ29udHJvbChtYWNyb0FQSSk7XG5cdFx0XHRcdC8vIE5vIGNvdW50IHRvIHNob3dcblx0XHRcdFx0aWYgKCFpY29uVGFiRmlsdGVyKSByZXR1cm47XG5cblx0XHRcdFx0Y29uc3Qgb3JpZ2luU2V0VmlzaWJsZSA9IGljb25UYWJGaWx0ZXIuc2V0VmlzaWJsZTtcblx0XHRcdFx0aWNvblRhYkZpbHRlci5zZXRWaXNpYmxlID0gKHZhbHVlOiBib29sZWFuKTogSWNvblRhYkZpbHRlciA9PiB7XG5cdFx0XHRcdFx0aWYgKGljb25UYWJGaWx0ZXIuZ2V0VmlzaWJsZSgpID09PSBmYWxzZSAmJiB2YWx1ZSkge1xuXHRcdFx0XHRcdFx0dGhpcy5yZWZyZXNoVGFiQ291bnQobWFjcm9BUEkpO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0XHRyZXR1cm4gb3JpZ2luU2V0VmlzaWJsZS5iaW5kKGljb25UYWJGaWx0ZXIpKHZhbHVlKTtcblx0XHRcdFx0fTtcblx0XHRcdH0pO1xuXHRcdH1cblx0fVxuXG5cdHN0YXRpYyByZW5kZXIob1JtOiBSZW5kZXJNYW5hZ2VyLCBvQ29udHJvbDogTXVsdGlwbGVNb2RlQ29udHJvbCkge1xuXHRcdG9SbS5yZW5kZXJDb250cm9sKG9Db250cm9sLmNvbnRlbnQpO1xuXHR9XG5cblx0LyoqXG5cdCAqIEdldHMgdGhlIG1vZGVsIGNvbnRhaW5pbmcgaW5mb3JtYXRpb24gcmVsYXRlZCB0byB0aGUgSWNvblRhYkZpbHRlcnMuXG5cdCAqXG5cdCAqIEByZXR1cm5zIFRoZSBtb2RlbFxuXHQgKi9cblx0Z2V0VGFic01vZGVsKCk6IE1vZGVsIHwgdW5kZWZpbmVkIHtcblx0XHRjb25zdCBzVGFic01vZGVsID0gXCJ0YWJzSW50ZXJuYWxcIjtcblx0XHRjb25zdCBvQ29udGVudCA9IHRoaXMuY29udGVudDtcblx0XHRpZiAoIW9Db250ZW50KSB7XG5cdFx0XHRyZXR1cm4gdW5kZWZpbmVkO1xuXHRcdH1cblx0XHRsZXQgb01vZGVsID0gb0NvbnRlbnQuZ2V0TW9kZWwoc1RhYnNNb2RlbCk7XG5cdFx0aWYgKCFvTW9kZWwpIHtcblx0XHRcdG9Nb2RlbCA9IG5ldyBKU09OTW9kZWwoe30pO1xuXHRcdFx0b0NvbnRlbnQuc2V0TW9kZWwob01vZGVsLCBzVGFic01vZGVsKTtcblx0XHR9XG5cdFx0cmV0dXJuIG9Nb2RlbDtcblx0fVxuXG5cdC8qKlxuXHQgKiBHZXRzIHRoZSBpbm5lciBjb250cm9sIG9mIHRoZSBkaXNwbGF5ZWQgdGFiLlxuXHQgKlxuXHQgKiBAcmV0dXJucyBUaGUgY29udHJvbFxuXHQgKi9cblx0Z2V0U2VsZWN0ZWRJbm5lckNvbnRyb2woKTogSW5uZXJDb250cm9sVHlwZSB8IHVuZGVmaW5lZCB7XG5cdFx0Y29uc3Qgb1NlbGVjdGVkVGFiID0gdGhpcy5jb250ZW50Py5nZXRJdGVtcygpLmZpbmQoKG9JdGVtKSA9PiAob0l0ZW0gYXMgSWNvblRhYkZpbHRlcikuZ2V0S2V5KCkgPT09IHRoaXMuY29udGVudC5nZXRTZWxlY3RlZEtleSgpKTtcblx0XHRyZXR1cm4gb1NlbGVjdGVkVGFiXG5cdFx0XHQ/IHRoaXMuZ2V0QWxsSW5uZXJDb250cm9scygpLmZpbmQoKG9NYWNyb0FQSSkgPT4gdGhpcy5fZ2V0VGFiRnJvbUlubmVyQ29udHJvbChvTWFjcm9BUEkpID09PSBvU2VsZWN0ZWRUYWIpXG5cdFx0XHQ6IHVuZGVmaW5lZDtcblx0fVxuXG5cdC8qKlxuXHQgKiBNYW5hZ2VzIHRoZSBiaW5kaW5nIG9mIGFsbCBpbm5lciBjb250cm9scyB3aGVuIHRoZSBzZWxlY3RlZCBJY29uVGFiRmlsdGVyIGlzIGNoYW5nZWQuXG5cdCAqXG5cdCAqIEBwYXJhbSBvRXZlbnQgRXZlbnQgZmlyZWQgYnkgdGhlIEljb25UYWJCYXJcblx0ICovXG5cdHN0YXRpYyBoYW5kbGVUYWJDaGFuZ2Uob0V2ZW50OiBhbnkpOiB2b2lkIHtcblx0XHRjb25zdCBvSWNvblRhYkJhciA9IG9FdmVudC5nZXRTb3VyY2UoKTtcblx0XHRjb25zdCBvTXVsdGlDb250cm9sID0gb0ljb25UYWJCYXIuZ2V0UGFyZW50KCk7XG5cblx0XHRjb25zdCBtUGFyYW1ldGVycyA9IG9FdmVudC5nZXRQYXJhbWV0ZXJzKCk7XG5cdFx0b011bHRpQ29udHJvbC5fc2V0SW5uZXJCaW5kaW5nKHRydWUpO1xuXHRcdGNvbnN0IHNQcmV2aW91c1NlbGVjdGVkS2V5ID0gbVBhcmFtZXRlcnM/LnByZXZpb3VzS2V5O1xuXHRcdGNvbnN0IHNTZWxlY3RlZEtleSA9IG1QYXJhbWV0ZXJzPy5zZWxlY3RlZEtleTtcblxuXHRcdGlmIChzU2VsZWN0ZWRLZXkgJiYgc1ByZXZpb3VzU2VsZWN0ZWRLZXkgIT09IHNTZWxlY3RlZEtleSkge1xuXHRcdFx0Y29uc3Qgb0ZpbHRlckJhciA9IG9NdWx0aUNvbnRyb2wuX2dldEZpbHRlckNvbnRyb2woKTtcblx0XHRcdGlmIChvRmlsdGVyQmFyICYmICFvTXVsdGlDb250cm9sLmdldFByb3BlcnR5KFwiZnJlZXplQ29udGVudFwiKSkge1xuXHRcdFx0XHRpZiAoIW9NdWx0aUNvbnRyb2wuZ2V0U2VsZWN0ZWRJbm5lckNvbnRyb2woKSkge1xuXHRcdFx0XHRcdC8vY3VzdG9tIHRhYlxuXHRcdFx0XHRcdG9NdWx0aUNvbnRyb2wuX3JlZnJlc2hDdXN0b21WaWV3KG9GaWx0ZXJCYXIuZ2V0RmlsdGVyQ29uZGl0aW9ucygpLCBcInRhYkNoYW5nZWRcIik7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHRcdENvbnRyb2xQZXJzb25hbGl6YXRpb25Xcml0ZUFQSS5hZGQoe1xuXHRcdFx0XHRjaGFuZ2VzOiBbXG5cdFx0XHRcdFx0e1xuXHRcdFx0XHRcdFx0Y2hhbmdlU3BlY2lmaWNEYXRhOiB7XG5cdFx0XHRcdFx0XHRcdGNoYW5nZVR5cGU6IFwic2VsZWN0SWNvblRhYkJhckZpbHRlclwiLFxuXHRcdFx0XHRcdFx0XHRjb250ZW50OiB7XG5cdFx0XHRcdFx0XHRcdFx0c2VsZWN0ZWRLZXk6IHNTZWxlY3RlZEtleSxcblx0XHRcdFx0XHRcdFx0XHRwcmV2aW91c1NlbGVjdGVkS2V5OiBzUHJldmlvdXNTZWxlY3RlZEtleVxuXHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHR9LFxuXHRcdFx0XHRcdFx0c2VsZWN0b3JFbGVtZW50OiBvSWNvblRhYkJhclxuXHRcdFx0XHRcdH1cblx0XHRcdFx0XVxuXHRcdFx0fSk7XG5cdFx0fVxuXG5cdFx0b011bHRpQ29udHJvbC5fZ2V0Vmlld0NvbnRyb2xsZXIoKT8uZ2V0RXh0ZW5zaW9uQVBJKCk/LnVwZGF0ZUFwcFN0YXRlKCk7XG5cblx0XHRvTXVsdGlDb250cm9sLmZpcmVFdmVudChcInNlbGVjdFwiLCB7XG5cdFx0XHRpY29uVGFiQmFyOiBvSWNvblRhYkJhcixcblx0XHRcdHNlbGVjdGVkS2V5OiBzU2VsZWN0ZWRLZXksXG5cdFx0XHRwcmV2aW91c0tleTogc1ByZXZpb3VzU2VsZWN0ZWRLZXlcblx0XHR9KTtcblx0fVxuXG5cdC8qKlxuXHQgKiBJbnZhbGlkYXRlcyB0aGUgY29udGVudCBvZiBhbGwgaW5uZXIgY29udHJvbHMuXG5cdCAqL1xuXHRpbnZhbGlkYXRlQ29udGVudCgpIHtcblx0XHR0aGlzLnNldENvdW50c091dERhdGVkKHRydWUpO1xuXHRcdHRoaXMuZ2V0QWxsSW5uZXJDb250cm9scygpLmZvckVhY2goKG9NYWNyb0FQSSkgPT4ge1xuXHRcdFx0b01hY3JvQVBJLmludmFsaWRhdGVDb250ZW50Py4oKTtcblx0XHR9KTtcblx0fVxuXG5cdC8qKlxuXHQgKiBTZXRzIHRoZSBjb3VudHMgdG8gb3V0IG9mIGRhdGUgb3IgdXAgdG8gZGF0ZVxuXHQgKiBJZiB0aGUgY291bnRzIGFyZSBzZXQgdG8gXCJvdXQgb2YgZGF0ZVwiIGFuZCB0aGUgc2VsZWN0ZWQgSWNvblRhYkZpbHRlciBkb2Vzbid0IGNvbnRhaW4gYW4gaW5uZXIgY29udHJvbCBhbGwgaW5uZXIgY29udHJvbHMgYXJlIHJlcXVlc3RlZCB0byBnZXQgdGhlIG5ldyBjb3VudHMuXG5cdCAqXG5cdCAqIEBwYXJhbSBiVmFsdWUgRnJlZXplIG9yIG5vdCB0aGUgY29udHJvbFxuXHQgKi9cblx0c2V0Q291bnRzT3V0RGF0ZWQoYlZhbHVlID0gdHJ1ZSkge1xuXHRcdHRoaXMuc2V0UHJvcGVydHkoXCJjb3VudHNPdXREYXRlZFwiLCBiVmFsdWUpO1xuXHRcdC8vIGlmIHRoZSBjdXJyZW50IHRhYiBpcyBub3QgY29uZmlndXJlZCB3aXRoIG5vIGlubmVyIENvbnRyb2xcblx0XHQvLyB0aGUgdGFiIGNvdW50cyBtdXN0IGJlIG1hbnVhbGx5IHJlZnJlc2hlZCBzaW5jZSBubyBNYWNybyBBUEkgd2lsbCBzZW50IGV2ZW50IGludGVybmFsRGF0YVJlcXVlc3RlZFxuXHRcdGlmIChiVmFsdWUgJiYgIXRoaXMuZ2V0U2VsZWN0ZWRJbm5lckNvbnRyb2woKSkge1xuXHRcdFx0dGhpcy5fcmVmcmVzaFRhYnNDb3VudCgpO1xuXHRcdH1cblx0fVxuXG5cdC8qKlxuXHQgKiBGcmVlemVzIHRoZSBjb250ZW50IDpcblx0ICogIC0gY29udGVudCBpcyBmcm96ZW46IHRoZSBiaW5kaW5nIG9mIHRoZSBpbm5lciBjb250cm9scyBhcmUgc3VzcGVuZGVkLlxuXHQgKiAgLSBjb250ZW50IGlzIHVuZnJvemVuOiB0aGUgYmluZGluZyBvZiBpbm5lciBjb250cm9sIHJlbGF0ZWQgdG8gdGhlIHNlbGVjdGVkIEljb25UYWJGaWx0ZXIgaXMgcmVzdW1lZC5cblx0ICpcblx0ICogQHBhcmFtIGJWYWx1ZSBGcmVlemUgb3Igbm90IHRoZSBjb250cm9sXG5cdCAqL1xuXHRzZXRGcmVlemVDb250ZW50KGJWYWx1ZTogYm9vbGVhbikge1xuXHRcdHRoaXMuc2V0UHJvcGVydHkoXCJmcmVlemVDb250ZW50XCIsIGJWYWx1ZSk7XG5cdFx0dGhpcy5fc2V0SW5uZXJCaW5kaW5nKCk7XG5cdH1cblxuXHQvKipcblx0ICogVXBkYXRlcyB0aGUgaW50ZXJuYWwgbW9kZWwgd2l0aCB0aGUgcHJvcGVydGllcyB0aGF0IGFyZSBub3QgYXBwbGljYWJsZSBvbiBlYWNoIEljb25UYWJGaWx0ZXIgKGNvbnRhaW5pbmcgaW5uZXIgY29udHJvbCkgYWNjb3JkaW5nIHRvIHRoZSBlbnRpdHlUeXBlIG9mIHRoZSBmaWx0ZXIgY29udHJvbC5cblx0ICpcblx0ICovXG5cdF91cGRhdGVNdWx0aVRhYk5vdEFwcGxpY2FibGVGaWVsZHMoKSB7XG5cdFx0Y29uc3QgdGFic01vZGVsID0gdGhpcy5nZXRUYWJzTW9kZWwoKTtcblx0XHRjb25zdCBvRmlsdGVyQ29udHJvbCA9IHRoaXMuX2dldEZpbHRlckNvbnRyb2woKSBhcyBDb250cm9sO1xuXHRcdGlmICh0YWJzTW9kZWwgJiYgb0ZpbHRlckNvbnRyb2wpIHtcblx0XHRcdGNvbnN0IHJlc3VsdHM6IGFueSA9IHt9O1xuXHRcdFx0dGhpcy5nZXRBbGxJbm5lckNvbnRyb2xzKCkuZm9yRWFjaCgob01hY3JvQVBJKSA9PiB7XG5cdFx0XHRcdGNvbnN0IG9UYWIgPSB0aGlzLl9nZXRUYWJGcm9tSW5uZXJDb250cm9sKG9NYWNyb0FQSSk7XG5cdFx0XHRcdGlmIChvVGFiKSB7XG5cdFx0XHRcdFx0Y29uc3Qgc1RhYklkID0gb1RhYi5nZXRLZXkoKTtcblx0XHRcdFx0XHRjb25zdCBtSWdub3JlZEZpZWxkcyA9IG9NYWNyb0FQSS5yZWZyZXNoTm90QXBwbGljYWJsZUZpZWxkcz8uKG9GaWx0ZXJDb250cm9sKSB8fCBbXTtcblx0XHRcdFx0XHRyZXN1bHRzW3NUYWJJZF0gPSB7XG5cdFx0XHRcdFx0XHRub3RBcHBsaWNhYmxlOiB7XG5cdFx0XHRcdFx0XHRcdGZpZWxkczogbUlnbm9yZWRGaWVsZHMsXG5cdFx0XHRcdFx0XHRcdHRpdGxlOiB0aGlzLl9zZXRUYWJNZXNzYWdlU3RyaXAoe1xuXHRcdFx0XHRcdFx0XHRcdGVudGl0eVR5cGVQYXRoOiBvRmlsdGVyQ29udHJvbC5kYXRhKFwiZW50aXR5VHlwZVwiKSxcblx0XHRcdFx0XHRcdFx0XHRpZ25vcmVkRmllbGRzOiBtSWdub3JlZEZpZWxkcyxcblx0XHRcdFx0XHRcdFx0XHR0aXRsZTogb1RhYi5nZXRUZXh0KClcblx0XHRcdFx0XHRcdFx0fSlcblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9O1xuXHRcdFx0XHRcdGlmIChvTWFjcm9BUEkgJiYgb01hY3JvQVBJLmlzQShcInNhcC5mZS5tYWNyb3MuY2hhcnQuQ2hhcnRBUElcIikpIHtcblx0XHRcdFx0XHRcdHJlc3VsdHNbc1RhYklkXSA9IHRoaXMuY2hlY2tOb25GaWx0ZXJhYmxlRW50aXR5U2V0KG9NYWNyb0FQSSwgc1RhYklkLCByZXN1bHRzKTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdH0pO1xuXHRcdFx0KHRhYnNNb2RlbCBhcyBhbnkpLnNldERhdGEocmVzdWx0cyk7XG5cdFx0fVxuXHR9XG5cblx0LyoqXG5cdCAqIE1vZGlmaWVzIHRoZSBtZXNzYWdlc3RyaXAgbWVzc2FnZSBiYXNlZCBvbiBlbnRpdHkgc2V0IGlzIGZpbGVyYWJsZSBvciBub3QuXG5cdCAqXG5cdCAqIEBwYXJhbSBvTWFjcm9BUEkgTWFjcm8gY2hhcnQgYXBpXG5cdCAqIEBwYXJhbSBzVGFiSWQgVGFiIGtleSBJRFxuXHQgKiBAcGFyYW0gcmVzdWx0cyBTaG91bGQgY29udGFpbiBmaWVsZHMgYW5kIHRpdGxlXG5cdCAqIEByZXR1cm5zIEFuIG9iamVjdCBvZiBtb2RpZmllZCBmaWVsZHMgYW5kIHRpdGxlXG5cdCAqL1xuXHRjaGVja05vbkZpbHRlcmFibGVFbnRpdHlTZXQob01hY3JvQVBJOiBJbm5lckNvbnRyb2xUeXBlLCBzVGFiSWQ6IHN0cmluZywgcmVzdWx0czogYW55KSB7XG5cdFx0Y29uc3QgcmVzb3VyY2VNb2RlbCA9IGdldFJlc291cmNlTW9kZWwob01hY3JvQVBJKTtcblx0XHRjb25zdCBvQ2hhcnQgPSBvTWFjcm9BUEk/LmdldENvbnRlbnQgPyBvTWFjcm9BUEkuZ2V0Q29udGVudCgpIDogdW5kZWZpbmVkO1xuXHRcdGNvbnN0IGJFbnRpdHlTZXRGaWxlcmFibGUgPVxuXHRcdFx0b0NoYXJ0ICYmXG5cdFx0XHRNZXRhTW9kZWxDb252ZXJ0ZXIuZ2V0SW52b2x2ZWREYXRhTW9kZWxPYmplY3RzKFxuXHRcdFx0XHRvQ2hhcnRcblx0XHRcdFx0XHQuZ2V0TW9kZWwoKVxuXHRcdFx0XHRcdC5nZXRNZXRhTW9kZWwoKVxuXHRcdFx0XHRcdC5nZXRDb250ZXh0KGAke29DaGFydC5kYXRhKFwidGFyZ2V0Q29sbGVjdGlvblBhdGhcIil9YClcblx0XHRcdCk/LnRhcmdldE9iamVjdD8uYW5ub3RhdGlvbnM/LkNhcGFiaWxpdGllcz8uRmlsdGVyUmVzdHJpY3Rpb25zPy5GaWx0ZXJhYmxlO1xuXHRcdGlmIChiRW50aXR5U2V0RmlsZXJhYmxlICE9PSB1bmRlZmluZWQgJiYgIWJFbnRpdHlTZXRGaWxlcmFibGUpIHtcblx0XHRcdGlmIChyZXN1bHRzW3NUYWJJZF0ubm90QXBwbGljYWJsZS5maWVsZHMuaW5kZXhPZihcIiRzZWFyY2hcIikgPiAtMSkge1xuXHRcdFx0XHRyZXN1bHRzW3NUYWJJZF0ubm90QXBwbGljYWJsZS50aXRsZSArPSBcIiBcIiArIHJlc291cmNlTW9kZWwuZ2V0VGV4dChcIkNfTFJfTVVMVElWSVpfQ0hBUlRfTVVMVElfTk9OX0ZJTFRFUkFCTEVcIik7XG5cdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHRyZXN1bHRzW3NUYWJJZF0ubm90QXBwbGljYWJsZS5maWVsZHMgPSBbXCJub25GaWx0ZXJhYmxlXCJdO1xuXHRcdFx0XHRyZXN1bHRzW3NUYWJJZF0ubm90QXBwbGljYWJsZS50aXRsZSA9IHJlc291cmNlTW9kZWwuZ2V0VGV4dChcIkNfTFJfTVVMVElWSVpfQ0hBUlRfTVVMVElfTk9OX0ZJTFRFUkFCTEVcIik7XG5cdFx0XHR9XG5cdFx0fVxuXHRcdHJldHVybiByZXN1bHRzW3NUYWJJZF07XG5cdH1cblxuXHQvKipcblx0ICogR2V0cyB0aGUgaW5uZXIgY29udHJvbHMuXG5cdCAqXG5cdCAqIEBwYXJhbSBiT25seUZvclZpc2libGVUYWIgU2hvdWxkIGRpc3BsYXkgb25seSB0aGUgdmlzaWJsZSBjb250cm9sc1xuXHQgKiBAcmV0dXJucyBBbiBhcnJheSBvZiBjb250cm9sc1xuXHQgKi9cblx0Z2V0QWxsSW5uZXJDb250cm9scyhiT25seUZvclZpc2libGVUYWIgPSBmYWxzZSk6IElubmVyQ29udHJvbFR5cGVbXSB7XG5cdFx0cmV0dXJuIChcblx0XHRcdHRoaXMuaW5uZXJDb250cm9scy5yZWR1Y2UoKGFJbm5lckNvbnRyb2xzOiBJbm5lckNvbnRyb2xUeXBlW10sIHNJbm5lckNvbnRyb2w6IHN0cmluZykgPT4ge1xuXHRcdFx0XHRjb25zdCBvQ29udHJvbCA9IENvcmUuYnlJZChzSW5uZXJDb250cm9sKSBhcyBJbm5lckNvbnRyb2xUeXBlO1xuXHRcdFx0XHRpZiAob0NvbnRyb2wpIHtcblx0XHRcdFx0XHRhSW5uZXJDb250cm9scy5wdXNoKG9Db250cm9sKTtcblx0XHRcdFx0fVxuXHRcdFx0XHRyZXR1cm4gYUlubmVyQ29udHJvbHMuZmlsdGVyKFxuXHRcdFx0XHRcdChvSW5uZXJDb250cm9sKSA9PiAhYk9ubHlGb3JWaXNpYmxlVGFiIHx8IHRoaXMuX2dldFRhYkZyb21Jbm5lckNvbnRyb2wob0lubmVyQ29udHJvbCk/LmdldFZpc2libGUoKVxuXHRcdFx0XHQpO1xuXHRcdFx0fSwgW10pIHx8IFtdXG5cdFx0KTtcblx0fVxuXG5cdF9nZXRGaWx0ZXJDb250cm9sKCk6IEZpbHRlckJhciB8IHVuZGVmaW5lZCB7XG5cdFx0cmV0dXJuIENvcmUuYnlJZCh0aGlzLmZpbHRlckNvbnRyb2wpIGFzIEZpbHRlckJhciB8IHVuZGVmaW5lZDtcblx0fVxuXG5cdF9nZXRUYWJGcm9tSW5uZXJDb250cm9sKG9Db250cm9sOiBDb250cm9sKTogSWNvblRhYkZpbHRlciB8IHVuZGVmaW5lZCB7XG5cdFx0Y29uc3Qgc1N1cHBvcnRlZENsYXNzID0gSWNvblRhYkZpbHRlci5nZXRNZXRhZGF0YSgpLmdldE5hbWUoKTtcblx0XHRsZXQgb1RhYjogYW55ID0gb0NvbnRyb2w7XG5cdFx0aWYgKG9UYWIgJiYgIW9UYWIuaXNBKHNTdXBwb3J0ZWRDbGFzcykgJiYgb1RhYi5nZXRQYXJlbnQpIHtcblx0XHRcdG9UYWIgPSBvQ29udHJvbC5nZXRQYXJlbnQoKTtcblx0XHR9XG5cdFx0cmV0dXJuIG9UYWIgJiYgb1RhYi5pc0Eoc1N1cHBvcnRlZENsYXNzKSA/IChvVGFiIGFzIEljb25UYWJGaWx0ZXIpIDogdW5kZWZpbmVkO1xuXHR9XG5cblx0X2dldFZpZXdDb250cm9sbGVyKCkge1xuXHRcdGNvbnN0IG9WaWV3ID0gQ29tbW9uVXRpbHMuZ2V0VGFyZ2V0Vmlldyh0aGlzKTtcblx0XHRyZXR1cm4gb1ZpZXcgJiYgb1ZpZXcuZ2V0Q29udHJvbGxlcigpO1xuXHR9XG5cblx0X3JlZnJlc2hDdXN0b21WaWV3KG9GaWx0ZXJDb25kaXRpb25zOiBhbnksIHNSZWZyZXNoQ2F1c2U6IHN0cmluZykge1xuXHRcdCh0aGlzLl9nZXRWaWV3Q29udHJvbGxlcigpIGFzIGFueSk/Lm9uVmlld05lZWRzUmVmcmVzaD8uKHtcblx0XHRcdGZpbHRlckNvbmRpdGlvbnM6IG9GaWx0ZXJDb25kaXRpb25zLFxuXHRcdFx0Y3VycmVudFRhYklkOiB0aGlzLmNvbnRlbnQuZ2V0U2VsZWN0ZWRLZXkoKSxcblx0XHRcdHJlZnJlc2hDYXVzZTogc1JlZnJlc2hDYXVzZVxuXHRcdH0pO1xuXHR9XG5cblx0LyoqXG5cdCAqIEdldCB0aGUgY291bnQgb2YgdGhlIFRhYiBjb250YWluaW5nIHRoZSBtYWNybyBwYXNzZWQgYXMgcGFyYW1ldGVyLlxuXHQgKiBAcGFyYW0gbWFjcm9BUEkgVGhlIGNvbnRlbnQgb2YgdGhlIHRhYiB3ZSB3YW50IHRvIHJlZnJlc2hcblx0ICovXG5cdHJlZnJlc2hUYWJDb3VudChtYWNyb0FQSTogSW5uZXJDb250cm9sVHlwZSk6IHZvaWQge1xuXHRcdGNvbnN0IGljb25UYWJGaWx0ZXIgPSB0aGlzLl9nZXRUYWJGcm9tSW5uZXJDb250cm9sKG1hY3JvQVBJKTtcblx0XHRpZiAoIWljb25UYWJGaWx0ZXIpIHtcblx0XHRcdHJldHVybjtcblx0XHR9XG5cdFx0aWYgKG1hY3JvQVBJPy5nZXRDb3VudHMpIHtcblx0XHRcdGljb25UYWJGaWx0ZXIuc2V0Q291bnQoXCIuLi5cIik7XG5cdFx0XHRtYWNyb0FQSVxuXHRcdFx0XHQuZ2V0Q291bnRzKClcblx0XHRcdFx0LnRoZW4oKGNvdW50OiBzdHJpbmcpOiBJY29uVGFiRmlsdGVyID0+IHtcblx0XHRcdFx0XHRyZXR1cm4gaWNvblRhYkZpbHRlci5zZXRDb3VudChjb3VudCB8fCBcIjBcIik7XG5cdFx0XHRcdH0pXG5cdFx0XHRcdC5jYXRjaChmdW5jdGlvbiAoZXJyb3I6IHVua25vd24pOiB2b2lkIHtcblx0XHRcdFx0XHRMb2cuZXJyb3IoYEVycm9yIHdoaWxlIHJlcXVlc3RpbmcgQ291bnRzIGZvciBDb250cm9sOiAke2Vycm9yfWApO1xuXHRcdFx0XHR9KTtcblx0XHR9XG5cdH1cblxuXHRfcmVmcmVzaFRhYnNDb3VudCh0YWJsZUV2ZW50PzogQ29yZUV2ZW50KTogdm9pZCB7XG5cdFx0Ly8gSWYgdGhlIHJlZnJlc2ggaXMgdHJpZ2dlcmVkIGJ5IGFuIGV2ZW50IChpbnRlcm5hbERhdGFSZXF1ZXN0ZWQpXG5cdFx0Ly8gd2UgY2Fubm90IHVzZSB0aGUgc2VsZWN0ZWQga2V5IGFzIHJlZmVyZW5jZSBzaW5jZSB0YWJsZSBjYW4gYmUgcmVmcmVzaGVkIGJ5IFNpZGVFZmZlY3RzXG5cdFx0Ly8gc28gdGhlIHRhYmxlIGNvdWxkIGJlIGludG8gYSBkaWZmZXJlbnQgdGFiIC0+IHdlIHVzZSB0aGUgc291cmNlIG9mIHRoZSBldmVudCB0byBmaW5kIHRoZSB0YXJnZXRlZCB0YWJcblx0XHQvLyBJZiBub3QgdHJpZ2dlcmVkIGJ5IGFuIGV2ZW50IC0+IHJlZnJlc2ggYXQgbGVhc3QgdGhlIGNvdW50cyBvZiB0aGUgY3VycmVudCBNYWNyb0FQSVxuXHRcdC8vIEluIGFueSBjYXNlIGlmIHRoZSBjb3VudHMgYXJlIHNldCB0byBPdXRkYXRlZCBmb3IgdGhlIE11bHRpcGxlTW9kZUNvbnRyb2wgYWxsIHRoZSBjb3VudHMgYXJlIHJlZnJlc2hlZFxuXHRcdGNvbnN0IGV2ZW50TWFjcm9BUEkgPSB0YWJsZUV2ZW50Py5nZXRTb3VyY2UoKSBhcyBNYWNyb0FQSTtcblx0XHRjb25zdCB0YXJnZXRLZXkgPSBldmVudE1hY3JvQVBJID8gdGhpcy5fZ2V0VGFiRnJvbUlubmVyQ29udHJvbChldmVudE1hY3JvQVBJKT8uZ2V0S2V5KCkgOiB0aGlzLmNvbnRlbnQ/LmdldFNlbGVjdGVkS2V5KCk7XG5cblx0XHR0aGlzLmdldEFsbElubmVyQ29udHJvbHModHJ1ZSkuZm9yRWFjaCgob01hY3JvQVBJKTogdm9pZCA9PiB7XG5cdFx0XHRjb25zdCBvSWNvblRhYkZpbHRlciA9IHRoaXMuX2dldFRhYkZyb21Jbm5lckNvbnRyb2wob01hY3JvQVBJKTtcblx0XHRcdGlmICh0aGlzLmNvdW50c091dERhdGVkIHx8IHRhcmdldEtleSA9PT0gb0ljb25UYWJGaWx0ZXI/LmdldEtleSgpKSB7XG5cdFx0XHRcdHRoaXMucmVmcmVzaFRhYkNvdW50KG9NYWNyb0FQSSk7XG5cdFx0XHR9XG5cdFx0fSk7XG5cdFx0dGhpcy5zZXRDb3VudHNPdXREYXRlZChmYWxzZSk7XG5cdH1cblxuXHRfc2V0SW5uZXJCaW5kaW5nKGJSZXF1ZXN0SWZOb3RJbml0aWFsaXplZCA9IGZhbHNlKSB7XG5cdFx0aWYgKHRoaXMuY29udGVudCkge1xuXHRcdFx0dGhpcy5nZXRBbGxJbm5lckNvbnRyb2xzKCkuZm9yRWFjaCgob01hY3JvQVBJKSA9PiB7XG5cdFx0XHRcdGNvbnN0IG9JY29uVGFiRmlsdGVyID0gdGhpcy5fZ2V0VGFiRnJvbUlubmVyQ29udHJvbChvTWFjcm9BUEkpO1xuXHRcdFx0XHRjb25zdCBiSXNTZWxlY3RlZEtleSA9IG9JY29uVGFiRmlsdGVyPy5nZXRLZXkoKSA9PT0gdGhpcy5jb250ZW50LmdldFNlbGVjdGVkS2V5KCk7XG5cdFx0XHRcdGNvbnN0IHNBY3Rpb24gPSBiSXNTZWxlY3RlZEtleSAmJiAhdGhpcy5nZXRQcm9wZXJ0eShcImZyZWV6ZUNvbnRlbnRcIikgPyBCaW5kaW5nQWN0aW9uLlJlc3VtZSA6IEJpbmRpbmdBY3Rpb24uU3VzcGVuZDtcblx0XHRcdFx0b01hY3JvQVBJW3NBY3Rpb25dPy4oc0FjdGlvbiA9PT0gQmluZGluZ0FjdGlvbi5SZXN1bWUgPyBiUmVxdWVzdElmTm90SW5pdGlhbGl6ZWQgJiYgYklzU2VsZWN0ZWRLZXkgOiB1bmRlZmluZWQpO1xuXHRcdFx0fSk7XG5cdFx0fVxuXHR9XG5cblx0X3NldFRhYk1lc3NhZ2VTdHJpcChwcm9wZXJ0aWVzOiBNZXNzYWdlU3RyaXBQcm9wZXJ0aWVzKSB7XG5cdFx0bGV0IHNUZXh0ID0gXCJcIjtcblx0XHRjb25zdCBhSWdub3JlZEZpZWxkcyA9IHByb3BlcnRpZXMuaWdub3JlZEZpZWxkcztcblx0XHRjb25zdCBvRmlsdGVyQ29udHJvbCA9IHRoaXMuX2dldEZpbHRlckNvbnRyb2woKSBhcyBDb250cm9sO1xuXHRcdGlmIChvRmlsdGVyQ29udHJvbCAmJiBBcnJheS5pc0FycmF5KGFJZ25vcmVkRmllbGRzKSAmJiBhSWdub3JlZEZpZWxkcy5sZW5ndGggPiAwICYmIHByb3BlcnRpZXMudGl0bGUpIHtcblx0XHRcdGNvbnN0IGFJZ25vcmVkTGFiZWxzID0gTWVzc2FnZVN0cmlwLmdldExhYmVscyhcblx0XHRcdFx0YUlnbm9yZWRGaWVsZHMsXG5cdFx0XHRcdHByb3BlcnRpZXMuZW50aXR5VHlwZVBhdGgsXG5cdFx0XHRcdG9GaWx0ZXJDb250cm9sLFxuXHRcdFx0XHRnZXRSZXNvdXJjZU1vZGVsKG9GaWx0ZXJDb250cm9sKVxuXHRcdFx0KTtcblx0XHRcdHNUZXh0ID0gTWVzc2FnZVN0cmlwLmdldFRleHQoYUlnbm9yZWRMYWJlbHMsIG9GaWx0ZXJDb250cm9sLCBwcm9wZXJ0aWVzLnRpdGxlKTtcblx0XHRcdHJldHVybiBzVGV4dDtcblx0XHR9XG5cdH1cblxuXHRfb25TZWFyY2gob0V2ZW50OiBDb3JlRXZlbnQ8eyBjb25kaXRpb25zOiB1bmtub3duIH0+KTogdm9pZCB7XG5cdFx0dGhpcy5zZXRDb3VudHNPdXREYXRlZCh0cnVlKTtcblx0XHR0aGlzLnNldEZyZWV6ZUNvbnRlbnQoZmFsc2UpO1xuXHRcdGlmICh0aGlzLmdldFNlbGVjdGVkSW5uZXJDb250cm9sKCkpIHtcblx0XHRcdHRoaXMuX3VwZGF0ZU11bHRpVGFiTm90QXBwbGljYWJsZUZpZWxkcygpO1xuXHRcdH0gZWxzZSB7XG5cdFx0XHQvLyBjdXN0b20gdGFiXG5cdFx0XHR0aGlzLl9yZWZyZXNoQ3VzdG9tVmlldyhvRXZlbnQuZ2V0UGFyYW1ldGVyKFwiY29uZGl0aW9uc1wiKSwgXCJzZWFyY2hcIik7XG5cdFx0fVxuXHR9XG5cblx0X29uRmlsdGVyQ2hhbmdlZChvRXZlbnQ6IENvcmVFdmVudDx7IGNvbmRpdGlvbnNCYXNlZDogYm9vbGVhbiB9Pik6IHZvaWQge1xuXHRcdGlmIChvRXZlbnQuZ2V0UGFyYW1ldGVyKFwiY29uZGl0aW9uc0Jhc2VkXCIpKSB7XG5cdFx0XHR0aGlzLnNldEZyZWV6ZUNvbnRlbnQodHJ1ZSk7XG5cdFx0fVxuXHR9XG59XG5cbmV4cG9ydCBkZWZhdWx0IE11bHRpcGxlTW9kZUNvbnRyb2w7XG4iXSwibWFwcGluZ3MiOiI7QUFBQTtBQUFBO0FBQUE7Ozs7Ozs7Ozs7Ozs7Ozs7O01Ba0NLQSxhQUFhO0VBQUEsV0FBYkEsYUFBYTtJQUFiQSxhQUFhO0lBQWJBLGFBQWE7RUFBQSxHQUFiQSxhQUFhLEtBQWJBLGFBQWE7RUFBQSxJQU1aQyxtQkFBbUIsV0FEeEJDLGNBQWMsQ0FBQywwREFBMEQsQ0FBQyxVQUV6RUMsUUFBUSxDQUFDO0lBQUVDLElBQUksRUFBRTtFQUFVLENBQUMsQ0FBQyxVQUc3QkQsUUFBUSxDQUFDO0lBQUVDLElBQUksRUFBRSxTQUFTO0lBQUVDLFlBQVksRUFBRTtFQUFNLENBQUMsQ0FBQyxVQUdsREYsUUFBUSxDQUFDO0lBQUVDLElBQUksRUFBRSxTQUFTO0lBQUVDLFlBQVksRUFBRTtFQUFNLENBQUMsQ0FBQyxVQUdsREYsUUFBUSxDQUFDO0lBQUVDLElBQUksRUFBRSxTQUFTO0lBQUVDLFlBQVksRUFBRTtFQUFNLENBQUMsQ0FBQyxVQUdsREMsV0FBVyxDQUFDO0lBQUVGLElBQUksRUFBRSxrQkFBa0I7SUFBRUcsUUFBUSxFQUFFLEtBQUs7SUFBRUMsU0FBUyxFQUFFO0VBQUssQ0FBQyxDQUFDLFVBRzNFQyxXQUFXLENBQUM7SUFBRUwsSUFBSSxFQUFFLHFCQUFxQjtJQUFFRyxRQUFRLEVBQUU7RUFBSyxDQUFDLENBQUMsVUFHNURFLFdBQVcsQ0FBQztJQUFFTCxJQUFJLEVBQUUsZ0NBQWdDO0lBQUVHLFFBQVEsRUFBRTtFQUFNLENBQUMsQ0FBQyxVQUd4RUcsS0FBSyxFQUFFO0lBQUE7SUFBQTtNQUFBO01BQUE7UUFBQTtNQUFBO01BQUE7TUFBQTtNQUFBO01BQUE7TUFBQTtNQUFBO01BQUE7TUFBQTtNQUFBO01BQUE7SUFBQTtJQUFBO0lBQUEsT0FHUkMsaUJBQWlCLEdBQWpCLDZCQUFvQjtNQUNuQixJQUFJLENBQUNDLFlBQVksRUFBRSxDQUFDLENBQUM7O01BRXJCLE1BQU1DLGNBQWMsR0FBRyxJQUFJLENBQUNDLGlCQUFpQixFQUFFO01BQy9DLElBQUksQ0FBQ0QsY0FBYyxFQUFFO1FBQ3BCO1FBQ0EsSUFBSSxDQUFDRSxpQkFBaUIsQ0FBQyxJQUFJLENBQUM7TUFDN0I7TUFDQSxNQUFNQyxhQUFhLEdBQUdILGNBQWMsYUFBZEEsY0FBYyx1QkFBZEEsY0FBYyxDQUFFSSxTQUFTLEVBQUU7TUFDakQsSUFBSSxDQUFDQyxtQkFBbUIsRUFBRSxDQUFDQyxPQUFPLENBQUVDLFNBQVMsSUFBSztRQUFBO1FBQ2pELElBQUksSUFBSSxDQUFDQyxVQUFVLEVBQUU7VUFDcEJELFNBQVMsQ0FBQ0UsV0FBVyxDQUFDLHVCQUF1QixFQUFFLElBQUksQ0FBQ0MsaUJBQWlCLENBQUNDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNsRjtRQUNBLHlCQUFBSixTQUFTLENBQUNLLGNBQWMsMERBQXhCLDJCQUFBTCxTQUFTLENBQW1CO01BQzdCLENBQUMsQ0FBQztNQUNGLElBQUlKLGFBQWEsRUFBRTtRQUNsQkEsYUFBYSxDQUFDTSxXQUFXLENBQUMsZ0JBQWdCLEVBQUUsSUFBSSxDQUFDSSxTQUFTLENBQUNGLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN0RVIsYUFBYSxDQUFDTSxXQUFXLENBQUMsdUJBQXVCLEVBQUUsSUFBSSxDQUFDSyxnQkFBZ0IsQ0FBQ0gsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO01BQ3JGO0lBQ0QsQ0FBQztJQUFBLE9BRURJLGdCQUFnQixHQUFoQiw0QkFBeUI7TUFBQTtNQUN4Qiw2QkFBSSxDQUFDQyx1QkFBdUIsRUFBRSxvRkFBOUIsc0JBQWdDQyxhQUFhLDJEQUE3QyxtREFBZ0QsQ0FBQyxJQUFJLENBQUNDLFdBQVcsQ0FBQyxlQUFlLENBQUMsQ0FBQztNQUNuRixJQUFJLElBQUksQ0FBQ1YsVUFBVSxJQUFJLENBQUMsSUFBSSxDQUFDVyxvQkFBb0IsRUFBRTtRQUNsRCxJQUFJLENBQUNDLFdBQVcsQ0FBQyxzQkFBc0IsRUFBRSxJQUFJLENBQUM7UUFDOUMsSUFBSSxDQUFDZixtQkFBbUIsRUFBRSxDQUFDQyxPQUFPLENBQUVlLFFBQWtCLElBQVc7VUFDaEUsTUFBTUMsYUFBYSxHQUFHLElBQUksQ0FBQ0MsdUJBQXVCLENBQUNGLFFBQVEsQ0FBQztVQUM1RDtVQUNBLElBQUksQ0FBQ0MsYUFBYSxFQUFFO1VBRXBCLE1BQU1FLGdCQUFnQixHQUFHRixhQUFhLENBQUNHLFVBQVU7VUFDakRILGFBQWEsQ0FBQ0csVUFBVSxHQUFJQyxLQUFjLElBQW9CO1lBQzdELElBQUlKLGFBQWEsQ0FBQ0ssVUFBVSxFQUFFLEtBQUssS0FBSyxJQUFJRCxLQUFLLEVBQUU7Y0FDbEQsSUFBSSxDQUFDRSxlQUFlLENBQUNQLFFBQVEsQ0FBQztZQUMvQjtZQUNBLE9BQU9HLGdCQUFnQixDQUFDYixJQUFJLENBQUNXLGFBQWEsQ0FBQyxDQUFDSSxLQUFLLENBQUM7VUFDbkQsQ0FBQztRQUNGLENBQUMsQ0FBQztNQUNIO0lBQ0QsQ0FBQztJQUFBLG9CQUVNRyxNQUFNLEdBQWIsZ0JBQWNDLEdBQWtCLEVBQUVDLFFBQTZCLEVBQUU7TUFDaEVELEdBQUcsQ0FBQ0UsYUFBYSxDQUFDRCxRQUFRLENBQUNFLE9BQU8sQ0FBQztJQUNwQzs7SUFFQTtBQUNEO0FBQ0E7QUFDQTtBQUNBLE9BSkM7SUFBQSxPQUtBbEMsWUFBWSxHQUFaLHdCQUFrQztNQUNqQyxNQUFNbUMsVUFBVSxHQUFHLGNBQWM7TUFDakMsTUFBTUMsUUFBUSxHQUFHLElBQUksQ0FBQ0YsT0FBTztNQUM3QixJQUFJLENBQUNFLFFBQVEsRUFBRTtRQUNkLE9BQU9DLFNBQVM7TUFDakI7TUFDQSxJQUFJQyxNQUFNLEdBQUdGLFFBQVEsQ0FBQ0csUUFBUSxDQUFDSixVQUFVLENBQUM7TUFDMUMsSUFBSSxDQUFDRyxNQUFNLEVBQUU7UUFDWkEsTUFBTSxHQUFHLElBQUlFLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUMxQkosUUFBUSxDQUFDSyxRQUFRLENBQUNILE1BQU0sRUFBRUgsVUFBVSxDQUFDO01BQ3RDO01BQ0EsT0FBT0csTUFBTTtJQUNkOztJQUVBO0FBQ0Q7QUFDQTtBQUNBO0FBQ0EsT0FKQztJQUFBLE9BS0FyQix1QkFBdUIsR0FBdkIsbUNBQXdEO01BQUE7TUFDdkQsTUFBTXlCLFlBQVksb0JBQUcsSUFBSSxDQUFDUixPQUFPLGtEQUFaLGNBQWNTLFFBQVEsRUFBRSxDQUFDQyxJQUFJLENBQUVDLEtBQUssSUFBTUEsS0FBSyxDQUFtQkMsTUFBTSxFQUFFLEtBQUssSUFBSSxDQUFDWixPQUFPLENBQUNhLGNBQWMsRUFBRSxDQUFDO01BQ2xJLE9BQU9MLFlBQVksR0FDaEIsSUFBSSxDQUFDcEMsbUJBQW1CLEVBQUUsQ0FBQ3NDLElBQUksQ0FBRXBDLFNBQVMsSUFBSyxJQUFJLENBQUNnQix1QkFBdUIsQ0FBQ2hCLFNBQVMsQ0FBQyxLQUFLa0MsWUFBWSxDQUFDLEdBQ3hHTCxTQUFTO0lBQ2I7O0lBRUE7QUFDRDtBQUNBO0FBQ0E7QUFDQSxPQUpDO0lBQUEsb0JBS09XLGVBQWUsR0FBdEIseUJBQXVCQyxNQUFXLEVBQVE7TUFBQTtNQUN6QyxNQUFNQyxXQUFXLEdBQUdELE1BQU0sQ0FBQ0UsU0FBUyxFQUFFO01BQ3RDLE1BQU1DLGFBQWEsR0FBR0YsV0FBVyxDQUFDN0MsU0FBUyxFQUFFO01BRTdDLE1BQU1nRCxXQUFXLEdBQUdKLE1BQU0sQ0FBQ0ssYUFBYSxFQUFFO01BQzFDRixhQUFhLENBQUNHLGdCQUFnQixDQUFDLElBQUksQ0FBQztNQUNwQyxNQUFNQyxvQkFBb0IsR0FBR0gsV0FBVyxhQUFYQSxXQUFXLHVCQUFYQSxXQUFXLENBQUVJLFdBQVc7TUFDckQsTUFBTUMsWUFBWSxHQUFHTCxXQUFXLGFBQVhBLFdBQVcsdUJBQVhBLFdBQVcsQ0FBRU0sV0FBVztNQUU3QyxJQUFJRCxZQUFZLElBQUlGLG9CQUFvQixLQUFLRSxZQUFZLEVBQUU7UUFDMUQsTUFBTUUsVUFBVSxHQUFHUixhQUFhLENBQUNsRCxpQkFBaUIsRUFBRTtRQUNwRCxJQUFJMEQsVUFBVSxJQUFJLENBQUNSLGFBQWEsQ0FBQ2pDLFdBQVcsQ0FBQyxlQUFlLENBQUMsRUFBRTtVQUM5RCxJQUFJLENBQUNpQyxhQUFhLENBQUNuQyx1QkFBdUIsRUFBRSxFQUFFO1lBQzdDO1lBQ0FtQyxhQUFhLENBQUNTLGtCQUFrQixDQUFDRCxVQUFVLENBQUNFLG1CQUFtQixFQUFFLEVBQUUsWUFBWSxDQUFDO1VBQ2pGO1FBQ0Q7UUFDQUMsOEJBQThCLENBQUNDLEdBQUcsQ0FBQztVQUNsQ0MsT0FBTyxFQUFFLENBQ1I7WUFDQ0Msa0JBQWtCLEVBQUU7Y0FDbkJDLFVBQVUsRUFBRSx3QkFBd0I7Y0FDcENqQyxPQUFPLEVBQUU7Z0JBQ1J5QixXQUFXLEVBQUVELFlBQVk7Z0JBQ3pCVSxtQkFBbUIsRUFBRVo7Y0FDdEI7WUFDRCxDQUFDO1lBQ0RhLGVBQWUsRUFBRW5CO1VBQ2xCLENBQUM7UUFFSCxDQUFDLENBQUM7TUFDSDtNQUVBLHlCQUFBRSxhQUFhLENBQUNrQixrQkFBa0IsRUFBRSxvRkFBbEMsc0JBQW9DQyxlQUFlLEVBQUUsMkRBQXJELHVCQUF1REMsY0FBYyxFQUFFO01BRXZFcEIsYUFBYSxDQUFDcUIsU0FBUyxDQUFDLFFBQVEsRUFBRTtRQUNqQ0MsVUFBVSxFQUFFeEIsV0FBVztRQUN2QlMsV0FBVyxFQUFFRCxZQUFZO1FBQ3pCRCxXQUFXLEVBQUVEO01BQ2QsQ0FBQyxDQUFDO0lBQ0g7O0lBRUE7QUFDRDtBQUNBLE9BRkM7SUFBQSxPQUdBbUIsaUJBQWlCLEdBQWpCLDZCQUFvQjtNQUNuQixJQUFJLENBQUN4RSxpQkFBaUIsQ0FBQyxJQUFJLENBQUM7TUFDNUIsSUFBSSxDQUFDRyxtQkFBbUIsRUFBRSxDQUFDQyxPQUFPLENBQUVDLFNBQVMsSUFBSztRQUFBO1FBQ2pELHlCQUFBQSxTQUFTLENBQUNtRSxpQkFBaUIsMERBQTNCLDJCQUFBbkUsU0FBUyxDQUFzQjtNQUNoQyxDQUFDLENBQUM7SUFDSDs7SUFFQTtBQUNEO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FMQztJQUFBLE9BTUFMLGlCQUFpQixHQUFqQiw2QkFBaUM7TUFBQSxJQUFmeUUsTUFBTSx1RUFBRyxJQUFJO01BQzlCLElBQUksQ0FBQ3ZELFdBQVcsQ0FBQyxnQkFBZ0IsRUFBRXVELE1BQU0sQ0FBQztNQUMxQztNQUNBO01BQ0EsSUFBSUEsTUFBTSxJQUFJLENBQUMsSUFBSSxDQUFDM0QsdUJBQXVCLEVBQUUsRUFBRTtRQUM5QyxJQUFJLENBQUNOLGlCQUFpQixFQUFFO01BQ3pCO0lBQ0Q7O0lBRUE7QUFDRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FOQztJQUFBLE9BT0FrRSxnQkFBZ0IsR0FBaEIsMEJBQWlCRCxNQUFlLEVBQUU7TUFDakMsSUFBSSxDQUFDdkQsV0FBVyxDQUFDLGVBQWUsRUFBRXVELE1BQU0sQ0FBQztNQUN6QyxJQUFJLENBQUNyQixnQkFBZ0IsRUFBRTtJQUN4Qjs7SUFFQTtBQUNEO0FBQ0E7QUFDQSxPQUhDO0lBQUEsT0FJQXVCLGtDQUFrQyxHQUFsQyw4Q0FBcUM7TUFDcEMsTUFBTUMsU0FBUyxHQUFHLElBQUksQ0FBQy9FLFlBQVksRUFBRTtNQUNyQyxNQUFNQyxjQUFjLEdBQUcsSUFBSSxDQUFDQyxpQkFBaUIsRUFBYTtNQUMxRCxJQUFJNkUsU0FBUyxJQUFJOUUsY0FBYyxFQUFFO1FBQ2hDLE1BQU0rRSxPQUFZLEdBQUcsQ0FBQyxDQUFDO1FBQ3ZCLElBQUksQ0FBQzFFLG1CQUFtQixFQUFFLENBQUNDLE9BQU8sQ0FBRUMsU0FBUyxJQUFLO1VBQ2pELE1BQU15RSxJQUFJLEdBQUcsSUFBSSxDQUFDekQsdUJBQXVCLENBQUNoQixTQUFTLENBQUM7VUFDcEQsSUFBSXlFLElBQUksRUFBRTtZQUFBO1lBQ1QsTUFBTUMsTUFBTSxHQUFHRCxJQUFJLENBQUNuQyxNQUFNLEVBQUU7WUFDNUIsTUFBTXFDLGNBQWMsR0FBRywwQkFBQTNFLFNBQVMsQ0FBQzRFLDBCQUEwQiwwREFBcEMsMkJBQUE1RSxTQUFTLEVBQThCUCxjQUFjLENBQUMsS0FBSSxFQUFFO1lBQ25GK0UsT0FBTyxDQUFDRSxNQUFNLENBQUMsR0FBRztjQUNqQkcsYUFBYSxFQUFFO2dCQUNkQyxNQUFNLEVBQUVILGNBQWM7Z0JBQ3RCSSxLQUFLLEVBQUUsSUFBSSxDQUFDQyxtQkFBbUIsQ0FBQztrQkFDL0JDLGNBQWMsRUFBRXhGLGNBQWMsQ0FBQ3lGLElBQUksQ0FBQyxZQUFZLENBQUM7a0JBQ2pEQyxhQUFhLEVBQUVSLGNBQWM7a0JBQzdCSSxLQUFLLEVBQUVOLElBQUksQ0FBQ1csT0FBTztnQkFDcEIsQ0FBQztjQUNGO1lBQ0QsQ0FBQztZQUNELElBQUlwRixTQUFTLElBQUlBLFNBQVMsQ0FBQ3FGLEdBQUcsQ0FBQyw4QkFBOEIsQ0FBQyxFQUFFO2NBQy9EYixPQUFPLENBQUNFLE1BQU0sQ0FBQyxHQUFHLElBQUksQ0FBQ1ksMkJBQTJCLENBQUN0RixTQUFTLEVBQUUwRSxNQUFNLEVBQUVGLE9BQU8sQ0FBQztZQUMvRTtVQUNEO1FBQ0QsQ0FBQyxDQUFDO1FBQ0RELFNBQVMsQ0FBU2dCLE9BQU8sQ0FBQ2YsT0FBTyxDQUFDO01BQ3BDO0lBQ0Q7O0lBRUE7QUFDRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQVBDO0lBQUEsT0FRQWMsMkJBQTJCLEdBQTNCLHFDQUE0QnRGLFNBQTJCLEVBQUUwRSxNQUFjLEVBQUVGLE9BQVksRUFBRTtNQUFBO01BQ3RGLE1BQU1nQixhQUFhLEdBQUdDLGdCQUFnQixDQUFDekYsU0FBUyxDQUFDO01BQ2pELE1BQU0wRixNQUFNLEdBQUcxRixTQUFTLGFBQVRBLFNBQVMsZUFBVEEsU0FBUyxDQUFFMkYsVUFBVSxHQUFHM0YsU0FBUyxDQUFDMkYsVUFBVSxFQUFFLEdBQUc5RCxTQUFTO01BQ3pFLE1BQU0rRCxtQkFBbUIsR0FDeEJGLE1BQU0sOEJBQ05HLGtCQUFrQixDQUFDQywyQkFBMkIsQ0FDN0NKLE1BQU0sQ0FDSjNELFFBQVEsRUFBRSxDQUNWZ0UsWUFBWSxFQUFFLENBQ2RDLFVBQVUsQ0FBRSxHQUFFTixNQUFNLENBQUNSLElBQUksQ0FBQyxzQkFBc0IsQ0FBRSxFQUFDLENBQUMsQ0FDdEQsb0ZBTEQsc0JBS0dlLFlBQVkscUZBTGYsdUJBS2lCQyxXQUFXLHFGQUw1Qix1QkFLOEJDLFlBQVkscUZBTDFDLHVCQUs0Q0Msa0JBQWtCLDJEQUw5RCx1QkFLZ0VDLFVBQVU7TUFDM0UsSUFBSVQsbUJBQW1CLEtBQUsvRCxTQUFTLElBQUksQ0FBQytELG1CQUFtQixFQUFFO1FBQzlELElBQUlwQixPQUFPLENBQUNFLE1BQU0sQ0FBQyxDQUFDRyxhQUFhLENBQUNDLE1BQU0sQ0FBQ3dCLE9BQU8sQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRTtVQUNqRTlCLE9BQU8sQ0FBQ0UsTUFBTSxDQUFDLENBQUNHLGFBQWEsQ0FBQ0UsS0FBSyxJQUFJLEdBQUcsR0FBR1MsYUFBYSxDQUFDSixPQUFPLENBQUMsMENBQTBDLENBQUM7UUFDL0csQ0FBQyxNQUFNO1VBQ05aLE9BQU8sQ0FBQ0UsTUFBTSxDQUFDLENBQUNHLGFBQWEsQ0FBQ0MsTUFBTSxHQUFHLENBQUMsZUFBZSxDQUFDO1VBQ3hETixPQUFPLENBQUNFLE1BQU0sQ0FBQyxDQUFDRyxhQUFhLENBQUNFLEtBQUssR0FBR1MsYUFBYSxDQUFDSixPQUFPLENBQUMsMENBQTBDLENBQUM7UUFDeEc7TUFDRDtNQUNBLE9BQU9aLE9BQU8sQ0FBQ0UsTUFBTSxDQUFDO0lBQ3ZCOztJQUVBO0FBQ0Q7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUxDO0lBQUEsT0FNQTVFLG1CQUFtQixHQUFuQiwrQkFBb0U7TUFBQSxJQUFoRHlHLGtCQUFrQix1RUFBRyxLQUFLO01BQzdDLE9BQ0MsSUFBSSxDQUFDQyxhQUFhLENBQUNDLE1BQU0sQ0FBQyxDQUFDQyxjQUFrQyxFQUFFQyxhQUFxQixLQUFLO1FBQ3hGLE1BQU1uRixRQUFRLEdBQUdvRixJQUFJLENBQUNDLElBQUksQ0FBQ0YsYUFBYSxDQUFxQjtRQUM3RCxJQUFJbkYsUUFBUSxFQUFFO1VBQ2JrRixjQUFjLENBQUNJLElBQUksQ0FBQ3RGLFFBQVEsQ0FBQztRQUM5QjtRQUNBLE9BQU9rRixjQUFjLENBQUNLLE1BQU0sQ0FDMUJDLGFBQWE7VUFBQTtVQUFBLE9BQUssQ0FBQ1Qsa0JBQWtCLDhCQUFJLElBQUksQ0FBQ3ZGLHVCQUF1QixDQUFDZ0csYUFBYSxDQUFDLDBEQUEzQyxzQkFBNkM1RixVQUFVLEVBQUU7UUFBQSxFQUNuRztNQUNGLENBQUMsRUFBRSxFQUFFLENBQUMsSUFBSSxFQUFFO0lBRWQsQ0FBQztJQUFBLE9BRUQxQixpQkFBaUIsR0FBakIsNkJBQTJDO01BQzFDLE9BQU9rSCxJQUFJLENBQUNDLElBQUksQ0FBQyxJQUFJLENBQUNJLGFBQWEsQ0FBQztJQUNyQyxDQUFDO0lBQUEsT0FFRGpHLHVCQUF1QixHQUF2QixpQ0FBd0JRLFFBQWlCLEVBQTZCO01BQ3JFLE1BQU0wRixlQUFlLEdBQUdDLGFBQWEsQ0FBQ0MsV0FBVyxFQUFFLENBQUNDLE9BQU8sRUFBRTtNQUM3RCxJQUFJNUMsSUFBUyxHQUFHakQsUUFBUTtNQUN4QixJQUFJaUQsSUFBSSxJQUFJLENBQUNBLElBQUksQ0FBQ1ksR0FBRyxDQUFDNkIsZUFBZSxDQUFDLElBQUl6QyxJQUFJLENBQUM1RSxTQUFTLEVBQUU7UUFDekQ0RSxJQUFJLEdBQUdqRCxRQUFRLENBQUMzQixTQUFTLEVBQUU7TUFDNUI7TUFDQSxPQUFPNEUsSUFBSSxJQUFJQSxJQUFJLENBQUNZLEdBQUcsQ0FBQzZCLGVBQWUsQ0FBQyxHQUFJekMsSUFBSSxHQUFxQjVDLFNBQVM7SUFDL0UsQ0FBQztJQUFBLE9BRURpQyxrQkFBa0IsR0FBbEIsOEJBQXFCO01BQ3BCLE1BQU13RCxLQUFLLEdBQUdDLFdBQVcsQ0FBQ0MsYUFBYSxDQUFDLElBQUksQ0FBQztNQUM3QyxPQUFPRixLQUFLLElBQUlBLEtBQUssQ0FBQ0csYUFBYSxFQUFFO0lBQ3RDLENBQUM7SUFBQSxPQUVEcEUsa0JBQWtCLEdBQWxCLDRCQUFtQnFFLGlCQUFzQixFQUFFQyxhQUFxQixFQUFFO01BQUE7TUFDakUseUJBQUMsSUFBSSxDQUFDN0Qsa0JBQWtCLEVBQUUsb0ZBQTFCLHNCQUFvQzhELGtCQUFrQiwyREFBdEQsbURBQXlEO1FBQ3hEQyxnQkFBZ0IsRUFBRUgsaUJBQWlCO1FBQ25DSSxZQUFZLEVBQUUsSUFBSSxDQUFDcEcsT0FBTyxDQUFDYSxjQUFjLEVBQUU7UUFDM0N3RixZQUFZLEVBQUVKO01BQ2YsQ0FBQyxDQUFDO0lBQ0g7O0lBRUE7QUFDRDtBQUNBO0FBQ0EsT0FIQztJQUFBLE9BSUF0RyxlQUFlLEdBQWYseUJBQWdCUCxRQUEwQixFQUFRO01BQ2pELE1BQU1DLGFBQWEsR0FBRyxJQUFJLENBQUNDLHVCQUF1QixDQUFDRixRQUFRLENBQUM7TUFDNUQsSUFBSSxDQUFDQyxhQUFhLEVBQUU7UUFDbkI7TUFDRDtNQUNBLElBQUlELFFBQVEsYUFBUkEsUUFBUSxlQUFSQSxRQUFRLENBQUVrSCxTQUFTLEVBQUU7UUFDeEJqSCxhQUFhLENBQUNrSCxRQUFRLENBQUMsS0FBSyxDQUFDO1FBQzdCbkgsUUFBUSxDQUNOa0gsU0FBUyxFQUFFLENBQ1hFLElBQUksQ0FBRUMsS0FBYSxJQUFvQjtVQUN2QyxPQUFPcEgsYUFBYSxDQUFDa0gsUUFBUSxDQUFDRSxLQUFLLElBQUksR0FBRyxDQUFDO1FBQzVDLENBQUMsQ0FBQyxDQUNEQyxLQUFLLENBQUMsVUFBVUMsS0FBYyxFQUFRO1VBQ3RDQyxHQUFHLENBQUNELEtBQUssQ0FBRSw4Q0FBNkNBLEtBQU0sRUFBQyxDQUFDO1FBQ2pFLENBQUMsQ0FBQztNQUNKO0lBQ0QsQ0FBQztJQUFBLE9BRURsSSxpQkFBaUIsR0FBakIsMkJBQWtCb0ksVUFBc0IsRUFBUTtNQUFBO01BQy9DO01BQ0E7TUFDQTtNQUNBO01BQ0E7TUFDQSxNQUFNQyxhQUFhLEdBQUdELFVBQVUsYUFBVkEsVUFBVSx1QkFBVkEsVUFBVSxDQUFFNUYsU0FBUyxFQUFjO01BQ3pELE1BQU04RixTQUFTLEdBQUdELGFBQWEsNkJBQUcsSUFBSSxDQUFDeEgsdUJBQXVCLENBQUN3SCxhQUFhLENBQUMsMkRBQTNDLHVCQUE2Q2xHLE1BQU0sRUFBRSxxQkFBRyxJQUFJLENBQUNaLE9BQU8sbURBQVosZUFBY2EsY0FBYyxFQUFFO01BRXhILElBQUksQ0FBQ3pDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxDQUFDQyxPQUFPLENBQUVDLFNBQVMsSUFBVztRQUMzRCxNQUFNMEksY0FBYyxHQUFHLElBQUksQ0FBQzFILHVCQUF1QixDQUFDaEIsU0FBUyxDQUFDO1FBQzlELElBQUksSUFBSSxDQUFDMkksY0FBYyxJQUFJRixTQUFTLE1BQUtDLGNBQWMsYUFBZEEsY0FBYyx1QkFBZEEsY0FBYyxDQUFFcEcsTUFBTSxFQUFFLEdBQUU7VUFDbEUsSUFBSSxDQUFDakIsZUFBZSxDQUFDckIsU0FBUyxDQUFDO1FBQ2hDO01BQ0QsQ0FBQyxDQUFDO01BQ0YsSUFBSSxDQUFDTCxpQkFBaUIsQ0FBQyxLQUFLLENBQUM7SUFDOUIsQ0FBQztJQUFBLE9BRURvRCxnQkFBZ0IsR0FBaEIsNEJBQW1EO01BQUEsSUFBbEM2Rix3QkFBd0IsdUVBQUcsS0FBSztNQUNoRCxJQUFJLElBQUksQ0FBQ2xILE9BQU8sRUFBRTtRQUNqQixJQUFJLENBQUM1QixtQkFBbUIsRUFBRSxDQUFDQyxPQUFPLENBQUVDLFNBQVMsSUFBSztVQUFBO1VBQ2pELE1BQU0wSSxjQUFjLEdBQUcsSUFBSSxDQUFDMUgsdUJBQXVCLENBQUNoQixTQUFTLENBQUM7VUFDOUQsTUFBTTZJLGNBQWMsR0FBRyxDQUFBSCxjQUFjLGFBQWRBLGNBQWMsdUJBQWRBLGNBQWMsQ0FBRXBHLE1BQU0sRUFBRSxNQUFLLElBQUksQ0FBQ1osT0FBTyxDQUFDYSxjQUFjLEVBQUU7VUFDakYsTUFBTXVHLE9BQU8sR0FBR0QsY0FBYyxJQUFJLENBQUMsSUFBSSxDQUFDbEksV0FBVyxDQUFDLGVBQWUsQ0FBQyxHQUFHL0IsYUFBYSxDQUFDbUssTUFBTSxHQUFHbkssYUFBYSxDQUFDb0ssT0FBTztVQUNuSCxzQkFBQWhKLFNBQVMsQ0FBQzhJLE9BQU8sQ0FBQyx1REFBbEIsd0JBQUE5SSxTQUFTLEVBQVk4SSxPQUFPLEtBQUtsSyxhQUFhLENBQUNtSyxNQUFNLEdBQUdILHdCQUF3QixJQUFJQyxjQUFjLEdBQUdoSCxTQUFTLENBQUM7UUFDaEgsQ0FBQyxDQUFDO01BQ0g7SUFDRCxDQUFDO0lBQUEsT0FFRG1ELG1CQUFtQixHQUFuQiw2QkFBb0JpRSxVQUFrQyxFQUFFO01BQ3ZELElBQUlDLEtBQUssR0FBRyxFQUFFO01BQ2QsTUFBTUMsY0FBYyxHQUFHRixVQUFVLENBQUM5RCxhQUFhO01BQy9DLE1BQU0xRixjQUFjLEdBQUcsSUFBSSxDQUFDQyxpQkFBaUIsRUFBYTtNQUMxRCxJQUFJRCxjQUFjLElBQUkySixLQUFLLENBQUNDLE9BQU8sQ0FBQ0YsY0FBYyxDQUFDLElBQUlBLGNBQWMsQ0FBQ0csTUFBTSxHQUFHLENBQUMsSUFBSUwsVUFBVSxDQUFDbEUsS0FBSyxFQUFFO1FBQ3JHLE1BQU13RSxjQUFjLEdBQUdDLFlBQVksQ0FBQ0MsU0FBUyxDQUM1Q04sY0FBYyxFQUNkRixVQUFVLENBQUNoRSxjQUFjLEVBQ3pCeEYsY0FBYyxFQUNkZ0csZ0JBQWdCLENBQUNoRyxjQUFjLENBQUMsQ0FDaEM7UUFDRHlKLEtBQUssR0FBR00sWUFBWSxDQUFDcEUsT0FBTyxDQUFDbUUsY0FBYyxFQUFFOUosY0FBYyxFQUFFd0osVUFBVSxDQUFDbEUsS0FBSyxDQUFDO1FBQzlFLE9BQU9tRSxLQUFLO01BQ2I7SUFDRCxDQUFDO0lBQUEsT0FFRDVJLFNBQVMsR0FBVCxtQkFBVW1DLE1BQTBDLEVBQVE7TUFDM0QsSUFBSSxDQUFDOUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDO01BQzVCLElBQUksQ0FBQzBFLGdCQUFnQixDQUFDLEtBQUssQ0FBQztNQUM1QixJQUFJLElBQUksQ0FBQzVELHVCQUF1QixFQUFFLEVBQUU7UUFDbkMsSUFBSSxDQUFDNkQsa0NBQWtDLEVBQUU7TUFDMUMsQ0FBQyxNQUFNO1FBQ047UUFDQSxJQUFJLENBQUNqQixrQkFBa0IsQ0FBQ1osTUFBTSxDQUFDaUgsWUFBWSxDQUFDLFlBQVksQ0FBQyxFQUFFLFFBQVEsQ0FBQztNQUNyRTtJQUNELENBQUM7SUFBQSxPQUVEbkosZ0JBQWdCLEdBQWhCLDBCQUFpQmtDLE1BQStDLEVBQVE7TUFDdkUsSUFBSUEsTUFBTSxDQUFDaUgsWUFBWSxDQUFDLGlCQUFpQixDQUFDLEVBQUU7UUFDM0MsSUFBSSxDQUFDckYsZ0JBQWdCLENBQUMsSUFBSSxDQUFDO01BQzVCO0lBQ0QsQ0FBQztJQUFBO0VBQUEsRUF4WGdDc0YsT0FBTztJQUFBO0lBQUE7SUFBQTtJQUFBO0VBQUE7SUFBQTtJQUFBO0lBQUE7SUFBQTtFQUFBO0lBQUE7SUFBQTtJQUFBO0lBQUE7RUFBQTtJQUFBO0lBQUE7SUFBQTtJQUFBO0VBQUE7SUFBQTtJQUFBO0lBQUE7SUFBQTtFQUFBO0lBQUE7SUFBQTtJQUFBO0lBQUE7RUFBQTtJQUFBO0lBQUE7SUFBQTtJQUFBO0VBQUE7SUFBQTtJQUFBO0lBQUE7SUFBQTtFQUFBO0VBQUEsT0EyWDFCOUssbUJBQW1CO0FBQUEifQ==
|
|
@@ -42,6 +42,9 @@ class MultipleModeControl extends Control {
|
|
|
42
42
|
@property({ type: "boolean" })
|
|
43
43
|
showCounts!: boolean;
|
|
44
44
|
|
|
45
|
+
@property({ type: "boolean", defaultValue: false })
|
|
46
|
+
setVisibleOverridden!: boolean;
|
|
47
|
+
|
|
45
48
|
@property({ type: "boolean", defaultValue: false })
|
|
46
49
|
freezeContent!: boolean;
|
|
47
50
|
|
|
@@ -81,8 +84,24 @@ class MultipleModeControl extends Control {
|
|
|
81
84
|
}
|
|
82
85
|
}
|
|
83
86
|
|
|
84
|
-
onAfterRendering() {
|
|
87
|
+
onAfterRendering(): void {
|
|
85
88
|
this.getSelectedInnerControl()?.resumeBinding?.(!this.getProperty("freezeContent"));
|
|
89
|
+
if (this.showCounts && !this.setVisibleOverridden) {
|
|
90
|
+
this.setProperty("setVisibleOverridden", true);
|
|
91
|
+
this.getAllInnerControls().forEach((macroAPI: MacroAPI): void => {
|
|
92
|
+
const iconTabFilter = this._getTabFromInnerControl(macroAPI);
|
|
93
|
+
// No count to show
|
|
94
|
+
if (!iconTabFilter) return;
|
|
95
|
+
|
|
96
|
+
const originSetVisible = iconTabFilter.setVisible;
|
|
97
|
+
iconTabFilter.setVisible = (value: boolean): IconTabFilter => {
|
|
98
|
+
if (iconTabFilter.getVisible() === false && value) {
|
|
99
|
+
this.refreshTabCount(macroAPI);
|
|
100
|
+
}
|
|
101
|
+
return originSetVisible.bind(iconTabFilter)(value);
|
|
102
|
+
};
|
|
103
|
+
});
|
|
104
|
+
}
|
|
86
105
|
}
|
|
87
106
|
|
|
88
107
|
static render(oRm: RenderManager, oControl: MultipleModeControl) {
|
|
@@ -313,6 +332,28 @@ class MultipleModeControl extends Control {
|
|
|
313
332
|
});
|
|
314
333
|
}
|
|
315
334
|
|
|
335
|
+
/**
|
|
336
|
+
* Get the count of the Tab containing the macro passed as parameter.
|
|
337
|
+
* @param macroAPI The content of the tab we want to refresh
|
|
338
|
+
*/
|
|
339
|
+
refreshTabCount(macroAPI: InnerControlType): void {
|
|
340
|
+
const iconTabFilter = this._getTabFromInnerControl(macroAPI);
|
|
341
|
+
if (!iconTabFilter) {
|
|
342
|
+
return;
|
|
343
|
+
}
|
|
344
|
+
if (macroAPI?.getCounts) {
|
|
345
|
+
iconTabFilter.setCount("...");
|
|
346
|
+
macroAPI
|
|
347
|
+
.getCounts()
|
|
348
|
+
.then((count: string): IconTabFilter => {
|
|
349
|
+
return iconTabFilter.setCount(count || "0");
|
|
350
|
+
})
|
|
351
|
+
.catch(function (error: unknown): void {
|
|
352
|
+
Log.error(`Error while requesting Counts for Control: ${error}`);
|
|
353
|
+
});
|
|
354
|
+
}
|
|
355
|
+
}
|
|
356
|
+
|
|
316
357
|
_refreshTabsCount(tableEvent?: CoreEvent): void {
|
|
317
358
|
// If the refresh is triggered by an event (internalDataRequested)
|
|
318
359
|
// we cannot use the selected key as reference since table can be refreshed by SideEffects
|
|
@@ -322,18 +363,10 @@ class MultipleModeControl extends Control {
|
|
|
322
363
|
const eventMacroAPI = tableEvent?.getSource() as MacroAPI;
|
|
323
364
|
const targetKey = eventMacroAPI ? this._getTabFromInnerControl(eventMacroAPI)?.getKey() : this.content?.getSelectedKey();
|
|
324
365
|
|
|
325
|
-
this.getAllInnerControls(true).forEach((oMacroAPI) => {
|
|
366
|
+
this.getAllInnerControls(true).forEach((oMacroAPI): void => {
|
|
326
367
|
const oIconTabFilter = this._getTabFromInnerControl(oMacroAPI);
|
|
327
|
-
if (
|
|
328
|
-
|
|
329
|
-
oIconTabFilter.setCount("...");
|
|
330
|
-
oMacroAPI
|
|
331
|
-
.getCounts()
|
|
332
|
-
.then((iCount: string) => oIconTabFilter.setCount(iCount || "0"))
|
|
333
|
-
.catch(function (oError: any) {
|
|
334
|
-
Log.error("Error while requesting Counts for Control", oError);
|
|
335
|
-
});
|
|
336
|
-
}
|
|
368
|
+
if (this.countsOutDated || targetKey === oIconTabFilter?.getKey()) {
|
|
369
|
+
this.refreshTabCount(oMacroAPI);
|
|
337
370
|
}
|
|
338
371
|
});
|
|
339
372
|
this.setCountsOutDated(false);
|