{"version":3,"file":"../../js/Reporting/qmc.reporting.min.js","sources":["qmc.reporting.min.js"],"sourcesContent":["var __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\n(function () {\n angular.module('QMC.Reporting', []).config(routes);\n ;\n routes.$inject = ['$locationProvider', '$stateProvider', '$urlRouterProvider', 'qmcBase'];\n function routes($locationProvider, $stateProvider, $urlRouterProvider, qmcBase) {\n $locationProvider.html5Mode({\n enabled: false,\n requireBase: false\n });\n $stateProvider\n .state('report', {\n url: '/report/:id',\n templateUrl: qmcBase + '/Reporting',\n controller: 'ReportingController',\n controllerAs: 'vm',\n resolve: {\n data: [function () {\n console.log('Current State: report');\n }]\n }\n });\n $stateProvider\n .state('reportpreview', {\n url: '/reportpreview/',\n templateUrl: qmcBase + '/Reporting/ReportPreview',\n controller: 'ReportPreviewListController',\n controllerAs: 'vm',\n resolve: {\n data: [function () {\n console.log('Current State: reportpreview');\n }]\n }\n });\n $stateProvider\n .state('reportpreviewdetail', {\n url: '/reportpreview/:id',\n templateUrl: qmcBase + '/Reporting/ReportPreview',\n controller: 'ReportPreviewListController',\n controllerAs: 'vm',\n resolve: {\n data: [function () {\n console.log('Current State: reportpreviewdetail');\n }]\n }\n });\n }\n})();\nvar QMC;\n(function (QMC) {\n var Reporting;\n (function (Reporting) {\n var HttpProvider = /** @class */ (function () {\n function HttpProvider() {\n }\n HttpProvider.configureHttpProvider = function ($httpProvider) {\n // initialize get if not there\n if (!$httpProvider.defaults.headers.get) {\n $httpProvider.defaults.headers.get = {};\n }\n // disable IE ajax request caching\n $httpProvider.defaults.headers.get['If-Modified-Since'] = 'Mon, 26 Jul 1997 05:00:00 GMT';\n // extra\n $httpProvider.defaults.headers.get['Cache-Control'] = 'no-cache';\n $httpProvider.defaults.headers.get['Pragma'] = 'no-cache';\n };\n return HttpProvider;\n }());\n Reporting.HttpProvider = HttpProvider;\n })(Reporting = QMC.Reporting || (QMC.Reporting = {}));\n})(QMC || (QMC = {}));\n(function () {\n angular.module('QMC.Reporting')\n .config(['$httpProvider', QMC.Reporting.HttpProvider.configureHttpProvider]);\n})();\nvar QMC;\n(function (QMC) {\n var Reporting;\n (function (Reporting) {\n var ReportingService = /** @class */ (function (_super) {\n __extends(ReportingService, _super);\n function ReportingService($http, $q) {\n var _this = _super.call(this, $http, $q) || this;\n _this.$http = $http;\n _this.$q = $q;\n _this.modulePath = '/Reporting';\n return _this;\n }\n ReportingService.prototype.getReportTemplateList = function (objectType) {\n return _super.prototype.get.call(this, this.modulePath + '/Template/' + objectType, {}, function (data) {\n return data;\n });\n };\n ReportingService.prototype.getUnfetchedReportList = function () {\n return _super.prototype.get.call(this, this.modulePath + '/Job/UnfetchedReportJobList', {}, function (data) {\n return data;\n });\n };\n ReportingService.prototype.getFinishedReportList = function (unfetchedOnly, daysInPast, page, pageSize, listSearch, searchProperties) {\n if (unfetchedOnly === void 0) { unfetchedOnly = false; }\n if (daysInPast === void 0) { daysInPast = 365; }\n if (page === void 0) { page = -1; }\n if (pageSize === void 0) { pageSize = -1; }\n if (listSearch === void 0) { listSearch = null; }\n if (searchProperties === void 0) { searchProperties = []; }\n return _super.prototype.getItem.call(this, this.modulePath + '/Job/FinishedReportJobs', { unfetchedOnly: unfetchedOnly, daysInPast: daysInPast, page: page, pageSize: pageSize, listSearch: listSearch, searchProperties: searchProperties }, function (data) {\n return data;\n });\n };\n ReportingService.prototype.getReportParameterList = function (id, reportType) {\n return _super.prototype.get.call(this, this.modulePath + '/Parameter/' + id + '/' + reportType, {}, function (data) {\n return data;\n });\n };\n ReportingService.prototype.getReportParameterValueList = function (fieldType, valueRange) {\n return _super.prototype.get.call(this, this.modulePath + '/Parameter/Value/' + fieldType + '/' + valueRange, {}, function (data) {\n return data;\n });\n };\n ReportingService.prototype.getNewReportJobGuid = function () {\n return _super.prototype.get.call(this, this.modulePath + '/Job/NewGuid', {}, function (data) {\n return data;\n });\n };\n ReportingService.prototype.getFinishedReportBase64 = function (reportJobObjectId, reportTypeValue, reportName) {\n return _super.prototype.getItem.call(this, this.modulePath + '/Job/DownloadResult/' + reportJobObjectId + '/' + reportTypeValue + '/' + reportName, {}, function (data) {\n return data;\n });\n };\n ReportingService.prototype.getFinishedReportFile = function (data) {\n return _super.prototype.getItem.call(this, this.modulePath + '/Job/DownloadFinishedReport/', { finishedReportJobItemId: data.objectId, serverJobType: data.serverJobType, reportName: data.reportName }, function (data) {\n return data;\n });\n };\n ReportingService.prototype.getFinishedSpreadServerJobAsPdf = function (objectId, reportName) {\n return _super.prototype.getItem.call(this, this.modulePath + '/Job/DownloadFinishedSpreadReportAsPdf/', { finishedServerJobItemId: objectId, spreadServerJobName: reportName }, function (data) {\n return data;\n });\n };\n ReportingService.prototype.postReportJob = function (data) {\n return _super.prototype.post.call(this, this.modulePath + '/Job', data).then(function (data) {\n return data;\n });\n };\n ReportingService.prototype.markReportFetched = function (payload) {\n return _super.prototype.put.call(this, this.modulePath + '/Job/MarkFetched/' + payload, {}).then(function (data) {\n return data;\n });\n };\n ReportingService.prototype.cancelRunningReportJob = function (id) {\n _super.prototype.delete.call(this, this.modulePath + '/Job/' + id);\n };\n ReportingService.prototype.deleteSelectedReport = function (data) {\n return _super.prototype.post.call(this, this.modulePath + '/Job/DeleteFinishedReport/', data).then(function (data) {\n return data;\n });\n };\n ReportingService.prototype.deleteSelectedReports = function (data) {\n return _super.prototype.post.call(this, this.modulePath + '/Job/DeleteMultipleFinishedReports/', data).then(function (data) {\n return data;\n });\n };\n ReportingService.prototype.getDetailReportReferencesByObjectType = function (objectType) {\n return _super.prototype.get.call(this, this.modulePath + '/Parameter/DetailReference/' + objectType, {}, function (data) {\n return data;\n });\n };\n ReportingService = __decorate([\n QMC.Service('QMC.Reporting', 'ReportingService'),\n QMC.Inject('$http', '$q')\n ], ReportingService);\n return ReportingService;\n }(QMC.Common.BaseService));\n Reporting.ReportingService = ReportingService;\n })(Reporting = QMC.Reporting || (QMC.Reporting = {}));\n})(QMC || (QMC = {}));\nvar QMC;\n(function (QMC) {\n var Reporting;\n (function (Reporting) {\n var ReportingController = /** @class */ (function () {\n function ReportingController(reportingService, $qui, $state, $scope, $rootScope, mediaService) {\n this.reportingService = reportingService;\n this.$qui = $qui;\n this.$state = $state;\n this.$scope = $scope;\n this.$rootScope = $rootScope;\n this.mediaService = mediaService;\n this.parameterValueFilterText = \"\";\n this.isLoadingParams = false;\n this.isParamsLoadingError = false;\n this.loadingParamValues = false;\n this.onlyActive = true;\n this.showIsCurrent = false;\n this.detailParams = [];\n this.selectedDetailId = QMC.Common.Constants.GUID_EMPTY;\n this.explanationFile = {\n isLoading: false\n };\n this.scrollTarget = '';\n this.templateList = [];\n this.events();\n this.getReportingTemplates();\n $qui.init($qui.getSectionColor(this.getPrevState()), function () {\n $qui.anonAvatar();\n $qui.bindEvents();\n });\n }\n ReportingController.prototype.getPrevState = function () {\n if (this.$rootScope.currentState === (null || undefined) || this.$rootScope.currentState.name === (null || undefined))\n return \"/\";\n console.log(this.$rootScope.currentState.name);\n switch (this.$rootScope.currentState.name) {\n case 'medicament': return \"/medicament\";\n case 'journal': return \"/journal\";\n case 'medicamentDistribution': return \"/medicament/plannedDistribution\";\n case 'stammdaten.page': return \"/stammdaten\";\n case 'stammdaten': return \"/stammdaten\";\n default: return \"/\";\n }\n };\n ReportingController.prototype.events = function () {\n var _this = this;\n this.$scope.$watch('vm.selectedTemplateId', function (value) {\n if (value !== undefined) {\n _this.getAvailableParameters(value);\n }\n });\n this.$scope.$watch('vm.paramDateFilter.dateFrom', function (newValue, oldValue) {\n if (newValue !== oldValue) {\n if (_this.paramDateFilter.dateFrom && _this.paramDateFilter.dateTo && _this.paramDateFilter.dateFrom > _this.paramDateFilter.dateTo) {\n _this.paramDateFilter.dateFrom = _this.paramDateFilter.dateTo;\n }\n }\n });\n this.$scope.$watch('vm.paramDateFilter.dateTo', function (newValue, oldValue) {\n if (newValue !== oldValue) {\n if (_this.paramDateFilter.dateFrom && _this.paramDateFilter.dateTo && _this.paramDateFilter.dateFrom > _this.paramDateFilter.dateTo) {\n _this.paramDateFilter.dateFrom = _this.paramDateFilter.dateTo;\n }\n }\n });\n this.$scope.$watch('vm.selectAll', function (newValue, oldValue) {\n if (oldValue !== newValue) {\n _this.toggleAllCheckboxes();\n }\n });\n };\n ReportingController.prototype.getNewGuid = function () {\n var d = new Date().getTime();\n var uuid = 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function (c) {\n var r = (d + Math.random() * 16) % 16 | 0;\n d = Math.floor(d / 16);\n return (c === 'x' ? r : (r & 0x3 | 0x8)).toString(16);\n });\n return uuid;\n };\n ReportingController.prototype.getReportingTemplates = function () {\n var _this = this;\n this.reportingService.getReportTemplateList(this.$state.params.id).then(function (data) {\n _this.templateList = data;\n _this.templateMap = _this.templateList.map(function (x) { return ({ value: x.objectId, text: x.name, group: x.categoryName, icon: _this.getIcon(x) }); });\n if (data.length > 0)\n _this.getAvailableParameters(data[0].objectId);\n });\n };\n ReportingController.prototype.getIcon = function (item) {\n switch (item.reportTypeValue) {\n case 7000:\n return 'qm-icon-document_text';\n case 3000:\n return 'qm-icon-document_page_number';\n }\n return 'qm-icon-document_information';\n };\n ReportingController.prototype.getDetailParams = function (objectType) {\n var _this = this;\n this.loadingDetailParams = true;\n this.reportingService.getDetailReportReferencesByObjectType(objectType).then(function (data) {\n _this.detailParams = data.map(function (x) { return ({ value: x.objectId, text: x.name }); });\n _this.loadingDetailParams = false;\n });\n };\n ReportingController.prototype.getAvailableParameters = function (id) {\n var _this = this;\n var _a;\n this.base64Data = ''; //clean last reports data to hide viewer\n this.isLoadingParams = true;\n this.isParamsLoadingError = false;\n this.selectedTemplateId = id;\n var reportType = this.getReportType();\n if (((_a = this.templateList.filter(function (x) { return x.objectId === id; })[0]) === null || _a === void 0 ? void 0 : _a.isDetail) && (!this.detailParams || this.detailParams.length === 0)) {\n this.getDetailParams(this.$state.params.id);\n }\n this.reportingService.getReportParameterList(id, reportType).then(function (data) {\n _this.isLoadingParams = false;\n _this.availableParameters = data;\n // Init values\n for (var i = 0; i < _this.availableParameters.length; i++) {\n // Init boolean values (default: false, if user set default value: take this)\n if (_this.availableParameters[i].fieldTypeName === 'Boolean' && _this.availableParameters[i].chosenValues.length >= 1) {\n _this.availableParameters[i].chosenValues = [{ value: _this.availableParameters[i].chosenValues[0].value.toLowerCase() === \"true\" }];\n }\n if (_this.availableParameters[i].fieldTypeName === 'Boolean' && _this.availableParameters[i].chosenValues.length === 0) {\n _this.availableParameters[i].chosenValues = [{ value: false }];\n }\n // Init text fields, if no default value\n if (_this.availableParameters[i].fieldTypeName === 'TextField' && (_this.availableParameters[i].chosenValues === null || undefined)) {\n _this.availableParameters[i].chosenValues = [{ value: \"\" }];\n }\n // Format default date values\n if (_this.availableParameters[i].setValuesAsDefault && _this.availableParameters[i].fieldTypeName === 'Date') {\n if (moment(_this.availableParameters[i].chosenValues[0].value, \"YYYY-DD-MM\").isValid()) {\n _this.availableParameters[i].chosenValues[0].value = moment(_this.availableParameters[i].chosenValues[0].value, \"YYYY-DD-MM\").format(\"YYYY-MM-DD\");\n }\n if (moment(_this.availableParameters[i].chosenValues[0].value, \"DD.MM.YYYY\").isValid()) {\n _this.availableParameters[i].chosenValues[0].value = moment(_this.availableParameters[i].chosenValues[0].value, \"DD.MM.YYYY\").format(\"YYYY-MM-DD\");\n }\n _this.availableParameters[i].chosenValues[0].dateValue = new Date(_this.availableParameters[i].chosenValues[0].value);\n }\n }\n }).catch(function () {\n _this.isLoadingParams = false;\n _this.isParamsLoadingError = true;\n });\n };\n ReportingController.prototype.getAvailableParameterValues = function (parameter) {\n var _this = this;\n this.additionalProperties = [];\n if (parameter.valueRange !== undefined && parameter.valueRange !== null && parameter.valueRange !== \"\") {\n this.resetModal();\n this.loadingParamValues = true;\n this.showIsCurrent = false;\n this.paramDateFilter = {\n dateFrom: undefined,\n dateTo: undefined,\n enable: false\n };\n parameter.availableValues = [];\n this.reportingService.getReportParameterValueList(parameter.fieldType, parameter.valueRange).then(function (data) {\n parameter.availableValues = data.items;\n _this.additionalProperties = data.additionalProperties;\n // Set default values of available values as checked\n for (var i = 0; i < parameter.availableValues.length; i++) {\n for (var j = 0; j < parameter.chosenValues.length; j++) {\n if (parameter.availableValues[i].id === parameter.chosenValues[j].id) {\n parameter.availableValues[i].isChecked = true;\n }\n }\n if (!parameter.availableValues[i] !== (null || undefined) && !parameter.availableValues[i].isCurrent)\n _this.showIsCurrent = true;\n if (parameter.availableValues[i].dateFrom || parameter.availableValues[i].dateTo)\n _this.paramDateFilter.enable = true;\n }\n parameter.availableValuesMap = _this.$qui.selectAutoMap(data.items, 'objectId', 'name');\n var dateFromParam = _this.availableParameters.filter(function (x) { return x.name.toLowerCase() === 'datum von'; })[0];\n var dateToParam = _this.availableParameters.filter(function (x) { return x.name.toLowerCase() === 'datum bis'; })[0];\n if (dateFromParam && dateFromParam.fieldType === 10 && dateFromParam.chosenValues.length > 0)\n _this.paramDateFilter.dateFrom = dateFromParam.chosenValues[0].dateValue;\n if (dateToParam && dateToParam.fieldType === 10 && dateToParam.chosenValues.length > 0)\n _this.paramDateFilter.dateTo = dateToParam.chosenValues[0].dateValue;\n _this.currentParameter = parameter;\n _this.loadingParamValues = false;\n });\n }\n };\n ReportingController.prototype.valueInDateRange = function (param) {\n if (!this.paramDateFilter.enable)\n return true;\n // map dates to min/max date if unset to make actual filtering easier\n var filterStartDate = this.paramDateFilter.dateFrom ? new Date(this.paramDateFilter.dateFrom.toString()) : new Date(-8640000000000000);\n var filterEndDate = this.paramDateFilter.dateTo ? new Date(this.paramDateFilter.dateTo.toString()) : new Date(+8640000000000000);\n var paramStartDate = param.dateFrom ? new Date(param.dateFrom.toString()) : new Date(-8640000000000000);\n var paramEndDate = param.dateTo ? new Date(param.dateTo.toString()) : new Date(+8640000000000000);\n if (filterStartDate <= paramStartDate && paramStartDate <= filterEndDate)\n return true; // param starts in filter\n if (filterStartDate <= paramEndDate && paramEndDate <= filterEndDate)\n return true; // param ends in filter\n if (paramStartDate <= filterStartDate && filterEndDate <= paramEndDate)\n return true; // filter in param\n return false;\n };\n ReportingController.prototype.resetModal = function () {\n this.parameterValueFilterText = \"\";\n this.selectAll = false;\n this.onlyActive = true;\n };\n ReportingController.prototype.addMultiSelectedValues = function () {\n var selectedValues = [];\n for (var i = 0; i < this.currentParameter.availableValues.length; i++) {\n if (this.currentParameter.availableValues[i].isChecked && (!this.onlyActive || this.currentParameter.availableValues[i].isCurrent)) {\n selectedValues.push({\n id: this.currentParameter.availableValues[i].id,\n objectId: this.currentParameter.availableValues[i].objectId,\n value: this.currentParameter.availableValues[i].objectId,\n caption: this.currentParameter.availableValues[i].name !== null && this.currentParameter.availableValues[i].name !== undefined ? this.currentParameter.availableValues[i].name : \"\",\n dateValue: null\n });\n }\n }\n this.currentParameter.chosenValues = selectedValues;\n this.currentParameter.selectionString = \"\";\n // Generate selection string:\n for (var i = 0; i < this.currentParameter.chosenValues.length; i++) {\n this.currentParameter.selectionString += this.currentParameter.chosenValues[i].caption + \"; \";\n }\n };\n ReportingController.prototype.getReportType = function () {\n for (var i = 0; i < this.templateList.length; i++) {\n if (this.templateList[i].objectId === this.selectedTemplateId) {\n return this.templateList[i].reportTypeValue;\n }\n }\n return 0;\n };\n ReportingController.prototype.generateReport = function () {\n var _this = this;\n this.generateReportId = this.getNewGuid();\n // Fill date values from dateValue property into value property\n for (var i = 0; i < this.availableParameters.length; i++) {\n if (this.availableParameters[i].fieldTypeName === 'Date' && this.availableParameters[i].chosenValues.length > 0) {\n this.availableParameters[i].chosenValues[0].value = this.availableParameters[i].chosenValues[0].dateValue;\n }\n }\n var params = angular.copy(this.availableParameters);\n var postItem = {\n reportObjectId: this.selectedTemplateId,\n serverJobObjectId: this.generateReportId,\n reportType: this.getReportType(),\n parameters: params,\n isCancelled: false,\n detailParentId: this.isDetail() ? this.selectedDetailId : null\n };\n var _loop_1 = function (param) {\n if (param.availableValues) {\n param.chosenValues.forEach(function (val) {\n var avVal = param.availableValues.filter(function (x) { return x.objectId === val.value; });\n if (avVal && avVal.length > 0)\n val.caption = avVal[0].name;\n });\n delete param.availableValues;\n delete param.availableValuesMap;\n }\n if (param.description)\n delete param.description;\n };\n //remove potentially large and not needed availableParameters prop\n for (var _i = 0, _a = postItem.parameters; _i < _a.length; _i++) {\n var param = _a[_i];\n _loop_1(param);\n }\n this.reportingService.postReportJob(postItem).then(function (id) {\n _this.handleFinishedReport(id);\n }).catch(function (id) {\n _this.handleFinishedReport(id);\n });\n };\n ReportingController.prototype.handleFinishedReport = function (id) {\n if (typeof id !== \"string\" || !id.match(\"^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$\")) {\n //if (typeof id != \"string\") {\n $('#loadingScreen').modal('hide');\n $('#downloadError').modal('show');\n return;\n }\n if (this.generateReportId !== null && this.generateReportId !== undefined) {\n this.getFinishedReportFile(id);\n this.generateReportId = null;\n }\n };\n ReportingController.prototype.getFinishedReportFile = function (id) {\n var _this = this;\n this.reportFileId = id;\n this.fileName = this.getSelectedReportName();\n this.reportingService.getFinishedReportBase64(id, this.getReportType(), this.fileName).then(function (data) {\n $('#loadingScreen').modal('hide');\n _this.fileType = data.filename.substring(data.filename.lastIndexOf('.') + 1);\n _this.base64Data = data.base64;\n _this.fileName = data.filename;\n $('#loadingScreenModal').modal('hide');\n $('html,body').animate({\n scrollTop: $(\"#docBox\").offset().top\n }, 1000);\n });\n };\n ReportingController.prototype.scrollToViewer = function () {\n var _this = this;\n this.$qui.scopeApply(this.$scope);\n setTimeout(function () {\n if (_this.scrollTarget === 'pdf')\n $('html,body').animate({\n scrollTop: $(\"#docBox\").offset().top\n }, 1000);\n if (_this.scrollTarget === 'spread')\n $('html,body').animate({\n scrollTop: $(\"#spreadBox\").offset().top - 25\n }, 1000);\n }, 500);\n };\n ReportingController.prototype.cancelReportJob = function () {\n this.reportingService.cancelRunningReportJob(this.generateReportId);\n this.generateReportId = null;\n };\n ReportingController.prototype.runInBackground = function () {\n this.generateReportId = null;\n };\n ReportingController.prototype.getDescription = function () {\n for (var i = 0; i < this.templateList.length; i++) {\n if (this.selectedTemplateId === this.templateList[i].id)\n return this.templateList[i].description;\n }\n return '';\n };\n ReportingController.prototype.isDetail = function () {\n for (var i = 0; i < this.templateList.length; i++) {\n if (this.selectedTemplateId === this.templateList[i].id)\n return this.templateList[i].isDetail;\n }\n return false;\n };\n ReportingController.prototype.getExplanationFileId = function () {\n var _this = this;\n var _a;\n var explanationId = (_a = this.templateList.filter(function (x) { return x.id === _this.selectedTemplateId; })[0]) === null || _a === void 0 ? void 0 : _a.explanationFileId;\n return explanationId !== null && explanationId !== void 0 ? explanationId : QMC.Common.Constants.GUID_EMPTY;\n };\n ReportingController.prototype.hasExplanationFile = function () {\n return this.getExplanationFileId() !== QMC.Common.Constants.GUID_EMPTY;\n };\n ReportingController.prototype.openExplanationFile = function () {\n var _this = this;\n var id = this.getExplanationFileId();\n if (id === QMC.Common.Constants.GUID_EMPTY) {\n console.error(\"No explanationId for template: \" + this.selectedTemplateId);\n return;\n }\n this.explanationFile.isLoading = true;\n $('#previewModal').modal('show');\n this.mediaService.getMediaFile(id)\n .then(function (data) {\n _this.explanationFile.data = data;\n var temp = data.filename.split('.');\n _this.explanationFile.suffix = temp[temp.length - 1];\n })\n .catch(function (e) { })\n .finally(function () { return _this.explanationFile.isLoading = false; });\n };\n ReportingController.prototype.getSelectedReportName = function () {\n for (var i = 0; i < this.templateList.length; i++) {\n if (this.templateList[i].objectId === this.selectedTemplateId)\n return this.replaceUmlauts(this.templateList[i].name);\n }\n return \"report\";\n };\n ReportingController.prototype.toggleAllCheckboxes = function () {\n var toggleState = this.selectAll;\n if (!this.$scope.filteredBoxes)\n return;\n for (var i = 0; i < this.$scope.filteredBoxes.length; i++) {\n this.$scope.filteredBoxes[i].isChecked = toggleState;\n }\n this.$qui.scopeApply(this.$scope);\n };\n ReportingController.prototype.getParamTableHeight = function () {\n return document.body.clientHeight - 320;\n };\n /* replaces any umlauts whether upper or lower case with its corresponing ANSII compatible characters */\n ReportingController.prototype.replaceUmlauts = function (fileName) {\n var umlautMap = {\n '\\u00dc': 'UE',\n '\\u00c4': 'AE',\n '\\u00d6': 'OE',\n '\\u00fc': 'ue',\n '\\u00e4': 'ae',\n '\\u00f6': 'oe',\n '\\u00df': 'ss',\n };\n var result = fileName.replace(/[\\u00dc|\\u00c4|\\u00d6][a-z]/g, function (a) {\n var big = umlautMap[a.slice(0, 1)];\n return big.charAt(0) + big.charAt(1).toLowerCase() + a.slice(1);\n }).replace(new RegExp('[' + Object.keys(umlautMap).join('|') + ']', \"g\"), function (a) { return umlautMap[a]; });\n return this.removeInvalidChars(result);\n };\n ReportingController.prototype.removeInvalidChars = function (fileName) {\n var fileNameNoWhiteSpace = fileName.replace(/[\\s]/g, \"_\");\n return fileNameNoWhiteSpace.replace(/[\\/\\?\\#\\[\\]\\@\\!\\$\\&\\§\\'\\(\\)\\*\\+\\,\\;\\:\\=]/g, \"-\"); //vgl: https://stackoverflow.com/questions/2366260/whats-valid-and-whats-not-in-a-uri-query\n };\n ReportingController = __decorate([\n QMC.Controller('QMC.Reporting', 'ReportingController'),\n QMC.Inject('ReportingService', '$qui', '$state', '$scope', '$rootScope', 'QmcMediaService')\n ], ReportingController);\n return ReportingController;\n }());\n })(Reporting = QMC.Reporting || (QMC.Reporting = {}));\n})(QMC || (QMC = {}));\nvar QMC;\n(function (QMC) {\n var Reporting;\n (function (Reporting) {\n var ReportPreviewListController = /** @class */ (function () {\n /*constructor*/\n function ReportPreviewListController($qui, lngService, reportingService, userService, $location, $scope, $state, $stateParams) {\n var _this = this;\n this.$qui = $qui;\n this.lngService = lngService;\n this.reportingService = reportingService;\n this.userService = userService;\n this.$location = $location;\n this.$scope = $scope;\n this.$state = $state;\n this.$stateParams = $stateParams;\n /*Interface*/\n this.ui = new Reporting.UserInterfaceReportPreview();\n this.tableFilter = \"\";\n /*variables*/\n this.finishedReportList = [];\n this.selectedForRemovalList = [];\n this.shouldLoadTableData = true;\n this.debounceChkBx = false;\n this.page = 0;\n this.formState = 'new';\n this.loading = {\n list: false,\n unfetched: false,\n daysInPast: 7,\n firstLoad: true,\n page: 0,\n tableFilter: ''\n };\n this.errorInfoModalMessage = {\n serverMessage: '',\n errorTrace: ''\n };\n $qui.init($qui.getSectionColor($location.path()), function () {\n $qui.anonAvatar();\n $qui.bindEvents();\n });\n this.init();\n if ($stateParams.id !== undefined) {\n this.externallySelectedReportId = $stateParams.id;\n }\n this.$qui.getTableAutoload(this.userService).then(function (ltd) {\n _this.shouldLoadTableData = ltd;\n _this.userService.getUserSettings([\"DLGREPORTINGSERVERJOBS.DAYSINPAST\", \"DLGREPORTINGSERVERJOBS.SHOWONLYUNFETCHED\"], false).then(function (data2) {\n _this.daysInPast = parseInt(data2[0].value);\n _this.showOnlyUnfetchedData = (data2[1].value.toLowerCase() === \"true\");\n _this.loading.daysInPast = _this.daysInPast;\n _this.loading.unfetched = _this.showOnlyUnfetchedData;\n if (_this.shouldLoadTableData) {\n _this.getData();\n _this.$scope.$watch('vm.tableFilter', function (newValue, oldValue) {\n if (newValue === oldValue)\n return;\n var current = _this.tableFilter;\n setTimeout(function () {\n if (current === _this.tableFilter) {\n _this.page = 0;\n _this.getData();\n }\n _this.$qui.scopeApply(_this.$scope);\n }, 500);\n });\n _this.$scope.$watch('vm.daysInPast', function (newValue, oldValue) {\n if (newValue === oldValue)\n return;\n var current = _this.daysInPast;\n setTimeout(function () {\n if (current === _this.daysInPast) {\n _this.page = 0;\n _this.getData();\n }\n _this.$qui.scopeApply(_this.$scope);\n }, 500);\n });\n _this.$scope.$watch('vm.showOnlyUnfetchedData', function (newValue, oldValue) {\n if (newValue !== oldValue && !_this.debounceChkBx) {\n _this.debounceChkBx = true;\n setTimeout(function () {\n _this.page = 0;\n _this.getData();\n _this.debounceChkBx = false;\n }, 250);\n }\n });\n }\n });\n });\n }\n /*local init*/\n ReportPreviewListController.prototype.init = function () {\n var _this = this;\n this.$scope.$watch('vm.page', function (newValue, oldValue) {\n if (newValue !== oldValue)\n _this.getData();\n });\n this.promptOptions = {\n title: this.lngService.translate(20002016, \"Hinweis\"),\n yesNo: true,\n icon: \"qm-icon-trash\",\n text: this.lngService.translate(20015049, \"Wollen Sie die Auswertung wirklich löschen?\")\n };\n this.promptOptionsMulti = {\n title: this.lngService.translate(20002016, \"Hinweis\"),\n yesNo: true,\n icon: \"qm-icon-trash\",\n text: this.lngService.translate(20015056, \"Wollen Sie die ausgewählten Auswertungen wirklich löschen?\")\n };\n };\n /*acquire finished reports from server*/\n ReportPreviewListController.prototype.getData = function () {\n var _this = this;\n if ((this.loading.daysInPast === this.daysInPast) && (this.loading.unfetched === this.showOnlyUnfetchedData) && (this.loading.page === this.page)\n && (this.tableFilter === undefined) && !this.loading.firstLoad)\n return;\n this.loading.firstLoad = false;\n this.loading.list = true;\n this.reportingService.getFinishedReportList(this.showOnlyUnfetchedData, this.daysInPast, this.page, QMC.Common.Constants.DEFAULT_PAGINATION_SIZE, this.tableFilter, this.ui.getDisplayedPropertiesFromSchema(this.ui.reportPreviewTable)).then(function (data) {\n for (var _i = 0, _a = data.items; _i < _a.length; _i++) {\n var item = _a[_i];\n if (!item.showPreviewButton) {\n if (!item.showDeleteButton)\n item.style = { 'color': 'orange', 'font-weight': 'bold', 'height': '55px' };\n else if (item.isSpreadSheet)\n item.style = { 'color': 'black', 'font-weight': 'normal' };\n else\n item.style = { 'color': 'red', 'font-weight': 'bold' };\n }\n }\n _this.paginationInfo = data.paginationInfo;\n _this.finishedReportList = _this.checkPreviouslyMarkedItemsAgain(data.items);\n _this.ui.reportPreviewTable.data = _this.finishedReportList;\n _this.$qui.functionWaiter(\"ui.createTable\", _this);\n _this.loading.list = false;\n _this.loading.unfetched = _this.showOnlyUnfetchedData;\n _this.loading.daysInPast = _this.daysInPast;\n _this.loading.page = _this.page;\n if (_this.externallySelectedReportId !== undefined) {\n for (var _b = 0, _c = _this.finishedReportList; _b < _c.length; _b++) {\n var finishedReport = _c[_b];\n if (finishedReport.objectId === _this.externallySelectedReportId) {\n _this.selectedReportObject = finishedReport;\n _this.getFinishedReportFile(finishedReport);\n }\n }\n }\n _this.$qui.scopeApply(_this.$scope);\n $('html,body').animate({\n scrollTop: $(\"#docuBox\").offset().top - 25\n }, 500);\n });\n };\n ReportPreviewListController.prototype.refresh = function (value) {\n this.resetFormProperties(value);\n this.getData();\n this.setWidgetRefresh();\n };\n /*acquires the finished report file from the server for preview*/\n ReportPreviewListController.prototype.getFinishedReportFile = function (reportObject) {\n var _this = this;\n console.log(\"Getting file for \", reportObject.reportName);\n this.base64Data = undefined;\n this.reportingService.getFinishedReportFile(reportObject).then(function (data) {\n _this.base64Data = data.base64;\n _this.fileName = data.filename;\n _this.reportFileId = data.objectId;\n _this.resetFormProperties(false);\n _this.getData();\n _this.setWidgetRefresh();\n setTimeout(function () {\n if (reportObject.serverJobType === 6000 || reportObject.serverJobType === 7000) {\n //pdf files - serverJobType 6000 (form template) & 7000 (normal report))\n _this.fileType = 'pdf';\n }\n else if (reportObject.serverJobType === 3000) {\n //xls files - serverJobType 3000\n _this.fileType = 'excel';\n }\n $('#loadingScreenModal').modal('hide');\n _this.$qui.scopeApply(_this.$scope);\n $('html,body').animate({\n scrollTop: $(\"#docuBox\").offset().top - 25\n }, 500);\n }, 500);\n });\n };\n ReportPreviewListController.prototype.getPdfXlsFile = function (getPdf) {\n var _this = this;\n if (getPdf) {\n $('#loadingScreenModal').modal('show');\n this.reportingService.getFinishedSpreadServerJobAsPdf(this.selectedReportObject.objectId, this.selectedReportObject.reportName).then(function (data) {\n _this.base64Data = data.base64;\n _this.fileType = 'pdf';\n setTimeout(function () {\n _this.$qui.scopeApply(_this.$scope);\n $('#loadingScreenModal').modal('hide');\n $('html,body').animate({\n scrollTop: $(\"#pdfViewer\").offset().top\n }, 500);\n //refresh table after animation/scrolling down\n _this.refresh(false);\n }, 1000);\n });\n }\n else {\n var absoluteUrl = window.location.href;\n var sessionData = $('#session').data();\n absoluteUrl = absoluteUrl.replace(window.location.hash, \"\");\n var correctedFileName = this.replaceUmlauts(this.selectedReportObject.reportName);\n var completeUrl = absoluteUrl + 'Reporting/FinishedReportFile?apiPath=' + sessionData.api + '&finishedReportJobObjectId='\n + this.selectedReportObject.objectId + '&finishedReportType=' + this.selectedReportObject.serverJobType + '&finishedReportName='\n + correctedFileName + '&spreadAsPdf=' + false + '&bearer=' + this.reportingService.getAccessToken();\n window.open(completeUrl);\n setTimeout(function () {\n _this.refresh(false);\n }, 1000);\n }\n };\n /* deletes a given finished report database entry and its files*/\n ReportPreviewListController.prototype.deleteFinishedReport = function (reportObject) {\n var _this = this;\n QMC.Common.Utilities.confirm(this.promptOptions, function (data) {\n _this.loading.list = true;\n _this.finishedReportList = [];\n if (data) {\n console.log(\"finished report '%s' is being deleted right now...\", reportObject.reportName);\n _this.reportingService.deleteSelectedReport(reportObject).then(function (data) {\n if (data.isDeleteDataBaseEntrySuccessful || data.isDeleteFileSuccessful) {\n _this.$qui.notify(_this.$qui.deleteNote);\n _this.refresh(true);\n }\n });\n }\n }, '#promptSingle');\n };\n /* reset all previously set properties */\n ReportPreviewListController.prototype.resetFormProperties = function (refreshall) {\n this.selectedReportObject = null;\n this.selectedForRemovalList = [];\n this.externallySelectedReportId = undefined;\n this.finishedReportList = [];\n this.ui.reportPreviewTable.data = [];\n if (refreshall) {\n this.base64Data = undefined;\n this.fileType = undefined;\n }\n };\n ReportPreviewListController.prototype.prepareReportPreview = function (reportObject) {\n $('#loadingScreenModal').modal('show');\n this.selectedReportObject = reportObject;\n this.getFinishedReportFile(reportObject);\n };\n /* replaces any umlauts whether upper or lower case with its corresponing ANSII compatible characters */\n ReportPreviewListController.prototype.replaceUmlauts = function (fileName) {\n var umlautMap = {\n '\\u00dc': 'UE',\n '\\u00c4': 'AE',\n '\\u00d6': 'OE',\n '\\u00fc': 'ue',\n '\\u00e4': 'ae',\n '\\u00f6': 'oe',\n '\\u00df': 'ss',\n };\n var result = fileName.replace(/[\\u00dc|\\u00c4|\\u00d6][a-z]/g, function (a) {\n var big = umlautMap[a.slice(0, 1)];\n return big.charAt(0) + big.charAt(1).toLowerCase() + a.slice(1);\n }).replace(new RegExp('[' + Object.keys(umlautMap).join('|') + ']', \"g\"), function (a) { return umlautMap[a]; });\n return this.removeInvalidChars(result);\n };\n ReportPreviewListController.prototype.removeInvalidChars = function (fileName) {\n var fileNameNoWhiteSpace = fileName.replace(/[\\s]/g, \"_\");\n return fileNameNoWhiteSpace.replace(/[\\/\\?\\#\\[\\]\\@\\!\\$\\&\\§\\'\\(\\)\\*\\+\\,\\;\\:\\=]/g, \"-\"); //vgl: https://stackoverflow.com/questions/2366260/whats-valid-and-whats-not-in-a-uri-query\n };\n /* fired when a check in the table is clicked - adds/removes the report from the selected row to list of items to be disposed of */\n ReportPreviewListController.prototype.selectForRemoval = function (checked, item) {\n if (checked) {\n this.selectedForRemovalList.push(item);\n }\n else {\n for (var i = 0; i < this.selectedForRemovalList.length; i++) {\n if (this.selectedForRemovalList[i] === item) {\n this.selectedForRemovalList.splice(i, 1);\n }\n }\n }\n };\n /* Removes a list of given finished reports */\n ReportPreviewListController.prototype.removeSelectedReports = function () {\n var _this = this;\n QMC.Common.Utilities.confirm(this.promptOptionsMulti, function (data) {\n $('#deletionAwaitModal').modal('show');\n _this.loading.list = true;\n _this.finishedReportList = [];\n if (data) {\n _this.reportingService.deleteSelectedReports(_this.selectedForRemovalList).then(function () {\n $('#deletionAwaitModal').modal('hide');\n if (_this.selectedForRemovalList.length > 1)\n _this.$qui.notify(_this.$qui.deleteNotes);\n else if (_this.selectedForRemovalList.length === 1)\n _this.$qui.notify(_this.$qui.deleteNote);\n _this.refresh(true);\n });\n }\n else {\n $('#deletionAwaitModal').modal('hide');\n }\n }, '#promptMulti');\n };\n ReportPreviewListController.prototype.checkPreviouslyMarkedItemsAgain = function (items) {\n if (this.selectedForRemovalList.length === undefined || this.selectedForRemovalList.length === 0)\n return items;\n var modifiedData = items;\n modifiedData.forEach(function (element) {\n element.isSelected = false;\n });\n for (var i = 0; i < modifiedData.length; i++) {\n var reportId = modifiedData[i].objectId;\n for (var j = 0; j < this.selectedForRemovalList.length; j++) {\n if (this.selectedForRemovalList[j].objectId === reportId) {\n //because reportPreviewTable.data and finishedReportList are the same list\n modifiedData[i].isSelected = true;\n }\n }\n }\n return modifiedData;\n };\n ReportPreviewListController.prototype.setWidgetRefresh = function () {\n $('#qmUnfetchedReports').attr('qm-refresh', 'true');\n };\n ReportPreviewListController.prototype.showErrorInfoModal = function (reportObject) {\n this.errorInfoModalMessage.serverMessage = reportObject.serverMessage;\n this.errorInfoModalMessage.errorTrace = reportObject.errorTrace;\n $('#errorInfoModal').modal('show');\n this.setFaultyReportFetched(reportObject);\n };\n ReportPreviewListController.prototype.setFaultyReportFetched = function (serverJobObject) {\n var _this = this;\n if (!serverJobObject.isFetched) {\n this.reportingService.markReportFetched(serverJobObject.objectId).then(function () {\n for (var i = 0; i < _this.finishedReportList.length; i++) {\n var element = _this.finishedReportList[i];\n if (element.objectId === serverJobObject.objectId)\n element.isFetched = true;\n }\n _this.ui.reportPreviewTable.data = _this.finishedReportList;\n _this.$qui.functionWaiter(\"ui.createTable\", _this);\n _this.setWidgetRefresh();\n });\n }\n };\n ReportPreviewListController = __decorate([\n QMC.Controller('QMC.Reporting', 'ReportPreviewListController'),\n QMC.Inject('$qui', 'QmcLanguageService', 'ReportingService', 'UserService', '$location', '$scope', '$state', '$stateParams')\n ], ReportPreviewListController);\n return ReportPreviewListController;\n }());\n })(Reporting = QMC.Reporting || (QMC.Reporting = {}));\n})(QMC || (QMC = {}));\nvar QMC;\n(function (QMC) {\n var Reporting;\n (function (Reporting) {\n /**\n * Report preview user interface class\n *\n * @export\n * @class UserInterface\n * @extends {Common.UserInterface}\n *\n * */\n var UserInterfaceReportPreview = /** @class */ (function (_super) {\n __extends(UserInterfaceReportPreview, _super);\n function UserInterfaceReportPreview() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n /*\n * finished Reportlist table\n * @memberOf UserInterface\n */\n _this.reportPreviewTable = {\n \"config\": {\n \"defaultSort\": \"date\",\n \"sortReverse\": \"false\"\n },\n \"table\": {\n \"Löschen\": {\n \"id\": \"objectId\",\n \"selected\": \"isSelected\",\n \"dType\": \"Checkbox\",\n \"lngTag\": \"20000002\",\n \"events\": {\n \"onChange\": \"selectForRemoval\"\n }\n },\n \"Vorlagentyp\": {\n \"label\": \"reportTypeString\",\n \"dType\": \"string\",\n \"lngTag\": \"20015032\"\n },\n \"Status\": {\n \"label\": \"jobStatus\",\n \"dType\": \"string\",\n \"lngTag\": \"20000164\",\n \"style\": \"style\"\n },\n \"Auswertung\": {\n \"label\": \"reportName\",\n \"dType\": \"string\",\n \"lngTag\": \"20015030\"\n },\n \"Startzeit\": {\n \"label\": \"startTime\",\n \"dType\": \"Date\",\n \"withTime\": \"true\",\n \"lngTag\": \"20015029\"\n },\n \"Endzeit\": {\n \"label\": \"finishTime\",\n \"dType\": \"Date\",\n \"withTime\": \"true\",\n \"lngTag\": \"20015054\"\n },\n \"Abgeholt\": {\n \"label\": \"isFetched\",\n \"dType\": \"Bool\",\n \"lngTag\": \"20015031\"\n },\n \"Aktionen\": [{\n \"icon\": \"qm-icon-eye blue\",\n \"click\": \"prepareReportPreview\",\n \"dType\": \"Button\",\n \"tooltip\": \"Betrachten\",\n \"lngTag\": \"20015033\",\n \"events\": {\n \"hide\": \"!showPreviewButton\"\n },\n },\n {\n \"icon\": \"qm-icon-information orange\",\n \"click\": \"showErrorInfoModal\",\n \"dType\": \"Button\",\n \"tooltip\": \"Fehlerinfo\",\n \"lngTag\": \"20015062\",\n \"hideSpacer\": \"hasBeenCanceled\",\n \"events\": {\n \"hide\": \"!showInfoButton\"\n },\n },\n {\n \"icon\": \"qm-icon-garbage_can red\",\n \"click\": \"deleteFinishedReport\",\n \"label\": \"data\",\n \"dType\": \"Button\",\n \"tooltip\": \"Löschen\",\n \"lngTag\": \"20000002\",\n \"events\": {\n \"hide\": \"!showDeleteButton\"\n },\n }]\n },\n \"card\": {\n \"avatar\": {\n \"icon\": \"qm-icon-form\"\n },\n \"text\": {\n \"label\": \"caption\",\n \"dType\": \"string\"\n },\n \"subtext\": [\n {\n \"label\": \"reportName\",\n \"dType\": \"string\"\n },\n {\n \"label\": \"reportTypeString\",\n \"dType\": \"string\"\n },\n {\n \"label\": \"isFetched\",\n \"dType\": \"Bool\"\n },\n {\n \"label\": \"finishTime\",\n \"dType\": \"Date\"\n }\n ],\n \"buttons\": [\n {\n \"icon\": \"qm-icon-eye blue\",\n \"click\": \"prepareReportPreview\",\n \"dType\": \"Button\",\n \"tooltip\": \"Betrachten\",\n \"lngTag\": \"20015033\",\n \"events\": {\n \"hide\": \"!showPreviewButton\"\n }\n },\n {\n \"icon\": \"qm-icon-information orange\",\n \"click\": \"showErrorInfoModal\",\n \"dType\": \"Button\",\n \"tooltip\": \"Fehlerinfo\",\n \"lngTag\": \"20015062\",\n \"hideSpacer\": \"hasBeenCanceled\",\n \"events\": {\n \"hide\": \"!showInfoButton\"\n }\n },\n {\n \"icon\": \"qm-icon-garbage_can red\",\n \"click\": \"deleteFinishedReport\",\n \"label\": \"data\",\n \"dType\": \"Button\",\n \"tooltip\": \"Löschen\",\n \"lngTag\": \"20000002\",\n \"events\": {\n \"hide\": \"!showDeleteButton\"\n }\n }\n ]\n },\n \"data\": null\n };\n return _this;\n }\n return UserInterfaceReportPreview;\n }(QMC.Common.UserInterface));\n Reporting.UserInterfaceReportPreview = UserInterfaceReportPreview;\n })(Reporting = QMC.Reporting || (QMC.Reporting = {}));\n})(QMC || (QMC = {}));\n\n//# sourceMappingURL=../../maps/Reporting/qmc.reporting.js.map\n"],"names":["QMC","__extends","this","extendStatics","d","b","Object","setPrototypeOf","__proto__","Array","p","hasOwnProperty","__","constructor","prototype","create","__decorate","decorators","target","key","desc","c","arguments","length","r","getOwnPropertyDescriptor","Reflect","decorate","i","defineProperty","routes","$locationProvider","$stateProvider","$urlRouterProvider","qmcBase","html5Mode","enabled","requireBase","state","url","templateUrl","controller","controllerAs","resolve","data","console","log","angular","module","config","$inject","HttpProvider","Reporting","configureHttpProvider","$httpProvider","defaults","headers","get","_super","ReportingService","$http","$q","_this","call","modulePath","Common","BaseService","getReportTemplateList","objectType","getUnfetchedReportList","getFinishedReportList","unfetchedOnly","daysInPast","page","pageSize","listSearch","searchProperties","getItem","getReportParameterList","id","reportType","getReportParameterValueList","fieldType","valueRange","getNewReportJobGuid","getFinishedReportBase64","reportJobObjectId","reportTypeValue","reportName","getFinishedReportFile","finishedReportJobItemId","objectId","serverJobType","getFinishedSpreadServerJobAsPdf","finishedServerJobItemId","spreadServerJobName","postReportJob","post","then","markReportFetched","payload","put","cancelRunningReportJob","delete","deleteSelectedReport","deleteSelectedReports","getDetailReportReferencesByObjectType","Service","Inject","ReportingController","reportingService","$qui","$state","$scope","$rootScope","mediaService","parameterValueFilterText","isLoadingParams","isParamsLoadingError","loadingParamValues","onlyActive","showIsCurrent","detailParams","selectedDetailId","Constants","GUID_EMPTY","explanationFile","isLoading","scrollTarget","templateList","events","getReportingTemplates","init","getSectionColor","getPrevState","anonAvatar","bindEvents","undefined","currentState","name","$watch","value","getAvailableParameters","newValue","oldValue","paramDateFilter","dateFrom","dateTo","toggleAllCheckboxes","getNewGuid","Date","getTime","replace","Math","random","floor","toString","params","templateMap","map","x","text","group","categoryName","icon","getIcon","item","getDetailParams","loadingDetailParams","_a","base64Data","selectedTemplateId","getReportType","filter","isDetail","availableParameters","fieldTypeName","chosenValues","toLowerCase","setValuesAsDefault","moment","isValid","format","dateValue","catch","getAvailableParameterValues","parameter","additionalProperties","resetModal","enable","availableValues","items","j","isChecked","isCurrent","availableValuesMap","selectAutoMap","dateFromParam","dateToParam","currentParameter","valueInDateRange","param","filterStartDate","filterEndDate","paramStartDate","paramEndDate","selectAll","addMultiSelectedValues","selectedValues","push","caption","selectionString","generateReport","generateReportId","copy","postItem","reportObjectId","serverJobObjectId","parameters","isCancelled","detailParentId","_i","_loop_1","forEach","val","avVal","description","handleFinishedReport","match","$","modal","reportFileId","fileName","getSelectedReportName","fileType","filename","substring","lastIndexOf","base64","animate","scrollTop","offset","top","scrollToViewer","scopeApply","setTimeout","cancelReportJob","runInBackground","getDescription","getExplanationFileId","explanationId","explanationFileId","hasExplanationFile","openExplanationFile","error","getMediaFile","temp","split","suffix","e","finally","replaceUmlauts","toggleState","filteredBoxes","getParamTableHeight","document","body","clientHeight","umlautMap","Ü","Ä","Ö","ü","ä","ö","ß","result","a","big","slice","charAt","RegExp","keys","join","removeInvalidChars","Controller","ReportPreviewListController","lngService","userService","$location","$stateParams","ui","UserInterfaceReportPreview","tableFilter","finishedReportList","selectedForRemovalList","shouldLoadTableData","debounceChkBx","formState","loading","list","unfetched","firstLoad","errorInfoModalMessage","serverMessage","errorTrace","path","externallySelectedReportId","getTableAutoload","ltd","getUserSettings","data2","parseInt","showOnlyUnfetchedData","getData","current","promptOptions","title","translate","yesNo","promptOptionsMulti","DEFAULT_PAGINATION_SIZE","getDisplayedPropertiesFromSchema","reportPreviewTable","showPreviewButton","showDeleteButton","isSpreadSheet","style","color","font-weight","height","paginationInfo","checkPreviouslyMarkedItemsAgain","functionWaiter","_b","_c","finishedReport","selectedReportObject","refresh","resetFormProperties","setWidgetRefresh","reportObject","getPdfXlsFile","getPdf","sessionData","correctedFileName","absoluteUrl","window","location","href","hash","completeUrl","api","getAccessToken","open","deleteFinishedReport","Utilities","confirm","isDeleteDataBaseEntrySuccessful","isDeleteFileSuccessful","notify","deleteNote","refreshall","prepareReportPreview","selectForRemoval","checked","splice","removeSelectedReports","deleteNotes","modifiedData","element","isSelected","reportId","attr","showErrorInfoModal","setFaultyReportFetched","serverJobObject","isFetched","apply","defaultSort","sortReverse","table","Löschen","selected","dType","lngTag","onChange","Vorlagentyp","label","Status","Auswertung","Startzeit","withTime","Endzeit","Abgeholt","Aktionen","click","tooltip","hide","hideSpacer","card","avatar","subtext","buttons","UserInterface"],"mappings":"AAAA,IA88BIA,IA98BAC,UAAaC,MAAQA,KAAKD,WAAc,WACxC,IAAIE,EAAgB,SAAUC,EAAGC,GAI7B,OAHAF,EAAgBG,OAAOC,iBAClB,CAAEC,UAAW,EAAG,YAAaC,MAAS,SAAUL,EAAGC,GAAKD,EAAEI,UAAYH,CAAG,EAC1E,SAAUD,EAAGC,GAAK,IAAK,IAAIK,KAAKL,EAAOA,EAAEM,eAAeD,CAAC,IAAGN,EAAEM,GAAKL,EAAEK,GAAI,IACxDN,EAAGC,CAAC,CAC7B,EACA,OAAO,SAAUD,EAAGC,GAEhB,SAASO,IAAOV,KAAKW,YAAcT,CAAG,CADtCD,EAAcC,EAAGC,CAAC,EAElBD,EAAEU,UAAkB,OAANT,EAAaC,OAAOS,OAAOV,CAAC,GAAKO,EAAGE,UAAYT,EAAES,UAAW,IAAIF,EACnF,CACH,EAAE,EACCI,WAAcd,MAAQA,KAAKc,YAAe,SAAUC,EAAYC,EAAQC,EAAKC,GAC7E,IAA2HhB,EAAvHiB,EAAIC,UAAUC,OAAQC,EAAIH,EAAI,EAAIH,EAAkB,OAATE,EAAgBA,EAAOd,OAAOmB,yBAAyBP,EAAQC,CAAG,EAAIC,EACrH,GAAuB,UAAnB,OAAOM,SAAoD,YAA5B,OAAOA,QAAQC,SAAyBH,EAAIE,QAAQC,SAASV,EAAYC,EAAQC,EAAKC,CAAI,OACxH,IAAK,IAAIQ,EAAIX,EAAWM,OAAS,EAAQ,GAALK,EAAQA,CAAC,IAAQxB,EAAIa,EAAWW,MAAIJ,GAAKH,EAAI,EAAIjB,EAAEoB,CAAC,EAAQ,EAAJH,EAAQjB,EAAEc,EAAQC,EAAKK,CAAC,EAAIpB,EAAEc,EAAQC,CAAG,IAAMK,GAChJ,OAAW,EAAJH,GAASG,GAAKlB,OAAOuB,eAAeX,EAAQC,EAAKK,CAAC,EAAGA,CAChE,EACA,CAAA,WAII,SAASM,EAAOC,EAAmBC,EAAgBC,EAAoBC,GACnEH,EAAkBI,UAAU,CACxBC,QAAS,CAAA,EACTC,YAAa,CAAA,CACjB,CAAC,EACDL,EACKM,MAAM,SAAU,CACjBC,IAAK,cACLC,YAAaN,EAAU,aACvBO,WAAY,sBACZC,aAAc,KACdC,QAAS,CACLC,KAAM,CAAC,WACCC,QAAQC,IAAI,uBAAuB,CACvC,EACR,CACJ,CAAC,EACDd,EACKM,MAAM,gBAAiB,CACxBC,IAAK,kBACLC,YAAaN,EAAU,2BACvBO,WAAY,8BACZC,aAAc,KACdC,QAAS,CACLC,KAAM,CAAC,WACCC,QAAQC,IAAI,8BAA8B,CAC9C,EACR,CACJ,CAAC,EACDd,EACKM,MAAM,sBAAuB,CAC9BC,IAAK,qBACLC,YAAaN,EAAU,2BACvBO,WAAY,8BACZC,aAAc,KACdC,QAAS,CACLC,KAAM,CAAC,WACCC,QAAQC,IAAI,oCAAoC,CACpD,EACR,CACJ,CAAC,CACL,CA5CAC,QAAQC,OAAO,gBAAiB,EAAE,EAAEC,OAAOnB,CAAM,EAEjDA,EAAOoB,QAAU,CAAC,oBAAqB,iBAAkB,qBAAsB,UA2ClF,EAAE,EAEH,SAAWlD,GAIC,SAASmD,KAFNC,EAkBIpD,EAAIoD,YAAcpD,EAAIoD,UAAY,IAdzCD,EAAaE,sBAAwB,SAAUC,GAEtCA,EAAcC,SAASC,QAAQC,MAChCH,EAAcC,SAASC,QAAQC,IAAM,IAGzCH,EAAcC,SAASC,QAAQC,IAAI,qBAAuB,gCAE1DH,EAAcC,SAASC,QAAQC,IAAI,iBAAmB,WACtDH,EAAcC,SAASC,QAAQC,IAAY,OAAI,UACnD,EAGJL,EAAUD,aAFCA,CAIlB,EAAEnD,IAAAA,KAAc,EAAG,EAEhB+C,QAAQC,OAAO,eAAe,EACzBC,OAAO,CAAC,gBAAiBjD,IAAIoD,UAAUD,aAAaE,sBAAsB,EAGnF,SAAWrD,GACP,IACWoD,EACyCM,EAE5C,SAASC,EAAiBC,EAAOC,GAC7B,IAAIC,EAAQJ,EAAOK,KAAK7D,KAAM0D,EAAOC,CAAE,GAAK3D,KAI5C,OAHA4D,EAAMF,MAAQA,EACdE,EAAMD,GAAKA,EACXC,EAAME,WAAa,aACZF,CACX,CATGV,EAgGIpD,EAAIoD,YAAcpD,EAAIoD,UAAY,IA/FGM,EA6F9C1D,EAAIiE,OAAOC,YA5FTjE,UAAU0D,EAAkBD,CAAM,EAQlCC,EAAiB7C,UAAUqD,sBAAwB,SAAUC,GACzD,OAAOV,EAAO5C,UAAU2C,IAAIM,KAAK7D,KAAMA,KAAK8D,WAAa,aAAeI,EAAY,GAAI,SAAUxB,GAC9F,OAAOA,CACX,CAAC,CACL,EACAe,EAAiB7C,UAAUuD,uBAAyB,WAChD,OAAOX,EAAO5C,UAAU2C,IAAIM,KAAK7D,KAAMA,KAAK8D,WAAa,8BAA+B,GAAI,SAAUpB,GAClG,OAAOA,CACX,CAAC,CACL,EACAe,EAAiB7C,UAAUwD,sBAAwB,SAAUC,EAAeC,EAAYC,EAAMC,EAAUC,EAAYC,GAOhH,OAAOlB,EAAO5C,UAAU+D,QAAQd,KAAK7D,KAAMA,KAAK8D,WAAa,0BAA2B,CAAEO,cAN1DA,EAAV,KAAA,IAAlBA,EAA4C,CAAA,EAMyDA,EAAeC,WAL3FA,EAAV,KAAA,IAAfA,EAAsC,IAK0FA,EAAYC,KAJzHA,EAAV,KAAA,IAATA,EAA0B,CAAC,EAIuHA,EAAMC,SAHjIA,EAAV,KAAA,IAAbA,EAAkC,CAAC,EAG+HA,EAAUC,WAFnJA,EAAV,KAAA,IAAfA,EAAsC,KAEkJA,EAAYC,iBADrKA,EAAV,KAAA,IAArBA,EAAkD,GACoKA,CAAiB,EAAG,SAAUhC,GACpP,OAAOA,CACX,CAAC,CACL,EACAe,EAAiB7C,UAAUgE,uBAAyB,SAAUC,EAAIC,GAC9D,OAAOtB,EAAO5C,UAAU2C,IAAIM,KAAK7D,KAAMA,KAAK8D,WAAa,cAAgBe,EAAK,IAAMC,EAAY,GAAI,SAAUpC,GAC1G,OAAOA,CACX,CAAC,CACL,EACAe,EAAiB7C,UAAUmE,4BAA8B,SAAUC,EAAWC,GAC1E,OAAOzB,EAAO5C,UAAU2C,IAAIM,KAAK7D,KAAMA,KAAK8D,WAAa,oBAAsBkB,EAAY,IAAMC,EAAY,GAAI,SAAUvC,GACvH,OAAOA,CACX,CAAC,CACL,EACAe,EAAiB7C,UAAUsE,oBAAsB,WAC7C,OAAO1B,EAAO5C,UAAU2C,IAAIM,KAAK7D,KAAMA,KAAK8D,WAAa,eAAgB,GAAI,SAAUpB,GACnF,OAAOA,CACX,CAAC,CACL,EACAe,EAAiB7C,UAAUuE,wBAA0B,SAAUC,EAAmBC,EAAiBC,GAC/F,OAAO9B,EAAO5C,UAAU+D,QAAQd,KAAK7D,KAAMA,KAAK8D,WAAa,uBAAyBsB,EAAoB,IAAMC,EAAkB,IAAMC,EAAY,GAAI,SAAU5C,GAC9J,OAAOA,CACX,CAAC,CACL,EACAe,EAAiB7C,UAAU2E,sBAAwB,SAAU7C,GACzD,OAAOc,EAAO5C,UAAU+D,QAAQd,KAAK7D,KAAMA,KAAK8D,WAAa,+BAAgC,CAAE0B,wBAAyB9C,EAAK+C,SAAUC,cAAehD,EAAKgD,cAAeJ,WAAY5C,EAAK4C,UAAW,EAAG,SAAU5C,GAC/M,OAAOA,CACX,CAAC,CACL,EACAe,EAAiB7C,UAAU+E,gCAAkC,SAAUF,EAAUH,GAC7E,OAAO9B,EAAO5C,UAAU+D,QAAQd,KAAK7D,KAAMA,KAAK8D,WAAa,0CAA2C,CAAE8B,wBAAyBH,EAAUI,oBAAqBP,CAAW,EAAG,SAAU5C,GACtL,OAAOA,CACX,CAAC,CACL,EACAe,EAAiB7C,UAAUkF,cAAgB,SAAUpD,GACjD,OAAOc,EAAO5C,UAAUmF,KAAKlC,KAAK7D,KAAMA,KAAK8D,WAAa,OAAQpB,CAAI,EAAEsD,KAAK,SAAUtD,GACnF,OAAOA,CACX,CAAC,CACL,EACAe,EAAiB7C,UAAUqF,kBAAoB,SAAUC,GACrD,OAAO1C,EAAO5C,UAAUuF,IAAItC,KAAK7D,KAAMA,KAAK8D,WAAa,oBAAsBoC,EAAS,EAAE,EAAEF,KAAK,SAAUtD,GACvG,OAAOA,CACX,CAAC,CACL,EACAe,EAAiB7C,UAAUwF,uBAAyB,SAAUvB,GAC1DrB,EAAO5C,UAAUyF,OAAOxC,KAAK7D,KAAMA,KAAK8D,WAAa,QAAUe,CAAE,CACrE,EACApB,EAAiB7C,UAAU0F,qBAAuB,SAAU5D,GACxD,OAAOc,EAAO5C,UAAUmF,KAAKlC,KAAK7D,KAAMA,KAAK8D,WAAa,6BAA8BpB,CAAI,EAAEsD,KAAK,SAAUtD,GACzG,OAAOA,CACX,CAAC,CACL,EACAe,EAAiB7C,UAAU2F,sBAAwB,SAAU7D,GACzD,OAAOc,EAAO5C,UAAUmF,KAAKlC,KAAK7D,KAAMA,KAAK8D,WAAa,sCAAuCpB,CAAI,EAAEsD,KAAK,SAAUtD,GAClH,OAAOA,CACX,CAAC,CACL,EACAe,EAAiB7C,UAAU4F,sCAAwC,SAAUtC,GACzE,OAAOV,EAAO5C,UAAU2C,IAAIM,KAAK7D,KAAMA,KAAK8D,WAAa,8BAAgCI,EAAY,GAAI,SAAUxB,GAC/G,OAAOA,CACX,CAAC,CACL,EAvFAe,EAwFmB3C,WAAW,CAC1BhB,EAAI2G,QAAQ,gBAAiB,kBAAkB,EAC/C3G,EAAI4G,OAAO,QAAS,IAAI,GACzBjD,CAAgB,EAGvBP,EAAUO,iBAAmBA,CAEpC,EAAE3D,IAAAA,KAAc,EAAG,EAEpB,SAAWA,GAIC,SAAS6G,EAAoBC,EAAkBC,EAAMC,EAAQC,EAAQC,EAAYC,GAC7EjH,KAAK4G,iBAAmBA,EACxB5G,KAAK6G,KAAOA,EACZ7G,KAAK8G,OAASA,EACd9G,KAAK+G,OAASA,EACd/G,KAAKgH,WAAaA,EAClBhH,KAAKiH,aAAeA,EACpBjH,KAAKkH,yBAA2B,GAChClH,KAAKmH,gBAAkB,CAAA,EACvBnH,KAAKoH,qBAAuB,CAAA,EAC5BpH,KAAKqH,mBAAqB,CAAA,EAC1BrH,KAAKsH,WAAa,CAAA,EAClBtH,KAAKuH,cAAgB,CAAA,EACrBvH,KAAKwH,aAAe,GACpBxH,KAAKyH,iBAAmB3H,EAAIiE,OAAO2D,UAAUC,WAC7C3H,KAAK4H,gBAAkB,CACnBC,UAAW,CAAA,CACf,EACA7H,KAAK8H,aAAe,GACpB9H,KAAK+H,aAAe,GACpB/H,KAAKgI,OAAO,EACZhI,KAAKiI,sBAAsB,EAC3BpB,EAAKqB,KAAKrB,EAAKsB,gBAAgBnI,KAAKoI,aAAa,CAAC,EAAG,WACjDvB,EAAKwB,WAAW,EAChBxB,EAAKyB,WAAW,CACpB,CAAC,CACL,CAiYOxI,EAAIoD,YAAcpD,EAAIoD,UAAY,IAhYzCyD,EAAoB/F,UAAUwH,aAAe,WACzC,GAA8CG,KAAAA,IAA1CvI,KAAKgH,WAAWwB,cAAuFD,KAAAA,IAA/CvI,KAAKgH,WAAWwB,aAAaC,KACrF,MAAO,IAEX,OADA9F,QAAQC,IAAI5C,KAAKgH,WAAWwB,aAAaC,IAAI,EACrCzI,KAAKgH,WAAWwB,aAAaC,MACjC,IAAK,aAAc,MAAO,cAC1B,IAAK,UAAW,MAAO,WACvB,IAAK,yBAA0B,MAAO,kCACtC,IAAK,kBACL,IAAK,aAAc,MAAO,cAC1B,QAAS,MAAO,GACpB,CACJ,EACA9B,EAAoB/F,UAAUoH,OAAS,WACnC,IAAIpE,EAAQ5D,KACZA,KAAK+G,OAAO2B,OAAO,wBAAyB,SAAUC,GACpCJ,KAAAA,IAAVI,GACA/E,EAAMgF,uBAAuBD,CAAK,CAE1C,CAAC,EACD3I,KAAK+G,OAAO2B,OAAO,8BAA+B,SAAUG,EAAUC,GAC9DD,IAAaC,GACTlF,EAAMmF,gBAAgBC,UAAYpF,EAAMmF,gBAAgBE,QAAUrF,EAAMmF,gBAAgBC,SAAWpF,EAAMmF,gBAAgBE,SACzHrF,EAAMmF,gBAAgBC,SAAWpF,EAAMmF,gBAAgBE,OAGnE,CAAC,EACDjJ,KAAK+G,OAAO2B,OAAO,4BAA6B,SAAUG,EAAUC,GAC5DD,IAAaC,GACTlF,EAAMmF,gBAAgBC,UAAYpF,EAAMmF,gBAAgBE,QAAUrF,EAAMmF,gBAAgBC,SAAWpF,EAAMmF,gBAAgBE,SACzHrF,EAAMmF,gBAAgBC,SAAWpF,EAAMmF,gBAAgBE,OAGnE,CAAC,EACDjJ,KAAK+G,OAAO2B,OAAO,eAAgB,SAAUG,EAAUC,GAC/CA,IAAaD,GACbjF,EAAMsF,oBAAoB,CAElC,CAAC,CACL,EACAvC,EAAoB/F,UAAUuI,WAAa,WACvC,IAAIjJ,GAAI,IAAIkJ,MAAOC,QAAQ,EAM3B,MALW,uCAAuCC,QAAQ,QAAS,SAAUnI,GACzE,IAAIG,GAAKpB,EAAoB,GAAhBqJ,KAAKC,OAAO,GAAU,GAAK,EAExC,OADAtJ,EAAIqJ,KAAKE,MAAMvJ,EAAI,EAAE,GACP,MAANiB,EAAYG,EAAS,EAAJA,EAAU,GAAMoI,SAAS,EAAE,CACxD,CAAC,CAEL,EACA/C,EAAoB/F,UAAUqH,sBAAwB,WAClD,IAAIrE,EAAQ5D,KACZA,KAAK4G,iBAAiB3C,sBAAsBjE,KAAK8G,OAAO6C,OAAO9E,EAAE,EAAEmB,KAAK,SAAUtD,GAC9EkB,EAAMmE,aAAerF,EACrBkB,EAAMgG,YAAchG,EAAMmE,aAAa8B,IAAI,SAAUC,GAAK,MAAO,CAAGnB,MAAOmB,EAAErE,SAAUsE,KAAMD,EAAErB,KAAMuB,MAAOF,EAAEG,aAAcC,KAAMtG,EAAMuG,QAAQL,CAAC,CAAG,CAAG,CAAC,EACtI,EAAdpH,EAAKrB,QACLuC,EAAMgF,uBAAuBlG,EAAK,GAAG+C,QAAQ,CACrD,CAAC,CACL,EACAkB,EAAoB/F,UAAUuJ,QAAU,SAAUC,GAC9C,OAAQA,EAAK/E,iBACT,KAAK,IACD,MAAO,wBACX,KAAK,IACD,MAAO,8BACf,CACA,MAAO,8BACX,EACAsB,EAAoB/F,UAAUyJ,gBAAkB,SAAUnG,GACtD,IAAIN,EAAQ5D,KACZA,KAAKsK,oBAAsB,CAAA,EAC3BtK,KAAK4G,iBAAiBJ,sCAAsCtC,CAAU,EAAE8B,KAAK,SAAUtD,GACnFkB,EAAM4D,aAAe9E,EAAKmH,IAAI,SAAUC,GAAK,MAAO,CAAGnB,MAAOmB,EAAErE,SAAUsE,KAAMD,EAAErB,IAAM,CAAG,CAAC,EAC5F7E,EAAM0G,oBAAsB,CAAA,CAChC,CAAC,CACL,EACA3D,EAAoB/F,UAAUgI,uBAAyB,SAAU/D,GAC7D,IACI0F,EADA3G,EAAQ5D,KAMR8E,GAJJ9E,KAAKwK,WAAa,GAClBxK,KAAKmH,gBAAkB,CAAA,EACvBnH,KAAKoH,qBAAuB,CAAA,EAC5BpH,KAAKyK,mBAAqB5F,EACT7E,KAAK0K,cAAc,GAC/B,OAACH,EAAKvK,KAAK+H,aAAa4C,OAAO,SAAUb,GAAK,OAAOA,EAAErE,WAAaZ,CAAI,CAAC,EAAE,KAAyC0F,CAAAA,EAAGK,UAAe5K,KAAKwH,cAA6C,IAA7BxH,KAAKwH,aAAanG,QAC9KrB,KAAKqK,gBAAgBrK,KAAK8G,OAAO6C,OAAO9E,EAAE,EAE9C7E,KAAK4G,iBAAiBhC,uBAAuBC,EAAIC,CAAU,EAAEkB,KAAK,SAAUtD,GACxEkB,EAAMuD,gBAAkB,CAAA,EACxBvD,EAAMiH,oBAAsBnI,EAE5B,IAAK,IAAIhB,EAAI,EAAGA,EAAIkC,EAAMiH,oBAAoBxJ,OAAQK,CAAC,GAEA,YAA/CkC,EAAMiH,oBAAoBnJ,GAAGoJ,eAAmF,GAApDlH,EAAMiH,oBAAoBnJ,GAAGqJ,aAAa1J,SACtGuC,EAAMiH,oBAAoBnJ,GAAGqJ,aAAe,CAAC,CAAEpC,MAA4E,SAArE/E,EAAMiH,oBAAoBnJ,GAAGqJ,aAAa,GAAGpC,MAAMqC,YAAY,CAAa,IAEnF,YAA/CpH,EAAMiH,oBAAoBnJ,GAAGoJ,eAAoF,IAArDlH,EAAMiH,oBAAoBnJ,GAAGqJ,aAAa1J,SACtGuC,EAAMiH,oBAAoBnJ,GAAGqJ,aAAe,CAAC,CAAEpC,MAAO,CAAA,CAAM,IAGb,cAA/C/E,EAAMiH,oBAAoBnJ,GAAGoJ,eAAgF,OAA9ClH,EAAMiH,oBAAoBnJ,GAAGqJ,eAC5FnH,EAAMiH,oBAAoBnJ,GAAGqJ,aAAe,CAAC,CAAEpC,MAAO,EAAG,IAGzD/E,EAAMiH,oBAAoBnJ,GAAGuJ,oBAAqE,SAA/CrH,EAAMiH,oBAAoBnJ,GAAGoJ,gBAC5EI,OAAOtH,EAAMiH,oBAAoBnJ,GAAGqJ,aAAa,GAAGpC,MAAO,YAAY,EAAEwC,QAAQ,IACjFvH,EAAMiH,oBAAoBnJ,GAAGqJ,aAAa,GAAGpC,MAAQuC,OAAOtH,EAAMiH,oBAAoBnJ,GAAGqJ,aAAa,GAAGpC,MAAO,YAAY,EAAEyC,OAAO,YAAY,GAEjJF,OAAOtH,EAAMiH,oBAAoBnJ,GAAGqJ,aAAa,GAAGpC,MAAO,YAAY,EAAEwC,QAAQ,IACjFvH,EAAMiH,oBAAoBnJ,GAAGqJ,aAAa,GAAGpC,MAAQuC,OAAOtH,EAAMiH,oBAAoBnJ,GAAGqJ,aAAa,GAAGpC,MAAO,YAAY,EAAEyC,OAAO,YAAY,GAErJxH,EAAMiH,oBAAoBnJ,GAAGqJ,aAAa,GAAGM,UAAY,IAAIjC,KAAKxF,EAAMiH,oBAAoBnJ,GAAGqJ,aAAa,GAAGpC,KAAK,EAGhI,CAAC,EAAE2C,MAAM,WACL1H,EAAMuD,gBAAkB,CAAA,EACxBvD,EAAMwD,qBAAuB,CAAA,CACjC,CAAC,CACL,EACAT,EAAoB/F,UAAU2K,4BAA8B,SAAUC,GAClE,IAAI5H,EAAQ5D,KACZA,KAAKyL,qBAAuB,GACClD,KAAAA,IAAzBiD,EAAUvG,YAAqD,OAAzBuG,EAAUvG,YAAgD,KAAzBuG,EAAUvG,aACjFjF,KAAK0L,WAAW,EAChB1L,KAAKqH,mBAAqB,CAAA,EAC1BrH,KAAKuH,cAAgB,CAAA,EACrBvH,KAAK+I,gBAAkB,CACnBC,SAAUT,KAAAA,EACVU,OAAQV,KAAAA,EACRoD,OAAQ,CAAA,CACZ,EACAH,EAAUI,gBAAkB,GAC5B5L,KAAK4G,iBAAiB7B,4BAA4ByG,EAAUxG,UAAWwG,EAAUvG,UAAU,EAAEe,KAAK,SAAUtD,GACxG8I,EAAUI,gBAAkBlJ,EAAKmJ,MACjCjI,EAAM6H,qBAAuB/I,EAAK+I,qBAElC,IAAK,IAAI/J,EAAI,EAAGA,EAAI8J,EAAUI,gBAAgBvK,OAAQK,CAAC,GAAI,CACvD,IAAK,IAAIoK,EAAI,EAAGA,EAAIN,EAAUT,aAAa1J,OAAQyK,CAAC,GAC5CN,EAAUI,gBAAgBlK,GAAGmD,KAAO2G,EAAUT,aAAae,GAAGjH,KAC9D2G,EAAUI,gBAAgBlK,GAAGqK,UAAY,CAAA,GAG5CP,EAAUI,gBAAgBlK,GAA+B8J,EAAUI,gBAAgBlK,GAAGsK,YACvFpI,EAAM2D,cAAgB,CAAA,IACtBiE,EAAUI,gBAAgBlK,GAAGsH,UAAYwC,EAAUI,gBAAgBlK,GAAGuH,UACtErF,EAAMmF,gBAAgB4C,OAAS,CAAA,EACvC,CACAH,EAAUS,mBAAqBrI,EAAMiD,KAAKqF,cAAcxJ,EAAKmJ,MAAO,WAAY,MAAM,EACtF,IAAIM,EAAgBvI,EAAMiH,oBAAoBF,OAAO,SAAUb,GAAK,MAAgC,cAAzBA,EAAErB,KAAKuC,YAAY,CAAmB,CAAC,EAAE,GAChHoB,EAAcxI,EAAMiH,oBAAoBF,OAAO,SAAUb,GAAK,MAAgC,cAAzBA,EAAErB,KAAKuC,YAAY,CAAmB,CAAC,EAAE,GAC9GmB,GAA6C,KAA5BA,EAAcnH,WAAwD,EAApCmH,EAAcpB,aAAa1J,SAC9EuC,EAAMmF,gBAAgBC,SAAWmD,EAAcpB,aAAa,GAAGM,WAC/De,GAAyC,KAA1BA,EAAYpH,WAAsD,EAAlCoH,EAAYrB,aAAa1J,SACxEuC,EAAMmF,gBAAgBE,OAASmD,EAAYrB,aAAa,GAAGM,WAC/DzH,EAAMyI,iBAAmBb,EACzB5H,EAAMyD,mBAAqB,CAAA,CAC/B,CAAC,EAET,EACAV,EAAoB/F,UAAU0L,iBAAmB,SAAUC,GACvD,IAGIC,EACAC,EACAC,EALJ,MAAK1M,CAAAA,KAAK+I,gBAAgB4C,SAGtBa,EAAkBxM,KAAK+I,gBAAgBC,SAAW,IAAII,KAAKpJ,KAAK+I,gBAAgBC,SAASU,SAAS,CAAC,EAAI,IAAIN,KAAK,CAAC,MAAgB,EACjIqD,EAAgBzM,KAAK+I,gBAAgBE,OAAS,IAAIG,KAAKpJ,KAAK+I,gBAAgBE,OAAOS,SAAS,CAAC,EAAI,IAAIN,KAAM,MAAgB,EAC3HsD,EAAiBH,EAAMvD,SAAW,IAAII,KAAKmD,EAAMvD,SAASU,SAAS,CAAC,EAAI,IAAIN,KAAK,CAAC,MAAgB,EAClGuD,EAAeJ,EAAMtD,OAAS,IAAIG,KAAKmD,EAAMtD,OAAOS,SAAS,CAAC,EAAI,IAAIN,KAAM,MAAgB,EAC5FoD,GAAmBE,GAAkBA,GAAkBD,IAEvDD,GAAmBG,GAAgBA,GAAgBF,GAEnDC,GAAkBF,GAAmBC,GAAiBE,CAG9D,EACAhG,EAAoB/F,UAAU8K,WAAa,WACvC1L,KAAKkH,yBAA2B,GAChClH,KAAK4M,UAAY,CAAA,EACjB5M,KAAKsH,WAAa,CAAA,CACtB,EACAX,EAAoB/F,UAAUiM,uBAAyB,WAEnD,IADA,IAAIC,EAAiB,GACZpL,EAAI,EAAGA,EAAI1B,KAAKqM,iBAAiBT,gBAAgBvK,OAAQK,CAAC,GAC3D1B,CAAAA,KAAKqM,iBAAiBT,gBAAgBlK,GAAGqK,WAAe/L,KAAKsH,YAActH,CAAAA,KAAKqM,iBAAiBT,gBAAgBlK,GAAGsK,WACpHc,EAAeC,KAAK,CAChBlI,GAAI7E,KAAKqM,iBAAiBT,gBAAgBlK,GAAGmD,GAC7CY,SAAUzF,KAAKqM,iBAAiBT,gBAAgBlK,GAAG+D,SACnDkD,MAAO3I,KAAKqM,iBAAiBT,gBAAgBlK,GAAG+D,SAChDuH,QAA2D,OAAlDhN,KAAKqM,iBAAiBT,gBAAgBlK,GAAG+G,MAAmEF,KAAAA,IAAlDvI,KAAKqM,iBAAiBT,gBAAgBlK,GAAG+G,KAAqBzI,KAAKqM,iBAAiBT,gBAAgBlK,GAAG+G,KAAO,GACjL4C,UAAW,IACf,CAAC,EAGTrL,KAAKqM,iBAAiBtB,aAAe+B,EACrC9M,KAAKqM,iBAAiBY,gBAAkB,GAExC,IAASvL,EAAI,EAAGA,EAAI1B,KAAKqM,iBAAiBtB,aAAa1J,OAAQK,CAAC,GAC5D1B,KAAKqM,iBAAiBY,iBAAmBjN,KAAKqM,iBAAiBtB,aAAarJ,GAAGsL,QAAU,IAEjG,EACArG,EAAoB/F,UAAU8J,cAAgB,WAC1C,IAAK,IAAIhJ,EAAI,EAAGA,EAAI1B,KAAK+H,aAAa1G,OAAQK,CAAC,GAC3C,GAAI1B,KAAK+H,aAAarG,GAAG+D,WAAazF,KAAKyK,mBACvC,OAAOzK,KAAK+H,aAAarG,GAAG2D,gBAGpC,OAAO,CACX,EACAsB,EAAoB/F,UAAUsM,eAAiB,WAC3C,IAAItJ,EAAQ5D,KACZA,KAAKmN,iBAAmBnN,KAAKmJ,WAAW,EAExC,IAAK,IAAIzH,EAAI,EAAGA,EAAI1B,KAAK6K,oBAAoBxJ,OAAQK,CAAC,GACA,SAA9C1B,KAAK6K,oBAAoBnJ,GAAGoJ,eAA8E,EAAlD9K,KAAK6K,oBAAoBnJ,GAAGqJ,aAAa1J,SACjGrB,KAAK6K,oBAAoBnJ,GAAGqJ,aAAa,GAAGpC,MAAQ3I,KAAK6K,oBAAoBnJ,GAAGqJ,aAAa,GAAGM,WA0BxG,IAvBA,IAAI1B,EAAS9G,QAAQuK,KAAKpN,KAAK6K,mBAAmB,EAC9CwC,EAAW,CACXC,eAAgBtN,KAAKyK,mBACrB8C,kBAAmBvN,KAAKmN,iBACxBrI,WAAY9E,KAAK0K,cAAc,EAC/B8C,WAAY7D,EACZ8D,YAAa,CAAA,EACbC,eAAgB1N,KAAK4K,SAAS,EAAI5K,KAAKyH,iBAAmB,IAC9D,EAeSkG,EAAK,EAAGpD,EAAK8C,EAASG,WAAYG,EAAKpD,EAAGlJ,OAAQsM,CAAE,GAEzDC,CAhBU,SAAUrB,GAChBA,EAAMX,kBACNW,EAAMxB,aAAa8C,QAAQ,SAAUC,GACjC,IAAIC,EAAQxB,EAAMX,gBAAgBjB,OAAO,SAAUb,GAAK,OAAOA,EAAErE,WAAaqI,EAAInF,KAAO,CAAC,EACtFoF,GAAwB,EAAfA,EAAM1M,SACfyM,EAAId,QAAUe,EAAM,GAAGtF,KAC/B,CAAC,EACD,OAAO8D,EAAMX,gBACb,OAAOW,EAAMN,oBAEbM,EAAMyB,aACN,OAAOzB,EAAMyB,WACrB,EAGgBzD,EAAGoD,EACF,EAEjB3N,KAAK4G,iBAAiBd,cAAcuH,CAAQ,EAAErH,KAAK,SAAUnB,GACzDjB,EAAMqK,qBAAqBpJ,CAAE,CACjC,CAAC,EAAEyG,MAAM,SAAUzG,GACfjB,EAAMqK,qBAAqBpJ,CAAE,CACjC,CAAC,CACL,EACA8B,EAAoB/F,UAAUqN,qBAAuB,SAAUpJ,GACzC,UAAd,OAAOA,GAAoBA,EAAGqJ,MAAM,+EAA+E,EAMzF,OAA1BlO,KAAKmN,kBAAuD5E,KAAAA,IAA1BvI,KAAKmN,mBACvCnN,KAAKuF,sBAAsBV,CAAE,EAC7B7E,KAAKmN,iBAAmB,OANxBgB,EAAE,gBAAgB,EAAEC,MAAM,MAAM,EAChCD,EAAE,gBAAgB,EAAEC,MAAM,MAAM,EAOxC,EACAzH,EAAoB/F,UAAU2E,sBAAwB,SAAUV,GAC5D,IAAIjB,EAAQ5D,KACZA,KAAKqO,aAAexJ,EACpB7E,KAAKsO,SAAWtO,KAAKuO,sBAAsB,EAC3CvO,KAAK4G,iBAAiBzB,wBAAwBN,EAAI7E,KAAK0K,cAAc,EAAG1K,KAAKsO,QAAQ,EAAEtI,KAAK,SAAUtD,GAClGyL,EAAE,gBAAgB,EAAEC,MAAM,MAAM,EAChCxK,EAAM4K,SAAW9L,EAAK+L,SAASC,UAAUhM,EAAK+L,SAASE,YAAY,GAAG,EAAI,CAAC,EAC3E/K,EAAM4G,WAAa9H,EAAKkM,OACxBhL,EAAM0K,SAAW5L,EAAK+L,SACtBN,EAAE,qBAAqB,EAAEC,MAAM,MAAM,EACrCD,EAAE,WAAW,EAAEU,QAAQ,CACnBC,UAAWX,EAAE,SAAS,EAAEY,OAAO,EAAEC,GACrC,EAAG,GAAI,CACX,CAAC,CACL,EACArI,EAAoB/F,UAAUqO,eAAiB,WAC3C,IAAIrL,EAAQ5D,KACZA,KAAK6G,KAAKqI,WAAWlP,KAAK+G,MAAM,EAChCoI,WAAW,WACoB,QAAvBvL,EAAMkE,cACNqG,EAAE,WAAW,EAAEU,QAAQ,CACnBC,UAAWX,EAAE,SAAS,EAAEY,OAAO,EAAEC,GACrC,EAAG,GAAI,EACgB,WAAvBpL,EAAMkE,cACNqG,EAAE,WAAW,EAAEU,QAAQ,CACnBC,UAAWX,EAAE,YAAY,EAAEY,OAAO,EAAEC,IAAM,EAC9C,EAAG,GAAI,CACf,EAAG,GAAG,CACV,EACArI,EAAoB/F,UAAUwO,gBAAkB,WAC5CpP,KAAK4G,iBAAiBR,uBAAuBpG,KAAKmN,gBAAgB,EAClEnN,KAAKmN,iBAAmB,IAC5B,EACAxG,EAAoB/F,UAAUyO,gBAAkB,WAC5CrP,KAAKmN,iBAAmB,IAC5B,EACAxG,EAAoB/F,UAAU0O,eAAiB,WAC3C,IAAK,IAAI5N,EAAI,EAAGA,EAAI1B,KAAK+H,aAAa1G,OAAQK,CAAC,GAC3C,GAAI1B,KAAKyK,qBAAuBzK,KAAK+H,aAAarG,GAAGmD,GACjD,OAAO7E,KAAK+H,aAAarG,GAAGsM,YAEpC,MAAO,EACX,EACArH,EAAoB/F,UAAUgK,SAAW,WACrC,IAAK,IAAIlJ,EAAI,EAAGA,EAAI1B,KAAK+H,aAAa1G,OAAQK,CAAC,GAC3C,GAAI1B,KAAKyK,qBAAuBzK,KAAK+H,aAAarG,GAAGmD,GACjD,OAAO7E,KAAK+H,aAAarG,GAAGkJ,SAEpC,MAAO,CAAA,CACX,EACAjE,EAAoB/F,UAAU2O,qBAAuB,WACjD,IAAI3L,EAAQ5D,KAERwP,EAAgB,OAACjF,EAAKvK,KAAK+H,aAAa4C,OAAO,SAAUb,GAAK,OAAOA,EAAEjF,KAAOjB,EAAM6G,kBAAoB,CAAC,EAAE,IAAgC,KAAA,EAASF,EAAGkF,kBAC3J,OAAOD,MAAAA,EAAqDA,EAAgB1P,EAAIiE,OAAO2D,UAAUC,UACrG,EACAhB,EAAoB/F,UAAU8O,mBAAqB,WAC/C,OAAO1P,KAAKuP,qBAAqB,IAAMzP,EAAIiE,OAAO2D,UAAUC,UAChE,EACAhB,EAAoB/F,UAAU+O,oBAAsB,WAChD,IAAI/L,EAAQ5D,KACR6E,EAAK7E,KAAKuP,qBAAqB,EAC/B1K,IAAO/E,EAAIiE,OAAO2D,UAAUC,WAC5BhF,QAAQiN,MAAM,kCAAoC5P,KAAKyK,kBAAkB,GAG7EzK,KAAK4H,gBAAgBC,UAAY,CAAA,EACjCsG,EAAE,eAAe,EAAEC,MAAM,MAAM,EAC/BpO,KAAKiH,aAAa4I,aAAahL,CAAE,EAC5BmB,KAAK,SAAUtD,GAEZoN,GADJlM,EAAMgE,gBAAgBlF,KAAOA,GACb+L,SAASsB,MAAM,GAAG,EAClCnM,EAAMgE,gBAAgBoI,OAASF,EAAKA,EAAKzO,OAAS,EACtD,CAAC,EACIiK,MAAM,SAAU2E,IAAM,EACtBC,QAAQ,WAAc,OAAOtM,EAAMgE,gBAAgBC,UAAY,CAAA,CAAO,CAAC,EAChF,EACAlB,EAAoB/F,UAAU2N,sBAAwB,WAClD,IAAK,IAAI7M,EAAI,EAAGA,EAAI1B,KAAK+H,aAAa1G,OAAQK,CAAC,GAC3C,GAAI1B,KAAK+H,aAAarG,GAAG+D,WAAazF,KAAKyK,mBACvC,OAAOzK,KAAKmQ,eAAenQ,KAAK+H,aAAarG,GAAG+G,IAAI,EAE5D,MAAO,QACX,EACA9B,EAAoB/F,UAAUsI,oBAAsB,WAChD,IAAIkH,EAAcpQ,KAAK4M,UACvB,GAAK5M,KAAK+G,OAAOsJ,cAAjB,CAEA,IAAK,IAAI3O,EAAI,EAAGA,EAAI1B,KAAK+G,OAAOsJ,cAAchP,OAAQK,CAAC,GACnD1B,KAAK+G,OAAOsJ,cAAc3O,GAAGqK,UAAYqE,EAE7CpQ,KAAK6G,KAAKqI,WAAWlP,KAAK+G,MAAM,CAJtB,CAKd,EACAJ,EAAoB/F,UAAU0P,oBAAsB,WAChD,OAAOC,SAASC,KAAKC,aAAe,GACxC,EAEA9J,EAAoB/F,UAAUuP,eAAiB,SAAU7B,GACrD,IAAIoC,EAAY,CACZC,IAAU,KACVC,IAAU,KACVC,IAAU,KACVC,IAAU,KACVC,IAAU,KACVC,IAAU,KACVC,IAAU,IACd,EACIC,EAAS5C,EAAShF,QAAQ,+BAAgC,SAAU6H,GACpE,IAAIC,EAAMV,EAAUS,EAAEE,MAAM,EAAG,CAAC,GAChC,OAAOD,EAAIE,OAAO,CAAC,EAAIF,EAAIE,OAAO,CAAC,EAAEtG,YAAY,EAAImG,EAAEE,MAAM,CAAC,CAClE,CAAC,EAAE/H,QAAQ,IAAIiI,OAAO,IAAMnR,OAAOoR,KAAKd,CAAS,EAAEe,KAAK,GAAG,EAAI,IAAK,GAAG,EAAG,SAAUN,GAAK,OAAOT,EAAUS,EAAI,CAAC,EAC/G,OAAOnR,KAAK0R,mBAAmBR,CAAM,CACzC,EACAvK,EAAoB/F,UAAU8Q,mBAAqB,SAAUpD,GAEzD,OAD2BA,EAAShF,QAAQ,QAAS,GAAG,EAC5BA,QAAQ,4CAA6C,GAAG,CACxF,EACsBxI,WAAW,CAC7BhB,EAAI6R,WAAW,gBAAiB,qBAAqB,EACrD7R,EAAI4G,OAAO,mBAAoB,OAAQ,SAAU,SAAU,aAAc,iBAAiB,GAC3FC,CAAmB,CAIjC,EAAE7G,IAAAA,KAAc,EAAG,EAEpB,SAAWA,GACP,IACWoD,EAGH,SAAS0O,EAA4B/K,EAAMgL,EAAYjL,EAAkBkL,EAAaC,EAAWhL,EAAQD,EAAQkL,GAC7G,IAAIpO,EAAQ5D,KACZA,KAAK6G,KAAOA,EACZ7G,KAAK6R,WAAaA,EAClB7R,KAAK4G,iBAAmBA,EACxB5G,KAAK8R,YAAcA,EACnB9R,KAAK+R,UAAYA,EACjB/R,KAAK+G,OAASA,EACd/G,KAAK8G,OAASA,EACd9G,KAAKgS,aAAeA,EAEpBhS,KAAKiS,GAAK,IAAI/O,EAAUgP,2BACxBlS,KAAKmS,YAAc,GAEnBnS,KAAKoS,mBAAqB,GAC1BpS,KAAKqS,uBAAyB,GAC9BrS,KAAKsS,oBAAsB,CAAA,EAC3BtS,KAAKuS,cAAgB,CAAA,EACrBvS,KAAKuE,KAAO,EACZvE,KAAKwS,UAAY,MACjBxS,KAAKyS,QAAU,CACXC,KAAM,CAAA,EACNC,UAAW,CAAA,EACXrO,WAAY,EACZsO,UAAW,CAAA,EACXrO,KAAM,EACN4N,YAAa,EACjB,EACAnS,KAAK6S,sBAAwB,CACzBC,cAAe,GACfC,WAAY,EAChB,EACAlM,EAAKqB,KAAKrB,EAAKsB,gBAAgB4J,EAAUiB,KAAK,CAAC,EAAG,WAC9CnM,EAAKwB,WAAW,EAChBxB,EAAKyB,WAAW,CACpB,CAAC,EACDtI,KAAKkI,KAAK,EACcK,KAAAA,IAApByJ,EAAanN,KACb7E,KAAKiT,2BAA6BjB,EAAanN,IAEnD7E,KAAK6G,KAAKqM,iBAAiBlT,KAAK8R,WAAW,EAAE9L,KAAK,SAAUmN,GACxDvP,EAAM0O,oBAAsBa,EAC5BvP,EAAMkO,YAAYsB,gBAAgB,CAAC,oCAAqC,4CAA6C,CAAA,CAAK,EAAEpN,KAAK,SAAUqN,GACvIzP,EAAMU,WAAagP,SAASD,EAAM,GAAG1K,KAAK,EAC1C/E,EAAM2P,sBAA0D,SAAjCF,EAAM,GAAG1K,MAAMqC,YAAY,EAC1DpH,EAAM6O,QAAQnO,WAAaV,EAAMU,WACjCV,EAAM6O,QAAQE,UAAY/O,EAAM2P,sBAC5B3P,EAAM0O,sBACN1O,EAAM4P,QAAQ,EACd5P,EAAMmD,OAAO2B,OAAO,iBAAkB,SAAUG,EAAUC,GACtD,IAEI2K,EAFA5K,IAAaC,IAEb2K,EAAU7P,EAAMuO,YACpBhD,WAAW,WACHsE,IAAY7P,EAAMuO,cAClBvO,EAAMW,KAAO,EACbX,EAAM4P,QAAQ,GAElB5P,EAAMiD,KAAKqI,WAAWtL,EAAMmD,MAAM,CACtC,EAAG,GAAG,EACV,CAAC,EACDnD,EAAMmD,OAAO2B,OAAO,gBAAiB,SAAUG,EAAUC,GACrD,IAEI2K,EAFA5K,IAAaC,IAEb2K,EAAU7P,EAAMU,WACpB6K,WAAW,WACHsE,IAAY7P,EAAMU,aAClBV,EAAMW,KAAO,EACbX,EAAM4P,QAAQ,GAElB5P,EAAMiD,KAAKqI,WAAWtL,EAAMmD,MAAM,CACtC,EAAG,GAAG,EACV,CAAC,EACDnD,EAAMmD,OAAO2B,OAAO,2BAA4B,SAAUG,EAAUC,GAC5DD,IAAaC,GAAalF,EAAM2O,gBAChC3O,EAAM2O,cAAgB,CAAA,EACtBpD,WAAW,WACPvL,EAAMW,KAAO,EACbX,EAAM4P,QAAQ,EACd5P,EAAM2O,cAAgB,CAAA,CAC1B,EAAG,GAAG,EAEd,CAAC,EAET,CAAC,CACL,CAAC,CACL,CAzFGrP,EAqWIpD,EAAIoD,YAAcpD,EAAIoD,UAAY,IA1QzC0O,EAA4BhR,UAAUsH,KAAO,WACzC,IAAItE,EAAQ5D,KACZA,KAAK+G,OAAO2B,OAAO,UAAW,SAAUG,EAAUC,GAC1CD,IAAaC,GACblF,EAAM4P,QAAQ,CACtB,CAAC,EACDxT,KAAK0T,cAAgB,CACjBC,MAAO3T,KAAK6R,WAAW+B,UAAU,SAAU,SAAS,EACpDC,MAAO,CAAA,EACP3J,KAAM,gBACNH,KAAM/J,KAAK6R,WAAW+B,UAAU,SAAU,6CAA6C,CAC3F,EACA5T,KAAK8T,mBAAqB,CACtBH,MAAO3T,KAAK6R,WAAW+B,UAAU,SAAU,SAAS,EACpDC,MAAO,CAAA,EACP3J,KAAM,gBACNH,KAAM/J,KAAK6R,WAAW+B,UAAU,SAAU,4DAA4D,CAC1G,CACJ,EAEAhC,EAA4BhR,UAAU4S,QAAU,WAC5C,IAAI5P,EAAQ5D,KACPA,KAAKyS,QAAQnO,aAAetE,KAAKsE,YAAgBtE,KAAKyS,QAAQE,YAAc3S,KAAKuT,uBAA2BvT,KAAKyS,QAAQlO,OAASvE,KAAKuE,MAC/GgE,KAAAA,IAArBvI,KAAKmS,aAA+BnS,CAAAA,KAAKyS,QAAQG,YAEzD5S,KAAKyS,QAAQG,UAAY,CAAA,EACzB5S,KAAKyS,QAAQC,KAAO,CAAA,EACpB1S,KAAK4G,iBAAiBxC,sBAAsBpE,KAAKuT,sBAAuBvT,KAAKsE,WAAYtE,KAAKuE,KAAMzE,EAAIiE,OAAO2D,UAAUqM,wBAAyB/T,KAAKmS,YAAanS,KAAKiS,GAAG+B,iCAAiChU,KAAKiS,GAAGgC,kBAAkB,CAAC,EAAEjO,KAAK,SAAUtD,GACrP,IAAK,IAAIiL,EAAK,EAAGpD,EAAK7H,EAAKmJ,MAAO8B,EAAKpD,EAAGlJ,OAAQsM,CAAE,GAAI,CACpD,IAAIvD,EAAOG,EAAGoD,GACTvD,EAAK8J,oBACD9J,EAAK+J,iBAED/J,EAAKgK,cACVhK,EAAKiK,MAAQ,CAAEC,MAAS,QAASC,cAAe,QAAS,EAEzDnK,EAAKiK,MAAQ,CAAEC,MAAS,MAAOC,cAAe,MAAO,EAJrDnK,EAAKiK,MAAQ,CAAEC,MAAS,SAAUC,cAAe,OAAQC,OAAU,MAAO,EAMtF,CASA,GARA5Q,EAAM6Q,eAAiB/R,EAAK+R,eAC5B7Q,EAAMwO,mBAAqBxO,EAAM8Q,gCAAgChS,EAAKmJ,KAAK,EAC3EjI,EAAMqO,GAAGgC,mBAAmBvR,KAAOkB,EAAMwO,mBACzCxO,EAAMiD,KAAK8N,eAAe,iBAAkB/Q,CAAK,EACjDA,EAAM6O,QAAQC,KAAO,CAAA,EACrB9O,EAAM6O,QAAQE,UAAY/O,EAAM2P,sBAChC3P,EAAM6O,QAAQnO,WAAaV,EAAMU,WACjCV,EAAM6O,QAAQlO,KAAOX,EAAMW,KACcgE,KAAAA,IAArC3E,EAAMqP,2BACN,IAAK,IAAI2B,EAAK,EAAGC,EAAKjR,EAAMwO,mBAAoBwC,EAAKC,EAAGxT,OAAQuT,CAAE,GAAI,CAClE,IAAIE,EAAiBD,EAAGD,GACpBE,EAAerP,WAAa7B,EAAMqP,6BAClCrP,EAAMmR,qBAAuBD,EAC7BlR,EAAM2B,sBAAsBuP,CAAc,EAElD,CAEJlR,EAAMiD,KAAKqI,WAAWtL,EAAMmD,MAAM,EAClCoH,EAAE,WAAW,EAAEU,QAAQ,CACnBC,UAAWX,EAAE,UAAU,EAAEY,OAAO,EAAEC,IAAM,EAC5C,EAAG,GAAG,CACV,CAAC,EACL,EACA4C,EAA4BhR,UAAUoU,QAAU,SAAUrM,GACtD3I,KAAKiV,oBAAoBtM,CAAK,EAC9B3I,KAAKwT,QAAQ,EACbxT,KAAKkV,iBAAiB,CAC1B,EAEAtD,EAA4BhR,UAAU2E,sBAAwB,SAAU4P,GACpE,IAAIvR,EAAQ5D,KACZ2C,QAAQC,IAAI,oBAAqBuS,EAAa7P,UAAU,EACxDtF,KAAKwK,WAAajC,KAAAA,EAClBvI,KAAK4G,iBAAiBrB,sBAAsB4P,CAAY,EAAEnP,KAAK,SAAUtD,GACrEkB,EAAM4G,WAAa9H,EAAKkM,OACxBhL,EAAM0K,SAAW5L,EAAK+L,SACtB7K,EAAMyK,aAAe3L,EAAK+C,SAC1B7B,EAAMqR,oBAAoB,CAAA,CAAK,EAC/BrR,EAAM4P,QAAQ,EACd5P,EAAMsR,iBAAiB,EACvB/F,WAAW,WAC4B,MAA/BgG,EAAazP,eAAyD,MAA/ByP,EAAazP,cAEpD9B,EAAM4K,SAAW,MAEmB,MAA/B2G,EAAazP,gBAElB9B,EAAM4K,SAAW,SAErBL,EAAE,qBAAqB,EAAEC,MAAM,MAAM,EACrCxK,EAAMiD,KAAKqI,WAAWtL,EAAMmD,MAAM,EAClCoH,EAAE,WAAW,EAAEU,QAAQ,CACnBC,UAAWX,EAAE,UAAU,EAAEY,OAAO,EAAEC,IAAM,EAC5C,EAAG,GAAG,CACV,EAAG,GAAG,CACV,CAAC,CACL,EACA4C,EAA4BhR,UAAUwU,cAAgB,SAAUC,GAC5D,IAmBQC,EAEAC,EArBJ3R,EAAQ5D,KACRqV,GACAlH,EAAE,qBAAqB,EAAEC,MAAM,MAAM,EACrCpO,KAAK4G,iBAAiBjB,gCAAgC3F,KAAK+U,qBAAqBtP,SAAUzF,KAAK+U,qBAAqBzP,UAAU,EAAEU,KAAK,SAAUtD,GAC3IkB,EAAM4G,WAAa9H,EAAKkM,OACxBhL,EAAM4K,SAAW,MACjBW,WAAW,WACPvL,EAAMiD,KAAKqI,WAAWtL,EAAMmD,MAAM,EAClCoH,EAAE,qBAAqB,EAAEC,MAAM,MAAM,EACrCD,EAAE,WAAW,EAAEU,QAAQ,CACnBC,UAAWX,EAAE,YAAY,EAAEY,OAAO,EAAEC,GACxC,EAAG,GAAG,EAENpL,EAAMoR,QAAQ,CAAA,CAAK,CACvB,EAAG,GAAI,CACX,CAAC,IAGGQ,EAAcC,OAAOC,SAASC,KAC9BL,EAAcnH,EAAE,UAAU,EAAEzL,KAAK,EACrC8S,EAAcA,EAAYlM,QAAQmM,OAAOC,SAASE,KAAM,EAAE,EACtDL,EAAoBvV,KAAKmQ,eAAenQ,KAAK+U,qBAAqBzP,UAAU,EAC5EuQ,EAAcL,EAAc,wCAA0CF,EAAYQ,IAAM,8BACtF9V,KAAK+U,qBAAqBtP,SAAW,uBAAyBzF,KAAK+U,qBAAqBrP,cAAgB,uBACxG6P,EAAoB,gBAAkB,CAAA,EAAQ,WAAavV,KAAK4G,iBAAiBmP,eAAe,EACtGN,OAAOO,KAAKH,CAAW,EACvB1G,WAAW,WACPvL,EAAMoR,QAAQ,CAAA,CAAK,CACvB,EAAG,GAAI,EAEf,EAEApD,EAA4BhR,UAAUqV,qBAAuB,SAAUd,GACnE,IAAIvR,EAAQ5D,KACZF,EAAIiE,OAAOmS,UAAUC,QAAQnW,KAAK0T,cAAe,SAAUhR,GACvDkB,EAAM6O,QAAQC,KAAO,CAAA,EACrB9O,EAAMwO,mBAAqB,GACvB1P,IACAC,QAAQC,IAAI,qDAAsDuS,EAAa7P,UAAU,EACzF1B,EAAMgD,iBAAiBN,qBAAqB6O,CAAY,EAAEnP,KAAK,SAAUtD,IACjEA,EAAK0T,iCAAmC1T,EAAK2T,0BAC7CzS,EAAMiD,KAAKyP,OAAO1S,EAAMiD,KAAK0P,UAAU,EACvC3S,EAAMoR,QAAQ,CAAA,CAAI,EAE1B,CAAC,EAET,EAAG,eAAe,CACtB,EAEApD,EAA4BhR,UAAUqU,oBAAsB,SAAUuB,GAClExW,KAAK+U,qBAAuB,KAC5B/U,KAAKqS,uBAAyB,GAC9BrS,KAAKiT,2BAA6B1K,KAAAA,EAClCvI,KAAKoS,mBAAqB,GAC1BpS,KAAKiS,GAAGgC,mBAAmBvR,KAAO,GAC9B8T,IACAxW,KAAKwK,WAAajC,KAAAA,EAClBvI,KAAKwO,SAAWjG,KAAAA,EAExB,EACAqJ,EAA4BhR,UAAU6V,qBAAuB,SAAUtB,GACnEhH,EAAE,qBAAqB,EAAEC,MAAM,MAAM,EACrCpO,KAAK+U,qBAAuBI,EAC5BnV,KAAKuF,sBAAsB4P,CAAY,CAC3C,EAEAvD,EAA4BhR,UAAUuP,eAAiB,SAAU7B,GAC7D,IAAIoC,EAAY,CACZC,IAAU,KACVC,IAAU,KACVC,IAAU,KACVC,IAAU,KACVC,IAAU,KACVC,IAAU,KACVC,IAAU,IACd,EACIC,EAAS5C,EAAShF,QAAQ,+BAAgC,SAAU6H,GACpE,IAAIC,EAAMV,EAAUS,EAAEE,MAAM,EAAG,CAAC,GAChC,OAAOD,EAAIE,OAAO,CAAC,EAAIF,EAAIE,OAAO,CAAC,EAAEtG,YAAY,EAAImG,EAAEE,MAAM,CAAC,CAClE,CAAC,EAAE/H,QAAQ,IAAIiI,OAAO,IAAMnR,OAAOoR,KAAKd,CAAS,EAAEe,KAAK,GAAG,EAAI,IAAK,GAAG,EAAG,SAAUN,GAAK,OAAOT,EAAUS,EAAI,CAAC,EAC/G,OAAOnR,KAAK0R,mBAAmBR,CAAM,CACzC,EACAU,EAA4BhR,UAAU8Q,mBAAqB,SAAUpD,GAEjE,OAD2BA,EAAShF,QAAQ,QAAS,GAAG,EAC5BA,QAAQ,4CAA6C,GAAG,CACxF,EAEAsI,EAA4BhR,UAAU8V,iBAAmB,SAAUC,EAASvM,GACxE,GAAIuM,EACA3W,KAAKqS,uBAAuBtF,KAAK3C,CAAI,OAGrC,IAAK,IAAI1I,EAAI,EAAGA,EAAI1B,KAAKqS,uBAAuBhR,OAAQK,CAAC,GACjD1B,KAAKqS,uBAAuB3Q,KAAO0I,GACnCpK,KAAKqS,uBAAuBuE,OAAOlV,EAAG,CAAC,CAIvD,EAEAkQ,EAA4BhR,UAAUiW,sBAAwB,WAC1D,IAAIjT,EAAQ5D,KACZF,EAAIiE,OAAOmS,UAAUC,QAAQnW,KAAK8T,mBAAoB,SAAUpR,GAC5DyL,EAAE,qBAAqB,EAAEC,MAAM,MAAM,EACrCxK,EAAM6O,QAAQC,KAAO,CAAA,EACrB9O,EAAMwO,mBAAqB,GACvB1P,EACAkB,EAAMgD,iBAAiBL,sBAAsB3C,EAAMyO,sBAAsB,EAAErM,KAAK,WAC5EmI,EAAE,qBAAqB,EAAEC,MAAM,MAAM,EACK,EAAtCxK,EAAMyO,uBAAuBhR,OAC7BuC,EAAMiD,KAAKyP,OAAO1S,EAAMiD,KAAKiQ,WAAW,EACK,IAAxClT,EAAMyO,uBAAuBhR,QAClCuC,EAAMiD,KAAKyP,OAAO1S,EAAMiD,KAAK0P,UAAU,EAC3C3S,EAAMoR,QAAQ,CAAA,CAAI,CACtB,CAAC,EAGD7G,EAAE,qBAAqB,EAAEC,MAAM,MAAM,CAE7C,EAAG,cAAc,CACrB,EACAwD,EAA4BhR,UAAU8T,gCAAkC,SAAU7I,GAC9E,GAA2CtD,KAAAA,IAAvCvI,KAAKqS,uBAAuBhR,QAA+D,IAAvCrB,KAAKqS,uBAAuBhR,OAChF,OAAOwK,EACX,IAAIkL,EAAelL,EACnBkL,EAAalJ,QAAQ,SAAUmJ,GAC3BA,EAAQC,WAAa,CAAA,CACzB,CAAC,EACD,IAAK,IAAIvV,EAAI,EAAGA,EAAIqV,EAAa1V,OAAQK,CAAC,GAEtC,IADA,IAAIwV,EAAWH,EAAarV,GAAG+D,SACtBqG,EAAI,EAAGA,EAAI9L,KAAKqS,uBAAuBhR,OAAQyK,CAAC,GACjD9L,KAAKqS,uBAAuBvG,GAAGrG,WAAayR,IAE5CH,EAAarV,GAAGuV,WAAa,CAAA,GAIzC,OAAOF,CACX,EACAnF,EAA4BhR,UAAUsU,iBAAmB,WACrD/G,EAAE,qBAAqB,EAAEgJ,KAAK,aAAc,MAAM,CACtD,EACAvF,EAA4BhR,UAAUwW,mBAAqB,SAAUjC,GACjEnV,KAAK6S,sBAAsBC,cAAgBqC,EAAarC,cACxD9S,KAAK6S,sBAAsBE,WAAaoC,EAAapC,WACrD5E,EAAE,iBAAiB,EAAEC,MAAM,MAAM,EACjCpO,KAAKqX,uBAAuBlC,CAAY,CAC5C,EACAvD,EAA4BhR,UAAUyW,uBAAyB,SAAUC,GACrE,IAAI1T,EAAQ5D,KACPsX,EAAgBC,WACjBvX,KAAK4G,iBAAiBX,kBAAkBqR,EAAgB7R,QAAQ,EAAEO,KAAK,WACnE,IAAK,IAAItE,EAAI,EAAGA,EAAIkC,EAAMwO,mBAAmB/Q,OAAQK,CAAC,GAAI,CACtD,IAAIsV,EAAUpT,EAAMwO,mBAAmB1Q,GACnCsV,EAAQvR,WAAa6R,EAAgB7R,WACrCuR,EAAQO,UAAY,CAAA,EAC5B,CACA3T,EAAMqO,GAAGgC,mBAAmBvR,KAAOkB,EAAMwO,mBACzCxO,EAAMiD,KAAK8N,eAAe,iBAAkB/Q,CAAK,EACjDA,EAAMsR,iBAAiB,CAC3B,CAAC,CAET,EAC8BpU,WAAW,CACrChB,EAAI6R,WAAW,gBAAiB,6BAA6B,EAC7D7R,EAAI4G,OAAO,OAAQ,qBAAsB,mBAAoB,cAAe,YAAa,SAAU,SAAU,cAAc,GAC5HkL,CAA2B,CAIzC,EAAE9R,IAAAA,KAAc,EAAG,EAEpB,SAAWA,GACP,IACWoD,EASmDM,EAEtD,SAAS0O,IACL,IAAItO,EAAmB,OAAXJ,GAAmBA,EAAOgU,MAAMxX,KAAMoB,SAAS,GAAKpB,KAqJhE,OAhJA4D,EAAMqQ,mBAAqB,CACvBlR,OAAU,CACN0U,YAAe,OACfC,YAAe,OACnB,EACAC,MAAS,CACLC,UAAW,CACP/S,GAAM,WACNgT,SAAY,aACZC,MAAS,WACTC,OAAU,WACV/P,OAAU,CACNgQ,SAAY,kBAChB,CACJ,EACAC,YAAe,CACXC,MAAS,mBACTJ,MAAS,SACTC,OAAU,UACd,EACAI,OAAU,CACND,MAAS,YACTJ,MAAS,SACTC,OAAU,WACV1D,MAAS,OACb,EACA+D,WAAc,CACVF,MAAS,aACTJ,MAAS,SACTC,OAAU,UACd,EACAM,UAAa,CACTH,MAAS,YACTJ,MAAS,OACTQ,SAAY,OACZP,OAAU,UACd,EACAQ,QAAW,CACPL,MAAS,aACTJ,MAAS,OACTQ,SAAY,OACZP,OAAU,UACd,EACAS,SAAY,CACRN,MAAS,YACTJ,MAAS,OACTC,OAAU,UACd,EACAU,SAAY,CAAC,CACLvO,KAAQ,mBACRwO,MAAS,uBACTZ,MAAS,SACTa,QAAW,aACXZ,OAAU,WACV/P,OAAU,CACN4Q,KAAQ,oBACZ,CACJ,EACA,CACI1O,KAAQ,6BACRwO,MAAS,qBACTZ,MAAS,SACTa,QAAW,aACXZ,OAAU,WACVc,WAAc,kBACd7Q,OAAU,CACN4Q,KAAQ,iBACZ,CACJ,EACA,CACI1O,KAAQ,0BACRwO,MAAS,uBACTR,MAAS,OACTJ,MAAS,SACTa,QAAW,UACXZ,OAAU,WACV/P,OAAU,CACN4Q,KAAQ,mBACZ,CACJ,EACR,EACAE,KAAQ,CACJC,OAAU,CACN7O,KAAQ,cACZ,EACAH,KAAQ,CACJmO,MAAS,UACTJ,MAAS,QACb,EACAkB,QAAW,CACP,CACId,MAAS,aACTJ,MAAS,QACb,EACA,CACII,MAAS,mBACTJ,MAAS,QACb,EACA,CACII,MAAS,YACTJ,MAAS,MACb,EACA,CACII,MAAS,aACTJ,MAAS,MACb,GAEJmB,QAAW,CACP,CACI/O,KAAQ,mBACRwO,MAAS,uBACTZ,MAAS,SACTa,QAAW,aACXZ,OAAU,WACV/P,OAAU,CACN4Q,KAAQ,oBACZ,CACJ,EACA,CACI1O,KAAQ,6BACRwO,MAAS,qBACTZ,MAAS,SACTa,QAAW,aACXZ,OAAU,WACVc,WAAc,kBACd7Q,OAAU,CACN4Q,KAAQ,iBACZ,CACJ,EACA,CACI1O,KAAQ,0BACRwO,MAAS,uBACTR,MAAS,OACTJ,MAAS,SACTa,QAAW,UACXZ,OAAU,WACV/P,OAAU,CACN4Q,KAAQ,mBACZ,CACJ,EAER,EACAlW,KAAQ,IACZ,EACOkB,CACX,CAlKGV,EAsKIpD,EAAIoD,YAAcpD,EAAIoD,UAAY,IA7JaM,EA2JxD1D,EAAIiE,OAAOmV,cA1JTnZ,UAAUmS,EAA4B1O,CAAM,EA2JhDN,EAAUgP,2BAFCA,CAIlB,EAAEpS,IAAAA,KAAc,EAAG"}