ps-toolkit-ui 1.20.49 → 1.20.50

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.
@@ -134,6 +134,12 @@ export var TableCollType;
134
134
  TableCollType[TableCollType["Month"] = 18] = "Month";
135
135
  TableCollType[TableCollType["Year"] = 19] = "Year";
136
136
  })(TableCollType || (TableCollType = {}));
137
+ export var TableExportType;
138
+ (function (TableExportType) {
139
+ TableExportType[TableExportType["Print"] = 0] = "Print";
140
+ TableExportType[TableExportType["Excel"] = 1] = "Excel";
141
+ TableExportType[TableExportType["Pdf"] = 2] = "Pdf";
142
+ })(TableExportType || (TableExportType = {}));
137
143
  export var UserType;
138
144
  (function (UserType) {
139
145
  UserType[UserType["All"] = 0] = "All";
@@ -242,4 +248,4 @@ export var FileIcons;
242
248
  FileIcons["zip"] = "fad fa-file-zipper";
243
249
  FileIcons["rar"] = "fad fa-file-zipper";
244
250
  })(FileIcons || (FileIcons = {}));
245
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW51bS5jbGFzcy5qcyIsInNvdXJjZVJvb3QiOiJEOi9Qc1Rvb2xraXQvVUkvcHJvamVjdHMvcHMtdG9vbGtpdC11aS9zcmMvIiwic291cmNlcyI6WyJsaWIvY2xhc3Nlcy9lbnVtLmNsYXNzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLFdBQVc7QUFDWCxNQUFNLE9BQU8sU0FBUztJQUNwQixNQUFNLENBQUMsU0FBUyxDQUFDLE9BQVk7UUFDM0IsT0FBTyxTQUFTLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQ2pFLENBQUM7SUFDRCxNQUFNLENBQUMsYUFBYSxDQUFDLE9BQVksRUFBRSxDQUFDO1FBQ2xDLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDL0QsQ0FBQztJQUNELE1BQU0sQ0FBQyxPQUFPLENBQUMsT0FBWTtRQUN6QixPQUFPLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsT0FBTyxPQUFPLENBQUMsR0FBRyxDQUFDLEtBQUssUUFBUSxDQUFDLENBQUM7SUFDOUUsQ0FBQztJQUNELE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFZO1FBQ2xDLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUU7WUFDckMsT0FBTztnQkFDTCxHQUFHLEVBQUUsS0FBSyxFQUFFLE9BQU8sQ0FBQyxHQUFHLENBQUM7YUFDekIsQ0FBQztRQUNKLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztDQUNGO0FBRUQsTUFBTSxDQUFOLElBQVksVUFpQlg7QUFq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QUE7QUFDVixDQUFDLEVBWFcsV0FBVyxLQUFYLFdBQVcsUUFXdEI7QUFDRCxNQUFNLENBQU4sSUFBWSxlQUtYO0FBTEQsV0FBWSxlQUFlO0lBRXpCLHlEQUFVLENBQUE7SUFDVixxREFBUSxDQUFBO0lBQ1IsdURBQVMsQ0FBQTtBQUNYLENBQUMsRUFMVyxlQUFlLEtBQWYsZUFBZSxRQUsxQjtBQUVELE1BQU0sQ0FBTixJQUFZLGNBR1g7QUFIRCxXQUFZLGNBQWM7SUFFeEIsdURBQVUsQ0FBQTtBQUNaLENBQUMsRUFIVyxjQUFjLEtBQWQsY0FBYyxRQUd6QjtBQUdELE1BQU0sQ0FBTixJQUFZLFNBZ0JYO0FBaEJELFdBQVksU0FBUztJQUNuQix1Q0FBMEIsQ0FBQTtJQUMxQixzQ0FBeUIsQ0FBQTtJQUN6QixzQ0FBeUIsQ0FBQTtJQUN6QixxQ0FBd0IsQ0FBQTtJQUN4QixzQ0FBeUIsQ0FBQTtJQUN6QixzQ0FBeUIsQ0FBQTtJQUN6Qix1Q0FBMEIsQ0FBQTtJQUMxQixvQ0FBdUIsQ0FBQTtJQUN2QiwyQ0FBOEIsQ0FBQTtJQUM5Qiw0Q0FBK0IsQ0FBQTtJQUMvQixzQ0FBeUIsQ0FBQTtJQUN6QixvQ0FBdUIsQ0FBQTtJQUN2QixpQ0FBb0IsQ0FBQTtJQUNwQix1Q0FBMEIsQ0FBQTtJQUMxQix1Q0FBMEIsQ0FBQTtBQUM1QixDQUFDLEVBaEJXLFNBQVMsS0FBVCxTQUFTLFFBZ0JwQiIsInNvdXJjZXNDb250ZW50IjpbIi8vIEBkeW5hbWljXHJcbmV4cG9ydCBjbGFzcyBFbnVtVXRpbHMge1xyXG4gIHN0YXRpYyBnZXRWYWx1ZXMoZW51bU9iajogYW55KTogYW55W10ge1xyXG4gICAgcmV0dXJuIEVudW1VdGlscy5nZXRLZXlzKGVudW1PYmopLm1hcCh2YWx1ZSA9PiBlbnVtT2JqW3ZhbHVlXSk7XHJcbiAgfVxyXG4gIHN0YXRpYyBnZXRLZXlCeVZhbHVlKGVudW1PYmo6IGFueSwgdik6IGFueVtdIHtcclxuICAgIHJldHVybiB0aGlzLmdldEtleXMoZW51bU9iaikuZmluZChrZXkgPT4gZW51bU9ialtrZXldID09PSB2KTtcclxuICB9XHJcbiAgc3RhdGljIGdldEtleXMoZW51bU9iajogYW55KTogYW55W10ge1xyXG4gICAgcmV0dXJuIE9iamVjdC5rZXlzKGVudW1PYmopLmZpbHRlcihrZXkgPT4gdHlwZW9mIGVudW1PYmpba2V5XSA9PT0gJ251bWJlcicpO1xyXG4gIH1cclxuICBzdGF0aWMgZ2V0S2V5c0FuZFZhbHVlcyhlbnVtT2JqOiBhbnkpOiBhbnlbXSB7XHJcbiAgICByZXR1cm4gdGhpcy5nZXRLZXlzKGVudW1PYmopLm1hcChrZXkgPT4ge1xyXG4gICAgICByZXR1cm4ge1xyXG4gICAgICAgIGtleSwgdmFsdWU6IGVudW1PYmpba2V5XVxyXG4gICAgICB9O1xyXG4gICAgfSk7XHJcbiAgfVxyXG59XHJcblxyXG5leHBvcnQgZW51bSBJbnB1dEVycm9yIHtcclxuICBSZXF1aXJlZCA9ICdSZXF1aXJlZCcsXHJcbiAgSW52YWxpZCA9ICdJbnZhbGlkJyxcclxuICBMZW5ndGggPSAnTGVuZ3RoJyxcclxuICBNaW5MZW5ndGggPSAnTWluTGVuZ3RoJyxcclxuICBNYXhMZW5ndGggPSAnTWF4TGVuZ3RoJyxcclxuICBNaW5BbW91bnQgPSAnTWluQW1vdW50JyxcclxuICBNYXhBbW91bnQgPSAnTWF4QW1vdW50JyxcclxuICBFeHBpcmVkID0gJ0V4cGlyZWQnLFxyXG4gIEVycm9yID0gJ0Vycm9yJyxcclxuICBOb3RNYXRjaCA9ICdOb3RNYXRjaCcsXHJcbiAgTm90QWxsb3dlZCA9ICdOb3RBbGxvd2VkJyxcclxuICBNYXhDb250ZW50ID0gJ01heENvbnRlbnQnLFxyXG4gIEV4aXN0ID0gJ0V4aXN0JyxcclxuICBOb3RFeGlzdCA9ICdOb3RFeGlzdCcsXHJcbiAgV3JvbmcgPSAnV3JvbmcnLFxyXG4gIFVwbG9hZCA9ICdVcGxvYWQnLFxyXG59XHJcblxyXG5leHBvcnQgZW51bSBJbnB1dFR5cGUge1xyXG4gIFRleHQsXHJcbiAgUGFzc3dvcmQsXHJcbiAgTW9iaWxlLFxyXG4gIFBob25lLFxyXG4gIEVtYWlsLFxyXG4gIE5hdGlvbmFsQ29kZSxcclxuICBOYXRpb25hbE51bSxcclxuICBOYXRpb25hbENvZGVOdW0sXHJcbiAgRWNvbm9taWNOdW0sXHJcbiAgUG9zdGFsQ29kZSxcclxuICBTaGViYSxcclxuICBOdW1iZXIsXHJcbiAgU2VsZWN0LFxyXG4gIFNlbGVjdFNlYXJjaCxcclxuICBTZWxlY3RBdXRvQ29tcGxldGUsXHJcbiAgRGF0ZSxcclxuICBNb250aCxcclxuICBZZWFyLFxyXG4gIFRpbWUsXHJcbiAgRGF0ZVRpbWUsXHJcbiAgQ2hlY2ssXHJcbiAgVGV4dEFyZWEsXHJcbiAgTGFiZWwsXHJcbiAgQnV0dG9uLFxyXG4gIFN1Ym1pdCxcclxuICBJY29uLFxyXG4gIEZpbGUsXHJcbiAgVXJsLFxyXG4gIFByaWNlLFxyXG4gIFJhZGlvLFxyXG4gIFRyZWUsXHJcbiAgVHJlZVJhZGlvLFxyXG4gIFBsYXF1ZSxcclxuICBQbGFxdWVNLFxyXG4gIFBsYXF1ZUYsXHJcbiAgUGxhcXVlRyxcclxuICBTZWxlY3RBdXRvQ29tcGxldGVQbGFxdWUsXHJcbiAgU2VsZWN0QXV0b0NvbXBsZXRlUGxhcXVlTSxcclxuICBTZWxlY3RBdXRvQ29tcGxldGVQbGFxdWVGLFxyXG4gIFNlbGVjdEF1dG9Db21wbGV0ZVBsYXF1ZUcsXHJcbiAgQmFua0NhcmQsXHJcbiAgQ29uc3RhbnQsXHJcbiAgSGlkZGVuLFxyXG4gIFRhYmxlLFxyXG4gIFRhZyxcclxuICBWZWhpY2xlU2VhcmNoLFxyXG4gIFZlaGljbGUsXHJcbiAgRmluZ2VyLFxyXG4gIENvbG9yLFxyXG4gIFN0YXIsXHJcbiAgVG9nZ2xlLFxyXG4gIEJpbGxOdW1iZXIsXHJcbiAgQ2tlZGl0b3IsXHJcbiAgVXBsb2FkZXIsXHJcbiAgU2xpZGUsXHJcbiAgVXNlcm5hbWUsXHJcbn1cclxuXHJcbmV4cG9ydCBlbnVtIE9wZXJhdGlvbkVudW1cclxue1xyXG4gIEFsbCA9IC0xLFxyXG4gIEluc2VydCA9IDEsXHJcbiAgVXBkYXRlID0gMixcclxuICBEZWxldGUgPSAzLFxyXG59XHJcblxyXG5leHBvcnQgZW51bSBNZXRob2Qge1xyXG4gIEdldCxcclxuICBQb3N0LFxyXG4gIERlbGV0ZSxcclxuICBQdXQsXHJcbiAgT3B0aW9ucyxcclxuICBQYXRjaCxcclxufVxyXG5cclxuZXhwb3J0IGVudW0gVGFibGVDb2xsVHlwZSB7XHJcbiAgVGV4dCxcclxuICBEYXRlLFxyXG4gIFRpbWUsXHJcbiAgRGF0ZVRpbWUsXHJcbiAgRGF0ZURpZixcclxuICBEYXRlUmVtYWluLFxyXG4gIFVybCxcclxuICBJbWFnZSxcclxuICBGdW5jdGlvbixcclxuICBQcmljZSxcclxuICBQbGFxdWUsXHJcbiAgUGxhcXVlVGV4dCxcclxuICBGaWxlU2l6ZSxcclxuICBCb29sLFxyXG4gIE9wdGlvbnMsXHJcbiAgQ29sb3IsXHJcbiAgTnVtYmVyLFxyXG4gIEZpbGVzLFxyXG4gIE1vbnRoLFxyXG4gIFllYXIsXHJcbn1cclxuXHJcbmV4cG9ydCBlbnVtIFVzZXJUeXBlIHtcclxuICBBbGwgPSAwLFxyXG4gIEFkbWluID0gMSxcclxuICBVc2VyID0gMlxyXG59XHJcblxyXG5leHBvcnQgZW51bSBTdGF0dXNFbnVtXHJcbntcclxuICBBbGwgPSAtMSxcclxuICBBY3RpdmUgPSAwLFxyXG4gIERlQWN0aXZlID0gMSxcclxuICBEZWxldGUgPSAyLFxyXG4gIFJlcG9ydCA9IDMsXHJcbn1cclxuZXhwb3J0IGVudW0gUGF5bWVudFN0YXR1c0VudW1cclxue1xyXG4gIFJldHVybmVkID0gLTEsXHJcbiAgQWxsID0gMCxcclxuICBTdWNjZXNzID0gMTAwLFxyXG4gIE5PSyA9IDEwMixcclxuICBSZXF1ZXN0ID0gMTAzLFxyXG4gIE5vdGZvdW5kID0gMTA0LFxyXG4gIE5vdFJlcXVlc3QgPSAxMDUsXHJcbiAgTm90Zm91bmRQYWNrYWdlID0gMTA2XHJcbn1cclxuZXhwb3J0IGVudW0gUmVzdWx0U3RhdHVzRW51bVxyXG57XHJcbiAgRmFpbGVkID0gMCxcclxuICBTdWNjZXNzID0gMSxcclxuICBVbmF1dGhvcml6ZWQgPSAyLFxyXG4gIE5vdFBlcm1pc3Npb24gPSAzLFxyXG4gIE5vdEFjY2VzcyA9IDQsXHJcbiAgTm90UmVnaXN0ZXJlZCA9IDUsXHJcbiAgRXhwaXJlZFJlZ2lzdGVyZWQgPSA2LFxyXG4gIEludmFsaWRJcCA9IDcsXHJcbiAgTm9DcmVkaXQgPSA4XHJcbn1cclxuXHJcbmV4cG9ydCBlbnVtIFBlcm1pc3Npb25UeXBlRW51bVxyXG57XHJcbiAgRm9ybSA9IC0xLFxyXG4gIEl0ZW0gPSAwLFxyXG4gIEFjY2VzcyA9IDEsXHJcbiAgT3B0aW9uID0gMixcclxufVxyXG5cclxuZXhwb3J0IGVudW0gUGVybWlzc2lvbkFjY2Vzc1R5cGVFbnVtXHJcbntcclxuICBMaXN0ID0gMSxcclxuICBJbnNlcnQgPSAyLFxyXG4gIFVwZGF0ZSA9IDMsXHJcbiAgRGVsZXRlID0gNCxcclxuICBSZXBvcnQgPSA1LFxyXG59XHJcblxyXG5leHBvcnQgZW51bSBQZXJtaXNzaW9uSW5wdXRBY3Rpb25FbnVtXHJcbntcclxuICBOb25lID0gMCxcclxuICBPbkNsaWNrID0gMSxcclxuICBMaW5rID0gMixcclxuICBMaW5rTmV3VGFiID0gMyxcclxuICBGaWxlID0gNCxcclxuICBNb2RhbCA9IDUsXHJcbiAgQ29uZmlybSA9IDYsXHJcbiAgSW5wdXQgPSA3LFxyXG59XHJcblxyXG5leHBvcnQgZW51bSBQZXJtaXNzaW9uSW5wdXRUeXBlRW51bVxyXG57XHJcbiAgSWNvbiA9IDAsXHJcbiAgQnV0dG9uID0gMSxcclxufVxyXG5cclxuZXhwb3J0IGVudW0gVmVoaWNsZVR5cGVcclxue1xyXG4gIERyaXZlciA9IC0yLFxyXG4gIEZpbmdlcnByaW50ID0gLTEsXHJcbiAgQ2FyID0gMSxcclxuICBNb3RvcmN5Y2xlID0gMixcclxuICBBaXJwbGFuZSA9IDMsXHJcbiAgVHJhaW4gPSA0LFxyXG4gIFNoaXAgPSA1LFxyXG4gIENhckYgPSA2LFxyXG4gIENhckcgPSA3LFxyXG59XHJcbmV4cG9ydCBlbnVtIFRhYmxlT3B0aW9uVHlwZVxyXG57XHJcbiAgSGlkZGVuID0gMSxcclxuICBTaG93ID0gMixcclxuICBHcm91cCA9IDMsXHJcbn1cclxuXHJcbmV4cG9ydCBlbnVtIFRhYmxlUm93U3RhdHVzXHJcbntcclxuICBVbnJlYWQgPSAxLFxyXG59XHJcblxyXG5cclxuZXhwb3J0IGVudW0gRmlsZUljb25zIHtcclxuICBqcGVnID0gJ2ZhZCBmYS1maWxlLWltYWdlJyxcclxuICBqcGcgPSAnZmFkIGZhLWZpbGUtaW1hZ2UnLFxyXG4gIHBuZyA9ICdmYWQgZmEtZmlsZS1pbWFnZScsXHJcbiAgZG9jID0gJ2ZhZCBmYS1maWxlLXdvcmQnLFxyXG4gIGRvY3ggPSAnZmFkIGZhLWZpbGUtd29yZCcsXHJcbiAgeGxzID0gJ2ZhZCBmYS1maWxlLWV4Y2VsJyxcclxuICB4bHN4ID0gJ2ZhZCBmYS1maWxlLWV4Y2VsJyxcclxuICBjc3YgPSAnZmFkIGZhLWZpbGUtY3N2JyxcclxuICBwcHQgPSAnZmFkIGZhLWZpbGUtcG93ZXJwb2ludCcsXHJcbiAgcHB0eCA9ICdmYWQgZmEtZmlsZS1wb3dlcnBvaW50JyxcclxuICB0eHQgPSAnZmFkIGZhLWZpbGUtbGluZXMnLFxyXG4gIHBkZiA9ICdmYWQgZmEtZmlsZS1wZGYnLFxyXG4gIGZpbGUgPSAnZmFkIGZhLWZpbGUnLFxyXG4gIHppcCA9ICdmYWQgZmEtZmlsZS16aXBwZXInLFxyXG4gIHJhciA9ICdmYWQgZmEtZmlsZS16aXBwZXInLFxyXG59XHJcbiJdfQ==
251
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW51bS5jbGFzcy5qcyIsInNvdXJjZVJvb3QiOiJEOi9Qc1Rvb2xraXQvVUkvcHJvamVjdHMvcHMtdG9vbGtpdC11aS9zcmMvIiwic291cmNlcyI6WyJsaWIvY2xhc3Nlcy9lbnVtLmNsYXNzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLFdBQVc7QUFDWCxNQUFNLE9BQU8sU0FBUztJQUNwQixNQUFNLENBQUMsU0FBUyxDQUFDLE9BQVk7UUFDM0IsT0FBTyxTQUFTLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQ2pFLENBQUM7SUFDRCxNQUFNLENBQUMsYUFBYSxDQUFDLE9BQVksRUFBRSxDQUFDO1FBQ2xDLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDL0QsQ0FBQztJQUNELE1BQU0sQ0FBQyxPQUFPLENBQUMsT0FBWTtRQUN6QixPQUFPLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsT0FBTyxPQUFPLENBQUMsR0FBRyxDQUFDLEtBQUssUUFBUSxDQUFDLENBQUM7SUFDOUUsQ0FBQztJQUNELE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFZO1FBQ2xDLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUU7WUFDckMsT0FBTztnQkFDTCxHQUFHLEVBQUUsS0FBSyxFQUFFLE9BQU8sQ0FBQyxHQUFHLENBQUM7YUFDekIsQ0FBQztRQUNKLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztDQUNGO0FBRUQsTUFBTSxDQUFOLElBQVksVUFpQlg7QUFq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Q1gsNERBQWdCLENBQUE7SUFDaEIsMkNBQU8sQ0FBQTtJQUNQLHlEQUFjLENBQUE7SUFDZCxxREFBWSxDQUFBO0lBQ1osK0NBQVMsQ0FBQTtJQUNULDZDQUFRLENBQUE7SUFDUiw2Q0FBUSxDQUFBO0lBQ1IsNkNBQVEsQ0FBQTtBQUNWLENBQUMsRUFYVyxXQUFXLEtBQVgsV0FBVyxRQVd0QjtBQUNELE1BQU0sQ0FBTixJQUFZLGVBS1g7QUFMRCxXQUFZLGVBQWU7SUFFekIseURBQVUsQ0FBQTtJQUNWLHFEQUFRLENBQUE7SUFDUix1REFBUyxDQUFBO0FBQ1gsQ0FBQyxFQUxXLGVBQWUsS0FBZixlQUFlLFFBSzFCO0FBRUQsTUFBTSxDQUFOLElBQVksY0FHWDtBQUhELFdBQVksY0FBYztJQUV4Qix1REFBVSxDQUFBO0FBQ1osQ0FBQyxFQUhXLGNBQWMsS0FBZCxjQUFjLFFBR3pCO0FBR0QsTUFBTSxDQUFOLElBQVksU0FnQlg7QUFoQkQsV0FBWSxTQUFTO0lBQ25CLHVDQUEwQixDQUFBO0lBQzFCLHNDQUF5QixDQUFBO0lBQ3pCLHNDQUF5QixDQUFBO0lBQ3pCLHFDQUF3QixDQUFBO0lBQ3hCLHNDQUF5QixDQUFBO0lBQ3pCLHNDQUF5QixDQUFBO0lBQ3pCLHVDQUEwQixDQUFBO0lBQzFCLG9DQUF1QixDQUFBO0lBQ3ZCLDJDQUE4QixDQUFBO0lBQzlCLDRDQUErQixDQUFBO0lBQy9CLHNDQUF5QixDQUFBO0lBQ3pCLG9DQUF1QixDQUFBO0lBQ3ZCLGlDQUFvQixDQUFBO0lBQ3BCLHVDQUEwQixDQUFBO0lBQzFCLHVDQUEwQixDQUFBO0FBQzVCLENBQUMsRUFoQlcsU0FBUyxLQUFULFNBQVMsUUFnQnBCIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQGR5bmFtaWNcclxuZXhwb3J0IGNsYXNzIEVudW1VdGlscyB7XHJcbiAgc3RhdGljIGdldFZhbHVlcyhlbnVtT2JqOiBhbnkpOiBhbnlbXSB7XHJcbiAgICByZXR1cm4gRW51bVV0aWxzLmdldEtleXMoZW51bU9iaikubWFwKHZhbHVlID0+IGVudW1PYmpbdmFsdWVdKTtcclxuICB9XHJcbiAgc3RhdGljIGdldEtleUJ5VmFsdWUoZW51bU9iajogYW55LCB2KTogYW55W10ge1xyXG4gICAgcmV0dXJuIHRoaXMuZ2V0S2V5cyhlbnVtT2JqKS5maW5kKGtleSA9PiBlbnVtT2JqW2tleV0gPT09IHYpO1xyXG4gIH1cclxuICBzdGF0aWMgZ2V0S2V5cyhlbnVtT2JqOiBhbnkpOiBhbnlbXSB7XHJcbiAgICByZXR1cm4gT2JqZWN0LmtleXMoZW51bU9iaikuZmlsdGVyKGtleSA9PiB0eXBlb2YgZW51bU9ialtrZXldID09PSAnbnVtYmVyJyk7XHJcbiAgfVxyXG4gIHN0YXRpYyBnZXRLZXlzQW5kVmFsdWVzKGVudW1PYmo6IGFueSk6IGFueVtdIHtcclxuICAgIHJldHVybiB0aGlzLmdldEtleXMoZW51bU9iaikubWFwKGtleSA9PiB7XHJcbiAgICAgIHJldHVybiB7XHJcbiAgICAgICAga2V5LCB2YWx1ZTogZW51bU9ialtrZXldXHJcbiAgICAgIH07XHJcbiAgICB9KTtcclxuICB9XHJcbn1cclxuXHJcbmV4cG9ydCBlbnVtIElucHV0RXJyb3Ige1xyXG4gIFJlcXVpcmVkID0gJ1JlcXVpcmVkJyxcclxuICBJbnZhbGlkID0gJ0ludmFsaWQnLFxyXG4gIExlbmd0aCA9ICdMZW5ndGgnLFxyXG4gIE1pbkxlbmd0aCA9ICdNaW5MZW5ndGgnLFxyXG4gIE1heExlbmd0aCA9ICdNYXhMZW5ndGgnLFxyXG4gIE1pbkFtb3VudCA9ICdNaW5BbW91bnQnLFxyXG4gIE1heEFtb3VudCA9ICdNYXhBbW91bnQnLFxyXG4gIEV4cGlyZWQgPSAnRXhwaXJlZCcsXHJcbiAgRXJyb3IgPSAnRXJyb3InLFxyXG4gIE5vdE1hdGNoID0gJ05vdE1hdGNoJyxcclxuICBOb3RBbGxvd2VkID0gJ05vdEFsbG93ZWQnLFxyXG4gIE1heENvbnRlbnQgPSAnTWF4Q29udGVudCcsXHJcbiAgRXhpc3QgPSAnRXhpc3QnLFxyXG4gIE5vdEV4aXN0ID0gJ05vdEV4aXN0JyxcclxuICBXcm9uZyA9ICdXcm9uZycsXHJcbiAgVXBsb2FkID0gJ1VwbG9hZCcsXHJcbn1cclxuXHJcbmV4cG9ydCBlbnVtIElucHV0VHlwZSB7XHJcbiAgVGV4dCxcclxuICBQYXNzd29yZCxcclxuICBNb2JpbGUsXHJcbiAgUGhvbmUsXHJcbiAgRW1haWwsXHJcbiAgTmF0aW9uYWxDb2RlLFxyXG4gIE5hdGlvbmFsTnVtLFxyXG4gIE5hdGlvbmFsQ29kZU51bSxcclxuICBFY29ub21pY051bSxcclxuICBQb3N0YWxDb2RlLFxyXG4gIFNoZWJhLFxyXG4gIE51bWJlcixcclxuICBTZWxlY3QsXHJcbiAgU2VsZWN0U2VhcmNoLFxyXG4gIFNlbGVjdEF1dG9Db21wbGV0ZSxcclxuICBEYXRlLFxyXG4gIE1vbnRoLFxyXG4gIFllYXIsXHJcbiAgVGltZSxcclxuICBEYXRlVGltZSxcclxuICBDaGVjayxcclxuICBUZXh0QXJlYSxcclxuICBMYWJlbCxcclxuICBCdXR0b24sXHJcbiAgU3VibWl0LFxyXG4gIEljb24sXHJcbiAgRmlsZSxcclxuICBVcmwsXHJcbiAgUHJpY2UsXHJcbiAgUmFkaW8sXHJcbiAgVHJlZSxcclxuICBUcmVlUmFkaW8sXHJcbiAgUGxhcXVlLFxyXG4gIFBsYXF1ZU0sXHJcbiAgUGxhcXVlRixcclxuICBQbGFxdWVHLFxyXG4gIFNlbGVjdEF1dG9Db21wbGV0ZVBsYXF1ZSxcclxuICBTZWxlY3RBdXRvQ29tcGxldGVQbGFxdWVNLFxyXG4gIFNlbGVjdEF1dG9Db21wbGV0ZVBsYXF1ZUYsXHJcbiAgU2VsZWN0QXV0b0NvbXBsZXRlUGxhcXVlRyxcclxuICBCYW5rQ2FyZCxcclxuICBDb25zdGFudCxcclxuICBIaWRkZW4sXHJcbiAgVGFibGUsXHJcbiAgVGFnLFxyXG4gIFZlaGljbGVTZWFyY2gsXHJcbiAgVmVoaWNsZSxcclxuICBGaW5nZXIsXHJcbiAgQ29sb3IsXHJcbiAgU3RhcixcclxuICBUb2dnbGUsXHJcbiAgQmlsbE51bWJlcixcclxuICBDa2VkaXRvcixcclxuICBVcGxvYWRlcixcclxuICBTbGlkZSxcclxuICBVc2VybmFtZSxcclxufVxyXG5cclxuZXhwb3J0IGVudW0gT3BlcmF0aW9uRW51bVxyXG57XHJcbiAgQWxsID0gLTEsXHJcbiAgSW5zZXJ0ID0gMSxcclxuICBVcGRhdGUgPSAyLFxyXG4gIERlbGV0ZSA9IDMsXHJcbn1cclxuXHJcbmV4cG9ydCBlbnVtIE1ldGhvZCB7XHJcbiAgR2V0LFxyXG4gIFBvc3QsXHJcbiAgRGVsZXRlLFxyXG4gIFB1dCxcclxuICBPcHRpb25zLFxyXG4gIFBhdGNoLFxyXG59XHJcblxyXG5leHBvcnQgZW51bSBUYWJsZUNvbGxUeXBlIHtcclxuICBUZXh0LFxyXG4gIERhdGUsXHJcbiAgVGltZSxcclxuICBEYXRlVGltZSxcclxuICBEYXRlRGlmLFxyXG4gIERhdGVSZW1haW4sXHJcbiAgVXJsLFxyXG4gIEltYWdlLFxyXG4gIEZ1bmN0aW9uLFxyXG4gIFByaWNlLFxyXG4gIFBsYXF1ZSxcclxuICBQbGFxdWVUZXh0LFxyXG4gIEZpbGVTaXplLFxyXG4gIEJvb2wsXHJcbiAgT3B0aW9ucyxcclxuICBDb2xvcixcclxuICBOdW1iZXIsXHJcbiAgRmlsZXMsXHJcbiAgTW9udGgsXHJcbiAgWWVhcixcclxufVxyXG5cclxuZXhwb3J0IGVudW0gVGFibGVFeHBvcnRUeXBlIHtcclxuICBQcmludCA9IDAsXHJcbiAgRXhjZWwgPSAxLFxyXG4gIFBkZiA9IDJcclxufVxyXG5cclxuZXhwb3J0IGVudW0gVXNlclR5cGUge1xyXG4gIEFsbCA9IDAsXHJcbiAgQWRtaW4gPSAxLFxyXG4gIFVzZXIgPSAyXHJcbn1cclxuXHJcbmV4cG9ydCBlbnVtIFN0YXR1c0VudW1cclxue1xyXG4gIEFsbCA9IC0xLFxyXG4gIEFjdGl2ZSA9IDAsXHJcbiAgRGVBY3RpdmUgPSAxLFxyXG4gIERlbGV0ZSA9IDIsXHJcbiAgUmVwb3J0ID0gMyxcclxufVxyXG5leHBvcnQgZW51bSBQYXltZW50U3RhdHVzRW51bVxyXG57XHJcbiAgUmV0dXJuZWQgPSAtMSxcclxuICBBbGwgPSAwLFxyXG4gIFN1Y2Nlc3MgPSAxMDAsXHJcbiAgTk9LID0gMTAyLFxyXG4gIFJlcXVlc3QgPSAxMDMsXHJcbiAgTm90Zm91bmQgPSAxMDQsXHJcbiAgTm90UmVxdWVzdCA9IDEwNSxcclxuICBOb3Rmb3VuZFBhY2thZ2UgPSAxMDZcclxufVxyXG5leHBvcnQgZW51bSBSZXN1bHRTdGF0dXNFbnVtXHJcbntcclxuICBGYWlsZWQgPSAwLFxyXG4gIFN1Y2Nlc3MgPSAxLFxyXG4gIFVuYXV0aG9yaXplZCA9IDIsXHJcbiAgTm90UGVybWlzc2lvbiA9IDMsXHJcbiAgTm90QWNjZXNzID0gNCxcclxuICBOb3RSZWdpc3RlcmVkID0gNSxcclxuICBFeHBpcmVkUmVnaXN0ZXJlZCA9IDYsXHJcbiAgSW52YWxpZElwID0gNyxcclxuICBOb0NyZWRpdCA9IDhcclxufVxyXG5cclxuZXhwb3J0IGVudW0gUGVybWlzc2lvblR5cGVFbnVtXHJcbntcclxuICBGb3JtID0gLTEsXHJcbiAgSXRlbSA9IDAsXHJcbiAgQWNjZXNzID0gMSxcclxuICBPcHRpb24gPSAyLFxyXG59XHJcblxyXG5leHBvcnQgZW51bSBQZXJtaXNzaW9uQWNjZXNzVHlwZUVudW1cclxue1xyXG4gIExpc3QgPSAxLFxyXG4gIEluc2VydCA9IDIsXHJcbiAgVXBkYXRlID0gMyxcclxuICBEZWxldGUgPSA0LFxyXG4gIFJlcG9ydCA9IDUsXHJcbn1cclxuXHJcbmV4cG9ydCBlbnVtIFBlcm1pc3Npb25JbnB1dEFjdGlvbkVudW1cclxue1xyXG4gIE5vbmUgPSAwLFxyXG4gIE9uQ2xpY2sgPSAxLFxyXG4gIExpbmsgPSAyLFxyXG4gIExpbmtOZXdUYWIgPSAzLFxyXG4gIEZpbGUgPSA0LFxyXG4gIE1vZGFsID0gNSxcclxuICBDb25maXJtID0gNixcclxuICBJbnB1dCA9IDcsXHJcbn1cclxuXHJcbmV4cG9ydCBlbnVtIFBlcm1pc3Npb25JbnB1dFR5cGVFbnVtXHJcbntcclxuICBJY29uID0gMCxcclxuICBCdXR0b24gPSAxLFxyXG59XHJcblxyXG5leHBvcnQgZW51bSBWZWhpY2xlVHlwZVxyXG57XHJcbiAgRHJpdmVyID0gLTIsXHJcbiAgRmluZ2VycHJpbnQgPSAtMSxcclxuICBDYXIgPSAxLFxyXG4gIE1vdG9yY3ljbGUgPSAyLFxyXG4gIEFpcnBsYW5lID0gMyxcclxuICBUcmFpbiA9IDQsXHJcbiAgU2hpcCA9IDUsXHJcbiAgQ2FyRiA9IDYsXHJcbiAgQ2FyRyA9IDcsXHJcbn1cclxuZXhwb3J0IGVudW0gVGFibGVPcHRpb25UeXBlXHJcbntcclxuICBIaWRkZW4gPSAxLFxyXG4gIFNob3cgPSAyLFxyXG4gIEdyb3VwID0gMyxcclxufVxyXG5cclxuZXhwb3J0IGVudW0gVGFibGVSb3dTdGF0dXNcclxue1xyXG4gIFVucmVhZCA9IDEsXHJcbn1cclxuXHJcblxyXG5leHBvcnQgZW51bSBGaWxlSWNvbnMge1xyXG4gIGpwZWcgPSAnZmFkIGZhLWZpbGUtaW1hZ2UnLFxyXG4gIGpwZyA9ICdmYWQgZmEtZmlsZS1pbWFnZScsXHJcbiAgcG5nID0gJ2ZhZCBmYS1maWxlLWltYWdlJyxcclxuICBkb2MgPSAnZmFkIGZhLWZpbGUtd29yZCcsXHJcbiAgZG9jeCA9ICdmYWQgZmEtZmlsZS13b3JkJyxcclxuICB4bHMgPSAnZmFkIGZhLWZpbGUtZXhjZWwnLFxyXG4gIHhsc3ggPSAnZmFkIGZhLWZpbGUtZXhjZWwnLFxyXG4gIGNzdiA9ICdmYWQgZmEtZmlsZS1jc3YnLFxyXG4gIHBwdCA9ICdmYWQgZmEtZmlsZS1wb3dlcnBvaW50JyxcclxuICBwcHR4ID0gJ2ZhZCBmYS1maWxlLXBvd2VycG9pbnQnLFxyXG4gIHR4dCA9ICdmYWQgZmEtZmlsZS1saW5lcycsXHJcbiAgcGRmID0gJ2ZhZCBmYS1maWxlLXBkZicsXHJcbiAgZmlsZSA9ICdmYWQgZmEtZmlsZScsXHJcbiAgemlwID0gJ2ZhZCBmYS1maWxlLXppcHBlcicsXHJcbiAgcmFyID0gJ2ZhZCBmYS1maWxlLXppcHBlcicsXHJcbn1cclxuIl19
@@ -1,6 +1,6 @@
1
1
  import { Component, EventEmitter, Input, Output, ViewChild } from '@angular/core';
2
2
  import { Router } from '@angular/router';
3
- import { InputType, Method, PermissionAccessTypeEnum, TableCollType, TableOptionType } from '../../classes/enum.class';
3
+ import { InputType, Method, PermissionAccessTypeEnum, TableCollType, TableExportType, TableOptionType } from '../../classes/enum.class';
4
4
  import { InputClass } from '../../classes/form.class';
5
5
  import * as $ from 'jquery';
6
6
  import { ModalClass } from '../../classes/modal.class';
@@ -80,49 +80,15 @@ export class TableComponent {
80
80
  this.export.onClick = () => {
81
81
  $(this.exportDropDown.nativeElement).slideToggle();
82
82
  };
83
+ this.pdf.onClick = () => {
84
+ this.exportTable(TableExportType.Pdf);
85
+ };
83
86
  this.excel.onClick = () => {
84
- this.table.excel();
87
+ this.exportTable(TableExportType.Excel);
85
88
  };
86
89
  this.print.onClick = () => {
87
- const getWidthValue = (str) => {
88
- const matches = [...str.matchAll(/w-(\d+)(?:-(\d+))?/g)];
89
- if (!matches.length) {
90
- return null;
91
- }
92
- const max = matches.reduce((best, m) => {
93
- const first = +m[1];
94
- const second = +m[2] || null;
95
- if (!best || first > best.first) {
96
- return { first, second };
97
- }
98
- return best;
99
- }, null);
100
- const s = (max.second || max.first);
101
- return s == null ? 100 : s;
102
- };
103
- const url = this.table.permissions.getAccess(PermissionAccessTypeEnum.List).Url.replace('/list', '/report').replace('-list', '-report');
104
- const data = this.table.searchData();
105
- data.Page = 1;
106
- data.PerPage = -1;
107
- data.Cols = this.table.cols.map(x => {
108
- return {
109
- Name: x.name,
110
- TrnName: this.table.l(x.name),
111
- Width: getWidthValue(x.class),
112
- Type: x.type,
113
- };
114
- });
115
- new RequestClass(this.table.environment, this.table.l).send(url, Method.Post, data, this.print, (result) => {
116
- window.open(this.table.environment.url + '/report' + url + '?reportId=' + result, '_blank');
117
- }, () => { });
90
+ this.exportTable(TableExportType.Print);
118
91
  };
119
- $(document).mouseup((e) => {
120
- const container = $(this.exportDropDown.nativeElement);
121
- // @ts-ignore
122
- if (!container.is(e.target) && container.has(e.target).length === 0) {
123
- container.slideUp(100);
124
- }
125
- });
126
92
  this.maximum.onClick = () => {
127
93
  $(this.tableDiv.nativeElement).toggleClass('maximum');
128
94
  this.maximum.icon = this.maximum.name === 'Minimum' ? 'fad fa-arrows-maximize' : 'fad fa-arrows-minimize';
@@ -135,6 +101,40 @@ export class TableComponent {
135
101
  this.confirm.show(l, url, data, accept);
136
102
  };
137
103
  }
104
+ exportTable(type) {
105
+ const getWidthValue = (str) => {
106
+ const matches = [...str.matchAll(/w-(\d+)(?:-(\d+))?/g)];
107
+ if (!matches.length) {
108
+ return null;
109
+ }
110
+ const max = matches.reduce((best, m) => {
111
+ const first = +m[1];
112
+ const second = +m[2] || null;
113
+ if (!best || first > best.first) {
114
+ return { first, second };
115
+ }
116
+ return best;
117
+ }, null);
118
+ const s = (max.second || max.first);
119
+ return s == null ? 100 : s;
120
+ };
121
+ const url = this.table.permissions.getAccess(PermissionAccessTypeEnum.List).Url.replace('/list', '/export').replace('-list', '-export');
122
+ const data = this.table.searchData();
123
+ data.Page = 1;
124
+ data.PerPage = -1;
125
+ data.Type = type;
126
+ data.Cols = this.table.cols.map(x => {
127
+ return {
128
+ Name: x.name,
129
+ TrnName: this.table.l(x.name),
130
+ Width: getWidthValue(x.class),
131
+ Type: x.type,
132
+ };
133
+ });
134
+ new RequestClass(this.table.environment, this.table.l).send(url, Method.Post, data, this.print, (result) => {
135
+ window.open(this.table.environment.url + '/report' + url + '?reportId=' + result, '_blank');
136
+ }, () => { });
137
+ }
138
138
  allChecked() {
139
139
  return this.table.rows.filter(x => !x.checked).length === 0;
140
140
  }
@@ -234,4 +234,4 @@ TableComponent.propDecorators = {
234
234
  exportDropDown: [{ type: ViewChild, args: ['exportDropDown',] }],
235
235
  confirm: [{ type: ViewChild, args: ['confirm',] }]
236
236
  };
237
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IkQ6L1BzVG9vbGtpdC9VSS9wcm9qZWN0cy9wcy10b29sa2l0LXVpL3NyYy8iLCJzb3VyY2VzIjpbImxpYi9jb21wb25lbnRzL3RhYmxlL3RhYmxlLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFjLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLFNBQVMsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUNwRyxPQUFPLEVBQUMsTUFBTSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFFdkMsT0FBTyxFQUFDLFNBQVMsRUFBRSxNQUFNLEVBQUUsd0JBQXdCLEVBQUUsYUFBYSxFQUFFLGVBQWUsRUFBQyxNQUFNLDBCQUEwQixDQUFDO0FBQ3JILE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSwwQkFBMEIsQ0FBQztBQUNwRCxPQUFPLEtBQUssQ0FBQyxNQUFNLFFBQVEsQ0FBQztBQUU1QixPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sMkJBQTJCLENBQUM7QUFDckQsT0FBTywwQkFBMEIsQ0FBQztBQUNsQyxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0sNkJBQTZCLENBQUM7QUFDekQsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLGdDQUFnQyxDQUFDO0FBTy9ELE1BQU0sT0FBTyxjQUFjO0lBbUJ6QixZQUFtQixNQUFjO1FBQWQsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQWZqQyxlQUFVLEdBQUcsSUFBSSxZQUFZLEVBQVUsQ0FBQztRQWN4QyxXQUFNLEdBQWUsSUFBSSxDQUFDO0lBRTFCLENBQUM7SUFmRCxJQUFJLElBQUksS0FBc0IsT0FBTyxTQUFTLENBQUMsQ0FBQyxDQUFDO0lBQ2pELElBQUksZUFBZSxLQUE0QixPQUFPLGVBQWUsQ0FBQyxDQUFDLENBQUM7SUFDeEUsSUFBSSxPQUFPLEtBQTBCLE9BQU8sYUFBYSxDQUFDLENBQUMsQ0FBQztJQWU1RCxR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QyxDQUFDLFdBQVcsQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO1NBQ2xFO0lBQ0gsQ0FBQzs7O1lBck9GLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsV0FBVztnQkFDckIsKzhLQUFxQzs7YUFFdEM7OztZQWZPLE1BQU07OztvQkFpQlgsS0FBSzt5QkFFTCxNQUFNO21CQUtOLFNBQVMsU0FBQyxNQUFNO3VCQUNoQixTQUFTLFNBQUMsVUFBVTs2QkFDcEIsU0FBUyxTQUFDLGdCQUFnQjtzQkFDMUIsU0FBUyxTQUFDLFNBQVMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgRWxlbWVudFJlZiwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQsIFZpZXdDaGlsZH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7Um91dGVyfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5pbXBvcnQge1RhYmxlQ2xhc3N9IGZyb20gJy4uLy4uL2NsYXNzZXMvdGFibGUuY2xhc3MnO1xyXG5pbXBvcnQge0lucHV0VHlwZSwgTWV0aG9kLCBQZXJtaXNzaW9uQWNjZXNzVHlwZUVudW0sIFRhYmxlQ29sbFR5cGUsIFRhYmxlT3B0aW9uVHlwZX0gZnJvbSAnLi4vLi4vY2xhc3Nlcy9lbnVtLmNsYXNzJztcclxuaW1wb3J0IHtJbnB1dENsYXNzfSBmcm9tICcuLi8uLi9jbGFzc2VzL2Zvcm0uY2xhc3MnO1xyXG5pbXBvcnQgKiBhcyAkIGZyb20gJ2pxdWVyeSc7XHJcbmltcG9ydCB7Q29uZmlybUNvbXBvbmVudH0gZnJvbSAnLi4vY29uZmlybS9jb25maXJtLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7TW9kYWxDbGFzc30gZnJvbSAnLi4vLi4vY2xhc3Nlcy9tb2RhbC5jbGFzcyc7XHJcbmltcG9ydCAnanF1ZXJ5LXVpLWRpc3QvanF1ZXJ5LXVpJztcclxuaW1wb3J0IHtSZXF1ZXN0Q2xhc3N9IGZyb20gJy4uLy4uL2NsYXNzZXMvcmVxdWVzdC5jbGFzcyc7XHJcbmltcG9ydCB7UGVybWlzc2lvbkNsYXNzfSBmcm9tICcuLi8uLi9jbGFzc2VzL3Blcm1pc3Npb24uY2xhc3MnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdsaWItdGFibGUnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi90YWJsZS5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vdGFibGUuY29tcG9uZW50LmNzcyddXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBUYWJsZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdHtcclxuICBASW5wdXQoKVxyXG4gIHRhYmxlOiBUYWJsZUNsYXNzO1xyXG4gIEBPdXRwdXQoKVxyXG4gIGNoYW5nZVJvd3MgPSBuZXcgRXZlbnRFbWl0dGVyPG9iamVjdD4oKTtcclxuICBnZXQgdHlwZSgpOiB0eXBlb2YgSW5wdXRUeXBleyByZXR1cm4gSW5wdXRUeXBlOyB9XHJcbiAgZ2V0IHRhYmxlT3B0aW9uVHlwZSgpOiB0eXBlb2YgVGFibGVPcHRpb25UeXBleyByZXR1cm4gVGFibGVPcHRpb25UeXBlOyB9XHJcbiAgZ2V0IGNvbFR5cGUoKTogdHlwZW9mIFRhYmxlQ29sbFR5cGV7IHJldHVybiBUYWJsZUNvbGxUeXBlOyB9XHJcbiAgQFZpZXdDaGlsZCgncm93cycpIHJvd3M6IEVsZW1lbnRSZWY7XHJcbiAgQFZpZXdDaGlsZCgndGFibGVEaXYnKSB0YWJsZURpdjogRWxlbWVudFJlZjtcclxuICBAVmlld0NoaWxkKCdleHBvcnREcm9wRG93bicpIGV4cG9ydERyb3BEb3duOiBFbGVtZW50UmVmO1xyXG4gIEBWaWV3Q2hpbGQoJ2NvbmZpcm0nKSBjb25maXJtOiBDb25maXJtQ29tcG9uZW50O1xyXG4gIHJlbG9hZDogSW5wdXRDbGFzcztcclxuICBleGNlbDogSW5wdXRDbGFzcztcclxuICBwZGY6IElucHV0Q2xhc3M7XHJcbiAgcHJpbnQ6IElucHV0Q2xhc3M7XHJcbiAgbWF4aW11bTogSW5wdXRDbGFzcztcclxuICBleHBlcnRTZWFyY2g6IElucHV0Q2xhc3M7XHJcbiAgZXhwb3J0OiBJbnB1dENsYXNzID0gbnVsbDtcclxuICBjb25zdHJ1Y3RvcihwdWJsaWMgcm91dGVyOiBSb3V0ZXIpIHtcclxuICB9XHJcbiAgb3B0aW9uczogSW5wdXRDbGFzc1tdO1xyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5yZWxvYWQgPSBuZXcgSW5wdXRDbGFzcyh0aGlzLnRhYmxlLmVudmlyb25tZW50LCB0aGlzLnRhYmxlLmwsICdSZWxvYWQnLCAnZmFkIGZhLXN5bmMtYWx0JywgSW5wdXRUeXBlLkljb24sICdtLXItMTAtcCcpO1xyXG4gICAgdGhpcy5leHBvcnQgPSBuZXcgSW5wdXRDbGFzcyh0aGlzLnRhYmxlLmVudmlyb25tZW50LCB0aGlzLnRhYmxlLmwsICdFeHBvcnQnLCAnZmFkIGZhLWRvd25sb2FkIGYtcy0yMScsIElucHV0VHlwZS5JY29uLCAnbS1yLTEwLXAgZXhwb3J0LWRyb3Bkb3duLWljb24nKTtcclxuICAgIHRoaXMuZXhjZWwgPSBuZXcgSW5wdXRDbGFzcyh0aGlzLnRhYmxlLmVudmlyb25tZW50LCB0aGlzLnRhYmxlLmwsICdFeHBvcnRFeGNlbCcsICdmYWQgZmEtZmlsZS1leGNlbCBmLXMtMjEnLCBJbnB1dFR5cGUuQnV0dG9uLCAnd2hpdGUgZi1zLTExIGgtMzUgcC0wJyk7XHJcbiAgICAvLyB0aGlzLmV4Y2VsID0gbmV3IElucHV0Q2xhc3ModGhpcy50YWJsZS5lbnZpcm9ubWVudCwgdGhpcy50YWJsZS5sLCAnRXhwb3J0RXhjZWwnLCAnZmFkIGZhLWZpbGUtZXhjZWwgZi1zLTIxJywgSW5wdXRUeXBlLkljb24sICdtLXItMTAtcCcpO1xyXG4gICAgdGhpcy5wZGYgPSBuZXcgSW5wdXRDbGFzcyh0aGlzLnRhYmxlLmVudmlyb25tZW50LCB0aGlzLnRhYmxlLmwsICdFeHBvcnRQZGYnLCAnZmFkIGZhLWZpbGUtcGRmIGYtcy0yMScsIElucHV0VHlwZS5CdXR0b24sICd3aGl0ZSBmLXMtMTEgaC0zNSBwLTAnKTtcclxuICAgIHRoaXMucHJpbnQgPSBuZXcgSW5wdXRDbGFzcyh0aGlzLnRhYmxlLmVudmlyb25tZW50LCB0aGlzLnRhYmxlLmwsICdFeHBvcnRQcmludCcsICdmYWQgZmEtZmlsZS1saW5lcyBmLXMtMjEnLCBJbnB1dFR5cGUuQnV0dG9uLCAnd2hpdGUgZi1zLTExIGgtMzUgcC0wJyk7XHJcbiAgICB0aGlzLm1heGltdW0gPSBuZXcgSW5wdXRDbGFzcyh0aGlzLnRhYmxlLmVudmlyb25tZW50LCB0aGlzLnRhYmxlLmwsICdNYXhpbXVtJywgJ2ZhZCBmYS1hcnJvd3MtbWF4aW1pemUnLCBJbnB1dFR5cGUuSWNvbiwgJ20tci0xMC1wJyk7XHJcbiAgICB0aGlzLmV4cGVydFNlYXJjaCA9IG5ldyBJbnB1dENsYXNzKHRoaXMudGFibGUuZW52aXJvbm1lbnQsIHRoaXMudGFibGUubCwgJ0V4cGVydFNlYXJjaCcsICdmYWQgZmEtbWFnbmlmeWluZy1nbGFzcycsIElucHV0VHlwZS5JY29uLCAnbS1yLTEwLXAnKTtcclxuICAgIHRoaXMudGFibGUuc2V0Q29scygpO1xyXG4gICAgaWYgKHRoaXMudGFibGUuc29ydGFibGUpe1xyXG4gICAgICB0aGlzLnRhYmxlLnBlclBhZ2UgPSAtMTtcclxuICAgICAgdGhpcy50YWJsZS5vbkxvYWQgPSAoKSA9PiB7XHJcbiAgICAgICAgdGhpcy5zZXRTb3J0YWJsZSgpO1xyXG4gICAgICB9O1xyXG4gICAgfVxyXG4gICAgdGhpcy50YWJsZS5zZXQodGhpcy5jaGFuZ2VSb3dzKTtcclxuICAgIGlmICh0aGlzLnRhYmxlLnNlYXJjaEZvcm0pe1xyXG4gICAgICB0aGlzLnRhYmxlLnNlYXJjaEZvcm0uZGlzcGxheUxhYmVsID0gdGhpcy50YWJsZS5leHBlcnRTZWFyY2g7XHJcbiAgICAgIHRoaXMudGFibGUuc2VhcmNoRm9ybS5jbGFzcyA9ICh0aGlzLnRhYmxlLnNlYXJjaEZvcm0uY2xhc3MgPyB0aGlzLnRhYmxlLnNlYXJjaEZvcm0uY2xhc3MgOiAnJykgKyAodGhpcy50YWJsZS5leHBlcnRTZWFyY2ggPyAnJyA6ICcgcC0wJyk7XHJcbiAgICAgIGlmICh0aGlzLnRhYmxlLmV4cGVydFNlYXJjaCl7XHJcbiAgICAgICAgY29uc3QgcyA9IG5ldyBJbnB1dENsYXNzKHRoaXMudGFibGUuZW52aXJvbm1lbnQsIHRoaXMudGFibGUubCwgJ1NlYXJjaCcsICdmYWQgZmEtbWFnbmlmeWluZy1nbGFzcycsIElucHV0VHlwZS5TdWJtaXQsICdibHVlIGgtMzAnKTtcclxuICAgICAgICBzLnN0eWxlID0ge3RvcDogJzIwcHgnLCBsZWZ0OiAnNXB4JywgcG9zaXRpb246ICdhYnNvbHV0ZScsIHdpZHRoOiAnNTAlJ307XHJcbiAgICAgICAgdGhpcy50YWJsZS5zZWFyY2hGb3JtLmlucHV0cy5wdXNoKHMpO1xyXG4gICAgICAgIHRoaXMudGFibGUuc2VhcmNoRm9ybS5uYW1lID0gJ0V4cGVydFNlYXJjaCc7XHJcbiAgICAgIH1cclxuICAgICAgdGhpcy50YWJsZS5zZWFyY2hGb3JtLmlucHV0cy5mb3JFYWNoKHggPT4ge1xyXG4gICAgICAgIGNvbnN0IGhhc1N1Ym1pdCA9IHRoaXMudGFibGUuc2VhcmNoRm9ybS5pbnB1dHMuc29tZShzID0+IHMudHlwZSA9PT0gSW5wdXRUeXBlLlN1Ym1pdCk7XHJcbiAgICAgICAgeC5yZXF1aXJlZCA9IGZhbHNlO1xyXG4gICAgICAgIHguZGlzcGxheUxhYmVsID0gdGhpcy50YWJsZS5leHBlcnRTZWFyY2g7XHJcbiAgICAgICAgeC5jbGFzcyA9IHguY2xhc3MgKyAnIHNlYXJjaC1mb3JtLWlucCcgKyAodGhpcy50YWJsZS5leHBlcnRTZWFyY2ggJiYgeC50eXBlICE9PSBJbnB1dFR5cGUuU3VibWl0ID8gJyBwLTAnIDogJycpO1xyXG4gICAgICAgIHgud2l0aENsZWFyID0gIWhhc1N1Ym1pdCB8fCB0aGlzLnRhYmxlLmV4cGVydFNlYXJjaDtcclxuICAgICAgICBpZiAoIWhhc1N1Ym1pdCl7XHJcbiAgICAgICAgICBpZiAoeC5vbkNoYW5nZSA9PSBudWxsKXtcclxuICAgICAgICAgICAgeC5vbkNoYW5nZSA9ICgpID0+IHtcclxuICAgICAgICAgICAgICB0aGlzLnRhYmxlLmxvYWQoKTtcclxuICAgICAgICAgICAgfTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKHgudHlwZSA9PT0gSW5wdXRUeXBlLlN1Ym1pdCl7XHJcbiAgICAgICAgICB4Lm9uQ2xpY2sgPSAoKSA9PiB7XHJcbiAgICAgICAgICAgIGlmICh0aGlzLnRhYmxlLnNlYXJjaEZvcm0ub25CZWZvcmVTdWJtaXQgJiYgIXRoaXMudGFibGUuc2VhcmNoRm9ybS5vbkJlZm9yZVN1Ym1pdCgpKXtcclxuICAgICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgdGhpcy50YWJsZS5sb2FkKHgpO1xyXG4gICAgICAgICAgfTtcclxuICAgICAgICAgIC8vIHRoaXMudGFibGUuc2VhcmNoRm9ybS5zdWJtaXQgPSAoKSA9PiB7XHJcbiAgICAgICAgICAvLyAgIGNvbnNvbGUubG9nKCd0aGlzLnRhYmxlLnNlYXJjaEZvcm0uc3VibWl0Jyk7XHJcbiAgICAgICAgICAvLyAgIGlmICh0aGlzLnRhYmxlLnNlYXJjaEZvcm0ub25CZWZvcmVTdWJtaXQgJiYgIXRoaXMudGFibGUuc2VhcmNoRm9ybS5vbkJlZm9yZVN1Ym1pdCgpKXtcclxuICAgICAgICAgIC8vICAgICByZXR1cm47XHJcbiAgICAgICAgICAvLyAgIH1cclxuICAgICAgICAgIC8vICAgdGhpcy50YWJsZS5sb2FkKHgpO1xyXG4gICAgICAgICAgLy8gICAkKHRoaXMudGFibGVEaXYubmF0aXZlRWxlbWVudCkucmVtb3ZlQ2xhc3MoJ3Nob3ctZXhwZXJ0LXNlYXJjaCcpO1xyXG4gICAgICAgICAgLy8gfTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gICAgdGhpcy5vcHRpb25zID0gdGhpcy5nZXRPcHRpb25zKCk7XHJcbiAgICB0aGlzLnJlbG9hZC5vbkNsaWNrID0gKCkgPT4ge1xyXG4gICAgICB0aGlzLnRhYmxlLmxvYWQodGhpcy5yZWxvYWQpO1xyXG4gICAgfTtcclxuICAgIHRoaXMuZXhwb3J0Lm9uQ2xpY2sgPSAoKSA9PiB7XHJcbiAgICAgICQodGhpcy5leHBvcnREcm9wRG93bi5uYXRpdmVFbGVtZW50KS5zbGlkZVRvZ2dsZSgpO1xyXG4gICAgfTtcclxuICAgIHRoaXMuZXhjZWwub25DbGljayA9ICgpID0+IHtcclxuICAgICAgdGhpcy50YWJsZS5leGNlbCgpO1xyXG4gICAgfTtcclxuICAgIHRoaXMucHJpbnQub25DbGljayA9ICgpID0+IHtcclxuICAgICAgY29uc3QgZ2V0V2lkdGhWYWx1ZSA9IChzdHIpID0+IHtcclxuICAgICAgICBjb25zdCBtYXRjaGVzID0gWy4uLnN0ci5tYXRjaEFsbCgvdy0oXFxkKykoPzotKFxcZCspKT8vZyldO1xyXG4gICAgICAgIGlmICghbWF0Y2hlcy5sZW5ndGgpIHtcclxuICAgICAgICAgIHJldHVybiBudWxsO1xyXG4gICAgICAgIH1cclxuICAgICAgICBjb25zdCBtYXggPSBtYXRjaGVzLnJlZHVjZSgoYmVzdCwgbSkgPT4ge1xyXG4gICAgICAgICAgY29uc3QgZmlyc3QgPSArbVsxXTtcclxuICAgICAgICAgIGNvbnN0IHNlY29uZCA9ICttWzJdIHx8IG51bGw7XHJcbiAgICAgICAgICBpZiAoIWJlc3QgfHwgZmlyc3QgPiBiZXN0LmZpcnN0KXtcclxuICAgICAgICAgICAgcmV0dXJuIHsgZmlyc3QsIHNlY29uZCB9O1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgcmV0dXJuIGJlc3Q7XHJcbiAgICAgICAgfSwgbnVsbCk7XHJcbiAgICAgICAgY29uc3QgcyA9IChtYXguc2Vjb25kIHx8IG1heC5maXJzdCk7XHJcbiAgICAgICAgcmV0dXJuIHMgPT0gbnVsbCA/IDEwMCA6IHM7XHJcbiAgICAgIH07XHJcblxyXG4gICAgICBjb25zdCB1cmwgPSB0aGlzLnRhYmxlLnBlcm1pc3Npb25zLmdldEFjY2VzcyhQZXJtaXNzaW9uQWNjZXNzVHlwZUVudW0uTGlzdCkuVXJsLnJlcGxhY2UoJy9saXN0JywgJy9yZXBvcnQnKS5yZXBsYWNlKCctbGlzdCcsICctcmVwb3J0Jyk7XHJcbiAgICAgIGNvbnN0IGRhdGE6IGFueSA9IHRoaXMudGFibGUuc2VhcmNoRGF0YSgpO1xyXG4gICAgICBkYXRhLlBhZ2UgPSAxO1xyXG4gICAgICBkYXRhLlBlclBhZ2UgPSAtMTtcclxuICAgICAgZGF0YS5Db2xzID0gdGhpcy50YWJsZS5jb2xzLm1hcCh4ID0+IHtcclxuICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgTmFtZTogeC5uYW1lLFxyXG4gICAgICAgICAgVHJuTmFtZTogdGhpcy50YWJsZS5sKHgubmFtZSksXHJcbiAgICAgICAgICBXaWR0aDogZ2V0V2lkdGhWYWx1ZSh4LmNsYXNzKSxcclxuICAgICAgICAgIFR5cGU6IHgudHlwZSxcclxuICAgICAgICB9O1xyXG4gICAgICB9KTtcclxuXHJcbiAgICAgIG5ldyBSZXF1ZXN0Q2xhc3ModGhpcy50YWJsZS5lbnZpcm9ubWVudCwgdGhpcy50YWJsZS5sKS5zZW5kKHVybCwgTWV0aG9kLlBvc3QsIGRhdGEsIHRoaXMucHJpbnQsIChyZXN1bHQpID0+IHtcclxuICAgICAgICB3aW5kb3cub3Blbih0aGlzLnRhYmxlLmVudmlyb25tZW50LnVybCArICcvcmVwb3J0JyArIHVybCArICc/cmVwb3J0SWQ9JyArIHJlc3VsdCwgJ19ibGFuaycpO1xyXG4gICAgICB9LCAoKSA9PiB7fSk7XHJcbiAgICB9O1xyXG5cclxuICAgICQoZG9jdW1lbnQpLm1vdXNldXAoKGUpID0+IHtcclxuICAgICAgY29uc3QgY29udGFpbmVyID0gJCh0aGlzLmV4cG9ydERyb3BEb3duLm5hdGl2ZUVsZW1lbnQpO1xyXG4gICAgICAvLyBAdHMtaWdub3JlXHJcbiAgICAgIGlmICghY29udGFpbmVyLmlzKGUudGFyZ2V0KSAmJiBjb250YWluZXIuaGFzKGUudGFyZ2V0KS5sZW5ndGggPT09IDApXHJcbiAgICAgIHtcclxuICAgICAgICBjb250YWluZXIuc2xpZGVVcCgxMDApO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICAgIHRoaXMubWF4aW11bS5vbkNsaWNrID0gKCkgPT4ge1xyXG4gICAgICAkKHRoaXMudGFibGVEaXYubmF0aXZlRWxlbWVudCkudG9nZ2xlQ2xhc3MoJ21heGltdW0nKTtcclxuICAgICAgdGhpcy5tYXhpbXVtLmljb24gPSB0aGlzLm1heGltdW0ubmFtZSA9PT0gJ01pbmltdW0nID8gJ2ZhZCBmYS1hcnJvd3MtbWF4aW1pemUnIDogJ2ZhZCBmYS1hcnJvd3MtbWluaW1pemUnO1xyXG4gICAgICB0aGlzLm1heGltdW0ubmFtZSA9IHRoaXMubWF4aW11bS5uYW1lID09PSAnTWluaW11bScgPyAnTWF4aW11bScgOiAnTWluaW11bSc7XHJcbiAgICB9O1xyXG4gICAgdGhpcy5leHBlcnRTZWFyY2gub25DbGljayA9ICgpID0+IHtcclxuICAgICAgJCh0aGlzLnRhYmxlRGl2Lm5hdGl2ZUVsZW1lbnQpLmFkZENsYXNzKCdzaG93LWV4cGVydC1zZWFyY2gnKTtcclxuICAgIH07XHJcbiAgICB0aGlzLnRhYmxlLnNob3dDb25maXJtID0gKGw6IHN0cmluZywgdXJsOiBzdHJpbmcsIGRhdGEsIGFjY2VwdDogKHJlc3VsdDogYW55KSA9PiB2b2lkKSA9PiB7XHJcbiAgICAgIHRoaXMuY29uZmlybS5zaG93KGwsIHVybCwgZGF0YSwgYWNjZXB0KTtcclxuICAgIH07XHJcbiAgfVxyXG4gIGFsbENoZWNrZWQoKTogYm9vbGVhbntcclxuICAgIHJldHVybiB0aGlzLnRhYmxlLnJvd3MuZmlsdGVyKHggPT4gIXguY2hlY2tlZCkubGVuZ3RoID09PSAwO1xyXG4gIH1cclxuICBpc0NoZWNrZWQoKTogYm9vbGVhbntcclxuICAgIHJldHVybiB0aGlzLnRhYmxlLnJvd3MuZmlsdGVyKHggPT4geC5jaGVja2VkKS5sZW5ndGggPiAwO1xyXG4gIH1cclxuICBjaGVja0FsbCgpOiB2b2lke1xyXG4gICAgaWYgKHRoaXMudGFibGUucm93cy5maWx0ZXIoeCA9PiAheC5jaGVja2VkKS5sZW5ndGggPT09IDApe1xyXG4gICAgICB0aGlzLnRhYmxlLnJvd3MuZm9yRWFjaCh4ID0+IHguY2hlY2tlZCA9IGZhbHNlKTtcclxuICAgIH1lbHNle1xyXG4gICAgICB0aGlzLnRhYmxlLnJvd3MuZm9yRWFjaCh4ID0+IHguY2hlY2tlZCA9IHRydWUpO1xyXG4gICAgfVxyXG4gIH1cclxuICBnZXRPcHRpb25zKCk6IElucHV0Q2xhc3NbXXtcclxuICAgIHJldHVybiBbXTtcclxuICB9XHJcbiAgc2V0U29ydGFibGUoKTogdm9pZHtcclxuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAvLyBAdHMtaWdub3JlXHJcbiAgICAgICQodGhpcy5yb3dzLm5hdGl2ZUVsZW1lbnQpLnNvcnRhYmxlKHtcclxuICAgICAgICBheGlzOiAneScsXHJcbiAgICAgICAgaXRlbXM6ICcucm93JyxcclxuICAgICAgICBoYW5kbGU6ICc+IC5oYW5kbGUtY29uID4gLmhhbmRsZS5oYW5kbGUtc29ydGFibGUnLFxyXG4gICAgICAgIHVwZGF0ZTogKCkgPT4ge1xyXG4gICAgICAgICAgY29uc3QgZGF0YSA9IFtdO1xyXG4gICAgICAgICAgLy8gQHRzLWlnbm9yZVxyXG4gICAgICAgICAgJCh0aGlzLnJvd3MubmF0aXZlRWxlbWVudCkuc29ydGFibGUoJ3RvQXJyYXknLCB7YXR0cmlidXRlOiAnZGF0YS1pZCd9KS5mb3JFYWNoKHggPT4ge1xyXG4gICAgICAgICAgICBkYXRhLnB1c2gocGFyc2VJbnQoeCwgMTApKTtcclxuICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgY29uc3QgcCA9IG5ldyBQZXJtaXNzaW9uQ2xhc3MoKTtcclxuICAgICAgICAgIHAuQXJlYSA9IHRoaXMudGFibGUucGVybWlzc2lvbnMuQXJlYTtcclxuICAgICAgICAgIHAuQ29udHJvbGxlciA9IHRoaXMudGFibGUucGVybWlzc2lvbnMuQ29udHJvbGxlcjtcclxuICAgICAgICAgIHAuUmVsYXRlZElkID0gdGhpcy50YWJsZS5wZXJtaXNzaW9ucy5SZWxhdGVkSWQ7XHJcbiAgICAgICAgICBwLkFjdGlvbiA9IHRoaXMudGFibGUucGVybWlzc2lvbnMuQWN0aW9uID8gdGhpcy50YWJsZS5wZXJtaXNzaW9ucy5BY3Rpb24gKyAnLXNvcnQnIDogJ3NvcnQnO1xyXG4gICAgICAgICAgbmV3IFJlcXVlc3RDbGFzcyh0aGlzLnRhYmxlLmVudmlyb25tZW50LCB0aGlzLnRhYmxlLmwpLnNlbmQocC5nZXRVcmwoKS50b0xvd2VyQ2FzZSgpLCBNZXRob2QuUG9zdCwge0lkczogZGF0YX0sIG51bGwsICgpID0+IHtcclxuICAgICAgICAgICAgaWYgKHRoaXMudGFibGUub25Tb3J0KXtcclxuICAgICAgICAgICAgICB0aGlzLnRhYmxlLm9uU29ydCgpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9LCAoKSA9PiB7fSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KS5kaXNhYmxlU2VsZWN0aW9uKCk7XHJcbiAgICB9LCA1MDApO1xyXG4gIH1cclxuICBnZXRSb3dzKCk6IGFueVtde1xyXG4gICAgY29uc3QgYyA9IHRoaXMudGFibGUucm93cy5maWx0ZXIoeCA9PiAheC5EYXRhLlBhcmVudElkKTtcclxuICAgIGMuZm9yRWFjaCgoeCwgaSkgPT4geC5Sb3dOdW0gPSBjLmxlbmd0aCAtIGkgKyAxKTtcclxuICAgIHJldHVybiBjO1xyXG4gIH1cclxuICAvLyBnZXRPcHRpb25Nb2RhbHMoKTogSW5wdXRDbGFzc1tde1xyXG4gIC8vICAgY29uc3QgbW9kYWxzID0gW107XHJcbiAgLy8gICBmb3IgKGNvbnN0IFtrZXksIHZhbHVlXSBvZiBPYmplY3QuZW50cmllcyh0aGlzLnRhYmxlLm9wdGlvbkFjdGlvbnMpKSB7XHJcbiAgLy8gICAgIGlmICh0aGlzLnRhYmxlLm9wdGlvbkFjdGlvbnNba2V5XS5tb2RhbCl7XHJcbiAgLy8gICAgICAgbW9kYWxzLnB1c2godGhpcy50YWJsZS5vcHRpb25BY3Rpb25zW2tleV0ubW9kYWwpO1xyXG4gIC8vICAgICB9XHJcbiAgLy8gICB9XHJcbiAgLy8gICByZXR1cm4gbW9kYWxzO1xyXG4gIC8vIH1cclxuICBvbkNoYW5nZVJvd3MoZSk6IHZvaWR7XHJcbiAgICByZXR1cm4gdGhpcy5jaGFuZ2VSb3dzLmVtaXQoZSk7XHJcbiAgfVxyXG4gIG9uQ29uZmlybVNob3coZSk6IHZvaWR7XHJcbiAgICB0aGlzLmNvbmZpcm0uc2hvdyh0aGlzLnRhYmxlLmwoZS5hY3Rpb24gKyAnQ29uZmlybScpLCBlLnVybCwgZS5kYXRhLCBlLmFjY2VwdCk7XHJcbiAgfVxyXG4gIGNoYW5nZVNvcnQoZSwgczogc3RyaW5nKTogdm9pZHtcclxuICAgIGlmICgkKGUudGFyZ2V0KS5jbG9zZXN0KCcuaGVhZGVyLXNlYXJjaCcpLmhhc0NsYXNzKCdoZWFkZXItc2VhcmNoJykpe1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICB0aGlzLnRhYmxlLnNvcnRUeXBlID0gdGhpcy50YWJsZS5zb3J0ID09PSBzID8gdGhpcy50YWJsZS5zb3J0VHlwZSA9PT0gJ0FTQycgPyAnREVTQycgOiBudWxsIDogJ0FTQyc7XHJcbiAgICB0aGlzLnRhYmxlLnNvcnQgPSB0aGlzLnRhYmxlLnNvcnRUeXBlID09IG51bGwgPyBudWxsIDogcztcclxuICAgIHRoaXMudGFibGUubG9hZCgpO1xyXG4gIH1cclxuICBnZXRNb2RhbHMoKTogTW9kYWxDbGFzc1tde1xyXG4gICAgcmV0dXJuIHRoaXMudGFibGUub3B0aW9uc0FjdGlvbnMuZmlsdGVyKHggPT4geCBpbnN0YW5jZW9mIE1vZGFsQ2xhc3MpO1xyXG4gIH1cclxuICBoaWRlRXhwZXJ0U2VhcmNoKGUpOiB2b2lke1xyXG4gICAgaWYgKHRoaXMudGFibGUuZXhwZXJ0U2VhcmNoICYmICQoZS50YXJnZXQpLmhhc0NsYXNzKCdzZWFyY2gtZm9ybScpKVxyXG4gICAge1xyXG4gICAgICAkKHRoaXMudGFibGVEaXYubmF0aXZlRWxlbWVudCkucmVtb3ZlQ2xhc3MoJ3Nob3ctZXhwZXJ0LXNlYXJjaCcpO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iXX0=
237
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IkQ6L1BzVG9vbGtpdC9VSS9wcm9qZWN0cy9wcy10b29sa2l0LXVpL3NyYy8iLCJzb3VyY2VzIjpbImxpYi9jb21wb25lbnRzL3RhYmxlL3RhYmxlLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFjLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLFNBQVMsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUNwRyxPQUFPLEVBQUMsTUFBTSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFFdkMsT0FBTyxFQUFDLFNBQVMsRUFBRSxNQUFNLEVBQUUsd0JBQXdCLEVBQUUsYUFBYSxFQUFFLGVBQWUsRUFBRSxlQUFlLEVBQUMsTUFBTSwwQkFBMEIsQ0FBQztBQUN0SSxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sMEJBQTBCLENBQUM7QUFDcEQsT0FBTyxLQUFLLENBQUMsTUFBTSxRQUFRLENBQUM7QUFFNUIsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLDJCQUEyQixDQUFDO0FBQ3JELE9BQU8sMEJBQTBCLENBQUM7QUFDbEMsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLDZCQUE2QixDQUFDO0FBQ3pELE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSxnQ0FBZ0MsQ0FBQztBQU8vRCxNQUFNLE9BQU8sY0FBYztJQW1CekIsWUFBbUIsTUFBYztRQUFkLFdBQU0sR0FBTixNQUFNLENBQVE7UUFmakMsZUFBVSxHQUFHLElBQUksWUFBWSxFQUFVLENBQUM7UUFjeEMsV0FBTSxHQUFlLElBQUksQ0FBQztJQUUxQixDQUFDO0lBZkQsSUFBSSxJQUFJLEtBQXNCLE9BQU8sU0FBUyxDQUFDLENBQUMsQ0FBQztJQUNqRCxJQUFJLGVBQWUsS0FBNEIsT0FBTyxlQUFlLENBQUMsQ0FBQyxDQUFDO0lBQ3hFLElBQUksT0FBTyxLQUEwQixPQUFPLGFBQWEsQ0FBQyxDQUFDLENBQUM7SUFlNUQsUUFBUTtRQUNOLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxVQUFVLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxXQUFXLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsUUFBUSxFQUFFLGlCQUFpQixFQUFFLFNBQVMsQ0FBQyxJQUFJLEVBQUUsVUFBVSxDQUFDLENBQUM7UUFDNUgsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLFVBQVUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLFdBQVcsRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxRQUFRLEVBQUUsd0JBQXdCLEVBQUUsU0FBUyxDQUFDLElBQUksRUFBRSwrQkFBK0IsQ0FBQyxDQUFDO1FBQ3hKLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxVQUFVLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxXQUFXLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsYUFBYSxFQUFFLDBCQUEwQixFQUFFLFNBQVMsQ0FBQyxNQUFNLEVBQUUsdUJBQXVCLENBQUMsQ0FBQztRQUN4Siw0SUFBNEk7UUFDNUksSUFBSSxDQUFDLEdBQUcsR0FBRyxJQUFJLFVBQVUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLFdBQVcsRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxXQUFXLEVBQUUsd0JBQXdCLEVBQUUsU0FBUyxDQUFDLE1BQU0sRUFBRSx1QkFBdUIsQ0FBQyxDQUFDO1FBQ2xKLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxVQUFVLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxXQUFXLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsYUFBYSxFQUFFLDBCQUEwQixFQUFFLFNBQVMsQ0FBQyxNQUFNLEVBQUUsdUJBQXVCLENBQUMsQ0FBQztRQUN4SixJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksVUFBVSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsV0FBVyxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLFNBQVMsRUFBRSx3QkFBd0IsRUFBRSxTQUFTLENBQUMsSUFBSSxFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBQ3JJLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxVQUFVLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxXQUFXLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsY0FBYyxFQUFFLHlCQUF5QixFQUFFLFNBQVMsQ0FBQyxJQUFJLEVBQUUsVUFBVSxDQUFDLENBQUM7UUFDaEosSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUNyQixJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxFQUFDO1lBQ3RCLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxHQUFHLENBQUMsQ0FBQyxDQUFDO1lBQ3hCLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxHQUFHLEdBQUcsRUFBRTtnQkFDdkIsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQ3JCLENBQUMsQ0FBQztTQUNIO1FBQ0QsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ2hDLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLEVBQUM7WUFDeEIsSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDO1lBQzdELElBQUksQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLEtBQUssR0FBRyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQ3pJLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxZQUFZLEVBQUM7Z0JBQzFCLE1BQU0sQ0FBQyxHQUFHLElBQUksVUFBVSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsV0FBVyxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLFFBQVEsRUFBRSx5QkFBeUIsRUFBRSxTQUFTLENBQUMsTUFBTSxFQUFFLFdBQVcsQ0FBQyxDQUFDO2dCQUNuSSxDQUFDLENBQUMsS0FBSyxHQUFHLEVBQUMsR0FBRyxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBQyxDQUFDO2dCQUN6RSxJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUNyQyxJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxJQUFJLEdBQUcsY0FBYyxDQUFDO2FBQzdDO1lBQ0QsSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRTtnQkFDdkMsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLEtBQUssU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDO2dCQUN0RixDQUFDLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQztnQkFDbkIsQ0FBQyxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLFlBQVksQ0FBQztnQkFDekMsQ0FBQyxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUMsS0FBSyxHQUFHLGtCQUFrQixHQUFHLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxZQUFZLElBQUksQ0FBQyxDQUFDLElBQUksS0FBSyxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDO2dCQUNoSCxDQUFDLENBQUMsU0FBUyxHQUFHLENBQUMsU0FBUyxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDO2dCQUNwRCxJQUFJLENBQUMsU0FBUyxFQUFDO29CQUNiLElBQUksQ0FBQyxDQUFDLFFBQVEsSUFBSSxJQUFJLEVBQUM7d0JBQ3JCLENBQUMsQ0FBQyxRQUFRLEdBQUcsR0FBRyxFQUFFOzRCQUNoQixJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxDQUFDO3dCQUNwQixDQUFDLENBQUM7cUJBQ0g7aUJBQ0Y7Z0JBQ0QsSUFBSSxDQUFDLENBQUMsSUFBSSxLQUFLLFNBQVMsQ0FBQyxNQUFNLEVBQUM7b0JBQzlCLENBQUMsQ0FBQyxPQUFPLEdBQUcsR0FBRyxFQUFFO3dCQUNmLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsY0FBYyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsY0FBYyxFQUFFLEVBQUM7NEJBQ2xGLE9BQU87eUJBQ1I7d0JBQ0QsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7b0JBQ3JCLENBQUMsQ0FBQztvQkFDRix5Q0FBeUM7b0JBQ3pDLGlEQUFpRDtvQkFDakQsMEZBQTBGO29CQUMxRixjQUFjO29CQUNkLE1BQU07b0JBQ04sd0JBQXdCO29CQUN4QixzRUFBc0U7b0JBQ3RFLEtBQUs7aUJBQ047WUFDSCxDQUFDLENBQUMsQ0FBQztTQUNKO1FBQ0QsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7UUFDakMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLEdBQUcsR0FBRyxFQUFFO1lBQ3pCLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUMvQixDQUFDLENBQUM7UUFDRixJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sR0FBRyxHQUFHLEVBQUU7WUFDekIsQ0FBQyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsYUFBYSxDQUFDLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDckQsQ0FBQyxDQUFDO1FBQ0YsSUFBSSxDQUFDLEdBQUcsQ0FBQyxPQUFPLEdBQUcsR0FBRyxFQUFFO1lBQ3RCLElBQUksQ0FBQyxXQUFXLENBQUMsZUFBZSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ3hDLENBQUMsQ0FBQztRQUNGLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxHQUFHLEdBQUcsRUFBRTtZQUN4QixJQUFJLENBQUMsV0FBVyxDQUFDLGVBQWUsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUMxQyxDQUFDLENBQUM7UUFDRixJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sR0FBRyxHQUFHLEVBQUU7WUFDeEIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxlQUFlLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDMUMsQ0FBQyxDQUFDO1FBRUYsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLEdBQUcsR0FBRyxFQUFFO1lBQzFCLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUN0RCxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksS0FBSyxTQUFTLENBQUMsQ0FBQyxDQUFDLHdCQUF3QixDQUFDLENBQUMsQ0FBQyx3QkFBd0IsQ0FBQztZQUMxRyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksS0FBSyxTQUFTLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO1FBQzlFLENBQUMsQ0FBQztRQUNGLElBQUksQ0FBQyxZQUFZLENBQUMsT0FBTyxHQUFHLEdBQUcsRUFBRTtZQUMvQixDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsQ0FBQyxRQUFRLENBQUMsb0JBQW9CLENBQUMsQ0FBQztRQUNoRSxDQUFDLENBQUM7UUFDRixJQUFJLENBQUMsS0FBSyxDQUFDLFdBQVcsR0FBRyxDQUFDLENBQVMsRUFBRSxHQUFXLEVBQUUsSUFBSSxFQUFFLE1BQTZCLEVBQUUsRUFBRTtZQUN2RixJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxNQUFNLENBQUMsQ0FBQztRQUMxQyxDQUFDLENBQUM7SUFDSixDQUFDO0lBQ0QsV0FBVyxDQUFDLElBQXFCO1FBQy9CLE1BQU0sYUFBYSxHQUFHLENBQUMsR0FBRyxFQUFFLEVBQUU7WUFDNUIsTUFBTSxPQUFPLEdBQUcsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxRQUFRLENBQUMscUJBQXFCLENBQUMsQ0FBQyxDQUFDO1lBQ3pELElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFO2dCQUNuQixPQUFPLElBQUksQ0FBQzthQUNiO1lBQ0QsTUFBTSxHQUFHLEdBQUcsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDLEVBQUUsRUFBRTtnQkFDckMsTUFBTSxLQUFLLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7Z0JBQ3BCLE1BQU0sTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQztnQkFDN0IsSUFBSSxDQUFDLElBQUksSUFBSSxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssRUFBQztvQkFDOUIsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsQ0FBQztpQkFDMUI7Z0JBQ0QsT0FBTyxJQUFJLENBQUM7WUFDZCxDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUM7WUFDVCxNQUFNLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxNQUFNLElBQUksR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ3BDLE9BQU8sQ0FBQyxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDN0IsQ0FBQyxDQUFDO1FBRUYsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsU0FBUyxDQUFDLHdCQUF3QixDQUFDLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUFFLFNBQVMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxPQUFPLEVBQUUsU0FBUyxDQUFDLENBQUM7UUFDeEksTUFBTSxJQUFJLEdBQVEsSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUMxQyxJQUFJLENBQUMsSUFBSSxHQUFHLENBQUMsQ0FBQztRQUNkLElBQUksQ0FBQyxPQUFPLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFDbEIsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7UUFDakIsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUU7WUFDbEMsT0FBTztnQkFDTCxJQUFJLEVBQUUsQ0FBQyxDQUFDLElBQUk7Z0JBQ1osT0FBTyxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7Z0JBQzdCLEtBQUssRUFBRSxhQUFhLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQztnQkFDN0IsSUFBSSxFQUFFLENBQUMsQ0FBQyxJQUFJO2FBQ2IsQ0FBQztRQUNKLENBQUMsQ0FBQyxDQUFDO1FBRUgsSUFBSSxZQUFZLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxXQUFXLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLE1BQU0sQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQyxNQUFNLEVBQUUsRUFBRTtZQUN6RyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLEdBQUcsR0FBRyxTQUFTLEdBQUcsR0FBRyxHQUFHLFlBQVksR0FBRyxNQUFNLEVBQUUsUUFBUSxDQUFDLENBQUM7UUFDOUYsQ0FBQyxFQUFFLEdBQUcsRUFBRSxHQUFFLENBQUMsQ0FBQyxDQUFDO0lBQ2YsQ0FBQztJQUNELFVBQVU7UUFDUixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLE1BQU0sS0FBSyxDQUFDLENBQUM7SUFDOUQsQ0FBQztJQUNELFNBQVM7UUFDUCxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO0lBQzNELENBQUM7SUFDRCxRQUFRO1FBQ04sSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFDO1lBQ3ZELElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDLENBQUM7U0FDakQ7YUFBSTtZQUNILElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLENBQUM7U0FDaEQ7SUFDSCxDQUFDO0lBQ0QsVUFBVTtRQUNSLE9BQU8sRUFBRSxDQUFDO0lBQ1osQ0FBQztJQUNELFdBQVc7UUFDVCxVQUFVLENBQUMsR0FBRyxFQUFFO1lBQ2QsYUFBYTtZQUNiLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDLFFBQVEsQ0FBQztnQkFDbEMsSUFBSSxFQUFFLEdBQUc7Z0JBQ1QsS0FBSyxFQUFFLE1BQU07Z0JBQ2IsTUFBTSxFQUFFLHlDQUF5QztnQkFDakQsTUFBTSxFQUFFLEdBQUcsRUFBRTtvQkFDWCxNQUFNLElBQUksR0FBRyxFQUFFLENBQUM7b0JBQ2hCLGFBQWE7b0JBQ2IsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUMsUUFBUSxDQUFDLFNBQVMsRUFBRSxFQUFDLFNBQVMsRUFBRSxTQUFTLEVBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRTt3QkFDakYsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUM7b0JBQzdCLENBQUMsQ0FBQyxDQUFDO29CQUNILE1BQU0sQ0FBQyxHQUFHLElBQUksZUFBZSxFQUFFLENBQUM7b0JBQ2hDLENBQUMsQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDO29CQUNyQyxDQUFDLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLFVBQVUsQ0FBQztvQkFDakQsQ0FBQyxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxTQUFTLENBQUM7b0JBQy9DLENBQUMsQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxNQUFNLEdBQUcsT0FBTyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUM7b0JBQzVGLElBQUksWUFBWSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsV0FBVyxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxXQUFXLEVBQUUsRUFBRSxNQUFNLENBQUMsSUFBSSxFQUFFLEVBQUMsR0FBRyxFQUFFLElBQUksRUFBQyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUU7d0JBQ3pILElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLEVBQUM7NEJBQ3BCLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxFQUFFLENBQUM7eUJBQ3JCO29CQUNILENBQUMsRUFBRSxHQUFHLEVBQUUsR0FBRSxDQUFDLENBQUMsQ0FBQztnQkFDZixDQUFDO2FBQ0YsQ0FBQyxDQUFDLGdCQUFnQixFQUFFLENBQUM7UUFDeEIsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDO0lBQ1YsQ0FBQztJQUNELE9BQU87UUFDTCxNQUFNLENBQUMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDeEQsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLE1BQU0sR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFDakQsT0FBTyxDQUFDLENBQUM7SUFDWCxDQUFDO0lBQ0QsbUNBQW1DO0lBQ25DLHVCQUF1QjtJQUN2QiwyRUFBMkU7SUFDM0UsZ0RBQWdEO0lBQ2hELDBEQUEwRDtJQUMxRCxRQUFRO0lBQ1IsTUFBTTtJQUNOLG1CQUFtQjtJQUNuQixJQUFJO0lBQ0osWUFBWSxDQUFDLENBQUM7UUFDWixPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ2pDLENBQUM7SUFDRCxhQUFhLENBQUMsQ0FBQztRQUNiLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLEdBQUcsU0FBUyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNqRixDQUFDO0lBQ0QsVUFBVSxDQUFDLENBQUMsRUFBRSxDQUFTO1FBQ3JCLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxPQUFPLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxRQUFRLENBQUMsZUFBZSxDQUFDLEVBQUM7WUFDbEUsT0FBTztTQUNSO1FBQ0QsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsS0FBSyxLQUFLLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7UUFDcEcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUN6RCxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3BCLENBQUM7SUFDRCxTQUFTO1FBQ1AsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLFlBQVksVUFBVSxDQUFDLENBQUM7SUFDeEUsQ0FBQztJQUNELGdCQUFnQixDQUFDLENBQUM7UUFDaEIsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLFlBQVksSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsRUFDbEU7WUFDRSxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsQ0FBQyxXQUFXLENBQUMsb0JBQW9CLENBQUMsQ0FBQztTQUNsRTtJQUNILENBQUM7OztZQXBPRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLFdBQVc7Z0JBQ3JCLCs4S0FBcUM7O2FBRXRDOzs7WUFmTyxNQUFNOzs7b0JBaUJYLEtBQUs7eUJBRUwsTUFBTTttQkFLTixTQUFTLFNBQUMsTUFBTTt1QkFDaEIsU0FBUyxTQUFDLFVBQVU7NkJBQ3BCLFNBQVMsU0FBQyxnQkFBZ0I7c0JBQzFCLFNBQVMsU0FBQyxTQUFTIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnQsIEVsZW1lbnRSZWYsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0LCBWaWV3Q2hpbGR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge1JvdXRlcn0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuaW1wb3J0IHtUYWJsZUNsYXNzfSBmcm9tICcuLi8uLi9jbGFzc2VzL3RhYmxlLmNsYXNzJztcclxuaW1wb3J0IHtJbnB1dFR5cGUsIE1ldGhvZCwgUGVybWlzc2lvbkFjY2Vzc1R5cGVFbnVtLCBUYWJsZUNvbGxUeXBlLCBUYWJsZUV4cG9ydFR5cGUsIFRhYmxlT3B0aW9uVHlwZX0gZnJvbSAnLi4vLi4vY2xhc3Nlcy9lbnVtLmNsYXNzJztcclxuaW1wb3J0IHtJbnB1dENsYXNzfSBmcm9tICcuLi8uLi9jbGFzc2VzL2Zvcm0uY2xhc3MnO1xyXG5pbXBvcnQgKiBhcyAkIGZyb20gJ2pxdWVyeSc7XHJcbmltcG9ydCB7Q29uZmlybUNvbXBvbmVudH0gZnJvbSAnLi4vY29uZmlybS9jb25maXJtLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7TW9kYWxDbGFzc30gZnJvbSAnLi4vLi4vY2xhc3Nlcy9tb2RhbC5jbGFzcyc7XHJcbmltcG9ydCAnanF1ZXJ5LXVpLWRpc3QvanF1ZXJ5LXVpJztcclxuaW1wb3J0IHtSZXF1ZXN0Q2xhc3N9IGZyb20gJy4uLy4uL2NsYXNzZXMvcmVxdWVzdC5jbGFzcyc7XHJcbmltcG9ydCB7UGVybWlzc2lvbkNsYXNzfSBmcm9tICcuLi8uLi9jbGFzc2VzL3Blcm1pc3Npb24uY2xhc3MnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdsaWItdGFibGUnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi90YWJsZS5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vdGFibGUuY29tcG9uZW50LmNzcyddXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBUYWJsZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdHtcclxuICBASW5wdXQoKVxyXG4gIHRhYmxlOiBUYWJsZUNsYXNzO1xyXG4gIEBPdXRwdXQoKVxyXG4gIGNoYW5nZVJvd3MgPSBuZXcgRXZlbnRFbWl0dGVyPG9iamVjdD4oKTtcclxuICBnZXQgdHlwZSgpOiB0eXBlb2YgSW5wdXRUeXBleyByZXR1cm4gSW5wdXRUeXBlOyB9XHJcbiAgZ2V0IHRhYmxlT3B0aW9uVHlwZSgpOiB0eXBlb2YgVGFibGVPcHRpb25UeXBleyByZXR1cm4gVGFibGVPcHRpb25UeXBlOyB9XHJcbiAgZ2V0IGNvbFR5cGUoKTogdHlwZW9mIFRhYmxlQ29sbFR5cGV7IHJldHVybiBUYWJsZUNvbGxUeXBlOyB9XHJcbiAgQFZpZXdDaGlsZCgncm93cycpIHJvd3M6IEVsZW1lbnRSZWY7XHJcbiAgQFZpZXdDaGlsZCgndGFibGVEaXYnKSB0YWJsZURpdjogRWxlbWVudFJlZjtcclxuICBAVmlld0NoaWxkKCdleHBvcnREcm9wRG93bicpIGV4cG9ydERyb3BEb3duOiBFbGVtZW50UmVmO1xyXG4gIEBWaWV3Q2hpbGQoJ2NvbmZpcm0nKSBjb25maXJtOiBDb25maXJtQ29tcG9uZW50O1xyXG4gIHJlbG9hZDogSW5wdXRDbGFzcztcclxuICBleGNlbDogSW5wdXRDbGFzcztcclxuICBwZGY6IElucHV0Q2xhc3M7XHJcbiAgcHJpbnQ6IElucHV0Q2xhc3M7XHJcbiAgbWF4aW11bTogSW5wdXRDbGFzcztcclxuICBleHBlcnRTZWFyY2g6IElucHV0Q2xhc3M7XHJcbiAgZXhwb3J0OiBJbnB1dENsYXNzID0gbnVsbDtcclxuICBjb25zdHJ1Y3RvcihwdWJsaWMgcm91dGVyOiBSb3V0ZXIpIHtcclxuICB9XHJcbiAgb3B0aW9uczogSW5wdXRDbGFzc1tdO1xyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5yZWxvYWQgPSBuZXcgSW5wdXRDbGFzcyh0aGlzLnRhYmxlLmVudmlyb25tZW50LCB0aGlzLnRhYmxlLmwsICdSZWxvYWQnLCAnZmFkIGZhLXN5bmMtYWx0JywgSW5wdXRUeXBlLkljb24sICdtLXItMTAtcCcpO1xyXG4gICAgdGhpcy5leHBvcnQgPSBuZXcgSW5wdXRDbGFzcyh0aGlzLnRhYmxlLmVudmlyb25tZW50LCB0aGlzLnRhYmxlLmwsICdFeHBvcnQnLCAnZmFkIGZhLWRvd25sb2FkIGYtcy0yMScsIElucHV0VHlwZS5JY29uLCAnbS1yLTEwLXAgZXhwb3J0LWRyb3Bkb3duLWljb24nKTtcclxuICAgIHRoaXMuZXhjZWwgPSBuZXcgSW5wdXRDbGFzcyh0aGlzLnRhYmxlLmVudmlyb25tZW50LCB0aGlzLnRhYmxlLmwsICdFeHBvcnRFeGNlbCcsICdmYWQgZmEtZmlsZS1leGNlbCBmLXMtMjEnLCBJbnB1dFR5cGUuQnV0dG9uLCAnd2hpdGUgZi1zLTExIGgtMzUgcC0wJyk7XHJcbiAgICAvLyB0aGlzLmV4Y2VsID0gbmV3IElucHV0Q2xhc3ModGhpcy50YWJsZS5lbnZpcm9ubWVudCwgdGhpcy50YWJsZS5sLCAnRXhwb3J0RXhjZWwnLCAnZmFkIGZhLWZpbGUtZXhjZWwgZi1zLTIxJywgSW5wdXRUeXBlLkljb24sICdtLXItMTAtcCcpO1xyXG4gICAgdGhpcy5wZGYgPSBuZXcgSW5wdXRDbGFzcyh0aGlzLnRhYmxlLmVudmlyb25tZW50LCB0aGlzLnRhYmxlLmwsICdFeHBvcnRQZGYnLCAnZmFkIGZhLWZpbGUtcGRmIGYtcy0yMScsIElucHV0VHlwZS5CdXR0b24sICd3aGl0ZSBmLXMtMTEgaC0zNSBwLTAnKTtcclxuICAgIHRoaXMucHJpbnQgPSBuZXcgSW5wdXRDbGFzcyh0aGlzLnRhYmxlLmVudmlyb25tZW50LCB0aGlzLnRhYmxlLmwsICdFeHBvcnRQcmludCcsICdmYWQgZmEtZmlsZS1saW5lcyBmLXMtMjEnLCBJbnB1dFR5cGUuQnV0dG9uLCAnd2hpdGUgZi1zLTExIGgtMzUgcC0wJyk7XHJcbiAgICB0aGlzLm1heGltdW0gPSBuZXcgSW5wdXRDbGFzcyh0aGlzLnRhYmxlLmVudmlyb25tZW50LCB0aGlzLnRhYmxlLmwsICdNYXhpbXVtJywgJ2ZhZCBmYS1hcnJvd3MtbWF4aW1pemUnLCBJbnB1dFR5cGUuSWNvbiwgJ20tci0xMC1wJyk7XHJcbiAgICB0aGlzLmV4cGVydFNlYXJjaCA9IG5ldyBJbnB1dENsYXNzKHRoaXMudGFibGUuZW52aXJvbm1lbnQsIHRoaXMudGFibGUubCwgJ0V4cGVydFNlYXJjaCcsICdmYWQgZmEtbWFnbmlmeWluZy1nbGFzcycsIElucHV0VHlwZS5JY29uLCAnbS1yLTEwLXAnKTtcclxuICAgIHRoaXMudGFibGUuc2V0Q29scygpO1xyXG4gICAgaWYgKHRoaXMudGFibGUuc29ydGFibGUpe1xyXG4gICAgICB0aGlzLnRhYmxlLnBlclBhZ2UgPSAtMTtcclxuICAgICAgdGhpcy50YWJsZS5vbkxvYWQgPSAoKSA9PiB7XHJcbiAgICAgICAgdGhpcy5zZXRTb3J0YWJsZSgpO1xyXG4gICAgICB9O1xyXG4gICAgfVxyXG4gICAgdGhpcy50YWJsZS5zZXQodGhpcy5jaGFuZ2VSb3dzKTtcclxuICAgIGlmICh0aGlzLnRhYmxlLnNlYXJjaEZvcm0pe1xyXG4gICAgICB0aGlzLnRhYmxlLnNlYXJjaEZvcm0uZGlzcGxheUxhYmVsID0gdGhpcy50YWJsZS5leHBlcnRTZWFyY2g7XHJcbiAgICAgIHRoaXMudGFibGUuc2VhcmNoRm9ybS5jbGFzcyA9ICh0aGlzLnRhYmxlLnNlYXJjaEZvcm0uY2xhc3MgPyB0aGlzLnRhYmxlLnNlYXJjaEZvcm0uY2xhc3MgOiAnJykgKyAodGhpcy50YWJsZS5leHBlcnRTZWFyY2ggPyAnJyA6ICcgcC0wJyk7XHJcbiAgICAgIGlmICh0aGlzLnRhYmxlLmV4cGVydFNlYXJjaCl7XHJcbiAgICAgICAgY29uc3QgcyA9IG5ldyBJbnB1dENsYXNzKHRoaXMudGFibGUuZW52aXJvbm1lbnQsIHRoaXMudGFibGUubCwgJ1NlYXJjaCcsICdmYWQgZmEtbWFnbmlmeWluZy1nbGFzcycsIElucHV0VHlwZS5TdWJtaXQsICdibHVlIGgtMzAnKTtcclxuICAgICAgICBzLnN0eWxlID0ge3RvcDogJzIwcHgnLCBsZWZ0OiAnNXB4JywgcG9zaXRpb246ICdhYnNvbHV0ZScsIHdpZHRoOiAnNTAlJ307XHJcbiAgICAgICAgdGhpcy50YWJsZS5zZWFyY2hGb3JtLmlucHV0cy5wdXNoKHMpO1xyXG4gICAgICAgIHRoaXMudGFibGUuc2VhcmNoRm9ybS5uYW1lID0gJ0V4cGVydFNlYXJjaCc7XHJcbiAgICAgIH1cclxuICAgICAgdGhpcy50YWJsZS5zZWFyY2hGb3JtLmlucHV0cy5mb3JFYWNoKHggPT4ge1xyXG4gICAgICAgIGNvbnN0IGhhc1N1Ym1pdCA9IHRoaXMudGFibGUuc2VhcmNoRm9ybS5pbnB1dHMuc29tZShzID0+IHMudHlwZSA9PT0gSW5wdXRUeXBlLlN1Ym1pdCk7XHJcbiAgICAgICAgeC5yZXF1aXJlZCA9IGZhbHNlO1xyXG4gICAgICAgIHguZGlzcGxheUxhYmVsID0gdGhpcy50YWJsZS5leHBlcnRTZWFyY2g7XHJcbiAgICAgICAgeC5jbGFzcyA9IHguY2xhc3MgKyAnIHNlYXJjaC1mb3JtLWlucCcgKyAodGhpcy50YWJsZS5leHBlcnRTZWFyY2ggJiYgeC50eXBlICE9PSBJbnB1dFR5cGUuU3VibWl0ID8gJyBwLTAnIDogJycpO1xyXG4gICAgICAgIHgud2l0aENsZWFyID0gIWhhc1N1Ym1pdCB8fCB0aGlzLnRhYmxlLmV4cGVydFNlYXJjaDtcclxuICAgICAgICBpZiAoIWhhc1N1Ym1pdCl7XHJcbiAgICAgICAgICBpZiAoeC5vbkNoYW5nZSA9PSBudWxsKXtcclxuICAgICAgICAgICAgeC5vbkNoYW5nZSA9ICgpID0+IHtcclxuICAgICAgICAgICAgICB0aGlzLnRhYmxlLmxvYWQoKTtcclxuICAgICAgICAgICAgfTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKHgudHlwZSA9PT0gSW5wdXRUeXBlLlN1Ym1pdCl7XHJcbiAgICAgICAgICB4Lm9uQ2xpY2sgPSAoKSA9PiB7XHJcbiAgICAgICAgICAgIGlmICh0aGlzLnRhYmxlLnNlYXJjaEZvcm0ub25CZWZvcmVTdWJtaXQgJiYgIXRoaXMudGFibGUuc2VhcmNoRm9ybS5vbkJlZm9yZVN1Ym1pdCgpKXtcclxuICAgICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgdGhpcy50YWJsZS5sb2FkKHgpO1xyXG4gICAgICAgICAgfTtcclxuICAgICAgICAgIC8vIHRoaXMudGFibGUuc2VhcmNoRm9ybS5zdWJtaXQgPSAoKSA9PiB7XHJcbiAgICAgICAgICAvLyAgIGNvbnNvbGUubG9nKCd0aGlzLnRhYmxlLnNlYXJjaEZvcm0uc3VibWl0Jyk7XHJcbiAgICAgICAgICAvLyAgIGlmICh0aGlzLnRhYmxlLnNlYXJjaEZvcm0ub25CZWZvcmVTdWJtaXQgJiYgIXRoaXMudGFibGUuc2VhcmNoRm9ybS5vbkJlZm9yZVN1Ym1pdCgpKXtcclxuICAgICAgICAgIC8vICAgICByZXR1cm47XHJcbiAgICAgICAgICAvLyAgIH1cclxuICAgICAgICAgIC8vICAgdGhpcy50YWJsZS5sb2FkKHgpO1xyXG4gICAgICAgICAgLy8gICAkKHRoaXMudGFibGVEaXYubmF0aXZlRWxlbWVudCkucmVtb3ZlQ2xhc3MoJ3Nob3ctZXhwZXJ0LXNlYXJjaCcpO1xyXG4gICAgICAgICAgLy8gfTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gICAgdGhpcy5vcHRpb25zID0gdGhpcy5nZXRPcHRpb25zKCk7XHJcbiAgICB0aGlzLnJlbG9hZC5vbkNsaWNrID0gKCkgPT4ge1xyXG4gICAgICB0aGlzLnRhYmxlLmxvYWQodGhpcy5yZWxvYWQpO1xyXG4gICAgfTtcclxuICAgIHRoaXMuZXhwb3J0Lm9uQ2xpY2sgPSAoKSA9PiB7XHJcbiAgICAgICQodGhpcy5leHBvcnREcm9wRG93bi5uYXRpdmVFbGVtZW50KS5zbGlkZVRvZ2dsZSgpO1xyXG4gICAgfTtcclxuICAgIHRoaXMucGRmLm9uQ2xpY2sgPSAoKSA9PiB7XHJcbiAgICAgIHRoaXMuZXhwb3J0VGFibGUoVGFibGVFeHBvcnRUeXBlLlBkZik7XHJcbiAgICB9O1xyXG4gICAgdGhpcy5leGNlbC5vbkNsaWNrID0gKCkgPT4ge1xyXG4gICAgICB0aGlzLmV4cG9ydFRhYmxlKFRhYmxlRXhwb3J0VHlwZS5FeGNlbCk7XHJcbiAgICB9O1xyXG4gICAgdGhpcy5wcmludC5vbkNsaWNrID0gKCkgPT4ge1xyXG4gICAgICB0aGlzLmV4cG9ydFRhYmxlKFRhYmxlRXhwb3J0VHlwZS5QcmludCk7XHJcbiAgICB9O1xyXG5cclxuICAgIHRoaXMubWF4aW11bS5vbkNsaWNrID0gKCkgPT4ge1xyXG4gICAgICAkKHRoaXMudGFibGVEaXYubmF0aXZlRWxlbWVudCkudG9nZ2xlQ2xhc3MoJ21heGltdW0nKTtcclxuICAgICAgdGhpcy5tYXhpbXVtLmljb24gPSB0aGlzLm1heGltdW0ubmFtZSA9PT0gJ01pbmltdW0nID8gJ2ZhZCBmYS1hcnJvd3MtbWF4aW1pemUnIDogJ2ZhZCBmYS1hcnJvd3MtbWluaW1pemUnO1xyXG4gICAgICB0aGlzLm1heGltdW0ubmFtZSA9IHRoaXMubWF4aW11bS5uYW1lID09PSAnTWluaW11bScgPyAnTWF4aW11bScgOiAnTWluaW11bSc7XHJcbiAgICB9O1xyXG4gICAgdGhpcy5leHBlcnRTZWFyY2gub25DbGljayA9ICgpID0+IHtcclxuICAgICAgJCh0aGlzLnRhYmxlRGl2Lm5hdGl2ZUVsZW1lbnQpLmFkZENsYXNzKCdzaG93LWV4cGVydC1zZWFyY2gnKTtcclxuICAgIH07XHJcbiAgICB0aGlzLnRhYmxlLnNob3dDb25maXJtID0gKGw6IHN0cmluZywgdXJsOiBzdHJpbmcsIGRhdGEsIGFjY2VwdDogKHJlc3VsdDogYW55KSA9PiB2b2lkKSA9PiB7XHJcbiAgICAgIHRoaXMuY29uZmlybS5zaG93KGwsIHVybCwgZGF0YSwgYWNjZXB0KTtcclxuICAgIH07XHJcbiAgfVxyXG4gIGV4cG9ydFRhYmxlKHR5cGU6IFRhYmxlRXhwb3J0VHlwZSk6IHZvaWR7XHJcbiAgICBjb25zdCBnZXRXaWR0aFZhbHVlID0gKHN0cikgPT4ge1xyXG4gICAgICBjb25zdCBtYXRjaGVzID0gWy4uLnN0ci5tYXRjaEFsbCgvdy0oXFxkKykoPzotKFxcZCspKT8vZyldO1xyXG4gICAgICBpZiAoIW1hdGNoZXMubGVuZ3RoKSB7XHJcbiAgICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICAgIH1cclxuICAgICAgY29uc3QgbWF4ID0gbWF0Y2hlcy5yZWR1Y2UoKGJlc3QsIG0pID0+IHtcclxuICAgICAgICBjb25zdCBmaXJzdCA9ICttWzFdO1xyXG4gICAgICAgIGNvbnN0IHNlY29uZCA9ICttWzJdIHx8IG51bGw7XHJcbiAgICAgICAgaWYgKCFiZXN0IHx8IGZpcnN0ID4gYmVzdC5maXJzdCl7XHJcbiAgICAgICAgICByZXR1cm4geyBmaXJzdCwgc2Vjb25kIH07XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBiZXN0O1xyXG4gICAgICB9LCBudWxsKTtcclxuICAgICAgY29uc3QgcyA9IChtYXguc2Vjb25kIHx8IG1heC5maXJzdCk7XHJcbiAgICAgIHJldHVybiBzID09IG51bGwgPyAxMDAgOiBzO1xyXG4gICAgfTtcclxuXHJcbiAgICBjb25zdCB1cmwgPSB0aGlzLnRhYmxlLnBlcm1pc3Npb25zLmdldEFjY2VzcyhQZXJtaXNzaW9uQWNjZXNzVHlwZUVudW0uTGlzdCkuVXJsLnJlcGxhY2UoJy9saXN0JywgJy9leHBvcnQnKS5yZXBsYWNlKCctbGlzdCcsICctZXhwb3J0Jyk7XHJcbiAgICBjb25zdCBkYXRhOiBhbnkgPSB0aGlzLnRhYmxlLnNlYXJjaERhdGEoKTtcclxuICAgIGRhdGEuUGFnZSA9IDE7XHJcbiAgICBkYXRhLlBlclBhZ2UgPSAtMTtcclxuICAgIGRhdGEuVHlwZSA9IHR5cGU7XHJcbiAgICBkYXRhLkNvbHMgPSB0aGlzLnRhYmxlLmNvbHMubWFwKHggPT4ge1xyXG4gICAgICByZXR1cm4ge1xyXG4gICAgICAgIE5hbWU6IHgubmFtZSxcclxuICAgICAgICBUcm5OYW1lOiB0aGlzLnRhYmxlLmwoeC5uYW1lKSxcclxuICAgICAgICBXaWR0aDogZ2V0V2lkdGhWYWx1ZSh4LmNsYXNzKSxcclxuICAgICAgICBUeXBlOiB4LnR5cGUsXHJcbiAgICAgIH07XHJcbiAgICB9KTtcclxuXHJcbiAgICBuZXcgUmVxdWVzdENsYXNzKHRoaXMudGFibGUuZW52aXJvbm1lbnQsIHRoaXMudGFibGUubCkuc2VuZCh1cmwsIE1ldGhvZC5Qb3N0LCBkYXRhLCB0aGlzLnByaW50LCAocmVzdWx0KSA9PiB7XHJcbiAgICAgIHdpbmRvdy5vcGVuKHRoaXMudGFibGUuZW52aXJvbm1lbnQudXJsICsgJy9yZXBvcnQnICsgdXJsICsgJz9yZXBvcnRJZD0nICsgcmVzdWx0LCAnX2JsYW5rJyk7XHJcbiAgICB9LCAoKSA9PiB7fSk7XHJcbiAgfVxyXG4gIGFsbENoZWNrZWQoKTogYm9vbGVhbntcclxuICAgIHJldHVybiB0aGlzLnRhYmxlLnJvd3MuZmlsdGVyKHggPT4gIXguY2hlY2tlZCkubGVuZ3RoID09PSAwO1xyXG4gIH1cclxuICBpc0NoZWNrZWQoKTogYm9vbGVhbntcclxuICAgIHJldHVybiB0aGlzLnRhYmxlLnJvd3MuZmlsdGVyKHggPT4geC5jaGVja2VkKS5sZW5ndGggPiAwO1xyXG4gIH1cclxuICBjaGVja0FsbCgpOiB2b2lke1xyXG4gICAgaWYgKHRoaXMudGFibGUucm93cy5maWx0ZXIoeCA9PiAheC5jaGVja2VkKS5sZW5ndGggPT09IDApe1xyXG4gICAgICB0aGlzLnRhYmxlLnJvd3MuZm9yRWFjaCh4ID0+IHguY2hlY2tlZCA9IGZhbHNlKTtcclxuICAgIH1lbHNle1xyXG4gICAgICB0aGlzLnRhYmxlLnJvd3MuZm9yRWFjaCh4ID0+IHguY2hlY2tlZCA9IHRydWUpO1xyXG4gICAgfVxyXG4gIH1cclxuICBnZXRPcHRpb25zKCk6IElucHV0Q2xhc3NbXXtcclxuICAgIHJldHVybiBbXTtcclxuICB9XHJcbiAgc2V0U29ydGFibGUoKTogdm9pZHtcclxuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAvLyBAdHMtaWdub3JlXHJcbiAgICAgICQodGhpcy5yb3dzLm5hdGl2ZUVsZW1lbnQpLnNvcnRhYmxlKHtcclxuICAgICAgICBheGlzOiAneScsXHJcbiAgICAgICAgaXRlbXM6ICcucm93JyxcclxuICAgICAgICBoYW5kbGU6ICc+IC5oYW5kbGUtY29uID4gLmhhbmRsZS5oYW5kbGUtc29ydGFibGUnLFxyXG4gICAgICAgIHVwZGF0ZTogKCkgPT4ge1xyXG4gICAgICAgICAgY29uc3QgZGF0YSA9IFtdO1xyXG4gICAgICAgICAgLy8gQHRzLWlnbm9yZVxyXG4gICAgICAgICAgJCh0aGlzLnJvd3MubmF0aXZlRWxlbWVudCkuc29ydGFibGUoJ3RvQXJyYXknLCB7YXR0cmlidXRlOiAnZGF0YS1pZCd9KS5mb3JFYWNoKHggPT4ge1xyXG4gICAgICAgICAgICBkYXRhLnB1c2gocGFyc2VJbnQoeCwgMTApKTtcclxuICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgY29uc3QgcCA9IG5ldyBQZXJtaXNzaW9uQ2xhc3MoKTtcclxuICAgICAgICAgIHAuQXJlYSA9IHRoaXMudGFibGUucGVybWlzc2lvbnMuQXJlYTtcclxuICAgICAgICAgIHAuQ29udHJvbGxlciA9IHRoaXMudGFibGUucGVybWlzc2lvbnMuQ29udHJvbGxlcjtcclxuICAgICAgICAgIHAuUmVsYXRlZElkID0gdGhpcy50YWJsZS5wZXJtaXNzaW9ucy5SZWxhdGVkSWQ7XHJcbiAgICAgICAgICBwLkFjdGlvbiA9IHRoaXMudGFibGUucGVybWlzc2lvbnMuQWN0aW9uID8gdGhpcy50YWJsZS5wZXJtaXNzaW9ucy5BY3Rpb24gKyAnLXNvcnQnIDogJ3NvcnQnO1xyXG4gICAgICAgICAgbmV3IFJlcXVlc3RDbGFzcyh0aGlzLnRhYmxlLmVudmlyb25tZW50LCB0aGlzLnRhYmxlLmwpLnNlbmQocC5nZXRVcmwoKS50b0xvd2VyQ2FzZSgpLCBNZXRob2QuUG9zdCwge0lkczogZGF0YX0sIG51bGwsICgpID0+IHtcclxuICAgICAgICAgICAgaWYgKHRoaXMudGFibGUub25Tb3J0KXtcclxuICAgICAgICAgICAgICB0aGlzLnRhYmxlLm9uU29ydCgpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9LCAoKSA9PiB7fSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KS5kaXNhYmxlU2VsZWN0aW9uKCk7XHJcbiAgICB9LCA1MDApO1xyXG4gIH1cclxuICBnZXRSb3dzKCk6IGFueVtde1xyXG4gICAgY29uc3QgYyA9IHRoaXMudGFibGUucm93cy5maWx0ZXIoeCA9PiAheC5EYXRhLlBhcmVudElkKTtcclxuICAgIGMuZm9yRWFjaCgoeCwgaSkgPT4geC5Sb3dOdW0gPSBjLmxlbmd0aCAtIGkgKyAxKTtcclxuICAgIHJldHVybiBjO1xyXG4gIH1cclxuICAvLyBnZXRPcHRpb25Nb2RhbHMoKTogSW5wdXRDbGFzc1tde1xyXG4gIC8vICAgY29uc3QgbW9kYWxzID0gW107XHJcbiAgLy8gICBmb3IgKGNvbnN0IFtrZXksIHZhbHVlXSBvZiBPYmplY3QuZW50cmllcyh0aGlzLnRhYmxlLm9wdGlvbkFjdGlvbnMpKSB7XHJcbiAgLy8gICAgIGlmICh0aGlzLnRhYmxlLm9wdGlvbkFjdGlvbnNba2V5XS5tb2RhbCl7XHJcbiAgLy8gICAgICAgbW9kYWxzLnB1c2godGhpcy50YWJsZS5vcHRpb25BY3Rpb25zW2tleV0ubW9kYWwpO1xyXG4gIC8vICAgICB9XHJcbiAgLy8gICB9XHJcbiAgLy8gICByZXR1cm4gbW9kYWxzO1xyXG4gIC8vIH1cclxuICBvbkNoYW5nZVJvd3MoZSk6IHZvaWR7XHJcbiAgICByZXR1cm4gdGhpcy5jaGFuZ2VSb3dzLmVtaXQoZSk7XHJcbiAgfVxyXG4gIG9uQ29uZmlybVNob3coZSk6IHZvaWR7XHJcbiAgICB0aGlzLmNvbmZpcm0uc2hvdyh0aGlzLnRhYmxlLmwoZS5hY3Rpb24gKyAnQ29uZmlybScpLCBlLnVybCwgZS5kYXRhLCBlLmFjY2VwdCk7XHJcbiAgfVxyXG4gIGNoYW5nZVNvcnQoZSwgczogc3RyaW5nKTogdm9pZHtcclxuICAgIGlmICgkKGUudGFyZ2V0KS5jbG9zZXN0KCcuaGVhZGVyLXNlYXJjaCcpLmhhc0NsYXNzKCdoZWFkZXItc2VhcmNoJykpe1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICB0aGlzLnRhYmxlLnNvcnRUeXBlID0gdGhpcy50YWJsZS5zb3J0ID09PSBzID8gdGhpcy50YWJsZS5zb3J0VHlwZSA9PT0gJ0FTQycgPyAnREVTQycgOiBudWxsIDogJ0FTQyc7XHJcbiAgICB0aGlzLnRhYmxlLnNvcnQgPSB0aGlzLnRhYmxlLnNvcnRUeXBlID09IG51bGwgPyBudWxsIDogcztcclxuICAgIHRoaXMudGFibGUubG9hZCgpO1xyXG4gIH1cclxuICBnZXRNb2RhbHMoKTogTW9kYWxDbGFzc1tde1xyXG4gICAgcmV0dXJuIHRoaXMudGFibGUub3B0aW9uc0FjdGlvbnMuZmlsdGVyKHggPT4geCBpbnN0YW5jZW9mIE1vZGFsQ2xhc3MpO1xyXG4gIH1cclxuICBoaWRlRXhwZXJ0U2VhcmNoKGUpOiB2b2lke1xyXG4gICAgaWYgKHRoaXMudGFibGUuZXhwZXJ0U2VhcmNoICYmICQoZS50YXJnZXQpLmhhc0NsYXNzKCdzZWFyY2gtZm9ybScpKVxyXG4gICAge1xyXG4gICAgICAkKHRoaXMudGFibGVEaXYubmF0aXZlRWxlbWVudCkucmVtb3ZlQ2xhc3MoJ3Nob3ctZXhwZXJ0LXNlYXJjaCcpO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iXX0=
@@ -537,6 +537,12 @@ var TableCollType;
537
537
  TableCollType[TableCollType["Month"] = 18] = "Month";
538
538
  TableCollType[TableCollType["Year"] = 19] = "Year";
539
539
  })(TableCollType || (TableCollType = {}));
540
+ var TableExportType;
541
+ (function (TableExportType) {
542
+ TableExportType[TableExportType["Print"] = 0] = "Print";
543
+ TableExportType[TableExportType["Excel"] = 1] = "Excel";
544
+ TableExportType[TableExportType["Pdf"] = 2] = "Pdf";
545
+ })(TableExportType || (TableExportType = {}));
540
546
  var UserType;
541
547
  (function (UserType) {
542
548
  UserType[UserType["All"] = 0] = "All";
@@ -3095,49 +3101,15 @@ class TableComponent {
3095
3101
  this.export.onClick = () => {
3096
3102
  $$1(this.exportDropDown.nativeElement).slideToggle();
3097
3103
  };
3104
+ this.pdf.onClick = () => {
3105
+ this.exportTable(TableExportType.Pdf);
3106
+ };
3098
3107
  this.excel.onClick = () => {
3099
- this.table.excel();
3108
+ this.exportTable(TableExportType.Excel);
3100
3109
  };
3101
3110
  this.print.onClick = () => {
3102
- const getWidthValue = (str) => {
3103
- const matches = [...str.matchAll(/w-(\d+)(?:-(\d+))?/g)];
3104
- if (!matches.length) {
3105
- return null;
3106
- }
3107
- const max = matches.reduce((best, m) => {
3108
- const first = +m[1];
3109
- const second = +m[2] || null;
3110
- if (!best || first > best.first) {
3111
- return { first, second };
3112
- }
3113
- return best;
3114
- }, null);
3115
- const s = (max.second || max.first);
3116
- return s == null ? 100 : s;
3117
- };
3118
- const url = this.table.permissions.getAccess(PermissionAccessTypeEnum.List).Url.replace('/list', '/report').replace('-list', '-report');
3119
- const data = this.table.searchData();
3120
- data.Page = 1;
3121
- data.PerPage = -1;
3122
- data.Cols = this.table.cols.map(x => {
3123
- return {
3124
- Name: x.name,
3125
- TrnName: this.table.l(x.name),
3126
- Width: getWidthValue(x.class),
3127
- Type: x.type,
3128
- };
3129
- });
3130
- new RequestClass(this.table.environment, this.table.l).send(url, Method.Post, data, this.print, (result) => {
3131
- window.open(this.table.environment.url + '/report' + url + '?reportId=' + result, '_blank');
3132
- }, () => { });
3111
+ this.exportTable(TableExportType.Print);
3133
3112
  };
3134
- $$1(document).mouseup((e) => {
3135
- const container = $$1(this.exportDropDown.nativeElement);
3136
- // @ts-ignore
3137
- if (!container.is(e.target) && container.has(e.target).length === 0) {
3138
- container.slideUp(100);
3139
- }
3140
- });
3141
3113
  this.maximum.onClick = () => {
3142
3114
  $$1(this.tableDiv.nativeElement).toggleClass('maximum');
3143
3115
  this.maximum.icon = this.maximum.name === 'Minimum' ? 'fad fa-arrows-maximize' : 'fad fa-arrows-minimize';
@@ -3150,6 +3122,40 @@ class TableComponent {
3150
3122
  this.confirm.show(l, url, data, accept);
3151
3123
  };
3152
3124
  }
3125
+ exportTable(type) {
3126
+ const getWidthValue = (str) => {
3127
+ const matches = [...str.matchAll(/w-(\d+)(?:-(\d+))?/g)];
3128
+ if (!matches.length) {
3129
+ return null;
3130
+ }
3131
+ const max = matches.reduce((best, m) => {
3132
+ const first = +m[1];
3133
+ const second = +m[2] || null;
3134
+ if (!best || first > best.first) {
3135
+ return { first, second };
3136
+ }
3137
+ return best;
3138
+ }, null);
3139
+ const s = (max.second || max.first);
3140
+ return s == null ? 100 : s;
3141
+ };
3142
+ const url = this.table.permissions.getAccess(PermissionAccessTypeEnum.List).Url.replace('/list', '/export').replace('-list', '-export');
3143
+ const data = this.table.searchData();
3144
+ data.Page = 1;
3145
+ data.PerPage = -1;
3146
+ data.Type = type;
3147
+ data.Cols = this.table.cols.map(x => {
3148
+ return {
3149
+ Name: x.name,
3150
+ TrnName: this.table.l(x.name),
3151
+ Width: getWidthValue(x.class),
3152
+ Type: x.type,
3153
+ };
3154
+ });
3155
+ new RequestClass(this.table.environment, this.table.l).send(url, Method.Post, data, this.print, (result) => {
3156
+ window.open(this.table.environment.url + '/report' + url + '?reportId=' + result, '_blank');
3157
+ }, () => { });
3158
+ }
3153
3159
  allChecked() {
3154
3160
  return this.table.rows.filter(x => !x.checked).length === 0;
3155
3161
  }
@@ -8863,5 +8869,5 @@ class HeaderClass {
8863
8869
  * Generated bundle index. Do not edit.
8864
8870
  */
8865
8871
 
8866
- export { AccordionClass, AccordionComponent, AccordionRowClass, AddModalClass, AlertComponent, BaseComponent, ChartClass, ConfirmComponent, CurrentDataClass, DayClass, EnumUtils, ErrorComponent, ExcelClass, FileIcons, FooterComponent, FormBankCardComponent, FormButtonComponent, FormCheckboxComponent, FormCkeditorComponent, FormClass, FormComponent, FormDateComponent, FormDatetimeComponent, FormFileComponent, FormFingerComponent, FormIconComponent, FormLabelComponent, FormPlaqueComponent, FormPlaqueSelectComponent, FormRadioComponent, FormSelectComponent, FormSlideComponent, FormStarComponent, FormTableComponent, FormTextareaComponent, FormTextboxComponent, FormTimeComponent, FormToggleComponent, FormTreeComponent, FormUploaderComponent, FormVehicleComponent, FormVehicleSearchComponent, HeaderClass, HeaderComponent, HelperClass, InputClass, InputError, InputType, LangClass, LayoutComponent, LoadingComponent, LoginClass, LoginStepClass, Method, ModalClass, ModalComponent, NotfoundComponent, OperationEnum, OptionClass, PaymentStatusEnum, PermissionAccessTypeEnum, PermissionClass, PermissionInputActionEnum, PermissionInputTypeEnum, PermissionTypeEnum, Progress, PsToolkitUiModule, RequestClass, ResultStatusEnum, SidebarClass, SidebarComponent, SidebarService, StatusEnum, StepsClass, StepsComponent, StepsItemClass, SubHeaderComponent, TableClass, TableCollClass, TableCollType, TableComponent, TableOptionType, TableRowStatus, TooltipComponent, TreeRowClass, UserType, VehicleType, FormSelectItemComponent as ɵa, TablePaginationComponent as ɵb, SidebarItemComponent as ɵc, PsToolkitUiConfigService as ɵd, TableLoadingComponent as ɵe, FormTreeItemComponent as ɵf, TableRowComponent as ɵg, NotificationComponent as ɵh, FormHiddenComponent as ɵi, CalendarComponent as ɵj, ClockComponent as ɵk, ChartComponent as ɵl, FormTagComponent as ɵm, LoginComponent as ɵn, SafeStylePipe as ɵo, SafeHtmlPipe as ɵp };
8872
+ export { AccordionClass, AccordionComponent, AccordionRowClass, AddModalClass, AlertComponent, BaseComponent, ChartClass, ConfirmComponent, CurrentDataClass, DayClass, EnumUtils, ErrorComponent, ExcelClass, FileIcons, FooterComponent, FormBankCardComponent, FormButtonComponent, FormCheckboxComponent, FormCkeditorComponent, FormClass, FormComponent, FormDateComponent, FormDatetimeComponent, FormFileComponent, FormFingerComponent, FormIconComponent, FormLabelComponent, FormPlaqueComponent, FormPlaqueSelectComponent, FormRadioComponent, FormSelectComponent, FormSlideComponent, FormStarComponent, FormTableComponent, FormTextareaComponent, FormTextboxComponent, FormTimeComponent, FormToggleComponent, FormTreeComponent, FormUploaderComponent, FormVehicleComponent, FormVehicleSearchComponent, HeaderClass, HeaderComponent, HelperClass, InputClass, InputError, InputType, LangClass, LayoutComponent, LoadingComponent, LoginClass, LoginStepClass, Method, ModalClass, ModalComponent, NotfoundComponent, OperationEnum, OptionClass, PaymentStatusEnum, PermissionAccessTypeEnum, PermissionClass, PermissionInputActionEnum, PermissionInputTypeEnum, PermissionTypeEnum, Progress, PsToolkitUiModule, RequestClass, ResultStatusEnum, SidebarClass, SidebarComponent, SidebarService, StatusEnum, StepsClass, StepsComponent, StepsItemClass, SubHeaderComponent, TableClass, TableCollClass, TableCollType, TableComponent, TableExportType, TableOptionType, TableRowStatus, TooltipComponent, TreeRowClass, UserType, VehicleType, FormSelectItemComponent as ɵa, TablePaginationComponent as ɵb, SidebarItemComponent as ɵc, PsToolkitUiConfigService as ɵd, TableLoadingComponent as ɵe, FormTreeItemComponent as ɵf, TableRowComponent as ɵg, NotificationComponent as ɵh, FormHiddenComponent as ɵi, CalendarComponent as ɵj, ClockComponent as ɵk, ChartComponent as ɵl, FormTagComponent as ɵm, LoginComponent as ɵn, SafeStylePipe as ɵo, SafeHtmlPipe as ɵp };
8867
8873
  //# sourceMappingURL=ps-toolkit-ui.js.map